:root{--bg: #060607;--paper: #121214;--inset: #0c0c0e;--line: #2a2a30;--ink: #f7f6f5;--text: #f7f6f5;--muted: #a5a5aa;--accent: #ca4430;--accent-dim: #3a1814;--accent-soft: #e86a52;--warn: #b0915f;--ok: #559ac7;--panel-2: #1a1a1e;--radius: 20px;--radius-sm: 14px;--tap: 48px;--nav-h: 64px;--header-h: 52px;--glow: color-mix(in srgb, var(--accent) 45%, transparent);--font: "Manrope", "Segoe UI", "Noto Sans", system-ui, sans-serif;font-family:var(--font)}html[data-ui-theme=classic]{--bg: #09090d;--paper: #14141a;--inset: #0e0e12;--line: #26262f;--ink: #f4f0e8;--text: #f4f0e8;--muted: #8f8a82;--accent: #e11d48;--accent-dim: #351018;--accent-soft: #ff4d6d;--warn: #d4a72c;--ok: #34c759;--panel-2: #1a1a22;--radius: 16px;--radius-sm: 12px;--glow: transparent;--font: "Segoe UI", "Noto Sans", system-ui, sans-serif;font-family:var(--font)}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100%;background:var(--bg);color:var(--ink)}body{background:var(--bg);-webkit-font-smoothing:antialiased}button,input,textarea,select{font:inherit;color:inherit}button{cursor:pointer;-webkit-tap-highlight-color:transparent}button:disabled{opacity:.38;cursor:not-allowed}.app{display:flex;flex-direction:column;min-height:100dvh;max-width:720px;margin:0 auto;width:100%}.app.web{max-width:1100px}@media (min-width: 901px){.app,.app.web,.bottom-nav,.app.web .bottom-nav{max-width:none;width:100%}.progress,.app.web .progress{max-width:none}.app.web .app-main:not(.sub-view){max-width:none}}.keys-gate{min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:24px;background:radial-gradient(ellipse at 30% 20%,#2a1218 0%,transparent 55%),radial-gradient(ellipse at 80% 80%,#12182a 0%,transparent 50%),var(--bg)}.keys-gate-panel{max-width:420px;text-align:center}.keys-gate-panel .app-logo{display:inline-flex;margin-bottom:16px}.keys-gate-panel h1{margin:0 0 12px;font-size:1.45rem;font-weight:650}.keys-gate-panel p{margin:0;color:var(--muted);line-height:1.45;font-size:.98rem}.native-login-gate{min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:24px;background:radial-gradient(ellipse at 30% 20%,#2a1218 0%,transparent 55%),radial-gradient(ellipse at 80% 80%,#12182a 0%,transparent 50%),var(--bg)}.native-login-panel{max-width:440px;width:100%;text-align:left}.native-login-panel .app-logo{display:inline-flex;margin-bottom:16px}.native-login-panel h1{margin:0 0 12px;font-size:1.45rem;font-weight:650}.native-login-steps{margin:0 0 16px;padding-left:1.25rem;color:var(--muted);font-size:14px;line-height:1.5}.native-login-steps code{font-size:12px}.native-login-fields label{display:block;margin-top:10px;font-size:13px;color:var(--muted)}.native-login-fields .input{margin-top:6px;width:100%}.app-update-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;display:flex;align-items:center;justify-content:center;padding:24px;background:radial-gradient(ellipse at 30% 20%,#2a1218 0%,transparent 55%),radial-gradient(ellipse at 80% 80%,#12182a 0%,transparent 50%),color-mix(in srgb,var(--bg) 92%,#000)}.app-update-overlay.soft{background:color-mix(in srgb,var(--bg) 55%,#000)}.app-update-panel{max-width:420px;width:100%;text-align:left;padding:20px;border-radius:14px;border:1px solid var(--line);background:var(--bg)}.app-update-panel .app-logo{display:inline-flex;margin-bottom:12px}.app-update-panel h1{margin:0 0 10px;font-size:1.35rem;font-weight:650}.app-update-panel>p{margin:0 0 8px;line-height:1.45}.app-update-progress{margin-top:14px}.app-update-progress-bar{height:8px;border-radius:999px;background:var(--accent, #5b8cff);transition:width .2s ease;margin-bottom:10px;max-width:100%}.header-update-btn{color:var(--accent, #5b8cff)}.floating-control-panel{margin-top:4px}.floating-control-seg{flex-wrap:wrap;margin-top:8px}.floating-control-seg button{flex:1 1 auto;min-width:42%;font-size:13px}.app-header{position:sticky;top:0;z-index:30;display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:var(--header-h);padding:8px 16px;padding-top:max(8px,env(safe-area-inset-top));background:color-mix(in srgb,var(--bg) 88%,transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}.app-header-brand{display:flex;align-items:center;gap:10px;min-width:0}.app-header-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.header-jobs-btn{white-space:nowrap}.mode-settings-link{width:100%;margin-bottom:0}.studio-stack{display:flex;flex-direction:column;gap:12px}.studio-stack>.card,.studio-stack>.fold,.studio-stack>.mode-settings-link{margin:0}.studio-section-title{margin:4px 0 0;font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}.studio-section-title:first-child{margin-top:0}.studio-actions-row{display:flex;gap:8px;flex-wrap:wrap}.studio-actions-row .btn{flex:1;min-width:120px}.studio-msg{margin:10px 0 0}.studio-status{margin:0;font-size:12px;line-height:1.35}.audio-stamp{margin:8px 0 0;font-size:13px;color:var(--muted, #8a93a6)}.audio-stamp--fresh{color:#3fb950;font-weight:600}.audio-btn-group{display:flex;flex-direction:column;gap:10px;margin-top:12px}.audio-btn-group>.btn{width:100%}.audio-btn-group+.audio-btn-group{margin-top:16px;padding-top:12px;border-top:1px solid var(--line)}.fold-body.audio-btn-group{margin-top:0}.line-more{margin:8px 0 0}.line-more-body{padding-top:8px}.app-logo{flex-shrink:0;width:36px;height:36px;display:grid;place-items:center;border-radius:10px;background:linear-gradient(135deg,var(--accent) 0%,#9f1239 100%);font-size:13px;font-weight:800;letter-spacing:-.04em}.app-title{margin:0;font-size:17px;font-weight:700;letter-spacing:-.02em;line-height:1.2}.app-user{margin:1px 0 0;font-size:12px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.btn-icon{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:10px;border:1px solid var(--line);background:var(--paper);color:var(--muted);text-decoration:none;font-size:16px}.btn-icon:hover{color:var(--ink);border-color:#3d3d48}.app-main{flex:1;padding:12px 16px calc(var(--nav-h) + env(safe-area-inset-bottom) + 20px)}.app-main.sub-view{padding-bottom:calc(env(safe-area-inset-bottom) + 20px)}.app.web .app-main:not(.sub-view){padding-bottom:calc(var(--nav-h) + env(safe-area-inset-bottom) + 28px)}.bottom-nav{position:fixed;left:0;right:0;bottom:0;z-index:40;display:grid;grid-template-columns:repeat(6,1fr);max-width:720px;margin:0 auto;min-height:var(--nav-h);padding:6px 8px;padding-bottom:max(6px,env(safe-area-inset-bottom));background:color-mix(in srgb,var(--paper) 94%,transparent);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-top:1px solid var(--line)}.app.web .bottom-nav{max-width:1100px}html:not([data-ui-theme=classic]) .bottom-nav{left:12px;right:12px;bottom:max(10px,env(safe-area-inset-bottom));max-width:696px;margin:0 auto;padding:8px 10px;border-radius:999px;border:1px solid color-mix(in srgb,var(--line) 80%,transparent);background:color-mix(in srgb,var(--paper) 88%,#000);box-shadow:0 12px 40px -16px #000000bf}html:not([data-ui-theme=classic]).web-site .bottom-nav,html:not([data-ui-theme=classic]) .app.web .bottom-nav{max-width:min(1100px,calc(100% - 24px))}@media (min-width: 901px){html:not([data-ui-theme=classic]) .bottom-nav,html:not([data-ui-theme=classic]).web-site .bottom-nav,html:not([data-ui-theme=classic]) .app.web .bottom-nav{max-width:none;width:calc(100% - 24px)}}html:not([data-ui-theme=classic]) .nav-item.on{color:var(--bg);background:var(--ink);border-radius:999px}html:not([data-ui-theme=classic]) .app-main:not(.sub-view){padding-bottom:calc(var(--nav-h) + env(safe-area-inset-bottom) + 28px)}html:not([data-ui-theme=classic]) .app-logo{background:linear-gradient(135deg,var(--accent) 0%,#1d4d8c 100%);box-shadow:0 6px 20px -8px var(--glow)}html:not([data-ui-theme=classic]) .card{background:color-mix(in srgb,var(--paper) 92%,#1d4d8c 4%);box-shadow:0 1px color-mix(in srgb,#fff 4%,transparent) inset}html:not([data-ui-theme=classic]) .bar>i{background:linear-gradient(90deg,var(--accent),#e86a52);box-shadow:0 0 12px var(--glow)}html:not([data-ui-theme=classic]).web-site body{background:radial-gradient(ellipse 80% 50% at 20% -10%,color-mix(in srgb,var(--accent) 22%,transparent) 0%,transparent 55%),radial-gradient(ellipse 70% 45% at 90% 0%,color-mix(in srgb,#1d4d8c 28%,transparent) 0%,transparent 50%),var(--bg)}.nav-item{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;border:0;background:transparent;color:var(--muted);border-radius:12px;padding:6px 4px;font-size:10px;font-weight:600;letter-spacing:.01em;min-height:52px}.nav-item .nav-ico{width:22px;height:22px;stroke:currentColor;fill:none;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}.nav-item.on{color:var(--accent-soft);background:var(--accent-dim)}.screen-head{margin-bottom:14px}.screen-head h1{margin:0;font-size:22px;font-weight:800;letter-spacing:-.03em}.screen-head p{margin:4px 0 0;color:var(--muted);font-size:14px;line-height:1.4}html.web-site body,html[data-ui-theme=classic].web-site body{background:radial-gradient(ellipse 90% 55% at 50% -15%,#1c1018 0%,transparent 60%),var(--bg)}.top{display:flex;align-items:center;gap:10px;margin-bottom:14px}.top h1{font-size:18px;font-weight:700;margin:0;letter-spacing:-.02em}.top .hint{color:var(--muted);font-size:13px;margin:2px 0 0}.back{width:44px;height:44px;flex-shrink:0;border:1px solid var(--line);background:var(--paper);color:var(--ink);border-radius:12px;font-size:22px;line-height:1}.stepper{display:flex;gap:0;margin-bottom:16px;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-sm);padding:4px;overflow:hidden}.stepper button{flex:1;border:0;background:transparent;color:var(--muted);border-radius:9px;padding:10px 6px;font-size:13px;font-weight:700;min-height:44px}.stepper button.on{background:var(--accent-dim);color:var(--ink);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 35%,transparent)}.stepper button.done:not(.on){color:var(--ok)}.card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:16px;margin-bottom:12px}.card h2{margin:0 0 6px;font-size:17px;font-weight:700}.card-compact{padding:14px}.lead{color:var(--muted);font-size:14px;line-height:1.45;margin:0 0 12px}.lead-sm{font-size:13px;margin-bottom:10px}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:10px}.field span{font-size:12px;font-weight:600;color:var(--muted)}.field:last-child{margin-bottom:0}input,textarea,select{width:100%;background:var(--inset);border:1px solid var(--line);border-radius:var(--radius-sm);padding:12px 14px;min-height:var(--tap);font-size:16px}textarea{min-height:88px;resize:vertical;line-height:1.45}.script-box{min-height:min(42vh,420px);height:min(42vh,420px)}.row{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.grow{flex:1;min-width:0}.actions{display:flex;gap:8px;margin-top:12px}.actions .btn{flex:1}.actions-stack{flex-direction:column}.actions-stack .btn{width:100%}.btn{display:inline-flex;align-items:center;justify-content:center;background:var(--accent);color:#fff;border:0;border-radius:var(--radius-sm);min-height:var(--tap);padding:0 18px;font-weight:700;font-size:15px;text-decoration:none;box-shadow:0 0 0 0 var(--glow);transition:filter .15s ease,box-shadow .2s ease,transform .12s ease}html:not([data-ui-theme=classic]) .btn:not(.ghost):not(.soft):not(:disabled){box-shadow:0 8px 28px -10px var(--glow)}html:not([data-ui-theme=classic]) .btn:not(.ghost):not(.soft):not(:disabled):active{transform:scale(.98)}.btn.ghost{background:transparent;border:1px solid var(--line);color:var(--ink);font-weight:600}.btn.soft{background:var(--inset);color:var(--ink);border:1px solid var(--line);font-weight:600}.btn.mini{padding:8px 12px;font-size:13px;min-height:40px;width:auto;flex:0 0 auto}.list{display:flex;flex-direction:column;gap:8px}.item{display:flex;justify-content:space-between;align-items:center;gap:10px;width:100%;text-align:left;color:inherit;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-sm);padding:14px 16px;min-height:58px}.item:active{background:var(--inset)}.item b{display:block;font-size:15px;font-weight:700}.item .muted{display:block;margin-top:3px;font-size:13px}.project-item{padding:6px 8px 6px 4px;align-items:stretch}.project-actions{display:flex;flex-shrink:0;gap:6px;align-items:center;padding-right:4px}.project-playlist{min-height:40px!important;white-space:nowrap;font-size:12px!important;padding:8px 10px!important}.project-open{flex:1;min-width:0;display:flex;justify-content:space-between;align-items:center;gap:10px;background:transparent;border:0;color:inherit;padding:8px 10px;text-align:left}.project-open-copy{flex:1;min-width:0}.project-list-audio .project-item{flex-direction:column;align-items:stretch;gap:6px;padding:10px 12px}.project-list-audio .project-open{padding:4px 2px}.project-list-audio .project-actions{justify-content:flex-end;padding-right:0}.project-cover--sm{width:44px;height:32px;border-radius:10px;font-size:1rem;flex-shrink:0;aspect-ratio:auto}.project-delete{flex-shrink:0;color:#e88!important;border-color:#4a3030!important;min-height:40px!important}.btn-danger{background:var(--accent);color:#fff}.btn-danger:hover{filter:brightness(1.08)}.app-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10000;display:flex;align-items:center;justify-content:center;padding:20px;background:#0000009e;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.app-modal-dialog{width:100%;max-width:420px;padding:22px 20px;border-radius:18px;border:1px solid var(--line);background:var(--paper);text-align:center;box-shadow:0 24px 64px #00000073}.app-modal-title{margin:0 0 10px;font-size:20px;font-weight:700}.app-modal-text{margin:0 0 16px;font-size:14px;line-height:1.45}.app-modal-actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}.app-modal-actions .btn{min-width:120px}.playlist-card{margin-top:0}.project-list{margin-top:12px;margin-bottom:4px}.playlist-create-row{display:flex;gap:8px}.playlist-create-row input{flex:1;min-width:0}.playlist-empty{margin:8px 0 0;font-size:13px}.playlist-error{margin:0 0 8px;font-size:13px;color:var(--warn);line-height:1.4}.playlist-list{display:flex;flex-direction:column;gap:8px;margin-top:8px}.playlist-block{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--inset);overflow:hidden}.playlist-block summary{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 14px;cursor:pointer;list-style:none;font-weight:700}.playlist-block summary::-webkit-details-marker{display:none}.playlist-block-title{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.playlist-block-body{padding:0 10px 10px;display:flex;flex-direction:column;gap:6px}.playlist-item-row{display:flex;align-items:center;gap:6px;border:1px solid var(--line);border-radius:10px;background:var(--paper);padding:4px 4px 4px 8px}.playlist-item-open{flex:1;min-width:0;border:0;background:transparent;color:inherit;text-align:left;padding:6px 4px}.playlist-item-open b{display:block;font-size:14px}.playlist-empty-inline{margin:4px 6px;font-size:13px}.playlist-delete{align-self:flex-start;margin-top:4px;color:#e88!important}.chev{color:var(--muted);font-size:20px;font-weight:300}.seg{display:inline-flex;gap:2px;background:var(--inset);border:1px solid var(--line);border-radius:10px;padding:3px}.seg button{border:0;background:transparent;color:var(--muted);border-radius:8px;padding:8px 12px;font-size:12px;font-weight:600;white-space:nowrap;min-height:36px}.seg button.on{background:var(--paper);color:var(--ink)}.settings-mode{width:100%;margin-top:8px}.settings-mode button{flex:1;min-height:44px;font-size:12px;padding:8px 6px;white-space:normal;line-height:1.2}.settings-mode--compact{margin-top:0}.settings-mode--compact button{font-size:12px}.settings-inline h2{margin-bottom:10px}.settings-hints{margin:12px 0 0;padding-left:1.1rem;color:var(--muted);font-size:13px;line-height:1.45}.settings-hints b{color:var(--ink);font-weight:700}.hotkey-bindings{margin-top:16px;padding-top:14px;border-top:1px solid var(--line)}.hotkey-helper-status{display:flex;align-items:center;gap:8px;margin:10px 0 8px;font-size:13px;color:var(--muted)}.hotkey-helper-status i{width:8px;height:8px;border-radius:50%;background:#8a6a6a;display:inline-block}.hotkey-helper-status.on{color:var(--ink)}.hotkey-helper-status.on i{background:#3d9a68}.hotkey-list{list-style:none;margin:10px 0 0;padding:0;display:flex;flex-direction:column;gap:8px}.hotkey-row{display:flex;align-items:center;gap:12px;justify-content:space-between}.hotkey-label{flex:1;font-size:14px;color:var(--ink);line-height:1.3}.hotkey-capture{min-width:132px;max-width:46%;min-height:40px;padding:8px 12px;border-radius:10px;border:1px solid var(--line);background:var(--elev);color:var(--muted);font-size:13px;font-weight:600;cursor:pointer;font-family:inherit}.hotkey-capture.set{color:var(--ink)}.hotkey-capture.listening{border-color:var(--accent, #5b8cff);color:var(--accent, #5b8cff);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent, #5b8cff) 25%,transparent)}.line.selected{outline:1px solid color-mix(in srgb,var(--accent, #5b8cff) 55%,transparent);background:color-mix(in srgb,var(--accent, #5b8cff) 8%,transparent)}.seg-voice-view{display:flex;width:100%;margin:4px 0 16px;border-radius:14px;padding:4px;gap:4px}.seg-voice-view button{flex:1;min-height:46px;font-size:14px;font-weight:700}.seg-voice-view button.on{background:color-mix(in srgb,var(--accent) 22%,var(--paper));color:var(--ink);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent-soft) 45%,var(--line))}.voice-add{margin-top:12px;margin-bottom:8px;padding:12px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--inset)}.voice-add .btn{flex:1;min-width:120px}.voice-add .actions{margin-top:8px}.voice-section{margin-top:16px}.voice-section:first-of-type{margin-top:4px}.voice-section-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.voice-section-title{margin:0;font-size:13px;font-weight:700;color:var(--muted)}.voice-section-add{flex-shrink:0;font-size:18px;font-weight:700;line-height:1}.voice-section-add.on{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 45%,var(--line))}.voice-item{align-items:flex-start}.voice-item-main{flex:1;min-width:0}.voice-item-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.voice-tune{display:flex;flex-direction:column;gap:6px;margin-top:0;max-height:min(62vh,560px);overflow-y:auto;padding-right:4px;overscroll-behavior:contain}.voice-tune-row{display:flex;flex-direction:column;gap:2px;font-size:12px;color:var(--muted)}.voice-tune-row input[type=range]{width:100%;accent-color:var(--accent);min-height:44px;touch-action:pan-y}.voice-tune-hint{margin:0;font-size:11px}.voice-tune-sub{font-style:normal;opacity:.7;font-weight:400}.voice-tune-fold{margin-top:10px}.voice-tune-fold>summary{padding:8px 12px}.voice-tune-fold .fold-body{padding:0 12px 12px}.voice-tune-sticky{position:sticky;top:0;z-index:2;background:color-mix(in srgb,var(--paper) 92%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding:6px 0;margin-bottom:4px!important}.voice-fx-more{width:100%;margin-top:4px;min-height:44px}.voice-meter{height:8px;border-radius:999px;background:var(--inset);border:1px solid var(--line);overflow:hidden}.voice-meter>i{display:block;height:100%;width:0;background:linear-gradient(90deg,#8b2e2e,var(--accent));transition:width .08s linear}.voice-picker{width:100%;min-height:40px;font-size:15px}.voice-id-row{display:flex;gap:6px;align-items:center}.voice-id-input{font-family:ui-monospace,Consolas,monospace;font-size:12px;letter-spacing:.02em}.voice-rename{width:100%;background:var(--inset);border:1px solid var(--line);border-radius:8px;padding:10px 12px;font-weight:700;font-size:15px}.muted{color:var(--muted);font-size:13px}.err{color:#ff7b7b;font-size:14px;margin:0 0 12px;padding:10px 12px;border-radius:var(--radius-sm);background:color-mix(in srgb,var(--accent) 12%,transparent);line-height:1.4}.ok{color:var(--ok);font-size:13px;margin:0 0 12px}.empty{text-align:center;color:var(--muted);padding:32px 16px;border:1px dashed var(--line);border-radius:var(--radius);font-size:14px}.drop{display:block;border:2px dashed color-mix(in srgb,var(--line) 80%,var(--accent));border-radius:var(--radius-sm);padding:20px 14px;text-align:center;color:var(--muted);cursor:pointer;background:var(--inset)}.drop b{display:block;color:var(--ink);margin-bottom:4px;font-size:15px}.drop input{display:none}.tag{display:inline-block;font-size:11px;font-weight:700;padding:3px 8px;border-radius:999px;background:var(--inset);color:var(--muted);white-space:nowrap}.tag.warn{color:var(--warn);background:#2a230e}.tag.ocr-pending{color:var(--warn);background:#2a230e;animation:ocr-pulse 1.2s ease-in-out infinite}@keyframes ocr-pulse{50%{opacity:.55}}.line-ocr-error{margin:0 0 6px;font-size:12px;color:var(--warn);line-height:1.35}.tag.ok{color:var(--ok);background:#0f2418}.line{border:1px solid var(--line);border-radius:var(--radius-sm);padding:10px;margin-bottom:8px;background:var(--inset);contain:layout style}.line.line-pending{outline:1px solid color-mix(in srgb,var(--accent) 28%,transparent)}.line-ghost{border:1px solid var(--line);border-radius:var(--radius-sm);padding:12px;background:var(--inset);box-shadow:0 12px 28px color-mix(in srgb,#000 35%,transparent);will-change:transform,opacity}.cast-lines-list{display:flex;flex-direction:column}@media (prefers-reduced-motion: reduce){.line-ghost{display:none}}.line.low{border-color:var(--warn)}.line-head{display:flex;align-items:center;gap:6px;margin-bottom:8px;flex-wrap:wrap}.line-head .grow{font-size:12px;color:var(--muted);flex:1;min-width:40px}.line-num{font-size:12px;font-weight:700;color:var(--muted)}.line-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}@media (max-width: 520px){.line-grid{grid-template-columns:1fr}.cast-lines .line .line-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.cast-lines .line .line-grid .field-emotion{grid-column:1 / -1}.cast-lines .line .line-grid select{min-height:40px;padding:6px 8px;font-size:13px;text-overflow:ellipsis}}.emotion-picker{display:flex;flex-direction:column;gap:6px}.emotion-chips{display:flex;flex-wrap:wrap;gap:6px;min-height:28px}.emotion-chip{display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:6px 12px;border-radius:999px;border:1px solid var(--line);background:var(--panel-2);color:var(--ink);font-size:13px;font-weight:600;cursor:pointer}.emotion-chip:hover{border-color:var(--accent)}.emotion-chip-x{opacity:.65;font-size:14px;line-height:1}.emotion-add{width:100%}.emotion-hint{margin:0;font-size:11px}.field-emotion,.field-intensity{grid-column:1 / -1}.intensity-seg{display:inline-flex;gap:4px;padding:3px;border-radius:10px;border:1px solid var(--line);background:var(--panel-2);width:fit-content}.intensity-btn{min-width:40px;min-height:34px;padding:4px 12px;border:0;border-radius:8px;background:transparent;color:var(--muted);font-size:14px;font-weight:700;cursor:pointer}.intensity-btn:hover{color:var(--ink);background:#ffffff0a}.intensity-btn.on{background:color-mix(in srgb,var(--accent) 28%,transparent);color:var(--ink)}.tag.intensity-tag{font-variant-numeric:tabular-nums}.line textarea{min-height:64px;font-size:15px}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;padding:0;flex:0 0 auto;border-radius:10px;border:1px solid var(--line);background:var(--paper);color:var(--muted);font-size:15px}.icon-btn.on,.pencil-btn.on{color:var(--accent-soft);border-color:var(--accent);background:var(--accent-dim)}.icon-btn-sm{width:40px;height:40px;font-size:14px}.cast-sticky-actions{position:sticky;bottom:calc(var(--nav-h) + env(safe-area-inset-bottom) + 8px);z-index:12;margin-top:12px;padding:10px;border-radius:var(--radius-sm);border:1px solid var(--line);background:color-mix(in srgb,var(--paper) 94%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:0 -6px 24px #00000047}.app:has(.sub-view) .cast-sticky-actions{bottom:calc(env(safe-area-inset-bottom) + 8px)}.cast-pick-select-cta{margin-left:auto;min-height:40px}.ico{width:18px;height:18px;display:block;fill:none;stroke:currentColor;stroke-width:1.85;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.ico-check .check-mark{stroke-dasharray:14;stroke-dashoffset:14;transition:stroke-dashoffset .32s ease}.ico-check.on .check-mark{stroke-dashoffset:0}.ico-check.on circle{fill:currentColor;fill-opacity:.18}.ico-mark{fill:none}.ico-mark.on{fill:currentColor;fill-opacity:.22}.icon-btn.done{color:var(--ok);border-color:#2a6b4a;background:color-mix(in srgb,var(--ok) 14%,var(--paper))}.icon-btn.pinned{color:var(--accent-soft);border-color:var(--accent);background:var(--accent-dim)}.icon-btn.pending .ico{animation:ico-down .7s ease-in-out infinite}@keyframes ico-down{0%,to{transform:translateY(0)}50%{transform:translateY(3px)}}.options{display:flex;flex-direction:column;gap:8px}.options button{text-align:left;background:var(--inset);border:1px solid var(--line);border-radius:var(--radius-sm);padding:16px;min-height:var(--tap);font-weight:600;font-size:15px}.options button:active{border-color:var(--accent)}.progress{position:fixed;left:12px;right:12px;bottom:calc(var(--nav-h) + env(safe-area-inset-bottom) + 10px);max-width:696px;margin:0 auto;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-sm);padding:12px 14px;box-shadow:0 8px 32px #00000080;z-index:35}.app.web .progress{max-width:1072px}.bar{height:4px;background:var(--line);border-radius:99px;overflow:hidden;margin-top:8px}.bar>i{display:block;height:100%;background:var(--accent);border-radius:99px;transition:width .3s ease}.timing-fab{position:fixed;right:14px;bottom:calc(var(--nav-h) + env(safe-area-inset-bottom) + 14px);z-index:36;width:64px;height:64px;border-radius:14px;border:1px solid rgba(255,255,255,.18);background:#12141a6b;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:var(--ink);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:0;box-shadow:0 8px 28px #00000059;cursor:pointer;font-family:inherit}.app:has(.sub-view) .timing-fab{bottom:calc(env(safe-area-inset-bottom) + 14px)}.app:has(.progress) .timing-fab{bottom:calc(var(--nav-h) + env(safe-area-inset-bottom) + 72px)}.timing-fab.busy{opacity:.7}.timing-fab.done{border-color:color-mix(in srgb,var(--accent, #5b8cff) 50%,transparent)}.timing-fab-count{font-size:11px;font-weight:700;opacity:.9}.timing-fab-label{font-size:16px;font-weight:700;line-height:1}.native-perm-banner{display:flex;flex-direction:column;gap:10px;margin:0 0 14px;padding:12px 14px;border-radius:12px;border:1px solid color-mix(in srgb,var(--accent, #5b8cff) 40%,var(--line));background:color-mix(in srgb,var(--accent, #5b8cff) 12%,transparent)}.native-perm-banner p{margin:0;font-size:14px;line-height:1.4}.native-perm-banner .btn{align-self:flex-start}.timing-audio-block{margin-top:14px}.timing-audio-card .lead-sm{margin-bottom:10px}.timing-audio-title{margin:0 0 8px;font-size:14px;font-weight:700}.scroll-top-fab{position:fixed;left:14px;bottom:calc(var(--nav-h) + env(safe-area-inset-bottom) + 14px);z-index:34;width:44px;height:44px;border-radius:999px;border:1px solid var(--line);background:var(--paper);color:var(--ink);font-size:18px;font-weight:700;box-shadow:0 6px 20px #00000059}.app:has(.sub-view) .scroll-top-fab{bottom:calc(env(safe-area-inset-bottom) + 14px)}.app:has(.cast-sticky-actions) .scroll-top-fab{bottom:calc(var(--nav-h) + env(safe-area-inset-bottom) + 88px)}.app:has(.sub-view):has(.cast-sticky-actions) .scroll-top-fab{bottom:calc(env(safe-area-inset-bottom) + 88px)}.app:has(.progress) .scroll-top-fab{bottom:calc(var(--nav-h) + env(safe-area-inset-bottom) + 84px)}.jobs-sheet{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;background:#0000008c;display:flex;align-items:flex-end;justify-content:center;padding:12px;padding-bottom:calc(var(--nav-h) + env(safe-area-inset-bottom) + 12px)}.jobs-sheet-panel{width:min(520px,100%);max-height:min(70vh,560px);overflow:auto;background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:14px}.jobs-sheet-head{margin-bottom:10px}.jobs-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.jobs-item{display:flex;gap:10px;align-items:center;padding:10px 12px;border-radius:12px;background:var(--inset);border:1px solid var(--line)}.jobs-item-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.jobs-sheet-actions{display:flex;gap:8px;margin-top:12px;justify-content:flex-end}.pages{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.app.web .pages{grid-template-columns:repeat(3,1fr)}.pages img,.pages button{width:100%;border-radius:10px;border:1px solid var(--line);display:block;padding:0;background:none}.pages button{overflow:hidden}.bbox-editor{position:relative;margin:10px 0}.bbox-editor img{width:100%;display:block;border-radius:10px}.box{position:absolute;border:2px solid var(--accent);background:#e11d481f;color:#fff;font-size:11px;overflow:hidden;padding:2px 4px}.chips{display:flex;flex-wrap:wrap;gap:6px}.chip{display:inline-flex;align-items:center;background:var(--inset);border:1px solid var(--line);border-radius:999px;padding:6px 12px;font-size:13px}details.fold{margin:0 0 12px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--inset);overflow:hidden}details.fold summary{cursor:pointer;padding:12px 14px;font-size:13px;font-weight:600;color:var(--muted);list-style:none}details.fold summary::-webkit-details-marker{display:none}details.fold .fold-body{padding:0 14px 14px}details.more{margin-top:10px;color:var(--muted);font-size:13px}details.more summary{cursor:pointer;padding:8px 0}.or{text-align:center;color:var(--muted);font-size:12px;margin:14px 0;position:relative}.or:before,.or:after{content:"";position:absolute;top:50%;width:38%;height:1px;background:var(--line)}.or:before{left:0}.or:after{right:0}.chapter{margin-bottom:10px}.chapter summary{list-style:none;cursor:pointer;font-weight:700;display:flex;justify-content:space-between;align-items:center;gap:8px;padding:4px 0}.chapter summary::-webkit-details-marker{display:none}.title-tabs{display:flex;gap:8px;overflow-x:auto;padding-bottom:4px;margin-bottom:4px;-webkit-overflow-scrolling:touch;scrollbar-width:none}.title-tabs::-webkit-scrollbar{display:none}.title-tab-wrap{position:relative;flex:0 0 auto;max-width:220px}.title-tab{width:100%;max-width:220px;text-align:left;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-sm);padding:12px 36px 12px 14px;color:inherit}.title-tab b{display:block;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.title-tab span{color:var(--muted);font-size:12px}.title-tab-del{position:absolute!important;top:6px;right:6px;min-width:28px!important;min-height:28px!important;padding:0!important;border-radius:999px!important;font-size:16px!important;line-height:1!important}.library-grid{display:grid;grid-template-columns:1fr;gap:12px}.library-card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-sm);overflow:hidden}.library-bubble{display:block;width:100%;max-height:180px;object-fit:contain;background:#0d0d0f}.library-bubble-empty{display:flex;align-items:center;justify-content:center;min-height:72px;color:var(--muted);font-size:12px;background:color-mix(in srgb,var(--paper) 80%,#000 20%)}.library-card-body{padding:12px 14px 14px}.library-card-meta{display:flex;align-items:center;gap:10px;margin-bottom:8px}.library-card-meta b{display:block;font-size:14px}.library-card-meta .muted{display:block;font-size:12px}.library-card-text{margin:0 0 10px;font-size:14px;line-height:1.45;white-space:pre-wrap}.library-face{width:44px;height:44px;border-radius:50%;object-fit:cover;flex:0 0 auto;background:color-mix(in srgb,var(--paper) 70%,#888 30%);border:1px solid var(--line)}.library-face-empty{width:44px;height:44px;border-radius:50%;background:color-mix(in srgb,var(--paper) 70%,#888 30%);border:1px dashed var(--line)}.library-chars{display:flex;flex-direction:column;gap:8px}.library-char-item{display:flex;align-items:center;gap:12px;text-align:left;width:100%;padding:10px 12px;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-sm);color:inherit;cursor:pointer}.library-char-item b{display:block;font-size:14px}.library-char-item .muted{display:block;font-size:12px}.library-face-row{display:flex;align-items:center;gap:14px;margin-bottom:10px}.library-face-row .library-face,.library-face-row .library-face-empty{width:72px;height:72px}.library-face-stage{position:relative;margin:8px 0 12px;border:1px solid var(--line);border-radius:var(--radius-sm);overflow:hidden;background:#0d0d0f}.library-face-stage .cast-shot{display:block;width:100%;height:auto}.chapter-row{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;gap:8px 10px;align-items:start;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-sm);padding:12px 14px;margin-bottom:8px}.chapter-row.stopped{border-color:var(--accent)}.chapter-row.failed .chapter-err{color:var(--accent);font-size:12px;display:block}.chapter-row>input[type=checkbox]{grid-row:1 / 3;width:20px;height:20px;min-height:0;margin-top:4px;flex-shrink:0}.chapter-info b{display:block;font-size:14px;font-weight:700;line-height:1.3}.chapter-info .muted,.chapter-info .chapter-err{display:block;margin-top:2px;font-size:12px}.chapter-actions{grid-column:2;display:flex;flex-wrap:wrap;gap:6px;align-items:center}.chapter-act{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-height:40px;padding:0 10px;border-radius:10px;border:1px solid var(--line);background:var(--inset);color:var(--ink);font-size:12px;font-weight:600;white-space:nowrap}.chapter-act .ico{width:16px;height:16px}.chapter-act:active:not(:disabled){transform:scale(.97)}.chapter-act:disabled{opacity:.45}.chapter-act.primary{color:var(--accent-soft);border-color:color-mix(in srgb,var(--accent) 45%,var(--line));background:var(--accent-dim)}.chapter-act.done{color:var(--ok);border-color:#2a6b4a;background:color-mix(in srgb,var(--ok) 12%,var(--inset))}.chapter-act.pinned{color:var(--accent-soft);border-color:var(--accent);background:var(--accent-dim)}.chapter-act.pending .ico{animation:ico-down .7s ease-in-out infinite}.chapter-act.voice{padding:0 12px;background:transparent;border-color:var(--line);font-size:13px}.chapter-act-label{font-size:11px;color:var(--muted)}.chapter-act.done .chapter-act-label,.chapter-act.pinned .chapter-act-label{color:inherit;opacity:.85}@media (max-width: 480px){.chapter-act{padding:0 8px;min-width:44px;min-height:40px}.chapter-act.voice{padding:0 10px}.chapter-act.voice span{display:inline}}.audio-player{width:100%;margin:8px 0 4px;border-radius:var(--radius-sm)}.app.web:has(.cast-split){max-width:1280px}.app.web:has(.cast-split) .app-main{max-width:1280px;margin:0 auto;width:100%}.app.web:has(.cast-split) .progress{max-width:1248px}.app.web:has(.cast-split) .app-main.sub-view,.app.web:has(.cast-split) .app-main:not(.sub-view){padding-bottom:28px}.app.web:has(.cast-split) .bottom-nav{display:none}.app:has(.sub-view) .progress{bottom:calc(env(safe-area-inset-bottom) + 10px)}.cast-split{display:grid;grid-template-columns:minmax(300px,1fr) minmax(280px,.95fr);gap:16px;align-items:start}.cast-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px;flex-wrap:wrap}.cast-toolbar h2{margin:0;font-size:17px;font-weight:700}.cast-toolbar .lead{display:none}.cast-role-voices{margin-bottom:14px;padding:12px;border-radius:var(--radius-sm);border:1px solid var(--line);background:var(--inset)}.cast-role-voices--empty{padding:12px 14px}.cast-role-voices--empty .muted{margin:0;font-size:13px}.cast-role-voices-title{margin:0 0 10px;font-size:12px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}.role-voice-row{display:grid;grid-template-columns:minmax(72px,1fr) auto minmax(120px,2fr) auto;align-items:center;gap:8px;padding:10px;margin-bottom:6px;border-radius:10px;border-left:3px solid var(--role, var(--line));background:color-mix(in srgb,var(--role, #16161c) 12%,transparent)}.role-voice-row:last-child{margin-bottom:0}.role-voice-name{font-weight:700;font-size:14px}.role-voice-eq{color:var(--muted)}.role-voice-row select{width:100%;min-height:44px;padding:8px 10px;font-size:15px}.cast-lines .line{cursor:pointer;background:color-mix(in srgb,var(--role, #16161c) 18%,var(--inset));border-color:color-mix(in srgb,var(--role, var(--line)) 38%,var(--line));border-left:3px solid var(--role, var(--line));padding:8px 10px}.cast-lines .line .line-grid{gap:6px}.cast-lines .line .field>span{font-size:11px}.cast-lines .line textarea{min-height:64px;font-size:14px;line-height:1.35}.cast-lines .line .field-text textarea{field-sizing:content;min-height:44px;max-height:45vh;font-size:15px;resize:none}.cast-lines .line .field-text{margin-bottom:6px}.cast-lines .line .line-actions{margin-top:8px;gap:8px}.cast-lines .line .line-actions .btn.line-dup,.cast-lines .line .line-actions .btn.line-del,.cast-lines .line .line-actions .btn.line-pause{min-height:40px;padding:8px 12px;font-size:13px}.cast-lines .line.dim{opacity:.45}.cast-lines .line.picking{border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 25%,transparent)}.line-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:10px;align-items:center}.line-actions .btn.line-dup,.line-actions .btn.line-del,.line-actions .btn.line-pause{flex:1 1 0;min-width:96px;min-height:46px;padding:10px 14px;font-size:14px;border:1px solid color-mix(in srgb,var(--ink) 28%,var(--line));background:color-mix(in srgb,var(--ink) 4%,var(--inset));box-shadow:inset 0 1px color-mix(in srgb,var(--ink) 6%,transparent)}.line-actions .btn.line-dup:hover,.line-actions .btn.line-del:hover,.line-actions .btn.line-pause:hover{border-color:color-mix(in srgb,var(--ink) 42%,var(--line));background:color-mix(in srgb,var(--ink) 8%,var(--inset))}.line-actions .btn.line-pause.on{border-color:color-mix(in srgb,var(--accent) 48%,var(--line));color:color-mix(in srgb,var(--accent) 78%,var(--ink))}.line-pause-edit{display:flex;align-items:center;gap:8px;flex:1 1 100%;min-height:46px;padding:6px 10px;border-radius:10px;border:1px solid color-mix(in srgb,var(--accent) 35%,var(--line));background:color-mix(in srgb,var(--accent) 8%,var(--inset))}.line-pause-edit span{font-size:13px;opacity:.75}.line-pause-edit input{flex:1;min-width:0;min-height:34px;font-size:16px;border:none;background:transparent;color:inherit}.line-actions .btn.line-del{border-color:color-mix(in srgb,var(--accent-soft) 42%,var(--line));color:color-mix(in srgb,var(--accent-soft) 88%,var(--ink))}.line-actions .btn.line-del:hover{border-color:color-mix(in srgb,var(--accent-soft) 62%,var(--line));background:color-mix(in srgb,var(--accent) 10%,var(--inset))}.cast-pages{position:sticky;top:calc(var(--header-h) + 8px);height:calc(100dvh - var(--header-h) - var(--nav-h) - 24px);min-height:280px}.cast-viewer{position:relative;height:100%;min-height:280px}.cast-viewer--overlay{flex:1;min-height:0;display:flex;flex-direction:column}.cast-viewer--overlay .page-jump{top:max(10px,env(safe-area-inset-top));right:58px}.cast-stage{position:relative;height:100%;overflow:auto;border:1px solid var(--line);border-radius:var(--radius);background:var(--inset)}.cast-shot{width:100%;display:block}.cast-empty{display:flex;flex-direction:column;gap:8px;justify-content:center;min-height:240px;padding:24px;color:var(--muted)}.cast-empty b{color:var(--ink);font-size:16px}.page-jump{position:absolute;top:10px;right:10px;z-index:6;pointer-events:none}.page-jump-btn{pointer-events:auto;min-width:48px;height:36px;padding:0 10px;border-radius:10px;border:1px solid color-mix(in srgb,var(--ink) 24%,var(--line));background:color-mix(in srgb,var(--bg) 80%,transparent);color:var(--ink);font-weight:700;font-size:13px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 4px 18px #00000059}.page-jump-menu{pointer-events:auto;position:absolute;top:calc(100% + 6px);right:0;min-width:160px;max-height:min(50vh,320px);overflow:auto;padding:6px;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-sm)}.page-jump-menu button{display:block;width:100%;text-align:left;border:0;background:transparent;color:var(--ink);border-radius:8px;padding:10px 12px;font-size:14px;min-height:44px}.page-jump-menu button.on,.page-jump-menu button:hover{background:var(--inset)}.parse-help{margin:0 0 12px}.parse-help summary{cursor:pointer;color:var(--muted);font-size:13px}.parse-steps{margin:8px 0 0;padding-left:1.2rem;color:var(--muted);font-size:13px;line-height:1.45}.cast-shot-wrap{position:relative;display:block}.region-layer{position:absolute;top:0;right:0;bottom:0;left:0;cursor:crosshair;touch-action:none;z-index:3}.region-box{position:absolute;border:2px solid #5eb8ff;background:color-mix(in srgb,#5eb8ff 18%,transparent);pointer-events:none}.cast-pick-bar{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}.cast-pick-hint{margin:8px 0 0;font-size:12px;text-align:center;color:var(--muted)}.cast-pick-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;display:flex;align-items:flex-end;justify-content:center;padding:16px;padding-bottom:max(16px,env(safe-area-inset-bottom));background:#0000008c;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.cast-pick-dialog{width:100%;max-width:420px;padding:20px 18px;border-radius:20px 20px 16px 16px;border:1px solid var(--line);background:var(--paper);text-align:center}.cast-pick-dialog-title{margin:0 0 4px;font-size:18px;font-weight:700}.cast-pick-dialog-sub{margin:0 0 16px;font-size:14px}.cast-pick-error{margin:0 0 12px;padding:10px 12px;border-radius:10px;background:var(--accent-dim);color:#f5b8c4;font-size:13px;line-height:1.4}.cast-pick-dialog .cast-pick-bar{flex-direction:column}.cast-pick-dialog .cast-pick-bar .btn{width:100%}.spell-modal{max-width:640px;max-height:min(86vh,820px);text-align:left;display:flex;flex-direction:column}.spell-modal .cast-pick-dialog-title,.spell-modal .cast-pick-dialog-sub{text-align:left}.spell-list{flex:1 1 auto;min-height:120px;max-height:min(52vh,420px);overflow-x:hidden;overflow-y:auto;margin:0 0 14px;display:flex;flex-direction:column;gap:8px;align-content:flex-start}.spell-row{display:flex;gap:10px;align-items:flex-start;flex:0 0 auto;min-height:auto;padding:10px 12px;border:1px solid var(--line);border-radius:12px;cursor:pointer;overflow:visible}.spell-row input[type=checkbox]{width:20px;height:20px;min-width:20px;min-height:20px;max-width:20px;margin:3px 0 0;padding:0;flex:none;-webkit-appearance:auto;-moz-appearance:auto;appearance:auto;background:var(--inset);border:1px solid var(--line);border-radius:4px;accent-color:var(--accent)}.spell-body{display:flex;flex-direction:column;gap:4px;min-width:0;flex:1 1 auto}.spell-meta{display:block;font-size:11px;line-height:1.35;color:var(--muted)}.spell-text{margin:0;font-size:14px;line-height:1.45;overflow-wrap:anywhere;white-space:pre-wrap}.spell-before{color:var(--muted)}.spell-del{background:#f05a782e;color:#f5b8c4;border-radius:4px;text-decoration:line-through}.spell-ins{background:#50c88c2e;color:#9fe5c0;border-radius:4px}.spell-actions{flex-direction:column}.cast-pick-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;background:var(--bg);display:flex;flex-direction:column}.cast-pick-close{position:absolute;top:max(10px,env(safe-area-inset-top));right:10px;z-index:55;width:44px;height:44px;border-radius:12px;border:1px solid var(--line);background:color-mix(in srgb,var(--bg) 85%,transparent);color:var(--ink);font-size:24px}.cast-pick-zoom-bar{display:flex;align-items:center;gap:8px;padding:10px 56px 10px 12px;padding-top:max(10px,env(safe-area-inset-top));border-bottom:1px solid var(--line);background:var(--paper);flex-wrap:wrap;flex:0 0 auto;z-index:54}.cast-pick-zoom-bar .muted{font-size:12px;margin-left:auto}.cast-stage--fullscreen{flex:1;min-height:0;height:100%;border:0;border-radius:0}.cast-picking-mobile .cast-lines{display:none}.list-row{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:10px 12px;border-radius:10px;background:var(--inset);border:1px solid var(--line);font-size:13px}@media (max-width: 900px){.cast-split{display:flex;flex-direction:column}.cast-pages{position:relative;top:0;order:0;height:auto;max-height:none}.cast-pages--collapsed{height:auto;min-height:0}.cast-pages-toggle{width:100%;margin-bottom:8px;padding:10px 12px;border-radius:10px;border:1px solid var(--line);background:var(--inset);color:var(--text);font-size:14px;text-align:left}.cast-pages:not(.cast-pages--collapsed) .cast-viewer{height:min(48dvh,440px)}.cast-lines{order:1}.role-voice-row{grid-template-columns:1fr;gap:6px}.role-voice-eq,.role-voice-row .tag{display:none}.role-voice-row select,.role-voice-row .voice-picker{min-height:44px;font-size:16px}.line-head .line-num{display:none}.line-move{display:inline-flex}.progress .row{flex-wrap:nowrap;gap:8px;align-items:center}.progress .row>b.grow{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.progress .row .btn.mini{padding:0 8px;min-width:0;font-size:12px}.chapter-actions{flex-wrap:wrap;width:100%;justify-content:flex-start}.chapter-row{flex-wrap:wrap;gap:8px}.chapter-info{width:calc(100% - 36px)}.chapter-act{min-height:44px;min-width:52px;padding:0 10px}.chapter-act-label{display:inline}.seg button{min-height:44px}.page-jump-btn{min-height:44px;min-width:56px}}@media (min-width: 901px){.line-move{display:inline-flex}.cast-sticky-actions{bottom:12px}}@media (max-width: 480px){.nav-item{font-size:9px;gap:2px;padding:4px 2px}.scroll-top-fab{left:10px}.voice-tune{max-height:min(55dvh,480px)}}@media (prefers-reduced-motion: reduce){.icon-btn,.bar>i{transition:none;animation:none}}html:not([data-ui-theme=classic]) .keys-gate,html:not([data-ui-theme=classic]) .native-login-gate,html:not([data-ui-theme=classic]) .app-update-overlay{background:radial-gradient(ellipse at 25% 15%,color-mix(in srgb,var(--accent) 28%,transparent) 0%,transparent 55%),radial-gradient(ellipse at 85% 80%,color-mix(in srgb,#1d4d8c 32%,transparent) 0%,transparent 50%),var(--bg)}html:not([data-ui-theme=classic]) .glass-panel,html:not([data-ui-theme=classic]) .card{background:color-mix(in srgb,var(--paper) 55%,transparent);border:1px solid color-mix(in srgb,#fff 8%,var(--line));backdrop-filter:blur(18px) saturate(1.2);-webkit-backdrop-filter:blur(18px) saturate(1.2);box-shadow:0 1px color-mix(in srgb,#fff 6%,transparent) inset,0 16px 40px -24px #000000a6}html:not([data-ui-theme=classic]) .app-header{background:color-mix(in srgb,var(--bg) 55%,transparent);border-bottom-color:color-mix(in srgb,#fff 6%,transparent);backdrop-filter:blur(20px) saturate(1.25);-webkit-backdrop-filter:blur(20px) saturate(1.25)}html:not([data-ui-theme=classic]) .bottom-nav{background:color-mix(in srgb,var(--paper) 62%,transparent);backdrop-filter:blur(22px) saturate(1.3);-webkit-backdrop-filter:blur(22px) saturate(1.3);border:1px solid color-mix(in srgb,#fff 10%,transparent)}html:not([data-ui-theme=classic]) .screen-head-greet{margin:0 0 4px;font-size:13px;font-weight:600;color:var(--muted);letter-spacing:.02em}html:not([data-ui-theme=classic]) .seg.chips{gap:8px;background:transparent;padding:0;margin:0 0 14px;overflow-x:auto}html:not([data-ui-theme=classic]) .seg.chips button{flex:0 0 auto;border-radius:999px;border:1px solid color-mix(in srgb,#fff 10%,var(--line));background:color-mix(in srgb,var(--paper) 50%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:10px 16px}html:not([data-ui-theme=classic]) .seg.chips button.on{background:var(--accent);color:#fff;border-color:transparent;box-shadow:0 8px 24px -10px var(--glow)}.audio-hero{display:grid;grid-template-columns:1.2fr .8fr;gap:12px;align-items:center;padding:18px 18px 16px;margin-bottom:14px;border-radius:var(--radius);position:relative;overflow:hidden;min-height:148px}.audio-hero-copy h2{margin:0 0 6px;font-size:1.35rem;font-weight:800;letter-spacing:-.03em}.audio-hero-copy p{margin:0 0 12px;color:var(--muted);font-size:13px;line-height:1.45}.audio-hero-greet{margin:0 0 4px!important;font-size:12px!important;font-weight:700;color:color-mix(in srgb,var(--accent-soft) 80%,var(--muted))!important;text-transform:uppercase;letter-spacing:.06em}.audio-hero-cta{border-radius:999px!important;min-height:42px;padding:0 20px}.audio-hero-art{position:relative;height:110px;display:grid;place-items:center}.audio-hero-disc{width:92px;height:92px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff6 0%,transparent 28%),conic-gradient(from 210deg,var(--accent),#1d4d8c,#433236,var(--accent));box-shadow:0 0 36px var(--glow);animation:disc-spin 18s linear infinite}.audio-hero-glow{position:absolute;top:10%;right:5%;bottom:10%;left:5%;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--accent) 35%,transparent),transparent 70%);filter:blur(8px);pointer-events:none}@keyframes disc-spin{to{transform:rotate(360deg)}}@media (max-width: 420px){.audio-hero{grid-template-columns:1fr}.audio-hero-art{display:none}}.cover-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:4px}@media (min-width: 720px){.cover-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.cover-card{padding:10px;border-radius:var(--radius);display:flex;flex-direction:column;gap:8px}.cover-card-open{border:0;background:transparent;text-align:left;padding:0;color:inherit;display:flex;flex-direction:column;gap:8px;width:100%}.cover-card-open b{font-size:14px;font-weight:750;line-height:1.25;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.cover-card-open .muted{font-size:12px}.cover-card-actions{display:flex;gap:6px;justify-content:flex-end}.project-cover{position:relative;border-radius:18px;overflow:hidden;display:grid;place-items:center;color:#fff;font-weight:800;letter-spacing:-.04em;box-shadow:0 12px 28px -16px #000000b3}.project-cover--md{aspect-ratio:1;width:100%;font-size:2rem}.project-cover--lg{width:88px;height:88px;border-radius:22px;font-size:2.2rem;z-index:1}.project-cover-wave{position:absolute;left:12%;right:12%;bottom:14%;height:18%;border-radius:99px;background:linear-gradient(90deg,transparent,#fffc,transparent);opacity:.35}.now-playing-card{overflow:hidden}.now-playing{display:flex;flex-direction:column;align-items:center;text-align:center;padding:8px 4px 4px;margin-bottom:12px;background:transparent!important;border:0!important;box-shadow:none!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important}.now-playing-label{margin:0 0 12px;font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.now-playing-ring-wrap{position:relative;width:140px;height:140px;display:grid;place-items:center;margin-bottom:14px}.now-playing-ring{position:absolute;top:0;right:0;bottom:0;left:0;transform:rotate(-90deg);filter:drop-shadow(0 0 10px var(--glow))}.now-playing-ring-track{fill:none;stroke:color-mix(in srgb,var(--line) 80%,transparent);stroke-width:4}.now-playing-ring-prog{fill:none;stroke:var(--accent);stroke-width:4.5;stroke-linecap:round;transition:stroke-dasharray .15s linear}.now-playing-title{margin:0 0 4px;font-size:1.25rem;font-weight:800;letter-spacing:-.03em}.now-playing-sub{margin:0 0 14px;color:var(--muted);font-size:14px}.now-playing-wave{display:flex;align-items:flex-end;justify-content:center;gap:2px;width:100%;height:52px;cursor:pointer;padding:0 4px;touch-action:none;-webkit-user-select:none;user-select:none}.now-playing-wave i{width:3px;border-radius:99px;background:color-mix(in srgb,var(--muted) 45%,transparent);transition:background .12s ease,height .2s ease}.now-playing-wave i.on{background:var(--accent);box-shadow:0 0 8px var(--glow)}.now-playing-times{display:flex;justify-content:space-between;width:100%;margin-top:6px;font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums}.now-playing-controls{display:flex;align-items:center;justify-content:center;gap:18px;margin-top:16px}.np-btn{border:0;background:transparent;color:var(--ink);font-weight:700;min-width:44px;min-height:44px;border-radius:999px}.np-btn.ghost{color:var(--muted);border:1px solid color-mix(in srgb,#fff 8%,var(--line));background:color-mix(in srgb,var(--paper) 40%,transparent)}.np-btn.play{width:64px;height:64px;font-size:22px;background:var(--accent);color:#fff;box-shadow:0 10px 32px -8px var(--glow)}.np-btn:disabled{opacity:.35}.audio-player-hidden{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}html:not([data-ui-theme=classic]) .stepper-audio{background:color-mix(in srgb,var(--paper) 45%,transparent);border:1px solid color-mix(in srgb,#fff 8%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:999px;padding:4px}html:not([data-ui-theme=classic]) .stepper-audio button{border-radius:999px}html:not([data-ui-theme=classic]) .stepper-audio button.on{background:var(--accent);color:#fff;box-shadow:0 6px 18px -8px var(--glow)}@media (prefers-reduced-motion: reduce){.audio-hero-disc{animation:none}}@media (min-width: 1200px){.app .app-main,.app.web .app-main:not(.sub-view),.app.web .app-main.sub-view{max-width:1320px;margin-inline:auto;width:100%}html:not([data-ui-theme=classic]) .bottom-nav,html:not([data-ui-theme=classic]).web-site .bottom-nav,html:not([data-ui-theme=classic]) .app.web .bottom-nav{max-width:1296px}.project-list-audio{display:grid;grid-template-columns:repeat(auto-fill,minmax(380px,1fr));gap:12px}}
