:root{--font-ui:"Inter Variable", -apple-system, BlinkMacSystemFont, "Segoe UI Variable Text", "Segoe UI", Inter, Roboto, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", sans-serif;--font-serif:"Iowan Old Style", "Source Serif 4", Charter, Georgia, "Songti SC", "Noto Serif CJK SC", "Source Han Serif SC", "SimSun", serif;--font-display:var(--font-serif);--font-mono:ui-monospace, "SF Mono", "JetBrains Mono", "Cascadia Code", "Cascadia Mono", Consolas, "Liberation Mono", Menlo, "Sarasa Mono SC", monospace;--r-1:1px;--r-2:2px;--r-3:3px;--r-xs:4px;--r-sm:6px;--r-md:8px;--r-lg:12px;--r-xl:16px;--r-2xl:20px;--r-full:999px;--sp-0-5:2px;--sp-0-625:2.5px;--sp-0-75:3px;--sp-1:4px;--sp-1-5:6px;--sp-2:8px;--sp-2-25:9px;--sp-2-5:10px;--sp-3:12px;--sp-3-5:14px;--sp-4:16px;--sp-5:20px;--sp-5-5:22px;--sp-6:24px;--sp-12:48px;--sp-16:64px;--tap-target:44px;--tap-min:24px;--text-6:6px;--text-8-5:8.5px;--text-9:9px;--text-9-5:9.5px;--text-10:10px;--text-10-5:10.5px;--text-11:11px;--text-11-5:11.5px;--text-12:12px;--text-12-5:12.5px;--text-13:13px;--text-13-5:13.5px;--text-14:14px;--text-14-5:14.5px;--text-15:15px;--text-15-5:15.5px;--text-16:16px;--text-17:17px;--text-18:18px;--text-20:20px;--text-22:22px;--text-26:26px;--text-30:30px;--ui-line:1.55;--chat-size-offset:3px;--chat-size:calc(var(--prose-size) - var(--chat-size-offset));--chat-line:var(--ui-line);--dur-fast:.13s;--dur-base:.22s;--dur-slow:.34s;--ease-out:cubic-bezier(.22, 1, .36, 1);--ease-in-out:cubic-bezier(.65, 0, .35, 1);--ease-spring:cubic-bezier(.34, 1.4, .64, 1);--statusbar-h:26px;--nav-w:244px;--list-w:328px;--prose-size:16px;--prose-line:1.65;--prose-width:72ch;--editor-size:15px;--slide-prose-size:28px;--slide-line-height:1.44;--slide-code-size:.74em;--slide-chart-height:340px;--writing-line:1.64;--heading-line:1.28;--heading-1-size:1.52em;--heading-2-size:1.28em;--heading-3-size:1.14em;--heading-4-size:1.03em;--heading-5-size:.94em;--code-size:var(--editor-size,15px);--code-line:1.56;--code-weight:400;--code-spacing:-.012em;--success:oklch(48% .14 155);--warning:oklch(51% .145 80);--danger:oklch(53% .19 22);--brand-accent:#bb4430;--chart-1:var(--accent);--chart-2:oklch(52% .13 230);--chart-3:oklch(50% .14 155);--chart-4:oklch(55% .13 80);--chart-5:oklch(52% .15 320);--empty-h-md:192px;--empty-h-sm:128px;--sp-7:28px;--sp-8:32px;--sp-9:36px;--sp-10:40px;--tracking-title:-.012em;--tracking-micro:.02em;--tracking-caps:.04em;--tracking-label:.06em;--tracking-section:.07em;--z-sticky:10;--z-menu:20;--z-float:30;--z-popover:50;--z-drawer:190;--z-panel:210;--z-workspace:230;--z-prompt:240;--z-modal:250;--z-picker:255;--z-pop:260;--z-submenu:265;--z-hover-card:270;--z-pinned:280;--z-pinned-menu:300;--z-toast:400;--z-tooltip:500;--z-peek:520;--z-top:9999;--kanban-tag-gray-fg:oklch(46.5% .005 106.6);--kanban-tag-gray-bg:color-mix(in oklab, var(--kanban-tag-gray-fg) 14%, transparent);--kanban-tag-brown-fg:oklch(49% .076 45.6);--kanban-tag-brown-bg:color-mix(in oklab, var(--kanban-tag-brown-fg) 14%, transparent);--kanban-tag-orange-fg:oklch(49% .159 55.7);--kanban-tag-orange-bg:color-mix(in oklab, var(--kanban-tag-orange-fg) 14%, transparent);--kanban-tag-yellow-fg:oklch(48.5% .13 76);--kanban-tag-yellow-bg:color-mix(in oklab, var(--kanban-tag-yellow-fg) 14%, transparent);--kanban-tag-green-fg:oklch(47% .085 158.4);--kanban-tag-green-bg:color-mix(in oklab, var(--kanban-tag-green-fg) 14%, transparent);--kanban-tag-blue-fg:oklch(47.5% .099 237.4);--kanban-tag-blue-bg:color-mix(in oklab, var(--kanban-tag-blue-fg) 14%, transparent);--kanban-tag-purple-fg:oklch(49.5% .12 309.5);--kanban-tag-purple-bg:color-mix(in oklab, var(--kanban-tag-purple-fg) 14%, transparent);--kanban-tag-pink-fg:oklch(50% .164 350.4);--kanban-tag-pink-bg:color-mix(in oklab, var(--kanban-tag-pink-fg) 14%, transparent);--kanban-tag-red-fg:oklch(49.5% .172 25.8);--kanban-tag-red-bg:color-mix(in oklab, var(--kanban-tag-red-fg) 14%, transparent);--kanban-tag-coral-fg:oklch(49.5% .171 27.2);--kanban-tag-coral-bg:color-mix(in oklab, var(--kanban-tag-coral-fg) 14%, transparent);--kanban-tag-teal-fg:oklch(45.5% .107 190.8);--kanban-tag-teal-bg:color-mix(in oklab, var(--kanban-tag-teal-fg) 14%, transparent);--kanban-tag-slate-fg:oklch(48.5% .041 257.4);--kanban-tag-slate-bg:color-mix(in oklab, var(--kanban-tag-slate-fg) 14%, transparent);--media-scrim:oklch(0% 0 0/.92);--media-control:oklch(0% 0 0/.35);--media-control-hover:oklch(0% 0 0/.55);--media-text:oklch(100% 0 0/.8);--media-text-strong:oklch(100% 0 0);--media-surface:oklch(100% 0 0/.1);--memo-tag-dot:6px;--memo-blur:6px;--memo-sidebar-width:248px;--memo-detail-width:400px;--memo-share-image-width:420px;--memo-setting-control-width:320px;--memo-field-narrow-width:150px;--memo-media-max-height:420px;--memo-pin-badge-min:18px;--memo-page-width:1200px;--memo-library-width:1100px;--memo-settings-width:980px;--memo-reading-width:760px;--memo-filter-chip-max-width:240px;--memo-field-min-width:160px;--memo-token-field-min-width:180px;--memo-field-wide-width:280px}:root[data-theme=dark],[data-code-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg-sunken:#131110;--bg-base:#181614;--bg-editor:#1e1b19;--bg-surface:oklch(21.5% .01 265);--bg-raised:oklch(25% .011 265);--bg-overlay:oklch(27% .012 265);--bg-inset:oklch(14% .008 265);--bg-hover:oklch(100% 0 0/.045);--bg-active:oklch(100% 0 0/.08);--border-subtle:oklch(100% 0 0/.06);--border-default:oklch(100% 0 0/.1);--border-strong:oklch(100% 0 0/.17);--text-primary:oklch(93% .004 265);--text-secondary:oklch(78% .008 265);--text-tertiary:oklch(73% .009 265);--text-quaternary:oklch(67% .008 265);--text-inverse:oklch(16% .008 265);--graph-edge:oklch(66% .02 265);--graph-edge-dim:oklch(52% .014 265);--graph-node:oklch(56% .009 265);--graph-label:oklch(74% .012 265);--shadow-sm:0 1px 2px oklch(0% 0 0/.4);--shadow-pop:0 0 0 1px oklch(100% 0 0/.07), 0 8px 24px -6px oklch(0% 0 0/.6), 0 20px 48px -12px oklch(0% 0 0/.45);--shadow-modal:0 0 0 1px oklch(100% 0 0/.08), 0 16px 40px -8px oklch(0% 0 0/.65), 0 40px 80px -20px oklch(0% 0 0/.55);--shadow-soft:0 1px 2px oklch(0% 0 0/.12), 0 4px 16px -4px oklch(0% 0 0/.1);--scrim:oklch(0% 0 0/.55);--selection:color-mix(in oklab, var(--accent) 30%, transparent);--success:oklch(72% .145 155);--warning:oklch(80% .15 82);--danger:oklch(68% .185 22);--brand-accent:#e0664a;--chart-1:var(--accent);--chart-2:oklch(72% .12 230);--chart-3:oklch(72% .13 155);--chart-4:oklch(78% .13 80);--chart-5:oklch(72% .13 320);--code-fg:#adbac7;--code-inline-fg:#6cb6ff;--syntax-comment:#768390;--syntax-keyword:#f47067;--syntax-string:#96d0ff;--syntax-number:#6cb6ff;--syntax-function:#dcbdfb;--syntax-type:#6cb6ff;--syntax-type-definition:#f69d50;--syntax-variable:#adbac7;--syntax-property:#f69d50;--syntax-operator:#f47067;--syntax-punctuation:#adbac7;--syntax-constant:#6cb6ff;--shadow-xs:0 1px 2px oklch(0% 0 0/.05);--kanban-tag-gray-fg:oklch(73% .006 247.9);--kanban-tag-gray-bg:color-mix(in oklab, var(--kanban-tag-gray-fg) 14%, transparent);--kanban-tag-brown-fg:oklch(73.5% .073 43.5);--kanban-tag-brown-bg:color-mix(in oklab, var(--kanban-tag-brown-fg) 14%, transparent);--kanban-tag-orange-fg:oklch(73.5% .115 54.8);--kanban-tag-orange-bg:color-mix(in oklab, var(--kanban-tag-orange-fg) 14%, transparent);--kanban-tag-yellow-fg:oklch(73% .113 76.5);--kanban-tag-yellow-bg:color-mix(in oklab, var(--kanban-tag-yellow-fg) 14%, transparent);--kanban-tag-green-fg:oklch(71.5% .101 156.5);--kanban-tag-green-bg:color-mix(in oklab, var(--kanban-tag-green-fg) 14%, transparent);--kanban-tag-blue-fg:oklch(73% .11 259.6);--kanban-tag-blue-bg:color-mix(in oklab, var(--kanban-tag-blue-fg) 14%, transparent);--kanban-tag-purple-fg:oklch(74.5% .162 305);--kanban-tag-purple-bg:color-mix(in oklab, var(--kanban-tag-purple-fg) 14%, transparent);--kanban-tag-pink-fg:oklch(75.5% .191 350.2);--kanban-tag-pink-bg:color-mix(in oklab, var(--kanban-tag-pink-fg) 14%, transparent);--kanban-tag-red-fg:oklch(76% .175 25.1);--kanban-tag-red-bg:color-mix(in oklab, var(--kanban-tag-red-fg) 14%, transparent);--kanban-tag-coral-fg:oklch(74.5% .163 26.7);--kanban-tag-coral-bg:color-mix(in oklab, var(--kanban-tag-coral-fg) 14%, transparent);--kanban-tag-teal-fg:oklch(71.5% .113 191.2);--kanban-tag-teal-bg:color-mix(in oklab, var(--kanban-tag-teal-fg) 14%, transparent);--kanban-tag-slate-fg:oklch(73% .035 256.8);--kanban-tag-slate-bg:color-mix(in oklab, var(--kanban-tag-slate-fg) 14%, transparent)}:root[data-theme=light],[data-code-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg-sunken:#f1efe9;--bg-base:#f7f5f1;--bg-editor:#fdfcfa;--bg-surface:oklch(100% 0 0);--bg-raised:oklch(100% 0 0);--bg-overlay:oklch(100% 0 0);--bg-inset:oklch(96.8% .005 90);--bg-hover:oklch(20% .01 265/.04);--bg-active:oklch(20% .01 265/.07);--border-subtle:oklch(20% .01 265/.07);--border-default:oklch(20% .01 265/.11);--border-strong:oklch(20% .01 265/.17);--text-primary:oklch(21% .01 265);--text-secondary:oklch(41% .01 265);--text-tertiary:oklch(46% .009 265);--text-quaternary:oklch(52% .008 265);--text-inverse:oklch(99% 0 0);--graph-edge:oklch(46% .02 265);--graph-edge-dim:oklch(62% .014 265);--graph-node:oklch(58% .009 265);--graph-label:oklch(38% .012 265);--shadow-sm:0 1px 2px oklch(20% .01 265/.06);--shadow-pop:0 0 0 1px oklch(20% .01 265/.06), 0 2px 4px -1px oklch(20% .01 265/.05), 0 12px 28px -8px oklch(20% .01 265/.12), 0 24px 56px -16px oklch(20% .01 265/.1);--shadow-modal:0 0 0 1px oklch(20% .01 265/.07), 0 8px 16px -4px oklch(20% .01 265/.08), 0 24px 48px -12px oklch(20% .01 265/.16);--shadow-soft:0 1px 2px oklch(20% .01 265/.06), 0 4px 16px -4px oklch(20% .01 265/.06);--scrim:oklch(35% .01 265/.32);--selection:color-mix(in oklab, var(--accent) 22%, transparent);--brand-accent:#bb4430;--code-fg:#24292e;--code-inline-fg:#005cc5;--syntax-comment:#6a737d;--syntax-keyword:#d73a49;--syntax-string:#032f62;--syntax-number:#005cc5;--syntax-function:#6f42c1;--syntax-type:#005cc5;--syntax-type-definition:#6f42c1;--syntax-variable:#24292e;--syntax-property:#8d4500;--syntax-operator:#d73a49;--syntax-punctuation:#24292e;--syntax-constant:#005cc5;--shadow-xs:0 1px 2px oklch(20% .01 265/.05)}:root[data-theme=light][data-background=white]{--bg-sunken:#f7f7f8;--bg-base:#fff;--bg-editor:#fff;--bg-surface:#fff;--bg-raised:#fff;--bg-overlay:#fff;--bg-inset:#f4f5f6}:root[data-theme=dark][data-background=white]{--bg-sunken:#0f1011;--bg-base:#151617;--bg-editor:#1b1c1e;--bg-surface:#202123;--bg-raised:#252629;--bg-overlay:#292a2d;--bg-inset:#111214}:root[data-density=compact]{--chat-line:1.42}:root[data-accent=cinnabar][data-theme=dark]{--accent:oklch(66.5% .15 32);--accent-hover:oklch(71% .145 32);--accent-on-soft:#eb755f}:root[data-accent=cinnabar][data-theme=light]{--accent:oklch(54% .15 30);--accent-hover:oklch(48.5% .155 30);--accent-on-soft:#ab3b2d}:root[data-accent=indigo][data-theme=dark]{--accent:oklch(72% .13 252);--accent-hover:oklch(77% .125 252)}:root[data-accent=indigo][data-theme=light]{--accent:oklch(52% .14 252);--accent-hover:oklch(46% .13 252);--accent-on-soft:#1063ae}:root[data-accent=celadon][data-theme=dark]{--accent:oklch(74% .12 150);--accent-hover:oklch(79% .115 150)}:root[data-accent=celadon][data-theme=light]{--accent:oklch(49% .13 150);--accent-hover:oklch(43% .11 150);--accent-on-soft:#067132}:root[data-accent=amber][data-theme=dark]{--accent:oklch(80% .14 95);--accent-hover:oklch(85% .13 95)}:root[data-accent=amber][data-theme=light]{--accent:oklch(56% .105 95);--accent-hover:oklch(50% .1 95);--accent-on-soft:#766200}:root[data-accent=terracotta][data-theme=dark]{--accent:oklch(76% .105 205);--accent-hover:oklch(81% .1 205)}:root[data-accent=terracotta][data-theme=light]{--accent:oklch(49% .075 205);--accent-hover:oklch(43% .07 205)}:root[data-accent=wisteria][data-theme=dark]{--accent:oklch(72% .13 300);--accent-hover:oklch(77% .13 300)}:root[data-accent=wisteria][data-theme=light]{--accent:oklch(52% .16 300);--accent-hover:oklch(46% .15 300);--accent-on-soft:#764ab2}:root[data-accent=graphite][data-theme=dark]{--accent:oklch(80% .025 250);--accent-hover:oklch(86% .02 250)}:root[data-accent=graphite][data-theme=light]{--accent:oklch(38% .03 250);--accent-hover:oklch(30% .025 250)}:root{--accent:oklch(54% .15 30);--accent-hover:oklch(48.5% .155 30);--accent-contrast:oklch(99% 0 0);--danger-contrast:oklch(99% 0 0);--accent-soft:color-mix(in oklab, var(--accent) 14%, transparent);--accent-softer:color-mix(in oklab, var(--accent) 7%, transparent);--warning-softer:color-mix(in oklab, var(--warning) 12%, transparent);--accent-on-soft:var(--accent);--danger-soft:color-mix(in oklab, var(--danger) 14%, transparent);--success-soft:color-mix(in oklab, var(--success) 14%, transparent);--warning-soft:color-mix(in oklab, var(--warning) 14%, transparent);--accent-ring:color-mix(in oklab, var(--accent) 34%, transparent);--shadow-ring:0 0 0 2px var(--accent-ring);--shadow-ring-focus:0 0 0 3px var(--accent-ring);--accent-muted:color-mix(in oklab, var(--accent) 62%, var(--text-tertiary));--list-marker:var(--accent-muted)}:root[data-theme=dark]{--accent-contrast:oklch(16% .008 265);--danger-contrast:oklch(16% .008 265)}@media (prefers-reduced-motion:reduce){:root{--dur-fast:1ms;--dur-base:1ms;--dur-slow:1ms}}.ink-prose .kanban-block{border:1px solid var(--border-subtle);border-radius:var(--r-lg);background:var(--bg-inset);margin:1em 0;overflow:hidden}.ink-prose .kanban-block-head{align-items:center;gap:var(--sp-2);padding:var(--sp-1) var(--sp-2);border-bottom:1px solid var(--border-subtle);background:var(--bg-raised);display:flex}.ink-prose .kanban-block-title{white-space:nowrap;text-overflow:ellipsis;min-width:0;font-size:var(--text-12);color:var(--text-secondary);font-weight:600;overflow:hidden}.ink-prose .kanban-block-mode{padding:var(--sp-0-5) var(--sp-1-5);border-radius:var(--r-sm);background:var(--bg-hover);font-size:var(--text-10);color:var(--text-tertiary);text-transform:uppercase;flex:none;font-weight:500}.ink-prose .kanban-block-actions{align-items:center;gap:var(--sp-0-5);margin-inline-start:auto;display:flex}.ink-prose .kanban-block-btn{width:var(--sp-6);height:var(--sp-6)}.ink-prose .kanban-block-btn:hover{color:var(--accent)}.ink-prose .kanban-block-btn:focus-visible{box-shadow:var(--shadow-ring);outline:none}.ink-prose .kanban-block-btn svg{width:var(--sp-3-5);height:var(--sp-3-5)}.ink-prose .kanban-block-placeholder{min-height:var(--sp-16);position:relative}.ink-prose .kanban-block.loading .kanban-block-placeholder{color:var(--text-secondary);font-size:var(--text-12);justify-content:center;align-items:center;display:flex}.ink-prose .kanban-block.kanban-source pre{padding:var(--sp-3);color:var(--text-secondary);font-family:var(--font-mono);font-size:var(--text-12);white-space:pre;margin:0;overflow-x:auto}.ink-prose .kanban-snapshot{gap:var(--sp-2);padding:var(--sp-3);flex-direction:column;display:flex}.ink-prose .kanban-snapshot-title{color:var(--text-primary);font-size:var(--text-14);margin:0;font-weight:600}.ink-prose .kanban-snapshot-groups{gap:var(--sp-2);flex-direction:column;margin:0;display:flex}.ink-prose .kanban-snapshot-group{color:var(--text-secondary);font-size:var(--text-12);font-weight:600}.ink-prose .kanban-snapshot-group-cards{margin:0}.ink-prose .kanban-snapshot-cards{margin:var(--sp-1) 0 0;color:var(--text-primary);font-size:var(--text-14);padding-inline-start:var(--sp-4);list-style:outside}.ink-prose .kanban-snapshot-empty{color:var(--text-secondary);font-size:var(--text-12);margin:0}.ink-prose .kanban-snapshot-board{gap:var(--sp-2);padding:var(--sp-2)}.ink-prose .kanban-snapshot-board .kanban-snapshot-title,.ink-prose .kanban-snapshot-board .kanban-snapshot-empty{font-size:var(--text-18)}.ink-prose .kanban-board-columns{gap:var(--sp-2);flex-direction:row;align-items:flex-start;margin:0;display:flex}.ink-prose .kanban-board-column{gap:var(--sp-1);flex-direction:column;flex:1 1 0;min-width:0;display:flex}.ink-prose .kanban-board-columns .kanban-snapshot-group{padding:var(--sp-1) var(--sp-2);border-radius:var(--r-xs);font-size:var(--text-18);font-weight:600;line-height:var(--ui-line)}.ink-prose .kanban-board-columns .kanban-snapshot-group-cards,.ink-prose .kanban-board-columns .kanban-snapshot-cards{gap:var(--sp-1);flex-direction:column;margin:0;padding-inline-start:0;list-style:none;display:flex}.ink-prose .kanban-snapshot-board .kanban-snapshot-card{gap:var(--sp-1);padding:var(--sp-2);border:1px solid var(--border-subtle);border-radius:var(--r-md);background:var(--bg-raised);color:var(--text-primary);font-size:var(--text-14);flex-direction:column;display:flex}.ink-prose .kanban-snapshot-board .kanban-snapshot-card-title{color:var(--text-primary);font-size:var(--text-18);font-weight:600;line-height:var(--ui-line);margin:0}.ink-prose .kanban-snapshot-card .kanban-cover{width:100%;height:var(--sp-12);object-fit:cover;border-radius:var(--r-sm)}.ink-prose .kanban-snapshot-card-tags{gap:var(--sp-1);flex-wrap:wrap;margin:0;padding-inline-start:0;list-style:none;display:flex}.ink-prose .kanban-snapshot-board .kanban-snapshot-card-tags li{padding:var(--sp-0-5) var(--sp-1);border-radius:var(--r-xs);font-size:var(--text-14);font-weight:600;line-height:var(--ui-line)}.ink-prose .kanban-snapshot-board .kanban-snapshot-card-priority{padding:var(--sp-0-5) var(--sp-1);border-radius:var(--r-xs);font-size:var(--text-14);font-weight:600;line-height:var(--ui-line);align-self:flex-start}.ink-prose .kanban-snapshot-board .kanban-snapshot-card-subtasks{color:var(--text-secondary);font-size:var(--text-14);font-variant-numeric:tabular-nums;margin:0}.ink-prose .kanban-snapshot-board [data-kanban-card-fields]{gap:var(--sp-1) var(--sp-2);flex-wrap:wrap;margin:0;display:flex}.ink-prose .kanban-snapshot-board [data-kanban-card-fields] dt{color:var(--text-tertiary);font-size:var(--text-14)}.ink-prose .kanban-snapshot-board [data-kanban-card-fields] dd{color:var(--text-secondary);font-size:var(--text-14);margin:0}.kanban-canvas{--kanban-canvas-cap:480px;font-family:var(--font-ui);font-size:var(--text-13);line-height:var(--ui-line);letter-spacing:normal}.ink-prose .kanban-canvas{width:100%;position:relative;overflow:hidden}.kanban-canvas.is-reserve{height:var(--kanban-canvas-cap)}.ink-prose .kanban-canvas [data-kanban-board]{max-height:var(--kanban-canvas-cap)}.ink-prose .kanban-canvas [data-kanban-board]>[data-kanban-group]{max-height:calc(var(--kanban-canvas-cap) - var(--sp-4) * 2)}.ink-prose [data-kanban-canvas] :is(h1,h2,h3,h4,h5,h6){font-size:inherit;font-weight:inherit;line-height:inherit;letter-spacing:normal;margin:0;position:static}.ink-prose [data-kanban-canvas] :is(p,ul,ol,pre,blockquote,figure,dl){margin:0}.ink-prose [data-kanban-canvas] p{text-wrap:wrap}.ink-prose [data-kanban-canvas] :is(ul,ol){padding:0;list-style:none}.ink-prose [data-kanban-canvas] li{margin:0}.ink-prose [data-kanban-canvas] img{cursor:auto;background:0 0;border:0;border-radius:0;margin:0}.ink-prose [data-kanban-canvas] .kanban-cover{max-width:100%;height:100%}.kanban-canvas.is-fullscreen{flex:auto;width:100%;height:auto;min-height:0}.kanban-canvas.is-fullscreen [data-kanban-board]{height:100%;max-height:none}.kanban-canvas.is-fullscreen [data-kanban-board]>[data-kanban-group]{max-height:100%}.ink-prose .kanban-error{gap:var(--sp-2);padding:var(--sp-3);color:var(--danger);font-size:var(--text-12);flex-wrap:wrap;display:flex}.ink-prose .kanban-error-message{overflow-wrap:anywhere;flex:100%}.ink-prose .kanban-error pre{color:var(--text-secondary);font-family:var(--font-mono);font-size:var(--code-font-size);background:0 0;flex:100%;padding:0}.ink-prose .kanban-retry{border:1px solid var(--border-default);border-radius:var(--r-sm);padding:var(--sp-0-75) var(--sp-2-25);color:var(--text-primary);background:var(--bg-overlay);cursor:pointer;align-self:start}.ink-prose .kanban-retry:hover{border-color:var(--accent);color:var(--accent)}.kanban-print-sheet{--print-offscreen-x:-100000px;top:0;left:var(--print-offscreen-x);background:var(--bg-surface);position:fixed}.kanban-print-page{overflow:hidden}@media print{.kanban-print-sheet{position:static;left:auto}.kanban-print-page{-webkit-print-color-adjust:exact;print-color-adjust:exact}}.ink-prose{font-size:var(--prose-size,16px);line-height:var(--prose-line,1.65);color:var(--text-primary);letter-spacing:-.005em;word-wrap:break-word;overflow-wrap:break-word;font-family:var(--font-ui);max-width:var(--prose-width,72ch);margin-inline:auto;padding-block:0 42vh}.ink-prose[data-font=serif]{font-family:var(--font-serif);letter-spacing:0}.ink-prose p{text-wrap:pretty;margin:0 0 .72em}.ink-prose:not(.cm-live-block)>:last-child{margin-bottom:0}.ink-prose h1,.ink-prose h2,.ink-prose h3,.ink-prose h4,.ink-prose h5,.ink-prose h6{font-weight:650;line-height:var(--heading-line,1.28);letter-spacing:-.019em;margin:1.45em 0 .44em;scroll-margin-top:24px;position:relative}.ink-prose>h1:first-child,.ink-prose>h2:first-child,.ink-prose>h3:first-child{margin-top:0}.ink-prose h1{font-size:var(--heading-1-size,1.52em);letter-spacing:-.024em;margin-top:1.55em;font-weight:650}.ink-prose h2{font-size:var(--heading-2-size,1.28em);margin-top:1.5em}.ink-prose h3{font-size:var(--heading-3-size,1.14em)}.ink-prose h4{font-size:var(--heading-4-size,1.03em)}.ink-prose h5,.ink-prose h6{font-size:var(--heading-5-size,.94em);color:var(--text-secondary);text-transform:none}.ink-prose .heading-anchor{width:.9em;color:var(--text-quaternary);opacity:0;transition:opacity var(--dur-fast) var(--ease-out);-webkit-user-select:none;user-select:none;font-weight:400;text-decoration:none;position:absolute;top:0;left:-.95em}.ink-prose .heading-anchor:before{content:"#"}.ink-prose h1:hover .heading-anchor,.ink-prose h2:hover .heading-anchor,.ink-prose h3:hover .heading-anchor,.ink-prose h4:hover .heading-anchor{opacity:1}.ink-prose .heading-anchor:hover{color:var(--accent)}.ink-prose ul,.ink-prose ol{margin:0 0 .68em;padding-inline-start:1.4em}.ink-prose ul{list-style-type:disc}.ink-prose ol{list-style-type:decimal}.ink-prose ul ul{list-style-type:circle}.ink-prose ul ul ul{list-style-type:square}.ink-prose li{margin-bottom:.14em}.ink-prose li>ul,.ink-prose li>ol{margin:.18em 0 0}.ink-prose li::marker{color:var(--list-marker,var(--text-tertiary))}.ink-prose ol>li::marker{font-variant-numeric:tabular-nums;font-size:.92em}.ink-prose ul.contains-task-list,.ink-prose ul.contains-task-list>li.task-list-item{list-style:none}.ink-prose ul.contains-task-list{padding-inline-start:.15em}.ink-prose .task-list-item{grid-template-columns:auto minmax(0,1fr);align-items:flex-start;gap:.45em;display:grid}.ink-prose ol.contains-task-list>li.task-list-item{display:list-item}.ink-prose ol.contains-task-list>li.task-list-item>input[type=checkbox]{margin-inline-end:.45em}.ink-prose .task-list-item>p{margin:0;display:contents}.ink-prose .task-list-item>ul,.ink-prose .task-list-item>ol{grid-column:2;width:100%}.ink-prose .task-label{min-width:0}.ink-prose input[type=checkbox]{appearance:none;border:1.5px solid var(--border-strong);background:var(--bg-inset);cursor:pointer;width:1.05em;height:1.05em;transition:background-color var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out);border-radius:5px;flex:none;margin:.28em 0 0;position:relative}.ink-prose input[type=checkbox]:hover{border-color:var(--accent)}.ink-prose input[type=checkbox]:before{content:"";width:max(100%, var(--tap-min));height:max(100%, var(--tap-min));position:absolute;top:50%;left:50%;translate:-50% -50%}.ink-prose input[type=checkbox]:disabled{opacity:.72;cursor:default}.ink-prose input[type=checkbox]:disabled:hover{border-color:var(--border-strong)}.ink-prose input[type=checkbox]:checked{background:var(--accent);border-color:var(--accent)}.ink-prose input[type=checkbox]:checked:after{content:"";background:var(--accent-contrast);clip-path:polygon(20% 52%,16% 58%,40% 80%,84% 30%,78% 24%,39% 68%);position:absolute;inset:0}.ink-prose .task-list-item.done>p>.task-label,.ink-prose .task-list-item.done>.task-label{color:var(--text-tertiary);text-decoration:line-through;-webkit-text-decoration-color:var(--text-quaternary);text-decoration-color:var(--text-quaternary)}.ink-prose blockquote{border-left:3px solid var(--border-strong);border-radius:0 var(--r-sm) var(--r-sm) 0;background:var(--bg-inset);color:var(--text-secondary);margin:.86em 0;padding:.54em .86em}.ink-prose blockquote>:last-child{margin-bottom:0}.ink-prose blockquote blockquote{background:0 0;margin:.5em 0}.ink-prose .markdown-details,.ink-prose>details:not(.callout):not(.frontmatter-properties),.ink-prose .markdown-example-preview details:not(.callout):not(.frontmatter-properties){border:1px solid var(--border-subtle);border-radius:var(--r-md);background:var(--bg-inset);margin:.9em 0;overflow:clip}.ink-prose .markdown-details>summary,.ink-prose>details:not(.callout):not(.frontmatter-properties)>summary,.ink-prose .markdown-example-preview details:not(.callout):not(.frontmatter-properties)>summary{color:var(--text-secondary);cursor:pointer;-webkit-user-select:none;user-select:none;padding:.55em .8em;font-weight:600}.ink-prose .markdown-details[open]>summary,.ink-prose>details[open]:not(.callout):not(.frontmatter-properties)>summary,.ink-prose .markdown-example-preview details[open]:not(.callout):not(.frontmatter-properties)>summary{border-bottom:1px solid var(--border-subtle)}.ink-prose .markdown-details>:not(summary),.ink-prose>details:not(.callout):not(.frontmatter-properties)>:not(summary),.ink-prose .markdown-example-preview details:not(.callout):not(.frontmatter-properties)>:not(summary){margin-inline:.85em}.ink-prose .markdown-details>:nth-child(2),.ink-prose>details:not(.callout):not(.frontmatter-properties)>:nth-child(2),.ink-prose .markdown-example-preview details:not(.callout):not(.frontmatter-properties)>:nth-child(2){margin-top:.72em}.ink-prose .markdown-details>:last-child,.ink-prose>details:not(.callout):not(.frontmatter-properties)>:last-child,.ink-prose .markdown-example-preview details:not(.callout):not(.frontmatter-properties)>:last-child{margin-bottom:.72em}.ink-prose .callout{--callout-color:var(--accent);border:1px solid color-mix(in oklab, var(--callout-color) 30%, var(--border-subtle));border-left:3px solid var(--callout-color);border-radius:var(--r-md);background:color-mix(in oklab, var(--callout-color) 6%, var(--bg-inset));margin:.9em 0;overflow:clip}.ink-prose .callout-warning,.ink-prose .callout-question{--callout-color:var(--warning)}.ink-prose .callout-danger,.ink-prose .callout-failure{--callout-color:var(--danger)}.ink-prose .callout-success,.ink-prose .callout-tip{--callout-color:var(--success)}.ink-prose .callout-title{color:var(--callout-color);align-items:center;gap:.5em;padding:.48em .72em;font-weight:650;line-height:1.4;display:flex}.ink-prose summary.callout-title{cursor:pointer}.ink-prose .callout-title:before{content:"";background:currentColor;border-radius:50%;flex:none;width:.58em;height:.58em}.ink-prose .callout-content{padding:0 .78em .62em}.ink-prose .callout-content>:last-child{margin-bottom:0}.ink-prose .markdown-tabs-outer{margin:.95em 0;container-type:inline-size}.ink-prose .markdown-tabs{border:1px solid var(--border-subtle);border-radius:var(--r-md);background:var(--bg-base);position:relative}.ink-prose .markdown-tabs-header-wrap{display:contents}.ink-prose .markdown-tabs.is-settings-open>.markdown-tabs-header-wrap{flex:0 0 100%;display:block;position:relative}.ink-prose .tab-list{gap:var(--sp-0-5);border-bottom:1px solid var(--border-subtle);border-radius:var(--r-md) var(--r-md) 0 0;background:var(--bg-inset);padding:5px 6px 0;display:flex;overflow-x:auto}.ink-prose .markdown-tabs:not([data-tabs-style=vertical]):not([data-tabs-position=bottom])>.tab-list{padding-inline-end:130px}.ink-prose [role=tab]{color:var(--text-tertiary);cursor:pointer;transition:color var(--dur-fast) var(--ease-out), background-color var(--dur-fast) var(--ease-out);background:0 0;border:none;border-bottom:2px solid #0000;border-radius:0;flex:none;padding:.42em .72em .5em;font-family:inherit;font-size:.9em}.ink-prose [role=tab]:hover{color:var(--text-secondary)}.ink-prose [role=tab][aria-selected=true]{border-bottom-color:var(--accent);color:var(--text-primary);font-weight:600}.ink-prose .tab-panel{min-width:0;padding:.8em .9em .15em}.ink-prose .tab-panel[hidden]{display:none}.ink-prose .markdown-tabs[data-tabs-style=vertical]{flex-flow:wrap;align-items:stretch;display:flex}.ink-prose .markdown-tabs[data-tabs-style=vertical] .tab-list{border-bottom:none;border-inline-end:1px solid var(--border-subtle);border-radius:var(--r-md) 0 0 var(--r-md);padding:var(--sp-1-5) var(--sp-1);gap:var(--sp-0-5);background:var(--bg-inset);flex-direction:column;flex-shrink:0;min-width:130px;max-width:200px;overflow:hidden auto}.ink-prose .markdown-tabs[data-tabs-style=vertical] [role=tab]{text-align:start;border-bottom:none;border-radius:var(--r-sm);border-inline-start:3px solid #0000;width:100%;padding:.45em .7em}.ink-prose .markdown-tabs[data-tabs-style=vertical] [role=tab][aria-selected=true]{border-inline-start-color:var(--accent);background:var(--bg-surface);color:var(--text-primary)}.ink-prose .markdown-tabs[data-tabs-style=vertical] .tab-panel{flex:1 1 0;min-width:0;overflow-x:auto}.ink-prose .markdown-tabs[data-tabs-style=vertical][data-tabs-position=right] .tab-list{border-inline-end:none;border-inline-start:1px solid var(--border-subtle);border-radius:0 var(--r-md) var(--r-md) 0;order:1}.ink-prose .markdown-tabs[data-tabs-style=vertical][data-tabs-position=right] .tab-panel{order:0}.ink-prose .markdown-tabs[data-tabs-style=vertical][data-tabs-position=right] [role=tab]{border-inline-start:none;border-inline-end:3px solid #0000}.ink-prose .markdown-tabs[data-tabs-style=vertical][data-tabs-position=right] [role=tab][aria-selected=true]{border-inline-end-color:var(--accent)}.ink-prose .markdown-tabs:not([data-tabs-style=vertical])[data-tabs-position=bottom]{flex-direction:column;display:flex}.ink-prose .markdown-tabs:not([data-tabs-style=vertical])[data-tabs-position=bottom] .tab-list{border-bottom:none;border-top:1px solid var(--border-subtle);border-radius:0 0 var(--r-md) var(--r-md);order:1;padding:0 6px 5px;padding-inline-end:132px}.ink-prose .markdown-tabs:not([data-tabs-style=vertical])[data-tabs-position=bottom] .tab-panel{order:0}.ink-prose .markdown-tabs:not([data-tabs-style=vertical])[data-tabs-position=bottom] [role=tab]{border-top:2px solid #0000;border-bottom:none}.ink-prose .markdown-tabs:not([data-tabs-style=vertical])[data-tabs-position=bottom] [role=tab][aria-selected=true]{border-top-color:var(--accent)}.ink-prose .markdown-tabs[data-tabs-variant=pills] .tab-list{padding:var(--sp-1);gap:var(--sp-1);border-bottom:none;align-items:center}.ink-prose .markdown-tabs[data-tabs-variant=pills] [role=tab]{border-radius:var(--r-full);border:none;padding:.3em .8em;font-size:.86em}.ink-prose .markdown-tabs[data-tabs-variant=pills] [role=tab][aria-selected=true]{background:var(--accent);color:var(--accent-contrast);border-inline-start:none;border-top:none}.ink-prose .markdown-tabs[data-tabs-variant=cards] .tab-list{padding-top:var(--sp-1);padding-inline:var(--sp-1);gap:var(--sp-0-5)}.ink-prose .markdown-tabs[data-tabs-variant=cards] [role=tab]{border-radius:var(--r-md) var(--r-md) 0 0;border:1px solid #0000;border-bottom:none;margin-bottom:-1px}.ink-prose .markdown-tabs[data-tabs-variant=cards] [role=tab][aria-selected=true]{background:var(--bg-base);border-color:var(--border-subtle);border-bottom-color:var(--bg-base);color:var(--text-primary)}.ink-prose .markdown-tabs[data-tabs-variant=minimal]{background:0 0;border:none}.ink-prose .markdown-tabs[data-tabs-variant=minimal] .tab-list{border-bottom:1px solid var(--border-subtle);background:0 0;border-radius:0}.ink-prose .markdown-tabs[data-tabs-variant=minimal] .tab-panel{padding-inline:0}.ink-prose .markdown-tabs[data-tabs-align=center] .tab-list{justify-content:center}.ink-prose .markdown-tabs[data-tabs-align=end] .tab-list{justify-content:flex-end}.ink-prose .markdown-tabs[data-tabs-align=stretch] [role=tab]{text-align:center;flex:1 1 0}.ink-prose .markdown-tabs>.markdown-tabs-header-wrap>.block-tools{border-radius:var(--r-sm);background:color-mix(in oklab, var(--bg-inset) 86%, transparent);border:1px solid var(--border-subtle);opacity:0;pointer-events:none;transition:opacity var(--dur-fast) var(--ease-out);z-index:2;padding:2px 4px;position:absolute;top:5px;right:6px}.ink-prose .markdown-tabs:hover>.markdown-tabs-header-wrap>.block-tools,.ink-prose .markdown-tabs:focus-within>.markdown-tabs-header-wrap>.block-tools,.ink-prose .markdown-tabs.is-settings-open>.markdown-tabs-header-wrap>.block-tools,.ink-prose .markdown-tabs.is-layout-open>.markdown-tabs-header-wrap>.block-tools{opacity:1;pointer-events:auto}.ink-prose .markdown-tabs[data-tabs-position=right]>.markdown-tabs-header-wrap>.block-tools{left:6px;right:auto}.ink-prose .markdown-tabs:not([data-tabs-style=vertical])[data-tabs-position=bottom]>.markdown-tabs-header-wrap>.block-tools{top:auto;bottom:5px}.ink-prose .markdown-tabs[data-tabs].is-settings-open>.markdown-tabs-header-wrap>.block-tools{inset:5px 6px auto auto}.ink-prose .markdown-tabs>.markdown-tabs-header-wrap>.block-popover{z-index:3;top:calc(100% + 5px);right:0}.ink-prose .markdown-tabs[data-tabs-position=right]>.markdown-tabs-header-wrap>.block-popover{left:0;right:auto}.ink-prose .markdown-tabs:not([data-tabs-style=vertical])[data-tabs-position=bottom]>.markdown-tabs-header-wrap>.block-popover{top:auto;bottom:calc(100% + 5px)}.ink-prose .markdown-tabs[data-tabs].is-settings-open>.markdown-tabs-header-wrap>.block-popover{top:calc(100% + 5px);bottom:auto}.ink-prose .block-tool-btn.is-layout-trigger[aria-expanded=true]{color:var(--accent);background:var(--accent-soft)}.ink-prose .markdown-tabs.is-settings-open>.markdown-tabs-header-wrap>.block-settings{padding-top:38px}.ink-prose .block-opt-btn.is-danger{color:var(--danger)}.ink-prose .block-opt-btn.is-danger:hover{border-color:var(--danger);color:var(--danger)}.ink-prose .block-opt-btn:disabled,.ink-prose .block-icon-opt:disabled{opacity:.45;cursor:not-allowed}@container (width<=480px){.ink-prose .markdown-tabs[data-tabs-style=vertical]{flex-direction:column}.ink-prose .markdown-tabs[data-tabs-style=vertical] .tab-list{border-inline:none;border-bottom:1px solid var(--border-subtle);border-radius:var(--r-md) var(--r-md) 0 0;min-width:unset;padding:5px 6px 0;flex-direction:row;order:0;max-width:100%;padding-inline-end:132px}.ink-prose .markdown-tabs[data-tabs-style=vertical] [role=tab]{border-inline:none;border-bottom:2px solid #0000;width:auto}.ink-prose .markdown-tabs[data-tabs-style=vertical] [role=tab][aria-selected=true]{border-bottom-color:var(--accent);background:0 0}.ink-prose .markdown-tabs[data-tabs-style=vertical][data-tabs-variant=pills] [role=tab]{border-bottom:none}.ink-prose .markdown-tabs[data-tabs-style=vertical] .tab-panel{flex:none;overflow-x:visible}.ink-prose .markdown-tabs[data-tabs-style=vertical][data-tabs-position=right] .tab-list,.ink-prose .markdown-tabs[data-tabs-style=vertical][data-tabs-position=right] .tab-panel{order:0}.ink-prose .markdown-tabs[data-tabs-position=right]>.markdown-tabs-header-wrap>.block-tools,.ink-prose .markdown-tabs[data-tabs-position=right]>.markdown-tabs-header-wrap>.block-popover{left:auto;right:6px}}.ink-prose .markdown-align{margin:.9em 0}.ink-prose .markdown-align>:first-child{margin-top:0}.ink-prose .markdown-align>:last-child{margin-bottom:0}.ink-prose .markdown-align[data-align=left]{text-align:left}.ink-prose .markdown-align[data-align=center]{text-align:center}.ink-prose .markdown-align[data-align=right]{text-align:right}.ink-prose .markdown-align[data-align=justify]{text-align:justify}.ink-prose .markdown-align[data-align=justify] :is(p,li){overflow-wrap:anywhere}.ink-prose .markdown-cols{align-items:start;gap:var(--sp-3-5);grid-template-columns:minmax(0,1fr);margin:.95em 0;display:grid;container-type:inline-size}.ink-prose .markdown-cols[data-cols="1"]{grid-template-columns:var(--panel-cols-tracks,minmax(0, 1fr))}.ink-prose .markdown-cols[data-cols="2"]{grid-template-columns:var(--panel-cols-tracks,repeat(2, minmax(0, 1fr)))}.ink-prose .markdown-cols[data-cols="3"]{grid-template-columns:var(--panel-cols-tracks,repeat(3, minmax(0, 1fr)))}.ink-prose .markdown-cols[data-cols="4"]{grid-template-columns:var(--panel-cols-tracks,repeat(4, minmax(0, 1fr)))}.ink-prose .markdown-cols[data-cols="5"]{grid-template-columns:var(--panel-cols-tracks,repeat(5, minmax(0, 1fr)))}.ink-prose .markdown-cols[data-cols="6"]{grid-template-columns:var(--panel-cols-tracks,repeat(6, minmax(0, 1fr)))}.ink-prose .markdown-cols[data-cols-gap=narrow]{gap:var(--sp-1-5)}.ink-prose .markdown-cols[data-cols-gap=wide]{gap:var(--sp-6)}.ink-prose .markdown-col{min-width:0}.ink-prose .markdown-col>:first-child{margin-top:0}.ink-prose .markdown-col>:last-child{margin-bottom:0}.ink-prose .markdown-cols[data-cols-divider]>.markdown-col+.markdown-col{border-inline-start:1px solid var(--border-subtle);margin-inline-start:calc(var(--sp-3-5) / -2);padding-inline-start:calc(var(--sp-3-5) / 2)}.ink-prose .markdown-cols[data-cols-align=left] .markdown-col{text-align:left}.ink-prose .markdown-cols[data-cols-align=center] .markdown-col{text-align:center}.ink-prose .markdown-cols[data-cols-align=right] .markdown-col{text-align:right}.ink-prose .markdown-cols[data-cols-align=justify] .markdown-col{text-align:justify}.ink-prose .markdown-cols[data-cols-align=justify] .markdown-col :is(p,li){overflow-wrap:anywhere}@container (width<=560px){.ink-prose .markdown-col{grid-column:1/-1}.ink-prose .markdown-cols[data-cols-divider]>.markdown-col+.markdown-col{border-inline-start:0;border-top:1px solid var(--border-subtle);padding-inline-start:0;padding-top:calc(var(--sp-3-5) / 2);margin-inline-start:0}}.ink-prose .markdown-media{gap:var(--media-gap,var(--sp-3-5));width:min(100%, var(--media-width,100%));--media-gap:var(--sp-3-5);--media-r:var(--r-md);--media-fit:contain;flex-direction:column;margin:.95em 0;display:flex;position:relative}.ink-prose .markdown-media[data-media-gap=narrow]{--media-gap:var(--sp-1-5)}.ink-prose .markdown-media[data-media-gap=wide]{--media-gap:var(--sp-6)}.ink-prose .markdown-media[data-media-radius=none]{--media-r:0px}.ink-prose .markdown-media[data-media-radius=sm]{--media-r:var(--r-sm)}.ink-prose .markdown-media[data-media-radius=md]{--media-r:var(--r-md)}.ink-prose .markdown-media[data-media-radius=lg]{--media-r:var(--r-lg)}.ink-prose .markdown-media[data-media-radius=full]{--media-r:var(--r-full)}.ink-prose .markdown-media[data-media-fit=cover]{--media-fit:cover}.ink-prose .markdown-media[data-media-fit=fill]{--media-fit:fill}.ink-prose .markdown-media[data-media-fit=none]{--media-fit:none}.ink-prose .markdown-media[data-media-border]>.markdown-media-row,.ink-prose .markdown-media[data-media-border]>.markdown-media-cell{outline:1px solid var(--border-subtle);outline-offset:-1px}.ink-prose .markdown-media[data-media-shadow]{--media-shadow:var(--shadow-soft)}.ink-prose .markdown-media[data-media-wrap=left]{float:left;margin:0 var(--sp-5) var(--sp-3) 0}.ink-prose .markdown-media[data-media-wrap=right]{float:right;margin:0 0 var(--sp-3) var(--sp-5)}.ink-prose .markdown-media[data-media-align=left]{align-items:start}.ink-prose .markdown-media[data-media-align=right]{align-items:end}.ink-prose .markdown-media[data-media-text]{padding:var(--sp-3) var(--sp-3-5);border:1px solid var(--border-subtle);border-radius:var(--media-r);background:var(--bg-inset)}.ink-prose .markdown-media[data-media-text]>:first-child{margin-top:0}.ink-prose .markdown-media[data-media-text]>:last-child{margin-bottom:0}.ink-prose .markdown-media-row{align-items:stretch;gap:var(--media-gap,var(--sp-3-5));min-height:0;height:var(--media-row-h,auto);display:flex;position:relative}.ink-prose .markdown-media-row[data-media-row-align=left]{justify-content:flex-start}.ink-prose .markdown-media-row[data-media-row-align=right]{justify-content:flex-end}.ink-prose .markdown-media-row[data-media-row-align=center]{justify-content:center}.ink-prose .markdown-media[data-media-columns]{grid-template-columns:repeat(var(--media-columns,2), minmax(0, 1fr));display:grid}.ink-prose .markdown-media[data-media-columns]>.markdown-media-row{display:contents}.ink-prose .markdown-media[data-media-columns]>.block-head{grid-column:1/-1}.ink-prose .markdown-media[data-media-columns][data-media-align=left]{place-items:stretch start}.ink-prose .markdown-media[data-media-columns][data-media-align=right]{place-items:stretch end}.ink-prose .markdown-media-cell{border-radius:var(--media-r);min-width:0;min-height:0;box-shadow:var(--media-shadow,none);flex-direction:column;flex:0 auto;display:flex;position:relative}.ink-prose .markdown-media-cell.is-media-weighted{flex:var(--media-w,1) 1 0%}.ink-prose .markdown-media-cell>figure{flex-direction:column;flex:auto;min-height:0;margin:0;display:flex}.ink-prose .markdown-media-cell>figure>img,.ink-prose .markdown-media-cell>img{border-radius:var(--media-r);max-width:100%;margin-inline:auto;display:block}.ink-prose .markdown-media-cell :is(img,video){object-fit:var(--media-fit,contain)}.ink-prose .markdown-media-cell.is-media-sized :is(img,video){width:100%;height:100%;max-height:100%}.ink-prose .markdown-media-cell:has(>.note-embed){overflow:hidden}.ink-prose .markdown-media-cell .note-embed{border-radius:var(--media-r);background:0 0;border:0;flex:auto;min-height:0;margin:0;display:flex;overflow:hidden}.ink-prose .markdown-media-cell .note-embed-head{display:none}.ink-prose .markdown-media-cell .note-embed-body{flex:auto;justify-content:center;align-items:center;min-height:0;padding:0;display:flex}.ink-prose .markdown-media-cell .note-embed-body>img{border-radius:var(--media-r);max-width:100%;display:block}.ink-prose .markdown-media[data-media-ratio] .markdown-media-cell{aspect-ratio:var(--media-ratio)}.ink-prose .markdown-media-caption,.ink-prose .markdown-media-cell figcaption{padding:var(--sp-1) var(--sp-0-5) 0;color:var(--text-secondary);font-size:var(--text-11-5);text-align:var(--media-caption-align,center);line-height:1.45}.ink-prose .markdown-media[data-media-caption-align=left]{--media-caption-align:start}.ink-prose .markdown-media[data-media-numbered] .markdown-media-cell figcaption{display:none}.ink-prose .markdown-media-figure{color:var(--text-tertiary);margin-inline-end:var(--sp-1);font-weight:650}.ink-prose .markdown-media[data-media-caption=off] :is(.markdown-media-caption,figcaption){display:none}.ink-prose .figure-reference{font-variant-numeric:tabular-nums;white-space:nowrap}.ink-prose .math-equation{align-items:center;gap:var(--sp-3);display:flex}.ink-prose .math-equation>.math-block{flex:auto;min-width:0}.ink-prose .math-equation-number{color:var(--text-secondary);font-size:var(--text-11-5);font-variant-numeric:tabular-nums;flex:none}.ink-prose .markdown-table-caption{caption-side:top;padding:0 0 var(--sp-1);color:var(--text-secondary);font-size:var(--text-11-5);text-align:start;font-weight:600}.ink-prose .markdown-media>.block-head{margin-bottom:0}.ink-prose .media-handles{z-index:2;pointer-events:none;position:absolute;inset:0}.ink-prose .media-splitter{cursor:col-resize;pointer-events:auto;border-radius:var(--r-full);width:13px;position:absolute;top:0;bottom:0;transform:translate(-50%)}.ink-prose .media-edge{z-index:3;pointer-events:auto;position:absolute}.ink-prose .media-edge-right{cursor:ew-resize;width:11px;top:0;bottom:0;right:-5px}.ink-prose .media-edge-bottom{cursor:ns-resize;height:11px;bottom:-5px;left:0;right:0}.ink-prose .media-edge-corner{cursor:nwse-resize;border-radius:var(--r-sm);width:19px;height:19px;bottom:-5px;right:-5px}.ink-prose .media-splitter:after,.ink-prose .media-edge:after{content:"";border-radius:var(--r-full);background:color-mix(in oklab, var(--accent) 55%, transparent);opacity:0;transition:opacity var(--dur-fast) var(--ease-out);position:absolute;inset:3px}.ink-prose .media-splitter:after{inset:12% 5px}.ink-prose .markdown-media.is-media-active :is(),.ink-prose .media-splitter.is-media-shown:after,.ink-prose .media-splitter:hover:after,.ink-prose .media-edge:hover:after{opacity:1}.ink-prose .markdown-media .markdown-media-cell.is-media-lifted{opacity:.45}.ink-prose .markdown-media .markdown-media-cell.is-media-over{outline:2px dashed var(--accent);outline-offset:-2px}.ink-prose .markdown-media.has-media-chrome img{-webkit-user-drag:none;-webkit-user-select:none;user-select:none}.ink-prose .markdown-media.is-media-dragging{cursor:inherit;-webkit-user-select:none;user-select:none}.ink-prose .markdown-media.is-media-dragging :is(){opacity:1}.ink-prose .media-splitter:focus-visible,.ink-prose .media-edge:focus-visible{box-shadow:var(--shadow-ring);outline:none}.ink-prose .media-splitter:focus-visible:after,.ink-prose .media-edge:focus-visible:after{opacity:1}@media (width<=640px){.ink-prose .markdown-media[data-media-wrap]{float:none;width:100%;margin-inline:0}.ink-prose .media-splitter{width:19px}}.ink-prose .block-head{justify-content:space-between;align-items:center;gap:var(--sp-2);min-height:28px;margin-bottom:var(--sp-1);display:flex}.ink-prose .block-head-title{font-family:var(--font-ui);font-size:var(--text-10-5);letter-spacing:var(--tracking-caps);text-transform:uppercase;color:var(--text-tertiary);font-weight:600}.ink-prose .block-head>.block-tools{margin-inline-start:0}.ink-prose .block-settings-value{color:var(--text-tertiary);font-variant-numeric:tabular-nums}.ink-prose .panel-block:last-child>.markdown-align,.ink-prose .panel-block:last-child>.markdown-cols,.ink-prose .panel-block>.block-head,.ink-prose .panel-block>.block-settings{margin-bottom:0}.ink-prose .markdown-timeline-block{margin:1em 0}.ink-prose .markdown-timeline-caption{margin-bottom:var(--sp-2);color:var(--text-primary);font-weight:600}.ink-prose .markdown-timeline-intro{margin-bottom:var(--sp-3)}.ink-prose .markdown-timeline-intro>:last-child{margin-bottom:0}.ink-prose .markdown-timeline{counter-reset:markdown-timeline;margin:0;padding:0;list-style:none}.ink-prose .markdown-timeline-item{--tl-mark:var(--text-tertiary);--tl-fill:var(--bg-inset);padding:0 0 var(--sp-4) var(--sp-6);border-inline-start:1px solid var(--border-strong);position:relative}.ink-prose .markdown-timeline-item[data-status=done]{--tl-mark:var(--success);--tl-fill:var(--success)}.ink-prose .markdown-timeline-item[data-status=doing]{--tl-mark:var(--warning);--tl-fill:var(--warning)}.ink-prose .markdown-timeline-item[data-status=error]{--tl-mark:var(--danger);--tl-fill:var(--danger)}.ink-prose .markdown-timeline-item[data-status=milestone]{--tl-mark:var(--accent);--tl-fill:var(--accent)}.ink-prose .markdown-timeline-item:last-child{border-inline-start-color:#0000;padding-bottom:0}.ink-prose .markdown-timeline-node{width:var(--sp-2);height:var(--sp-2);box-sizing:border-box;border:1px solid var(--tl-mark);border-radius:var(--r-full);background:var(--tl-fill);place-items:center;display:grid;position:absolute;inset-block-start:.34em;inset-inline-start:calc(var(--sp-2) / -2 - 1px)}.ink-prose .markdown-timeline-item[data-status=milestone] .markdown-timeline-node{border-radius:var(--r-1);transform:rotate(45deg)}.ink-prose .markdown-timeline-head{align-items:baseline;gap:var(--sp-0-5) var(--sp-2);flex-wrap:wrap;display:flex}.ink-prose .markdown-timeline-time{color:var(--text-secondary);font-size:var(--text-12);font-variant-numeric:tabular-nums}.ink-prose .markdown-timeline-title{color:var(--text-primary);font-weight:600}.ink-prose .markdown-timeline-status{padding-inline:var(--sp-1-5);border:1px solid var(--border-subtle);border-radius:var(--r-full);color:var(--text-secondary);font-size:var(--text-11);line-height:1.6}.ink-prose .markdown-timeline-body>:last-child{margin-bottom:0}.ink-prose .markdown-timeline-block[data-timeline-dense=true] .markdown-timeline-item{padding-bottom:var(--sp-2)}.ink-prose .markdown-timeline-block[data-timeline-dense=true] .markdown-timeline-node{inset-block-start:.22em}.ink-prose .markdown-timeline-block[data-timeline-status=off] .markdown-timeline-status{display:none}.ink-prose .markdown-timeline-block[data-timeline-marker=number] .markdown-timeline-item{counter-increment:markdown-timeline}.ink-prose .markdown-timeline-block[data-timeline-marker=number] .markdown-timeline-node{border-radius:var(--r-full);background:var(--bg-inset);width:1.7em;height:1.7em;color:var(--text-secondary);font-size:var(--text-11);font-variant-numeric:tabular-nums;padding-inline:0;inset-inline-start:calc(-.85em - 1px);transform:none}.ink-prose .markdown-timeline-block[data-timeline-marker=number] .markdown-timeline-node:before{content:counter(markdown-timeline)}.ink-prose .markdown-example{border:1px solid var(--border-subtle);border-radius:var(--r-lg);background:var(--bg-base);box-shadow:0 1px 2px color-mix(in oklab, var(--text-primary) 5%, transparent);margin:1em 0 1.25em;overflow:clip;container-type:inline-size}.ink-prose .markdown-example-head{border-bottom:1px solid var(--border-subtle);background:color-mix(in oklab, var(--bg-inset) 58%, var(--bg-base));flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5em;min-height:40px;padding:.55em .82em;display:flex}.ink-prose .markdown-example-title{min-width:0;color:var(--text-primary);align-items:center;gap:.55em;font-size:.92em;font-weight:650;line-height:1.35;display:inline-flex}.ink-prose .markdown-example-title:before{background:linear-gradient(135deg, var(--accent), color-mix(in oklab, var(--accent) 55%, var(--success)));width:.58em;height:.58em;box-shadow:0 0 0 3px var(--accent-softer);content:"";border-radius:3px;flex:none}.ink-prose .markdown-example-grid{--ex-budget:min(70vh, 720px);background:var(--border-subtle);grid-template-columns:minmax(0,1fr);gap:1px;display:grid}.ink-prose .markdown-example-preview,.ink-prose .markdown-example-source{min-width:0}.ink-prose .markdown-example-preview{background:var(--bg-base)}.ink-prose .markdown-example-preview-body{min-height:72px;padding:14px 16px}.ink-prose .markdown-example-preview-body>:first-child{margin-top:0}.ink-prose .markdown-example-preview-body>:last-child{margin-bottom:0}.ink-prose .markdown-example-preview-body :is(.callout,.markdown-tabs,.markdown-details,.code-block,.mermaid-block,.chart-block-wrap),.ink-prose .markdown-example-preview-body>:is(figure,details),.ink-prose .markdown-example-preview-body img{margin-block:0}.ink-prose .markdown-example-preview-body .footnotes{margin-top:1em}.ink-prose .markdown-example-source{background:var(--bg-inset)}.ink-prose .markdown-example-source .code-block{background:0 0;border:0;border-radius:0;height:100%;margin:0}.ink-prose .markdown-example-source .markdown-example-copy{z-index:1;border:1px solid var(--border-subtle);background:color-mix(in oklab, var(--bg-inset) 88%, var(--bg-base));box-shadow:0 1px 2px color-mix(in oklab, var(--text-primary) 7%, transparent);position:absolute;top:8px;right:8px}.ink-prose .markdown-example-source pre{overflow-wrap:anywhere;white-space:pre-wrap;min-height:72px;font-size:max(12px, calc(var(--code-size,15px) - 1.5px));padding:14px 16px;line-height:1.5}.ink-prose .markdown-example-source :is(code,.line){overflow-wrap:anywhere;white-space:pre-wrap}@container (width>=360px){.ink-prose .markdown-example-grid[data-example-layout=lr],.ink-prose .markdown-example-grid[data-example-layout=rl]{grid-template-columns:var(--ex-cols,45fr 55fr)}.ink-prose .markdown-example-grid[data-example-layout=tb],.ink-prose .markdown-example-grid[data-example-layout=bt]{grid-template-rows:auto auto}.ink-prose .markdown-example-grid:is([data-example-layout=tb],[data-example-layout=bt])>*{overflow:auto}.ink-prose .markdown-example-grid:is([data-example-layout=tb],[data-example-layout=bt])>:first-child{max-height:calc(var(--ex-budget) * var(--ex-a,45) / (var(--ex-a,45) + var(--ex-b,55)))}.ink-prose .markdown-example-grid:is([data-example-layout=tb],[data-example-layout=bt])>:last-child{max-height:calc(var(--ex-budget) * var(--ex-b,45) / (var(--ex-a,45) + var(--ex-b,55)))}.ink-prose .markdown-example-grid[data-example-layout=rl]>:first-child,.ink-prose .markdown-example-grid[data-example-layout=bt]>:first-child{order:2}.ink-prose .markdown-example-grid[data-example-layout=rl]>:last-child,.ink-prose .markdown-example-grid[data-example-layout=bt]>:last-child{order:1}}.ink-prose .markdown-example-preview,.ink-prose .markdown-example-source{min-height:0}.ink-prose code{font-family:var(--font-mono);font-size:.9em;font-weight:var(--code-weight,400);letter-spacing:var(--code-spacing,-.012em);font-variant-ligatures:none}.ink-prose :not(pre)>code{background:var(--bg-inset);border:1px solid var(--border-subtle);border-radius:var(--r-xs);color:var(--code-inline-fg);white-space:break-spaces;padding:.08em .28em}.ink-prose .code-block{border:1px solid var(--border-subtle);border-radius:var(--r-sm);background:var(--bg-inset);margin:.9em 0;position:relative;overflow:hidden}.ink-prose .code-block-head{border-bottom:1px solid var(--border-subtle);background:color-mix(in oklab, var(--bg-inset) 60%, var(--bg-base));justify-content:space-between;align-items:center;height:28px;padding:0 7px 0 12px;display:flex}.ink-prose .code-lang{font-family:var(--font-mono);letter-spacing:var(--tracking-caps);text-transform:uppercase;color:var(--text-tertiary);font-size:10.5px}.ink-prose .code-title{min-width:0;color:var(--text-secondary);font-family:var(--font-mono);text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.ink-prose .code-title+.code-lang{margin-left:auto;margin-right:8px}.ink-prose .code-copy{border-radius:var(--r-sm);height:20px;color:var(--text-tertiary);opacity:0;transition:opacity var(--dur-fast) var(--ease-out), background-color var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out);align-items:center;gap:5px;padding:0 7px;font-size:11px;display:inline-flex}.ink-prose .code-block:hover .code-copy,.ink-prose .code-copy:focus-visible{opacity:1}.ink-prose .code-copy:hover{background:var(--bg-hover);color:var(--text-primary)}.ink-prose .code-copy.copied{color:var(--success);opacity:1}.ink-prose .code-collapse{border-radius:var(--r-sm);color:var(--text-tertiary);transition:background-color var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out);margin-left:auto;padding:0 7px;font-size:11px;line-height:20px}.ink-prose .code-collapse:hover,.ink-prose .code-collapse:focus-visible{background:var(--bg-hover);color:var(--text-primary)}.ink-prose pre{color:var(--code-fg);font-size:var(--code-size,15px);font-weight:var(--code-weight,400);line-height:var(--code-line,1.56);letter-spacing:var(--code-spacing,-.012em);tab-size:2;background:0 0;margin:0;padding:10px 14px;overflow-x:auto}.ink-prose pre code{font-size:1em;font-weight:inherit;line-height:inherit;background:0 0;border:none;padding:0}.ink-prose .code-block.is-code-collapsed pre{overflow-y:hidden}.ink-prose .code-block .line{vertical-align:top;width:100%;min-height:1lh;display:inline-block}.ink-prose .token.comment,.ink-prose .token.prolog,.ink-prose .token.doctype,.ink-prose .token.cdata{color:var(--syntax-comment)}.ink-prose .token.punctuation{color:var(--syntax-punctuation)}.ink-prose .token.namespace{opacity:.75}.ink-prose .token.property,.ink-prose .token.tag,.ink-prose .token.constant,.ink-prose .token.symbol,.ink-prose .token.deleted{color:var(--syntax-property)}.ink-prose .token.boolean,.ink-prose .token.number{color:var(--syntax-number)}.ink-prose .token.selector,.ink-prose .token.attr-name,.ink-prose .token.string,.ink-prose .token.char,.ink-prose .token.builtin,.ink-prose .token.inserted{color:var(--syntax-string)}.ink-prose .token.operator,.ink-prose .token.entity,.ink-prose .token.url{color:var(--syntax-operator)}.ink-prose .token.atrule,.ink-prose .token.attr-value,.ink-prose .token.keyword{color:var(--syntax-keyword)}.ink-prose .token.function{color:var(--syntax-function)}.ink-prose .token.class-name{color:var(--syntax-type)}.ink-prose .token.regex,.ink-prose .token.important,.ink-prose .token.variable{color:var(--syntax-constant)}.ink-prose .token.important,.ink-prose .token.bold{font-weight:600}.ink-prose .token.italic{font-style:italic}.ink-prose .code-block .line.highlighted{background:color-mix(in oklab, var(--accent) 12%, transparent);box-shadow:inset 2px 0 var(--accent)}.ink-prose .code-block.has-line-numbers pre{padding-left:0}.ink-prose .code-block.has-line-numbers .line:before{width:3.4em;color:var(--text-quaternary);content:attr(data-line-number);font-variant-numeric:tabular-nums;text-align:right;-webkit-user-select:none;user-select:none;margin-right:1em;padding-right:.75em;display:inline-block}.ink-prose .code-block[data-code-wrap=true] pre{overflow-wrap:anywhere;white-space:pre-wrap;overflow-x:hidden}.ink-prose .code-block[data-code-wrap=true] :is(code,.line){overflow-wrap:anywhere;white-space:pre-wrap}.ink-prose .code-block>.block-settings .block-text-input.is-title{flex-basis:190px}.ink-prose .block-tools{z-index:2;align-items:center;gap:var(--sp-0-5);margin-inline-start:auto;display:flex;position:relative}.ink-prose .code-block-head>.block-tools{margin-inline-start:auto}.ink-prose .code-block-head>.code-lang+.block-tools,.ink-prose .markdown-example-head>.block-tools,.ink-prose .js-example-controls>.block-tools{margin-inline-start:0}.ink-prose .js-example-controls>.block-tools{border-inline-end:1px solid var(--border-subtle);padding-inline-end:var(--sp-1)}.ink-prose .tool-btn,.ink-prose .tool-btn--text,.ink-prose .block-tool-btn,.ink-prose .chart-tool-btn,.ink-prose .chart-tool-btn--text,.ink-prose .mindmap-tool-btn,.ink-prose .mindmap-tool-btn--text{color:var(--text-tertiary);cursor:pointer;transition:background-color var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out);justify-content:center;align-items:center;display:inline-flex}.ink-prose .tool-btn:hover,.ink-prose .block-tool-btn:hover,.ink-prose .chart-tool-btn:hover,.ink-prose .mindmap-tool-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.ink-prose .tool-btn[aria-expanded=true],.ink-prose .block-tool-btn[aria-expanded=true],.ink-prose .chart-tool-btn[aria-expanded=true],.ink-prose .mindmap-tool-btn[aria-expanded=true]{color:var(--accent);background:var(--accent-soft)}.ink-prose .tool-btn,.ink-prose .chart-tool-btn,.ink-prose .mindmap-tool-btn{height:var(--sp-5);padding:0 var(--sp-1-5);border-radius:var(--r-sm)}.ink-prose .tool-btn--text,.ink-prose .chart-tool-btn--text,.ink-prose .mindmap-tool-btn--text{font-family:var(--font-mono);font-size:var(--text-10-5);letter-spacing:var(--tracking-caps);text-transform:uppercase}.ink-prose .block-tool-btn{width:var(--sp-6);height:var(--sp-6);border-radius:var(--r-xs);background:0 0;border:1px solid #0000;padding:0}.ink-prose .code-block-head>.block-tools .block-tool-btn{width:var(--sp-5);height:var(--sp-5)}.ink-prose .block-btn,.ink-prose .dataview-block-btn,.ink-prose .kanban-block-btn{border-radius:var(--r-sm);color:var(--text-tertiary);cursor:pointer;transition:background-color var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out);background:0 0;justify-content:center;align-items:center;display:inline-flex}.ink-prose .block-btn:hover,.ink-prose .dataview-block-btn:hover,.ink-prose .kanban-block-btn:hover{background:var(--bg-hover)}.ink-prose .block-popover{border-radius:var(--r-md);background:var(--bg-surface);border:1px solid var(--border-subtle);box-shadow:var(--shadow-pop);z-index:3;align-items:center;gap:2px;padding:4px;display:flex;position:absolute;top:calc(100% + 5px);right:0}.ink-prose .block-popover[hidden]{display:none}.ink-prose .block-icon-opt{border-radius:var(--r-sm);width:28px;height:28px;color:var(--text-secondary);cursor:pointer;transition:background-color var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out);background:0 0;border:1px solid #0000;justify-content:center;align-items:center;padding:0;display:inline-flex}.ink-prose .block-icon-opt:hover{background:var(--bg-hover);color:var(--text-primary)}.ink-prose .block-icon-opt.is-active{background:var(--accent-soft);color:var(--accent)}.ink-prose .block-settings{gap:var(--sp-1-5);padding:var(--sp-2) var(--sp-2-5);background:var(--bg-inset);border-bottom:1px solid var(--border-subtle);font-family:var(--font-ui);font-size:var(--text-12);color:var(--text-secondary);flex-direction:column;display:flex}.ink-prose .block-settings[hidden]{display:none}.ink-prose .block-settings-row{align-items:center;gap:var(--sp-2);display:flex}.ink-prose .block-settings-row.is-column{align-items:stretch}.ink-prose .block-settings-title{white-space:nowrap;width:56px;font-size:var(--text-10-5);letter-spacing:var(--tracking-micro);color:var(--text-quaternary);flex:none}.ink-prose .block-settings-group{align-items:center;gap:var(--sp-1);flex-wrap:wrap;display:flex}.ink-prose .block-settings-group.is-fields{gap:var(--sp-1-5)}.ink-prose .block-settings-fields{align-items:center;gap:var(--sp-1);display:flex}.ink-prose .block-opt-btn{font-size:var(--text-11);line-height:1.5;font-family:var(--font-ui);border-radius:var(--r-xs);border:1px solid var(--border-subtle);background:var(--bg-base);color:var(--text-secondary);cursor:pointer;white-space:nowrap;transition:background-color var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out);padding:3px 10px}.ink-prose .block-opt-btn:hover{border-color:var(--border-strong);color:var(--text-primary)}.ink-prose .block-opt-btn.is-active{background:var(--accent);color:var(--accent-contrast);border-color:var(--accent);font-weight:600}@media (pointer:coarse){.ink-prose .block-opt-btn{min-height:var(--tap-target)}}.ink-prose .block-text-input{min-width:0;font-size:var(--text-11);font-family:var(--font-ui);border-radius:var(--r-xs);border:1px solid var(--border-subtle);background:var(--bg-base);color:var(--text-primary);flex:0 120px;padding:3px 8px}.ink-prose .block-text-input.is-narrow{flex-basis:68px}.ink-prose .block-text-input:focus-visible{outline:2px solid var(--accent);outline-offset:-1px}.ink-prose .block-settings-hint{font-size:var(--text-10-5);color:var(--text-quaternary);flex:auto;margin:0;line-height:1.4}.ink-prose .js-example-head .js-example-title{gap:var(--sp-1-5)}.ink-prose .js-example-badge{font-size:var(--text-10);padding:var(--sp-0-5) var(--sp-1);border-radius:var(--r-xs);background:var(--warning);color:var(--text-inverse);letter-spacing:var(--tracking-caps);justify-content:center;align-items:center;font-weight:800;line-height:1;display:inline-flex}.ink-prose .js-example-controls{flex:none;align-items:center;gap:.75em;display:flex}.ink-prose .js-example-switch-wrap{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:.4em;display:inline-flex}.ink-prose .js-example-switch-label{font-size:var(--text-11);color:var(--text-tertiary);font-weight:500}.ink-prose .js-example-switch{border-radius:var(--r-full);background:var(--border-strong);cursor:pointer;width:28px;height:16px;transition:background-color var(--dur-fast) var(--ease-out);border:none;padding:0;position:relative}.ink-prose .js-example-switch.is-checked{background:var(--accent)}.ink-prose .js-example-switch-thumb{border-radius:var(--r-full);background:var(--accent-contrast);width:12px;height:12px;box-shadow:var(--shadow-sm);transition:transform var(--dur-fast) var(--ease-out);position:absolute;top:2px;left:2px}.ink-prose .js-example-switch.is-checked .js-example-switch-thumb{transform:translate(12px)}.ink-prose .js-example-run-btn{border-radius:var(--r-sm);font-size:var(--text-11);color:var(--accent-contrast);background:var(--accent);cursor:pointer;transition:opacity var(--dur-fast) var(--ease-out), transform var(--dur-fast) var(--ease-out);border:1px solid #0000;align-items:center;gap:.35em;padding:3px 10px;font-weight:600;display:inline-flex}.ink-prose .js-example-run-btn:hover{opacity:.9}.ink-prose .js-example-run-btn:active{transform:scale(.96)}.ink-prose .js-example-run-btn[disabled]{opacity:.55;cursor:default}.ink-prose .js-example-run-icon{font-size:var(--text-9);line-height:1}.ink-prose .js-example-output{background:color-mix(in oklab, var(--bg-inset) 70%, var(--bg-base));flex-direction:column;min-height:120px;display:flex}.ink-prose .markdown-example-source.js-example-source .markdown-example-code pre{overflow-wrap:normal;white-space:pre;overflow-x:auto}.ink-prose .markdown-example-source.js-example-source :is(code,.line){overflow-wrap:normal;white-space:pre}.ink-prose .js-example-output-head{border-bottom:1px solid var(--border-subtle);background:color-mix(in oklab, var(--bg-inset) 40%, var(--bg-base));justify-content:space-between;align-items:center;padding:.4em .8em;display:flex}.ink-prose .js-example-output-title{font-size:var(--text-11);color:var(--text-tertiary);letter-spacing:var(--tracking-micro);text-transform:uppercase;font-weight:600}.ink-prose .js-example-output-status{font-size:var(--text-11);font-family:var(--font-mono);padding:1px var(--sp-1);border-radius:var(--r-3);font-weight:600}.ink-prose .js-example-output-status.is-success{color:var(--success);background:color-mix(in oklab, var(--success) 12%, transparent)}.ink-prose .js-example-output-status.is-error{color:var(--danger);background:color-mix(in oklab, var(--danger) 12%, transparent)}.ink-prose .js-example-output-body{padding:var(--sp-2-5) var(--sp-3-5);font-family:var(--font-mono);font-size:max(12px, calc(var(--code-size,15px) - 1.5px));flex:1;max-height:360px;line-height:1.5;overflow-y:auto}.ink-prose .js-example-placeholder,.ink-prose .js-example-empty-hint{color:var(--text-quaternary);font-style:italic;font-size:var(--text-12)}.ink-prose .js-example-placeholder{padding:var(--sp-2) 0}.ink-prose .js-example-log-row{padding:var(--sp-0-5) 0;border-bottom:1px solid color-mix(in oklab, var(--border-subtle) 40%, transparent);align-items:baseline;gap:.45em;display:flex}.ink-prose .js-example-log-row:last-child{border-bottom:none}.ink-prose .js-example-log-prefix{font-size:var(--text-10);opacity:.7;flex:none;font-weight:700}.ink-prose .js-example-log-text{font-family:inherit;font-size:inherit;color:var(--text-primary);white-space:pre-wrap;word-break:break-all;background:0 0;border:none;margin:0;padding:0}.ink-prose .js-example-log-row.is-log .js-example-log-prefix{color:var(--text-tertiary)}.ink-prose .js-example-log-row.is-info :is(.js-example-log-prefix,.js-example-log-text){color:var(--accent)}.ink-prose .js-example-log-row.is-warn :is(.js-example-log-prefix,.js-example-log-text){color:var(--warning)}.ink-prose .js-example-log-row.is-error :is(.js-example-log-prefix,.js-example-log-text),.ink-prose .js-example-log-row.is-error-banner :is(.js-example-log-prefix,.js-example-log-text){color:var(--danger)}.ink-prose .js-example-log-row.is-return .js-example-log-prefix{color:var(--text-tertiary)}.ink-prose .js-example-log-row.is-return .js-example-log-text{color:var(--syntax-constant);font-weight:600}.ink-prose .frontmatter-properties:not(.pp){border:1px solid var(--border-subtle);border-radius:var(--r-md);background:var(--bg-inset);margin:0 0 1em;font-size:.9em}.ink-prose .frontmatter-properties:not(.pp)>summary{color:var(--text-tertiary);cursor:pointer;padding:.45em .7em;font-weight:600}.ink-prose .frontmatter-properties:not(.pp) dl{margin:0;padding:0 .72em .6em}.ink-prose .frontmatter-row{border-top:1px solid var(--border-subtle);grid-template-columns:minmax(7em,.35fr) minmax(0,1fr);gap:.7em;padding:.24em 0;display:grid}.ink-prose .frontmatter-row dt{color:var(--text-tertiary)}.ink-prose .frontmatter-row dd{min-width:0;margin:0}.ink-prose .frontmatter-chip{background:var(--accent-softer);border-radius:999px;margin:.08em .25em .08em 0;padding:.02em .4em;display:inline-flex}.ink-prose .frontmatter-error{border:1px solid color-mix(in oklab, var(--danger) 35%, var(--border-subtle));border-radius:var(--r-md);color:var(--danger);background:color-mix(in oklab, var(--danger) 7%, var(--bg-inset));margin-bottom:1em;padding:.6em .75em}.ink-prose .frontmatter-error ul{margin:.35em 0 0}.ink-prose .note-embed{border:1px solid var(--border-subtle);border-left:3px solid var(--accent);border-radius:var(--r-md);background:var(--bg-inset);margin:.9em 0;display:block;overflow:hidden}.ink-prose .note-embed-head{border-bottom:1px solid var(--border-subtle);color:var(--accent);padding:.42em .75em;font-size:.86em;font-weight:650;display:block}.ink-prose .note-embed-body{padding:.7em .8em .05em;display:block}.ink-prose .note-embed-body>:last-child{margin-bottom:.65em}.ink-prose .note-embed.loading .note-embed-body,.ink-prose .note-embed.error .note-embed-body{color:var(--text-tertiary);font-size:.9em}.ink-prose .chat-embed{margin:0;padding:0;list-style:none;display:block}.ink-prose .chat-embed-message{border-left:2px solid var(--border-subtle);margin:0 0 .55em;padding-left:.6em}.ink-prose .chat-embed-message[data-role=assistant]{border-left-color:var(--accent)}.ink-prose .chat-embed-author{color:var(--text-quaternary);letter-spacing:.02em;text-transform:uppercase;font-size:.78em;font-weight:650;display:block}.ink-prose .chat-embed-message p{white-space:pre-wrap;margin:.1em 0 0}.ink-prose .chat-embed-author[role=link]{cursor:pointer}.ink-prose .chat-embed-author[role=link]:hover,.ink-prose .chat-embed-author[role=link]:focus-visible{color:var(--accent)}.ink-prose .chat-embed-more{color:var(--text-tertiary);font-size:.88em}.ink-prose .note-embed-head[role=link]{cursor:pointer}.ink-prose [data-block-id]{scroll-margin-top:24px}.ink-prose [data-block-id]:target{outline:2px solid var(--accent-ring);background:var(--accent-softer);border-radius:4px}.ink-prose .table-wrap{border:1px solid var(--border-subtle);border-radius:var(--r-md);margin:.9em 0;overflow-x:auto}.ink-prose table{border-collapse:collapse;width:100%;font-size:.91em}.ink-prose thead{background:var(--bg-inset)}.ink-prose th{text-align:start;color:var(--text-secondary);white-space:nowrap;font-weight:620}.ink-prose th,.ink-prose td{border-bottom:1px solid var(--border-subtle);vertical-align:top;padding:.4em .7em}.ink-prose tbody tr:last-child td{border-bottom:none}.ink-prose .markdown-cell-left{text-align:left}.ink-prose .markdown-cell-center{text-align:center}.ink-prose .markdown-cell-right{text-align:right}.ink-prose tbody tr{transition:background-color var(--dur-fast) var(--ease-out)}.ink-prose tbody tr:hover{background:var(--bg-hover)}.ink-prose td[align=right],.ink-prose th[align=right]{text-align:right;font-variant-numeric:tabular-nums}.ink-prose td[align=center],.ink-prose th[align=center]{text-align:center}.ink-prose a:not(.heading-anchor):not(.wikilink){color:var(--accent);text-decoration:underline;-webkit-text-decoration-color:color-mix(in oklab, var(--accent) 40%, transparent);text-decoration-color:color-mix(in oklab, var(--accent) 40%, transparent);text-underline-offset:2.5px;transition:text-decoration-color var(--dur-fast) var(--ease-out);text-decoration-thickness:1px}.ink-prose a:not(.heading-anchor):not(.wikilink):hover{-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent)}.ink-prose .wikilink{color:var(--accent);background:var(--accent-softer);cursor:pointer;transition:background-color var(--dur-fast) var(--ease-out);border-radius:4px;margin:0 -.06em;padding:.06em .32em}.ink-prose .wikilink:hover{background:var(--accent-soft)}.ink-prose .wikilink.missing{color:var(--text-tertiary);-webkit-text-decoration:underline dashed;text-decoration:underline dashed;-webkit-text-decoration-color:var(--border-strong);text-decoration-color:var(--border-strong);text-underline-offset:3px;background:0 0}.ink-prose .wikilink.missing:hover{color:var(--accent);-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent)}.ink-prose .inline-tag{color:var(--accent);background:var(--accent-softer);cursor:pointer;white-space:nowrap;border-radius:999px;padding:.06em .4em;font-size:.9em}.ink-prose .inline-tag:hover{background:var(--accent-soft)}.ink-prose img{border-radius:var(--r-lg);border:1px solid var(--border-subtle);cursor:zoom-in;background:var(--bg-inset);max-width:100%;height:auto;margin:.9em auto;display:block}.ink-prose figure{margin:1em 0}.ink-prose figure img{margin-bottom:.4em}.ink-prose figcaption{text-align:center;color:var(--text-tertiary);font-size:.82em}.ink-prose hr{border:none;height:1em;margin:1.6em 0;position:relative}.ink-prose hr:before{content:"· · ·";letter-spacing:.55em;text-indent:.55em;color:var(--text-quaternary);place-items:center;font-size:.95em;display:grid;position:absolute;inset:0}.ink-prose .footnotes{border-top:1px solid var(--border-subtle);color:var(--text-secondary);margin-top:2em;padding-top:.8em;font-size:.9em}.ink-prose .footnotes ol{padding-inline-start:1.2em}.ink-prose .footnote-backref{margin-inline-start:.35em;text-decoration:none}.ink-prose sup.footnote-ref a{padding:0 .15em;font-size:.85em;text-decoration:none}.ink-prose mark{background:color-mix(in oklab, var(--warning) 26%, transparent);color:var(--text-primary);border-radius:3px;padding:.04em .22em}.ink-prose kbd{font-family:var(--font-mono);border:1px solid var(--border-default);background:var(--bg-raised);color:var(--text-secondary);white-space:nowrap;border-bottom-width:2px;border-radius:5px;padding:.15em .42em;font-size:.82em}.ink-prose del{color:var(--text-tertiary)}.ink-prose abbr{cursor:help;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.ink-prose .katex{font-size:1.04em}.ink-prose .katex-display{margin:.9em 0;padding:.25em 0;overflow:auto hidden}.ink-prose .math-source{color:var(--text-secondary);font-family:var(--font-mono);font-size:.9em}.ink-prose .math-block.math-source{border:1px solid var(--border-subtle);border-radius:var(--r-sm);background:var(--bg-inset);white-space:pre-wrap;overflow-wrap:anywhere;margin:.9em 0;padding:10px 14px}.ink-prose .math-error{color:var(--danger);font-family:var(--font-mono);background:color-mix(in oklab, var(--danger) 10%, transparent);border-radius:4px;padding:.1em .35em;font-size:.85em}.ink-prose .mermaid-block{border:1px solid var(--border-subtle);border-radius:var(--r-lg);background:var(--pele-bg);justify-content:center;margin:1em 0;padding:14px;display:flex;overflow-x:auto}.ink-prose .mermaid-block svg{max-width:100%;height:auto}.ink-prose .mermaid-block.loading{min-height:90px;color:var(--text-tertiary);align-items:center;font-size:12px}.ink-prose .mermaid-block.loading:before{border:1.5px solid color-mix(in oklab, var(--text-tertiary) 32%, transparent);border-top-color:var(--accent);content:"";border-radius:50%;width:12px;height:12px;margin-right:8px;animation:.8s linear infinite mermaid-spin}.ink-prose .mermaid-block.mermaid-source,.ink-prose .mermaid-block.has-error{justify-content:flex-start}.ink-prose .mermaid-block.mermaid-source>code{color:var(--text-secondary);font-family:var(--font-mono);font-size:var(--code-font-size);line-height:var(--code-line-height);white-space:pre}.ink-prose .mermaid-error{width:100%;color:var(--danger);grid-template-columns:minmax(0,1fr) auto;gap:8px 12px;font-size:12px;display:grid}.ink-prose .mermaid-error-message{overflow-wrap:anywhere;align-self:center}.ink-prose .mermaid-error code{color:var(--text-secondary);font-family:var(--font-mono);font-size:var(--code-font-size);line-height:var(--code-line-height);white-space:pre-wrap;grid-column:1/-1;overflow-x:auto}.ink-prose .mermaid-retry{border:1px solid var(--border-default);border-radius:var(--r-sm);color:var(--text-primary);background:var(--bg-overlay);cursor:pointer;align-self:start;padding:3px 9px}.ink-prose .mermaid-retry:hover{border-color:var(--accent);color:var(--accent)}@keyframes mermaid-spin{to{transform:rotate(360deg)}}.ink-prose .chart-block-wrap{border:1px solid var(--border-subtle);border-radius:var(--r-lg);background:var(--bg-inset);margin:1em 0;overflow:hidden}.ink-prose .chart-block-head{border-bottom:1px solid var(--border-subtle);background:color-mix(in oklab, var(--bg-inset) 60%, var(--bg-base));justify-content:space-between;align-items:center;height:28px;padding:0 7px 0 12px;display:flex}.ink-prose .chart-block-title{min-width:0;color:var(--text-secondary);font-family:var(--font-mono);text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.ink-prose .chart-block-tools{align-items:center;gap:4px;margin-left:auto;display:inline-flex}.ink-prose .chart-block-source{border-bottom:1px solid var(--border-subtle);background:var(--bg-base);max-height:260px;margin:0;padding:10px 12px;overflow:auto}.ink-prose .chart-block-source[hidden]{display:none}.ink-prose .chart-block-source>code{color:var(--text-secondary);font-family:var(--font-mono);font-size:var(--code-font-size);line-height:var(--code-line-height);white-space:pre}.ink-prose .chart-block{justify-content:center;min-height:300px;padding:14px;display:flex;overflow-x:auto}.ink-prose .chart-canvas-holder{width:100%;max-width:100%;height:272px;position:relative}.ink-prose .chart-canvas{max-width:100%}.ink-prose .chart-block.loading{color:var(--text-tertiary);align-items:center;font-size:12px}.ink-prose .chart-block.loading:before{border:1.5px solid color-mix(in oklab, var(--text-tertiary) 32%, transparent);border-top-color:var(--accent);content:"";border-radius:50%;width:12px;height:12px;margin-right:8px;animation:.8s linear infinite mermaid-spin}.ink-prose .chart-block.has-error,.ink-prose .chart-block.chart-source{justify-content:flex-start;min-height:0}.ink-prose .chart-block.chart-source>code{color:var(--text-secondary);font-family:var(--font-mono);font-size:var(--code-font-size);line-height:var(--code-line-height);white-space:pre-wrap;overflow-wrap:anywhere}.ink-prose .chart-error{width:100%;color:var(--danger);gap:8px;font-size:12px;display:grid}.ink-prose .chart-error-message{overflow-wrap:anywhere}.ink-prose .chart-error code{color:var(--text-secondary);font-family:var(--font-mono);font-size:var(--code-font-size);line-height:var(--code-line-height);white-space:pre-wrap;overflow-x:auto}.ink-prose .mindmap-block-wrap{margin:1em 0}.ink-prose .mindmap-block{border:1px solid var(--border-subtle);border-radius:var(--r-lg);background:var(--bg-inset);overflow:hidden}.ink-prose .mindmap-block-head{border-bottom:1px solid var(--border-subtle);background:color-mix(in oklab, var(--bg-inset) 60%, var(--bg-base));align-items:center;gap:8px;height:28px;padding:0 7px 0 12px;display:flex}.ink-prose .mindmap-block-title{min-width:0;color:var(--text-secondary);font-family:var(--font-mono);text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.ink-prose .mindmap-block-mode{border:1px solid var(--border-subtle);color:var(--text-secondary);border-radius:999px;padding:0 6px;font-size:10px;line-height:15px}.ink-prose .mindmap-block-tools{align-items:center;gap:4px;margin-left:auto;display:inline-flex}.ink-prose .mindmap-block-theme{border:1px solid var(--border-subtle);height:20px;color:var(--text-secondary);background:var(--bg-inset);cursor:pointer;border-radius:999px;padding:0 6px;font-family:inherit;font-size:10px;line-height:18px}.ink-prose .mindmap-block-theme:hover{color:var(--accent);border-color:var(--border-default)}.ink-prose .mindmap-block-theme:focus-visible{color:var(--accent);border-color:var(--border-default);box-shadow:var(--shadow-ring);outline:none}.ink-prose .mindmap-block-theme:disabled{color:var(--text-quaternary);cursor:default}.ink-prose .mindmap-block-placeholder{min-height:64px;position:relative}.ink-prose .mindmap-block.loading .mindmap-block-placeholder{min-height:320px;color:var(--text-tertiary);justify-content:center;align-items:center;gap:8px;font-size:12px;display:flex}.ink-prose .mindmap-block.loading .mindmap-block-placeholder:before{border:1.5px solid color-mix(in oklab, var(--text-tertiary) 32%, transparent);border-top-color:var(--accent);content:"";border-radius:50%;width:12px;height:12px;animation:.8s linear infinite mermaid-spin}.ink-prose .mindmap-block-status{color:var(--text-secondary);text-align:center;padding:16px;font-size:12px}.ink-prose .mindmap-canvas{outline:none;width:100%;height:320px}.ink-prose .mindmap-canvas:focus-visible,.ink-prose .mindmap-canvas:focus-within{box-shadow:inset 0 0 0 2px var(--accent-soft)}.ink-prose .mindmap-canvas.is-static{justify-content:center;align-items:center;height:320px;display:flex;overflow:hidden}.ink-prose .mindmap-image{object-fit:contain;width:100%;max-width:100%;height:auto;max-height:100%;padding:8px;display:block}.ink-prose .mindmap-block-source{border-top:1px solid var(--border-subtle);background:var(--bg-base);max-height:260px;margin:0;padding:10px 12px;overflow:auto}.ink-prose .mindmap-block-source[hidden]{display:none}.ink-prose .mindmap-block-source>code{color:var(--text-secondary);font-family:var(--font-mono);font-size:var(--code-size);line-height:var(--code-line);white-space:pre}.ink-prose .mindmap-block.mindmap-source pre,.ink-prose .mindmap-error pre{color:var(--text-secondary);font-family:var(--font-mono);font-size:var(--code-size);line-height:var(--code-line);white-space:pre;margin:0;padding:12px;overflow-x:auto}.ink-prose .mindmap-error{color:var(--danger);flex-wrap:wrap;gap:8px;padding:12px;font-size:12px;display:flex}.ink-prose .mindmap-error-message{overflow-wrap:anywhere;flex:100%}.ink-prose .mindmap-error pre{background:0 0;flex:100%;padding:0}.ink-prose .mindmap-retry{border:1px solid var(--border-default);border-radius:var(--r-sm);color:var(--text-primary);background:var(--bg-overlay);cursor:pointer;align-self:start;padding:3px 9px}.ink-prose .mindmap-retry:hover{border-color:var(--accent);color:var(--accent)}.ink-prose .excalidraw-block{border:1px solid var(--border-subtle);border-radius:var(--r-lg);background:var(--bg-inset);height:var(--excalidraw-embed-height,520px);flex-direction:column;margin:1em 0;display:flex;position:relative;overflow:hidden}.ink-prose .excalidraw-block.excalidraw-fullscreen{z-index:9999;background:var(--bg-base);border-radius:0;width:100vw;height:100vh;margin:0;position:fixed;inset:0}.ink-prose .excalidraw-block-head{border-bottom:1px solid var(--border-subtle);background:color-mix(in oklab, var(--bg-inset) 60%, var(--bg-base));flex-shrink:0;justify-content:space-between;align-items:center;height:32px;padding:0 10px;display:flex}.ink-prose .excalidraw-head-tabs{align-items:center;gap:2px;display:inline-flex}.ink-prose .excalidraw-tab-btn{border-radius:var(--r-sm);color:var(--text-tertiary);cursor:pointer;font-size:11px;font-family:var(--font-mono);transition:all var(--dur-fast) var(--ease-out);background:0 0;border:none;padding:2px 8px}.ink-prose .excalidraw-tab-btn:hover{color:var(--text-primary);background:var(--bg-hover)}.ink-prose .excalidraw-tab-btn.is-active{color:var(--accent);background:var(--bg-surface);font-weight:600;box-shadow:0 1px 2px #0000000d}.ink-prose .excalidraw-head-title{color:var(--text-secondary);font-family:var(--font-mono);font-size:11px;font-weight:500}.ink-prose .excalidraw-head-actions{align-items:center;gap:4px;display:inline-flex}.ink-prose .excalidraw-action-btn{border-radius:var(--r-sm);width:22px;height:22px;color:var(--text-tertiary);cursor:pointer;transition:background-color var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out);background:0 0;border:none;justify-content:center;align-items:center;display:inline-flex}.ink-prose .excalidraw-action-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.ink-prose .excalidraw-action-btn svg{width:13px;height:13px}.ink-prose .excalidraw-canvas-container{flex:1;width:100%;height:calc(100% - 32px);position:relative;overflow:hidden}.ink-prose .excalidraw-canvas-container .excalidraw{height:100%!important}.excalidraw .FixedSideContainer_side_top{width:100%!important;left:0!important;right:0!important}.excalidraw .App-menu_top{width:100%!important}.excalidraw .mobile-misc-tools-container,.excalidraw .tray-misc-tools-container,.excalidraw .sidebar-trigger__label-element,.excalidraw .default-sidebar-trigger{display:none!important}.excalidraw .library-menu-control-buttons{height:auto!important}.excalidraw .library-menu-browse-button{flex:none!important;height:36px!important}.excalidraw .sidebar-triggers{align-items:center!important;gap:8px!important;padding:8px 12px!important;display:flex!important}.excalidraw .sidebar-tab-trigger{cursor:pointer!important;width:38px!important;min-width:38px!important;height:38px!important;color:var(--text-primary,currentColor)!important;background-color:#0000!important;border:none!important;border-radius:8px!important;justify-content:center!important;align-items:center!important;transition:all .15s!important;display:flex!important}.excalidraw .sidebar-tab-trigger svg{width:20px!important;height:20px!important}.excalidraw .sidebar-tab-trigger:hover{background-color:var(--bg-hover)!important}.excalidraw .sidebar-tab-trigger.active,.excalidraw .sidebar-tab-trigger[data-state=active],.excalidraw .sidebar-tab-trigger[aria-selected=true]{color:#fff!important;background-color:#6965db!important}.excalidraw .sidebar-tab-trigger.active svg,.excalidraw .sidebar-tab-trigger[data-state=active] svg,.excalidraw .sidebar-tab-trigger[aria-selected=true] svg{color:#fff!important;stroke:#fff!important}.excalidraw .sidebar .ExcTextField,.excalidraw .layer-ui__search .ExcTextField,.excalidraw .layer-ui__library .ExcTextField{width:100%!important;height:auto!important;min-height:unset!important;box-shadow:none!important;background:0 0!important;border:none!important;margin:0!important;padding:0!important;display:block!important;position:relative!important}.excalidraw .sidebar .ExcTextField svg,.excalidraw .layer-ui__search .ExcTextField svg,.excalidraw .layer-ui__library .ExcTextField svg{color:#8e8e93!important;stroke:#8e8e93!important;pointer-events:none!important;z-index:2!important;opacity:1!important;width:16px!important;height:16px!important;position:absolute!important;top:50%!important;left:10px!important;transform:translateY(-50%)!important}.excalidraw.theme--dark .sidebar .ExcTextField svg,.excalidraw.theme--dark .layer-ui__search .ExcTextField svg,.excalidraw.theme--dark .layer-ui__library .ExcTextField svg{color:#a1a1aa!important;stroke:#a1a1aa!important}.excalidraw .sidebar .ExcTextField__input,.excalidraw .layer-ui__search-header .ExcTextField__input,.excalidraw .layer-ui__library .ExcTextField__input{box-sizing:border-box!important;background-color:var(--bg-sunken,#f4f4f5)!important;border:1px solid var(--border-subtle,#e4e4e7)!important;border-radius:8px!important;align-items:center!important;width:100%!important;height:38px!important;min-height:38px!important;padding:0 12px 0 34px!important;transition:border-color .15s,background-color .15s!important;display:flex!important}.excalidraw.theme--dark .sidebar .ExcTextField__input,.excalidraw.theme--dark .layer-ui__search-header .ExcTextField__input,.excalidraw.theme--dark .layer-ui__library .ExcTextField__input{background-color:#232329!important;border-color:#31303b!important}.excalidraw .sidebar .ExcTextField__input:focus-within,.excalidraw .layer-ui__search-header .ExcTextField__input:focus-within,.excalidraw .layer-ui__library .ExcTextField__input:focus-within{background-color:var(--bg-surface,#fff)!important;border-color:#6965db!important;box-shadow:0 0 0 1px #6965db!important}.excalidraw.theme--dark .sidebar .ExcTextField__input:focus-within,.excalidraw.theme--dark .layer-ui__search-header .ExcTextField__input:focus-within,.excalidraw.theme--dark .layer-ui__library .ExcTextField__input:focus-within{background-color:#1e1e24!important;border-color:#6965db!important}.excalidraw .sidebar .ExcTextField__input input,.excalidraw .layer-ui__search-header .ExcTextField__input input,.excalidraw .layer-ui__library .ExcTextField__input input{width:100%!important;height:100%!important;box-shadow:none!important;color:var(--text-primary,#18181b)!important;background:0 0!important;border:none!important;outline:none!important;margin:0!important;padding:0!important;font-size:13px!important;line-height:normal!important;display:block!important}.excalidraw.theme--dark .sidebar .ExcTextField__input input,.excalidraw.theme--dark .layer-ui__search-header .ExcTextField__input input,.excalidraw.theme--dark .layer-ui__library .ExcTextField__input input{color:#f4f4f5!important}.excalidraw .sidebar .ExcTextField__input input::placeholder,.excalidraw .layer-ui__search-header .ExcTextField__input input::placeholder,.excalidraw .layer-ui__library .ExcTextField__input input::placeholder{color:#a1a1aa!important;opacity:1!important;font-size:13px!important}.excalidraw.theme--dark .sidebar .ExcTextField__input input::placeholder,.excalidraw.theme--dark .layer-ui__search-header .ExcTextField__input input::placeholder,.excalidraw.theme--dark .layer-ui__library .ExcTextField__input input::placeholder{color:#71717a!important}.excalidraw .layer-ui__search-header{margin-top:4px!important;margin-bottom:8px!important;padding:0 12px!important}.excalidraw .layer-ui__library{flex-direction:column!important;height:100%!important;padding:0!important;display:flex!important;overflow:hidden!important}.excalidraw .layer-ui__library>:not([data-ink-library-tree]){display:none!important}.excalidraw .layer-ui__library>[data-ink-library-tree]{flex-direction:column!important;flex:1!important;height:100%!important;min-height:0!important;display:flex!important}.excalidraw .App-toolbar{position:relative!important}.excalidraw .HintViewer{pointer-events:none!important;text-align:center!important;justify-content:center!important;align-items:center!important;width:100%!important;margin-top:6px!important;display:flex!important;position:absolute!important;top:100%!important;left:0!important}.excalidraw .HintViewer>span{white-space:nowrap!important;justify-content:center!important;align-items:center!important;display:inline-flex!important}.excalidraw .layer-ui__wrapper__footer-left section{flex-direction:row!important;align-items:center!important;gap:8px!important;display:flex!important}.excalidraw .layer-ui__wrapper__footer-left .undo-redo-buttons{flex-direction:row!important;align-items:center!important;display:flex!important}.excalidraw .layer-ui__wrapper__footer-left .main-menu-trigger,.excalidraw .layer-ui__wrapper__footer-left .dropdown-menu-event-wrapper:has(.main-menu-trigger){order:-1!important}.excalidraw .layer-ui__wrapper__footer-left .undo-button-container{order:1!important}.excalidraw .layer-ui__wrapper__footer-left .redo-button-container{order:2!important}.excalidraw .layer-ui__wrapper__footer-left section>.zoom-actions{order:3!important}.ink-prose .excalidraw-block-placeholder{height:100%;color:var(--text-tertiary);justify-content:center;align-items:center;font-size:13px;display:flex}.ink-prose .excalidraw-block-source{font-family:var(--font-mono);font-size:var(--code-size);line-height:var(--code-line);flex:1;margin:0;padding:12px;overflow:auto}.ink-prose .excalidraw-error{height:100%;color:var(--danger);flex-direction:column;justify-content:center;align-items:center;gap:10px;padding:24px;display:flex}.ink-prose .excalidraw-retry{border:1px solid var(--border-default);border-radius:var(--r-sm);background:var(--bg-overlay);color:var(--text-primary);cursor:pointer;padding:4px 12px;font-size:12px}.mindmap-node-link{color:var(--accent);cursor:pointer;text-decoration:underline}.mindmap-node-link:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.mindmap-fullscreen{background:var(--bg-base)}.mindmap-fullscreen-head{border-bottom:1px solid var(--border-subtle);background:var(--bg-surface);flex-wrap:wrap;align-items:center;gap:12px;padding:10px 12px;display:flex}.mindmap-fullscreen-head>div:first-child{flex:auto;min-width:0}.mindmap-fullscreen-body{flex-direction:column;flex:auto;min-height:0;display:flex}.mindmap-fullscreen-stage{flex:auto;min-height:0;display:flex;position:relative}.mindmap-fullscreen-canvas{flex:auto;min-height:0}.mindmap-fullscreen-canvas .mindmap-canvas.is-fullscreen{width:100%;height:100%}.mindmap-fullscreen-canvas .mindmap-canvas.is-fullscreen #fullscreen{display:none}.mindmap-shortcuts{z-index:20;background:var(--bg-overlay);border:1px solid var(--border-default);border-radius:var(--r-lg);width:min(100% - 24px,560px);max-height:calc(100% - 24px);box-shadow:var(--shadow-pop);padding:10px 12px;position:absolute;inset-block-start:50%;inset-inline-start:50%;overflow-y:auto;transform:translate(-50%,-50%)}.mindmap-shortcuts ul{color:var(--text-secondary);grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 16px;margin:0;padding:0;font-size:12px;list-style:none;display:grid}.ink-hit{background:var(--accent-soft);color:var(--text-primary);-webkit-box-decoration-break:clone;box-decoration-break:clone;border-radius:3px;padding:0 1px}@media print{.ink-prose{color:#000;max-width:none;padding:0;font-size:11pt}.ink-prose .code-copy,.ink-prose .chart-block-tools,.ink-prose .heading-anchor{display:none}.ink-prose .code-block,.ink-prose .chart-block-wrap,.ink-prose .table-wrap,.ink-prose .markdown-timeline-item,.ink-prose .markdown-example{break-inside:avoid}}.ink-prose .note-embed.attachment .note-embed-body{padding:0}.ink-prose .note-embed img{max-width:100%;height:auto;display:block}.ink-prose .attachment-open{overflow-wrap:anywhere;color:var(--accent);padding:.5em .7em;font-size:.88em;display:block}.ink-memo-prose{max-width:none;margin-inline:0;padding-block:0}.ink-memo-prose mark[data-memo-hit]{border-radius:var(--r-2);background:color-mix(in oklab, var(--accent) 24%, transparent);color:inherit;padding-inline:.08em}.wiki-hover-body .ink-prose{max-width:none;font-size:var(--prose-size,14px);margin-inline:0;padding-block:0}.wiki-hover-body .ink-prose h1,.wiki-hover-body .ink-prose h2,.wiki-hover-body .ink-prose h3{margin-top:.9em}.wiki-hover-body .ink-prose>:first-child{margin-top:0}.wiki-hover-body .ink-prose>:last-child{margin-bottom:0}.pinned-window-flash{animation:pinned-window-flash 1.1s var(--ease-out)}@keyframes pinned-window-flash{0%{box-shadow:0 0 0 3px color-mix(in oklab, var(--accent) 75%, transparent), var(--shadow-pop)}70%{box-shadow:0 0 0 12px transparent, var(--shadow-pop)}to{box-shadow:0 0 0 12px transparent, var(--shadow-pop)}}@media (prefers-reduced-motion:reduce){.pinned-window-flash{animation:none}}:root[data-outliner-guides=on] .ink-prose li>ul,:root[data-outliner-guides=on] .ink-prose li>ol{position:relative}:root[data-outliner-guides=on] .ink-prose li>ul:before,:root[data-outliner-guides=on] .ink-prose li>ol:before{content:"";background:var(--border-strong);width:1px;position:absolute;inset-block:.1em .3em;inset-inline-start:.4em}.ink-prose .json-code-block[data-json-mode=tree]>pre,.ink-prose .json-code-block[data-json-mode=map]>pre{display:none}.ink-prose .json-tabs{border-radius:var(--r-sm);background:color-mix(in oklab, var(--bg-inset) 70%, var(--bg-base));align-items:center;gap:2px;margin-left:8px;padding:2px;display:inline-flex}.ink-prose .json-tab{border-radius:var(--r-xs);height:20px;color:var(--text-secondary);cursor:pointer;transition:background-color var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out);align-items:center;gap:4px;padding:0 6px;font-size:10.5px;display:inline-flex}.ink-prose .json-tab:hover{background:var(--bg-hover);color:var(--text-primary)}.ink-prose .json-tab.is-active{background:var(--accent-soft);box-shadow:inset 0 -1.5px 0 var(--accent);color:var(--text-primary)}.ink-prose .json-tools{align-items:center;gap:2px;margin-left:6px;display:inline-flex}.ink-prose .json-tool{border-radius:var(--r-xs);width:20px;height:20px;color:var(--text-secondary);cursor:pointer;justify-content:center;align-items:center;padding:0 6px;font-size:10.5px;display:inline-flex}.ink-prose .json-tool:hover{background:var(--bg-hover);color:var(--text-primary)}.ink-prose .json-tool[aria-expanded=true]{background:var(--accent-soft);color:var(--accent)}.ink-prose .json-tool.is-inline{border:1px solid var(--border-subtle);border-radius:var(--r-sm);width:auto}.ink-prose .json-tool--text{width:auto;letter-spacing:var(--tracking-micro);padding:0 5px;font-size:9.5px}@media (width<=639px){.ink-prose .json-tab-label{display:none}.ink-prose .json-tab{padding:0 5px}}.ink-prose .json-filter{border-bottom:1px solid var(--border-subtle);background:var(--bg-inset);padding:5px 8px;display:flex}.ink-prose .json-filter[hidden]{display:none}.ink-prose .json-filter-input{border:1px solid var(--border-subtle);border-radius:var(--r-xs);width:100%;height:22px;color:var(--text-primary);background:var(--bg-base);font-family:var(--font-mono);padding:0 7px;font-size:11.5px}.ink-prose .json-filter-input:focus-visible{border-color:var(--accent);box-shadow:var(--shadow-ring);outline:none}@media (pointer:coarse){.ink-prose .json-filter-input{height:var(--tap-target)}}.ink-prose .json-view{max-height:min(60vh,560px);position:relative;overflow:auto}.ink-prose .json-view[hidden]{display:none}.ink-prose .json-view-note{color:var(--text-secondary);margin:0;padding:7px 12px;font-size:11.5px}.ink-prose .json-view-note.is-invalid{border-bottom:1px solid color-mix(in oklab, var(--danger) 26%, transparent);background:var(--danger-soft);color:var(--text-primary);font-family:var(--font-mono)}.ink-prose .json-tree{color:var(--text-secondary);font-family:var(--font-mono);padding:6px 8px 10px;font-size:12.5px;line-height:1.7}.ink-prose .jt-children{padding-left:15px}.ink-prose .jt-node:hover{background:var(--accent-softer)}.ink-prose .jt-row{border-radius:var(--r-xs);white-space:nowrap;align-items:baseline;gap:3px;padding:0 5px;display:flex}.ink-prose .jt-row:hover{background:var(--bg-active)}.ink-prose .jt-row.is-selected{box-shadow:inset 0 0 0 1px var(--accent-ring)}.ink-prose .jt-fold{width:13px;height:13px;color:var(--text-secondary);cursor:pointer;transition:transform var(--dur-fast) var(--ease-out);justify-content:center;align-items:center;margin-right:1px;display:inline-flex}.ink-prose .jt-fold:hover{color:var(--text-primary)}.ink-prose .jt-node.is-collapsed>.jt-fold{transform:rotate(-90deg)}.ink-prose .jt-node.is-collapsed>.jt-children,.ink-prose .jt-node.is-collapsed>.jt-row--close{display:none}.ink-prose .jt-key{color:var(--syntax-property);cursor:text;border-radius:var(--r-2);padding:0 2px}.ink-prose .jt-index{color:var(--text-secondary)}.ink-prose .jt-key:hover,.ink-prose .jt-value:hover{background:var(--bg-active)}.ink-prose .jt-colon{color:var(--text-secondary)}.ink-prose .jt-brace{color:var(--syntax-punctuation)}.ink-prose .jt-count{color:var(--text-secondary);font-size:11px}.ink-prose .jt-value{cursor:text;border-radius:var(--r-2);overflow-wrap:anywhere;white-space:pre-wrap;padding:0 2px}.ink-prose .jt-value--string{color:var(--syntax-string)}.ink-prose .jt-value--number{color:var(--syntax-number)}.ink-prose .jt-value--boolean{color:var(--syntax-constant)}.ink-prose .jt-value--null{color:var(--text-secondary);font-style:italic}.ink-prose .jt-kind{color:var(--text-secondary);letter-spacing:var(--tracking-caps);text-transform:uppercase;opacity:0;margin-left:5px;font-size:9.5px}.ink-prose .jt-row:hover .jt-kind{opacity:1}.ink-prose .jt-ops{gap:2px;margin-left:6px;display:none}.ink-prose .jt-row:hover>.jt-ops,.ink-prose .jt-op:focus-visible{display:inline-flex}.ink-prose .jt-op{border:1px solid var(--border-subtle);border-radius:var(--r-2);width:16px;height:15px;color:var(--text-secondary);background:var(--bg-inset);cursor:pointer;justify-content:center;align-items:center;font-size:10px;line-height:1;display:inline-flex}.ink-prose .jt-op:hover{border-color:var(--accent);color:var(--text-primary)}.ink-prose .jt-input{border:1px solid var(--accent);border-radius:var(--r-2);height:17px;color:var(--text-primary);background:var(--bg-base);font:inherit;outline:none;padding:0 3px}.ink-prose .jt-input:focus-visible{box-shadow:var(--shadow-ring-focus);outline:none}.ink-prose .json-code-block[data-json-mode=map]>.json-view,.jm-stage{cursor:grab;touch-action:none;background-image:radial-gradient(var(--border-subtle) 1px, transparent 1px);background-size:22px 22px;min-height:340px;max-height:none;position:relative;overflow:hidden}.ink-prose .json-code-block[data-json-mode=map]>.json-view.is-dragging,.jm-stage.is-dragging{cursor:grabbing}.jm-canvas{transform-origin:0 0;position:absolute;top:0;left:0}.jm-links{pointer-events:none;position:absolute;top:0;left:0;overflow:visible}.jm-links path{fill:none;stroke:var(--graph-edge);stroke-width:1.4px}.jm-edge-label{fill:var(--text-secondary);font-family:var(--font-mono);text-anchor:middle;dominant-baseline:central;paint-order:stroke;stroke:var(--bg-base);stroke-width:3px;stroke-linejoin:round;font-size:11px}.jm-card{--jm-stripe:inset 3px 0 0 var(--syntax-property);border:1px solid var(--border-subtle);border-radius:var(--r-md);background:var(--bg-surface);box-shadow:var(--jm-stripe), var(--shadow-sm);-webkit-user-select:none;user-select:none;position:absolute}.jm-card:hover{box-shadow:var(--jm-stripe), var(--shadow-pop)}.jm-card.is-selected,.jm-row.is-selected{box-shadow:var(--jm-stripe), var(--shadow-ring)}.jm-card--array{--jm-stripe:inset 3px 0 0 var(--syntax-number)}.jm-row{white-space:nowrap;align-items:center;gap:0;display:flex;position:absolute}.jm-row--rule{border-top:1px solid var(--border-subtle)}.jm-key{color:var(--syntax-property);white-space:pre;flex:none}.jm-value{text-overflow:ellipsis;white-space:pre;min-width:0;color:var(--text-primary);overflow:hidden}.jm-value--string{color:var(--syntax-string)}.jm-value--number{color:var(--syntax-number)}.jm-value--boolean{color:var(--syntax-constant)}.jm-value--null,.jm-value--object,.jm-value--array{color:var(--text-secondary)}.jm-chip{vertical-align:-3px;border:1px solid var(--border-strong);border-radius:var(--r-2);flex:none;width:14px;height:14px;margin-right:5px;display:inline-block}.jm-more{color:var(--text-secondary)}.jm-empty{color:var(--text-secondary);font-style:italic}.jm-fold{border:1px solid var(--border-subtle);border-radius:var(--r-2);width:16px;height:16px;color:var(--text-secondary);background:var(--bg-inset);cursor:pointer;flex:none;justify-content:center;align-items:center;margin-right:6px;padding:0;font-size:11px;line-height:1;display:inline-flex}.jm-fold:hover{color:var(--text-primary);border-color:var(--accent)}.jm-fold--none{cursor:default;background:0 0;border-color:#0000}.jm-map-menu{z-index:3;border:1px solid var(--border-strong);border-radius:var(--r-md);background:var(--bg-overlay);min-width:168px;box-shadow:var(--shadow-pop);cursor:auto;-webkit-user-select:none;user-select:none;flex-direction:column;gap:1px;padding:4px;font-size:11.5px;display:flex;position:absolute}.jm-map-menu-item{border-radius:var(--r-sm);color:var(--text-primary);font:inherit;text-align:start;cursor:pointer;background:0 0;border:0;padding:5px 8px;display:block}.jm-map-menu-item:hover{color:var(--text-primary);background:var(--bg-active)}.jm-map-menu-item:focus-visible{color:var(--text-primary);background:var(--bg-active);box-shadow:var(--shadow-ring);outline:none}.jm-detail{z-index:2;border:1px solid var(--border-strong);border-radius:var(--r-md);background:var(--bg-overlay);width:260px;max-width:calc(100% - 16px);box-shadow:var(--shadow-pop);cursor:auto;-webkit-user-select:text;user-select:text;flex-direction:column;gap:6px;padding:8px 10px 10px;font-size:11px;display:flex;position:absolute}.jm-detail-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.jm-detail-title{color:var(--text-secondary);font-size:10.5px}.jm-detail-close{color:var(--text-secondary);cursor:pointer;background:0 0;border:0;padding:0 2px;font-size:14px;line-height:1}.jm-detail-close:hover{color:var(--text-primary)}.jm-detail-body{max-height:118px;color:var(--text-primary);white-space:pre;margin:0;line-height:1.45;overflow:auto}.jm-detail-label{color:var(--text-secondary);font-size:10px}.jm-detail-path{border:1px solid var(--border-subtle);border-radius:var(--r-2);width:100%;color:var(--text-primary);background:var(--bg-inset);font:inherit;outline:none;padding:2px 4px}.jm-detail-path:focus-visible{border-color:var(--accent);box-shadow:var(--shadow-ring-focus);outline:none}.jm-detail-actions{gap:6px;display:flex}.jm-detail-copy{border:1px solid var(--border-subtle);border-radius:var(--r-full);color:var(--text-secondary);background:var(--bg-inset);font:inherit;cursor:pointer;padding:2px 8px}.jm-detail-copy:hover{border-color:var(--accent);color:var(--text-primary)}.json-fullscreen-head{border-bottom:1px solid var(--border-subtle);background:var(--bg-surface);flex-shrink:0;justify-content:space-between;align-items:center;gap:8px;padding:8px 12px;display:flex}.json-fullscreen-body{flex-direction:column;padding:0;display:flex}.json-fullscreen-stage{flex:1;min-height:0;position:relative}.json-fullscreen-stage .jm-stage{height:100%}.json-shortcuts{border:1px solid var(--border-subtle);border-radius:var(--r-md);max-width:min(420px,100% - 32px);color:var(--text-secondary);background:var(--bg-overlay);box-shadow:var(--shadow-pop);padding:10px 14px;font-size:12px;line-height:1.7;position:absolute;bottom:16px;left:16px}.json-shortcuts ul{margin:0;padding:0;list-style:none}.code-block.is-json-fullscreen{z-index:auto;background:var(--bg-base);border:0;border-radius:0;flex-direction:column;height:100%;max-height:none;margin:0;display:flex;position:relative;inset:auto}.code-block.is-json-fullscreen>.code-block-head,.code-block.is-json-fullscreen>.json-filter{flex:none}.code-block.is-json-fullscreen>.json-view{flex:1;height:auto;min-height:0;max-height:none}.ink-prose .json-view{font-family:var(--font-mono);font-size:11.5px}.jm-card,.jm-detail{font-size:inherit;font-family:inherit}.ink-prose .jt-node:hover:not(:has(.jt-node:hover)){background:var(--bg-hover)}.json-fs-stage{z-index:var(--z-modal);background:var(--bg-base);width:100%;max-width:none;padding-block:0;position:fixed;inset:0}.ink-prose mark[data-hl=yellow]{background:#ffce4073}.ink-prose mark[data-hl=green]{background:#76d66c6b}.ink-prose mark[data-hl=blue]{background:#60a5fa6b}.ink-prose mark[data-hl=pink]{background:#f87ba86b}.ink-prose mark[data-hl=red]{background:#f5a8a06b}.ink-prose mark[data-hl=purple]{background:#d5b8ff6b}[data-blog-reading-host]{position:relative}.blog-runtime-stage{visibility:hidden;pointer-events:none;width:100%;position:absolute;inset:0 0 auto}.blog-runtime-stage.is-ready{visibility:visible;pointer-events:auto;position:static}.blog-runtime-stage .blog-reading-surface{height:auto;padding:0;overflow:visible}[data-blog-snapshot][hidden]{display:none}.attachment-unpublished{opacity:.7}img.attachment-unpublished{border:1px dashed var(--border-default);border-radius:var(--r-md);min-width:8rem;min-height:5rem;color:var(--text-secondary);padding:1rem;font-size:.85rem;display:inline-block}
