:root{--paper-50:#fff8f0;--paper-100:#fff1e0;--paper-200:#fde3c6;--surface:#fff;--ink-900:#1f2937;--ink-800:#374151;--ink-600:#6b7280;--ink-400:#9ca3af;--primary-600:#ea580c;--primary-700:#c2410c;--primary-800:#9a3412;--primary-500:#f97316;--primary-100:#ffedd5;--primary-50:#fff7ed;--accent-500:#f59e0b;--accent-100:#fef3c7;--success-600:#15803d;--success-100:#dcfce7;--warning-600:#b45309;--warning-100:#fef3c7;--danger-600:#dc2626;--danger-100:#fee2e2;--info-600:#2563eb;--info-100:#dbeafe;--focus:#f97316;--overlay:#11182773;--font-serif:"Noto Serif SC", "Source Han Serif SC", "Songti SC", "STSong", "SimSun", serif;--font-sans:"Noto Sans SC", "Source Han Sans SC", "PingFang SC", "Microsoft YaHei", "Microsoft JhengHei", sans-serif;--fs-display:2.25rem;--fs-h1:1.75rem;--fs-h2:1.5rem;--fs-h3:1.375rem;--fs-body-xl:1.375rem;--fs-body-lg:1.25rem;--fs-body:1.125rem;--fs-body-sm:1rem;--fs-meta:.875rem;--lh-display:1.3;--lh-h1:1.35;--lh-h2:1.4;--lh-h3:1.45;--lh-body:1.55;--lh-body-sm:1.5;--lh-meta:1.45;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-7:32px;--space-8:40px;--space-9:48px;--space-10:56px;--radius-sm:8px;--radius-md:10px;--radius-lg:14px;--radius-xl:16px;--radius-pill:999px;--shadow-sm:0 1px 2px #1118270f;--shadow-md:0 4px 12px #11182714;--shadow-lg:0 8px 24px #1118271f}html[data-font-scale="1"]{font-size:20px}html[data-font-scale="2"]{font-size:24px}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;font-size:16px}body{font-family:var(--font-sans);background:radial-gradient(1200px 600px at 12% -6%, #fbf0e6 0%, #fbf0e600 55%), radial-gradient(900px 500px at 100% 0%, #f7e9cf 0%, #f7e9cf00 50%), var(--paper-50);color:var(--ink-800);line-height:var(--lh-body);min-height:100vh;padding-bottom:calc(var(--space-8) + env(safe-area-inset-bottom));-webkit-font-smoothing:antialiased;font-variant-numeric:tabular-nums}:focus-visible{outline:3px solid var(--focus);outline-offset:2px;border-radius:var(--radius-md)}button,input,[role=switch],[role=button]{font-family:var(--font-sans)}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}.demo-nav{z-index:80;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:#fff;box-shadow:var(--shadow-md);background:#1f2937;flex-wrap:nowrap;align-items:center;gap:6px;padding:6px 12px;display:flex;position:sticky;top:0;overflow-x:auto}.demo-nav .brand{font-family:var(--font-serif);font-size:var(--fs-body-sm);letter-spacing:.5px;color:#fff;white-space:nowrap;margin-right:auto}.demo-nav .brand small{display:none}.demo-nav button{font-family:var(--font-sans);font-size:var(--fs-body-sm);color:#e5e7eb;border-radius:var(--radius-pill);cursor:pointer;white-space:nowrap;background:0 0;border:1px solid #ffffff40;min-height:34px;padding:4px 12px;transition:all .18s}.demo-nav button:hover{background:#ffffff1f}.demo-nav button.active{background:var(--primary-600);border-color:var(--primary-600);color:#fff}.screen{max-width:880px;padding:var(--space-6) var(--space-6) var(--space-5);margin:0 auto;animation:.3s fade;display:none}.screen.active{display:block}.screen.wide{max-width:960px}@keyframes fade{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@media (width<=640px){.screen{padding:var(--space-4) var(--space-3)}}.eyebrow{font-size:var(--fs-body-sm);letter-spacing:2px;color:var(--primary-600);margin-bottom:6px;font-weight:600}.h1{font-family:var(--font-serif);font-size:var(--fs-h1);line-height:var(--lh-h1);color:var(--ink-900);font-weight:600}.h2{font-family:var(--font-serif);font-size:var(--fs-h2);line-height:var(--lh-h2);color:var(--ink-900);font-weight:600}.h3{font-size:var(--fs-h3);line-height:var(--lh-h3);color:var(--ink-900);font-weight:600}.sub{font-size:var(--fs-body-sm);color:var(--ink-600);margin-top:6px}.footnote{font-size:var(--fs-meta);color:var(--ink-400);text-align:center;margin-top:var(--space-5);border-top:1px dashed var(--paper-200);padding-top:var(--space-3)}.btn{font-family:var(--font-sans);font-size:var(--fs-body);border-radius:var(--radius-md);cursor:pointer;border:2px solid #0000;justify-content:center;align-items:center;gap:8px;min-height:40px;padding:8px 14px;font-weight:500;transition:all .18s;display:inline-flex}.btn:disabled{cursor:not-allowed;background:var(--paper-200);color:var(--ink-400);border-color:#0000}.btn-primary{background:var(--primary-600);color:#fff}.btn-primary:hover:not(:disabled){background:var(--primary-700)}.btn-primary:active:not(:disabled){background:var(--primary-800)}.btn-secondary{background:var(--surface);color:var(--primary-700);border-color:var(--primary-600)}.btn-secondary:hover:not(:disabled){background:var(--primary-50)}.btn-ghost{color:var(--primary-600);text-underline-offset:4px;background:0 0;min-height:36px;padding:6px 4px;text-decoration:underline}.btn-danger{background:var(--surface);color:var(--danger-600);border:1.5px solid var(--danger-600)}.btn-danger:hover:not(:disabled){background:var(--danger-100)}.badge{font-size:var(--fs-body-sm);border-radius:var(--radius-sm);font-weight:600;line-height:var(--lh-body-sm);align-items:center;gap:6px;padding:4px 12px;display:inline-flex}.badge-success{background:var(--success-100);color:var(--success-600)}.badge-warning{background:var(--warning-100);color:var(--warning-600)}.badge-info{background:var(--info-100);color:var(--info-600)}.chat-shell{background:var(--surface);box-shadow:none;border:none;border-radius:0;flex-direction:column;height:calc(100vh - 50px);min-height:0;display:flex;overflow:hidden}.chat-shell+.footnote{display:none}.appbar{border-bottom:1px solid var(--paper-200);background:var(--paper-50);flex-wrap:nowrap;align-items:center;gap:8px;min-height:46px;padding:8px 12px;display:flex}.appbar .iconbtn{border-radius:var(--radius-md);background:var(--paper-100);cursor:pointer;border:none;flex:0 0 38px;place-items:center;width:38px;height:38px;font-size:18px;display:grid}.appbar .iconbtn:hover{background:var(--paper-200)}.appbar .title{font-family:var(--font-serif);font-size:var(--fs-body-lg);color:var(--ink-900);margin-right:auto;font-weight:600}.appbar .link-badge{font-size:var(--fs-meta);color:var(--success-600);background:var(--success-100);border-radius:var(--radius-pill);align-items:center;gap:6px;padding:6px 14px;display:inline-flex}.appbar .link-badge.visitor{color:var(--warning-600);background:var(--warning-100)}.chat-body{padding:var(--space-4) var(--space-3);gap:var(--space-3);background:radial-gradient(700px 300px at 50% 0%, #fff7ed 0%, #fff7ed00 60%), var(--surface);flex-direction:column;flex:1;min-height:0;display:flex;overflow-y:auto}.rec-pill{font-size:var(--fs-body-sm);color:var(--ink-600);background:var(--paper-50);border:1px solid var(--paper-200);border-radius:var(--radius-pill);align-self:center;align-items:center;gap:8px;margin-bottom:2px;padding:4px 12px;display:inline-flex}.rec-pill.paused{opacity:.6}.dot{background:var(--accent-500);border-radius:50%;width:9px;height:9px;animation:2.2s ease-in-out infinite breathe}@keyframes breathe{0%,to{opacity:.35;transform:scale(.85)}50%{opacity:1;transform:scale(1)}}.msg{gap:12px;max-width:82%;display:flex}.msg.ai{align-self:flex-start}.msg.me{flex-direction:row-reverse;align-self:flex-end}.avatar{width:40px;height:40px;font-size:var(--fs-body);font-weight:600;font-family:var(--font-serif);border-radius:50%;flex:0 0 40px;place-items:center;display:grid}.msg.ai .avatar{background:var(--accent-100);color:var(--ink-900)}.msg.me .avatar{background:var(--primary-100);color:var(--primary-800)}.msg .meta{font-size:var(--fs-meta);color:var(--ink-600);margin-bottom:4px}.msg.me .meta{text-align:right}.bubble{font-size:var(--fs-body-lg);line-height:var(--lh-body);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:12px 16px}.msg.ai .bubble{background:var(--surface);color:var(--ink-800);border-top-left-radius:var(--radius-sm);border:1px solid var(--paper-200)}.msg.me .bubble{background:var(--primary-100);color:var(--ink-800);border-top-right-radius:var(--radius-sm)}.bubble .tag{font-size:var(--fs-meta);color:var(--ink-400);letter-spacing:.5px;margin-top:8px;display:block}.bubble .asr-low{font-size:var(--fs-meta);color:var(--warning-600);margin-top:6px}.typing{gap:7px;padding:6px 2px;display:inline-flex}.typing i{background:var(--ink-400);border-radius:50%;width:9px;height:9px;animation:1.3s ease-in-out infinite breathe}.typing i:nth-child(2){animation-delay:.18s}.typing i:nth-child(3){animation-delay:.36s}.live-rec{background:var(--primary-50);color:var(--primary-700);font-size:var(--fs-body-sm);border-top:1px dashed var(--paper-200);min-height:34px;padding:8px 16px}.inputbar{border-top:1px solid var(--paper-200);background:var(--paper-50);align-items:center;gap:10px;padding:10px 12px;display:flex}.switch-input{border-radius:var(--radius-md);background:var(--surface);border:2px solid var(--paper-200);cursor:pointer;flex:0 0 44px;place-items:center;width:44px;height:48px;font-size:20px;display:grid}.switch-input:hover{background:var(--paper-100)}.voice-btn{border-radius:var(--radius-pill);background:var(--primary-600);color:#fff;min-height:50px;font-family:var(--font-sans);font-size:var(--fs-body-lg);cursor:pointer;box-shadow:var(--shadow-md);border:none;flex:1;justify-content:center;align-items:center;gap:10px;font-weight:600;transition:all .18s;display:flex}.voice-btn:hover{background:var(--primary-700)}.voice-btn:active{background:var(--primary-800);transform:scale(.99)}.voice-btn.recording{background:var(--primary-800)}.voice-btn.recording .wave{align-items:center;gap:4px;height:28px;display:inline-flex}.voice-btn.recording .wave i{background:#fff;border-radius:3px;width:5px;animation:1s ease-in-out infinite wave}.voice-btn.recording .wave i:first-child{height:12px}.voice-btn.recording .wave i:nth-child(2){height:22px;animation-delay:.15s}.voice-btn.recording .wave i:nth-child(3){height:28px;animation-delay:.3s}.voice-btn.recording .wave i:nth-child(4){height:18px;animation-delay:.45s}.voice-btn.recording .wave i:nth-child(5){height:10px;animation-delay:.6s}@keyframes wave{0%,to{transform:scaleY(.6)}50%{transform:scaleY(1.2)}}.voice-btn.processing{background:var(--paper-200);color:var(--ink-600)}.voice-btn .mic{font-size:28px}.text-input{min-height:44px;font-size:var(--fs-body);font-family:var(--font-sans);background:var(--paper-100);border:2px solid var(--paper-200);border-radius:var(--radius-md);color:var(--ink-800);resize:none;flex:1;padding:12px 16px}.text-input:focus{border-color:var(--primary-500);outline:none}.send-btn{background:var(--primary-600);color:#fff;cursor:pointer;border:none;border-radius:50%;flex:0 0 56px;place-items:center;width:56px;height:56px;font-size:26px;display:grid}.send-btn:hover{background:var(--primary-700)}.send-btn:disabled{background:var(--paper-200);color:var(--ink-400);cursor:not-allowed}.tl-head{margin-bottom:var(--space-4);flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;display:flex}.sort{font-size:var(--fs-body-sm);color:var(--ink-600);background:var(--surface);border:1.5px solid var(--paper-200);border-radius:var(--radius-pill);cursor:pointer;align-items:center;gap:8px;min-height:48px;padding:8px 16px;display:inline-flex}.sort:hover{background:var(--paper-100)}.notice{background:var(--warning-100);color:var(--warning-600);border-radius:var(--radius-lg);font-size:var(--fs-body-sm);margin-bottom:var(--space-4);border:1px solid #ead6ac;align-items:center;gap:12px;padding:14px 18px;display:flex}.notice strong{font-weight:700}.notice .btn-ghost{margin-left:auto}.timeline{padding-left:34px;position:relative}.timeline:before{content:"";background:var(--paper-200);border-radius:2px;width:3px;position:absolute;top:8px;bottom:8px;left:10px}.entry{margin-bottom:var(--space-4);position:relative}.entry:before{content:"";background:var(--surface);border:4px solid var(--primary-600);width:21px;height:21px;box-shadow:0 0 0 3px var(--paper-50);border-radius:50%;position:absolute;top:26px;left:-34px}.entry.warn:before{border-color:var(--warning-600)}.entry-card{background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);border:1px solid var(--paper-200);padding:var(--space-4) 22px}.entry-card.confirmed{border-left:4px solid var(--success-600)}.entry-card.draft{border-left:4px solid var(--warning-600)}.entry-head{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:8px;display:flex}.entry-time{font-size:var(--fs-body);color:var(--ink-800);font-weight:700}.entry-time .uncertain{color:var(--warning-600);text-underline-offset:4px;font-weight:700;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.entry-text{font-size:var(--fs-body-lg);line-height:var(--lh-body);color:var(--ink-800);margin:8px 0 12px}.entry-text .quote{color:var(--primary-600)}.entry-src{font-size:var(--fs-meta);color:var(--info-600);align-items:center;gap:6px;margin-bottom:14px;display:flex}.entry-actions{flex-wrap:wrap;gap:12px;display:flex}.entry-actions .btn{font-size:var(--fs-body);min-height:56px;padding:12px 20px}.entry-actions .read{justify-content:center;width:56px;padding:0}.cover-wrap{margin-bottom:var(--space-6);flex-wrap:wrap;align-items:center;gap:28px;display:flex}.cover{aspect-ratio:3/4;border-radius:var(--radius-xl);width:200px;box-shadow:var(--shadow-lg);background:linear-gradient(160deg,#f6e2d4,#efd6bf);border:1px solid #e3c9ac;flex-direction:column;flex:none;justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.cover:after{content:"";border:1px solid #3e2c2029;border-radius:12px;position:absolute;inset:12px}.cover .seal{background:var(--primary-600);color:#fff;width:64px;height:64px;font-family:var(--font-serif);box-shadow:var(--shadow-md);border-radius:14px;place-items:center;margin-bottom:16px;font-size:34px;font-weight:600;display:grid}.cover .cov-title{font-family:var(--font-serif);color:var(--ink-900);letter-spacing:1px;font-size:26px;font-weight:600}.cover .cov-sub{font-size:var(--fs-meta);color:var(--ink-600);letter-spacing:3px;margin-top:4px}.cover-info{flex:1;min-width:240px}.cover-info .name{font-family:var(--font-serif);color:var(--ink-900);font-size:30px;font-weight:600}.cover-info .motto{color:var(--ink-600);margin:8px 0 14px;font-size:21px;font-style:italic}.cover-info .stats{flex-wrap:wrap;gap:14px;display:flex}.cover-info .stat{background:var(--paper-100);border-radius:var(--radius-md);font-size:var(--fs-body-sm);color:var(--ink-600);padding:8px 14px}.chapter{background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);border:1px solid var(--paper-200);padding:var(--space-4) 22px;cursor:pointer;align-items:center;gap:16px;margin-bottom:16px;transition:all .18s;display:flex}.chapter:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.chapter.confirmed{border-left:4px solid var(--success-600)}.chapter.draft{border-left:4px solid var(--warning-600)}.chapter .ico{border-radius:var(--radius-md);background:var(--accent-100);flex:0 0 56px;place-items:center;width:56px;height:56px;font-size:26px;display:grid}.chapter .cname{font-family:var(--font-serif);font-size:var(--fs-h3);color:var(--ink-800);margin-right:auto;font-weight:600}.chapter .arrow{color:var(--ink-400);font-size:26px}.chapter-skel{border:1.5px dashed var(--paper-200);border-radius:var(--radius-lg);padding:var(--space-4) 22px;align-items:center;gap:16px;margin-bottom:16px;display:flex}.chapter-skel .sk{background:var(--paper-200);border-radius:8px;height:16px;animation:2s ease-in-out infinite breathe}.chapter-skel .sk.w1{width:180px}.chapter-skel .sk.w2{width:120px}.chapter-skel .lbl{font-size:var(--fs-body-sm);color:var(--ink-400)}.switch-row{align-items:center;gap:14px;margin:6px 0 20px;display:flex}.switch-row .lbl{font-size:var(--fs-body);color:var(--ink-800)}.switch{background:var(--success-600);cursor:pointer;border:none;border-radius:999px;flex:0 0 60px;width:60px;height:34px;padding:0;position:relative}.switch:after{content:"";width:28px;height:28px;box-shadow:var(--shadow-sm);background:#fff;border-radius:50%;transition:all .2s;position:absolute;top:3px;right:3px}.switch.off{background:var(--paper-200)}.switch.off:after{left:3px;right:auto}.chap-bar{margin-bottom:var(--space-5);flex-wrap:wrap;align-items:center;gap:12px;display:flex}.chap-bar .back{border-radius:var(--radius-md);background:var(--surface);border:1.5px solid var(--paper-200);cursor:pointer;place-items:center;width:48px;height:48px;font-size:22px;display:grid}.chap-bar .back:hover{background:var(--paper-100)}.chap-bar .chap-title{font-family:var(--font-serif);font-size:var(--fs-h2);color:var(--ink-900);margin-right:auto;font-weight:600}.para{background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);border:1px solid var(--paper-200);padding:var(--space-4) 22px;margin-bottom:var(--space-3)}.para-head{font-family:var(--font-serif);font-size:var(--fs-body-lg);color:var(--primary-700);margin-bottom:6px;font-weight:600}.para-text{font-size:var(--fs-body-lg);line-height:var(--lh-body);color:var(--ink-800);margin-bottom:12px}.para-actions{justify-content:flex-end;gap:10px;display:flex}.para-actions .btn{font-size:var(--fs-body);min-height:48px;padding:10px 16px}.chap-nav{margin-top:var(--space-5);justify-content:space-between;gap:14px;display:flex}.fam-card{background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);border:1px solid var(--paper-200);padding:var(--space-4) 22px;margin-bottom:var(--space-3)}.fam-card .fam-time{font-size:var(--fs-body-sm);color:var(--ink-600);align-items:center;gap:8px;margin-bottom:8px;display:flex}.fam-card .fam-summary{font-size:var(--fs-body);color:var(--ink-800);margin-bottom:10px;font-weight:600}.fam-card ul{margin:0 0 12px;list-style:none}.fam-card ul li{font-size:var(--fs-body-sm);color:var(--ink-800);flex-wrap:wrap;align-items:center;gap:10px;padding:6px 0;display:flex}.fam-card .badge{font-size:var(--fs-meta)}.mini-tl{flex-wrap:wrap;align-items:center;gap:0;margin:12px 0;display:flex}.mini-tl .mnode{font-size:var(--fs-body-sm);color:var(--ink-800);flex-direction:column;align-items:center;gap:6px;padding:0 8px;display:inline-flex}.mini-tl .mnode .mdot{background:var(--primary-600);border-radius:50%;width:12px;height:12px}.mini-tl .mnode .mdot.warn{background:var(--warning-600)}.mini-tl .mline{background:var(--paper-200);flex:1;min-width:12px;height:2px}.privacy-note{background:var(--info-100);color:var(--info-600);border-radius:var(--radius-lg);font-size:var(--fs-body-sm);margin:var(--space-4) 0;align-items:flex-start;gap:10px;padding:14px 18px;display:flex}.actionbar{background:var(--surface);border-top:1px solid var(--paper-200);padding:14px 20px calc(14px + env(safe-area-inset-bottom));z-index:40;justify-content:center;gap:14px;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -4px 16px #3e2c2014}.actionbar .btn{flex:0 240px}.sheet-overlay{background:var(--overlay);z-index:90;justify-content:center;align-items:flex-end;display:none;position:fixed;inset:0}.sheet-overlay.open{animation:.2s fade;display:flex}.sheet{background:var(--surface);border-radius:var(--radius-xl) var(--radius-xl) 0 0;width:100%;max-width:720px;padding:var(--space-5) var(--space-5) calc(var(--space-5) + env(safe-area-inset-bottom));box-shadow:var(--shadow-lg);max-height:86vh;animation:.25s sheet-up;overflow:auto}@keyframes sheet-up{0%{opacity:.6;transform:translateY(40px)}to{opacity:1;transform:none}}.sheet .sheet-title{font-family:var(--font-serif);font-size:var(--fs-h3);color:var(--ink-900);margin-bottom:var(--space-3);font-weight:600}.sheet .field{margin-bottom:var(--space-3)}.sheet .field label{font-size:var(--fs-body-sm);color:var(--ink-600);margin-bottom:6px;display:block}.sheet .field input,.sheet .field textarea,.sheet .field select{width:100%;font-family:var(--font-sans);font-size:var(--fs-body);color:var(--ink-800);background:var(--paper-100);border:2px solid var(--paper-200);border-radius:var(--radius-md);padding:12px 14px}.sheet .field input:focus,.sheet .field textarea:focus,.sheet .field select:focus{border-color:var(--primary-500);outline:none}.sheet .field textarea{resize:vertical;min-height:96px;line-height:var(--lh-body)}.sheet .sheet-actions{margin-top:var(--space-4);gap:12px;display:flex}.sheet .sheet-actions .btn{flex:1}.sheet .hint{font-size:var(--fs-meta);color:var(--ink-400);margin-top:6px}.uncertain-chip{background:var(--warning-100);color:var(--warning-600);border-radius:var(--radius-pill);font-size:var(--fs-body-sm);cursor:pointer;border:1.5px solid #0000;align-items:center;gap:8px;min-height:48px;padding:10px 16px;display:inline-flex}.uncertain-chip.active{border-color:var(--warning-600)}.setting-row{border-bottom:1px solid var(--paper-200);justify-content:space-between;align-items:center;gap:14px;padding:14px 0;display:flex}.setting-row:last-child{border-bottom:none}.setting-row .lbl{font-size:var(--fs-body);color:var(--ink-800)}.setting-row .opts{gap:8px;display:flex}.seg{background:var(--paper-100);border:1.5px solid var(--paper-200);border-radius:var(--radius-pill);font-size:var(--fs-body-sm);color:var(--ink-600);cursor:pointer;min-height:48px;padding:8px 16px}.seg.active{background:var(--primary-600);color:#fff;border-color:var(--primary-600)}.dialog-overlay{background:var(--overlay);z-index:100;padding:var(--space-4);justify-content:center;align-items:center;display:none;position:fixed;inset:0}.dialog-overlay.open{animation:.2s fade;display:flex}.dialog{background:var(--surface);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);width:100%;max-width:460px;padding:var(--space-6) var(--space-6) var(--space-5)}.dialog .dialog-icon{margin-bottom:10px;font-size:40px}.dialog .dialog-title{font-family:var(--font-serif);font-size:var(--fs-h3);color:var(--ink-900);margin-bottom:10px;font-weight:600}.dialog .dialog-body{font-size:var(--fs-body);color:var(--ink-800);line-height:var(--lh-body);margin-bottom:var(--space-5)}.dialog .dialog-actions{gap:12px;display:flex}.dialog .dialog-actions .btn{flex:1}.toast-wrap{z-index:120;flex-direction:column;align-items:center;gap:10px;display:flex;position:fixed;bottom:96px;left:50%;transform:translate(-50%)}.toast{background:var(--ink-900);color:var(--paper-50);border-radius:var(--radius-pill);font-size:var(--fs-body-sm);box-shadow:var(--shadow-lg);align-items:center;gap:10px;max-width:90vw;padding:12px 20px;animation:.25s toast-in;display:flex}.toast.success{background:var(--success-600)}.toast.error{background:var(--danger-600)}.toast .undo{color:var(--accent-100);cursor:pointer;font-size:var(--fs-body-sm);background:0 0;border:none;padding:4px;text-decoration:underline}@keyframes toast-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.empty{text-align:center;padding:var(--space-8) var(--space-4);color:var(--ink-600)}.empty .emoji{margin-bottom:14px;font-size:48px}.empty .empty-title{font-family:var(--font-serif);font-size:var(--fs-h3);color:var(--ink-800);margin-bottom:8px}.empty .empty-body{font-size:var(--fs-body);margin-bottom:var(--space-4)}.auth-wrap[data-v-479bbab1]{background:linear-gradient(160deg,#fff7ed 0%,#fff 60%);justify-content:center;align-items:center;min-height:calc(100vh - 50px);padding:24px 16px;display:flex}.auth-card[data-v-479bbab1]{background:#fff;border:1px solid #fde3c6;border-radius:20px;width:100%;max-width:380px;padding:28px 24px;box-shadow:0 12px 32px #ea580c1f}.auth-logo[data-v-479bbab1]{font-family:var(--font-serif);color:#ea580c;text-align:center;font-size:26px;font-weight:700}.auth-sub[data-v-479bbab1]{text-align:center;color:#6b7280;margin:8px 0 18px;font-size:14px}.auth-tabs[data-v-479bbab1]{background:#fff1e0;border-radius:12px;gap:8px;margin-bottom:16px;padding:4px;display:flex}.auth-tabs button[data-v-479bbab1]{color:#6b7280;cursor:pointer;background:0 0;border:none;border-radius:10px;flex:1;padding:8px 0;font-size:15px;font-weight:600}.auth-tabs button.active[data-v-479bbab1]{color:#fff;background:#ea580c}.auth-field[data-v-479bbab1]{margin-bottom:12px}.auth-field label[data-v-479bbab1]{color:#6b7280;margin-bottom:4px;font-size:13px;display:block}.auth-field input[data-v-479bbab1]{box-sizing:border-box;border:1.5px solid #fde3c6;border-radius:10px;outline:none;width:100%;padding:11px 12px;font-size:16px}.auth-field input[data-v-479bbab1]:focus{border-color:#f97316}.auth-err[data-v-479bbab1]{color:#dc2626;margin:6px 0;font-size:13px}.auth-btn[data-v-479bbab1]{color:#fff;cursor:pointer;background:#ea580c;border:none;border-radius:12px;width:100%;margin-top:6px;padding:12px 0;font-size:17px;font-weight:600}.auth-btn[data-v-479bbab1]:disabled{opacity:.6}.auth-hint[data-v-479bbab1]{text-align:center;color:#6b7280;margin-top:14px;font-size:13px}.auth-hint a[data-v-479bbab1]{color:#ea580c;cursor:pointer;font-weight:600}
