:root{--bg:#0b1020;--panel:#121a2f;--panel2:#18223d;--line:#283657;--text:#f6f8ff;--muted:#9fb0d1;--brand:#6d5efc;--brand2:#29b6f6;--ok:#38d39f;--warn:#ffbe55;--bad:#ff647c;--shadow:0 18px 46px #0008;font-family:Inter,"Noto Sans Thai",system-ui,sans-serif}
*{box-sizing:border-box}html,body{margin:0;background:radial-gradient(circle at top,#14203d 0,#0b1020 42%,#080b16 100%);color:var(--text);min-height:100%;font-size:15px}button,input,textarea,select{font:inherit}button{cursor:pointer}.hidden{display:none!important}.app-shell{min-height:100vh}.topbar{height:64px;position:fixed;inset:0 0 auto 0;z-index:20;background:#0d1324db;backdrop-filter:blur(18px);border-bottom:1px solid var(--line);display:flex;align-items:center;padding:0 18px;gap:16px}.brand{text-decoration:none;color:white;font-size:20px;letter-spacing:.2px;min-width:165px}.brand span{display:inline-grid;place-items:center;background:var(--brand);border-radius:8px;padding:4px 7px;font-size:13px;margin-right:5px}.brand b{font-weight:800}.top-status{margin-right:auto;color:var(--muted);font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.top-actions{display:flex;gap:8px;align-items:center}.icon-button,.avatar,.mobile-menu{border:1px solid var(--line);background:var(--panel2);color:#fff;border-radius:9px;min-width:36px;height:36px}.avatar{font-size:11px;padding:0 8px}.mobile-menu{display:none}.sidebar{width:238px;position:fixed;top:64px;left:0;bottom:0;background:linear-gradient(180deg,#0d1324,#0d1220);border-right:1px solid var(--line);padding:16px 10px;z-index:15}.sidebar nav{display:grid;gap:3px}.sidebar a{color:var(--muted);text-decoration:none;border-radius:9px;padding:11px 12px;display:flex;gap:11px;align-items:center;font-weight:650}.sidebar a:hover,.sidebar a.active{background:#252a36;color:white}.sidebar a.active{box-shadow:inset 3px 0 0 var(--brand)}.sidebar i{font-style:normal;width:20px;text-align:center;color:#d7d9e2}.sidebar hr{border:0;border-top:1px solid var(--line);width:100%;margin:9px 0}.side-bottom{position:absolute;bottom:18px;left:20px;color:var(--muted);line-height:1.6}.main{margin-left:238px;padding:90px 28px 36px;max-width:1700px}.page-head{display:flex;gap:18px;align-items:center;margin-bottom:22px}.page-head h1{margin:0;font-size:24px}.page-head p{margin:4px 0 0;color:var(--muted)}.page-head .actions{margin-left:auto;display:flex;gap:9px}.grid{display:grid;gap:16px}.grid.metrics{grid-template-columns:repeat(5,minmax(0,1fr))}.grid.two{grid-template-columns:1.1fr .9fr}.grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.card{background:linear-gradient(180deg,#131b31,#10182b);border:1px solid rgba(107,145,255,.16);border-radius:18px;padding:18px;box-shadow:0 10px 28px #0004}.metric .label{font-size:12px;color:var(--muted);margin-bottom:8px}.metric .value{font-size:28px;font-weight:800}.metric .hint{font-size:12px;color:var(--muted);margin-top:5px}.danger{color:var(--bad)}.warning{color:var(--warn)}.success{color:var(--ok)}.section-title{font-size:16px;font-weight:800;margin:0 0 13px}.table-wrap{overflow:auto}.table{width:100%;border-collapse:collapse}.table th,.table td{padding:11px 9px;text-align:left;border-bottom:1px solid var(--line);vertical-align:middle}.table th{font-size:12px;color:var(--muted);font-weight:650}.table tr:hover td{background:#ffffff04}.badge{display:inline-flex;align-items:center;gap:5px;padding:4px 8px;border-radius:999px;font-size:11px;font-weight:750;background:#252b38;color:#d9deea}.badge.queued{background:#2f3440}.badge.processing{background:#213c63;color:#afd0ff}.badge.review{background:#563b18;color:#ffd994}.badge.complete{background:#163d32;color:#a9f2d0}.badge.failed{background:#51212b;color:#ffc0c8}.score{font-weight:800}.score.high{color:var(--ok)}.score.mid{color:var(--warn)}.score.low{color:var(--bad)}.primary,.secondary,.danger-btn,.ghost{border:0;border-radius:9px;padding:10px 14px;font-weight:760}.primary{background:linear-gradient(135deg,var(--brand),var(--brand2));color:white;box-shadow:0 10px 22px #1b6ef033}.secondary{background:#253354;color:white}.ghost{background:rgba(255,255,255,.02);border:1px solid var(--line);color:#dce0ea}.danger-btn{background:#5b222b;color:#ffcbd0}.wide{width:100%}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.form-grid.one{grid-template-columns:1fr}.form-row{display:grid;gap:7px}.form-row label{font-size:13px;color:#c8ceda;font-weight:700}.form-row input,.form-row textarea,.form-row select{background:#0e1016;color:#fff;border:1px solid #313849;border-radius:9px;padding:10px 11px;outline:none}.form-row textarea{min-height:108px;resize:vertical}.form-row input:focus,.form-row textarea:focus,.form-row select:focus{border-color:#d7444b;box-shadow:0 0 0 3px #e7353e22}.check-row{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.check-row label{font-size:13px;color:#e3e6ed}.switch{appearance:none;width:42px;height:23px;border-radius:999px;background:#394050;position:relative;transition:.2s}.switch:checked{background:var(--brand)}.switch:before{content:"";position:absolute;width:17px;height:17px;background:#fff;border-radius:99px;top:3px;left:3px;transition:.2s}.switch:checked:before{left:22px}.mini{font-size:12px;color:var(--muted)}.progress{height:7px;background:#2a303d;border-radius:99px;overflow:hidden}.progress>i{display:block;height:100%;background:linear-gradient(90deg,var(--brand),#f47b69);border-radius:inherit}.split{display:flex;gap:14px;align-items:center}.grow{flex:1}.video-review{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(360px,.9fr);gap:18px}.player-box{background:#060709;border:1px solid var(--line);border-radius:14px;overflow:hidden;min-height:300px;display:grid;place-items:center}.player-box video{width:100%;max-height:64vh;background:#000}.player-placeholder{color:var(--muted);text-align:center;padding:50px}.review-side{display:grid;gap:13px;align-content:start}.review-title{font-size:20px;font-weight:850;line-height:1.35}.tabbar{display:flex;gap:7px;border-bottom:1px solid var(--line);overflow:auto}.tabbar button{border:0;background:transparent;color:var(--muted);padding:11px 10px;border-bottom:2px solid transparent;white-space:nowrap}.tabbar button.active{color:white;border-bottom-color:var(--brand)}.tab-content{padding-top:14px}.scene{border-left:2px solid #353d4d;padding:9px 12px;margin-bottom:8px;background:#ffffff03;border-radius:0 8px 8px 0}.scene h4{margin:0 0 6px}.scene p{margin:4px 0;color:#cbd0dc;line-height:1.55}.kvs{display:grid;grid-template-columns:140px 1fr;gap:8px 12px}.kvs div:nth-child(odd){color:var(--muted)}.asset-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:14px}.asset-card{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:12px;overflow:hidden}.asset-card audio,.asset-card video,.asset-card img{width:100%;border-radius:8px;margin-bottom:8px;max-height:160px;object-fit:cover}.tags{display:flex;gap:5px;flex-wrap:wrap}.tag{font-size:11px;border-radius:99px;background:#293040;color:#cdd4e2;padding:3px 7px}.settings-nav{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:14px}.settings-nav button{background:#242a36;color:#cfd4df;border:1px solid var(--line);border-radius:9px;padding:8px 10px}.settings-nav button.active{background:#5d2730;color:#fff;border-color:#a23b47}.login-view{min-height:100vh;display:grid;place-items:center;background:radial-gradient(circle at 50% 10%,#2c1524,#0d0f14 55%)}.login-card{width:min(410px,calc(100% - 32px));background:#161923;border:1px solid #313747;border-radius:18px;padding:30px;box-shadow:var(--shadow);text-align:center}.brand-mark{display:inline-grid;place-items:center;width:64px;height:64px;background:linear-gradient(135deg,var(--brand),#ff7564);border-radius:18px;font-weight:900;font-size:21px}.login-card h1{margin:14px 0 6px}.login-card p{color:var(--muted);margin-top:0}.login-card form{text-align:left;display:grid;gap:10px;margin-top:20px}.toast-root{position:fixed;right:16px;bottom:16px;z-index:50;display:grid;gap:8px}.toast{padding:11px 14px;border-radius:9px;background:#262d39;border:1px solid #465167;box-shadow:var(--shadow);max-width:360px}.toast.error{border-color:#b44152;background:#4a2028}.empty{padding:35px;text-align:center;color:var(--muted)}.divider{height:1px;background:var(--line);margin:16px 0}.file-note{padding:10px 12px;background:#251e20;border:1px solid #54333a;border-radius:9px;color:#f2c7c8;font-size:12px;line-height:1.55}.fab{display:none}
@media(max-width:1120px){.grid.metrics{grid-template-columns:repeat(3,1fr)}.video-review{grid-template-columns:1fr}.main{padding:86px 18px 30px}.top-status{display:none}}
@media(max-width:760px){.mobile-menu{display:block}.brand{min-width:0}.sidebar{transform:translateX(-100%);transition:.2s;width:260px;box-shadow:var(--shadow)}.sidebar.open{transform:translateX(0)}.main{margin-left:0;padding:82px 13px 28px}.grid.metrics,.grid.two,.grid.three,.form-grid{grid-template-columns:1fr}.topbar{padding:0 10px;gap:8px}.top-actions{margin-left:auto}.page-head{align-items:flex-start}.page-head h1{font-size:21px}.page-head .actions{display:none}.card{padding:14px}.kvs{grid-template-columns:1fr}.table{min-width:720px}.review-title{font-size:18px}.asset-grid{grid-template-columns:1fr 1fr}}

.link-btn{background:none;border:0;color:#9fd0ff;font-weight:700;padding:0;cursor:pointer;text-align:left}.link-btn:hover{text-decoration:underline}.page-head .actions a,.page-head .actions button{text-decoration:none}.file-note{padding:12px 14px;background:#171d2e;border:1px solid #30415f;border-radius:12px;color:#d8e2ff;font-size:12px;line-height:1.6}.section-title{font-size:17px;font-weight:800;margin:0 0 14px}.metric .value{letter-spacing:-.02em}.settings-nav{display:flex;gap:9px;flex-wrap:wrap;margin-bottom:14px}.settings-nav button{background:#1b2744;color:#cfd4df;border:1px solid var(--line);border-radius:11px;padding:9px 12px}.settings-nav button.active{background:linear-gradient(135deg,var(--brand),#5da0ff);color:#fff;border-color:transparent}.table th,.table td{padding:12px 10px}.toast{padding:12px 15px;border-radius:12px;background:#1a2237;border:1px solid #34476d;box-shadow:var(--shadow);max-width:360px}

.cf-test-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px}
.cf-test-card{display:grid;gap:8px;text-decoration:none;color:var(--text);background:#111a2d;border:1px solid #2d4168;border-radius:14px;padding:8px;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}
.cf-test-card:hover{transform:translateY(-2px);border-color:#6c83c7;box-shadow:0 10px 20px #0005}
.cf-test-card img{width:100%;height:148px;object-fit:cover;border-radius:9px;background:#090e1c}
.cf-test-card div{display:grid;gap:2px;font-size:11px;color:var(--muted)}
.cf-test-card b{color:var(--text);font-size:12px}
@media(max-width:760px){.cf-test-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.cf-test-card img{height:132px}}

/* V1.9.5 Usage VIP */
.vip-ribbon{position:relative;display:flex;align-items:center;gap:18px;flex-wrap:wrap;padding:14px 22px;margin:0 0 16px;border:2px solid #26e9e3;border-left-width:12px;border-right-width:12px;border-radius:12px;background:linear-gradient(90deg,#102938,#14244a 58%,#102938);box-shadow:0 0 22px #1df2e344,inset 0 0 20px #1df2e311;color:#ddffff;font-weight:800}.vip-ribbon:after{content:'◆';position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);color:#31ffff;font-size:22px;text-shadow:0 0 12px #31ffff}.vip-ribbon small{margin-left:auto;color:#9fb6d9;font-weight:600}.vip-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.vip-card{border:1px solid #2e5470;background:linear-gradient(135deg,#102033,#122544);border-radius:16px;padding:15px}.vip-card.gemini{border-color:#9b6dff55}.vip-card.cloudflare{border-color:#2ae5e555}.vip-card-head{display:flex;gap:14px;justify-content:space-between;margin-bottom:10px}.vip-track,.api-meter{height:10px;border-radius:99px;background:#08121f;border:1px solid #273f58;overflow:hidden}.vip-track i,.api-meter span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#1ce0e0,#5b95ff)}.vip-track i.warning{background:linear-gradient(90deg,#ffca5c,#ff8a4d)}.vip-track i.danger{background:linear-gradient(90deg,#ff637d,#ff3c59)}.api-meter{margin:11px 0 6px;position:relative}.api-meter span{position:absolute;left:0;top:0}.api-meter b{position:relative;z-index:1;display:block;text-align:center;font-size:10px;line-height:10px;color:#ecf7ff;text-shadow:0 1px 2px #000}.top-vip{display:inline-flex;align-items:center;border:1px solid #35dfe055;background:#18dfe512;color:#aaffff;padding:2px 7px;border-radius:99px;font-weight:800;font-size:11px}.badge.quota_waiting{background:#47385c;color:#efc5ff}
@media(max-width:760px){.vip-grid{grid-template-columns:1fr}.vip-ribbon{gap:10px;padding:12px 16px}.vip-ribbon:after{display:none}.vip-ribbon small{width:100%;margin-left:0}}

/* V1.9.6: native checkbox remains in the form, button provides a stable touch/click switch. */
.toggle-hidden{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important}
.toggle-switch{width:46px;height:25px;border:0;border-radius:999px;background:#394050;padding:3px;display:inline-flex;align-items:center;transition:.2s;flex:0 0 auto}
.toggle-switch span{width:19px;height:19px;border-radius:50%;background:#fff;display:block;transform:translateX(0);transition:.2s;box-shadow:0 2px 6px #0006}
.toggle-switch.on{background:linear-gradient(135deg,var(--brand),var(--brand2))}
.toggle-switch.on span{transform:translateX(21px)}
.toggle-switch:focus-visible{outline:3px solid #75c9ff88;outline-offset:3px}
.toggle-label{font-size:13px;color:#e3e6ed;font-weight:700;user-select:none}

.debug-panel{border:1px solid #365080;background:linear-gradient(180deg,#121b31,#0e1628);border-radius:14px;padding:16px}.debug-details{margin-top:12px;border:1px solid #2f4266;border-radius:10px;background:#0a1020}.debug-details summary{cursor:pointer;padding:10px 12px;color:#d7e5ff;font-weight:750}.debug-pre{margin:0;padding:12px;max-height:460px;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere;user-select:text;background:#070b14;border-top:1px solid #2f4266;color:#dce7ff;font-size:12px;line-height:1.55}.tabbar button.active{background:linear-gradient(135deg,#5145d7,#267bc0);border-radius:8px 8px 0 0}.review-tab-status{position:sticky;bottom:12px}

/* V1.9.19 — Phase 3 Audio Asset Library + QC */
.audio-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}
.audio-asset-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(370px,1fr));gap:16px}
.audio-asset-card{background:linear-gradient(180deg,#121c32,#101828);border:1px solid #2d4168;border-radius:15px;padding:14px;display:grid;gap:11px;overflow:hidden}
.audio-asset-head{display:flex;gap:10px;justify-content:space-between;align-items:flex-start}
.audio-asset-head>b{font-size:15px;line-height:1.4}.audio-asset-card audio{width:100%;margin:0}.waveform-preview{width:100%;height:94px;object-fit:cover;border:1px solid #243956;border-radius:10px;background:#0a1020}.waveform-empty{height:94px;display:grid;place-items:center;color:var(--muted);border:1px dashed #33486e;border-radius:10px;background:#0b1221}.asset-file-links{display:flex;gap:7px;flex-wrap:wrap}.asset-file-links .ghost,.asset-file-links .secondary{font-size:12px;padding:7px 9px;text-decoration:none}.audio-qc-details{border:1px solid #283b5b;border-radius:10px;background:#0c1526;padding:10px 11px}.audio-qc-details summary{cursor:pointer;color:#dbe8ff;font-weight:750}.audio-qc-grid{margin-top:10px;display:grid;grid-template-columns:120px 1fr;gap:7px 10px;font-size:12px}.audio-qc-grid div:nth-child(odd){color:var(--muted)}.audio-qc-note{margin-top:10px;line-height:1.55}.audio-warning-list{margin:10px 0 0;padding-left:18px;color:#ffd58c;font-size:12px;line-height:1.55}.asset-review-form{display:grid;grid-template-columns:1fr 1fr auto;gap:8px;align-items:end;padding-top:2px}.asset-review-form .form-row{gap:5px}.asset-review-form .form-row label{font-size:11px}.asset-review-form select{padding:8px;font-size:12px}.asset-review-form button{font-size:12px;padding:9px 10px}.asset-card-actions{display:flex;justify-content:flex-end}.audio-qc-checklist{display:grid;gap:11px}.audio-qc-checklist div{display:grid;gap:3px;padding:10px 11px;background:#ffffff05;border:1px solid #243756;border-radius:10px}.audio-qc-checklist b{font-size:13px}.audio-qc-checklist span{font-size:12px;color:var(--muted)}.badge.success{background:#163d32;color:#a9f2d0}.badge.warning{background:#563b18;color:#ffd994}.badge.danger{background:#51212b;color:#ffc0c8}
@media(max-width:760px){.audio-metrics{grid-template-columns:1fr}.audio-asset-grid{grid-template-columns:1fr}.asset-review-form{grid-template-columns:1fr}.audio-qc-grid{grid-template-columns:112px 1fr}.audio-asset-head{align-items:flex-start}.audio-asset-head .badge{white-space:nowrap}}

/* V1.9.20 — Audio Intelligence Gate + Audio Agent */
.agent-candidate-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(285px,1fr));gap:11px;margin-top:12px}
.agent-candidate{display:grid;gap:9px;padding:12px;border:1px solid #2f466c;border-radius:12px;background:linear-gradient(180deg,#111c31,#0e1628)}
.agent-candidate audio{width:100%;height:32px}
.tag.ai{background:#283d63;color:#cae4ff;border:1px solid #4e6c9d}
.gate-approved{color:#a9f2d0}.gate-quarantine{color:#ffd994}.gate-deprecated{color:#ffc0c8}
.intelligence-reasons{margin:8px 0 0;padding-left:18px;font-size:12px;color:#ffd994;line-height:1.5}
@media(max-width:760px){.agent-candidate-grid{grid-template-columns:1fr}}
.source-registry{grid-template-columns:1fr!important;gap:7px!important}.source-registry>div{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid #253657;font-size:12px}.source-registry>div:last-child{border-bottom:0}.source-registry span{color:var(--muted);text-align:right}
@media(max-width:760px){.source-registry>div{display:grid;gap:3px}.source-registry span{text-align:left}}

/* V1.9.40 Visual Library / Producer */
.tts-green { padding:12px 14px; border-radius:12px; background:rgba(34,197,94,.14); border:1px solid rgba(34,197,94,.45); color:#9ff0bb; }
.profile-section { padding:18px 0; border-bottom:1px solid var(--line, rgba(255,255,255,.1)); }
.profile-section:last-child { border-bottom:0; }
.visual-asset-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(180px,1fr)); gap:12px; }
.visual-asset-card { display:flex; flex-direction:column; gap:8px; padding:10px; border:1px solid var(--line,rgba(255,255,255,.12)); border-radius:14px; background:rgba(255,255,255,.025); }
.visual-asset-card img { width:100%; aspect-ratio:9/16; object-fit:cover; display:block; border-radius:10px; background:#101018; }
.visual-asset-card b { font-size:.9rem; line-height:1.25; }
@media (max-width:680px){ .visual-asset-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }

/* V1.9.54 — Create UI Three Boxes */
.create-summary-grid{margin-top:12px;align-items:stretch}
.create-summary-card{background:linear-gradient(180deg,#111b31,#0d1629);border:1px solid #304463;border-radius:16px;padding:16px;display:grid;gap:10px;min-height:170px;box-shadow:0 12px 26px #0004}
.create-summary-head{display:flex;align-items:center;justify-content:space-between;gap:8px}
.create-summary-kicker{font-size:11px;font-weight:800;letter-spacing:.12em;color:#8db9ff}
.create-summary-card .section-title{margin:0;font-size:18px}
.create-pill-row{display:flex;gap:8px;flex-wrap:wrap}
.create-pill{display:inline-flex;align-items:center;gap:6px;padding:8px 11px;border-radius:999px;background:#1d2942;border:1px solid #31496d;color:#dcebff;font-size:12px;font-weight:750}
.create-pill.active{background:linear-gradient(135deg,#1d3e34,#12372f);border-color:#2c7d63;color:#b7f6d9}
.create-pill.warning{background:#3b2c16;border-color:#6b5225;color:#ffd994}
.create-summary-meta{line-height:1.6}
.create-summary-card.script select{background:#0d1424;border-color:#31476b;border-radius:10px;color:#fff;padding:10px 11px}
.create-summary-foot{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 14px;margin-top:12px;border:1px solid #2c3c59;border-radius:14px;background:rgba(255,255,255,.03)}
.create-inline-check{padding:8px 10px;border-radius:10px;background:#131c2f;border:1px solid #2a3b59}
@media(max-width:760px){.create-summary-foot{display:grid;justify-content:stretch}.create-inline-check{justify-content:flex-start}}

/* V1.9.55 — Create Upload Targets Clean */
.summary-check-row{display:flex;align-items:center;gap:10px;padding:4px 0;color:#edf3ff;font-weight:700}
.summary-check-row input{width:16px;height:16px;accent-color:#5ea8ff}
.summary-line{padding:2px 0;font-size:14px;font-weight:800;color:#edf3ff}
.create-summary-card .badge{display:none}
.create-summary-card .create-pill,.create-summary-card .create-pill-row{display:none}
.create-summary-card .section-title{margin-bottom:8px}
.create-summary-card{min-height:156px}
.create-summary-head{margin-bottom:4px}
.create-summary-kicker{color:#8fb3ea}

/* V1.9.57 — Voice Provider and Three Boxes Tune */
.voice-provider-card{margin-top:16px;margin-bottom:10px}
.summary-check-inline{display:flex;align-items:center;gap:14px;flex-wrap:nowrap}
.summary-check-inline .summary-check-row{padding:0;white-space:nowrap}
.summary-check-inline .summary-check-row span{font-weight:800}
@media(max-width:820px){.summary-check-inline{flex-wrap:wrap;gap:10px}}

/* Phase 8 — Console is served only from studio.b3ta.xyz */
.console-office-link{margin-left:10px;color:var(--muted,#9eabc0);text-decoration:none;font-size:12px;border-left:1px solid var(--line,#2f3f59);padding-left:10px}.console-office-link:hover{color:#fff}@media(max-width:760px){.console-office-link{display:none}}

/* Phase 8.1 — Secure Studio Office dialogue view */
.office-private-legend{display:flex;gap:10px;align-items:center;flex-wrap:wrap;padding:12px 14px;border:1px solid #345071;border-radius:13px;background:#0d182b;margin-bottom:16px}.office-private-legend p{margin:0 12px 0 0;color:var(--muted);font-size:12px}.office-live-label,.office-life-label{font-family:ui-monospace,Menlo,monospace;font-weight:900;letter-spacing:.06em;font-size:10px;padding:4px 7px}.office-live-label{background:#68d8ff;color:#08111e}.office-life-label{background:#8be2af;color:#08111e}.office-private-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.office-room-card,.office-ceo-card{position:relative;overflow:hidden;padding:16px;border:1px solid #344d70;border-radius:16px;background:linear-gradient(145deg,#13243d,#0d1627);box-shadow:0 12px 28px #0004}.office-room-card:before,.office-ceo-card:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(90deg,transparent 0 24px,#ffffff03 24px 25px),repeating-linear-gradient(0deg,transparent 0 24px,#ffffff025 24px 25px);pointer-events:none}.office-room-card>*,.office-ceo-card>*{position:relative}.office-room-card h2,.office-ceo-card h3{margin:3px 0 14px;font-size:18px}.office-live-card{display:grid;grid-template-columns:50px 1fr auto;gap:12px;align-items:center;padding:12px;border:1px solid #2f466b;border-radius:12px;background:#091323}.office-live-card.producer{border-color:#7c61b9}.office-live-card.qa{border-color:#d76d9e}.office-live-card.publish{border-color:#5cbcd4}.office-live-head{grid-column:1/-1;display:flex;justify-content:space-between;gap:8px;align-items:center}.office-avatar{display:grid;place-items:center;width:48px;height:48px;border:2px solid #66d7f4;color:#cdefff;font-family:ui-monospace,Menlo,monospace;font-weight:900;background:#0b1b2a;box-shadow:3px 3px 0 #060b14}.office-avatar.ceo{border-color:#e57c82;color:#ffe3e4}.office-live-card h3{margin:0;font-size:14px}.office-stage{margin:2px 0;color:var(--muted);font-size:12px}.office-dialogue{margin:7px 0 0;font-family:"Noto Sans Thai",Tahoma,sans-serif;font-size:13px;line-height:1.6;color:#e4edf9}.office-live-card .secondary{font-size:12px;white-space:nowrap}.office-queue{display:grid;gap:8px}.office-queue button,.office-ceo-item{border:1px solid #2c4568;border-radius:10px;background:#091323;color:#e9f2ff;text-align:left;padding:10px;cursor:pointer}.office-queue button:hover,.office-ceo-item:hover{border-color:#68d8ff}.office-queue span,.office-ceo-item span{display:block;font-weight:800}.office-queue small,.office-ceo-item small{display:block;margin-top:3px;color:var(--muted)}.office-empty{padding:16px;border:1px dashed #38506f;color:var(--muted);border-radius:10px;font-size:13px}.office-ceo-card{grid-column:1/-1;display:grid;grid-template-columns:54px 1fr;gap:12px}.office-ceo-list{grid-column:1/-1;display:grid;gap:8px}.office-ceo-open{grid-column:1/-1;padding:15px;border:1px dashed #cc757a;border-radius:13px;background:#24151b;color:#ffdfe1;cursor:pointer;font-family:ui-monospace,Menlo,monospace;font-weight:800}.office-next-note{display:flex;gap:8px;margin-top:16px;padding:12px 14px;border-left:3px solid #ffc56d;background:#ffc56d0e;color:var(--muted);font-size:12px}.office-next-note b{color:#ffd997;white-space:nowrap}@media(max-width:760px){.office-private-grid{grid-template-columns:1fr}.office-live-card{grid-template-columns:46px 1fr}.office-live-card .secondary{grid-column:1/-1}.office-ceo-card{grid-template-columns:46px 1fr}.office-private-legend{align-items:flex-start}.office-next-note{display:grid}}

.browser-screen-isolated{display:block;padding:10px 12px;border:1px solid #82612c;border-radius:10px;background:#ffc56d12;color:#ffd795;font-size:12px;line-height:1.55}

/* Phase 9 — Security & Access */
.security-card{max-width:470px}.security-card .ghost{margin-top:10px}.security-setup-result{margin:14px 0;padding:12px;border:1px solid #3d6b8d;border-radius:12px;background:#0b1828;word-break:break-word}.security-setup-result code{display:block;margin:8px 0;padding:10px;border-radius:8px;background:#06101d;color:#b7e8ff;font-size:16px;letter-spacing:.1em;user-select:all}.recovery-codes{margin:14px 0;padding:14px;border:1px solid #c48f41;border-radius:12px;background:#21170a;color:#ffe2a5;font:700 14px/1.85 ui-monospace,SFMono-Regular,Menlo,monospace;white-space:pre-wrap;user-select:all}.security-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.security-summary{display:grid;gap:6px}.security-summary .value{font-size:24px;font-weight:900}.security-fresh{padding:12px;border-radius:12px;background:#0c1c2d;border:1px solid #315275}.security-fresh.ready{border-color:#3f9a6b;background:#0d2a20}.security-fresh.expired{border-color:#8a5a32;background:#281b10}.security-table{width:100%;border-collapse:collapse}.security-table th,.security-table td{padding:10px;border-bottom:1px solid #263b58;text-align:left;font-size:12px;vertical-align:top}.security-table th{color:var(--muted)}.security-actions{display:flex;gap:8px;flex-wrap:wrap}.security-actions button{font-size:12px}.role-pill{display:inline-block;padding:3px 7px;border-radius:999px;font-size:11px;font-weight:800;background:#223758;color:#dcecff}.role-pill.owner{background:#4b2d54;color:#ffd5ff}.role-pill.editor{background:#193d4a;color:#c9f1ff}.role-pill.viewer{background:#303543;color:#d5d8e2}@media(max-width:760px){.security-grid{grid-template-columns:1fr}.security-table{display:block;overflow:auto}.login-card{margin:20px auto}}

/* Phase 8.2–8.3: Canon and long-form studio */
.world-studio-layout{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(360px,.85fr);gap:16px;align-items:start}.world-create-card,.master-create-card{position:relative;overflow:hidden}.world-create-card:before,.master-create-card:before{content:"";position:absolute;inset:0 0 auto;height:7px;background:linear-gradient(90deg,#7dd3fc,#a78bfa,#f9a8d4);opacity:.92}.world-create-card>*,.master-create-card>*{position:relative}.world-badge{align-self:start;display:inline-flex;align-items:center;justify-content:center;padding:7px 9px;border:1px solid #7dd3fc;border-radius:999px;color:#bae6fd;background:#0c2339;font:800 .68rem/1 ui-monospace,monospace;letter-spacing:.08em}.world-badge.long{border-color:#c4b5fd;color:#ddd6fe;background:#201840}.world-select-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.world-select-grid.compact{grid-template-columns:repeat(2,minmax(0,1fr));max-height:196px;overflow:auto;padding-right:3px}.world-select-group{padding:10px;border:1px solid var(--line);background:#ffffff04;border-radius:10px}.world-select-group>b{font-size:.82rem}.world-select-options{display:grid;gap:7px;margin-top:8px}.world-check{display:grid;grid-template-columns:auto 1fr;column-gap:7px;align-items:start;padding:8px;border:1px solid #ffffff12;border-radius:8px;background:#050914;cursor:pointer}.world-check:hover{border-color:#7dd3fc}.world-check input{margin-top:3px}.world-check span{font-weight:700;font-size:.82rem}.world-check small{grid-column:2;color:var(--muted);font-size:.69rem;line-height:1.35}.world-canon-lists{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:16px}.world-list-card{min-height:230px}.world-card-grid{display:grid;gap:10px}.world-entity-card{padding:12px;border:1px solid #ffffff12;border-radius:10px;background:linear-gradient(135deg,#ffffff08,#050914)}.world-entity-top{display:flex;justify-content:space-between;gap:8px;align-items:center}.world-type{font:800 .63rem/1 ui-monospace,monospace;letter-spacing:.08em;padding:4px 6px;border-radius:6px;background:#1e293b;color:#cbd5e1}.world-type.character{background:#312e81;color:#ddd6fe}.world-type.location{background:#164e63;color:#a5f3fc}.world-type.prop{background:#713f12;color:#fde68a}.world-entity-card h4{margin:9px 0 4px}.world-entity-card p{margin:0 0 9px;color:var(--muted);font-size:.8rem;line-height:1.45}.master-stories-section{margin-top:22px}.master-story-grid{display:grid;gap:14px}.master-story-card{padding:16px;border:1px solid var(--line);border-radius:14px;background:linear-gradient(140deg,#101a31,#090e19)}.master-story-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.master-story-head h3{margin:0 0 5px}.master-story-head p{margin:0;color:var(--muted);max-width:900px}.segment-list{display:grid;gap:10px;margin-top:14px}.segment-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;padding:12px;border:1px solid #ffffff13;border-radius:10px;background:#040811}.segment-row>div:first-child{display:grid;gap:7px}.segment-row input,.segment-row textarea{width:100%}.segment-row textarea{min-height:70px}.segment-status{display:flex;flex-direction:column;align-items:flex-end;gap:7px;min-width:135px}.master-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:14px}.badge.compiling,.badge.active{background:#1d4ed8;color:#dbeafe}.badge.compiled,.badge.review{background:#047857;color:#d1fae5}.badge.attention,.badge.failed{background:#991b1b;color:#fee2e2}.badge.queued,.badge.draft{background:#3f3f46;color:#e4e4e7}
@media(max-width:1060px){.world-studio-layout{grid-template-columns:1fr}.world-canon-lists{grid-template-columns:1fr 1fr}.world-select-grid{grid-template-columns:1fr 1fr}}@media(max-width:680px){.world-canon-lists,.world-select-grid,.world-select-grid.compact{grid-template-columns:1fr}.master-story-head,.segment-row{grid-template-columns:1fr}.segment-status{align-items:stretch;min-width:0}.segment-status button{width:100%}.world-badge{display:none}}
.master-compile-status{display:grid;gap:8px;margin-top:12px;padding:11px;border:1px dashed #60a5fa66;border-radius:10px;background:#0b1220}.master-compile-status .badge{justify-self:start}.master-compile-status .progress{height:7px;background:#0f172a;border-radius:999px;overflow:hidden}.master-compile-status .progress span{display:block;height:100%;background:linear-gradient(90deg,#38bdf8,#a78bfa)}.master-compile-status p{margin:0}
