:root{color-scheme:dark;--fs: 6vh;--lh: 1.45;--fg: #f1f3f6;--bg: #080a0e;--accent: #2b7fff;--surface: #11151c;--border: #252c38;--muted: #929cab}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{height:100%;margin:0;background:var(--bg);color:var(--fg);overflow:hidden;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,Roboto,sans-serif}button,input,select,textarea{font:inherit}button{min-height:40px;border:1px solid #303846;border-radius:8px;padding:9px 13px;color:#e8ecf3;background:#1b212b;cursor:pointer;font-size:12px;line-height:1.4}button:hover{background:#272f3d;border-color:#506078}button:active{background:#313d51}button.primary,button.on{background:var(--accent);color:#fff;border-color:var(--accent)}button.primary:hover{background:#438fff}button.quiet{background:transparent;border-color:transparent;color:#b3bdcb}button.quiet:hover{background:#ffffff0b;border-color:var(--border)}:focus-visible{outline:2px solid #8fc0ff;outline-offset:3px}[hidden]{display:none!important}input[type=range]{width:100%;min-width:0;height:24px;margin:6px 0 0;accent-color:var(--accent);cursor:pointer}input[type=checkbox]{width:18px;height:18px;accent-color:var(--accent)}select,input[type=text],#scriptName{max-width:100%;min-height:40px;padding:8px 10px;border:1px solid #344052;border-radius:8px;background:#161c25;color:var(--fg)}#appShell{height:100vh;height:100dvh;display:grid;grid-template-rows:60px minmax(0,1fr) 108px}.app-header{display:flex;gap:24px;align-items:center;padding:0 24px;background:#0d1117;border-bottom:1px solid var(--border);z-index:20;min-width:0}.brand-lockup{display:flex;align-items:center;gap:14px;white-space:nowrap}.brand-lockup strong{font-size:18px;letter-spacing:-.6px}.privacy-badge{display:flex;align-items:center;gap:7px;font-size:11px;background:transparent;border-color:transparent;color:#95a79f}.privacy-badge svg{width:15px;height:15px;flex-shrink:0;fill:none;stroke:#72c69b;stroke-width:1.5}.header-actions{display:flex;gap:8px;align-items:center;margin-left:auto}.language-control{display:flex;align-items:center;gap:8px}.language-control label{color:var(--muted);font-size:11px}#language{background:#151a22;font-size:12px;max-width:145px}.mobile-settings,.mobile-library{display:none}.studio-main{display:grid;grid-template-columns:280px minmax(0,1fr) 280px;min-height:0;overflow:hidden}.side-panel{min-height:0;overflow-y:auto;background:var(--surface)}.library-panel{border-right:1px solid var(--border)}.settings-panel{border-left:1px solid var(--border)}.panel-content{display:flex;flex-direction:column;min-height:100%;padding:24px 20px;gap:22px}.panel-heading{display:flex;justify-content:space-between;align-items:center;gap:12px}.eyebrow{display:block;font-size:9px;letter-spacing:1.8px;color:var(--muted);margin-bottom:7px;font-weight:600}h2{margin:0;font-size:14px;font-weight:600;line-height:1.5}.count-badge{white-space:nowrap;font-size:10px;color:var(--muted)}.new-script{width:100%;display:flex;justify-content:center;align-items:center;gap:8px;border-style:dashed;background:#151c27;color:#a6c7ff}.script-list{display:flex;flex-direction:column;gap:6px}.script-card{display:flex;flex-direction:column;align-items:flex-start;gap:9px;min-height:78px;padding:15px 14px;background:transparent;border:1px solid transparent;border-radius:9px;text-align:start;width:100%}.script-card.active{border-color:#344e70;background:#1a273b}.script-card .script-title{color:#d8dfe9;font-size:12px;font-weight:500;overflow-wrap:anywhere}.script-card .script-detail{color:#8b98aa;font-size:10px}.empty-library{padding:12px 0;color:var(--muted);font-size:12px;line-height:1.7}.empty-library strong{display:block;color:#c5ceda;font-size:12px;margin-bottom:8px;font-weight:500}.library-files{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding-top:18px;border-top:1px solid var(--border)}.library-files button{font-size:11px;padding:8px;background:transparent}.panel-bottom{margin-top:auto;padding-top:18px;border-top:1px solid var(--border);font-size:10px;color:var(--muted);line-height:1.8}.local-dot,.stage-dot{display:inline-block;width:5px;height:5px;background:#71b994;border-radius:50%;margin-right:7px;vertical-align:middle}#stage{position:relative;min-width:0;min-height:0;overflow:hidden;background:#000}.stage-heading{position:absolute;inset:0 0 auto;height:46px;padding:0 24px;display:flex;align-items:center;justify-content:space-between;gap:14px;color:var(--muted);font-size:10px;z-index:4;background:linear-gradient(#080b10e6,transparent);pointer-events:none}.stage-heading>div{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.stage-dot{background:#699ee3}#mirror{position:absolute;inset:46px 0 0;overflow:hidden;display:flex;justify-content:center}#mirror.on{transform:scaleX(-1)}#text{width:min(var(--text-width, 92%),1600px);padding:12vh 0;font-size:var(--fs);line-height:var(--lh);font-weight:600;letter-spacing:.01em;color:#fff;text-shadow:0 2px 6px #000;white-space:pre-wrap;overflow-wrap:anywhere;text-align:center;will-change:transform;transform:translateZ(0)}#stage.with-guide #text{padding-top:22vh;padding-bottom:70vh}#readingGuide{position:absolute;top:30%;left:0;right:0;border-top:1px solid #ffbf4766;z-index:5;pointer-events:none}#readingGuide:before{content:"▶";position:absolute;left:8px;top:-9px;color:#ffbf47;font-size:13px}.focus-button{position:absolute;bottom:20px;right:20px;z-index:12;background:#151a23df;color:#aab9cc;border-color:#364355;font-size:11px}.slider-field{display:flex;flex-direction:column;gap:3px}.field-heading{display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:11px;color:#aeb8c7}.field-heading output{color:#e7edf5;font-variant-numeric:tabular-nums;font-size:11px}.extra-settings{display:flex;flex-direction:column;gap:20px}.extra-settings>label{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 10px;font-size:11px;color:#aeb8c7;align-items:center}.extra-settings>label>span{grid-area:1 / 1}.extra-settings>label>output{grid-area:1 / 2;color:#e7edf5;font-variant-numeric:tabular-nums}.extra-settings>label>input[type=range]{grid-area:2 / 1 / auto / 3}.extra-settings>label>input[type=checkbox]{grid-area:1 / 2;margin:0}.extra-settings>label>select{grid-area:2 / 1 / auto / 3;margin-top:6px;font-size:11px}.extra-settings>label:nth-child(3){padding-top:18px;border-top:1px solid var(--border);min-height:40px}.extra-settings .tip{margin:-7px 0 0;color:var(--muted);font-size:10px;line-height:1.8}.mirror-toggle{width:100%;font-size:11px}.pedal-button{font-size:11px;border:1px solid var(--border)!important}.transport{background:#0d1117;border-top:1px solid var(--border);display:grid;grid-template-columns:auto minmax(100px,1fr) auto;align-content:center;align-items:center;gap:8px 26px;padding:14px 24px 10px;z-index:20;min-width:0}.transport-actions{display:flex;align-items:center;gap:10px}.play-button{min-width:100px;min-height:44px;font-size:13px;font-weight:500}.reset-button{font-size:11px}.timeline{min-width:0}.timeline-labels{display:flex;align-items:center;gap:12px;font-size:10px;color:var(--muted);font-variant-numeric:tabular-nums}.timeline-labels output{color:#d4ddea}#remainingTime{margin-left:auto;white-space:nowrap}#progress{margin-top:3px}.transport-meta{display:flex;align-items:center;gap:16px}#offlineStatus{color:#78b09b;font-size:10px;max-width:130px}#btnEdit{font-size:11px}.keyboard-hint{grid-column:1 / -1;font-size:9px;color:var(--muted);text-align:center;line-height:1.5;padding-top:3px}.hide{opacity:0;pointer-events:none}#bar:focus-within,#playbackStatus:focus-within{opacity:1;pointer-events:auto;transform:none!important}#appShell.focus-mode{grid-template-rows:minmax(0,1fr)}.focus-mode .studio-main{grid-template-columns:minmax(0,1fr)}.focus-mode .side-panel,.focus-mode .stage-heading{display:none}.focus-mode #mirror{inset:0}.focus-mode #bar{position:fixed;top:0;left:0;right:0;min-height:60px;background:#0d1117e8}.focus-mode #playbackStatus{position:fixed;bottom:0;left:0;right:0;min-height:108px;background:#0d1117e8}.focus-mode .focus-button{bottom:128px}.focus-mode #bar.hide{transform:translateY(-100%)}.focus-mode #playbackStatus.hide{transform:translateY(100%)}.focus-mode #text{padding-top:15vh}.focus-mode #stage.with-guide #text{padding-top:30vh}dialog{color:var(--fg);background:#11151c;border:1px solid #3a465a;border-radius:14px;width:min(560px,94vw);max-height:90vh;overflow-y:auto;padding:24px}dialog::backdrop{background:#020408b8}dialog h3{font-size:15px;font-weight:600;line-height:1.5;margin:0 0 18px}dialog p{color:#adb9cb;font-size:12px;line-height:1.85}.dialog-top{display:flex;justify-content:space-between;align-items:center;gap:16px;border-bottom:1px solid var(--border);padding-bottom:14px}.dialog-top h3{margin:0}.panel-dialog .panel-content{padding:20px 0 0}.panel-dialog .panel-heading{display:none}.panel-dialog .panel-bottom{margin-top:12px}#editor{inset:0;width:min(1060px,96vw);height:min(820px,92vh);max-width:none;max-height:none;padding:24px;display:none;flex-direction:column;gap:18px}#editor.show{display:flex}#editor h3{margin-bottom:0}.row{display:flex;align-items:center;gap:10px}.wrap{flex-wrap:wrap}#editor label{font-size:11px;color:#9eaac0}#scriptList{max-width:250px;min-width:120px;font-size:12px}#scriptName{flex:1;min-width:140px;font-size:12px}#editor textarea{flex:1;min-height:120px;width:100%;resize:none;border:1px solid #354156;border-radius:10px;background:#0b1018;color:#e3eaf4;padding:20px;font-size:16px;line-height:1.9}#editor .tip{color:#8f9db0;font-size:11px;margin-right:auto;line-height:1.6}#editor .row:last-child{justify-content:flex-end;flex-wrap:wrap}#pedal{display:none}#pedal.show{display:block}#pedal .sub{color:#92a1b5;font-size:12px;line-height:1.8;margin-bottom:20px}.prow{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--border)}.prow span{flex:1;font-size:12px;color:#c2cbda}.prow b{font-size:12px;padding:5px 8px;min-width:72px;text-align:center;color:#a3c6ff;background:#1a2638;border-radius:6px}.prow.learning b{background:var(--accent);color:#fff}#lastKey{color:#9fb0c6;font-size:11px;margin:18px 0;line-height:1.6;overflow-wrap:anywhere}.actions{display:flex;justify-content:flex-end;gap:10px}#clearDeviceData{border-color:#79574b;color:#f3b39c;background:#38221d}#privacyClose{margin-left:8px}#clearStatus,#storageNotice{color:#c9d6ea}#count{position:fixed;inset:0;display:none;align-items:center;justify-content:center;font-size:28vh;font-weight:700;z-index:40;color:#fff;background:#0006;text-shadow:0 0 40px #4da3ff66;pointer-events:none}#count.show{display:flex}@media (max-width: 1199px){.studio-main{grid-template-columns:250px minmax(0,1fr)}.settings-panel{display:none}.mobile-settings{display:block}.app-header{gap:12px;padding:0 16px}.privacy-badge span{display:none}.privacy-badge{padding:8px}.transport{gap:8px 14px;padding-left:16px;padding-right:16px}.transport-meta{gap:8px}}@media (max-width: 899px){.studio-main{grid-template-columns:minmax(0,1fr)}.library-panel{display:none}.mobile-library{display:block}.language-control label{display:none}.transport-meta{flex-direction:column;align-items:flex-end;gap:4px}#offlineStatus{font-size:9px}}@media (max-width: 639px){#appShell{grid-template-rows:auto minmax(0,1fr) 154px}.app-header{flex-wrap:wrap;align-content:center;padding:8px 12px;gap:6px 10px}.brand-lockup strong{font-size:16px}.privacy-badge{margin-left:auto}.header-actions{width:100%;margin:0;gap:6px;justify-content:space-between}.header-actions button{font-size:10px;padding:7px 9px;max-width:32%;overflow-wrap:anywhere}#language{max-width:110px;font-size:11px;padding:7px}.language-control{min-width:0}.stage-heading{padding:0 14px}#text{padding-top:8vh}.focus-button{bottom:14px;right:14px;max-width:80%}.transport{grid-template-columns:auto minmax(0,1fr);padding:12px;gap:6px 10px}.transport-actions{gap:6px}.play-button{min-width:86px;min-height:42px}.reset-button{max-width:100px;padding:8px;font-size:10px}.transport-meta{flex-direction:row;justify-content:flex-end;align-items:center}.transport-meta #btnEdit{max-width:140px;white-space:normal;font-size:10px;padding:7px 9px}.timeline{grid-column:1 / -1;grid-row:2}.timeline-labels{font-size:9px}.keyboard-hint{font-size:8px;padding-top:0}.focus-mode #bar{min-height:110px}.focus-mode #playbackStatus{min-height:154px}.focus-mode .focus-button{bottom:174px}dialog{padding:20px}#editor{width:100vw;height:100%;height:100dvh;max-height:none;border-radius:0;padding:16px;gap:12px}#editor .row{flex-wrap:wrap;gap:6px}#editor .tip{flex-basis:100%}#editor button{font-size:11px;padding:8px 10px}#scriptList{flex:1;max-width:100%}#scriptName{min-width:100px}#editor textarea{font-size:16px;padding:14px}.prow{flex-wrap:wrap;gap:8px}}
