.channel-settings-intro[data-v-39a31bc9]{align-items:center}.channel-summary[data-v-39a31bc9]{align-items:end;display:flex;flex-direction:column;gap:5px;text-align:right}.channel-summary span[data-v-39a31bc9]{color:var(--color-text-muted);font-family:monospace;font-size:.7rem}.channel-summary strong[data-v-39a31bc9]{color:var(--color-text);font-size:.78rem;font-weight:600}.channel-workbench[data-v-39a31bc9]{border-bottom:1px solid var(--color-border);display:grid;grid-template-columns:minmax(250px,.72fr) minmax(0,1.48fr);min-height:640px}.channel-rail[data-v-39a31bc9]{border-right:1px solid var(--color-border);min-width:0;padding:0 18px 28px 0}.channel-rail-header[data-v-39a31bc9]{align-items:center;display:flex;justify-content:space-between;min-height:66px}.channel-add-button[data-v-39a31bc9]{align-items:center;background:transparent;border:0;color:var(--color-text);display:inline-flex;font-size:.72rem;gap:7px;padding:9px 4px}.channel-add-button>span[data-v-39a31bc9]:first-child{color:var(--color-focus);font-family:Georgia,serif;font-size:1.25rem;line-height:.8}.channel-add-button[data-v-39a31bc9]:hover{color:var(--color-focus)}.channel-list[data-v-39a31bc9]{border-top:1px solid var(--color-border-strong)}.channel-row[data-v-39a31bc9]{border-bottom:1px solid var(--color-border);padding:0 10px 12px;transition:background var(--transition-fast)}.channel-row--selected[data-v-39a31bc9]{background:var(--color-surface);box-shadow:inset 2px 0 0 var(--color-focus)}.channel-select[data-v-39a31bc9]{align-items:center;background:transparent;border:0;color:var(--color-text);display:grid;gap:10px;grid-template-columns:34px minmax(0,1fr) auto;min-height:72px;padding:10px 0;text-align:left;width:100%}.channel-select[data-v-39a31bc9]:focus-visible{outline:2px solid var(--color-focus);outline-offset:3px}.channel-priority[data-v-39a31bc9]{align-items:center;border:1px solid var(--color-border-strong);color:var(--color-focus);display:flex;font-family:monospace;font-size:.68rem;height:30px;justify-content:center;width:30px}.channel-copy[data-v-39a31bc9]{display:grid;gap:4px;min-width:0}.channel-copy strong[data-v-39a31bc9]{font-family:Georgia,serif;font-size:1rem;font-weight:400;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.channel-copy small[data-v-39a31bc9]{color:var(--color-text-muted);font-family:monospace;font-size:.62rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.channel-enabled[data-v-39a31bc9]{border:1px solid var(--color-border);color:var(--color-text-muted);font-size:.56rem;padding:4px 6px;text-transform:uppercase}.channel-enabled--on[data-v-39a31bc9]{border-color:#93b8a7;color:#27705f}.channel-row-actions[data-v-39a31bc9]{align-items:center;display:flex;gap:8px;justify-content:space-between}.channel-probe-badge[data-v-39a31bc9]{align-items:center;color:var(--color-text-muted);display:inline-flex;font-size:.61rem;gap:5px;min-height:28px}.channel-probe-badge>span[data-v-39a31bc9]{align-items:center;border:1px solid currentColor;display:inline-flex;font-family:monospace;height:17px;justify-content:center;line-height:1;width:17px}.channel-probe-badge--connected[data-v-39a31bc9]{color:#27705f}.channel-probe-badge--failed[data-v-39a31bc9],.channel-probe-badge--error[data-v-39a31bc9]{color:var(--color-danger)}.channel-probe-badge--testing[data-v-39a31bc9]{color:var(--color-focus)}.channel-probe-badge--unsaved[data-v-39a31bc9]{color:#8a641e}.channel-test-button[data-v-39a31bc9]{background:transparent;border:1px solid var(--color-border-strong);color:var(--color-text);font-size:.62rem;min-height:30px;padding:5px 10px}.channel-test-button[data-v-39a31bc9]:hover:not(:disabled){background:var(--color-text);border-color:var(--color-text);color:var(--color-surface)}.channel-test-button[data-v-39a31bc9]:disabled{color:var(--color-text-muted);cursor:not-allowed;opacity:.55}.channel-empty[data-v-39a31bc9]{align-content:center;color:var(--color-text-muted);display:grid;justify-items:start;min-height:280px;padding:28px 12px}.channel-empty>span[data-v-39a31bc9]{color:var(--color-border-strong);font-family:Georgia,serif;font-size:3rem}.channel-empty strong[data-v-39a31bc9]{color:var(--color-text);font-family:Georgia,serif;font-size:1.3rem;font-weight:400}.channel-empty p[data-v-39a31bc9]{font-size:.72rem;line-height:1.6;margin:8px 0 0}.channel-editor[data-v-39a31bc9]{min-width:0;padding:0 0 34px 32px}.channel-editor-header[data-v-39a31bc9]{align-items:end;border-bottom:1px solid var(--color-border);display:flex;gap:20px;justify-content:space-between;min-height:110px;padding:20px 0}.channel-editor-header h2[data-v-39a31bc9]{font-family:Georgia,serif;font-size:2rem;font-weight:400;line-height:1.05;margin:5px 0;overflow-wrap:anywhere}.channel-editor-header code[data-v-39a31bc9]{color:var(--color-text-muted);font-size:.62rem;overflow-wrap:anywhere}.channel-editor-status[data-v-39a31bc9]{align-items:center;border-bottom:1px solid var(--color-border);display:grid;gap:15px;grid-template-columns:38px minmax(0,1fr);min-height:92px;padding:16px 0}.channel-editor-status-icon[data-v-39a31bc9]{align-items:center;border:1px solid currentColor;color:var(--color-text-muted);display:flex;font-family:monospace;font-size:1.15rem;height:34px;justify-content:center;width:34px}.channel-editor-status>div[data-v-39a31bc9]{display:grid;gap:3px}.channel-editor-status strong[data-v-39a31bc9]{font-family:Georgia,serif;font-size:1.15rem;font-weight:400}.channel-editor-status p[data-v-39a31bc9]{color:var(--color-text-muted);font-size:.68rem;margin:0}.channel-editor-status--connected .channel-editor-status-icon[data-v-39a31bc9],.channel-editor-status--connected strong[data-v-39a31bc9]{color:#27705f}.channel-editor-status--failed .channel-editor-status-icon[data-v-39a31bc9],.channel-editor-status--failed strong[data-v-39a31bc9],.channel-editor-status--error .channel-editor-status-icon[data-v-39a31bc9],.channel-editor-status--error strong[data-v-39a31bc9]{color:var(--color-danger)}.channel-editor-status--testing .channel-editor-status-icon[data-v-39a31bc9],.channel-editor-status--testing strong[data-v-39a31bc9]{color:var(--color-focus)}.channel-editor-status--unsaved .channel-editor-status-icon[data-v-39a31bc9],.channel-editor-status--unsaved strong[data-v-39a31bc9]{color:#8a641e}.channel-fields[data-v-39a31bc9]{display:grid;gap:14px;grid-template-columns:minmax(0,.7fr) minmax(190px,.3fr);padding:24px 0}.channel-field[data-v-39a31bc9]{display:grid;gap:8px;min-width:0}.channel-field--wide[data-v-39a31bc9]{grid-column:1 / -1}.channel-field small[data-v-39a31bc9],.channel-enabled-control small[data-v-39a31bc9]{color:var(--color-text-muted);font-size:.65rem;line-height:1.45}.channel-enabled-control[data-v-39a31bc9]{align-items:center;border:1px solid var(--color-border);display:flex;gap:16px;justify-content:space-between;min-height:85px;padding:13px 16px}.channel-enabled-control>span[data-v-39a31bc9]:first-child{display:grid;gap:4px}.channel-enabled-control strong[data-v-39a31bc9]{font-size:.72rem;font-weight:600}.channel-enabled-control .switch-control[data-v-39a31bc9]{flex:0 0 auto;margin:0}.channel-key-editor[data-v-39a31bc9]{border-top:1px solid var(--color-border-strong);display:grid;gap:16px;grid-template-columns:minmax(180px,.72fr) minmax(260px,1.28fr);padding-top:22px}.channel-key-status[data-v-39a31bc9]{background:var(--color-text);color:var(--color-surface);display:grid;gap:8px;min-height:85px;padding:16px}.channel-key-status .signal-label[data-v-39a31bc9]{color:#fbfcfb94}.channel-key-status strong[data-v-39a31bc9]{color:var(--color-focus);font-family:monospace;font-size:.9rem;overflow-wrap:anywhere}.channel-key-actions[data-v-39a31bc9]{display:grid;gap:8px}.channel-key-input[data-v-39a31bc9],.channel-key-editor .ai-key-warning[data-v-39a31bc9]{grid-column:1 / -1}.channel-key-input[data-v-39a31bc9]{display:grid;gap:8px}.channel-editor-empty[data-v-39a31bc9]{align-content:center;display:grid;justify-items:start;min-height:520px;padding-left:48px}.channel-editor-empty>span[data-v-39a31bc9]{color:var(--color-border-strong);font-family:Georgia,serif;font-size:4rem;line-height:1}.channel-editor-empty h2[data-v-39a31bc9]{font-family:Georgia,serif;font-size:2rem;font-weight:400;margin:6px 0}.channel-editor-empty p[data-v-39a31bc9]{color:var(--color-text-muted);font-size:.75rem;line-height:1.6;margin:0 0 18px;max-width:360px}.channel-savebar>span[data-v-39a31bc9]{max-width:66%}@media(max-width:840px){.channel-workbench[data-v-39a31bc9]{grid-template-columns:220px minmax(0,1fr)}.channel-editor[data-v-39a31bc9]{padding-left:22px}.channel-fields[data-v-39a31bc9],.channel-key-editor[data-v-39a31bc9]{grid-template-columns:1fr}.channel-field--wide[data-v-39a31bc9],.channel-key-input[data-v-39a31bc9],.channel-key-editor .ai-key-warning[data-v-39a31bc9]{grid-column:auto}}@media(max-width:560px){.channel-settings-intro[data-v-39a31bc9]{align-items:start}.channel-summary[data-v-39a31bc9]{align-items:start;text-align:left}.channel-workbench[data-v-39a31bc9]{display:block;min-height:0}.channel-rail[data-v-39a31bc9]{border-bottom:1px solid var(--color-border);border-right:0;padding-right:0}.channel-list[data-v-39a31bc9]{display:flex;gap:8px;overflow-x:auto;padding-bottom:12px}.channel-row[data-v-39a31bc9]{border:1px solid var(--color-border);flex:0 0 250px}.channel-empty[data-v-39a31bc9]{min-height:180px}.channel-editor[data-v-39a31bc9]{padding-left:0}.channel-editor-header[data-v-39a31bc9]{align-items:start;flex-direction:column}.channel-editor-header .outline-button[data-v-39a31bc9]{width:100%}.channel-editor-empty[data-v-39a31bc9]{min-height:340px;padding-left:0}.channel-savebar>span[data-v-39a31bc9]{max-width:none}}:root{--ink: #112b2a;--ink-soft: #45605b;--paper: #f1f4f2;--paper-deep: #dce4df;--white: #fbfcfb;--line: rgba(17, 43, 42, .16);--line-strong: rgba(17, 43, 42, .3);--accent: #e3ad45;--accent-deep: #b87922;--danger: #a34337;--shadow: 0 22px 50px rgba(17, 43, 42, .12);--radius: 3px;--color-surface: var(--white);--color-surface-muted: var(--paper);--color-surface-subtle: var(--paper-deep);--color-text: var(--ink);--color-text-muted: var(--ink-soft);--color-border: var(--line);--color-border-strong: var(--line-strong);--color-focus: var(--accent-deep);--color-success: #27705f;--color-danger: var(--danger);--color-control-disabled: #e7ece9;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--control-height: 44px;--control-height-sm: 40px;--radius-control: var(--radius);--transition-fast: .16s ease}*{box-sizing:border-box}html,body,#app{min-height:100%;margin:0}body{background:var(--paper);color:var(--ink);font-family:Bahnschrift,Segoe UI Variable,Segoe UI,sans-serif;font-size:15px;line-height:1.5}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.6}a{color:inherit;text-decoration:none}code{font-family:SFMono-Regular,Consolas,monospace;font-size:.78rem}:where(a,button,input,select,textarea):focus-visible{outline:2px solid var(--color-focus);outline-offset:3px}.app-frame{min-height:100vh}.topbar{align-items:center;border-bottom:1px solid var(--line);display:flex;gap:48px;justify-content:space-between;min-height:76px;padding:0 5vw}.brand{align-items:center;display:flex;gap:11px;letter-spacing:0}.brand-mark{align-items:center;background:var(--ink);color:var(--accent);display:inline-flex;font-family:Georgia,serif;font-size:1.3rem;height:34px;justify-content:center;width:34px}.brand strong,.brand small{display:block}.brand strong{font-family:Georgia,serif;font-size:1.05rem;font-weight:600}.brand small{color:var(--ink-soft);font-size:.56rem;letter-spacing:0;margin-top:1px}.main-nav{display:flex;gap:28px;margin-right:auto}.main-nav a{color:var(--ink-soft);font-size:.76rem;letter-spacing:0;text-transform:uppercase}.main-nav a.router-link-active{color:var(--ink);font-weight:700}.account-bar{align-items:center;display:flex;gap:18px}.locale-control select{background:var(--color-surface);border:1px solid var(--line);color:var(--ink);font-size:.72rem;min-height:36px;padding:0 28px 0 10px}.sr-only{clip:rect(0 0 0 0);clip-path:inset(50%);height:1px;overflow:hidden;position:absolute;white-space:nowrap;width:1px}.account-role{color:var(--ink-soft);font-size:.74rem;letter-spacing:0;text-transform:uppercase}.quiet-button{background:none;border:0;color:var(--ink-soft);font-size:.75rem;padding:7px 0}.quiet-button:hover{color:var(--ink)}.page-shell{margin:0 auto;max-width:1240px;padding:72px 5vw 80px}.login-layout{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(330px,.8fr);min-height:calc(100vh - 100px)}.login-intro{background:var(--ink);color:var(--white);display:flex;flex-direction:column;justify-content:center;padding:8vw;position:relative}.login-intro:after{border:1px solid rgba(227,173,69,.35);content:"";height:calc(100% - 48px);left:24px;pointer-events:none;position:absolute;top:24px;width:calc(100% - 48px)}.eyebrow,.page-kicker{font-size:.66rem;letter-spacing:0;text-transform:uppercase}.eyebrow{color:var(--accent);margin-bottom:28px}.login-intro h1{font-family:Georgia,Iowan Old Style,serif;font-size:6.5rem;font-weight:400;letter-spacing:0;line-height:.93;margin:0;position:relative;z-index:1}.login-intro h1 em{color:var(--accent);font-style:italic}.intro-copy{color:#fbfaf7bf;font-size:1.08rem;line-height:1.65;margin:32px 0 0;max-width:340px;position:relative;z-index:1}.intro-rule{background:#fbfaf747;height:1px;margin:52px 0 20px;max-width:270px;position:relative;z-index:1}.intro-rule span{background:var(--accent);display:block;height:3px;margin-top:-1px;width:68px}.intro-note{color:#fbfaf785;font-size:.77rem;line-height:1.6;max-width:280px;position:relative;z-index:1}.login-panel{align-self:center;background:var(--white);box-shadow:var(--shadow);margin:8vh 5vw 8vh -8vw;padding:clamp(30px,5vw,64px);position:relative;z-index:2}.panel-heading{align-items:center;color:var(--ink-soft);display:flex;font-size:.67rem;gap:8px;letter-spacing:0;text-transform:uppercase}.status-dot{background:var(--accent);border-radius:50%;box-shadow:0 0 0 5px #e3ad4526;display:inline-block;height:7px;width:7px}.login-panel h2{font-family:Georgia,serif;font-size:2.7rem;font-weight:400;letter-spacing:0;margin:36px 0 10px}.panel-copy{color:var(--ink-soft);font-size:.87rem;margin:0 0 32px}.panel-copy code{overflow-wrap:anywhere}.login-form{display:grid;gap:20px}.login-form label{display:grid;gap:8px}.login-form label span{color:var(--ink-soft);font-size:.68rem;letter-spacing:0;text-transform:uppercase}.login-form input{background:transparent;border:0;border-bottom:1px solid var(--line-strong);border-radius:0;color:var(--ink);outline:0;padding:10px 0;width:100%}.login-form input:focus{border-bottom-color:var(--accent-deep);box-shadow:0 1px 0 var(--accent-deep)}.login-form input:disabled{color:var(--ink-soft);cursor:not-allowed}.challenge-summary{align-items:center;background:#f2f4f0;border-left:3px solid var(--accent-deep);display:grid;gap:4px 12px;grid-template-columns:1fr auto;min-height:54px;padding:10px 12px}.challenge-summary span{color:var(--ink-soft);font-size:.68rem}.challenge-summary strong{font-size:.82rem;font-weight:600}.challenge-summary button{background:transparent;border:0;color:var(--accent-deep);font-size:.7rem;grid-column:2;grid-row:1 / 3;padding:6px;white-space:nowrap}.challenge-summary button:disabled{color:var(--ink-soft)}.auth-divider{align-items:center;color:var(--ink-soft);display:flex;font-size:.68rem;gap:12px;margin:22px 0}.auth-divider:before,.auth-divider:after{background:var(--line);content:"";flex:1;height:1px}.auth-mode{border-bottom:1px solid var(--line);display:flex;gap:18px;margin-bottom:16px}.auth-mode button{background:none;border:0;border-bottom:2px solid transparent;color:var(--ink-soft);font-size:.68rem;margin-bottom:-1px;padding:8px 0;text-transform:uppercase}.auth-mode button.active{border-bottom-color:var(--accent-deep);color:var(--ink);font-weight:700}.wechat-button{background:#eef4ef;border:1px solid #c6d6c9;color:var(--ink);display:flex;justify-content:space-between;margin:0 0 20px;padding:12px 14px;width:100%}.wechat-button:hover{background:#dfece1;border-color:var(--accent-deep)}.wechat-button:disabled{background:#f3f3ef;border-color:var(--line);color:var(--ink-soft);cursor:not-allowed}.primary-button,.outline-button{align-items:center;display:inline-flex;justify-content:center;transition:background .16s ease,color .16s ease,border-color .16s ease,transform .16s ease}.primary-button{background:var(--ink);border:1px solid var(--ink);color:var(--white);gap:20px;justify-content:space-between;margin-top:12px;padding:15px 18px;text-align:left}.primary-button:hover{background:var(--accent-deep);border-color:var(--accent-deep);transform:translateY(-2px)}.error-message{color:var(--danger);font-size:.82rem;margin:18px 0 0}.connection-meta{border-top:1px solid var(--line);display:grid;gap:6px;margin-top:38px;padding-top:18px}.connection-meta span,.workspace-footer span{color:var(--ink-soft);font-size:.65rem;letter-spacing:0;text-transform:uppercase}.connection-meta code{overflow-wrap:anywhere}.development-access{border-top:1px solid var(--line);margin-top:24px;padding-top:16px}.development-access summary{color:var(--ink-soft);cursor:pointer;font-size:.68rem}.development-access .login-form{margin-top:18px}.workspace-page{padding-top:4px}.page-kicker{color:var(--accent-deep);margin-bottom:24px}.page-heading-row{align-items:end;display:flex;gap:24px;justify-content:space-between}.page-heading-row h1,.placeholder-page h1{font-family:Georgia,serif;font-size:4.5rem;font-weight:400;letter-spacing:0;line-height:1;margin:0}.page-heading-row p,.placeholder-page p{color:var(--ink-soft);margin:15px 0 0;max-width:480px}.outline-button{background:transparent;border:1px solid var(--line-strong);color:var(--ink);gap:10px;padding:11px 15px;white-space:nowrap}.outline-button:hover{background:var(--ink);border-color:var(--ink);color:var(--white)}.refresh-glyph{display:inline-block;font-size:1.15rem;line-height:1}.spinning{animation:spin .8s linear infinite}.signal-grid{display:grid;gap:16px;grid-template-columns:1.15fr .85fr;margin-top:56px}.signal-grid--compact{margin-top:40px}.signal-card{background:var(--white);border:1px solid var(--line);min-height:190px;padding:26px}.signal-card--wide{background:var(--ink);color:var(--white)}.signal-card-head{align-items:center;display:flex;justify-content:space-between}.signal-label{color:var(--ink-soft);font-size:.65rem;letter-spacing:0;text-transform:uppercase}.signal-card--wide .signal-label{color:#fbfaf78f}.status-chip{border:1px solid rgba(17,43,42,.25);color:var(--accent-deep);font-size:.62rem;letter-spacing:0;padding:4px 7px;text-transform:uppercase}.signal-card--wide .status-chip{border-color:#fbfaf74d;color:var(--accent)}.status-chip--error{color:var(--danger)!important}.signal-value{display:block;font-family:SFMono-Regular,Consolas,monospace;font-size:1.75rem;font-weight:400;margin-top:38px;overflow-wrap:anywhere}.signal-card p{color:var(--ink-soft);font-size:.8rem;margin:11px 0 0}.signal-card--wide p{color:#fbfaf799}.route-preview{align-items:center;border-bottom:1px solid var(--line);border-top:1px solid var(--line);display:grid;gap:30px;grid-template-columns:.8fr 1.2fr;margin-top:64px;padding:34px 0}.route-preview h2{font-family:Georgia,serif;font-size:2rem;font-weight:400;letter-spacing:0;margin:9px 0 0}.route-list{display:grid}.route-list a{align-items:center;border-bottom:1px solid var(--line);display:grid;gap:16px;grid-template-columns:40px 1fr 20px;padding:13px 0}.route-list a:first-child{border-top:1px solid var(--line)}.route-list a span{color:var(--accent-deep);font-family:monospace;font-size:.72rem}.route-list a b{font-size:1.1rem;font-weight:400;opacity:.45}.route-list a:hover b{opacity:1;transform:translate(4px)}.catalog-toolbar{align-items:center;border-bottom:1px solid var(--line);display:flex;flex-wrap:wrap;gap:9px;margin-top:42px;padding-bottom:14px}.catalog-toolbar button{background:transparent;border:1px solid var(--line-strong);color:var(--ink-soft);font-size:.7rem;padding:7px 11px}.catalog-toolbar button.active,.catalog-toolbar button:hover{background:var(--ink);border-color:var(--ink);color:var(--white)}.catalog-toolbar span{color:var(--ink-soft);font-size:.7rem;margin-left:auto}.catalog-mode-toggle{display:inline-flex}.catalog-mode-toggle button+button{border-left:0}.catalog-mode-toggle button{min-width:88px}.lesson-grid{display:grid;gap:16px;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:20px}.lesson-card{background:var(--white);border:1px solid var(--line);display:flex;flex-direction:column;min-height:255px;padding:22px;transition:border-color .16s ease,transform .16s ease,box-shadow .16s ease}.lesson-card:hover{border-color:var(--accent-deep);box-shadow:var(--shadow);transform:translateY(-3px)}.lesson-card-index{color:var(--accent-deep);font-family:monospace;font-size:.72rem}.lesson-card-subject{color:var(--ink-soft);font-size:.65rem;margin-top:28px;text-transform:uppercase}.lesson-card h2{font-family:Georgia,serif;font-size:1.55rem;font-weight:400;line-height:1.15;margin:8px 0 0}.lesson-card p{color:var(--ink-soft);font-size:.82rem;line-height:1.55;margin:10px 0 20px}.lesson-card-foot{align-items:center;border-top:1px solid var(--line);display:flex;justify-content:space-between;margin-top:auto;padding-top:13px}.lesson-card-foot b{color:var(--accent-deep);font-size:.64rem;font-weight:600;text-transform:uppercase}.lesson-card-foot b.pending{color:var(--ink-soft)}.lesson-card-foot strong{color:var(--accent-deep);font-size:1.15rem;font-weight:400}.lesson-card-badge{color:var(--accent-deep);font-size:.68rem;margin:4px 0 14px}.lesson-card-actions{align-items:center;display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.primary-button--compact{font-size:.68rem;min-height:34px;padding:7px 10px}.text-button{color:var(--ink);font-size:.68rem;text-decoration:underline;text-underline-offset:3px}.text-button:hover{color:var(--accent-deep)}.empty-state,.loading-line{color:var(--ink-soft);padding:44px 0}.detail-page{padding-top:4px}.detail-topline{align-items:center;border-bottom:1px solid var(--line);color:var(--ink-soft);display:flex;font-size:.7rem;justify-content:space-between;padding-bottom:14px;text-transform:uppercase}.detail-topline a:hover{color:var(--ink)}.detail-layout{display:grid;gap:9vw;grid-template-columns:minmax(0,1fr) minmax(240px,.42fr);padding-top:68px}.detail-layout h1{font-family:Georgia,serif;font-size:clamp(3.2rem,7vw,6rem);font-weight:400;line-height:.98;margin:0;max-width:720px}.detail-lede{color:var(--ink-soft);font-size:1.1rem;line-height:1.65;margin:28px 0 0;max-width:560px}.detail-action{margin-top:40px;min-width:220px}.detail-aside{align-self:end;border-top:2px solid var(--ink);padding-top:16px}.detail-aside>strong{display:block;font-family:Georgia,serif;font-size:1.6rem;font-weight:400;margin:10px 0 28px}.detail-aside dl{border-top:1px solid var(--line);margin:0}.detail-aside dl>div{align-items:baseline;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;padding:12px 0}.detail-aside dt,.detail-aside dd{font-size:.72rem;margin:0}.detail-aside dt{color:var(--ink-soft);text-transform:uppercase}.detail-aside dd{color:var(--ink);max-width:150px;overflow-wrap:anywhere;text-align:right}.detail-error{align-items:center;display:flex;gap:18px;justify-content:space-between;padding:25vh 0}.runtime-page{display:flex;flex-direction:column;min-height:calc(100vh - 156px)}.runtime-header{align-items:center;border-bottom:1px solid var(--line);display:flex;gap:20px;min-height:48px;padding-bottom:12px}.runtime-title{font-family:Georgia,serif;font-size:1.1rem;margin-right:auto}.runtime-status{color:var(--ink-soft);font-size:.68rem;text-transform:uppercase}.runtime-status--active{color:var(--accent-deep)}.runtime-frame-wrap{background:#dfe3df;flex:1;margin-top:18px;min-height:620px;position:relative}.runtime-frame{background:var(--white);border:0;display:block;height:100%;min-height:620px;width:100%}.runtime-placeholder,.runtime-loading{align-items:center;color:var(--ink-soft);display:flex;flex:1;justify-content:center;min-height:620px}.runtime-loading{inset:0;position:absolute}.profile-grid{display:grid;gap:16px;grid-template-columns:1fr 1fr;margin-top:54px}.profile-panel{background:var(--white);border:1px solid var(--line);min-height:180px;padding:24px}.profile-panel--dark{background:var(--ink);color:var(--white);display:flex;flex-direction:column}.profile-panel--dark>strong{font-family:monospace;font-size:1rem;margin-top:auto;overflow-wrap:anywhere}.profile-role{color:var(--accent);font-size:.68rem;margin-top:8px;text-transform:uppercase}.identity-list{list-style:none;margin:18px 0 0;padding:0}.identity-list li{align-items:center;border-bottom:1px solid var(--line);display:flex;font-size:.8rem;justify-content:space-between;padding:11px 0}.identity-list li span{color:var(--ink-soft);text-transform:uppercase}.identity-list li b{font-weight:500;overflow-wrap:anywhere;text-align:right}.binding-form{border-top:1px solid var(--line);display:grid;gap:13px;margin-top:22px;padding-top:18px}.binding-form label{display:grid;gap:5px}.binding-form label span{color:var(--ink-soft);font-size:.64rem;text-transform:uppercase}.binding-form input{background:transparent;border:0;border-bottom:1px solid var(--line-strong);padding:7px 0}.binding-form .outline-button{justify-self:start;margin-top:3px}.wechat-button--profile{margin-top:12px}.identity-panel{min-height:260px}.submission-review-copy{display:grid;gap:5px;min-width:0}.submission-review-copy p,.submission-review-copy span{color:var(--ink-soft);font-size:.68rem;line-height:1.45;margin:0;overflow-wrap:anywhere}.submission-review-copy b{color:var(--danger);font-weight:600}.record-section{margin-top:48px}.section-heading{align-items:center;border-bottom:2px solid var(--ink);display:flex;justify-content:space-between;padding-bottom:12px}.section-heading>span:last-child{color:var(--ink-soft);font-size:.72rem}.record-list{display:grid}.record-row{align-items:center;border-bottom:1px solid var(--line);display:grid;gap:20px;grid-template-columns:1.2fr 1fr 100px;padding:16px 0}.record-row>div:first-child{display:flex;flex-direction:column;gap:3px}.record-row strong{font-size:.88rem;font-weight:600}.record-row div span,.record-row em{color:var(--ink-soft);font-size:.68rem;font-style:normal}.record-progress{align-items:center;display:flex;gap:10px}.record-progress>span{background:var(--line);display:block;height:5px;overflow:hidden;width:100%}.record-progress i{background:var(--accent-deep);display:block;height:100%}.record-progress b{font-size:.7rem;font-weight:500}.workspace-footer{align-items:center;display:flex;flex-wrap:wrap;gap:10px 12px;margin-top:25px}.footer-separator{color:var(--accent-deep)!important}.placeholder-page{max-width:700px;padding-top:5vh}.placeholder-page p{font-size:1.05rem;line-height:1.7}.outline-button--inline{margin-top:38px}.studio-page-header{align-items:end;display:flex;gap:28px;justify-content:space-between;margin-bottom:34px}.studio-page-header .page-kicker{display:block;margin-bottom:12px}.studio-page-header h1{font-family:Georgia,serif;font-size:3rem;font-weight:400;line-height:1;margin:0}.studio-header-actions,.project-header-actions{align-items:center;display:flex;gap:10px}.studio-new-button,.studio-composer .primary-button,.import-dialog .primary-button,.settings-savebar .primary-button{margin-top:0}.studio-shell{border-bottom:1px solid var(--line);border-top:1px solid var(--line);display:grid;grid-template-columns:240px minmax(0,1fr);min-height:720px}.project-rail{border-right:1px solid var(--line);min-width:0;padding:0 16px 24px 0}.project-rail-head{align-items:center;border-bottom:1px solid var(--line);display:flex;height:48px;justify-content:space-between}.project-rail-head span{color:var(--ink-soft);font-size:.65rem;text-transform:uppercase}.project-rail-head button,.studio-feedback button{background:none;border:0;color:var(--ink-soft);font-size:.68rem;padding:5px 0}.project-rail-head button:hover,.studio-feedback button:hover{color:var(--ink)}.project-row{background:transparent;border:0;border-bottom:1px solid var(--line);color:var(--ink);display:grid;gap:9px;padding:15px 8px;text-align:left;width:100%}.project-row:hover{background:#fbfcfbb3}.project-row.active{background:var(--ink);color:var(--white)}.project-row-title{font-family:Georgia,serif;font-size:1rem;line-height:1.2;overflow-wrap:anywhere}.project-row-meta{align-items:center;display:flex;justify-content:space-between}.project-row-meta b,.project-row-meta em{font-size:.61rem;font-style:normal;font-weight:500;text-transform:uppercase}.project-row-meta b{color:var(--accent-deep)}.project-row.active .project-row-meta b{color:var(--accent)}.project-row-meta em{opacity:.62}.project-rail-empty{color:var(--ink-soft);font-size:.78rem;padding:28px 8px}.studio-stage{min-width:0;padding-left:24px;position:relative}.studio-feedback{align-items:center;background:#e6eee9;border-bottom:1px solid #b9cec1;display:flex;font-size:.78rem;justify-content:space-between;min-height:42px;padding:8px 12px}.studio-feedback--error{background:#f5e8e5;border-color:#dfbbb4;color:var(--danger)}.studio-stage-empty{align-items:center;color:var(--ink-soft);display:flex;justify-content:center;min-height:580px}.studio-stage-empty--action{flex-direction:column;gap:24px}.studio-stage-empty strong{color:var(--ink);font-family:Georgia,serif;font-size:1.7rem;font-weight:400}.project-header{align-items:end;border-bottom:1px solid var(--line);display:flex;gap:24px;justify-content:space-between;min-height:112px;padding:18px 0}.project-header h2{font-family:Georgia,serif;font-size:2rem;font-weight:400;line-height:1.1;margin:8px 0 0;overflow-wrap:anywhere}.project-header p{color:var(--ink-soft);font-size:.7rem;margin:7px 0 0}.project-status{color:var(--ink-soft);font-size:.62rem;text-transform:uppercase}.project-status--published,.project-status--approved{color:#27705f}.project-status--changes_requested,.quiet-button--danger:hover{color:var(--danger)}.studio-workbench{display:grid;grid-template-columns:minmax(0,1.18fr) minmax(310px,.82fr);min-height:540px}.preview-panel,.conversation-panel{min-width:0;padding-top:18px}.preview-panel{padding-right:20px}.conversation-panel{border-left:1px solid var(--line);display:grid;grid-template-rows:auto minmax(260px,1fr) auto;padding-left:20px}.tool-panel-head{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px;min-height:34px}.tool-panel-head div{display:grid;gap:3px}.tool-panel-head span{color:var(--ink-soft);font-size:.62rem;text-transform:uppercase}.tool-panel-head strong{font-size:.78rem;font-weight:600}.draft-hash{font-family:monospace}.draft-preview-surface{aspect-ratio:16 / 10;background:#d8dfdb;border:1px solid var(--line-strong);min-height:0;position:relative}.draft-preview-frame{background:var(--white);border:0;display:block;height:100%;width:100%}.draft-preview-empty{align-items:center;display:flex;flex-direction:column;inset:0;justify-content:center;position:absolute}.draft-preview-empty strong{font-family:Georgia,serif;font-size:1.4rem;font-weight:400}.draft-preview-empty span{color:var(--ink-soft);font-size:.74rem;margin-top:7px}.preview-open-button{margin-top:18px;min-width:150px}.preview-meta{align-items:center;border-bottom:1px solid var(--line);display:flex;flex-wrap:wrap;gap:8px 18px;justify-content:space-between;padding:10px 0}.preview-meta span{color:var(--ink-soft);font-size:.61rem;text-transform:uppercase}.message-stream{display:flex;flex-direction:column;gap:10px;max-height:420px;min-height:300px;overflow-y:auto;padding:4px 4px 16px 0}.studio-message{border-left:2px solid var(--line-strong);padding:10px 11px}.studio-message--assistant{background:var(--white);border-left-color:var(--accent-deep)}.studio-message header{align-items:center;display:flex;justify-content:space-between}.studio-message header span,.studio-message time,.studio-message small{color:var(--ink-soft);font-size:.6rem;font-style:normal;text-transform:uppercase}.studio-message p{font-size:.78rem;line-height:1.55;margin:8px 0 3px;overflow-wrap:anywhere;white-space:pre-wrap}.message-empty{align-items:center;color:var(--ink-soft);display:flex;flex:1;font-size:.78rem;justify-content:center}.studio-composer{border-top:1px solid var(--line);padding-top:12px}.composer-mode,.import-mode{border-bottom:1px solid var(--line);display:flex;gap:16px}.composer-mode button,.import-mode button{background:none;border:0;border-bottom:2px solid transparent;color:var(--ink-soft);font-size:.64rem;margin-bottom:-1px;padding:7px 0;text-transform:uppercase}.composer-mode button.active,.import-mode button.active{border-bottom-color:var(--accent-deep);color:var(--ink);font-weight:700}.studio-composer textarea{background:var(--white);border:1px solid var(--line);color:var(--ink);display:block;margin-top:12px;min-height:96px;padding:11px;resize:vertical;width:100%}.composer-foot{align-items:center;display:flex;justify-content:space-between;margin-top:8px}.composer-foot>span{color:var(--ink-soft);font-size:.62rem}.composer-foot .primary-button{font-size:.72rem;padding:10px 13px}.review-strip{align-items:center;border-top:1px solid var(--line);display:grid;gap:16px;grid-template-columns:180px minmax(180px,1fr) auto;padding:18px 0}.review-strip>div{display:grid;gap:4px}.review-strip>div strong{font-family:Georgia,serif;font-size:1rem;font-weight:400}.review-strip input{background:transparent;border:0;border-bottom:1px solid var(--line-strong);min-width:0;padding:9px 0}.import-dialog{background:var(--paper);border:1px solid var(--line-strong);border-radius:0;box-shadow:var(--shadow);color:var(--ink);max-width:min(620px,calc(100vw - 32px));padding:0;width:100%}.import-dialog::backdrop{background:#112b2a94}.import-dialog-form{padding:30px}.import-dialog-form>header{align-items:start;display:flex;justify-content:space-between}.import-dialog-form h2{font-family:Georgia,serif;font-size:2rem;font-weight:400;margin:5px 0 0}.import-dialog-form .page-kicker{margin-bottom:0}.import-mode{margin-top:26px}.import-fields{display:grid;gap:20px;padding:26px 0 12px}.import-fields>label{display:grid;gap:7px}.import-fields>label>span{color:var(--ink-soft);font-size:.65rem;text-transform:uppercase}.import-fields input:not([type=file]),.import-fields select{background:var(--white);border:1px solid var(--line);color:var(--ink);min-width:0;padding:11px;width:100%}.upload-target-control{border:0;display:grid;gap:0;grid-template-columns:repeat(2,minmax(0,1fr));margin:0;min-width:0;padding:0}.upload-target-control legend{color:var(--ink-soft);font-size:.65rem;margin-bottom:7px;padding:0;text-transform:uppercase}.upload-target-control label{position:relative}.upload-target-control input{height:1px;opacity:0;position:absolute;width:1px}.upload-target-control label span{align-items:center;background:var(--white);border:1px solid var(--line-strong);color:var(--ink-soft);cursor:pointer;display:flex;font-size:.72rem;justify-content:center;min-height:44px;padding:8px 12px}.upload-target-control label+label span{border-left:0}.upload-target-control input:checked+span{background:var(--ink);color:var(--white)}.upload-target-control input:focus-visible+span{outline:2px solid var(--color-focus);outline-offset:3px}.upload-target-control input:disabled+span,.upload-target-control:disabled span{cursor:not-allowed;opacity:.5}.upload-target-summary{border-bottom:1px solid var(--line);display:grid;gap:4px;padding:2px 0 12px}.upload-target-summary span,.upload-target-summary small{color:var(--ink-soft);font-size:.65rem}.upload-target-summary strong{font-size:.9rem;overflow-wrap:anywhere}.file-field{border:1px dashed var(--line-strong);min-height:112px;padding:18px;position:relative}.file-field input{cursor:pointer;inset:0;opacity:0;position:absolute;width:100%}.file-field-copy{color:var(--ink);display:grid;gap:6px;margin-top:10px;pointer-events:none;text-transform:none}.file-field-copy b{font-size:.82rem;font-weight:600;overflow-wrap:anywhere}.file-field-copy small{color:var(--ink-soft);font-size:.68rem}.upload-file-summary{align-items:center;border-bottom:1px solid var(--line);display:grid;gap:8px;grid-template-columns:minmax(0,1fr) auto auto;padding:2px 0 12px}.upload-file-summary>span{display:-webkit-box;font-size:.76rem;line-height:1.35;overflow:hidden;overflow-wrap:anywhere;-webkit-box-orient:vertical;-webkit-line-clamp:2}.upload-file-summary>b{color:var(--ink-soft);font-size:.66rem;font-weight:500;white-space:nowrap}.upload-file-summary .quiet-button{min-height:44px;padding:8px}.upload-progress{border-left:2px solid var(--accent-deep);color:var(--ink-soft);font-size:.75rem;margin:0;min-height:40px;padding:10px 12px}.import-dialog-form>footer{align-items:center;border-top:1px solid var(--line);display:flex;gap:10px;justify-content:flex-end;margin-top:16px;padding-top:18px}.settings-header{align-items:end;display:flex;gap:24px;justify-content:space-between;padding:54px 0 38px}.settings-header .page-kicker{display:block;margin-bottom:12px}.settings-header h1{font-family:Georgia,serif;font-size:3.4rem;font-weight:400;line-height:1;margin:0}.success-message{color:var(--color-success);font-size:.82rem}.settings-form{border-top:2px solid var(--ink)}.settings-group{border-bottom:1px solid var(--color-border);display:grid;gap:40px;grid-template-columns:minmax(190px,.38fr) minmax(0,1fr);padding:30px 0}.settings-group>header{display:flex;gap:16px}.settings-group>header>span{color:var(--accent-deep);font-family:monospace;font-size:.7rem;margin-top:5px}.settings-group h2{font-family:Georgia,serif;font-size:1.6rem;font-weight:400;margin:0}.settings-group header p{color:var(--color-text-muted);font-size:.75rem;margin:5px 0 0}.settings-fields{display:grid;gap:20px;grid-template-columns:repeat(2,minmax(0,1fr))}.form-field{display:grid;gap:var(--space-2);min-width:0}.form-label{color:var(--color-text-muted);font-size:.65rem;font-weight:600;text-transform:uppercase}.form-help{color:var(--color-text-muted);font-size:.72rem;margin:0}.form-error{color:var(--color-danger);font-size:.72rem;margin:0}.form-control{background:var(--color-surface);border:1px solid var(--color-border-strong);border-radius:var(--radius-control);color:var(--color-text);min-height:var(--control-height);min-width:0;padding:10px 12px;transition:background var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast);width:100%}.form-control::placeholder{color:var(--color-text-muted);opacity:.72}.form-control:focus-visible{border-color:var(--color-focus);box-shadow:0 0 0 3px #b8792224;outline:0}.form-control:disabled{background:var(--color-control-disabled);color:var(--color-text-muted);cursor:not-allowed;opacity:1}.form-control:user-invalid,.form-control[aria-invalid=true]{border-color:var(--color-danger);box-shadow:0 0 0 2px #a343371f}.form-control--multiline{min-height:96px;resize:vertical}.setting-field{background:var(--color-surface);border:1px solid var(--color-border);display:grid;gap:13px;min-height:142px;padding:20px}.setting-field>span{color:var(--color-text-muted);font-size:.65rem;text-transform:uppercase}.setting-control{align-items:end;display:flex;gap:10px}.setting-control input{background:transparent;border:0;border-bottom:1px solid var(--color-border-strong);border-radius:0;color:var(--color-text);font-family:monospace;font-size:1.3rem;min-width:0;padding:5px 0;width:100%}.setting-control input:focus-visible{border-bottom-color:var(--color-focus);box-shadow:0 1px 0 var(--color-focus)}.setting-control b{color:var(--color-text-muted);font-size:.66rem;font-weight:500;padding-bottom:8px;text-transform:uppercase}.toggle-row{align-items:center;color:var(--color-text-muted);cursor:pointer;display:flex;font-size:.7rem;gap:8px;min-height:var(--control-height)}.toggle-row input{accent-color:var(--color-focus);height:18px;width:18px}.setting-field--toggle{align-content:start}.switch-control{align-items:center;cursor:pointer;display:flex;gap:10px;margin-top:10px;min-height:var(--control-height)}.switch-control input{height:1px;opacity:0;position:absolute;width:1px}.switch-control>span{background:var(--color-surface-subtle);border:1px solid var(--color-border-strong);display:block;height:26px;position:relative;transition:background var(--transition-fast),border-color var(--transition-fast);width:46px}.switch-control>span:after{background:var(--color-text-muted);content:"";height:18px;left:3px;position:absolute;top:3px;transition:transform var(--transition-fast),background var(--transition-fast);width:18px}.switch-control input:checked+span{background:#b8792224;border-color:var(--color-focus)}.switch-control input:checked+span:after{background:var(--color-focus);transform:translate(20px)}.switch-control input:focus-visible+span{outline:2px solid var(--color-focus);outline-offset:3px}.switch-control b{font-size:.78rem;font-weight:500}.settings-savebar{align-items:center;display:flex;justify-content:space-between;padding:22px 0}.settings-savebar>span{color:var(--color-text-muted);font-family:monospace;font-size:.72rem}.admin-subnav{border-bottom:1px solid var(--color-border);border-top:1px solid var(--color-border);display:flex;gap:var(--space-5);margin-bottom:28px;overflow-x:auto;scrollbar-width:thin}.admin-subnav a{align-items:center;border-bottom:2px solid transparent;color:var(--color-text-muted);display:inline-flex;flex:0 0 auto;font-size:.68rem;margin-bottom:-1px;min-height:var(--control-height);padding:0 var(--space-1);text-transform:uppercase;transition:background var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast)}.admin-subnav a:hover{background:#fbfcfbb8;color:var(--color-text)}.admin-subnav a.router-link-active{border-bottom-color:var(--color-focus);color:var(--color-text);font-weight:700}.studio-overview-toolbar{align-items:center;display:flex;gap:var(--space-4);justify-content:space-between;margin-bottom:var(--space-4)}.studio-overview-toolbar>span{color:var(--color-text-muted);font-size:.7rem}.studio-overview-table-wrap{overflow-x:auto}.studio-overview-table{border-collapse:collapse;min-width:1060px;table-layout:fixed;width:100%}.studio-overview-table thead{border-bottom:1px solid var(--color-border-strong);border-top:2px solid var(--color-text)}.studio-overview-table th{color:var(--color-text-muted);font-size:.61rem;font-weight:600;padding:12px 10px;text-align:left;text-transform:uppercase}.studio-overview-table th:nth-child(1){width:86px}.studio-overview-table th:nth-child(2){width:220px}.studio-overview-table th:nth-child(3){width:180px}.studio-overview-table th:nth-child(4){width:130px}.studio-overview-table th:nth-child(5){width:120px}.studio-overview-table th:nth-child(6){width:140px}.studio-overview-table td{border-bottom:1px solid var(--color-border);font-size:.75rem;overflow-wrap:anywhere;padding:17px 10px;vertical-align:top}.studio-overview-table tbody tr:hover{background:#fbfcfbb8}.capability-badge{align-items:center;border:1px solid currentColor;display:inline-flex;font-family:monospace;font-size:.68rem;font-weight:700;justify-content:center;min-height:30px;padding:0 8px;white-space:nowrap}.capability-badge--a{color:var(--color-success)}.capability-badge--b{color:var(--color-focus)}.capability-badge--c{color:#42648a}.capability-badge--d{color:var(--color-danger)}.overview-project-cell,.overview-user-cell,.overview-ai-cell{display:grid;gap:5px}.overview-project-cell strong{font-family:Georgia,serif;font-size:1rem;font-weight:400;line-height:1.2}.overview-project-cell code,.overview-user-cell code{color:var(--color-text-muted);font-size:.61rem}.overview-project-cell time,.overview-user-cell span,.overview-ai-cell span{color:var(--color-text-muted);font-size:.65rem}.source-type-label{border-bottom:1px solid var(--color-border-strong);display:inline-block;padding-bottom:4px}.numeric-cell strong,.overview-ai-cell strong{font-family:monospace;font-size:.76rem;font-weight:600}.overview-quota-list{display:grid;gap:5px;margin:0}.overview-quota-list>div{align-items:baseline;display:flex;gap:10px;justify-content:space-between}.overview-quota-list dt,.overview-quota-list dd{font-size:.64rem;margin:0}.overview-quota-list dt{color:var(--color-text-muted)}.overview-quota-list dd{font-family:monospace;font-weight:600;text-align:right}.admin-review-header{align-items:end;display:flex;gap:30px;justify-content:space-between;padding:50px 0 32px}.admin-review-header .page-kicker{display:block;margin-bottom:12px}.admin-review-header h1{font-family:Georgia,serif;font-size:3.4rem;font-weight:400;line-height:1;margin:0}.admin-review-header p{color:var(--ink-soft);margin:13px 0 0;max-width:520px}.admin-review-metrics{border-left:1px solid var(--line);display:flex;gap:28px;padding-left:28px}.admin-review-metrics span{color:var(--ink-soft);display:grid;font-size:.62rem;gap:3px;text-transform:uppercase}.admin-review-metrics b{color:var(--ink);font-family:Georgia,serif;font-size:1.7rem;font-weight:400}.admin-review-toolbar{align-items:end;display:flex;gap:12px;margin-bottom:20px}.admin-review-toolbar label{display:grid;gap:5px;min-width:150px}.admin-review-toolbar label span{color:var(--color-text-muted);font-size:.6rem;text-transform:uppercase}.admin-review-toolbar select,.review-action-row select{background:var(--color-surface);border:1px solid var(--color-border-strong);color:var(--color-text);min-height:var(--control-height);padding:9px 32px 9px 10px}.admin-review-toolbar .outline-button{margin-left:auto}.admin-review-shell{border-bottom:1px solid var(--line);border-top:2px solid var(--ink);display:grid;grid-template-columns:285px minmax(0,1fr);min-height:740px}.review-queue{border-right:1px solid var(--line);min-width:0;padding-right:16px}.review-queue-row{background:transparent;border:0;border-bottom:1px solid var(--line);color:var(--ink);display:grid;gap:8px;padding:15px 9px;text-align:left;width:100%}.review-queue-row:hover{background:#fbfcfbb8}.review-queue-row.active{background:var(--ink);color:var(--white)}.review-queue-row-head{align-items:center;display:flex;justify-content:space-between}.review-queue-row-head b,.review-queue-row-head em,.review-queue-row-meta{font-size:.59rem;font-style:normal;font-weight:500;text-transform:uppercase}.review-queue-row-head b{color:var(--accent-deep)}.review-queue-row.active .review-queue-row-head b{color:var(--accent)}.review-queue-row-head em{color:var(--ink-soft)}.review-queue-row.active .review-queue-row-head em,.review-queue-row.active .review-queue-row-meta{color:#fbfcfba6!important}.review-queue-row>strong{font-family:Georgia,serif;font-size:1rem;font-weight:400;line-height:1.25;overflow-wrap:anywhere}.review-queue-row-meta{color:var(--ink-soft);text-transform:none}.queue-more-button{background:transparent;border:1px solid var(--line-strong);color:var(--ink-soft);margin:16px 0;padding:10px;width:100%}.review-detail{min-width:0;padding:0 0 38px 26px}.review-detail-empty{align-items:center;color:var(--ink-soft);display:flex;justify-content:center;min-height:620px}.review-detail-header{align-items:end;border-bottom:1px solid var(--line);display:flex;gap:30px;justify-content:space-between;padding:22px 0}.review-detail-header h2{font-family:Georgia,serif;font-size:2.15rem;font-weight:400;line-height:1.08;margin:8px 0 0;overflow-wrap:anywhere}.review-detail-header p{color:var(--ink-soft);font-size:.68rem;margin:7px 0 0;overflow-wrap:anywhere}.review-detail-header dl{border-top:1px solid var(--line);margin:0;min-width:250px}.review-detail-header dl>div{align-items:baseline;border-bottom:1px solid var(--line);display:flex;gap:18px;justify-content:space-between;padding:7px 0}.review-detail-header dt,.review-detail-header dd{font-size:.61rem;margin:0}.review-detail-header dt{color:var(--ink-soft);text-transform:uppercase}.review-detail-header dd{max-width:170px;overflow-wrap:anywhere;text-align:right}.review-preview{padding-top:20px}.review-preview .draft-preview-surface{max-height:520px}.review-submission-context{border-bottom:1px solid var(--line);border-top:1px solid var(--line);display:grid;gap:4px;margin-top:20px;padding:15px 0}.review-submission-context strong{font-family:Georgia,serif;font-size:1.05rem;font-weight:400}.review-submission-context p{color:var(--ink-soft);font-size:.75rem;margin:2px 0 0}.review-action-panel,.review-publish-panel{border-bottom:1px solid var(--line);padding:24px 0}.review-action-panel>header,.review-publish-panel>header{display:grid;gap:4px}.review-action-panel>header strong,.review-publish-panel>header strong{font-family:Georgia,serif;font-size:1.25rem;font-weight:400}.review-action-panel>textarea{margin-top:15px}.review-action-row{align-items:center;display:flex;gap:10px;margin-top:10px}.review-action-row .primary-button{margin:0}.review-action-row select{margin-left:auto}.outline-button--danger{color:var(--danger)}.outline-button--danger:hover{background:var(--danger);border-color:var(--danger)}.publish-fields{display:grid;gap:14px;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:18px}.publish-fields label{display:grid;gap:5px}.publish-fields label>span{color:var(--color-text-muted);font-size:.61rem;text-transform:uppercase}.publish-fields input,.publish-fields textarea,.setting-field>input{background:var(--color-surface);border:1px solid var(--color-border-strong);color:var(--color-text);min-width:0;padding:10px 12px;width:100%}.publish-fields textarea{resize:vertical}.publish-field-wide{grid-column:1 / -1}.review-publish-panel footer{align-items:center;display:flex;gap:20px;justify-content:space-between;padding-top:18px}.review-publish-panel footer>span{color:var(--ink-soft);font-size:.68rem}.review-publish-panel footer a{color:var(--accent-deep);text-decoration:underline}.review-publish-panel .primary-button{margin:0}.settings-fields--single{grid-template-columns:minmax(0,1fr)}.ai-key-controls{display:grid;gap:16px}.ai-key-status{background:var(--ink);color:var(--white);display:grid;gap:10px;padding:20px}.ai-key-status .signal-label{color:#fbfcfb94}.ai-key-status strong{color:var(--accent);font-family:monospace;font-size:1.05rem;font-weight:500;overflow-wrap:anywhere}.segmented-control{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.segmented-control label{position:relative}.segmented-control input{height:1px;opacity:0;position:absolute;width:1px}.segmented-control span{align-items:center;background:var(--color-surface);border:1px solid var(--color-border-strong);color:var(--color-text-muted);cursor:pointer;display:flex;font-size:.7rem;justify-content:center;min-height:var(--control-height);transition:background var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast)}.segmented-control label+label span{border-left:0}.segmented-control input:checked+span{background:var(--color-text);color:var(--color-surface)}.segmented-control input:focus-visible+span{outline:2px solid var(--color-focus);outline-offset:3px}.ai-key-input{min-height:0}.ai-key-warning{border-left:2px solid var(--danger);color:var(--danger);font-size:.75rem;margin:0;padding:8px 11px}.connection-test-panel{border-left:2px solid var(--line-strong);display:grid;gap:18px;padding:4px 0 4px 20px}.connection-test-command{align-items:center;display:flex;gap:20px;justify-content:space-between}.connection-test-command>div{display:grid;gap:4px}.connection-test-command strong{font-family:Georgia,serif;font-size:1.15rem;font-weight:400}.connection-test-error{background:#f5e8e5;border-left:3px solid var(--danger);color:var(--danger);font-size:.76rem;margin:0;padding:11px 13px}.connection-test-result{border:1px solid var(--line);display:grid;gap:24px;grid-template-columns:minmax(150px,.7fr) minmax(240px,1.3fr);padding:18px}.connection-test-result--success{background:#edf3ee;border-color:#b9cec1}.connection-test-result--failure{background:#f5eeea;border-color:#d9bdb5}.connection-test-state{align-items:center;display:flex;gap:12px}.connection-state-mark{background:var(--danger);display:block;height:10px;flex:0 0 10px;width:10px}.connection-test-result--success .connection-state-mark{background:#27705f}.connection-test-state>div{display:grid;gap:3px}.connection-test-state span,.connection-test-result dt{color:var(--ink-soft);font-size:.61rem;text-transform:uppercase}.connection-test-state strong{font-family:Georgia,serif;font-size:1.2rem;font-weight:400}.connection-test-result dl{display:grid;gap:8px;margin:0}.connection-test-result dl>div{align-items:baseline;border-bottom:1px solid rgba(17,43,42,.14);display:grid;gap:12px;grid-template-columns:105px minmax(0,1fr);padding-bottom:7px}.connection-test-result dt,.connection-test-result dd{margin:0}.connection-test-result dd{font-family:monospace;font-size:.76rem;overflow-wrap:anywhere;text-align:right}.connection-test-result dd strong{display:block;font-family:inherit;font-weight:600}.connection-test-result dd code{color:var(--ink-soft);display:block;font-size:.65rem;margin-top:2px}.submission-list{display:grid}.submission-row{align-items:center;border-bottom:1px solid var(--line);display:grid;gap:20px;grid-template-columns:minmax(180px,1fr) minmax(180px,1.2fr) 130px;padding:16px 0}.submission-row>div{display:grid;gap:3px}.submission-row strong{font-size:.88rem}.submission-row div span,.submission-row p,.submission-row em{color:var(--ink-soft);font-size:.68rem;font-style:normal;margin:0;overflow-wrap:anywhere}.submission-row em{text-align:right;text-transform:uppercase}.review-state--published,.review-state--approved{color:#27705f!important}.review-state--changes-requested,.review-state--changes_requested,.review-state--rejected{color:var(--danger)!important}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:840px){.topbar{gap:20px;padding:0 24px}.main-nav{gap:15px}.account-role{display:none}.page-shell{padding-left:24px;padding-right:24px}.login-layout{display:block}.login-intro{min-height:58vh;padding:60px 12vw}.login-intro h1{font-size:4.5rem}.login-panel{margin:-40px 24px 40px}.page-heading-row h1,.placeholder-page h1{font-size:3.25rem}.signal-grid,.route-preview{grid-template-columns:1fr}.lesson-grid,.profile-grid{grid-template-columns:1fr 1fr}.detail-layout{gap:48px;grid-template-columns:1fr}.route-preview{align-items:start}.studio-shell{grid-template-columns:190px minmax(0,1fr)}.studio-workbench{grid-template-columns:1fr}.conversation-panel{border-left:0;border-top:1px solid var(--line);margin-top:20px;padding-left:0}.preview-panel{padding-right:0}.review-strip{grid-template-columns:1fr auto}.review-strip input{grid-column:1 / -1;grid-row:2}.settings-group{gap:22px;grid-template-columns:1fr}.admin-review-shell{grid-template-columns:220px minmax(0,1fr)}.review-detail-header{align-items:start;flex-direction:column}.review-detail-header dl{width:100%}.studio-overview-table{display:block;min-width:0}.studio-overview-table thead{display:none}.studio-overview-table tbody{display:grid;gap:var(--space-4)}.studio-overview-table tr{border-top:2px solid var(--color-text);display:block}.studio-overview-table td{align-items:start;display:grid;gap:var(--space-3);grid-template-columns:130px minmax(0,1fr);padding:12px 4px}.studio-overview-table td:before{color:var(--color-text-muted);content:attr(data-label);font-size:.61rem;font-weight:600;text-transform:uppercase}.studio-overview-table tbody tr:hover{background:transparent}.overview-project-cell,.overview-user-cell,.overview-ai-cell{align-items:start}}@media(max-width:560px){.topbar{gap:9px;min-height:68px;overflow-x:auto;padding:0 12px}.brand>span:last-child,.account-role{display:none}.main-nav{gap:9px;margin-left:auto;margin-right:0}.main-nav a,.quiet-button{font-size:.62rem}.account-bar{gap:7px}.locale-control select{min-height:32px;padding-left:7px;width:64px}.page-heading-row{align-items:start;flex-direction:column}.page-heading-row .outline-button{align-self:stretch}.login-intro{padding:48px 44px}.login-intro h1{font-size:3.5rem}.login-panel{margin:-26px 12px 30px;padding:30px 24px}.login-panel h2{font-size:2.25rem}.page-heading-row h1,.placeholder-page h1{font-size:2.6rem}.signal-value{font-size:1.15rem}.lesson-grid,.profile-grid{grid-template-columns:1fr}.catalog-toolbar span{margin-left:0;width:100%}.runtime-frame-wrap,.runtime-frame,.runtime-placeholder{min-height:480px}.record-row{gap:10px;grid-template-columns:1fr 100px}.record-row em{grid-column:2;grid-row:1;text-align:right}.studio-page-header,.project-header,.settings-header{align-items:start;flex-direction:column}.studio-page-header h1,.settings-header h1{font-size:2.5rem}.studio-header-actions,.project-header-actions{width:100%}.studio-header-actions>*,.project-header-actions .outline-button{flex:1}.studio-shell{display:block}.project-rail{border-bottom:1px solid var(--line);border-right:0;display:flex;gap:8px;overflow-x:auto;padding:0 0 12px}.project-rail-head{min-width:90px}.project-row{border:1px solid var(--line);flex:0 0 170px}.project-rail-empty{min-width:150px}.studio-stage{padding-left:0}.project-header{gap:18px;min-height:0;padding:20px 0}.message-stream{max-height:360px}.review-strip{grid-template-columns:1fr}.review-strip input{grid-column:auto;grid-row:auto}.review-strip .outline-button{width:100%}.import-dialog-form{padding:22px}.import-dialog-form>footer{align-items:stretch}.import-dialog-form>footer .outline-button,.import-dialog-form>footer .primary-button{flex:1;min-width:0}.upload-file-summary{grid-template-columns:minmax(0,1fr) auto}.upload-file-summary .quiet-button{grid-column:1 / -1;justify-self:start}.settings-fields{grid-template-columns:1fr}.admin-review-header{align-items:start;flex-direction:column}.admin-review-header h1{font-size:2.6rem}.admin-review-metrics{border-left:0;border-top:1px solid var(--line);padding-left:0;padding-top:14px;width:100%}.admin-review-toolbar{align-items:stretch;display:grid;grid-template-columns:1fr 1fr}.admin-review-toolbar label,.admin-review-toolbar select{min-width:0;width:100%}.admin-review-toolbar .outline-button{grid-column:1 / -1;margin-left:0}.admin-review-shell{display:block}.studio-overview-header .admin-review-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.studio-overview-header .admin-review-metrics b{font-size:1.25rem;overflow-wrap:anywhere}.studio-overview-toolbar{align-items:stretch;flex-direction:column}.studio-overview-table td{grid-template-columns:96px minmax(0,1fr)}.review-queue{border-bottom:1px solid var(--line);border-right:0;display:flex;gap:8px;overflow-x:auto;padding:0 0 12px}.review-queue-row{border:1px solid var(--line);flex:0 0 210px}.review-queue .empty-state{min-width:220px}.queue-more-button{flex:0 0 130px}.review-detail{padding-left:0}.review-detail-empty{min-height:240px}.review-detail-header dl{min-width:0}.review-action-row{align-items:stretch;flex-direction:column}.review-action-row .primary-button,.review-action-row .outline-button,.review-action-row select{margin-left:0;width:100%}.publish-fields{grid-template-columns:1fr}.publish-field-wide{grid-column:auto}.review-publish-panel footer{align-items:stretch;flex-direction:column}.review-publish-panel footer .primary-button{width:100%}.settings-savebar{align-items:stretch;flex-direction:column;gap:14px}.settings-savebar .primary-button{width:100%}.connection-test-panel{padding-left:14px}.connection-test-command{align-items:stretch;flex-direction:column}.connection-test-command .outline-button{width:100%}.connection-test-result{grid-template-columns:1fr}.submission-row{gap:8px;grid-template-columns:1fr auto}.submission-row>.submission-review-copy{grid-column:1 / -1;grid-row:2}.submission-row em{grid-column:2;grid-row:1}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
