/* PrismScene v2 theme for app pages (studio, access, legal, api-docs). Loaded after style.css. */
:root{--bg:#07070a;--bg2:#0e0e13;--card:#121218;--card2:#17171f;--line:#22222b;--line2:#2f2f3a;--ink:#f4f2ee;--mute:#a19fa8;--dim:#6d6b75;--acc:#c9b6ff;--acc-ink:#16121f;--spec:linear-gradient(90deg,#ff7a7a,#ffb86b,#ffe27a,#7dffb2,#7ad7ff,#b48cff);--serif:'Iowan Old Style','Palatino Linotype',Georgia,'Times New Roman',serif;--ease:cubic-bezier(.2,.7,.1,1)}
html{background:var(--bg)}
body{background:var(--bg);color:var(--ink);font-family:Studio,Inter,system-ui,sans-serif;-webkit-font-smoothing:antialiased}
::selection{background:#c9b6ff55}
:focus-visible{outline:2px solid var(--acc);outline-offset:4px}
h1,h2,h3{color:var(--ink);font-weight:500}
h1{letter-spacing:-.05em}
h1 em,h2 em{font-family:var(--serif);font-style:italic;font-weight:400;color:var(--acc);letter-spacing:-.03em}
.eyebrow{font-size:11px;letter-spacing:.2em;color:var(--dim);font-weight:500}
.muted,.fine-print{color:var(--dim)}
.text-link{color:var(--mute);font-size:13px;transition:color .2s}.text-link:hover{color:var(--ink)}
.brand{font-weight:600;letter-spacing:-.03em;color:var(--ink)}
.brand img{filter:invert(1) brightness(1.6) grayscale(1)}

/* buttons */
.button{border-radius:99px;font-size:14px;padding:13px 22px;gap:14px;font-weight:550;transition:transform .25s var(--ease),background .2s,border-color .2s,color .2s}
.button.primary{background:var(--ink);color:#0b0b0e;border-color:var(--ink)}
.button.primary:hover{background:#fff;transform:translateY(-2px)}
.button.secondary{background:#ffffff0d;color:var(--ink);border:1px solid #ffffff2e}
.button.secondary:hover{background:#ffffff1a;border-color:#ffffff5c}
.button.google{background:#fff;color:#1f1f1f;border:0}.button.google:hover{background:#ececec}

/* inputs */
input:not([type=checkbox]),textarea,select{background:#0a0a0e;color:var(--ink);border:1px solid var(--line2);border-radius:12px;padding:12px 14px;font-size:14px}
textarea::placeholder,input::placeholder{color:var(--dim);font-size:13px}
textarea:focus,input:focus,select:focus{border-color:var(--acc);outline:none;box-shadow:0 0 0 3px #c9b6ff22}
.field-label{font-size:11px;letter-spacing:.12em;color:var(--mute)}.field-label>span{color:var(--dim);font-size:11px}
.consent{font-size:12px;color:var(--mute)}.consent input{accent-color:var(--acc)}
#toast{background:var(--acc);color:var(--acc-ink);border-radius:12px}

/* ---------- Access ---------- */
.access-layout{background:var(--bg)}
.access-art{background:#000}
.access-art>img{filter:saturate(.9) brightness(.85)}
.access-art:after{background:linear-gradient(180deg,#07070a99,transparent 35%,transparent 50%,#07070af2)}
.access-art h1{font-size:clamp(44px,5vw,72px);line-height:1;color:#fff}
.access-art>small{color:#ffffff80}
.access-form{max-width:440px}
.access-form>h2{font-size:32px;letter-spacing:-.04em;font-weight:500}
.access-form input{margin-bottom:18px}
.or-divider{border-top-color:var(--line);color:var(--dim);font-size:10px;letter-spacing:.18em}
.or-divider span{background:var(--bg)}
.auth-links button,.resend-link{font-size:13px}
.auth-error{background:#2a1218;border:1px solid #5c2433;color:#ffc9d2;border-radius:12px;font-size:13px;padding:12px 14px}
#auth-message{color:var(--acc);font-size:13px}

/* ---------- Studio ---------- */
.workspace{background:var(--bg)}
.sidebar{background:#0b0b0f;border-right:1px solid var(--line)}
.sidebar-label{color:var(--dim);font-size:10px;letter-spacing:.18em}
.side-link{color:var(--mute);border-radius:12px;font-size:15px;transition:background .2s,color .2s}
.side-link span{font-size:14px}
.side-link:hover{background:#ffffff08;color:var(--ink)}
.side-link.active{background:#c9b6ff17;color:var(--ink);box-shadow:inset 2px 0 0 var(--acc)}
.mini-pack{background:var(--card);border:1px solid var(--line);border-radius:16px;position:relative;overflow:hidden}
.mini-pack:before{content:'';position:absolute;left:0;right:0;top:0;height:2px;background:var(--spec);opacity:.7}
.mini-pack>span{color:var(--acc);font-size:10px;letter-spacing:.16em}
.mini-pack strong{font-size:14px;color:var(--ink)}
.mini-pack button{font-size:12px;padding:10px 12px}
.mini-pack small{color:var(--dim);font-size:11px}
.sidebar-bottom>a,.sidebar-bottom>button{color:var(--dim);font-size:12px}.sidebar-bottom>a:hover,.sidebar-bottom>button:hover{color:var(--ink)}
.workspace-top{border-bottom:1px solid var(--line);color:var(--dim);font-size:11px;letter-spacing:.14em;background:#07070acc;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);position:sticky;top:0;z-index:5}
.workspace-top>span>span:last-child{color:var(--ink)}
.slash{color:var(--line2)}
.pill{border:1px solid #c9b6ff40;color:var(--acc);border-radius:99px;padding:5px 12px;font-size:10px}
.studio-heading h1,.empty-state h1,#view-library>h1,#view-account>h1{font-size:clamp(40px,4.4vw,60px);line-height:1.02}
.balance-chips>div{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:14px 20px}
.balance-chips span{color:var(--dim);font-size:10px;letter-spacing:.14em}
.balance-chips strong{font-size:32px;font-weight:500;letter-spacing:-.03em;color:var(--ink)}
.balance-chips small{color:var(--dim);font-size:11px}
.creator-card{background:var(--card);border:1px solid var(--line);border-radius:22px;padding:26px}
.studio-tabs{border-bottom:1px solid var(--line)}
.studio-tabs button{color:var(--mute);font-size:14px}
.studio-tabs button.active{border-bottom:2px solid var(--acc);color:var(--ink)}
textarea{border-radius:14px;line-height:1.75}
.prompt-ideas{font-size:12px;color:var(--dim)}
.prompt-ideas button{background:#ffffff0a;color:var(--mute);border:1px solid var(--line2);border-radius:99px;font-size:12px;padding:5px 12px;transition:border-color .2s,color .2s}
.prompt-ideas button:hover{border-color:var(--acc);color:var(--ink)}
.generation-options label,.generation-options>div>span{font-size:10px;letter-spacing:.14em;color:var(--dim)}
.generation-options select{font-size:13px;border-radius:12px}
.generation-options strong{font-size:14px;color:var(--ink)}
.generate-footer{border-top:1px solid var(--line)}
.generate-footer>span{color:var(--acc);font-size:13px}
.creator-card>.fine-print{font-size:11px}
.compact h2{font-size:22px;letter-spacing:-.03em}
.job-card{background:var(--card);border:1px solid var(--line);border-radius:18px;transition:transform .35s var(--ease),border-color .3s}
.job-card:hover{transform:translateY(-3px);border-color:var(--line2)}
.job-preview{background:#0a0a0e;color:var(--line2)}
.job-top{color:var(--acc);font-size:10px;letter-spacing:.08em}
.job-body>p{color:var(--ink);font-size:13px}
.job-body small{color:var(--dim);font-size:11px}
.job-actions a,.job-actions button{color:var(--acc);font-size:12px}
.empty-library{border:1px dashed var(--line2);border-radius:18px;color:var(--dim)}
.empty-library strong{color:var(--ink)}
.filter-tabs button{background:none;border:1px solid var(--line2);color:var(--mute);border-radius:99px;font-size:13px}
.filter-tabs button.active{background:var(--ink);border-color:var(--ink);color:#0b0b0e}
.panel{background:var(--card);border:1px solid var(--line);border-radius:20px}
.panel h2{font-size:19px;letter-spacing:-.02em}
.panel p{color:var(--mute);font-size:13px}
.panel a{color:var(--acc)}
#revealed-key{background:#0a0a0e;border:1px solid #c9b6ff55;border-radius:12px;padding:14px;color:#9cf0bf;font:13px ui-monospace,Menlo,monospace;white-space:pre-wrap;word-break:break-all}
th{color:var(--dim);border-bottom:1px solid var(--line2);font-size:11px}
td{color:var(--mute);border-bottom:1px solid var(--line);font-size:12px}
.empty-state p{color:var(--mute);font-size:15px}
.big-star{background:var(--spec);-webkit-background-clip:text;background-clip:text;color:transparent}
.studio-footer{border-top:1px solid var(--line);color:var(--dim);font-size:10px}
.mobile-brand{color:var(--ink)}
.demo-notice{background:var(--card);border:1px solid var(--line2);border-radius:14px}

/* ---------- Legal & API docs ---------- */
.nav{height:76px;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:5;background:#07070acc;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.nav>a:not(.brand){font-size:14px;color:var(--mute)}.nav>a:not(.brand):hover{color:var(--ink)}
.legal{max-width:860px;padding-top:70px}
.legal h1{font-size:clamp(46px,6vw,80px);line-height:1;margin-bottom:34px}
.legal h2{font-size:21px;letter-spacing:-.02em;margin:42px 0 12px;padding-top:26px;border-top:1px solid var(--line)}
.legal p{color:var(--mute);font-size:15px;line-height:1.8}
.legal a{color:var(--acc)}
.legal pre{background:#0b0b10;border:1px solid var(--line2);border-radius:16px;padding:20px 22px;color:#d6d4de;font:13.5px/1.75 ui-monospace,'JetBrains Mono',Menlo,Consolas,monospace;overflow-x:auto}
.legal code{background:#ffffff0f;border:1px solid var(--line);border-radius:6px;padding:1px 6px;font:13px ui-monospace,Menlo,monospace;color:var(--ink)}

@media(max-width:760px){
 .sidebar{background:#0b0b0f;border-bottom:1px solid var(--line)}
 .side-link.active{box-shadow:inset 0 -2px 0 var(--acc)}
 .nav{height:64px}
 .legal{padding-top:40px}
}
