:root{--paper:#F2EDE3;--card:#FBF8F2;--card-2:#F6F1E7;--ink:#2A2622;--ink-2:#6B6459;--ink-3:#A29A8D;--rule:#DED6C7;--rule-2:#EBE4D8;--seal:#A63A2E;--seal-bg:#F3E4E0;--moss:#4A6153;--rec:#C4392B;--shadow:rgba(42,38,34,.10);--serif:"Songti SC","Source Han Serif SC","Noto Serif SC","STSong","SimSun",serif;--sans:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei","Segoe UI",sans-serif}[data-theme=night]{--paper:#1A1815;--card:#232019;--card-2:#2A251E;--ink:#EDE6D8;--ink-2:#A79E8D;--ink-3:#6E665A;--rule:#38322A;--rule-2:#2E2921;--seal:#D97B62;--seal-bg:#3A2620;--moss:#7FA48D;--rec:#E0705C;--shadow:rgba(0,0,0,.4)}*{box-sizing:border-box;-webkit-font-smoothing:antialiased}body,html{margin:0;padding:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.6;overscroll-behavior-y:none}.screen{padding-top:env(safe-area-inset-top);min-height:100dvh;box-sizing:border-box}.screen.iv{height:100dvh}.grow,.pad{padding-bottom:env(safe-area-inset-bottom)}body{-webkit-touch-callout:none}[contenteditable],input,textarea{-webkit-touch-callout:default;-webkit-user-select:text;-moz-user-select:text;user-select:text}.serif{font-family:var(--serif)}button{font-family:inherit}@media (min-width:720px){body{max-width:480px;margin:0 auto}}.screen{display:flex;flex-direction:column}.grow{flex:1 1}.grow,.pad{padding:0 28px}.nav{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:14px 24px}.nav>:first-child{justify-self:start}.nav>:last-child{justify-self:end}.nav-back{font-size:15px;color:var(--ink-2);background:none;border:none;cursor:pointer;padding:6px 0;text-decoration:none}.nav-title{font-size:13px;letter-spacing:.08em;color:var(--ink-3)}.btn{display:block;width:100%;text-align:center;cursor:pointer;border:none;border-radius:999px;font-size:16px;padding:16px 24px;background:var(--ink);color:var(--paper);transition:transform .12s,opacity .2s;text-decoration:none}.btn:active{transform:scale(.98)}.btn:disabled{opacity:.35;pointer-events:none}.btn.seal{background:var(--seal);color:#fff}.btn.ghost{background:transparent;color:var(--ink-2);box-shadow:inset 0 0 0 1px var(--rule)}.field{margin-bottom:24px}.field label{display:block;font-size:11px;letter-spacing:.16em;color:var(--ink-3);margin-bottom:10px}.field input{width:100%;font-size:19px;color:var(--ink);background:transparent;border:none;border-bottom:1px solid var(--rule);padding:4px 0 9px;outline:none;border-radius:0;font-family:var(--serif)}.field input::placeholder{color:var(--ink-3);opacity:.55}.field input:focus{border-bottom-color:var(--seal)}.field .tip{font-size:11.5px;color:var(--ink-3);margin-top:9px;line-height:1.75}.field .tip b{color:var(--seal);font-weight:400}.step-dots{display:flex;gap:5px;margin-bottom:24px}.step-dots i{height:2px;flex:1 1;background:var(--rule);border-radius:2px;transition:background .3s}.step-dots i.on{background:var(--seal)}.step-q{font-size:24px;font-weight:500;margin:0 0 9px;line-height:1.62}.step-sub{font-size:12.5px;color:var(--ink-3);line-height:1.85;margin:0 0 26px}.chip-group{margin-bottom:22px}.chip-group .gl{font-size:10.5px;letter-spacing:.2em;color:var(--ink-3);margin-bottom:11px}.chips{display:flex;flex-wrap:wrap;gap:8px}.chip{font-size:14px;padding:9px 15px;border-radius:999px;cursor:pointer;background:var(--card);color:var(--ink-2);border:none;box-shadow:inset 0 0 0 1px var(--rule-2);transition:all .15s}.chip.on{background:var(--ink);color:var(--paper);box-shadow:none}.pick-big{display:block;width:100%;text-align:left;cursor:pointer;background:var(--card);border:none;border-radius:3px;padding:21px 20px;margin-bottom:12px;box-shadow:inset 0 0 0 1px var(--rule-2);transition:box-shadow .18s;color:var(--ink)}.pick-big.on{box-shadow:inset 0 0 0 1.5px var(--seal)}.pick-big h4{margin:0 0 8px;font-size:18px;font-weight:500;font-family:var(--serif)}.pick-big p{margin:0;font-size:12.5px;color:var(--ink-2);line-height:1.85}.note{background:var(--card);border-radius:3px;padding:18px 19px;border-left:2px solid var(--moss);text-align:left}.note .lbl{font-size:10.5px;letter-spacing:.18em;color:var(--moss);margin-bottom:11px}.note p{margin:0;font-size:12.5px;line-height:1.9;color:var(--ink-2)}.note b{color:var(--ink);font-weight:500}.err{font-size:13px;color:var(--seal);background:var(--seal-bg);padding:12px 15px;border-radius:3px;margin-bottom:18px}.bookcard{display:flex;gap:16px;padding:18px;align-items:center;background:var(--card);border-radius:4px;margin-bottom:16px;box-shadow:0 1px 3px var(--shadow);border-left:3px solid var(--seal);cursor:pointer;text-decoration:none;color:var(--ink);transition:transform .15s}.bookcard:hover{transform:translateX(2px)}.bookcard h3{margin:0 0 5px;font-size:19px;font-weight:500;font-family:var(--serif)}.bookcard .meta{font-size:12px;color:var(--ink-3);line-height:1.7}.portrait{width:62px;height:78px;flex:none;border-radius:2px;background:radial-gradient(ellipse at 50% 34%,color-mix(in srgb,var(--ink) 16%,transparent) 0,transparent 58%),linear-gradient(160deg,var(--card-2),color-mix(in srgb,var(--ink) 12%,var(--card-2)));box-shadow:inset 0 0 22px color-mix(in srgb,var(--ink) 14%,transparent);display:flex;align-items:flex-end;justify-content:center;padding-bottom:6px;font-size:9px;color:var(--ink-3);letter-spacing:.1em}.add-book{display:block;padding:20px;border:1px dashed var(--rule);border-radius:4px;text-align:center;font-size:14px;color:var(--ink-3);text-decoration:none;cursor:pointer}.seal-mark{width:58px;height:58px;border-radius:3px;background:var(--seal);color:#fff;display:flex;align-items:center;justify-content:center;font-size:24px;font-family:var(--serif);margin:0 auto 24px}@keyframes qin{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.25}}@keyframes up{0%{transform:translateY(100%)}to{transform:none}}.ev{padding:4px 28px 30px}.ev-year{font-size:12px;letter-spacing:.16em;color:var(--ink-3);margin-bottom:10px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.ev h2{font-size:22px;font-weight:500;margin:0 0 20px;line-height:1.6}.ev-narr{font-size:16px;line-height:2.05;color:var(--ink);margin:0 0 10px;white-space:pre-wrap}.ev-badge{display:inline-block;font-size:10.5px;letter-spacing:.14em;padding:3px 8px;border-radius:2px;margin-bottom:22px}.ev-badge.todo{color:var(--seal);background:var(--seal-bg)}.ev-badge.ok{color:var(--moss);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--moss) 35%,transparent)}.ev-badge.warn{color:var(--rec);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--rec) 40%,transparent)}.src-block{background:var(--card);border-radius:3px;padding:20px;margin-bottom:18px;box-shadow:0 1px 2px var(--shadow)}.src-block .lbl{font-size:10.5px;letter-spacing:.18em;color:var(--ink-3);margin-bottom:15px}.player{gap:12px;margin-bottom:16px}.play-btn,.player{display:flex;align-items:center}.play-btn{width:38px;height:38px;border-radius:50%;background:var(--ink);flex:none;justify-content:center;cursor:pointer;border:none;padding:0}.play-btn:disabled{opacity:.3;pointer-events:none}.play-btn i{display:block;border-left:10px solid var(--paper);border-top:7px solid transparent;border-bottom:7px solid transparent;margin-left:3px}.play-btn.on i{border:none;width:11px;height:12px;margin-left:0;border-left:3.5px solid var(--paper);border-right:3.5px solid var(--paper);box-sizing:border-box}.src-wave{display:flex;align-items:center;gap:1.5px;height:26px;flex:1 1;min-width:0;overflow:hidden;cursor:pointer;border:none;background:none;padding:0}.src-wave b{width:2px;background:var(--rule);border-radius:1px;display:block;flex:none}.src-wave b.hi{background:color-mix(in srgb,var(--seal) 42%,var(--rule))}.src-wave b.played{background:var(--ink-3)}.src-wave b.hi.played{background:var(--seal)}.src-time{font-size:11.5px;color:var(--ink-3);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;flex:none}.transcript{font-size:13.5px;line-height:2;color:var(--ink-2);background:var(--card-2);padding:15px 16px;border-radius:3px;max-height:300px;overflow-y:auto}.transcript p{margin:0 0 9px}.transcript p:last-child{margin-bottom:0}.transcript .ask{color:var(--ink-3);font-size:12.5px}.transcript mark{background:color-mix(in srgb,var(--seal) 16%,transparent);color:var(--ink);padding:1px 2px;border-radius:1px}.transcript .now{box-shadow:inset 2px 0 0 var(--seal);padding-left:8px;margin-left:-10px}.chan{margin:0 0 20px;font-size:11.5px;color:var(--ink-3);display:flex;align-items:baseline;gap:7px;line-height:1.8}.chan i{width:6px;height:6px;border-radius:50%;flex:none;transform:translateY(-1px)}.chan b{color:var(--ink);font-weight:500}.chan.risk,.chan.risk b{color:var(--rec)}.verify-row{display:flex;gap:9px}.verify-row .btn{font-size:14px;padding:13px 10px}.verify-row .btn.danger{color:var(--rec)}.rule-note{margin-top:22px;font-size:11.5px;color:var(--ink-3);line-height:1.85;padding-top:16px;border-top:1px solid var(--rule-2)}.ev-edit textarea{width:100%;box-sizing:border-box;font-family:var(--serif);font-size:15.5px;line-height:1.95;color:var(--ink);background:var(--card);border:none;border-radius:3px;padding:14px 15px;resize:vertical;min-height:130px;box-shadow:inset 0 0 0 1px var(--rule)}.ev-edit textarea:focus{outline:none;box-shadow:inset 0 0 0 1.5px var(--seal)}.ev-edit .row{display:flex;gap:9px;align-items:center;margin:14px 0 16px}.ev-edit .row input{flex:1 1;min-width:0;box-sizing:border-box;font-family:inherit;font-size:14px;color:var(--ink);background:var(--card);border:none;border-radius:3px;padding:11px 13px;box-shadow:inset 0 0 0 1px var(--rule)}.ev-edit .row input:focus{outline:none;box-shadow:inset 0 0 0 1.5px var(--seal)}.ev-edit .row select{font-family:inherit;font-size:13px;color:var(--ink-2);background:var(--card);border:none;border-radius:3px;padding:11px 9px;box-shadow:inset 0 0 0 1px var(--rule)}.spk-pick{display:flex;flex-direction:column;gap:8px;margin:4px 0 16px}.spk-pick button{text-align:left;font-family:inherit;cursor:pointer;border:none;background:var(--card);color:var(--ink-2);border-radius:3px;padding:12px 14px;box-shadow:inset 0 0 0 1px var(--rule);font-size:13px;line-height:1.7}.spk-pick button.on{box-shadow:inset 0 0 0 1.5px var(--seal);color:var(--ink)}.spk-pick button .n{font-size:11px;color:var(--ink-3);display:block;margin-top:3px}.linklike{background:none;border:none;padding:0;font-family:inherit;font-size:inherit;color:var(--seal);cursor:pointer;text-decoration:underline;text-underline-offset:2.5px;text-decoration-thickness:.5px}.notice-box{margin-top:14px;padding:17px 19px;border-radius:3px;background:var(--card-2);box-shadow:inset 0 0 0 1px var(--rule)}.notice-box .lbl{font-size:12.5px;color:var(--ink);margin-bottom:12px;font-weight:500}.notice-box ul{margin:0 0 15px;padding:0;list-style:none}.notice-box li{font-size:12.5px;line-height:1.85;color:var(--ink-2);padding-left:15px;position:relative;margin-bottom:8px}.notice-box li:last-child{margin-bottom:0}.notice-box li:before{content:"";position:absolute;left:2px;top:9px;width:4px;height:4px;border-radius:50%;background:var(--ink-3)}.notice-box .ack{display:flex;gap:10px;align-items:flex-start;cursor:pointer;padding-top:13px;border-top:1px solid var(--rule);font-size:13px;line-height:1.75;color:var(--ink)}.notice-box .ack input{flex:none;width:17px;height:17px;margin:2px 0 0;cursor:pointer;accent-color:var(--seal)}