:root,[data-theme=dark]{--bg:#0e0e11;--surface:#17171c;--surface-2:#202028;--surface-3:#2a2a34;--border:#26262e;--border-strong:#383844;--text:#f2f2f5;--text-2:#a3a3ae;--text-3:#8a8a96;--accent:#8b7cf6;--accent-soft:#8b7cf629;--accent-text:#b8adff;--on-accent:#fff;--danger:#ff7070;--success:#52d6a3;--backdrop:#0009;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}[data-theme=light]{--bg:#f6f6f8;--surface:#fff;--surface-2:#efeff3;--surface-3:#e4e4ea;--border:#e3e3e8;--border-strong:#cfcfd8;--text:#16161a;--text-2:#4a4a55;--text-3:#6b6b76;--accent:#6a58e8;--accent-soft:#6a58e81f;--accent-text:#5443d0;--on-accent:#fff;--danger:#d93b3b;--success:#1c9d6c;--backdrop:#00000059;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body,#root{overscroll-behavior:none;height:100%;margin:0}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;overscroll-behavior:none;font:15px/1.4 -apple-system,BlinkMacSystemFont,SF Pro Text,Segoe UI,Roboto,system-ui,sans-serif}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;padding:0}input,textarea,select{font:inherit;color:inherit}a{color:var(--accent-text)}h1,h2,h3{margin:0;font-weight:650}.sr-only{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.app{height:100%;display:flex}.main-col{flex-direction:column;flex:1;min-width:0;height:100%;display:flex}.content{-webkit-overflow-scrolling:touch;padding:calc(env(safe-area-inset-top) + 8px) 16px 24px;flex:1;overflow-y:auto}.content-inner{max-width:760px;margin:0 auto}.sidebar{background:var(--surface);border-right:1px solid var(--border);width:210px;padding:calc(env(safe-area-inset-top) + 18px) 10px 16px;flex-direction:column;flex-shrink:0;gap:2px;display:flex}.sidebar .brand{align-items:center;gap:8px;padding:0 10px 14px;font-size:19px;font-weight:700;display:flex}.nav-item{color:var(--text-2);border-radius:9px;align-items:center;gap:10px;padding:9px 10px;font-weight:500;display:flex}.nav-item:hover{background:var(--surface-2)}.nav-item.active{background:var(--surface-2);color:var(--text)}.nav-item .count{color:var(--text-3);margin-left:auto;font-size:12px}.np-pane{border-left:1px solid var(--border);background:var(--surface);flex-direction:column;flex-shrink:0;width:min(420px,38vw);height:100%;display:flex}.tabbar{border-top:1px solid var(--border);background:var(--surface);padding:6px 4px calc(env(safe-area-inset-bottom) + 4px);justify-content:space-around;display:flex}.tab{color:var(--text-3);flex-direction:column;align-items:center;gap:2px;min-width:56px;padding:4px 8px;font-size:10.5px;display:flex}.tab.active{color:var(--text)}.page-head{align-items:center;gap:10px;padding:10px 0 12px;display:flex}.page-head h1{letter-spacing:-.02em;flex:1;font-size:28px}.icon-btn{width:38px;height:38px;color:var(--text-2);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.icon-btn:hover{background:var(--surface-2);color:var(--text)}.icon-btn:disabled{opacity:.4}.back{color:var(--accent-text);align-items:center;gap:2px;padding:6px 0;font-weight:500;display:inline-flex}.chips{scrollbar-width:none;gap:6px;margin-bottom:8px;display:flex;overflow-x:auto}.chip{background:var(--surface-2);color:var(--text-2);white-space:nowrap;border-radius:99px;padding:6px 13px;font-size:13px;font-weight:500}.chip.active{background:var(--text);color:var(--bg)}.btn{background:var(--surface-2);border-radius:10px;justify-content:center;align-items:center;gap:6px;height:38px;padding:0 16px;font-size:14px;font-weight:600;display:inline-flex}.btn:hover{background:var(--surface-3)}.btn.primary{background:var(--accent);color:var(--on-accent)}.btn.primary:hover{filter:brightness(1.08)}.btn.danger{color:var(--danger)}.btn.small{height:32px;padding:0 12px;font-size:13px}.btn:disabled{opacity:.5}.field{background:var(--surface-2);border:1px solid #0000;border-radius:10px;outline:none;width:100%;height:42px;padding:0 12px}.field:focus{border-color:var(--accent)}textarea.field{resize:vertical;height:auto;padding:10px 12px}.search{position:relative}.search svg{color:var(--text-3);position:absolute;top:50%;left:11px;transform:translateY(-50%)}.search .field{padding-left:36px}.seg{background:var(--surface-2);border-radius:9px;padding:2px;display:inline-flex}.seg button{color:var(--text-2);border-radius:7px;padding:6px 12px;font-size:13px;font-weight:500}.seg button.on{background:var(--surface-3);color:var(--text)}.switch{background:var(--surface-3);border-radius:13px;flex-shrink:0;width:44px;height:26px;transition:background .15s;position:relative}.switch:after{content:"";background:#fff;border-radius:50%;width:20px;height:20px;transition:transform .15s;position:absolute;top:3px;left:3px}.switch.on{background:var(--accent)}.switch.on:after{transform:translate(18px)}.muted{color:var(--text-2)}.faint{color:var(--text-3)}.small{font-size:12.5px}.section-title{color:var(--text-3);text-transform:uppercase;letter-spacing:.04em;margin:22px 0 8px;font-size:13px;font-weight:600}.card{background:var(--surface);border:1px solid var(--border);border-radius:14px}.list-card{background:var(--surface);border:1px solid var(--border);border-radius:14px;overflow:hidden}.list-row{border-bottom:1px solid var(--border);text-align:left;align-items:center;gap:12px;width:100%;padding:12px 14px;display:flex}.list-row:last-child{border-bottom:0}button.list-row:hover{background:var(--surface-2)}.list-row .grow{flex:1;min-width:0}.ep-row-wrap{border-bottom:1px solid var(--border);position:relative;overflow:hidden}.ep-row-wrap .swipe-bg{justify-content:space-between;align-items:center;padding:0 20px;font-size:13px;font-weight:600;display:flex;position:absolute;inset:0}.ep-row{background:var(--bg);touch-action:pan-y;align-items:center;gap:12px;padding:11px 0;display:flex;position:relative}.ep-row .body{cursor:pointer;flex:1;min-width:0}.ep-row .meta{color:var(--text-3);align-items:baseline;gap:5px;min-width:0;font-size:12.5px;display:flex}.ep-row .meta .show{color:var(--accent-text);text-overflow:ellipsis;white-space:nowrap;min-width:0;font-weight:600;overflow:hidden}.ep-row .meta .date{flex-shrink:0}.ep-row .title{-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:1px 0 2px;font-weight:600;display:-webkit-box;overflow:hidden}.ep-row .sub{color:var(--text-2);align-items:center;gap:8px;font-size:12px;display:flex}.ep-row.played .title{color:var(--text-3);font-weight:500}.ep-row.played .meta .show{color:var(--text-2)}.progress{background:var(--surface-3);border-radius:2px;width:70px;height:3px;overflow:hidden}.progress>div{background:var(--accent);height:100%}.play-btn{border:1.5px solid var(--border-strong);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;display:inline-flex}.play-btn.on{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.art{background:var(--surface-2);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;font-weight:700;display:flex;overflow:hidden}.art img{object-fit:cover;width:100%;height:100%;display:block}.show-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:16px;display:grid}.show-tile{text-align:left;position:relative}.show-tile .art{aspect-ratio:1;border-radius:12px;width:100%}.show-tile .name{-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-top:7px;font-size:13.5px;font-weight:600;display:-webkit-box;overflow:hidden}.badge{background:var(--accent);color:var(--on-accent);border-radius:99px;justify-content:center;align-items:center;min-width:22px;height:22px;padding:0 6px;font-size:11.5px;font-weight:700;display:flex;position:absolute;top:6px;right:6px}.empty{text-align:center;color:var(--text-2);padding:56px 20px}.empty svg{color:var(--text-3);margin-bottom:10px}.empty h3{color:var(--text);margin-bottom:6px;font-size:17px}.empty p{margin:0 0 16px}.show-head{align-items:center;gap:16px;margin:4px 0 14px;display:flex}.show-head h2{font-size:21px;line-height:1.2}.show-desc{color:var(--text-2);margin:0 0 12px;font-size:14px}.show-desc.clamped{-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.settings-line{background:var(--surface-2);color:var(--text-2);text-align:left;border-radius:10px;align-items:center;gap:8px;width:100%;margin-bottom:8px;padding:9px 12px;font-size:13px;display:flex}.handoff{background:var(--accent-soft);border:1px solid var(--accent);border-radius:14px;align-items:center;gap:10px;margin:0 8px 6px;padding:9px 10px 9px 12px;font-size:13px;display:flex}.handoff .grow{flex:1;min-width:0}.handoff b{white-space:nowrap;text-overflow:ellipsis;display:block;overflow:hidden}.mini{background:var(--surface-2);border-radius:16px;align-items:center;gap:6px;margin:0 8px 8px;padding:10px 8px 12px 10px;display:flex;position:relative;overflow:hidden}.mini .body{text-align:left;flex:1;min-width:0}.mini .t{-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:15.5px;font-weight:600;line-height:1.3;display:-webkit-box;overflow:hidden}.mini .s{color:var(--text-2);margin-top:1px;font-size:13px}.mini .ctl{width:44px;height:44px;color:var(--text);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.mini .ctl:active{background:var(--surface-3)}.mini .bar{background:var(--accent);height:3px;position:absolute;bottom:0;left:0}.np{height:100%;padding:calc(env(safe-area-inset-top) + 8px) 20px calc(env(safe-area-inset-bottom) + 12px);flex-direction:column;width:100%;max-width:560px;margin:0 auto;display:flex}.np-top{color:var(--text-2);justify-content:space-between;align-items:center;min-height:38px;font-size:12.5px;display:flex}.np-art-wrap{flex:1;justify-content:center;align-items:center;min-height:0;padding:10px 0;display:flex}.np-art-wrap .art{aspect-ratio:1;border-radius:16px;width:min(100%,46vh);height:auto;font-size:56px}.np-title{font-size:19px;font-weight:700;line-height:1.25}.np-sub{color:var(--text-2);margin-top:3px;font-size:14px}.np-compact{align-items:center;gap:12px;margin:8px 0 10px;display:flex}.np-panel{flex:1;min-height:0;margin:0 -6px 8px;padding:0 6px;overflow-y:auto}.scrub{align-items:center;height:22px;margin:18px 0 4px;display:flex;position:relative}.scrub input{appearance:none;z-index:1;background:0 0;width:100%;height:22px;margin:0;position:relative}.scrub input::-webkit-slider-runnable-track{background:linear-gradient(to right, var(--text) var(--p), var(--surface-3) var(--p));border-radius:3px;height:5px}.scrub input::-moz-range-track{background:linear-gradient(to right, var(--text) var(--p), var(--surface-3) var(--p));border-radius:3px;height:5px}.scrub input::-webkit-slider-thumb{-webkit-appearance:none;background:var(--text);border:0;border-radius:50%;width:16px;height:16px;margin-top:-5.5px}.scrub input::-moz-range-thumb{background:var(--text);border:0;border-radius:50%;width:16px;height:16px}.scrub .tick{background:var(--bg);z-index:2;pointer-events:none;width:2px;height:5px;position:absolute;top:8.5px}.times{color:var(--text-3);font-variant-numeric:tabular-nums;justify-content:space-between;font-size:12px;display:flex}.controls{justify-content:center;align-items:center;gap:34px;margin:14px 0 16px;display:flex}.controls .skip{color:var(--text);border-radius:50%;justify-content:center;align-items:center;width:52px;height:52px;display:inline-flex}.controls .skip:hover{background:var(--surface-2)}.big-play{background:var(--text);width:70px;height:70px;color:var(--bg);border-radius:50%;justify-content:center;align-items:center;display:inline-flex}.tools{border-top:1px solid var(--border);justify-content:space-between;padding-top:10px;display:flex}.tool{color:var(--text-2);border-radius:8px;flex-direction:column;align-items:center;gap:3px;min-width:54px;padding:4px 2px;font-size:11px;display:flex}.tool .v{color:var(--text);align-items:center;height:20px;font-size:15px;font-weight:700;display:flex}.tool.on,.tool.on .v{color:var(--accent-text)}.chapter{text-align:left;border-radius:8px;align-items:center;gap:12px;width:100%;padding:10px 8px;display:flex}.chapter:hover{background:var(--surface-2)}.chapter.cur{background:var(--accent-soft)}.chapter .t{flex:1}.chapter time{color:var(--text-3);font-variant-numeric:tabular-nums;font-size:12px}.cue{text-align:left;width:100%;color:var(--text-3);border-radius:8px;padding:6px 8px;font-size:15px;line-height:1.5;display:block}.cue.past{color:var(--text-2)}.cue.cur{color:var(--text);background:var(--accent-soft)}.cue .spk{color:var(--accent-text);font-size:11.5px;font-weight:600;display:block}.cue mark{color:inherit;background:#fac77559;border-radius:2px}.notes{color:var(--text-2);overflow-wrap:anywhere;font-size:14.5px;line-height:1.55}.notes img{border-radius:8px;max-width:100%;height:auto}.notes a.ts{font-variant-numeric:tabular-nums;background:var(--accent-soft);cursor:pointer;border-radius:4px;padding:0 3px;text-decoration:none}.overlay{background:var(--backdrop);z-index:50;justify-content:center;align-items:flex-end;animation:.15s ease-out fade;display:flex;position:fixed;inset:0}.sheet{background:var(--surface);width:100%;max-width:560px;max-height:88vh;padding:8px 18px calc(env(safe-area-inset-bottom) + 18px);border-radius:18px 18px 0 0;animation:.2s ease-out up;overflow-y:auto}.sheet .grab{background:var(--surface-3);border-radius:3px;width:38px;height:5px;margin:2px auto 10px}.sheet h3{margin-bottom:12px;font-size:17px}.fullsheet{z-index:40;background:var(--surface);animation:.22s ease-out up;position:fixed;inset:0}@media (width>=700px){.overlay{align-items:center}.sheet{border-radius:18px;padding-bottom:18px}}@keyframes up{0%{opacity:0;transform:translateY(40px)}}@keyframes fade{0%{opacity:0}}.toast{left:50%;bottom:calc(env(safe-area-inset-bottom) + 140px);background:var(--text);color:var(--bg);z-index:60;border-radius:12px;max-width:calc(100vw - 32px);padding:10px 16px;font-size:14px;font-weight:500;animation:.15s fade;position:fixed;transform:translate(-50%)}.opt-grid{grid-template-columns:repeat(auto-fill,minmax(90px,1fr));gap:8px;display:grid}.opt{background:var(--surface-2);border-radius:10px;padding:12px 6px;font-size:14px;font-weight:600}.opt.on{background:var(--accent);color:var(--on-accent)}.speed-big{text-align:center;font-variant-numeric:tabular-nums;margin:4px 0 10px;font-size:44px;font-weight:700}input[type=range].plain{width:100%;accent-color:var(--accent)}.row-between{justify-content:space-between;align-items:center;gap:12px;display:flex}.bar-chart{align-items:flex-end;gap:8px;height:120px;padding-top:8px;display:flex}.bar-chart .col{height:100%;color:var(--text-3);flex-direction:column;flex:1;justify-content:flex-end;align-items:center;gap:6px;font-size:11px;display:flex}.bar-chart .b{background:var(--accent);border-radius:5px 5px 2px 2px;width:100%;max-width:34px;min-height:2px}.stat-grid{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;display:grid}.stat{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:14px}.stat .n{margin-top:2px;font-size:26px;font-weight:700}.spin{animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.queue-row{border-bottom:1px solid var(--border);background:var(--bg);align-items:center;gap:10px;padding:9px 0;display:flex;position:relative}.queue-row.dragging{z-index:5;background:var(--surface-2);border-radius:10px;box-shadow:0 8px 24px #00000059}.grip{color:var(--text-3);touch-action:none;cursor:grab;padding:8px 4px;display:flex}.kbd{background:var(--surface-2);border:1px solid var(--border-strong);border-radius:5px;padding:1px 6px;font-family:ui-monospace,monospace;font-size:12px}.queue-row .ep-row-wrap{border-bottom:0}.queue-row .ep-row{background:0 0}.sub-btn{background:var(--accent);width:36px;height:36px;color:var(--on-accent);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.sub-btn:hover{filter:brightness(1.08)}.sub-btn.on{background:var(--surface-2);color:var(--success)}.sub-btn:disabled{opacity:.4}.list-row .open{text-align:left;flex:1;align-items:center;gap:12px;min-width:0;display:flex}.content,.sheet,.np-panel,.fullsheet{overscroll-behavior:contain}.ptr{color:var(--text-2);justify-content:center;align-items:center;gap:8px;font-size:13px;font-weight:500;display:flex;overflow:hidden}@media (width<=699px){.show-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px 12px}.show-tile .art{border-radius:10px}.show-tile .name{margin-top:6px;font-size:12.5px}.show-tile .small{font-size:11.5px}.badge{min-width:19px;height:19px;padding:0 5px;font-size:10.5px;top:4px;right:4px}}
