:root{--bg: oklch(.175 .006 340);--bg-2: oklch(.215 .008 340);--bg-3: oklch(.255 .01 340);--bg-hover: oklch(.295 .012 340);--fg: oklch(.94 .005 340);--fg-2: oklch(.72 .008 340);--fg-3: oklch(.54 .01 340);--fg-4: oklch(.4 .01 340);--line: oklch(.32 .012 340);--line-2: oklch(.4 .015 340);--accent-h: 355;--accent-c: .16;--accent-l: .42;--accent: oklch(var(--accent-l) var(--accent-c) var(--accent-h));--accent-2: oklch(.78 .14 85);--accent-soft: oklch(.28 .1 355);--accent-bg: oklch(.22 .08 355 / .4);--gold: oklch(.78 .14 85);--sidebar: oklch(.22 .06 355);--sidebar-line: oklch(.3 .07 355);--s-backlog: oklch(.65 .01 260);--s-planning: oklch(.65 .18 18);--s-production: oklch(.72 .17 48);--s-editing: oklch(.82 .16 80);--s-reviewing: oklch(.85 .15 100);--s-packaging: oklch(.78 .18 130);--s-scheduled: oklch(.72 .16 160);--s-published: oklch(.68 .15 155);--s-voided: oklch(.55 .01 260);--density-row: 36px;--density-pad-x: 12px;--density-pad-y: 8px}html.light{--bg: #fafaf9;--bg-2: #ffffff;--bg-3: #f4f4f2;--bg-hover: #eeeeea;--fg: #17171a;--fg-2: #4a4a52;--fg-3: #72727a;--fg-4: #a5a5ad;--line: #e6e6e2;--line-2: #d8d8d2;--accent-2: oklch(.7 .13 85);--accent-soft: oklch(.94 .05 355);--accent-bg: oklch(.96 .04 355);--sidebar: oklch(.28 .1 340);--sidebar-line: oklch(.36 .11 340);--gold: oklch(.7 .13 85)}html.density-compact{--density-row: 30px;--density-pad-x: 10px;--density-pad-y: 5px}html.density-cozy{--density-row: 36px;--density-pad-x: 12px;--density-pad-y: 8px}html.density-spacious{--density-row: 46px;--density-pad-x: 16px;--density-pad-y: 12px}body{font-family:Inter,Noto Sans TC,sans-serif;font-feature-settings:"cv11","ss01","ss03";-webkit-font-smoothing:antialiased}.font-display{font-family:Inter Tight,Inter,Noto Sans TC,sans-serif}.font-mono{font-family:JetBrains Mono,ui-monospace,monospace}.font-tc{font-family:Noto Sans TC,sans-serif}html.font-plex body{font-family:IBM Plex Sans,Noto Sans TC,sans-serif}html.font-grotesk body{font-family:Space Grotesk,Noto Sans TC,sans-serif}.cf-bg{background:var(--bg);color:var(--fg)}.surface{background:var(--bg-2)}.surface-3{background:var(--bg-3)}.surface-hover:hover{background:var(--bg-hover)}.text-fg{color:var(--fg)}.text-fg-2{color:var(--fg-2)}.text-fg-3{color:var(--fg-3)}.text-fg-4{color:var(--fg-4)}.accent{color:var(--accent)}.bg-accent{background:var(--accent)}.bg-accent-soft{background:var(--accent-bg)}.border-accent{border-color:var(--accent)}.gold{color:var(--gold)}.bg-gold{background:var(--gold)}.border-gold{border-color:var(--gold)}.hairline{border-color:var(--line)}.hairline-2{border-color:var(--line-2)}.grad-accent{background-image:linear-gradient(135deg,var(--accent) 0%,var(--accent-2) 100%)}.grad-accent-text{background-image:linear-gradient(135deg,var(--accent) 0%,var(--accent-2) 100%);-webkit-background-clip:text;background-clip:text;color:transparent}.glow-accent{box-shadow:0 0 0 1px color-mix(in oklab,var(--accent) 40%,transparent),0 8px 32px -8px color-mix(in oklab,var(--accent) 60%,transparent)}.ring-line{box-shadow:inset 0 0 0 1px var(--line)}.ring-line-2{box-shadow:inset 0 0 0 1px var(--line-2)}.sidebar-surface{background:var(--sidebar);color:#fff}.sidebar-border{border-color:var(--sidebar-line)}.sidebar-surface .text-fg{color:#fff}.sidebar-surface .text-fg-2{color:#ffffffb8}.sidebar-surface .text-fg-3{color:#ffffff85}.sidebar-surface .text-fg-4{color:#ffffff61}.sidebar-surface .meta{color:#ffffff8c}.nav-active{background:#ffffff24;color:#fff}.nav-idle{color:#ffffffc7}.nav-idle:hover{background:#ffffff14;color:#fff}.btn-primary{background:#592578;color:#fff;border:1px solid oklch(.48 .14 310);transition:background-color .15s ease-out}.btn-primary:hover{background:#6c338f}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.meta{font:500 10.5px/1 JetBrains Mono,ui-monospace,monospace;letter-spacing:.06em;text-transform:uppercase;color:var(--fg-3)}.bignum{font-family:Inter Tight,Inter,sans-serif;font-weight:800;letter-spacing:-.04em;font-variant-numeric:tabular-nums}.thin-scroll::-webkit-scrollbar{width:6px;height:6px}.thin-scroll::-webkit-scrollbar-thumb{background:var(--line-2);border-radius:999px}.thin-scroll::-webkit-scrollbar-track{background:transparent}kbd.kc{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 5px;border:1px solid var(--line-2);border-bottom-width:2px;border-radius:5px;background:var(--bg-3);color:var(--fg-2);font:500 11px/1 JetBrains Mono,ui-monospace,monospace}::selection{background:color-mix(in oklab,var(--accent) 40%,transparent);color:var(--fg)}.focus-ring:focus{outline:2px solid var(--accent);outline-offset:2px}.row{height:var(--density-row);padding-left:var(--density-pad-x);padding-right:var(--density-pad-x)}.prose-cf h1,.prose-cf h2,.prose-cf h3,.prose-cf h4{font-family:var(--font-display, ui-sans-serif);color:var(--fg);font-weight:600;margin:1.2em 0 .5em;letter-spacing:-.01em}.prose-cf h1{font-size:1.35em}.prose-cf h2{font-size:1.2em}.prose-cf h3{font-size:1.08em}.prose-cf h4{font-size:1em}.prose-cf p{margin:.6em 0;color:var(--fg-2)}.prose-cf ul,.prose-cf ol{margin:.6em 0;padding-left:1.4em;color:var(--fg-2)}.prose-cf li{margin:.2em 0}.prose-cf li::marker{color:var(--fg-4)}.prose-cf code{background:var(--bg-3);padding:.1em .4em;border-radius:3px;font-family:JetBrains Mono,ui-monospace,monospace;font-size:.92em;color:var(--accent-2)}.prose-cf pre{background:var(--bg-3);border:1px solid var(--line);padding:.7em .9em;border-radius:6px;overflow-x:auto;margin:.8em 0}.prose-cf pre code{background:transparent;padding:0;color:var(--fg)}.prose-cf blockquote{border-left:3px solid var(--accent);padding-left:.9em;margin:.8em 0;color:var(--fg-3);font-style:italic}.prose-cf a{color:var(--accent-2);text-decoration:underline;text-underline-offset:3px}.prose-cf a:hover{color:var(--accent)}.prose-cf hr{border:none;border-top:1px solid var(--line);margin:1.2em 0}.prose-cf table{border-collapse:collapse;width:100%;margin:.8em 0;font-size:.95em}.prose-cf th,.prose-cf td{border:1px solid var(--line);padding:.4em .7em;text-align:left}.prose-cf th{background:var(--bg-3);font-weight:600;color:var(--fg)}.prose-cf strong{color:var(--fg);font-weight:600}.prose-cf em{color:var(--fg-2)}.prose-cf input[type=checkbox]{margin-right:.4em}
