/* Scoped, opaque privacy surfaces remain legible over cinematic content. */
.studio-consent{--consent-bg:#101c16;--consent-fg:#f4f7ed;--consent-muted:#d2dfd6;--consent-line:#82ba9e;background:var(--consent-bg);color:var(--consent-fg);box-sizing:border-box;font:inherit;line-height:1.5;border:1px solid var(--consent-line);padding:1.15rem;box-shadow:0 12px 48px #0006;text-align:start;overflow-wrap:anywhere}
.studio-consent[hidden],.studio-consent-reopen[hidden]{display:none!important}
.studio-consent h2{font:inherit;font-size:1.1rem;font-weight:700;margin:0 0 .55rem;color:var(--consent-fg)}
.studio-consent p{color:var(--consent-muted);font-size:.88rem;margin:.5rem 0 .8rem;max-inline-size:80ch}
.studio-consent-banner{position:fixed;z-index:10000;inset-inline:1rem;inset-block-end:1rem;max-inline-size:70rem;margin-inline:auto;max-block-size:calc(100dvh - 2rem);overflow:auto;scrollbar-width:none;border-block-start:3px solid var(--consent-line)}
.studio-consent-actions{display:flex;flex-wrap:wrap;gap:.6rem;margin-block-start:.8rem}
.studio-consent button,.studio-consent a{color:var(--consent-fg);font:inherit;font-size:.83rem}
.studio-consent button{min-block-size:44px;min-inline-size:0;padding:.65rem 1rem;background:var(--consent-bg);border:1px solid var(--consent-line);cursor:pointer;white-space:normal;overflow-wrap:anywhere;transition:background .15s,color .15s}
.studio-consent-actions button{flex:1 1 9rem}
.studio-consent a{text-decoration:underline;text-underline-offset:.2em}
.studio-consent button:hover{color:var(--consent-bg);background:var(--consent-fg)}
.studio-consent :is(a,button,input):focus-visible,.studio-consent-reopen:focus-visible{outline:3px solid var(--consent-line,#82ba9e);outline-offset:3px}
.studio-consent-dialog{inline-size:calc(100% - 2rem);max-inline-size:42rem;max-block-size:calc(100dvh - 2rem);overflow:auto;scrollbar-width:none;margin:auto}
.studio-consent-dialog::backdrop{background:#000b}
.studio-consent-category{border-block-start:1px solid var(--consent-line);padding-block:.7rem}
.studio-consent-category label{display:flex;align-items:center;gap:.65rem;min-block-size:44px;cursor:pointer;font-size:.95rem}
.studio-consent-category input{accent-color:#317655;inline-size:1.3rem;block-size:1.3rem;flex-shrink:0}
.studio-consent-category small{display:block;color:var(--consent-muted);margin-block-start:.3rem}
.studio-consent-reopen{display:block;margin:1rem auto 2rem;max-inline-size:calc(100% - 2rem);min-block-size:44px;padding:.65rem 1rem;background:var(--panel);color:var(--paper);border:1px solid var(--jade);font:inherit;cursor:pointer;overflow-wrap:anywhere}
html[data-theme=light]:not([data-contrast=high]) .studio-consent{--consent-bg:#f6f7f0;--consent-fg:#172b21;--consent-muted:#314e3d;--consent-line:#456e56}
html[data-theme=light]:not([data-contrast=high]) .studio-consent button:hover{background:#172b21;color:#f6f7f0}
html[data-contrast=high] .studio-consent{--consent-bg:#000;--consent-fg:#fff;--consent-muted:#fff;--consent-line:#fff}
@media(max-width:480px){.studio-consent{padding:.8rem}.studio-consent-banner{inset-inline:.5rem;inset-block-end:.5rem;max-block-size:calc(100dvh - 1rem)}.studio-consent-actions{gap:.45rem}.studio-consent-actions button{flex-basis:100%}}
@media(prefers-reduced-motion:reduce){.studio-consent button{transition:none}}
html[data-mode=low] .studio-consent button{transition:none}
@media(forced-colors:active){html[data-theme] .studio-consent,.studio-consent{--consent-bg:Canvas;--consent-fg:CanvasText;--consent-muted:CanvasText;--consent-line:ButtonText;box-shadow:none}.studio-consent a{color:LinkText}.studio-consent button{color:ButtonText;background:ButtonFace}.studio-consent-reopen{color:ButtonText;background:ButtonFace;border-color:ButtonText}}
