/* Canvas v25 Consent: sizes scale with text; no inline CSS.
   @spec spec://modules/experience/FEAT-004-account-and-service-screens#scenarios.site */
#privacy-controls{font:400 1rem/1.4 'Instrument Sans',system-ui,sans-serif;color:var(--text-primary)}
#privacy-controls [hidden]{display:none!important}
.cs-card{position:fixed;z-index:90;left:24px;bottom:24px;width:500px;max-width:calc(100% - 48px);box-sizing:border-box;border-radius:24px;background:var(--bg-surface);border:1px solid var(--divider-default,var(--divider));box-shadow:0 18px 48px #0b0c0e29,0 2px 8px #0b0c0e0f}
.cs-scroll{max-height:calc(100dvh - 56px);overflow-y:auto;padding:1.25em 1.25em .75em;border-radius:24px;box-sizing:border-box}
.cs-card h2{margin:0;padding-left:64px;min-height:30px;font-size:1.3125em;line-height:1.2;font-weight:600;letter-spacing:-.025em;text-wrap:balance}
.cs-card h2 span{color:var(--text-accent)}
.cs-card p{margin:.75em 0 0;font-size:.9375em;line-height:1.47;color:var(--text-secondary);text-wrap:pretty}
.cs-tile{position:absolute;left:18px;top:-18px;width:52px;height:52px;border-radius:16px;background:#c7ff3d;box-shadow:0 8px 20px #0b0c0e2e;display:flex;align-items:flex-end;justify-content:center;gap:4px;padding-bottom:14px;box-sizing:border-box;transform:rotate(-8deg)}
.cs-eq i{display:block;width:9px;height:17px;border-radius:3px;background:#0b0c0e;transform-origin:50% 100%;animation:cs-eq 820ms ease-in-out 420ms 3}.cs-eq i:nth-child(2){height:22px;background:#0060ff;animation-duration:640ms;animation-delay:520ms}.cs-eq i:nth-child(3){animation-duration:900ms;animation-delay:470ms}
.cs-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:1em}
.cs-btn{flex:1 1 8.5em;min-width:0;min-height:44px;margin:0;padding:.6em 1em;border:0;border-radius:14px;background:var(--action-primary-fill,var(--action-fill));color:var(--action-primary-text,var(--action-text));font:600 .9375em/1.25 'Instrument Sans',system-ui,sans-serif;cursor:pointer;transition:transform 120ms,background-color 120ms}
.cs-btn:active{transform:scale(.97)}
.cs-links{display:flex;flex-wrap:wrap;align-items:center;gap:.5em 1.25em;margin-top:.5em}
.cs-settings{display:inline-flex;align-items:center;justify-content:center;gap:.5em;min-height:44px;border:1px solid var(--divider-strong);border-radius:12px;background:transparent;color:var(--text-primary);font:600 .875em/1.3 'Instrument Sans',system-ui,sans-serif;padding:.5em .85em;cursor:pointer}
.cs-settings svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8}
.cs-card a{color:var(--text-primary);text-decoration:underline;text-underline-offset:3px;font-size:.8125em}
#privacy-controls button:focus-visible,#privacy-controls a:focus-visible,[data-privacy-choices]:focus-visible{outline:2px solid var(--selection-border,#0060ff);outline-offset:2px}
.cs-card:has(.cs-equal:hover) .cs-eq i,.cs-card:has(.cs-equal:focus-visible) .cs-eq i{animation:cs-eq 760ms ease-in-out infinite}.cs-card:has(.cs-equal:hover) .cs-eq i:nth-child(2){animation-duration:640ms}
.cs-heading{display:flex;align-items:flex-start;gap:.75em}.cs-heading h2{flex:1;min-width:0}.cs-close{flex-shrink:0;width:44px;height:44px;margin:-6px -10px 0 0;border:0;border-radius:50%;background:transparent;color:var(--text-secondary);font-size:1.5em;cursor:pointer}
.cs-row{display:flex;align-items:flex-start;gap:.9em;border-top:1px solid var(--divider-default,var(--divider));padding:.85em 0;margin-top:.75em}.cs-row>div:first-child{flex:1;min-width:0}.cs-row b{font-size:.9375em;font-weight:600}.cs-row p{font-size:.8125em;margin:.2em 0 0}
.cs-pill{flex-shrink:0;padding:.3em .7em;border-radius:999px;background:var(--bg-surface-subtle,var(--bg-subtle));font-size:.8125em;font-weight:600;white-space:nowrap;color:var(--text-secondary)}
.cs-toggle{display:flex;align-items:center;gap:.5em;font-size:.8125em}.cs-toggle button{position:relative;width:48px;height:44px;margin:-8px 0;border:0;background:transparent;cursor:pointer;border-radius:12px;flex-shrink:0}
.cs-track{position:absolute;left:2px;right:2px;top:9px;height:26px;box-sizing:border-box;border-radius:9px;background:var(--bg-surface-subtle,var(--bg-subtle));border:1.5px solid var(--text-tertiary)}
.cs-knob{position:absolute;top:12px;left:5px;width:20px;height:20px;border-radius:6px;background:var(--text-tertiary);transition:transform 200ms}
[aria-checked=true] .cs-track{background:var(--action-accent,#0060ff);border-color:var(--action-accent,#0060ff)}[aria-checked=true] .cs-knob{background:#fff;transform:translateX(18px)}
.cs-settings-actions{padding-top:.9em;border-top:1px solid var(--divider-default,var(--divider));margin-top:.4em}.cs-settings-actions .cs-equal{background:transparent;color:var(--text-primary);border:1px solid var(--divider-strong)}.cs-save{flex-basis:100%}
.cs-card .cs-details{font-size:.8125em}.cs-details a{font-size:1em}
.cs-toast{position:fixed;z-index:90;left:24px;bottom:24px;display:flex;align-items:center;gap:.75em;max-width:calc(100% - 48px);box-sizing:border-box;padding:.55em 1.1em .55em .55em;border-radius:22px;background:#14161a;border:1px solid #f7f6f21f;box-shadow:0 12px 36px #0005;color:#f7f6f2}
.cs-toast .cs-tile{position:static;flex-shrink:0;width:40px;height:40px;border-radius:13px;gap:3px;padding-bottom:11px}.cs-toast .cs-eq i{width:7px;height:13px;animation:cs-nod 520ms ease-out 1}.cs-toast .cs-eq i:nth-child(2){height:17px;animation-delay:160ms}.cs-toast b{font-size:.9375em;font-weight:600}.cs-toast p{margin:0;font-size:.8125em;line-height:1.35;color:#c8c8ca}
#privacy-fab{position:fixed;z-index:89;left:24px;bottom:24px;width:44px;height:44px;border:1px solid var(--divider-strong);border-radius:50%;background:var(--bg-surface);color:var(--text-primary);box-shadow:var(--shadow-low);cursor:pointer;display:flex;align-items:center;justify-content:center}
#privacy-fab svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}#privacy-fab rect{fill:var(--bg-surface);transition:transform 260ms}#privacy-fab .cs-blue{fill:var(--brand-blue,#0060ff);stroke:var(--brand-blue,#0060ff)}#privacy-fab:hover rect:first-of-type{transform:translateY(5px)}#privacy-fab:hover .cs-blue{transform:translateY(6px)}#privacy-fab:hover rect:last-child{transform:translateY(-5px)}
.privacy-footer-choice{border:0;background:transparent;color:inherit;text-decoration:underline;text-underline-offset:3px;font:inherit;cursor:pointer;min-height:44px;padding:0 .5em}
.privacy-fallback-footer{padding:1em;text-align:center;font-family:'Instrument Sans',system-ui,sans-serif}
.cs-rise{animation:cs-rise 560ms cubic-bezier(.2,.9,.3,1.12) both}.cs-card>.cs-tile{animation:cs-pop 620ms cubic-bezier(.3,1.6,.45,1) 180ms both}
@keyframes cs-rise{from{opacity:0;transform:translateY(18px) scale(.97)}to{opacity:1;transform:none}}@keyframes cs-pop{from{opacity:0;transform:translateY(14px) rotate(6deg) scale(.6)}to{opacity:1;transform:rotate(-8deg)}}@keyframes cs-eq{0%,100%{transform:scaleY(1)}30%{transform:scaleY(.42)}60%{transform:scaleY(1.12)}80%{transform:scaleY(.72)}}@keyframes cs-nod{45%{transform:translateY(-5px)}}
@media(max-width:600px){.cs-card{left:16px;bottom:16px;width:calc(100% - 32px);max-width:none}.cs-scroll{padding:1.125em 1em .625em}.cs-toast{left:16px;bottom:16px;max-width:calc(100% - 32px)}#privacy-fab{left:16px;bottom:16px}body[data-page=Free] #privacy-fab{bottom:104px}}
@media(prefers-color-scheme:dark){.cs-card{box-shadow:0 18px 48px #0009;border-color:#f7f6f229}}
@media(prefers-reduced-motion:reduce){#privacy-controls *,#privacy-controls *::before{animation:none!important;transition:none!important}}

.privacy-inline-choice{font:inherit;border:0;padding:0;background:transparent;color:inherit;text-decoration:underline;cursor:pointer}
.cs-heading{position:relative;display:block;padding-right:34px}.cs-heading h2{overflow-wrap:anywhere}.cs-close{position:absolute;right:0;top:0;margin:-6px -10px 0 0;font-size:24px}
.cs-row{flex-wrap:wrap}.cs-row>div:first-child{flex:1 1 9em;overflow-wrap:anywhere}
.cs-card{container-type:inline-size;container-name:consent}
@container consent (max-width:14em){.cs-card h2{padding-left:0;padding-top:1.2em}}
