:root{--background:#f2efe8;--surface:#fff;--surface-raised:#fff;--surface-muted:#e8e4da;--foreground:#181715;--text-secondary:#514d46;--text-muted:#686258;--border:#d4d0c7;--border-subtle:#e5e0d7;--border-strong:#898175;--accent:#ff573f;--accent-subtle:#ffebe5;--accent-text:#a72f20;--on-accent:#181715;--success:#246047;--warning:#815500;--danger:#b2302a;--chart-secondary:#cc8e7f;--chart-neutral:#c6c0b4;--chart-detail:#8a4b3e;--media-background:#f2efe8;--overlay:#18171566;--overlay-strong:#181715e0;--shadow-surface:0 2px 8px #1817150a;--shadow-floating:0 12px 40px #1817152e;--radius-control:12px;--radius-panel:18px;--radius-surface:24px;--duration-fast:.16s;--duration-standard:.24s;--duration-considered:.48s;--ease-standard:cubic-bezier(.2, 0, 0, 1);--ease-enter:cubic-bezier(0, 0, .2, 1);color-scheme:light}:root[data-theme=dark]{--background:#181715;--surface:#24221f;--surface-raised:#2d2a26;--surface-muted:#302d28;--foreground:#f2efe8;--text-secondary:#cec8bd;--text-muted:#b1aa9e;--border:#48423a;--border-subtle:#39352f;--border-strong:#81796d;--accent:#ff573f;--accent-subtle:#35231e;--accent-text:#ff9b89;--on-accent:#181715;--success:#80cba1;--warning:#e8bb70;--danger:#ff9b91;--chart-secondary:#c98b7c;--chart-neutral:#7a7368;--chart-detail:#e1b096;--overlay:#0a090899;--overlay-strong:#0a0908eb;--shadow-surface:0 2px 8px #0000001a;--shadow-floating:0 12px 40px #0000005c;color-scheme:dark}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--background:#181715;--surface:#24221f;--surface-raised:#2d2a26;--surface-muted:#302d28;--foreground:#f2efe8;--text-secondary:#cec8bd;--text-muted:#b1aa9e;--border:#48423a;--border-subtle:#39352f;--border-strong:#81796d;--accent:#ff573f;--accent-subtle:#35231e;--accent-text:#ff9b89;--on-accent:#181715;--success:#80cba1;--warning:#e8bb70;--danger:#ff9b91;--chart-secondary:#c98b7c;--chart-neutral:#7a7368;--chart-detail:#e1b096;--overlay:#0a090899;--overlay-strong:#0a0908eb;--shadow-surface:0 2px 8px #0000001a;--shadow-floating:0 12px 40px #0000005c;color-scheme:dark}}@view-transition{navigation:none}*{box-sizing:border-box}html,body{background:var(--background);color:var(--foreground);margin:0;overflow-x:clip}body{font-synthesis:none;-webkit-tap-highlight-color:transparent;font-family:Noto Sans TC,Microsoft JhengHei,sans-serif;line-height:1.6}a{color:inherit}.num{font-variant-numeric:tabular-nums;font-family:Roboto Mono,monospace}.wrap{max-width:760px;margin:0 auto;padding:0 16px 96px}.top{z-index:10;background:color-mix(in srgb, var(--background) 88%, transparent);backdrop-filter:blur(8px);border-bottom:1px solid var(--border);position:sticky;top:0}.top .in{align-items:center;gap:10px;max-width:760px;margin:0 auto;padding:10px 16px;display:flex}.logo{font-family:Noto Serif TC,serif;font-size:18px;font-weight:700;text-decoration:none}.logo b{color:var(--accent-text)}.top .sp{flex:1}.desktop-nav{align-items:center;gap:8px;display:flex}.desktop-nav [aria-current=page]{background:var(--accent-subtle);color:var(--accent-text);border-color:var(--accent)}.iconbtn{border:1px solid var(--border);background:var(--surface);color:var(--foreground);border-radius:var(--radius-control);min-width:38px;height:38px;font:inherit;cursor:pointer;align-items:center;gap:6px;padding:0 12px;font-weight:700;text-decoration:none;display:inline-flex}.iconbtn:active{border-color:var(--accent)}.site-footer{padding-bottom:40px}.site-footer p{margin:0 0 12px}.footer-links{flex-wrap:wrap;gap:8px 20px;display:flex}.footer-links a{text-underline-offset:3px}.bottom-nav{display:none}@media (width<720px){body{padding-bottom:calc(84px + env(safe-area-inset-bottom,0px))}.top .desktop-nav{display:none}.bottom-nav{z-index:20;background:var(--background);border-top:1px solid var(--border);padding:8px max(12px, env(safe-area-inset-right,0px)) calc(12px + env(safe-area-inset-bottom,0px)) max(12px, env(safe-area-inset-left,0px));grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;display:grid;position:fixed;inset:auto 0 0}.bottom-nav .bottom-tab{border:1px solid var(--border);border-radius:var(--radius-control);flex-direction:column;justify-content:center;gap:0;min-width:0;height:60px;padding:4px 0;font-size:12px;line-height:1.5}.bottom-nav .tab-icon{font-size:20px;line-height:1.25}.bottom-nav [aria-current=page]{background:var(--accent-subtle);color:var(--accent-text);border-color:var(--accent)}.bottom-nav .bottom-tab:active{border-color:var(--accent)}}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-surface);box-shadow:var(--shadow-surface);margin:18px 0;padding:18px 18px 14px;position:relative}.card.coral{background:var(--accent-subtle);color:var(--foreground);border-color:var(--accent)}.card.coral .kicker{background:var(--surface);color:var(--accent-text)}.card.coral .num{color:var(--accent-text)}.card h2{margin:0 0 8px;font-family:Noto Serif TC,serif;font-size:20px}.kicker{background:var(--surface-muted);color:var(--text-secondary);border:1px solid var(--border);border-radius:var(--radius-control);margin-bottom:8px;padding:2px 12px;font-size:13px;font-weight:700;display:inline-block}.chip{border:1px solid var(--border);border-radius:var(--radius-control);background:var(--surface);align-items:center;gap:4px;margin:2px 4px 2px 0;padding:2px 10px;font-size:13px;font-weight:700;text-decoration:none;display:inline-flex}.chip.on{background:var(--accent-subtle);color:var(--accent-text);border-color:var(--accent)}.badge-self{background:var(--surface-muted);color:var(--text-secondary);border:1px solid var(--border);border-radius:var(--radius-control);padding:1px 10px;font-size:12px;display:inline-block}.src{color:var(--text-muted);font:inherit;text-decoration:underline;text-decoration-color:var(--accent-text);cursor:pointer;background:0 0;border:0;padding:4px 0;font-size:12px}.src.page-badge{min-width:44px;min-height:44px}.muted{color:var(--text-muted);font-size:13px}.chart{width:100%;height:300px}dialog.sheet{border:1px solid var(--border);border-radius:var(--radius-panel) var(--radius-panel) 0 0;background:var(--surface-raised);width:min(760px,100%);max-height:70vh;color:var(--foreground);box-shadow:var(--shadow-floating);margin:auto auto 0;padding:18px}dialog.sheet::backdrop{background:var(--overlay)}dialog.sheet blockquote{border-left:1px solid var(--accent);border-radius:var(--radius-control);background:var(--surface-muted);margin:8px 0;padding:8px 12px}.reveal{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:opacity var(--duration-fast) var(--ease-standard)!important;animation:none!important}.reveal{opacity:1!important;transform:none!important}dialog.sheet[open],.termcard:popover-open{transform:none!important}::view-transition-old(root),::view-transition-new(root),::view-transition-group(root){animation:none!important}}dialog.player{background:0 0;border:0;width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;padding:0;display:none}dialog.player[open]{flex-direction:column;justify-content:center;align-items:center;gap:12px;display:flex}dialog.player::backdrop{background:var(--overlay-strong)}dialog.player video{aspect-ratio:9/16;border-radius:var(--radius-surface);border:1px solid var(--border);background:var(--media-background);width:auto;height:min(78dvh,177.778vw - 56.8889px);box-shadow:var(--shadow-floating)}dialog.player .pbar{gap:10px;display:flex}video.cover{aspect-ratio:1;object-fit:cover;object-position:50% 33.333%;border:1px solid var(--border);border-radius:var(--radius-surface);width:100%;max-width:520px;box-shadow:var(--shadow-surface);background:var(--media-background);margin:18px auto 0;display:block}.hero{grid-template-columns:1fr;align-items:center;gap:16px;display:grid}@media (width>=720px){.hero{grid-template-columns:1fr 280px}}.hero.hero-text-only{grid-template-columns:1fr}figure.yt{aspect-ratio:1;border:1px solid var(--border);border-radius:var(--radius-panel);background:var(--media-background);width:100%;max-width:420px;margin:0 auto;position:relative;overflow:hidden}figure.yt img,figure.yt video{object-fit:cover;object-position:50% 33.333%;border:0;width:100%;height:100%;position:absolute;inset:0}figure.yt img{cursor:zoom-in}figure.yt .ytplay{white-space:nowrap;border:1px solid var(--border);border-radius:var(--radius-control);font:inherit;background:var(--accent);color:var(--on-accent);cursor:pointer;padding:8px 16px;font-weight:900;position:absolute;bottom:14px;left:50%;transform:translate(-50%)}figure.yt .ytlink{color:var(--foreground);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-control);padding:3px 9px;font-size:12px;font-weight:700;text-decoration:none;position:absolute;top:10px;right:10px}dialog.vbox{background:0 0;border:0;max-width:none;max-height:none;padding:0;overflow:visible}dialog.vbox::backdrop{background:var(--overlay-strong)}.vbox .vframe{aspect-ratio:1;border:1px solid var(--border);border-radius:var(--radius-surface);background:var(--media-background);width:min(92vw,82vh,760px);box-shadow:var(--shadow-floating);position:relative;overflow:hidden}.vbox video{object-fit:cover;object-position:50% 33.333%;cursor:pointer;width:100%;height:100%;position:absolute;inset:0}.vbox .vreplay{border:1px solid var(--border);border-radius:var(--radius-control);font:inherit;background:var(--accent);color:var(--on-accent);cursor:pointer;padding:10px 18px;font-weight:900;position:absolute;bottom:16px;left:50%;transform:translate(-50%)}.vbox .vclose{border-radius:var(--radius-control);border:1px solid var(--border);background:var(--surface-raised);width:44px;height:44px;color:var(--foreground);cursor:pointer;font-size:20px;font-weight:900;position:absolute;top:-14px;right:-10px}button.term{font:inherit;color:inherit;cursor:help;text-decoration:underline dotted var(--accent-text);text-underline-offset:3px;background:0 0;border:0;padding:0;text-decoration-thickness:2px}.termcard{border:1px solid var(--border);border-radius:var(--radius-panel);background:var(--surface-raised);max-width:min(340px,90vw);color:var(--foreground);box-shadow:var(--shadow-floating);padding:12px 16px}.termcard p{margin:6px 0 0;font-size:15px;line-height:1.6}.termcard::backdrop{background:var(--overlay)}.top .in{gap:8px}.logo,.iconbtn{white-space:nowrap}@media (width<=480px){.top .in{gap:6px;padding:8px 12px}.logo-sub{display:none}.iconbtn{min-width:36px;height:36px;padding:0 10px}}.prose{max-width:720px;margin:0 auto;line-height:1.85}.prose h1{margin:4px 0 12px;font-family:Noto Serif TC,serif;font-size:34px;line-height:1.25}.prose h2{margin:28px 0 8px;font-size:22px}.prose ol,.prose ul{padding-left:1.4em}.prose li{margin:6px 0}.prose table{border-collapse:collapse;width:100%;font-size:15px;display:block;overflow-x:auto}.prose th,.prose td{border-bottom:1px solid var(--border-subtle);text-align:left;vertical-align:top;padding:8px 10px}.prose pre{white-space:pre-wrap;background:var(--surface-muted);border:1px solid var(--border);border-radius:var(--radius-control);padding:12px;font-size:13px}.tldr{border:1px solid var(--accent);border-radius:var(--radius-panel);background:var(--accent-subtle);color:var(--foreground);padding:14px 18px}.tldr b{color:var(--accent-text);margin-bottom:4px;display:block}.tldr ul{margin:0;padding-left:1.2em}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}input::placeholder,textarea::placeholder{color:var(--text-muted);opacity:1}input,select,textarea{accent-color:var(--accent)}.iconbtn:hover{background:var(--surface-muted);border-color:var(--border-strong)}a.chip:hover,button.chip:hover{border-color:var(--border-strong)}.home-search .iconbtn{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.home-search .iconbtn:hover{border-color:var(--foreground)}figure.yt :focus-visible{outline-offset:2px}.vbox video:focus-visible{outline-offset:-4px}@media (prefers-reduced-motion:no-preference){dialog.sheet[open],.termcard:popover-open{animation:panel-enter var(--duration-standard) var(--ease-enter)}@media (hover:hover){.iconbtn:hover{opacity:.92;transition:opacity var(--duration-fast) var(--ease-standard)}}}@keyframes panel-enter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
