.wbtn{justify-content:center;align-items:center;gap:var(--sp-6);height:var(--ctrl-h-sm);padding:0 var(--sp-16);border-radius:var(--ctrl-pill);border:1px solid var(--border);background:var(--surface-1);box-shadow:none;letter-spacing:normal;font-family:var(--font-ui);font-size:var(--fs-sm);color:var(--text-1);cursor:pointer;white-space:nowrap;transition:border-color var(--dur-fast) var(--ease-standard), background var(--dur-fast) var(--ease-standard), filter var(--dur-fast) var(--ease-standard);font-weight:700;text-decoration:none;display:inline-flex}.wbtn:hover{border-color:var(--text-3)}.wbtn--primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.wbtn--primary:hover{filter:brightness(1.05);border-color:var(--accent)}.wbtn--secondary{background:var(--surface-1)}.wbtn--soft{background:var(--accent-soft);border-color:var(--accent-soft-border);color:var(--accent-text)}.wbtn--ghost{background:0 0;border-color:#0000}.wbtn--ghost:hover{background:var(--hover-tint);border-color:#0000}.wbtn--danger{background:var(--danger-soft);color:var(--danger-text);border-color:#0000}.wbtn--danger:hover{border-color:var(--danger-text)}.wbtn--warning{background:var(--warning-soft);color:var(--warning-text);border-color:#0000}.wbtn--block{width:100%}.wbtn:disabled{opacity:var(--opacity-dimmed);cursor:default;filter:none}
.sconsent{left:max(var(--sp-16), var(--safe-left));bottom:calc(var(--sp-16) + var(--safe-bottom));z-index:var(--z-sticky);width:min(var(--w-consent-card), calc(100% - var(--sp-32)));padding:var(--sp-20);gap:var(--sp-16);background:var(--surface-1);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-pop);color:var(--text-1);animation:sconsent-in var(--dur-spring) var(--ease-out) both;flex-direction:column;display:flex;position:fixed}@media (min-width:1024px){.sconsent{left:max(var(--sp-24), var(--safe-left));bottom:calc(var(--sp-24) + var(--safe-bottom))}}.sconsent--out{animation:sconsent-out var(--dur-base) var(--ease-in) both}.sconsent__text{gap:var(--sp-8);flex-direction:column;display:flex}.sconsent__t{font-family:var(--font-display);font-weight:500;font-size:var(--ds-xs);line-height:var(--lh-heading);letter-spacing:var(--tracking-tight);color:var(--text-1);margin:0}.sconsent__b{font-size:var(--fs-sm);line-height:var(--lh-body);color:var(--text-2);text-wrap:pretty;margin:0}.sconsent__link{color:var(--text-1);text-decoration:underline;text-decoration-color:var(--accent);text-underline-offset:var(--underline-offset);white-space:nowrap;font-weight:600}.sconsent__link:hover{color:var(--accent-text)}.sconsent__now{font-size:var(--fs-xs);color:var(--text-3);margin:0;font-weight:600}.sconsent__acts{gap:var(--sp-8);grid-template-columns:1fr 1fr;display:grid}.sconsent__acts .wbtn{height:var(--control-touch)}@keyframes sconsent-in{0%{opacity:0;transform:translateY(var(--sp-16))}}@keyframes sconsent-out{to{opacity:0;transform:translateY(var(--sp-8))}}@keyframes sconsent-fade{0%{opacity:0}}@media (prefers-reduced-motion:reduce){.sconsent{animation-name:sconsent-fade}.sconsent--out{animation:sconsent-fade var(--dur-base) var(--ease-in) reverse both}}
.conn-frame{--view-h:calc(var(--viewport-full-h) - var(--conn-offset));display:contents}.conn-frame[data-conn]{--conn-offset:var(--conn-offset-shown);--safe-top:var(--safe-top-under-strip)}.conn-strip{z-index:var(--z-sticky);height:var(--conn-offset-shown);padding-inline:var(--safe-left) var(--safe-right);pointer-events:none;flex-direction:column;justify-content:flex-end;display:flex;position:sticky;top:0}.conn-strip--off{background:var(--surface-3);color:var(--text-2)}.conn-strip--sync{background:var(--accent-soft);color:var(--accent-text)}.conn-strip__row{justify-content:center;align-items:center;gap:var(--sp-8);height:var(--conn-strip-h);font-family:var(--font-ui);font-size:var(--fs-conn-strip);letter-spacing:var(--tracking-conn-strip);font-weight:600;display:flex}.conn-strip__count{margin-left:var(--sp-4);opacity:var(--opacity-muted)}.conn-strip__spin{animation:conn-strip-spin var(--dur-spring) linear infinite;transform-origin:50%}@keyframes conn-strip-spin{to{transform:rotate(1turn)}}@media (prefers-reduced-motion:reduce){.conn-strip__spin{animation:none}}