@import "https://fonts.googleapis.com/css2?family=Noto+Sans+TC:wght@400;500;600;700&family=Noto+Serif+TC:wght@500;600;700&display=swap";:root{--settings-dark:#13110f;--settings-dark-raised:#201c19;--settings-workspace:#f5f2ed;--settings-paper:#fffcf8;--settings-ink:#24201d;--settings-ink-soft:#504942;--settings-muted:#776e66;--settings-border:#d8d0c7;--settings-red:#b73a3c;--settings-red-dark:#972f31;--settings-gold:#c7a57a;--settings-green:#2f7d4a;--settings-green-soft:#e7f2e9;--settings-warning:#9a6521;--settings-warning-soft:#f7eedc}.settings-admin-shell,.settings-admin-shell *,.settings-login,.settings-login *{box-sizing:border-box}.settings-admin-shell{min-height:100dvh;color:var(--settings-ink);background:var(--settings-workspace);font-family:Noto Sans TC,PingFang TC,sans-serif}.settings-admin-shell h1,.settings-admin-shell h2,.settings-admin-shell h3,.settings-login h1,.settings-login h2{color:var(--settings-ink)}.settings-admin-shell button,.settings-admin-shell input,.settings-admin-shell textarea,.settings-admin-shell select,.settings-login button,.settings-login input{font:inherit}.settings-admin-shell button,.settings-admin-shell a{min-height:42px}.settings-admin-shell :focus-visible,.settings-login :focus-visible{outline:3px solid var(--settings-gold);outline-offset:2px}.settings-sidebar{z-index:50;color:#fff;background:var(--settings-dark);flex-direction:column;width:232px;padding:26px 16px 20px;display:flex;position:fixed;inset:0 auto 0 0}.settings-brand{padding:0 8px}.settings-brand strong{color:#fff7ec;font-size:22px;line-height:1.2;display:block}.settings-brand span{color:var(--settings-gold);margin-top:6px;font-size:11px;font-weight:700;display:block}.settings-sidebar>p{color:#82766c;text-transform:uppercase;margin:34px 8px 8px;font-family:Geist Mono,ui-monospace,monospace;font-size:10px;font-weight:700}.settings-sidebar nav{gap:8px;display:grid}.settings-sidebar nav button{color:#a99b90;cursor:pointer;text-align:left;background:0 0;border:0;border-radius:6px;align-items:center;gap:10px;width:100%;padding:0 12px;font-size:12px;font-weight:600;display:flex;position:relative}.settings-sidebar nav button i{background:#51473f;border-radius:50%;flex:none;width:7px;height:7px}.settings-sidebar nav button:hover,.settings-sidebar nav button.active{color:#fff7ec;background:#2a2420}.settings-sidebar nav button.active{font-weight:700}.settings-sidebar nav button.active i{background:var(--settings-gold)}.settings-sidebar-bottom{border-top:1px solid #3a312c;gap:12px;margin-top:auto;padding:18px 8px 0;display:grid}.settings-sidebar-bottom>span{color:#a99b90;font-size:11px}.settings-sidebar-bottom>a,.settings-sidebar-bottom>button{color:#c9b7a2;background:var(--settings-dark-raised);cursor:pointer;border:1px solid #3a312c;border-radius:6px;justify-content:center;align-items:center;gap:8px;padding:0 12px;font-size:12px;font-weight:700;text-decoration:none;display:flex}.settings-sidebar-bottom svg{width:15px}.settings-drawer-close,.settings-drawer-backdrop,.settings-mobile-header,.settings-mobile-tabs,.settings-mobile-footer{display:none}.settings-desktop-header{z-index:30;border-bottom:1px solid var(--settings-border);background:var(--settings-paper);justify-content:space-between;align-items:center;height:72px;padding:0 32px;display:flex;position:fixed;inset:0 0 auto 232px}.settings-desktop-header>strong{font-size:15px}.settings-desktop-header>div{align-items:center;gap:24px;display:flex}.settings-primary,.settings-secondary{cursor:pointer;border-radius:6px;justify-content:center;align-items:center;gap:8px;min-height:44px;padding:0 18px;font-size:12px;font-weight:700;text-decoration:none;display:inline-flex}.settings-primary{color:#fff;border:1px solid var(--settings-red);background:var(--settings-red)}.settings-primary:hover:not(:disabled){border-color:var(--settings-red-dark);background:var(--settings-red-dark)}.settings-primary:disabled{cursor:not-allowed;color:#ffffffc2;opacity:1;background:#8f4a4b;border-color:#8f4a4b}.settings-secondary{color:var(--settings-ink-soft);border:1px solid var(--settings-border);background:var(--settings-paper)}.settings-secondary:hover:not(:disabled){background:#f0ece6;border-color:#bfb5aa}.settings-primary svg,.settings-secondary svg{width:16px;height:16px}.settings-sync{min-height:36px;color:var(--settings-green);background:var(--settings-green-soft);white-space:nowrap;border:1px solid #c9decf;border-radius:6px;align-items:center;gap:8px;padding:0 10px;font-size:11px;font-weight:700;display:inline-flex}.settings-sync svg{width:16px}.settings-sync.dirty{color:var(--settings-warning);background:var(--settings-warning-soft);border-color:#e6d4b5}.settings-sync.dirty i{background:currentColor;border-radius:50%;width:8px;height:8px}.settings-main{width:calc(100% - 232px);max-width:1216px;min-height:100dvh;margin-left:232px;padding:96px 48px 64px}.settings-page-intro{min-height:96px;padding-right:190px;position:relative}.settings-page-intro>p,.settings-modal header span,.reward-records-callout>span,.quiz-results-node>span{color:var(--settings-red);letter-spacing:.06em;margin:0;font-family:Geist Mono,ui-monospace,monospace;font-size:10px;font-weight:700}.settings-page-intro h1{color:var(--settings-ink);margin:6px 0 4px;font-size:clamp(26px,2.4vw,30px);line-height:1.35}.settings-page-intro>span{color:var(--settings-muted);font-size:13px}.settings-page-intro .intro-action{position:absolute;top:18px;right:0}.settings-card{border:1px solid var(--settings-border);background:var(--settings-paper);border-radius:8px;box-shadow:0 14px 30px #24201d0d,0 4px 8px #24201d0a}.prompt-ledger{padding:20px 24px 26px}.prompt-ledger>header,.word-bank>header,.reward-policy>header,.quiz-flow-builder>header{border-bottom:1px solid var(--settings-border);justify-content:space-between;align-items:center;gap:18px;padding-bottom:16px;display:flex}.prompt-ledger>header h2,.word-bank>header h2,.reward-policy>header h2,.quiz-flow-builder>header h2,.reward-records-callout h2{margin:0;font-size:16px}.prompt-ledger>header p,.word-bank>header p,.reward-policy>header p,.quiz-flow-builder>header p{color:var(--settings-muted);margin:4px 0 0;font-size:10px}.prompt-list{gap:14px;padding-top:18px;display:grid}.prompt-row{grid-template-columns:1fr auto;gap:4px 16px;padding-left:52px;display:grid;position:relative}.prompt-row>span{color:var(--settings-red);font-family:Geist Mono,ui-monospace,monospace;font-size:10px;font-weight:700;position:absolute;top:2px;left:0}.prompt-row>strong{font-size:13px}.prompt-row>small{color:var(--settings-muted);grid-column:1/-1;font-size:11px}.prompt-row textarea{resize:vertical;width:100%;min-height:128px;color:var(--settings-ink);border:1px solid var(--settings-border);background:#fff;border-radius:6px;grid-column:1/-1;margin-top:6px;padding:14px;line-height:1.75}.prompt-row>em{color:var(--settings-muted);font-family:Geist Mono,ui-monospace,monospace;font-size:9px;font-style:normal;position:absolute;bottom:8px;right:10px}.settings-toggle{cursor:pointer;white-space:nowrap;align-items:center;gap:8px;min-height:34px;display:inline-flex}.settings-toggle input{opacity:0;pointer-events:none;position:absolute}.settings-toggle>i{background:#d8d0c7;border:1px solid #c2b8ad;border-radius:999px;flex:none;width:38px;height:22px;transition:all .18s;position:relative}.settings-toggle>i span{background:#fff;border-radius:50%;width:14px;height:14px;transition:all .18s;position:absolute;top:3px;left:3px;box-shadow:0 1px 3px #0003}.settings-toggle input:checked+i{border-color:var(--settings-green);background:var(--settings-green)}.settings-toggle input:checked+i span{transform:translate(16px)}.settings-toggle>b{color:var(--settings-ink-soft);font-size:11px}.settings-toggle.compact>b{font-size:10px}.word-bank-toolbar{grid-template-columns:minmax(240px,1fr) 190px auto;align-items:end;gap:12px;margin-bottom:14px;display:grid}.word-bank-toolbar>label>span{color:var(--settings-ink-soft);margin-bottom:5px;font-size:10px;font-weight:700;display:block}.word-bank-toolbar label>div{position:relative}.word-bank-toolbar svg{color:#8f8478;width:16px;position:absolute;top:13px;left:12px}.word-bank-toolbar input,.word-bank-toolbar select,.word-bank input,.word-bank select,.quiz-toolbar input,.quiz-toolbar select,.quiz-node input,.quiz-node select{width:100%;height:42px;color:var(--settings-ink);border:1px solid var(--settings-border);background:#fff;border-radius:6px;padding:0 12px}.word-bank-toolbar input{padding-left:38px}.word-bank{overflow:hidden}.word-bank>header{padding:17px 20px}.word-bank>header p{font-family:Geist Mono,ui-monospace,monospace}.word-bank-head{color:var(--settings-muted);text-transform:uppercase;background:#f0ece6;grid-template-columns:2fr 1fr 1fr 120px 90px 50px;gap:10px;padding:10px 16px;font-size:9px;font-weight:700;display:grid}.word-bank-list>article{border-top:1px solid #ece6df;grid-template-columns:2fr 1fr 1fr 120px 90px 50px;align-items:center;gap:10px;padding:12px 16px;display:grid}.word-bank-list>article:first-child{border-top:0}.word-bank-list label>span{display:none}.word-bank-list article>label:first-child{grid-area:1/1}.word-bank-list .topic-hint{grid-area:2/1}.word-bank-list input,.word-bank-list select{height:38px;font-size:11px}.word-bank-list .topic-hint input{height:30px;color:var(--settings-muted);background:0 0;border-color:#0000}.word-bank-pagination{border-top:1px solid var(--settings-border);background:#f0ece6;justify-content:space-between;align-items:center;min-height:46px;padding:0 16px;display:flex}.word-bank-pagination>span{color:var(--settings-muted);font-family:Geist Mono,ui-monospace,monospace;font-size:9px}.word-bank-pagination>div{gap:6px;display:flex}.word-bank-pagination button{width:34px;min-height:32px;color:var(--settings-ink);border:1px solid var(--settings-border);background:var(--settings-paper);border-radius:4px;place-items:center;padding:0;display:grid}.word-bank-pagination button:disabled{opacity:.4}.word-bank-pagination svg{width:14px}.built-in-tag{color:var(--settings-muted);text-align:center;font-size:9px;font-weight:700}.icon-button{width:38px;color:var(--settings-muted);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:5px;place-items:center;padding:0;display:inline-grid;min-height:38px!important}.icon-button:hover{border-color:var(--settings-border);background:#f0ece6}.icon-button.danger:hover{color:var(--settings-red);background:#fbebeb;border-color:#ebc3c3}.icon-button svg{width:16px;height:16px}.quiz-toolbar{grid-template-columns:minmax(190px,.8fr) minmax(220px,1fr) minmax(260px,1.4fr) auto;align-items:end;gap:12px;margin-bottom:16px;padding:16px 18px;display:grid}.quiz-toolbar>label{color:var(--settings-ink-soft);gap:5px;font-size:10px;font-weight:700;display:grid}.quiz-toolbar input,.quiz-toolbar select{font-size:11px}.quiz-flow-builder{border:1px solid var(--settings-border);background:#ece8e2;border-radius:8px;overflow:hidden}.quiz-flow-builder>header{background:var(--settings-paper);padding:16px 18px}.quiz-flow-canvas{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 18 18'%3E%3Ccircle cx='1' cy='1' r='1' fill='%23c8beb4'/%3E%3C/svg%3E");background-size:18px 18px;gap:18px;min-width:720px;padding:24px;display:grid}.quiz-node{background:var(--settings-paper);border:1px solid #cfc5ba;border-radius:7px;overflow:hidden;box-shadow:0 6px 16px #24201d14}.quiz-node>header{border-bottom:1px solid var(--settings-border);background:#f7f3ee;grid-template-columns:110px 1fr 40px;align-items:center;gap:10px;min-height:58px;padding:10px 14px;display:grid}.quiz-node>header>span{color:var(--settings-red);font-family:Geist Mono,ui-monospace,monospace;font-size:9px;font-weight:700}.quiz-node>header input{height:36px;font-weight:700}.quiz-options{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.quiz-options>div{border-bottom:1px solid #ece6df;border-right:1px solid #ece6df;grid-template-columns:28px 1.3fr 1fr 34px;align-items:end;gap:10px;padding:12px;display:grid}.quiz-options>div:nth-child(2n){border-right:0}.quiz-options>div>b{color:#fff;background:var(--settings-ink);border-radius:4px;place-items:center;width:26px;height:26px;margin-bottom:6px;font-family:Geist Mono,ui-monospace,monospace;font-size:10px;display:grid}.quiz-options label{gap:4px;display:grid}.quiz-options label span{color:var(--settings-muted);text-transform:uppercase;font-size:8px;font-weight:700}.quiz-options input,.quiz-options select{height:34px;font-size:10px}.quiz-option-remove{margin-bottom:-1px}.quiz-node>footer{border-top:1px solid var(--settings-border);background:#f7f3ee;justify-content:flex-end;padding:10px 12px;display:flex}.quiz-node>footer .settings-secondary{min-height:34px;padding:0 12px;font-size:10px}.quiz-results-node{background:#fffcf8c7;border:1px dashed #9f9489;border-radius:7px;padding:16px}.quiz-results-node>div{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:10px;display:grid}.quiz-results-node strong{border:1px solid var(--settings-border);background:var(--settings-paper);border-radius:5px;padding:10px;font-size:11px}.quiz-results-node small{color:var(--settings-muted);margin-top:3px;font-family:Geist Mono,ui-monospace,monospace;font-size:8px;display:block}.reward-layout{grid-template-columns:minmax(0,1fr) 300px;align-items:start;gap:18px;display:grid}.reward-policy{padding:20px 22px}.reward-policy>section{border-bottom:1px solid var(--settings-border);padding:18px 0}.reward-policy>section:last-child{border:0;padding-bottom:0}.reward-game-heading{align-items:center;gap:12px;margin-bottom:10px;display:flex}.reward-game-heading>span{color:var(--settings-red);font-family:Geist Mono,ui-monospace,monospace;font-size:9px;font-weight:700}.reward-game-heading h3{margin:0;font-size:13px}.reward-policy article{border-top:1px solid #ece6df;grid-template-columns:1fr 150px 100px;align-items:center;gap:12px;min-height:56px;padding:8px 10px;display:grid}.reward-policy article>div{align-items:center;gap:10px;display:flex}.reward-policy article>div b{color:#fff;background:var(--settings-ink);border-radius:50%;place-items:center;width:28px;height:28px;font-family:Geist Mono,ui-monospace,monospace;font-size:10px;display:grid}.reward-policy article>div svg{width:14px}.reward-policy article>div span{font-size:12px;font-weight:700}.reward-policy select{height:38px;color:var(--settings-ink);border:1px solid var(--settings-border);background:#fff;border-radius:5px;padding:0 10px;font-size:11px}.reward-quiz-note p{color:var(--settings-muted);margin:0;font-size:12px;line-height:1.7}.reward-records-callout{background:var(--settings-dark-raised);padding:22px}.reward-records-callout h2{color:#fff7ec;margin-top:10px}.reward-records-callout p{color:#b9aca1;margin:10px 0 22px;font-size:12px;line-height:1.8}.reward-records-callout .settings-secondary{color:#fff;background:#2a2420;border-color:#4b4038;width:100%}.records-summary{background:var(--settings-dark-raised);border-radius:7px;justify-content:space-between;align-items:center;min-height:74px;margin-bottom:12px;padding:14px 18px;display:flex}.records-summary>div{gap:4px;display:grid}.records-summary strong{color:#fff7ec;font-family:Geist Mono,ui-monospace,monospace;font-size:15px}.records-summary span{color:#8f8478;font-size:10px}.records-filters{grid-template-columns:1fr minmax(250px,360px);gap:12px;margin-bottom:12px;display:grid}.records-filters>div{flex-wrap:wrap;gap:6px;display:flex}.records-filters button{min-height:36px;color:var(--settings-ink-soft);cursor:pointer;background:#e9e4de;border:0;border-radius:4px;padding:0 12px;font-size:10px;font-weight:700}.records-filters button.active{color:#fff7ec;background:var(--settings-ink)}.records-filters>label{position:relative}.records-filters label svg{color:#a99b90;width:16px;position:absolute;top:11px;left:12px}.records-filters input{border:1px solid var(--settings-border);background:#fff;border-radius:5px;width:100%;height:40px;padding:0 12px 0 38px}.records-list{gap:8px;display:grid}.reward-record{border:1px solid var(--settings-border);background:var(--settings-paper);border-radius:6px;grid-template-columns:1fr 100px 42px;align-items:center;gap:12px;min-height:78px;padding:12px 14px 12px 18px;display:grid;position:relative;overflow:hidden}.reward-record:before{content:"";background:var(--settings-red);width:4px;position:absolute;inset:0 auto 0 0}.reward-record.level-advanced:before{background:var(--settings-warning)}.reward-record.level-standard:before{background:var(--settings-green)}.reward-record>div{gap:3px;display:grid}.reward-record code{color:var(--settings-ink);font-family:Geist Mono,ui-monospace,monospace;font-size:12px;font-weight:700}.reward-record strong{color:var(--settings-red);font-size:10px}.reward-record span{color:var(--settings-muted);font-size:10px}.record-status{background:#f0ece6;border-radius:4px;place-items:center;min-height:26px;font-weight:700;display:inline-grid}.record-status.status-unredeemed{color:var(--settings-warning);background:var(--settings-warning-soft)}.record-status.status-redeemed{color:var(--settings-green);background:var(--settings-green-soft)}.records-pagination{background:#e9e4de;border-radius:5px;justify-content:space-between;align-items:center;min-height:46px;margin-top:12px;padding:0 12px;display:flex}.records-pagination>span{color:var(--settings-muted);font-size:10px}.records-pagination>div{align-items:center;gap:8px;display:flex}.records-pagination button{width:34px;min-height:32px;color:var(--settings-ink);border:1px solid var(--settings-border);background:var(--settings-paper);border-radius:4px;place-items:center;display:grid}.records-pagination button:disabled{opacity:.4}.records-pagination svg{width:15px}.records-pagination b{font-family:Geist Mono,ui-monospace,monospace;font-size:10px}.settings-error{color:var(--settings-red-dark);background:#fbebeb;border:1px solid #ebc3c3;border-radius:5px;margin:14px 0 0;padding:10px 12px;font-size:12px}.settings-empty{color:var(--settings-muted);text-align:center;margin:0;padding:32px}.settings-toast,.save-confirmation{z-index:80;background:var(--settings-paper);border:1px solid #c9decf;border-radius:7px;align-items:center;display:flex;position:fixed;box-shadow:0 18px 50px #24201d33}.settings-toast{min-height:48px;color:var(--settings-green);gap:9px;padding:0 16px;font-size:12px;font-weight:700;bottom:24px;right:24px}.settings-toast svg{width:17px}.save-confirmation{gap:14px;width:min(360px,100% - 32px);min-height:100px;padding:18px;top:50%;left:50%;transform:translate(-50%,-50%)}.save-confirmation>svg{width:36px;color:var(--settings-green)}.save-confirmation>div{gap:4px;display:grid}.save-confirmation strong{font-size:15px}.save-confirmation span{color:var(--settings-muted);font-size:11px}.save-confirmation .icon-button{margin-left:auto}.settings-modal-backdrop{z-index:70;background:#0e0d0cad;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.settings-modal{border:1px solid var(--settings-border);background:var(--settings-paper);border-radius:9px;width:min(760px,100%);max-height:calc(100dvh - 48px);overflow:auto;box-shadow:0 30px 80px #0000004d}.settings-modal>header,.settings-modal>footer{border-bottom:1px solid var(--settings-border);justify-content:space-between;align-items:center;gap:12px;padding:18px 20px;display:flex}.settings-modal header h2{margin:5px 0 0;font-size:20px}.settings-modal>p{color:var(--settings-muted);margin:18px 20px 10px;font-size:12px;line-height:1.7}.quiz-json-modal>textarea{resize:vertical;color:#e9e1d8;background:var(--settings-dark-raised);border:1px solid #3a312c;border-radius:6px;width:calc(100% - 40px);min-height:400px;margin:0 20px 18px;padding:14px;font-family:Geist Mono,ui-monospace,monospace;font-size:11px;line-height:1.6;display:block}.settings-modal>footer{border-top:1px solid var(--settings-border);border-bottom:0;justify-content:flex-end}.settings-loading{min-height:100dvh;color:var(--settings-muted);background:var(--settings-workspace);place-content:center;place-items:center;gap:14px;display:grid}.settings-loading>span{border:2px solid var(--settings-border);border-top-color:var(--settings-red);border-radius:50%;width:28px;height:28px;animation:.8s linear infinite settings-spin}@keyframes settings-spin{to{transform:rotate(360deg)}}.settings-login{min-height:100dvh;color:var(--settings-ink);background:var(--settings-workspace);grid-template-columns:minmax(280px,1fr) minmax(360px,520px);place-items:center;gap:8vw;padding:48px;font-family:Noto Sans TC,PingFang TC,sans-serif;display:grid}.settings-login-brand{max-width:520px}.settings-login-brand>span,.settings-login form header span{color:var(--settings-red);letter-spacing:.08em;font-family:Geist Mono,ui-monospace,monospace;font-size:10px;font-weight:700}.settings-login-brand h1{margin:10px 0;font-size:clamp(42px,6vw,72px);line-height:1.08}.settings-login-brand p{color:var(--settings-muted);font-size:15px;line-height:1.8}.settings-login form{border:1px solid var(--settings-border);background:var(--settings-paper);border-radius:9px;gap:18px;width:100%;padding:32px;display:grid;box-shadow:0 22px 60px #24201d1f}.settings-login form h2{margin:6px 0 4px;font-size:24px}.settings-login form label{color:var(--settings-ink-soft);gap:7px;font-size:12px;font-weight:700;display:grid}.settings-login form input{border:1px solid var(--settings-border);background:#fff;border-radius:6px;height:48px;padding:0 12px}.settings-login form .settings-primary{width:100%;min-height:48px}@media (width<=900px){.settings-admin-shell{height:100dvh;overflow:hidden}.settings-sidebar{width:min(316px,100% - 48px);transition:transform .22s;transform:translate(-105%)}.settings-sidebar.open{transform:translate(0)}.settings-drawer-close{color:#fff;background:var(--settings-dark-raised);border:1px solid #3a312c;border-radius:5px;place-items:center;width:38px;min-height:38px;padding:0;display:grid;position:absolute;top:15px;right:14px}.settings-drawer-close svg{width:17px}.settings-drawer-backdrop{z-index:40;visibility:hidden;opacity:0;background:#0e0d0c94;border:0;width:100%;height:100%;min-height:0;padding:0;transition:all .2s;display:block;position:fixed;inset:0}.settings-drawer-backdrop.open{visibility:visible;opacity:1}.settings-desktop-header{display:none}.settings-mobile-header{z-index:35;color:#fff;background:var(--settings-dark);justify-content:space-between;align-items:center;height:64px;padding:0 14px 0 16px;display:flex;position:fixed;inset:0 0 auto}.settings-mobile-header strong{font-size:20px}.settings-mobile-header button{color:#fff;background:var(--settings-dark-raised);border:1px solid #3a312c;border-radius:6px;place-items:center;width:36px;min-height:36px;padding:0;display:grid}.settings-mobile-header svg{width:18px}.settings-mobile-tabs{z-index:34;border-bottom:1px solid var(--settings-border);background:var(--settings-paper);grid-template-columns:1fr 1fr;height:48px;display:grid;position:fixed;inset:64px 0 auto}.settings-mobile-tabs button{min-height:48px;color:var(--settings-muted);background:0 0;border:0;font-size:12px;font-weight:600;position:relative}.settings-mobile-tabs button.active{color:var(--settings-ink);font-weight:700}.settings-mobile-tabs button.active:after{content:"";background:var(--settings-red);height:3px;position:absolute;inset:auto 16px 0}.settings-main{overscroll-behavior:contain;width:100%;max-width:none;height:calc(100dvh - 176px);min-height:0;margin-top:112px;margin-left:0;padding:14px 14px 24px;overflow-y:auto}.settings-page-intro{min-height:94px;padding-right:0}.settings-page-intro>p{font-size:8px}.settings-page-intro h1{margin-top:4px;font-family:Noto Serif TC,Noto Sans TC,serif;font-size:22px}.settings-page-intro>span{max-width:calc(100% - 120px);font-size:10px;line-height:1.5;display:block}.settings-page-intro .intro-action{min-height:36px;padding:0 10px;font-size:9px;top:26px;right:0}.settings-mobile-footer{z-index:36;background:var(--settings-ink);grid-template-columns:122px 1fr;align-items:center;gap:12px;height:64px;padding:9px 12px;display:grid;position:fixed;inset:auto 0 0}.settings-mobile-footer .settings-sync{color:#c9c0b7;background:#2f2a26;border-color:#0000;justify-content:center;min-height:36px;font-size:8px}.settings-mobile-footer .settings-sync svg{width:13px}.settings-mobile-footer .settings-primary{min-height:46px;font-size:11px}.records-footer>span{color:#c9c0b7;background:#2f2a26;border-radius:4px;place-items:center;min-height:36px;font-size:9px;font-weight:700;display:grid}.prompt-ledger{padding:14px}.prompt-ledger>header{align-items:flex-start}.prompt-ledger>header h2{font-size:14px}.prompt-ledger>header .settings-toggle>b{display:none}.prompt-row{padding-left:32px}.prompt-row>strong{font-size:11px}.prompt-row>small{font-size:9px}.prompt-row textarea{min-height:112px;padding:10px;font-size:11px}.word-bank-toolbar{grid-template-columns:1fr 112px}.word-bank-toolbar>.settings-toggle{grid-column:1/-1}.word-bank{box-shadow:none;background:0 0;border:0}.word-bank>header,.word-bank-head{display:none}.word-bank-list{gap:8px;display:grid}.word-bank-pagination{border:1px solid var(--settings-border);border-radius:5px;margin-top:8px}.word-bank-list>article{border:1px solid var(--settings-border);background:var(--settings-paper);border-radius:6px;grid-template-columns:1fr 1fr;gap:8px;padding:12px;display:grid;position:relative}.word-bank-list article>label:first-child,.word-bank-list .topic-hint{grid-area:auto/1/auto/-1}.word-bank-list label>span{color:var(--settings-muted);margin-bottom:3px;font-size:8px;font-weight:700;display:block}.word-bank-list .topic-hint input{border-color:var(--settings-border);background:#fff;height:34px;padding:0 10px}.word-bank-list article>.settings-toggle{justify-self:start}.word-bank-list .built-in-tag,.word-bank-list article>.icon-button{position:absolute;bottom:10px;right:10px}.quiz-toolbar{grid-template-columns:1fr 1fr}.quiz-toolbar .quiz-description{grid-column:1/-1}.quiz-flow-builder{border-left:0;border-right:0;border-radius:0;margin:0 -14px}.quiz-flow-builder>header{padding:12px 14px}.quiz-flow-canvas{min-width:0;padding:14px}.quiz-node>header{grid-template-columns:78px 1fr 36px}.quiz-node>header>span{font-size:7px}.quiz-options{grid-template-columns:1fr}.quiz-options>div{border-right:0;grid-template-columns:26px 1fr 34px}.quiz-options>div label:first-of-type,.quiz-options>div label:last-of-type{grid-column:2/4}.quiz-options>div .quiz-option-remove{grid-area:1/3}.quiz-results-node>div{grid-template-columns:repeat(2,minmax(0,1fr))}.reward-layout{grid-template-columns:1fr}.reward-policy{padding:14px}.reward-policy>header{align-items:flex-start}.reward-policy>header .settings-toggle>b{display:none}.reward-policy article{grid-template-columns:1fr 96px;gap:8px;padding:8px 0}.reward-policy article>.settings-toggle{grid-column:1/-1}.reward-records-callout{display:none}.records-summary{min-height:54px;padding:9px 12px}.records-summary .settings-primary{display:none}.records-summary strong{font-size:11px}.records-summary span{font-size:8px}.records-filters{grid-template-columns:1fr}.records-filters>div{scrollbar-width:none;flex-wrap:nowrap;overflow-x:auto}.records-filters button{flex:none;min-height:30px;padding:0 9px;font-size:8px}.reward-record{grid-template-columns:1fr 76px 28px;gap:6px;min-height:68px;padding:9px 10px 9px 14px}.reward-record code{font-size:9px}.reward-record strong,.reward-record span{font-size:8px}.record-status{min-height:22px;font-size:8px!important}.records-pagination{min-height:38px}.records-pagination>span{font-size:8px}.settings-toast{justify-content:center;bottom:76px;left:14px;right:14px}.settings-modal-backdrop{align-items:end;padding:0}.settings-modal{border-radius:10px 10px 0 0;width:100%;max-height:calc(100dvh - 64px)}.quiz-json-modal>textarea{min-height:360px}.settings-login{background:var(--settings-paper);grid-template-columns:1fr;place-content:stretch;gap:0;min-height:100dvh;padding:0}.settings-login-brand{color:#fff;background:var(--settings-dark);max-width:none;min-height:230px;padding:42px 24px 28px}.settings-login-brand h1{color:#fff7ec;margin:10px 0;font-size:40px}.settings-login-brand p{color:#c9b7a2;font-size:12px}.settings-login form{box-shadow:none;border:0;border-radius:0;align-self:start;padding:28px 20px}}@media (width<=520px){.settings-page-intro>span{max-width:calc(100% - 104px)}.quiz-toolbar{grid-template-columns:1fr}.quiz-toolbar .quiz-description{grid-column:auto}}@media (prefers-reduced-motion:reduce){.settings-sidebar,.settings-drawer-backdrop,.settings-toggle>i,.settings-toggle>i span{transition:none}}:root{color:#f3e6d3;font-synthesis:none;--bg:#0e0d0c;--bg-secondary:#181614;--bg-hover:#23201d;--bg-modal:#141210;--primary:#8f2324;--primary-hover:#a72b2c;--primary-active:#721a1b;--primary-light:#b73a3c;--gold:#c7a57a;--gold-light:#d9b98f;--gold-dark:#a98963;--text:#f3e6d3;--text-title:#fff7ec;--text-secondary:#c9b7a2;--text-muted:#8f8478;--text-disable:#66605a;--font-h1:56px;--font-h2:40px;--font-h3:28px;--font-large:20px;--font-body:16px;--font-small:14px;--font-caption:12px;--border:#3a312c;--border-light:#4b4038;--divider:#2a2420;--success:#3fae63;--warning:#d29a3b;--danger:#c43a3a;--info:#4f84d6;--btn-primary-bg:#8f2324;--btn-primary-hover:#a72b2c;--btn-primary-text:#fff6ee;--btn-secondary-bg:#f2e3cf;--btn-secondary-hover:#f7ebdb;--btn-secondary-text:#221f1d;--input-bg:#181614;--input-border:#3a312c;--input-focus:#c7a57a;--input-text:#f3e6d3;--input-placeholder:#7a7168;--shadow-sm:0 2px 8px #00000026;--shadow-md:0 8px 20px #00000040;--shadow-lg:0 14px 35px #00000059;--radius-sm:8px;--radius-md:14px;--radius-lg:20px;--radius-xl:28px;--transition:.25s ease;--ink:var(--text);--paper:var(--bg);--muted:var(--text-muted);--line:var(--border);--red:var(--primary-light);--green:var(--success);--navy:var(--bg-secondary);background:#0e0d0c;font-family:Noto Sans TC,system-ui,sans-serif}*{box-sizing:border-box}body{background:var(--paper);min-width:320px;min-height:100dvh;margin:0}button,input{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.42}.restore-screen{min-height:100vh;color:var(--muted);place-content:center;justify-items:center;gap:18px;font-family:Noto Serif TC,serif;display:grid}:focus-visible{outline:3px solid var(--gold-light);outline-offset:3px}a{color:inherit}.eyebrow,.folio{letter-spacing:.18em;text-transform:uppercase;color:var(--red);margin:0;font-size:.72rem;font-weight:700}.folio{color:var(--muted)}.primary,.secondary{border:1px solid var(--ink);letter-spacing:.04em;min-height:48px;padding:0 22px;font-weight:700;transition:transform .16s,background .16s,color .16s}.primary{background:var(--ink);color:var(--paper)}.secondary{color:var(--ink);background:0 0}.primary:not(:disabled):hover,.secondary:not(:disabled):hover{transform:translateY(-2px)}.secondary.active{border-color:var(--green);color:var(--green);background:#dfe6df}.entry-shell{background:var(--paper);grid-template-columns:minmax(0,1.25fr) minmax(380px,.75fr);min-height:100vh;display:grid}.entry-copy{border-right:1px solid var(--line);flex-direction:column;justify-content:center;padding:clamp(50px,8vw,120px);display:flex;position:relative;overflow:hidden}.entry-copy:after{content:"05";color:#e7e2d8;z-index:0;font:700 min(36vw,500px)/1 Noto Serif TC,serif;position:absolute;bottom:-12vw;right:-3vw}.entry-copy>*{z-index:1;position:relative}.entry-copy h1{letter-spacing:-.05em;max-width:1000px;margin:30px 0;font:600 clamp(2.7rem,5.5vw,6.5rem)/1.12 Noto Serif TC,serif}.lead{color:#58534c;max-width:650px;font-size:1.05rem;line-height:1.9}.rule-strip{gap:0;margin-top:54px;display:flex}.rule-strip span{border:1px solid var(--line);color:var(--muted);margin-right:-1px;padding:13px 18px;font-size:.78rem}.entry-card{background:#dedbd3;flex-direction:column;justify-content:center;padding:clamp(34px,5vw,76px);display:flex}.entry-mode{border:1px solid #aaa49a;grid-template-columns:1fr 1fr;margin-bottom:28px;display:grid}.entry-mode button{min-height:44px;color:var(--muted);background:0 0;border:0;font-weight:700}.entry-mode button+button{border-left:1px solid #aaa49a}.entry-mode button.active{background:var(--ink);color:var(--paper)}.entry-card h2{margin:18px 0 32px;font:600 2.3rem/1.2 Noto Serif TC,serif}.entry-card form{gap:12px;display:grid}.entry-card label{letter-spacing:.08em;font-size:.78rem;font-weight:700}.entry-card input,.entry-card select{border:0;border-bottom:1px solid var(--ink);background:0 0;border-radius:0;outline:none;width:100%;margin-bottom:14px;padding:14px 2px;font-size:1.05rem}.entry-card input:focus{border-bottom-width:2px}.entry-card .invite-code-input{letter-spacing:.2em;text-transform:uppercase;font:700 1.45rem Noto Serif TC,serif}.scenario-preview{border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:-10px 0 28px;padding:22px 0}.scenario-preview strong{font-family:Noto Serif TC,serif;font-size:1.2rem}.scenario-preview p{color:var(--muted);line-height:1.7}.scenario-preview small{color:var(--green);font-weight:700}.microcopy,.form-error{color:var(--muted);font-size:.78rem}.form-error{color:var(--red);margin:0 0 8px}.game-shell{background:var(--paper);min-height:100vh}.room-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;min-height:82px;padding:18px clamp(22px,5vw,74px);display:flex}.room-code{letter-spacing:.12em;margin-top:6px;font-size:.78rem;display:block}.connection{color:var(--muted);align-items:center;gap:8px;font-size:.75rem;display:flex}.connection span{background:#a29889;border-radius:50%;width:7px;height:7px}.connection.connected span{background:#4b7b59;box-shadow:0 0 0 4px #dce8dd}.connection.reconnecting span,.connection.connecting span{background:#b17b2d;animation:1s infinite pulse}.error-banner{color:#6f2a20;background:#f3dfdc;border:0;border-bottom:1px solid #d1a59e;justify-content:space-between;width:100%;padding:12px 5vw;display:flex}.error-banner span{text-decoration:underline}.lobby-grid{grid-template-columns:1fr minmax(430px,.72fr);min-height:calc(100vh - 82px);display:grid}.lobby-story{border-right:1px solid var(--line);background:linear-gradient(#f5f2eaeb,#f5f2eaeb),repeating-linear-gradient(0deg,#0000 0 24px,#d9d2c6 25px);padding:clamp(50px,8vw,120px)}.lobby-story h1{letter-spacing:-.06em;margin:25px 0;font:600 clamp(3rem,6vw,6rem)/1.1 Noto Serif TC,serif}.lobby-story>p:not(.folio){color:#58534c;max-width:700px;font:500 1.1rem/2 Noto Serif TC,serif}.invite-box{border-top:1px solid var(--ink);border-bottom:1px solid var(--ink);grid-template-columns:132px 130px 1fr auto;align-items:center;gap:16px;margin-top:70px;padding:18px 0;display:grid}.invite-qr{grid-row:span 2;width:132px;height:132px}.invite-box span{font-size:.72rem;font-weight:700}.invite-box code{white-space:nowrap;text-overflow:ellipsis;color:var(--muted);overflow:hidden}.invite-box button{background:0 0;border:0;font-weight:700;text-decoration:underline}.seat-list{background:#dedbd3;padding:clamp(36px,5vw,78px)}.lobby-scenario-control{background:#e8e4dc;border:1px solid #b7b0a5;margin-bottom:30px;padding:18px}.lobby-scenario-control label{color:var(--red);letter-spacing:.1em;margin-bottom:10px;font-size:.72rem;font-weight:700;display:block}.lobby-scenario-control select{border:0;border-bottom:1px solid var(--ink);width:100%;color:var(--ink);background:0 0;border-radius:0;padding:10px 0;font:600 1rem Noto Serif TC,serif}.lobby-scenario-control>small{color:var(--muted);margin-top:10px;line-height:1.6;display:block}.lobby-scenario-control .form-error{margin-top:10px}.seat-heading{justify-content:space-between;align-items:baseline;margin-bottom:30px;display:flex}.seat-heading h2{margin:0;font:600 2rem/1 Noto Serif TC,serif}.seat-heading span{color:var(--muted)}.seat{border-top:1px solid #bdb7ac;grid-template-columns:38px 1fr auto;align-items:center;gap:14px;min-height:78px;display:grid}.seat:last-of-type{border-bottom:1px solid #bdb7ac}.seat-number{color:#9a9489;font:500 .78rem Noto Serif TC,serif}.seat strong,.seat small{display:block}.seat small{color:var(--muted);margin-top:4px;font-size:.7rem}.seat .ready,.seat .waiting{border:1px solid;padding:6px 9px;font-size:.72rem}.seat.empty{color:#99938a;grid-template-columns:38px 1fr;font-style:italic}.seat-list>button{width:100%;margin-top:16px}.host-note{color:var(--muted);text-align:center;margin-top:22px;font-size:.8rem}.play-grid{grid-template-columns:minmax(240px,330px) 1fr;min-height:calc(100vh - 82px);display:grid}.role-rail{color:#edf0ec;background:#293b46;padding:54px 36px}.role-rail .folio{color:#93a5ad}.role-rail h2{margin:18px 0;font:600 2rem Noto Serif TC,serif}.role-rail>p:not(.folio){color:#c7d0d3;font-size:.9rem;line-height:1.8}.secret-button{color:#edf0ec;background:0 0;border:1px solid #8fa0a8;width:100%;min-height:44px;margin-top:18px;font-size:.78rem;font-weight:700}.player-progress{margin-top:70px;display:grid}.player-progress span{color:#8f9ca2;border-top:1px solid #53636c;padding:13px 0;font-size:.75rem}.player-progress span:before{content:"○";margin-right:10px}.player-progress span.done:before{content:"●";color:#85a98e}.story-stage{width:100%;max-width:1200px;margin:0 auto;padding:clamp(34px,6vw,84px)}.round-heading{justify-content:space-between;align-items:center;display:flex}.round-heading h1{margin:9px 0 0;font:600 2.4rem Noto Serif TC,serif}.countdown{border:1px solid var(--ink);border-radius:50%;flex-direction:column;justify-content:center;align-items:center;width:88px;height:88px;display:flex}.countdown span{font:600 2rem/1 Noto Serif TC,serif}.countdown small{letter-spacing:.1em;margin-top:4px;font-size:.5rem}.resolving-label{color:var(--red);letter-spacing:.1em;font-size:.72rem}.narrative{border-top:1px solid var(--ink);border-bottom:1px solid var(--line);white-space:pre-line;margin:34px 0;padding:30px 0;font:500 clamp(1.2rem,2vw,1.55rem)/2 Noto Serif TC,serif}.choice-heading{justify-content:space-between;align-items:baseline;display:flex}.choice-heading h2{font:600 1.4rem Noto Serif TC,serif}.choice-heading span{color:var(--muted);font-size:.7rem}.choices{gap:9px;display:grid}.choice{border:1px solid var(--line);text-align:left;width:100%;min-height:72px;color:var(--ink);background:#f0ede5;grid-template-columns:48px 1fr;align-items:center;padding:0 18px;transition:border .15s,background .15s,transform .15s;display:grid}.choice:hover:not(:disabled){border-color:var(--ink);transform:translate(3px)}.choice>span{color:var(--red);font:600 1.15rem Noto Serif TC,serif}.choice>strong{font-weight:500}.choice.selected{border:2px solid var(--ink);background:#e3ded3}.commit{width:100%;margin-top:16px}.committed-note{border-left:3px solid var(--green);color:var(--green);background:#e1e7e0;padding:12px 18px}.timeout-note{color:var(--muted);text-align:center;font-size:.7rem}.ai-wait{min-height:180px;color:var(--muted);justify-content:center;align-items:center;gap:18px;font:500 1rem Noto Serif TC,serif;display:flex}.ink-loader{border:2px solid #b8b0a2;border-top-color:var(--red);border-radius:50%;width:24px;height:24px;animation:.85s linear infinite spin}.curtain{z-index:10;background:#12181bf0;place-items:center;padding:22px;display:grid;position:fixed;inset:0}.role-reveal,.privacy-gate{background:var(--paper);border-top:5px solid var(--red);width:min(600px,100%);padding:clamp(36px,7vw,72px);box-shadow:0 24px 80px #0008}.privacy-gate h2{margin:24px 0;font:600 clamp(2rem,5vw,3.6rem)/1.3 Noto Serif TC,serif}.privacy-gate>p:not(.folio){color:var(--muted);line-height:1.8}.privacy-gate .primary{width:100%;margin-top:24px}.text-button{width:100%;color:var(--muted);background:0 0;border:0;padding:16px;text-decoration:underline}.role-index{color:var(--red);letter-spacing:.12em;margin-top:34px;font-size:.7rem}.role-reveal h2{margin:16px 0 30px;font:600 clamp(2.8rem,7vw,5rem)/1 Noto Serif TC,serif}.role-reveal .objective{font:500 1.2rem/1.9 Noto Serif TC,serif}.role-hint{border-top:1px solid var(--line);color:var(--muted);padding-top:18px;font-size:.85rem}.role-quiz{border:0;border-top:1px solid var(--line);margin:22px 0 0;padding:20px 0 0}.role-quiz legend{padding-top:18px;font:600 1rem Noto Serif TC,serif}.role-quiz label{cursor:pointer;gap:10px;padding:9px 0;font-size:.84rem;display:flex}.role-quiz input{accent-color:var(--red)}.quiz-feedback{padding:10px 14px;font-size:.8rem}.quiz-feedback.correct{color:var(--green);background:#e1e7e0}.role-reveal button{width:100%;margin-top:24px}.result-shell{background:var(--paper);min-height:100vh;padding:clamp(44px,8vw,110px)}.result-kicker{color:var(--muted);margin-top:50px}.result-shell>h1{letter-spacing:-.06em;margin:12px 0 40px;font:600 clamp(3rem,8vw,8rem)/1.08 Noto Serif TC,serif}.result-shell>h1 em{color:var(--red);font-weight:500}.ending-copy{white-space:pre-line;max-width:850px;font:500 1.1rem/1.9 Noto Serif TC,serif}.result-card{border-top:1px solid var(--ink);border-bottom:1px solid var(--ink);grid-template-columns:140px 1fr;gap:30px;max-width:850px;margin:50px 0 24px;padding:24px 0;display:grid}.result-card>div span,.result-card>div strong{display:block}.result-card>div span{letter-spacing:.12em;color:var(--muted);font-size:.65rem}.result-card>div strong{font:600 3rem Noto Serif TC,serif}.result-card ul{margin:0;line-height:1.9}.result-card>p{color:var(--muted);grid-column:1/-1;margin:0}.reward-card{border-left:5px solid var(--red);background:#dedbd3;max-width:850px;margin:26px 0;padding:30px}.reward-card h2{font:600 1.8rem Noto Serif TC,serif}.reward-card code{letter-spacing:.12em;margin:20px 0;font-size:clamp(1.6rem,5vw,3rem);display:block}.reward-breakdown{border-top:1px solid var(--border);border-bottom:1px solid var(--border);grid-template-columns:repeat(3,1fr);margin:24px 0;display:grid}.reward-breakdown div{border-right:1px solid var(--border);padding:14px 12px}.reward-breakdown div:last-child{border-right:0}.reward-breakdown dt{color:var(--text-muted);font-size:14px}.reward-breakdown dd{color:var(--gold-light);margin:5px 0 0;font:700 20px Noto Serif TC,serif}.claim-code>span{color:var(--text-secondary);font-size:14px}.claim-code code{overflow-wrap:anywhere}.claim-code>div{flex-wrap:wrap;gap:10px;display:flex}.claim-code small{color:var(--text-muted);margin-top:14px;line-height:1.6;display:block}.reward-terminal{color:var(--text-secondary);border:1px solid var(--border-light);border-radius:var(--radius-sm);padding:10px 14px;display:inline-block}.reward-pending-card{border-left-color:var(--warning)}.reward-failed{border-left-color:var(--danger)}.consolation{color:var(--muted)}.reward-pending{color:#6d4c1d;background:#efe5cf;border-left:5px solid #9a6a22;max-width:850px;padding:22px}.rematch-card{border:1px solid var(--line);background:#eeebe3;max-width:850px;margin-top:34px;padding:clamp(22px,4vw,36px)}.rematch-heading{justify-content:space-between;align-items:start;gap:20px;display:flex}.rematch-heading h2{margin:8px 0 18px;font:600 1.8rem Noto Serif TC,serif}.rematch-heading>strong{color:var(--red);font:600 1.5rem Noto Serif TC,serif}.rematch-votes{border-top:1px solid var(--line);border-left:1px solid var(--line);grid-template-columns:repeat(auto-fit,minmax(130px,1fr));margin:8px 0 22px;display:grid}.rematch-votes>span{border-right:1px solid var(--line);border-bottom:1px solid var(--line);color:var(--muted);padding:13px}.rematch-votes>span.accepted{color:var(--green);background:#dfe6df}.rematch-votes small{margin-top:5px;font-size:.68rem;display:block}.rematch-card>p{color:var(--muted);font-size:.82rem;line-height:1.7}.rematch-card>button,.rematch-card>button+*{width:100%}.result-shell>button{margin:18px 10px 0 0}.game-mode-launcher{background:var(--border);border:1px solid var(--border);border-radius:var(--radius-md);grid-template-columns:repeat(3,1fr);gap:1px;max-width:720px;margin:30px 0;display:grid;overflow:hidden}.game-mode-launcher>*{min-height:78px;color:var(--text-secondary);background:var(--bg-secondary);transition:var(--transition);flex-direction:column;justify-content:center;gap:5px;padding:15px;text-decoration:none;display:flex}.game-mode-launcher>a:hover{color:var(--text-title);background:var(--bg-hover)}.game-mode-launcher>.active{color:var(--text-title);background:var(--primary)}.game-mode-launcher b{font-size:16px}.game-mode-launcher small{opacity:.8;font-size:12px}.mode-library,.quiz-shell,.quiz-result-shell,.quiz-reveal,.undercover-room{min-height:100vh;color:var(--text);background:var(--bg)}.mode-library{padding:0}.mode-hero{max-width:950px;padding:clamp(24px,5vw,64px) 0}.mode-hero>a,.mode-header a,.undercover-room a{color:var(--gold-light);text-decoration:none}.mode-hero h1{color:var(--text-title);letter-spacing:-.04em;margin:22px 0;font:700 clamp(44px,7vw,76px)/1.08 Noto Serif TC,serif}.mode-hero h1 em{color:var(--primary-light);font-weight:600}.mode-hero>p:last-child{max-width:700px;color:var(--text-secondary);font-size:20px;line-height:1.7}.mode-cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;display:grid}.mode-cards a{min-height:300px;color:var(--text);background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-md);transition:var(--transition);flex-direction:column;padding:28px;text-decoration:none;display:flex}.mode-cards a:hover{border-color:var(--gold-dark);background:var(--bg-hover);transform:translateY(-3px)}.mode-cards span{color:var(--gold);letter-spacing:.12em;font-size:12px}.mode-cards h2{color:var(--text-title);margin:28px 0 14px;font:700 28px Noto Serif TC,serif}.mode-cards p{color:var(--text-secondary);line-height:1.75}.mode-cards strong{color:var(--gold-light);margin-top:auto}.mode-header{color:var(--text-muted);border-bottom:1px solid var(--divider);justify-content:space-between;padding:24px clamp(24px,7vw,88px);display:flex}.quiz-progress{background:var(--divider);height:4px}.quiz-progress span{background:var(--gold);height:100%;transition:width .35s;display:block}.quiz-question{width:min(900px,100% - 40px);margin:0 auto;padding:clamp(56px,10vw,120px) 0}.quiz-question h1{max-width:800px;color:var(--text-title);margin:18px 0 48px;font:700 clamp(36px,6vw,56px)/1.28 Noto Serif TC,serif}.quiz-answer-grid{gap:12px;display:grid}.quiz-answer-grid button{min-height:78px;color:var(--text);text-align:left;background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-md);grid-template-columns:42px 1fr;align-items:center;gap:14px;padding:18px 22px;display:grid}.quiz-answer-grid button:hover{border-color:var(--gold);background:var(--bg-hover)}.quiz-answer-grid button span{color:var(--gold);font-weight:700}.quiz-answer-grid button strong{font-size:18px;line-height:1.5}.quiz-reveal{text-align:center;place-content:center;justify-items:center;padding:24px;display:grid}.quiz-reveal h1{margin:28px 0 8px;font:700 40px Noto Serif TC,serif}.quiz-reveal>p:last-child{color:var(--text-muted)}.quiz-result-shell{padding:clamp(42px,8vw,110px)}.quiz-result-shell>h1{max-width:1000px;color:var(--text-title);letter-spacing:-.05em;margin:14px 0 30px;font:700 clamp(54px,9vw,110px)/1.02 Noto Serif TC,serif}.quiz-result-shell>h1 em{color:var(--primary-light);letter-spacing:-.02em;font-size:.48em}.quiz-result-description{max-width:760px;color:var(--text-secondary);font-size:20px;line-height:1.9}.trait-row{flex-wrap:wrap;gap:10px;margin:28px 0 50px;display:flex}.trait-row span{color:var(--gold-light);border:1px solid var(--gold-dark);border-radius:999px;padding:8px 14px}.secondary-result{border-top:1px solid var(--border);border-bottom:1px solid var(--border);max-width:760px;padding:24px 0}.secondary-result span,.quiz-disclaimer{color:var(--text-muted);font-size:14px}.secondary-result h2{margin:8px 0;font:700 28px Noto Serif TC,serif}.secondary-result p{color:var(--text-secondary);margin:0}.quiz-disclaimer{max-width:760px;margin:22px 0;line-height:1.7}.result-actions{flex-wrap:wrap;gap:10px;margin-top:28px;display:flex}.button-link{border-radius:var(--radius-sm);justify-content:center;align-items:center;min-height:48px;padding:12px 20px;text-decoration:none;display:inline-flex}.undercover-entry{min-height:100vh;color:var(--text);background:var(--bg);grid-template-columns:1.1fr minmax(420px,.8fr);display:grid}.undercover-entry>.mode-hero{padding:clamp(48px,8vw,110px)}.undercover-entry>.entry-card{color:var(--text);background:var(--bg-secondary);border-left:1px solid var(--border)}.undercover-room{padding-bottom:80px}.undercover-room>.room-header{border-bottom:1px solid var(--divider)}.undercover-lobby,.undercover-stage,.undercover-result{width:min(1050px,100% - 40px);margin:0 auto;padding:clamp(48px,8vw,96px) 0}.undercover-lobby{grid-template-columns:1.2fr .8fr;gap:36px;display:grid}.undercover-lobby h1,.undercover-stage>h1,.undercover-result>h1{color:var(--text-title);font:700 clamp(42px,7vw,72px)/1.1 Noto Serif TC,serif}.undercover-lobby code{color:var(--gold-light);overflow-wrap:anywhere;margin:14px 0;display:block}.undercover-lobby>button{grid-column:2}.undercover-players{border-top:1px solid var(--border);align-content:start;display:grid}.undercover-players>span{color:var(--text-muted);border-bottom:1px solid var(--border);justify-content:space-between;padding:14px 4px;display:flex}.undercover-players>span.ready{color:var(--success)}.undercover-players small{font-size:12px}.secret-word{background:var(--bg-secondary);border:1px solid var(--gold-dark);border-radius:var(--radius-md);gap:14px;max-width:680px;margin:36px 0;padding:28px;display:grid}.secret-word span{color:var(--text-muted)}.secret-word strong{color:var(--gold-light);letter-spacing:.08em;font:700 clamp(42px,7vw,72px) Noto Serif TC,serif}.undercover-stage form{max-width:760px}.undercover-stage form>label{gap:10px;font-weight:700;display:grid}.undercover-stage form input[type=text],.undercover-stage form>label input{min-height:54px;color:var(--input-text);background:var(--input-bg);border:1px solid var(--input-border);border-radius:var(--radius-sm);padding:12px 14px}.undercover-stage form>button{width:100%;margin-top:16px}.clue-ledger{grid-template-columns:repeat(2,1fr);gap:12px;margin:30px 0;display:grid}.clue-ledger article{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-md);padding:20px}.clue-ledger p{color:var(--text-secondary);font-size:18px;line-height:1.6}.undercover-stage fieldset{border:0;gap:8px;padding:0;display:grid}.undercover-stage fieldset label{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-sm);align-items:center;gap:10px;min-height:50px;padding:12px;display:flex}.undercover-result{text-align:center}.word-reveal{border:1px solid var(--border);grid-template-columns:repeat(2,1fr);max-width:720px;margin:40px auto;display:grid}.word-reveal span{color:var(--text-muted);padding:24px}.word-reveal span+span{border-left:1px solid var(--border)}.word-reveal strong{color:var(--gold-light);margin-top:10px;font:700 32px Noto Serif TC,serif;display:block}.undercover-result .result-actions{justify-content:center}@media (width<=850px){.game-mode-launcher,.mode-cards,.undercover-entry,.undercover-lobby{grid-template-columns:1fr}.undercover-entry>.entry-card{border-left:0;border-top:1px solid var(--border)}.undercover-lobby>button{grid-column:auto}.clue-ledger{grid-template-columns:1fr}}.content-tabs{border-bottom:1px solid var(--admin-line);gap:8px;margin:28px 0 42px;display:flex}.content-tabs button{color:var(--admin-muted);background:0 0;border:0;border-bottom:3px solid #0000;padding:14px 18px}.content-tabs button.active{color:var(--admin-ink);border-bottom-color:var(--primary)}.content-tabs span{background:var(--admin-surface);border-radius:999px;margin-left:7px;padding:2px 7px;font-size:12px}.content-library>p{color:var(--admin-muted);line-height:1.7}.content-rows{border-top:1px solid var(--admin-ink);margin-top:24px}.content-rows article{border-bottom:1px solid var(--admin-line);grid-template-columns:1fr auto;gap:24px;padding:22px 0;display:grid}.content-rows article span{color:var(--admin-muted);font-size:14px}.content-rows article h3{margin:7px 0;font:700 22px Noto Serif TC,serif}.content-rows article p{max-width:750px;color:var(--admin-muted);margin:0;line-height:1.65}.content-rows article>div:last-child{align-items:center;gap:8px;display:flex}.content-rows button,.undercover-topic-table button,.content-editor .section-heading button{color:var(--admin-ink);border:1px solid var(--admin-line);background:0 0;border-radius:6px;padding:8px 11px}.danger-text{color:var(--admin-danger)!important}.undercover-topic-table{border-top:1px solid var(--admin-ink);min-width:800px;margin-top:24px}.undercover-topic-table>div{border-bottom:1px solid var(--admin-line);grid-template-columns:1.25fr .5fr .7fr .7fr .65fr;align-items:center;gap:16px;min-height:62px;display:grid}.undercover-topic-table>div:first-child{min-height:42px;color:var(--admin-muted);font-size:14px}.undercover-topic-table span:first-child{gap:4px;display:grid}.undercover-topic-table small{color:var(--admin-muted)}.undercover-topic-table span:last-child{gap:6px;display:flex}.content-editor>.section-heading{margin-bottom:28px}.content-editor .section-heading>div{gap:12px;display:grid}.content-editor .section-heading h2{margin:0}.content-editor form{gap:38px;display:grid}.editor-basics{background:var(--admin-surface);border:1px solid var(--admin-line);border-radius:12px;grid-template-columns:1fr 1fr;gap:18px;padding:24px;display:grid}.editor-basics .wide{grid-column:1/-1}.editor-basics label,.result-edit-grid label,.question-editor-list label{gap:7px;font-weight:700;display:grid}.editor-basics input,.editor-basics select,.editor-basics textarea,.result-edit-grid input,.result-edit-grid textarea,.question-editor-list input,.question-editor-list select{min-height:46px;color:var(--admin-ink);background:#fffdf7;border:1px solid #918e85;border-radius:6px;padding:10px 12px}.editor-basics textarea,.result-edit-grid textarea{resize:vertical}.editor-section-title{border-bottom:1px solid var(--admin-ink);justify-content:space-between;align-items:end;gap:20px;display:flex}.editor-section-title h3{margin:0 0 10px;font:700 24px Noto Serif TC,serif}.editor-section-title p{color:var(--admin-muted)}.editor-section-title button{margin-bottom:8px}.result-edit-grid{grid-template-columns:repeat(2,1fr);gap:16px;display:grid}.result-edit-grid fieldset,.question-editor-list fieldset{background:var(--admin-surface);border:1px solid var(--admin-line);border-radius:12px;gap:14px;padding:20px;display:grid}.result-edit-grid legend,.question-editor-list legend{color:var(--admin-muted);padding:0 8px;font-weight:700}.question-editor-list{gap:18px;display:grid}.option-edit-grid{grid-template-columns:repeat(2,1fr);gap:12px;display:grid}.option-edit-grid>div{background:#f3efe5;border-radius:8px;grid-template-columns:1fr .7fr;gap:10px;padding:14px;display:grid}.editor-actions{background:var(--admin-canvas);border-top:1px solid var(--admin-line);justify-content:flex-end;gap:10px;padding:16px 0;display:flex;position:sticky;bottom:0}.compact-editor{max-width:900px}@media (width<=900px){.result-edit-grid,.editor-basics,.option-edit-grid{grid-template-columns:1fr}.editor-basics .wide{grid-column:auto}.content-rows article{grid-template-columns:1fr}.content-admin-page{overflow-x:auto}}@keyframes pulse{50%{opacity:.45}}@keyframes spin{to{transform:rotate(360deg)}}@media (width<=850px){.entry-shell,.lobby-grid,.play-grid{grid-template-columns:1fr}.entry-copy{border-right:0;border-bottom:1px solid var(--line);min-height:55vh}.entry-copy h1{font-size:clamp(2.6rem,12vw,4.8rem)}.entry-card{min-height:45vh}.lobby-story{border-right:0;border-bottom:1px solid var(--line)}.invite-box{grid-template-columns:132px 1fr auto}.invite-box span{grid-column:2/-1}.role-rail{padding:28px 22px}.role-rail>p:not(.folio){margin-bottom:0}.player-progress{grid-template-columns:1fr 1fr;gap:0 20px;margin-top:24px}.story-stage{padding:30px 22px}}@media (width<=520px){.room-header{padding:14px 18px}.lobby-story,.seat-list{padding:38px 22px}.invite-box{grid-template-columns:1fr}.invite-qr{grid-row:auto;justify-self:center}.invite-box span{grid-column:auto}.invite-box code{font-size:.7rem}.rule-strip{flex-wrap:wrap}.choice-heading{display:block}.round-heading h1{font-size:1.8rem}.countdown{width:72px;height:72px}.result-card{grid-template-columns:1fr}.result-card>p{grid-column:auto}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.admin-shell{background:#ece9e1;min-height:100vh}.admin-header{color:#f5f2ea;z-index:5;background:#202724;justify-content:space-between;align-items:center;height:76px;padding:0 34px;display:flex;position:sticky;top:0}.admin-header strong{margin-top:5px;font-family:Noto Serif TC,serif;display:block}.admin-header nav{gap:8px;display:flex}.admin-header nav button{color:#e8ece9;background:0 0;border:1px solid #66706b;padding:9px 14px}.admin-login input{border:0;border-bottom:1px solid var(--ink);background:0 0;outline:none;margin-bottom:22px;padding:14px 2px}.admin-login label{font-size:.75rem;font-weight:700}.admin-index{grid-template-columns:minmax(300px,.65fr) 1.35fr;min-height:calc(100vh - 76px);display:grid}.admin-index>aside{background:#cdd3cc;border-right:1px solid #afb6ae;padding:clamp(48px,7vw,100px)}.admin-index>aside h1{letter-spacing:-.05em;margin:24px 0;font:600 clamp(2.4rem,4vw,4.7rem)/1.2 Noto Serif TC,serif}.admin-index>aside>p:not(.folio){color:#58625c;line-height:1.8}.admin-index>aside .primary{margin-top:24px}.admin-index>section{padding:clamp(38px,5vw,78px)}.draft-list{border-top:1px solid var(--line);margin-top:36px;display:grid}.draft-list>button{border:0;border-bottom:1px solid var(--line);text-align:left;background:0 0;grid-template-columns:100px 1fr auto;align-items:center;padding:20px 0;display:grid}.draft-list>button:hover{color:var(--red)}.draft-list span{letter-spacing:.08em;text-transform:uppercase;font-size:.7rem}.draft-list strong{font:600 1.2rem Noto Serif TC,serif}.draft-list small{color:var(--muted)}.draft-workspace{grid-template-columns:290px 1fr;align-items:start;display:grid}.draft-sidebar{background:#d4d2ca;border-right:1px solid #bbb7ad;min-height:calc(100vh - 76px);padding:42px 28px;position:sticky;top:76px}.draft-sidebar ol{margin:0;padding:0;list-style:none}.draft-sidebar li{color:#8d8981;border-top:1px solid #bbb7ad;grid-template-columns:42px 1fr;align-items:center;min-height:56px;display:grid}.draft-sidebar li span{font-size:.65rem}.draft-sidebar li.current{color:var(--ink);border-left:3px solid var(--red);padding-left:10px;font-weight:700}.save-status{color:var(--muted);margin-top:40px;font-size:.72rem;line-height:1.8}.admin-stage{border-bottom:1px solid var(--line);background:var(--paper);padding:60px clamp(40px,6vw,90px)}.stage-title p{color:var(--muted);max-width:750px;line-height:1.7}.intent-form{gap:20px;max-width:900px;display:grid}.intent-form>div{grid-template-columns:1fr 180px;gap:20px;display:grid}.intent-form label{letter-spacing:.04em;gap:8px;font-size:.75rem;font-weight:700;display:grid}.intent-form label small{color:var(--muted);font-weight:400}.intent-form input,.intent-form textarea,.intent-form select{resize:vertical;background:#faf8f2;border:1px solid #aaa59b;border-radius:0;outline:none;width:100%;padding:12px}.intent-form input:focus,.intent-form textarea:focus,.intent-form select:focus{border-color:var(--red);box-shadow:0 0 0 2px #b34b2d22}.validation-block{border-left:4px solid var(--red);background:#f0ded9;margin-bottom:24px;padding:18px 22px}.rule-table{border-top:1px solid var(--line);margin-bottom:24px;display:grid}.rule-table label{border-bottom:1px solid var(--line);cursor:pointer;grid-template-columns:28px 1fr;gap:14px;padding:17px 5px;display:grid}.rule-table input{width:18px;height:18px;accent-color:var(--green)}.rule-table span{grid-template-columns:minmax(130px,.4fr) 1fr minmax(120px,.4fr);align-items:center;gap:12px;display:grid}.rule-table small{color:var(--red);text-transform:uppercase;font-size:.65rem}.rule-table strong{font-size:.86rem;font-weight:500}.rule-table code{color:var(--muted);text-align:right;font-size:.65rem}.quick-result{border:1px solid var(--line);margin-bottom:24px;padding:26px}.quick-result.pass{border-left:5px solid var(--green);background:#e2e9e2}.quick-result.fail{border-left:5px solid var(--red);background:#f0ded9}.quick-result>div{border-top:1px solid #b8beb8;grid-template-columns:repeat(3,1fr);margin-top:24px;display:grid}.quick-result span{color:var(--muted);padding:14px;font-size:.7rem}.published-stamp{border:2px solid var(--green);color:var(--green);gap:8px;max-width:600px;padding:28px;display:grid}.published-stamp span{letter-spacing:.2em;font-size:.65rem}.published-stamp code{color:var(--muted)}.ops-dashboard{padding:clamp(44px,6vw,90px)}.ops-dashboard>header h1{margin:18px 0;font:600 clamp(2.5rem,5vw,5rem)/1.1 Noto Serif TC,serif}.ops-dashboard>header p:last-child{color:var(--muted);max-width:760px;line-height:1.8}.ops-metrics{border:1px solid var(--line);grid-template-columns:repeat(4,1fr);margin:42px 0;display:grid}.ops-metrics article{border-right:1px solid var(--line);background:var(--paper);padding:24px}.ops-metrics article:last-child{border:0}.ops-metrics article.danger{color:var(--red);background:#f0ded9}.ops-metrics span,.ops-metrics strong{display:block}.ops-metrics span{letter-spacing:.1em;color:var(--muted);font-size:.62rem}.ops-metrics strong{margin-top:10px;font:600 2.8rem Noto Serif TC,serif}.ops-section h2{font:600 1.7rem Noto Serif TC,serif}.ops-section>p{color:var(--muted)}.ops-section textarea{border:1px solid var(--line);background:var(--paper);resize:vertical;width:100%;margin:18px 0;padding:14px;display:block}.pending-room{border-top:1px solid var(--line);grid-template-columns:120px 1fr auto;align-items:center;padding:14px 0;display:grid}.pending-room code{color:var(--muted)}.pending-room button{border:1px solid var(--ink);background:0 0;padding:8px 12px}@media (width<=767px){.admin-workspace{display:none}.admin-mobile-block{padding:60px 24px;display:block}.admin-mobile-block h1{font:600 2.5rem/1.25 Noto Serif TC,serif}.admin-mobile-block>p{color:var(--muted);line-height:1.8}.admin-mobile-block>.folio{color:var(--red)}.admin-header{align-items:flex-start;gap:12px;height:auto;min-height:76px;padding:12px 16px}.admin-header .eyebrow{font-size:.48rem}.admin-header nav{gap:4px}.admin-header nav button{white-space:nowrap;min-height:44px;padding:8px;font-size:.72rem}.mobile-admin-metrics{border:1px solid var(--line);grid-template-columns:repeat(2,minmax(0,1fr));margin-top:32px;display:grid}.mobile-admin-metrics article{background:var(--paper);border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-height:108px;padding:16px}.mobile-admin-metrics article:nth-child(2n){border-right:0}.mobile-admin-metrics article:nth-last-child(-n+2){border-bottom:0}.mobile-admin-metrics article.warning{background:#eee5cd}.mobile-admin-metrics article.danger{color:var(--red);background:#f0ded9}.mobile-admin-metrics span,.mobile-admin-metrics strong{display:block}.mobile-admin-metrics span{color:var(--muted);font-size:.72rem;line-height:1.45}.mobile-admin-metrics strong{margin-top:12px;font:600 2rem Noto Serif TC,serif}.mobile-draft-status{border-top:1px solid var(--ink);margin-top:36px}.mobile-draft-status h2{font:600 1.5rem Noto Serif TC,serif}.mobile-draft-status article{border-top:1px solid var(--line);gap:6px;padding:14px 0;display:grid}.mobile-draft-status article span{color:var(--muted);font-size:.78rem}.admin-login{grid-template-columns:1fr}.admin-login>section{border-bottom:1px solid #515a55;border-right:0;min-height:45vh}}.admin-shell{--admin-canvas:#f3efe5;--admin-surface:#fffdf7;--admin-ink:#18201d;--admin-muted:#5d6862;--admin-line:#c8c5ba;--admin-accent:#b34b2d;--admin-success:#166b61;--admin-warning:#7a5a00;--admin-danger:#8b2d2d;min-height:100vh;color:var(--admin-ink);background:var(--admin-canvas);font-size:16px}.admin-shell button,.admin-shell input,.admin-shell textarea,.admin-shell select{font:inherit}.admin-shell button,.admin-shell a{min-height:44px}.admin-shell :focus-visible{outline-offset:3px;outline:3px solid #175b8c}.skip-link{z-index:50;color:#fff;background:#175b8c;padding:12px 16px;position:fixed;top:-80px;left:16px}.skip-link:focus{top:12px}.admin-header{z-index:10;color:#f7f4ec;background:#18201d;border-bottom:1px solid #39423e;grid-template-columns:220px 1fr auto;align-items:center;gap:24px;height:72px;padding:0 28px;display:grid;position:sticky;top:0}.admin-brand{color:inherit;flex-direction:column;justify-content:center;min-height:52px;text-decoration:none;display:flex}.admin-brand span{color:#c5cec9;font-size:14px}.admin-brand strong{margin:1px 0 0;font:700 18px Noto Serif TC,serif}.admin-header nav{gap:4px;height:100%;display:flex}.admin-header nav a{color:#cdd4d0;border-bottom:3px solid #0000;place-items:center;min-width:82px;padding:0 16px;text-decoration:none;display:grid}.admin-session-actions{align-items:center;gap:12px;display:flex}.admin-session-actions button,.page-header button{color:inherit;background:0 0;border:1px solid;border-radius:6px;padding:9px 14px}.environment{color:#cdd4d0;align-items:center;gap:8px;font-size:14px;display:inline-flex}.environment:before{content:"";background:#d6a82d;border-radius:50%;width:8px;height:8px}.admin-workspace{min-height:calc(100vh - 72px);display:block}.admin-announcements{z-index:20;width:min(460px,100vw - 48px);position:fixed;top:88px;right:24px}.error-banner,.success-banner{background:var(--admin-surface);border:1px solid;justify-content:space-between;align-items:center;gap:16px;min-height:56px;padding:12px 16px;display:flex;box-shadow:0 8px 24px #18201d22}.error-banner button,.success-banner button{color:inherit;background:0 0;border:0;flex:none;font-weight:700}.admin-page{width:min(1240px,100% - 64px);margin:0 auto;padding:48px 0 80px}.page-header{border-bottom:1px solid var(--admin-ink);justify-content:space-between;align-items:end;gap:32px;padding-bottom:24px;display:flex}.page-header>div:first-child{max-width:760px}.page-header h1{letter-spacing:-.02em;margin:6px 0 10px;font:700 clamp(32px,4vw,44px)/1.18 Noto Serif TC,serif}.page-header p:last-child{color:var(--admin-muted);margin:0;line-height:1.7}.section-kicker{color:var(--admin-accent);letter-spacing:.08em;margin:0;font-size:14px;font-weight:700}.sync-time{color:var(--admin-muted);text-align:right;margin:12px 0 32px;font-size:14px}.section-heading{justify-content:space-between;align-items:baseline;gap:24px;margin-bottom:16px;display:flex}.section-heading h2{margin:0;font:700 24px Noto Serif TC,serif}.section-heading>span{color:var(--admin-muted);font-size:14px}.section-heading>a{min-height:44px;color:var(--admin-accent);align-items:center;font-weight:700;display:inline-flex}.attention-section{margin:32px 0 40px}.attention-list{border-top:1px solid var(--admin-line)}.attention-list a{color:inherit;border-bottom:1px solid var(--admin-line);grid-template-columns:minmax(210px,.8fr) 1.5fr auto;align-items:center;gap:24px;padding:18px 8px;text-decoration:none;display:grid}.attention-list a:before{content:"需處理";color:var(--admin-warning);border:1px solid;border-radius:999px;grid-area:1/1;justify-self:start;padding:3px 7px;font-size:13px;font-weight:700}.attention-list a.danger:before{content:"已阻擋";color:var(--admin-danger)}.attention-list strong{grid-area:2/1;font-size:17px}.attention-list span{color:var(--admin-muted);grid-area:1/2/span 2}.attention-list b{color:var(--admin-accent);grid-area:1/3/span 2}.attention-list a:hover{background:#fff9ec}.healthy-empty{color:var(--admin-success);background:#e9f2ed;border:1px solid #9dbdb3;border-radius:12px;flex-direction:column;gap:6px;padding:22px 24px;display:flex}.healthy-empty span{color:var(--admin-muted)}.overview-columns{grid-template-columns:1fr 1fr;gap:48px;margin:40px 0;display:grid}.overview-columns>section,.activity-section{border-top:1px solid var(--admin-ink);padding-top:20px}.status-ledger{border-top:1px solid var(--admin-line)}.status-row{border-bottom:1px solid var(--admin-line);justify-content:space-between;align-items:center;gap:16px;min-height:52px;padding:8px 2px;display:flex}.status-row span{color:var(--admin-muted)}.status-row strong{font:700 24px Noto Serif TC,serif}.status-row.danger strong{color:var(--admin-danger)}.compact-list{margin-top:20px}.compact-list article{border-bottom:1px solid var(--admin-line);justify-content:space-between;align-items:center;gap:16px;min-height:64px;display:flex}.compact-list article>div{gap:3px;display:grid}.compact-list article span{color:var(--admin-muted);font-size:14px}.compact-list article a{color:var(--admin-accent);align-items:center;font-weight:700;display:inline-flex}.activity-section ol{border-top:1px solid var(--admin-line);margin:0;padding:0;list-style:none}.activity-section li{border-bottom:1px solid var(--admin-line);grid-template-columns:180px 180px 1fr;align-items:center;gap:20px;min-height:58px;display:grid}.activity-section time,.activity-section li span{color:var(--admin-muted);font-size:14px}.creation-panel{background:var(--admin-surface);border:1px solid var(--admin-line);border-radius:12px;margin:32px 0 48px;padding:28px}.scenario-library{margin-top:32px}.library-toolbar{grid-template-columns:1fr 240px;gap:16px;margin-bottom:24px;display:grid}.library-toolbar label{gap:8px;font-weight:700;display:grid}.library-toolbar input,.library-toolbar select{width:100%;min-height:48px;color:var(--admin-ink);background:var(--admin-surface);border:1px solid #918e85;border-radius:6px;padding:10px 12px}.scenario-table{border-top:1px solid var(--admin-ink);min-width:920px}.scenario-library{overflow-x:auto}.scenario-table-head,.scenario-table>button{text-align:left;grid-template-columns:150px minmax(260px,1fr) 80px 80px 120px 120px;align-items:center;gap:16px;display:grid}.scenario-table-head{min-height:46px;color:var(--admin-muted);border-bottom:1px solid var(--admin-line);font-size:14px;font-weight:700}.scenario-table>button{width:100%;min-height:84px;color:inherit;border:0;border-bottom:1px solid var(--admin-line);background:0 0;padding:12px 0}.scenario-table>button:hover{background:#fff9ec}.scenario-table>button strong{gap:4px;font:700 17px Noto Serif TC,serif;display:grid}.scenario-table>button small{max-width:520px;color:var(--admin-muted);text-overflow:ellipsis;white-space:nowrap;font:400 14px Noto Sans TC,sans-serif;overflow:hidden}.scenario-table>button b{color:var(--admin-accent)}.status-pill{min-height:30px;color:var(--admin-muted);border:1px solid;border-radius:999px;align-items:center;padding:3px 8px;font-size:14px;font-weight:700;display:inline-flex}.draft-workspace{grid-template-columns:260px minmax(0,1fr);align-items:start;min-height:calc(100vh - 72px);display:grid}.draft-sidebar{height:calc(100vh - 72px);min-height:auto;color:var(--admin-ink);border-right:1px solid var(--admin-line);background:#e5e1d7;padding:32px 24px;position:sticky;top:72px;overflow-y:auto}.back-button{color:var(--admin-accent);background:0 0;border:0;margin:-8px 0 28px;padding:0;font-weight:700}.back-button:before{content:"← "}.draft-sidebar h1{margin:8px 0 28px;font:700 25px/1.35 Noto Serif TC,serif}.draft-sidebar ol{border-top:1px solid #bdb9ae;margin:0;padding:0;list-style:none}.draft-sidebar li{color:#6d716d;border:0;border-bottom:1px solid #bdb9ae;min-height:0;display:block}.draft-sidebar li a{min-height:64px;color:inherit;grid-template-columns:36px 1fr;align-items:center;gap:8px;padding:8px 4px;text-decoration:none;display:grid}.draft-sidebar li a>span{border:1px solid;border-radius:50%;place-items:center;width:28px;height:28px;font-size:14px;display:grid}.draft-sidebar li a>div{gap:2px;display:grid}.draft-sidebar li small{color:var(--admin-muted);font-size:14px}.draft-sidebar li.current{color:var(--admin-accent);border-left:0;padding:0}.draft-sidebar li.complete{color:var(--admin-success)}.draft-sidebar li.complete span:after{content:""}.draft-health{color:var(--admin-muted);border-top:1px solid #bdb9ae;gap:7px;margin-top:28px;padding-top:20px;font-size:14px;display:grid}.draft-health strong{color:var(--admin-success)}.draft-main{min-width:0}.workspace-summary{background:var(--admin-surface);border-bottom:1px solid var(--admin-line);justify-content:space-between;align-items:center;gap:24px;padding:28px clamp(32px,6vw,80px);display:flex}.workspace-summary h2{margin:4px 0 0;font:700 28px Noto Serif TC,serif}.admin-stage{background:var(--admin-canvas);border-bottom:1px solid var(--admin-line);padding:48px clamp(32px,6vw,80px);scroll-margin-top:88px}.admin-stage:nth-child(2n){background:var(--admin-canvas)}.stage-title{grid-template-columns:48px 1fr;gap:16px;margin-bottom:28px;display:grid}.stage-title>span{color:var(--admin-accent);font:700 18px Noto Serif TC,serif}.stage-title h2{margin:0 0 8px;font:700 28px Noto Serif TC,serif}.stage-title p{max-width:760px;color:var(--admin-muted);margin:0;line-height:1.7}.intent-form{max-width:900px}.intent-form fieldset{border:0;gap:22px;padding:0;display:grid}.intent-row{grid-template-columns:1fr 180px;gap:20px;display:grid}.intent-form label{gap:8px;font-size:16px;font-weight:700;display:grid}.intent-form label small{color:var(--admin-muted);font-size:14px;font-weight:400;line-height:1.5}.intent-form input,.intent-form textarea,.intent-form select{width:100%;color:var(--admin-ink);background:var(--admin-surface);resize:vertical;border:1px solid #918e85;border-radius:6px;padding:12px}.intent-form input,.intent-form select{min-height:48px}.intent-form .primary{justify-self:start}.validation-block{color:var(--admin-danger);background:#f7e8e3;border:1px solid #d5aaa0;border-radius:12px;margin-bottom:24px;padding:18px 20px}.validation-block p{color:var(--admin-danger);font-size:16px}.validation-block a{color:var(--admin-danger);align-items:center;font-weight:700;display:inline-flex}.rule-table{border:0;gap:16px;min-width:0;margin:0 0 24px;padding:0;display:grid}.rule-table legend{border-bottom:1px solid var(--admin-ink);width:100%;margin-bottom:12px;padding:0 0 14px;font-weight:700}.rule-table>label{background:var(--admin-surface);border:1px solid var(--admin-line);cursor:pointer;border-radius:12px;grid-template-columns:minmax(220px,.8fr) minmax(320px,1.2fr);gap:0;padding:0;display:grid}.rule-source,.rule-candidate{padding:20px}.rule-source{border-right:1px solid var(--admin-line);background:#f0ece2;border-radius:12px 0 0 12px}.rule-source small,.rule-candidate small{color:var(--admin-muted);font-size:14px;font-weight:700}.rule-source strong,.rule-candidate strong{margin:6px 0;line-height:1.55;display:block}.rule-source p{color:var(--admin-muted);margin:6px 0 0;line-height:1.6}.rule-candidate{grid-template-columns:28px 1fr;gap:12px;display:grid}.rule-candidate input{width:20px;height:20px;accent-color:var(--admin-success);margin-top:2px}.rule-candidate details{color:var(--admin-muted);margin-top:10px;font-size:14px}.rule-candidate summary{cursor:pointer}.rule-candidate code{overflow-wrap:anywhere;margin-top:7px;display:block}.quick-result{background:var(--admin-surface);border:1px solid var(--admin-line);border-radius:12px;margin-bottom:24px;padding:24px}.quick-result>strong{font:700 22px Noto Serif TC,serif}.quick-result>p{color:var(--admin-muted)}.quick-result>div{border-top:1px solid var(--admin-line);border-bottom:1px solid var(--admin-line);grid-template-columns:repeat(3,1fr);margin:20px 0;display:grid}.quick-result span{color:var(--admin-muted);padding:14px}.quick-result b{color:var(--admin-ink);margin-top:6px;font-size:20px;display:block}.quick-result time{color:var(--admin-muted);font-size:14px}.publish-confirmation{background:var(--admin-surface);border:1px solid var(--admin-line);border-radius:12px;gap:20px;max-width:720px;padding:24px;display:grid}.publish-confirmation>div{gap:6px;display:grid}.publish-confirmation>div span{color:var(--admin-muted)}.publish-confirmation label{align-items:flex-start;gap:10px;display:flex}.publish-confirmation input{width:20px;height:20px;accent-color:var(--admin-success)}.published-stamp{max-width:720px;color:var(--admin-success);background:#edf5f0;border:1px solid #80a89c;border-radius:12px;gap:8px;padding:24px;display:grid}.published-stamp span{font-size:14px;font-weight:700}.published-stamp strong{font:700 28px Noto Serif TC,serif}.published-stamp p,.published-stamp code,.published-stamp time{color:var(--admin-muted);overflow-wrap:anywhere;margin:0}.reward-summary{border-top:1px solid var(--admin-ink);border-bottom:1px solid var(--admin-ink);grid-template-columns:repeat(4,1fr);margin:32px 0 48px;display:grid}.reward-summary .status-row{border-right:1px solid var(--admin-line);border-bottom:0;gap:8px;min-height:112px;padding:20px;display:grid}.reward-summary .status-row:last-child{border-right:0}.reward-summary .status-row strong{font-size:32px}.reward-columns{grid-template-columns:minmax(0,1fr) minmax(340px,.75fr);align-items:start;gap:48px;display:grid}.ops-section{border-top:1px solid var(--admin-ink);max-width:none;padding:22px 0}.ops-section>p{color:var(--admin-muted);line-height:1.7}.ops-section>label{margin-top:24px;font-weight:700;display:block}.ops-section>input{width:100%;min-height:50px;color:var(--admin-ink);background:var(--admin-surface);border:1px solid #918e85;border-radius:6px;margin:8px 0 16px;padding:10px 14px}.ops-section textarea{width:100%;color:var(--admin-ink);background:var(--admin-surface);resize:vertical;border:1px solid #918e85;border-radius:6px;margin:8px 0 16px;padding:14px}.import-preview{border-top:1px solid var(--admin-line);grid-template-columns:repeat(3,1fr);margin-bottom:16px;display:grid}.import-preview .status-row{border-right:1px solid var(--admin-line);gap:4px;padding:12px;display:grid}.import-preview .status-row:last-child{border-right:0}.field-error{color:var(--admin-danger);line-height:1.6}.pending-room{border-top:1px solid var(--admin-line);grid-template-columns:1fr auto;align-items:center;gap:16px;padding:16px 0;display:grid}.pending-room>div{gap:5px;display:grid}.pending-room span,.pending-room code{color:var(--admin-muted);overflow-wrap:anywhere;font-size:14px}.pending-room button{color:var(--admin-ink);background:0 0;border:1px solid;border-radius:6px;padding:8px 12px}.outbox-status{background:var(--admin-surface);border:1px solid var(--admin-line);border-radius:12px;margin-top:40px;padding:20px}.outbox-status h3{margin-top:0;font:700 20px Noto Serif TC,serif}.outbox-status p{color:var(--admin-muted);line-height:1.6}.redemption-section>button{width:100%}.redemption-preview{background:var(--admin-surface);border:1px solid var(--admin-line);border-radius:12px;gap:10px;margin-top:20px;padding:22px;display:grid}.redemption-preview>span{color:var(--admin-muted);font-size:14px;font-weight:700}.redemption-preview>strong{font:700 28px Noto Serif TC,serif}.redemption-preview>small{color:var(--admin-muted);line-height:1.6}.redemption-preview.issued{border-color:var(--gold-dark)}.redemption-preview.redeemed{border-color:var(--admin-success)}.redemption-preview.expired{border-color:var(--admin-danger)}.redemption-preview>button{margin-top:8px}.empty-stage{color:var(--admin-muted);font-style:normal}.room-table{border-top:1px solid var(--admin-ink);min-width:900px;margin-top:24px}.rooms-page{overflow-x:auto}.room-table-head,.room-table>div{border-bottom:1px solid var(--admin-line);grid-template-columns:100px minmax(220px,1fr) 150px 110px 110px 120px;align-items:center;gap:16px;min-height:64px;display:grid}.room-table-head{min-height:46px;color:var(--admin-muted);font-size:14px;font-weight:700}.room-table>div>strong{letter-spacing:.08em;font:700 18px Noto Serif TC,serif}.room-table time{color:var(--admin-muted);font-size:14px}.audit-toolbar{justify-content:space-between;align-items:end;gap:24px;margin:28px 0 20px;display:flex}.audit-toolbar label{gap:8px;min-width:260px;font-weight:700;display:grid}.audit-toolbar select{min-height:48px;color:var(--admin-ink);background:var(--admin-surface);border:1px solid #918e85;border-radius:6px;padding:10px 12px}.audit-toolbar>span{color:var(--admin-muted);font-size:14px}.audit-ledger{border-top:1px solid var(--admin-ink);margin:0;padding:0;list-style:none}.audit-ledger li{border-bottom:1px solid var(--admin-line);grid-template-columns:190px 1fr 100px;align-items:center;gap:24px;min-height:68px;display:grid}.audit-ledger time,.audit-ledger code,.audit-ledger div span{color:var(--admin-muted);font-size:14px}.audit-ledger div{gap:4px;display:grid}.audit-ledger code{text-align:right}.admin-login{color:#f7f4ec;background:#18201d;grid-template-columns:1fr minmax(420px,.72fr);min-height:100vh;display:grid}.admin-login>section{border-right:1px solid #48514d;flex-direction:column;justify-content:center;padding:clamp(48px,9vw,120px);display:flex}.admin-login h1{margin:16px 0 24px;font:700 clamp(44px,7vw,76px)/1.1 Noto Serif TC,serif}.admin-login>section>p:last-child{color:#bdc5c1;max-width:560px;line-height:1.8}.admin-login form{color:var(--admin-ink);background:#e3dfd5;flex-direction:column;justify-content:center;gap:10px;padding:clamp(40px,7vw,80px);display:flex}.admin-login form h2{margin:0 0 28px;font:700 28px Noto Serif TC,serif}.admin-login form label{font-weight:700}.admin-login form input{border:0;border-bottom:1px solid var(--admin-ink);background:0 0;min-height:50px;margin:0 0 16px;padding:10px 2px}.admin-login form .primary{margin-top:10px}.admin-mobile-block{display:none}@media (width<=1023px){.admin-header{grid-template-columns:180px 1fr auto;gap:12px;padding:0 16px}.admin-header nav a{min-width:68px;padding:0 10px}.environment{display:none}.admin-page{width:min(100% - 40px,960px)}.overview-columns,.reward-columns{grid-template-columns:1fr;gap:32px}.draft-workspace{grid-template-columns:1fr}.draft-sidebar{border-right:0;border-bottom:1px solid var(--admin-line);height:auto;padding:24px 32px;position:static}.draft-sidebar ol{grid-template-columns:repeat(4,1fr);display:grid}.draft-sidebar li{border-right:1px solid #bdb9ae}.draft-sidebar li:last-child{border-right:0}.draft-sidebar li a{grid-template-columns:32px 1fr;padding:8px}.draft-health{grid-template-columns:repeat(3,1fr)}.rule-table>label{grid-template-columns:1fr}.rule-source{border-right:0;border-bottom:1px solid var(--admin-line);border-radius:12px 12px 0 0}}@media (width<=767px){.admin-shell{min-height:100vh}.admin-header{grid-template-columns:1fr auto;align-items:start;height:auto;min-height:128px;padding:12px 16px 0;position:sticky;top:0}.admin-brand{min-height:44px}.admin-header nav{grid-area:2/1/auto/-1;width:100%;height:56px;overflow-x:auto}.admin-header nav a{flex:1;min-width:76px}.admin-session-actions{grid-area:1/2}.admin-session-actions button{padding:7px 10px}.admin-workspace{display:none}.admin-mobile-block{padding:32px 20px 64px;display:block}.admin-mobile-block h1{margin:8px 0 12px;font:700 32px/1.3 Noto Serif TC,serif}.admin-mobile-block>p{color:var(--admin-muted);line-height:1.7}.mobile-admin-metrics{border:1px solid var(--admin-line);grid-template-columns:repeat(2,minmax(0,1fr));margin:28px 0;display:grid}.mobile-admin-metrics article{background:var(--admin-surface);border-right:1px solid var(--admin-line);border-bottom:1px solid var(--admin-line);min-height:104px;padding:14px}.mobile-admin-metrics article:nth-child(2n){border-right:0}.mobile-admin-metrics article:nth-last-child(-n+2){border-bottom:0}.mobile-admin-metrics span{color:var(--admin-muted);font-size:14px;display:block}.mobile-admin-metrics strong{margin-top:8px;font:700 28px Noto Serif TC,serif;display:block}.mobile-pending{border-top:1px solid var(--admin-ink);margin-top:32px;padding-top:20px}.mobile-pending h2{font:700 24px Noto Serif TC,serif}.mobile-pending article{border-top:1px solid var(--admin-line);justify-content:space-between;align-items:center;gap:12px;padding:14px 0;display:flex}.mobile-pending article>div{gap:4px;display:grid}.mobile-pending article span{color:var(--admin-muted);font-size:14px}.mobile-pending button{color:var(--admin-ink);background:0 0;border:1px solid;border-radius:6px;padding:8px 10px}.admin-login{grid-template-columns:1fr}.admin-login>section{border-bottom:1px solid #48514d;border-right:0;min-height:38vh;padding:40px 24px}.admin-login form{min-height:62vh;padding:40px 24px}}html{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}body{color:var(--text);background:var(--bg);font-size:var(--font-body);line-height:1.65}h1,h2,h3{color:var(--text-title)}h1{font-size:var(--font-h1);font-weight:700}h2{font-size:var(--font-h2);font-weight:700}h3{font-size:var(--font-h3);font-weight:700}p,li,label,button,input,textarea,select{font-size:var(--font-body)}small,.small{font-size:var(--font-small)}.caption,time,figcaption{font-size:var(--font-caption)}::selection{color:var(--text-title);background:var(--primary)}::placeholder{color:var(--input-placeholder);opacity:1}button,a,input,textarea,select{transition:color var(--transition), background-color var(--transition), border-color var(--transition), box-shadow var(--transition), transform var(--transition)}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid color-mix(in srgb, var(--gold) 45%, transparent);outline-offset:3px}button:disabled,input:disabled,textarea:disabled,select:disabled{color:var(--text-disable);opacity:.65}.primary{color:var(--btn-primary-text);background:var(--btn-primary-bg);border-color:var(--btn-primary-bg);border-radius:var(--radius-sm);box-shadow:var(--shadow-sm)}.primary:not(:disabled):hover{background:var(--btn-primary-hover);border-color:var(--btn-primary-hover);box-shadow:var(--shadow-md)}.primary:not(:disabled):active{background:var(--primary-active);border-color:var(--primary-active);transform:translateY(0)}.secondary{color:var(--btn-secondary-text);background:var(--btn-secondary-bg);border-color:var(--btn-secondary-bg);border-radius:var(--radius-sm)}.secondary:not(:disabled):hover{color:var(--btn-secondary-text);background:var(--btn-secondary-hover);border-color:var(--btn-secondary-hover)}.secondary.active{color:var(--text-title);background:var(--primary-active);border-color:var(--primary-light)}input,textarea,select{color:var(--input-text);background:var(--input-bg);border-color:var(--input-border)}input:focus,textarea:focus,select:focus{border-color:var(--input-focus);box-shadow:0 0 0 3px color-mix(in srgb, var(--input-focus) 20%, transparent)}.restore-screen,.entry-shell,.game-shell,.result-shell{color:var(--text);background:var(--bg)}.entry-copy,.lobby-story,.story-stage{background:var(--bg)}.entry-copy:after{color:var(--divider)}.entry-card,.seat-list,.role-rail,.reward-card,.rematch-card{color:var(--text);background:var(--bg-secondary)}.entry-card,.seat-list,.role-rail{border-color:var(--border)}.entry-mode{border-color:var(--border-light);border-radius:var(--radius-sm);overflow:hidden}.entry-mode button{color:var(--text-secondary)}.entry-mode button+button{border-color:var(--border-light)}.entry-mode button:hover{color:var(--text-title);background:var(--bg-hover)}.entry-mode button.active{color:var(--text-title);background:var(--primary)}.entry-card input,.entry-card select,.lobby-scenario-control select,.admin-login form input{color:var(--input-text);background:var(--input-bg);border:1px solid var(--input-border);border-radius:var(--radius-sm);padding:14px}.entry-card input:focus,.entry-card select:focus,.lobby-scenario-control select:focus,.admin-login form input:focus{border-color:var(--input-focus);box-shadow:0 0 0 3px color-mix(in srgb, var(--input-focus) 20%, transparent)}.lead,.lobby-story>p:not(.folio),.scenario-preview p,.role-rail>p:not(.folio),.ending-copy{color:var(--text-secondary)}.eyebrow,.resolving-label,.role-index,.lobby-scenario-control label{color:var(--gold)}.folio,.microcopy,.connection,.host-note,.timeout-note,.result-kicker,.consolation{color:var(--text-muted)}.rule-strip span,.scenario-preview,.room-header,.invite-box,.seat,.seat:last-of-type,.player-progress span,.narrative,.result-card,.rematch-votes,.role-hint,.role-quiz{border-color:var(--border)}.lobby-story{border-color:var(--border);background:var(--bg)}.invite-qr{background:var(--btn-secondary-bg);border-radius:var(--radius-sm);padding:6px}.invite-box button,.text-button{color:var(--gold-light)}.lobby-scenario-control{background:var(--bg-hover);border-color:var(--border-light);border-radius:var(--radius-md)}.seat-number,.seat.empty{color:var(--text-disable)}.seat .ready{color:var(--success)}.seat .waiting{color:var(--warning)}.role-rail{background:var(--bg-modal);border-right:1px solid var(--border)}.role-rail .folio,.player-progress span{color:var(--text-muted)}.role-rail>p:not(.folio){color:var(--text-secondary)}.secret-button{color:var(--gold-light);border-color:var(--gold-dark);border-radius:var(--radius-sm);background:0 0}.secret-button:hover{color:var(--text-title);background:var(--bg-hover);border-color:var(--gold)}.player-progress span.done,.player-progress span.done:before{color:var(--success)}.countdown{color:var(--gold-light);border-color:var(--gold-dark);background:var(--bg-secondary)}.countdown.urgent{color:var(--danger);border-color:var(--danger);background:color-mix(in srgb, var(--danger) 12%, var(--bg-secondary))}.choice{color:var(--text);background:var(--bg-secondary);border-color:var(--border);border-radius:var(--radius-sm)}.choice:hover:not(:disabled){color:var(--text-title);background:var(--bg-hover);border-color:var(--gold-dark)}.choice>span{color:var(--gold)}.choice.selected{color:var(--text-title);background:color-mix(in srgb, var(--primary) 24%, var(--bg-secondary));border-color:var(--primary-light)}.committed-note,.quiz-feedback.correct,.rematch-votes>span.accepted{color:var(--success);background:color-mix(in srgb, var(--success) 11%, var(--bg-secondary))}.ai-wait{color:var(--text-muted)}.ink-loader{border-color:var(--border-light);border-top-color:var(--gold)}.curtain{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0e0d0cf0}.role-reveal,.privacy-gate{color:var(--text);background:var(--bg-modal);border-color:var(--primary);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg)}.privacy-gate>p:not(.folio),.role-hint{color:var(--text-secondary)}.quiz-feedback.incorrect{color:var(--warning);background:color-mix(in srgb, var(--warning) 12%, var(--bg-secondary))}.result-shell>h1 em,.rematch-heading>strong{color:var(--gold)}.reward-card{border-color:var(--primary);border-radius:0 var(--radius-md) var(--radius-md) 0;box-shadow:var(--shadow-md)}.reward-card code{color:var(--gold-light)}.reward-pending{color:var(--warning);background:color-mix(in srgb, var(--warning) 12%, var(--bg-secondary));border-color:var(--warning);border-radius:0 var(--radius-md) var(--radius-md) 0}.rematch-card{background:var(--bg-secondary);border-color:var(--border);border-radius:var(--radius-md)}.rematch-votes>span{color:var(--text-muted);border-color:var(--border)}.entry-copy h1,.lobby-story h1,.round-heading h1,.result-shell>h1,.page-header h1,.admin-login h1{color:var(--text-title);font-size:var(--font-h1);font-weight:700;line-height:1.15}.entry-card h2,.seat-heading h2,.role-rail h2,.choice-heading h2,.privacy-gate h2,.role-reveal h2,.reward-card h2,.rematch-heading h2,.section-heading h2,.workspace-summary h2,.stage-title h2,.admin-login form h2,.mobile-pending h2{color:var(--text-title);font-size:var(--font-h2);font-weight:700;line-height:1.25}.outbox-status h3{color:var(--text-title);font-size:var(--font-h3);font-weight:700}.lead,.narrative,.ending-copy{font-size:var(--font-large)}.eyebrow,.folio,.room-code,.connection,.microcopy,.form-error,.rule-strip span,.invite-box span,.seat small,.seat .ready,.seat .waiting,.player-progress span,.resolving-label,.choice-heading span,.timeout-note,.role-index,.role-hint,.role-quiz label,.quiz-feedback,.result-card>div span,.rematch-votes small,.rematch-card>p{font-size:var(--font-small)}.countdown small{font-size:var(--font-caption)}.admin-shell{--admin-canvas:var(--bg);--admin-surface:var(--bg-secondary);--admin-ink:var(--text);--admin-muted:var(--text-muted);--admin-line:var(--border);--admin-accent:var(--gold);--admin-success:var(--success);--admin-warning:var(--warning);--admin-danger:var(--danger);color:var(--text);background:var(--bg)}.admin-shell :focus-visible{outline-color:var(--gold)}.skip-link{color:var(--bg);background:var(--gold-light);border-radius:var(--radius-sm)}.admin-header{color:var(--text-title);background:var(--bg-modal);border-color:var(--border);box-shadow:var(--shadow-sm)}.admin-brand span,.admin-header nav a,.environment{color:var(--text-secondary)}.admin-header nav a:hover{color:var(--text-title);background:var(--bg-hover)}.admin-header nav a[aria-current=page]{color:var(--text-title);border-color:var(--gold)}.admin-session-actions button,.page-header button,.pending-room button,.mobile-pending button{color:var(--text);border-color:var(--border-light);border-radius:var(--radius-sm);background:0 0}.admin-session-actions button:hover,.page-header button:hover,.pending-room button:hover,.mobile-pending button:hover{color:var(--text-title);background:var(--bg-hover);border-color:var(--gold-dark)}.environment:before{background:var(--warning)}.environment.healthy:before{background:var(--success)}.admin-page{color:var(--text)}.page-header,.overview-columns>section,.activity-section,.ops-section,.reward-summary,.room-table,.audit-ledger{border-color:var(--border-light)}.page-header p:last-child,.sync-time,.section-heading>span,.attention-list span,.healthy-empty span,.status-row span,.compact-list article span,.activity-section time,.activity-section li span{color:var(--text-muted)}.section-kicker,.section-heading>a,.attention-list b,.compact-list article a{color:var(--gold)}.attention-list,.attention-list a,.status-ledger,.status-row,.compact-list article,.activity-section ol,.activity-section li{border-color:var(--border)}.attention-list a:hover,.scenario-table>button:hover{background:var(--bg-hover)}.healthy-empty{color:var(--success);background:color-mix(in srgb, var(--success) 10%, var(--bg-secondary));border-color:color-mix(in srgb, var(--success) 45%, var(--border));border-radius:var(--radius-md)}.creation-panel,.quick-result,.publish-confirmation,.outbox-status,.mobile-admin-metrics article{background:var(--bg-secondary);border-color:var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}.library-toolbar input,.library-toolbar select,.intent-form input,.intent-form textarea,.intent-form select,.ops-section textarea,.audit-toolbar select{color:var(--input-text);background:var(--input-bg);border-color:var(--input-border);border-radius:var(--radius-sm)}.scenario-table,.scenario-table-head,.scenario-table>button,.room-table-head,.room-table>div,.audit-ledger li,.reward-summary .status-row,.import-preview,.import-preview .status-row,.pending-room{border-color:var(--border)}.scenario-table>button{color:var(--text)}.scenario-table-head,.scenario-table>button small,.room-table-head,.room-table time,.audit-toolbar>span,.audit-ledger time,.audit-ledger code,.audit-ledger div span,.status-pill{color:var(--text-muted)}.status-pill.approval{color:var(--warning)}.status-pill.quick_run{color:var(--info)}.status-pill.published{color:var(--success)}.status-pill.blocked{color:var(--danger)}.draft-sidebar{color:var(--text);background:var(--bg-modal);border-color:var(--border)}.draft-sidebar ol,.draft-sidebar li,.draft-sidebar li a,.draft-health{border-color:var(--border)}.draft-sidebar li,.draft-sidebar li small,.draft-health{color:var(--text-muted)}.draft-sidebar li.current,.back-button{color:var(--gold)}.draft-sidebar li.complete,.draft-health strong{color:var(--success)}.workspace-summary{background:var(--bg-secondary);border-color:var(--border)}.admin-stage,.admin-stage:nth-child(2n){color:var(--text);background:var(--bg);border-color:var(--border)}.admin-stage:nth-of-type(odd){background:var(--bg-secondary)}.stage-title>span{color:var(--gold)}.stage-title p,.intent-form label small{color:var(--text-muted)}.validation-block{color:var(--danger);background:color-mix(in srgb, var(--danger) 10%, var(--bg-secondary));border-color:color-mix(in srgb, var(--danger) 45%, var(--border))}.validation-block p,.validation-block a{color:var(--danger)}.rule-table legend,.rule-table>label,.rule-source{border-color:var(--border)}.rule-table>label{background:var(--bg-secondary);border-radius:var(--radius-md)}.rule-table>label.approved{border-color:color-mix(in srgb, var(--success) 55%, var(--border))}.rule-source{background:var(--bg-hover)}.rule-source small,.rule-candidate small,.rule-source p,.rule-candidate details{color:var(--text-muted)}.rule-candidate input,.publish-confirmation input{accent-color:var(--success)}.quick-result.pass{color:var(--success);border-color:color-mix(in srgb, var(--success) 55%, var(--border))}.quick-result.fail{color:var(--danger);border-color:color-mix(in srgb, var(--danger) 55%, var(--border))}.quick-result>p,.quick-result span,.quick-result time,.publish-confirmation>div span{color:var(--text-muted)}.quick-result>div{border-color:var(--border)}.quick-result b{color:var(--text-title)}.published-stamp{color:var(--success);background:color-mix(in srgb, var(--success) 10%, var(--bg-secondary));border-color:color-mix(in srgb, var(--success) 55%, var(--border))}.published-stamp p,.published-stamp code,.published-stamp time,.ops-section>p,.outbox-status p,.empty-stage,.pending-room span,.pending-room code{color:var(--text-muted)}.field-error{color:var(--danger)}.admin-login{color:var(--text);background:var(--bg)}.admin-login>section{border-color:var(--border);background:radial-gradient(circle at 20% 15%, color-mix(in srgb, var(--primary) 22%, transparent), transparent 38%), var(--bg)}.admin-login>section>p:last-child{color:var(--text-secondary)}.admin-login form{color:var(--text);background:var(--bg-secondary)}.error-banner,.success-banner{background:var(--bg-secondary);box-shadow:var(--shadow-md)}.error-banner{color:var(--danger);border-color:var(--danger)}.success-banner{color:var(--success);border-color:var(--success)}@media (width<=850px){.entry-copy h1,.lobby-story h1,.round-heading h1,.result-shell>h1,.page-header h1,.admin-login h1{font-size:44px}.entry-card h2,.seat-heading h2,.role-rail h2,.choice-heading h2,.privacy-gate h2,.role-reveal h2,.reward-card h2,.rematch-heading h2,.section-heading h2,.workspace-summary h2,.stage-title h2,.admin-login form h2,.mobile-pending h2{font-size:32px}}@media (width<=520px){.entry-copy h1,.lobby-story h1,.round-heading h1,.result-shell>h1,.page-header h1,.admin-login h1,.admin-mobile-block h1{font-size:36px}.entry-card h2,.seat-heading h2,.role-rail h2,.choice-heading h2,.privacy-gate h2,.role-reveal h2,.reward-card h2,.rematch-heading h2,.section-heading h2,.workspace-summary h2,.stage-title h2,.admin-login form h2,.mobile-pending h2{font-size:28px}.lead,.narrative,.ending-copy{font-size:18px}}:root{--easygame-logo-horizontal:none;--easygame-logo-stacked:none}.entry-copy:before,.mode-hero:before,.room-header>div:first-child:before,.admin-brand span{background-image:var(--easygame-logo-horizontal);background-position:50%;background-repeat:no-repeat;background-size:contain}.entry-copy:before{content:"";aspect-ratio:340/120;z-index:1;filter:drop-shadow(0 14px 24px #0003);flex:none;width:min(430px,72vw);margin-bottom:20px;position:relative}.mode-hero:before{content:"";aspect-ratio:340/120;width:min(260px,68vw);margin:0 0 24px;display:block}.undercover-entry>.mode-hero:before{width:min(300px,68vw)}.room-header>div:first-child{grid-template-columns:auto 1fr;align-items:center;column-gap:14px;display:grid}.room-header>div:first-child:before{content:"";grid-row:1/span 2;width:96px;height:42px}.room-header>div:first-child>*{grid-column:2}.admin-brand span{color:#0000;width:122px;height:38px;font-size:0;display:block}.admin-brand strong{margin-top:-2px}.restore-screen:before,.admin-login>section:before,.quiz-reveal:before{content:"";background-image:var(--easygame-logo-stacked);background-position:50%;background-repeat:no-repeat;background-size:contain;display:block}.restore-screen:before{aspect-ratio:260/190;width:170px}.admin-login>section:before{aspect-ratio:260/190;width:min(290px,66vw);margin-bottom:20px}.quiz-reveal:before{aspect-ratio:260/190;width:180px;margin-bottom:18px}@media (width<=850px){.entry-copy:before{width:min(360px,78vw)}.mode-hero:before{width:min(230px,64vw)}}@media (width<=520px){.room-header>div:first-child:before{width:70px;height:34px}.entry-copy:before{margin-bottom:12px}.admin-brand span{width:96px;height:31px}}
