@font-face{font-family:Atkinson Hyperlegible Next Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/atkinson-hyperlegible-next-latin-ext-wght-normal-C6vrW8VD.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Atkinson Hyperlegible Next Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/atkinson-hyperlegible-next-latin-wght-normal-BcXVPD7q.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Atkinson Hyperlegible Next Variable;font-style:italic;font-display:swap;font-weight:200 800;src:url(/assets/atkinson-hyperlegible-next-latin-ext-wght-italic-Cigfgs4r.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Atkinson Hyperlegible Next Variable;font-style:italic;font-display:swap;font-weight:200 800;src:url(/assets/atkinson-hyperlegible-next-latin-wght-italic-DC5MiAaX.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Source Serif 4 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/source-serif-4-cyrillic-ext-wght-normal-cHuGMAiY.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Source Serif 4 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/source-serif-4-cyrillic-wght-normal-DwHjdM4S.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:"Source Serif 4 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/source-serif-4-greek-wght-normal-ece1310W.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:"Source Serif 4 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/source-serif-4-vietnamese-wght-normal-D-yuW59g.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Source Serif 4 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/source-serif-4-latin-ext-wght-normal-CxNHBx-q.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Serif 4 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/source-serif-4-latin-wght-normal-D9elroTD.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--hue:262;--paper:oklch(.993 .002 var(--hue));--canvas:oklch(.985 .003 var(--hue));--surface:oklch(.998 .001 var(--hue));--sunken:oklch(.965 .005 var(--hue));--dot:oklch(.86 .008 var(--hue));--ink:oklch(25% .025 258);--ink-2:oklch(43% .02 258);--ink-3:oklch(60% .016 258);--ink-4:oklch(74% .012 258);--line:oklch(.915 .006 var(--hue));--line-strong:oklch(.86 .009 var(--hue));--accent:oklch(.52 .18 var(--hue));--accent-ink:oklch(.45 .17 var(--hue));--accent-soft:oklch(.95 .03 var(--hue));--accent-faint:oklch(.975 .015 var(--hue));--danger:oklch(56% .19 25);--danger-soft:oklch(96% .025 25);--ok:oklch(55% .12 155);--sans:"Atkinson Hyperlegible Next Variable", "Atkinson Hyperlegible Next", system-ui, sans-serif;--serif:"Source Serif 4 Variable", "Source Serif 4", Georgia, serif;--t-xs:.6875rem;--t-sm:.8125rem;--t-md:.875rem;--t-lg:1.125rem;--t-xl:1.5rem;--space-2xs:4px;--space-xs:8px;--space-sm:12px;--space-md:16px;--space-lg:24px;--space-xl:32px;--space-2xl:48px;--r-sm:6px;--r-md:9px;--r-lg:14px;--shadow-pop:0 1px 2px oklch(25% .03 258/.06), 0 8px 24px -6px oklch(25% .03 258/.16), 0 0 0 1px oklch(25% .03 258/.06);--shadow-float:0 1px 1px oklch(25% .03 258/.05), 0 12px 32px -10px oklch(25% .03 258/.22), 0 0 0 1px oklch(25% .03 258/.07);--ease-out:cubic-bezier(.22, 1, .36, 1);--ease-quart:cubic-bezier(.25, 1, .5, 1);--topbar-h:56px;--insp-w:360px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:var(--sans);font-size:var(--t-md);color:var(--ink);background:var(--paper);-webkit-font-smoothing:antialiased;font-feature-settings:"ss01" 0;overflow:hidden}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}kbd{font-family:var(--sans);color:var(--ink-3);background:var(--sunken);border:1px solid var(--line);text-align:center;border-bottom-width:2px;border-radius:5px;min-width:18px;padding:0 5px;font-size:10.5px;font-weight:650;line-height:16px}.app{grid-template-rows:var(--topbar-h) 1fr;height:100%;display:grid}.topbar{align-items:center;gap:var(--space-md);padding:0 var(--space-md) 0 var(--space-lg);background:var(--surface);border-bottom:1px solid var(--line);z-index:20;display:flex;position:relative}.brand{color:var(--ink);flex:none;align-items:center;gap:10px;display:flex}.brand-name{font-family:var(--serif);letter-spacing:-.01em;font-size:1.1875rem;font-weight:600}.topbar-rule{background:var(--line-strong);flex:none;width:1px;height:22px}.doc-title{align-items:baseline;gap:var(--space-sm);flex:1;min-width:0;display:flex}.doc-title input{font-size:var(--t-md);border-radius:var(--r-sm);text-overflow:ellipsis;background:0 0;border:0;width:min(36ch,100%);min-width:80px;margin-left:-8px;padding:6px 8px;font-weight:600;transition:background .15s}.doc-title input:hover{background:var(--sunken)}.doc-title input:focus{background:var(--surface);box-shadow:0 0 0 1.5px var(--accent);outline:none}.save-state{font-size:var(--t-xs);color:var(--ink-3);white-space:nowrap;align-items:center;gap:4px;display:inline-flex}.save-state svg{color:var(--ok)}.save-state.is-error,.save-state.is-error svg{color:var(--danger)}.topbar-actions{align-items:center;gap:var(--space-xs);flex:none;display:flex}.btn-group{margin-right:var(--space-xs);gap:2px;display:flex}.btn{border-radius:var(--r-md);border:1px solid var(--line-strong);background:var(--surface);height:34px;font-size:var(--t-sm);color:var(--ink);white-space:nowrap;transition:background .15s, border-color .15s, color .15s, transform .12s var(--ease-out), box-shadow .15s;align-items:center;gap:7px;padding:0 12px;font-weight:600;display:inline-flex}.btn:hover:not(:disabled){background:var(--sunken);border-color:var(--ink-4)}.btn:active:not(:disabled){transform:translateY(1px)}.btn:disabled{opacity:.45;cursor:default}.btn .chev{color:var(--ink-3);transition:transform .2s var(--ease-out);margin-left:-2px}.btn.is-active .chev{transform:rotate(180deg)}.btn-ghost{color:var(--ink-2);background:0 0;border-color:#0000}.btn-ghost:hover:not(:disabled),.btn-ghost.is-active{background:var(--sunken);color:var(--ink);border-color:#0000}.btn-primary{background:var(--ink);border-color:var(--ink);color:var(--paper)}.btn-primary .chev{color:oklch(80% .01 258)}.btn-primary:hover:not(:disabled),.btn-primary.is-active{background:oklch(32% .03 258);border-color:oklch(32% .03 258)}.btn-danger{color:var(--danger);background:0 0;border-color:#0000}.btn-danger:hover:not(:disabled){background:var(--danger-soft);border-color:#0000}.btn-sm{height:28px;font-size:var(--t-xs);border-radius:var(--r-sm);gap:5px;padding:0 9px}.btn-xs{height:24px;padding:0 8px;font-size:11px}.btn-danger.btn-xs{background:var(--danger);color:#fff}.icon-btn{border-radius:var(--r-sm);width:32px;height:32px;color:var(--ink-2);background:0 0;border:0;place-items:center;transition:background .15s,color .15s;display:inline-grid}.icon-btn:hover:not(:disabled){background:var(--sunken);color:var(--ink)}.icon-btn:disabled{opacity:.35;cursor:default}.icon-btn-sm{width:26px;height:26px}.link-btn{color:var(--accent-ink);font-size:var(--t-xs);background:0 0;border:0;justify-self:start;padding:4px 0 0;font-weight:600}.link-btn:hover{text-decoration:underline}.pop-wrap,.tool-wrap{position:relative}.menu{background:var(--surface);border-radius:var(--r-lg);min-width:230px;box-shadow:var(--shadow-pop);z-index:40;animation:menu-in .16s var(--ease-out);transform-origin:top;padding:6px;position:absolute;top:calc(100% + 8px)}.menu-center{left:50%;translate:-50%}.menu-right{transform-origin:100% 0;right:0}.menu-wide{min-width:260px}@keyframes menu-in{0%{opacity:0;transform:translateY(-4px)scale(.97)}}.menu-item{border-radius:var(--r-sm);text-align:left;width:100%;font-size:var(--t-sm);color:var(--ink);background:0 0;border:0;align-items:center;gap:10px;padding:7px 8px;display:flex}.menu-item:hover:not(:disabled),.menu-item:focus-visible{background:var(--accent-faint);color:var(--accent-ink);outline:none}.menu-item:disabled{opacity:.4;cursor:default}.menu-item.is-danger{color:var(--danger)}.menu-item em{font-style:normal;font-size:var(--t-xs);color:var(--ink-3);font-weight:650}.menu-icon{width:18px;color:var(--ink-2);place-items:center;display:inline-grid}.menu-item:hover .menu-icon{color:inherit}.menu-label{flex:1}.menu-sep{background:var(--line);height:1px;margin:5px 6px}.menu-head{letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);padding:8px 8px 4px;font-size:10.5px;font-weight:700}.menu-choose{font-size:var(--t-xs);color:var(--ink-3);gap:6px;padding:6px 8px 4px;font-weight:600;display:grid}.workspace{grid-template-columns:1fr var(--insp-w);min-height:0;display:grid}.canvas{background-color:var(--canvas);background-image:radial-gradient(circle at 1px 1px, var(--dot) 1.15px, transparent 1.3px);cursor:grab;touch-action:none;min-width:0;position:relative;overflow:hidden}.canvas.is-panning{cursor:grabbing}.canvas.is-picking{cursor:crosshair}.canvas-svg{-webkit-user-select:none;user-select:none;display:block}.pnode{cursor:pointer}.pnode-body{transform-box:fill-box;transform-origin:50% 0}.pnode-hit{fill:#0000}.pnode-halo{fill:var(--accent);fill-opacity:0;stroke:none;transform-box:fill-box;transform-origin:50%;transition:fill-opacity .22s var(--ease-out), transform .3s var(--ease-out);transform:scale(.82)}.pnode-ring{fill:none;stroke:var(--accent);stroke-width:2px;stroke-opacity:0;transform-box:fill-box;transform-origin:50%;transition:stroke-opacity .2s var(--ease-out), transform .3s var(--ease-out);transform:scale(.9)}.pnode-glyph{transition:transform .3s var(--ease-out), filter .3s var(--ease-out);transform-box:fill-box;transform-origin:50%}.pnode:hover .pnode-halo{fill-opacity:.1;transform:scale(1)}.pnode:hover .pnode-glyph{filter:drop-shadow(0 4px 5px oklch(30% .06 262/.16));transform:translateY(-1.5px)}.pnode.is-selected .pnode-halo{fill-opacity:.12;transform:scale(1.04)}.pnode.is-selected .pnode-ring{stroke-opacity:1;transform:scale(1.12)}.pnode.is-entering .pnode-body{animation:node-in .55s var(--ease-out) both}@keyframes node-in{0%{opacity:0;transform:scale(.55)}60%{opacity:1}}.pnode.is-dim{opacity:.35}.is-picking .pnode:not(.is-dim):hover .pnode-ring{stroke-opacity:1;stroke-dasharray:5 4;transform:scale(1.12)}.punion{cursor:pointer}.punion-hit{stroke:#0000;stroke-width:14px;fill:none}.punion-line{transition:stroke .2s,stroke-width .2s}.punion.is-lineage .punion-line{stroke:var(--accent)}.punion:hover .punion-line,.punion.is-selected .punion-line{stroke:var(--accent);stroke-width:2.4px}.is-picking .punion{cursor:crosshair}.zoom-dock{right:var(--space-md);bottom:var(--space-md);background:var(--surface);border-radius:var(--r-md);box-shadow:var(--shadow-float);z-index:5;align-items:center;gap:2px;padding:3px;display:flex;position:absolute}.zoom-readout{font-size:var(--t-xs);font-variant-numeric:tabular-nums;color:var(--ink-2);border-radius:var(--r-sm);background:0 0;border:0;width:48px;height:28px;font-weight:650}.zoom-readout:hover{background:var(--sunken)}.zoom-sep{background:var(--line);width:1px;height:18px;margin:0 2px}.zoom-dock .icon-btn{width:30px;height:28px}.node-toolbar{background:var(--surface);box-shadow:var(--shadow-float);z-index:10;animation:bar-in .22s var(--ease-out);white-space:nowrap;border-radius:12px;align-items:center;gap:1px;padding:4px;display:flex;position:absolute;translate:-50% -100%}.node-toolbar.is-below{translate:-50%}@keyframes bar-in{0%{opacity:0;transform:translateY(6px)scale(.96)}}.node-toolbar.is-below{animation-name:bar-in-below}@keyframes bar-in-below{0%{opacity:0;transform:translateY(-6px)scale(.96)}}.tool{height:32px;font-size:var(--t-sm);color:var(--ink-2);background:0 0;border:0;border-radius:8px;align-items:center;gap:6px;padding:0 10px;font-weight:600;transition:background .14s,color .14s;display:inline-flex}.tool:has(span:empty){padding:0 8px}.tool span:empty{display:none}.tool:hover:not(:disabled),.tool.is-active{background:var(--accent-faint);color:var(--accent-ink)}.tool:disabled{opacity:.38;cursor:default}.tool.is-danger:hover{background:var(--danger-soft);color:var(--danger)}.tool-sep{background:var(--line);width:1px;height:20px;margin:0 3px}.node-toolbar .menu{top:calc(100% + 10px)}.node-toolbar:not(.is-below) .menu{transform-origin:bottom;top:auto;bottom:calc(100% + 10px)}.pick-banner{top:var(--space-md);align-items:center;gap:var(--space-sm);background:var(--ink);color:var(--paper);font-size:var(--t-sm);box-shadow:var(--shadow-float);z-index:12;animation:bar-in-below .25s var(--ease-out);border-radius:999px;padding:6px 6px 6px 14px;font-weight:600;display:flex;position:absolute;left:50%;translate:-50%}.pick-banner .btn-ghost{color:oklch(85% .01 258);border-radius:999px}.pick-banner .btn-ghost:hover{color:#fff;background:oklch(35% .03 258)}.pick-dot{background:var(--accent);border-radius:50%;width:8px;height:8px;animation:1.6s infinite pulse;box-shadow:0 0 oklch(52% .18 262/.6)}@keyframes pulse{70%{box-shadow:0 0 0 8px oklch(52% .18 262/0)}to{box-shadow:0 0 oklch(52% .18 262/0)}}.empty{gap:var(--space-md);width:min(600px,100% - 32px);height:fit-content;padding:var(--space-2xl);background:radial-gradient(closest-side, var(--canvas) 72%, oklch(98.5% .003 262/0));cursor:default;animation:rise .6s var(--ease-out) both;justify-items:start;margin:auto;display:grid;position:absolute;inset:0}@keyframes rise{0%{opacity:0;transform:translateY(10px)}}.empty-kicker,.eyebrow{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);margin:0;font-size:10.5px;font-weight:700}.empty-title{font-family:var(--serif);letter-spacing:-.015em;margin:0;font-size:2.125rem;font-weight:560;line-height:1.12}.empty-copy{color:var(--ink-2);max-width:48ch;margin:0;line-height:1.55}.empty-add{gap:var(--space-sm);margin-top:var(--space-xs);display:flex}.add-tile{border:1px solid var(--line-strong);border-radius:var(--r-lg);background:var(--surface);width:116px;color:var(--ink);font-weight:650;font-size:var(--t-sm);transition:border-color .2s, transform .25s var(--ease-out), box-shadow .25s var(--ease-out), color .2s;justify-items:center;gap:10px;padding:22px 0 16px;display:grid;position:relative}.add-tile kbd{position:absolute;top:8px;right:8px}.add-tile:hover{border-color:var(--accent);color:var(--accent-ink);transform:translateY(-3px);box-shadow:0 10px 24px -12px oklch(40% .12 262/.45)}.add-tile:active{transform:translateY(-1px)}.empty-alt{gap:var(--space-xs);margin-top:var(--space-sm);justify-items:start;display:grid}.empty-alt .btn-ghost{color:var(--accent-ink);margin-left:-12px}.empty-or{font-size:var(--t-xs);color:var(--ink-3)}.empty-samples{flex-wrap:wrap;gap:6px;display:flex}.inspector{border-left:1px solid var(--line);background:var(--surface);overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--line-strong) transparent;min-height:0;overflow:hidden auto}.insp{animation:fade-in .25s var(--ease-out);display:grid}@keyframes fade-in{0%{opacity:0;transform:translate(6px)}}.insp-hero{align-items:center;gap:var(--space-sm);padding:var(--space-md) var(--space-sm) var(--space-md) var(--space-md);border-bottom:1px solid var(--line);background:var(--surface);z-index:2;grid-template-columns:auto 1fr auto;display:grid;position:sticky;top:0}.insp-glyph{border-radius:var(--r-md);background:var(--canvas);border:1px solid var(--line);display:block}.insp-hero-text{min-width:0}.name-input{width:100%;font-family:var(--serif);letter-spacing:-.01em;border-radius:var(--r-sm);background:0 0;border:0;margin-left:-6px;padding:2px 6px;font-size:1.375rem;font-weight:560;transition:background .15s,box-shadow .15s}.name-input::placeholder{color:var(--ink-4);font-style:italic}.name-input:hover{background:var(--sunken)}.name-input:focus{background:var(--surface);box-shadow:0 0 0 1.5px var(--accent);outline:none}.insp-title{font-family:var(--serif);text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:1.25rem;font-weight:560;overflow:hidden}.insp-sub{font-size:var(--t-xs);color:var(--ink-3);margin:2px 0 0;font-weight:550}.insp-section{padding:var(--space-md) var(--space-md) var(--space-lg);border-bottom:1px solid var(--line)}.insp-section>header{min-height:28px;margin-bottom:var(--space-xs);justify-content:space-between;align-items:center;display:flex}.insp-section h3{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);margin:0;font-size:10.5px;font-weight:750}.insp-section>header .btn-ghost{color:var(--accent-ink);margin-right:-8px}.insp-body{gap:var(--space-sm);display:grid}.insp-footer{padding:var(--space-md);justify-content:space-between;align-items:center;gap:var(--space-xs);display:flex}.order-btns{gap:2px;display:flex}.insp-doc-head{gap:var(--space-xs);padding:var(--space-lg) var(--space-md) var(--space-md);border-bottom:1px solid var(--line);display:grid}.title-input{font-family:var(--serif);font-size:var(--t-xl);letter-spacing:-.015em;border-radius:var(--r-sm);background:0 0;border:0;margin-left:-6px;padding:2px 6px;font-weight:560}.title-input:hover{background:var(--sunken)}.title-input:focus{box-shadow:0 0 0 1.5px var(--accent);outline:none}.stats{gap:var(--space-xs);margin:var(--space-xs) 0;grid-template-columns:repeat(3,1fr);display:grid}.stats div{border-radius:var(--r-md);background:var(--canvas);padding:10px 12px}.stats dt{color:var(--ink-3);font-size:10.5px;font-weight:650}.stats dd{font-family:var(--serif);font-variant-numeric:tabular-nums;margin:2px 0 0;font-size:1.375rem;font-weight:600}.muted-line{font-size:var(--t-xs);color:var(--ink-3);margin:0;line-height:1.5}.field{gap:5px;display:grid}.field-label{font-size:var(--t-xs);color:var(--ink-2);align-items:baseline;gap:6px;font-weight:650;display:flex}.field-label em{color:var(--ink-3);font-style:normal;font-weight:500}.insp input:not([type=color]):not(.name-input):not(.title-input),.insp select,.insp textarea,.wiz-person input,.cond-add input{border:1px solid var(--line-strong);border-radius:var(--r-sm);background:var(--surface);width:100%;min-width:0;height:34px;font-size:var(--t-sm);padding:0 10px;transition:border-color .15s,box-shadow .15s}.insp textarea{resize:vertical;height:auto;padding:8px 10px;line-height:1.45}.insp select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%237a8396' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 9px center;background-repeat:no-repeat;padding-right:28px}.insp input:hover,.insp select:hover,.insp textarea:hover{border-color:var(--ink-4)}.insp input:focus,.insp select:focus,.insp textarea:focus,.wiz-person input:focus,.cond-add input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.insp input::placeholder,.insp textarea::placeholder,.wiz-person input::placeholder{color:var(--ink-4)}.grid2{gap:var(--space-sm);grid-template-columns:1fr 1fr;display:grid}.reveal{animation:reveal .25s var(--ease-out)}@keyframes reveal{0%{opacity:0;transform:translateY(-4px)}}.seg{background:var(--sunken);border-radius:var(--r-md);gap:2px;padding:3px;display:flex}.seg button{height:30px;font-size:var(--t-sm);color:var(--ink-2);white-space:nowrap;background:0 0;border:0;border-radius:7px;flex:1;justify-content:center;align-items:center;gap:6px;font-weight:600;transition:background .15s,color .15s,box-shadow .2s;display:inline-flex}.seg button:hover{color:var(--ink)}.seg button.is-on{background:var(--surface);color:var(--ink);box-shadow:0 1px 2px oklch(25% .03 258/.1),0 0 0 1px oklch(25% .03 258/.06)}.seg-sm button{height:26px;font-size:var(--t-xs);padding:0 6px}.menu .seg{flex-wrap:wrap}.sex-icon{flex:none}.toggle-row{justify-content:space-between;align-items:center;gap:var(--space-sm);display:flex}.toggle-text{font-size:var(--t-sm);cursor:pointer;gap:1px;font-weight:600;display:grid}.toggle-text em{font-style:normal;font-weight:450;font-size:var(--t-xs);color:var(--ink-3)}.switch{background:var(--line-strong);width:34px;height:20px;transition:background .2s var(--ease-out);border:0;border-radius:999px;flex:none;position:relative}.switch span{width:16px;height:16px;transition:transform .22s var(--ease-out);background:#fff;border-radius:50%;position:absolute;top:2px;left:2px;box-shadow:0 1px 2px oklch(20% .03 258/.25)}.switch.is-on{background:var(--accent)}.switch.is-on span{transform:translate(14px)}.toggle-grid{gap:10px var(--space-md);grid-template-columns:1fr 1fr;display:grid}.toggle-grid .toggle-text{font-size:var(--t-xs)}.row-entry{animation:reveal .22s var(--ease-out);grid-template-columns:auto minmax(0,1fr) 76px auto;align-items:center;gap:6px;display:grid}.row-entry .row-full{grid-column:2/-1}.gene-entry{grid-template-columns:96px minmax(0,1fr) auto}.gene-entry .row-full{grid-column:1/-1}.insp .age-in,.wiz-person .age-in{width:74px}.swatch{border:1.6px solid #0000;border-radius:3px;flex:none;width:12px;height:12px}.swatch-sm{width:9px;height:9px}.cond-name{font-size:var(--t-sm);text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.row-entry:has(.cond-name){grid-template-columns:auto minmax(0,1fr) 132px auto}.cond-add{gap:var(--space-xs);display:grid}.cond-add .row-entry{grid-template-columns:minmax(0,1fr) auto}.chips{flex-wrap:wrap;gap:6px;display:flex}.chip{border:1px solid var(--line-strong);background:var(--surface);height:28px;font-size:var(--t-xs);color:var(--ink-2);border-radius:999px;align-items:center;gap:6px;padding:0 11px;font-weight:600;transition:border-color .15s,background .15s,color .15s;display:inline-flex}.chip:hover{border-color:var(--ink-4);color:var(--ink)}.chip.is-on{background:var(--accent-soft);color:var(--accent-ink);border-color:#0000}.btn-row{flex-wrap:wrap;gap:6px;display:flex}.kid-list{gap:2px;margin:0;padding:0;list-style:none;display:grid}.kid-n{width:16px;color:var(--ink-3);font-variant-numeric:tabular-nums;font-size:10.5px;font-weight:700}.btn-add{color:var(--ink-2);border-style:dashed}.btn-add:hover:not(:disabled){border-color:var(--accent);color:var(--accent-ink);background:var(--accent-faint)}.kid{border-radius:var(--r-sm);width:100%;height:30px;font-size:var(--t-sm);text-align:left;background:0 0;border:0;align-items:center;gap:8px;padding:0 8px;font-weight:600;display:flex}.kid:hover{background:var(--accent-faint);color:var(--accent-ink)}.couple-glyph{color:var(--ink);align-items:center;gap:0;padding:0 4px;display:flex}.couple-line{background:currentColor;width:18px;height:1.6px}.couple-line.is-double{background:0 0;border-top:1.6px solid;border-bottom:1.6px solid;height:6px}.trait-row{grid-template-columns:auto 1fr 104px 56px auto;align-items:center;gap:6px;display:grid}.color-dot{cursor:pointer;border-radius:50%;width:22px;height:22px;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px oklch(0% 0 0/.12)}.color-dot input{opacity:0;cursor:pointer;position:absolute;inset:0}.drawer-scrim,.sheet-scrim{z-index:50;animation:scrim-in .2s var(--ease-out);background:oklch(25% .03 258/.18);position:fixed;inset:0}@keyframes scrim-in{0%{opacity:0}}.drawer{background:var(--surface);width:min(400px,100%);box-shadow:var(--shadow-float);animation:drawer-in .32s var(--ease-out);grid-template-rows:auto auto 1fr auto;display:grid;position:absolute;top:0;bottom:0;left:0}@keyframes drawer-in{0%{opacity:0;transform:translate(-24px)}}.drawer-head,.sheet-head{padding:var(--space-lg) var(--space-lg) var(--space-sm);justify-content:space-between;align-items:flex-start;display:flex}.drawer-head h2,.sheet-head h2{font-family:var(--serif);font-size:var(--t-xl);letter-spacing:-.015em;margin:4px 0 0;font-weight:560}.drawer-actions{gap:var(--space-xs);padding:0 var(--space-lg) var(--space-md);display:flex}.lib-list{padding:0 var(--space-sm);min-height:0;margin:0;list-style:none;overflow-y:auto}.lib-item{border-radius:var(--r-lg);transition:background .15s;position:relative}.lib-item:hover{background:var(--canvas)}.lib-open{align-items:center;gap:var(--space-sm);text-align:left;background:0 0;border:0;grid-template-columns:96px 1fr;width:100%;padding:10px 76px 10px 10px;display:grid}.lib-thumb{border-radius:var(--r-md);border:1px solid var(--line);background:var(--surface);height:66px;transition:border-color .2s, transform .25s var(--ease-out);display:grid;overflow:hidden}.lib-thumb svg{width:100%;height:100%}.lib-item:hover .lib-thumb{border-color:var(--ink-4)}.lib-item.is-current .lib-thumb{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft)}.mini-empty{font-size:var(--t-xs);color:var(--ink-4);place-items:center;display:grid}.lib-meta{gap:3px;min-width:0;display:grid}.lib-meta strong{font-size:var(--t-sm);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.lib-meta span{font-size:var(--t-xs);color:var(--ink-3)}.lib-meta em{color:var(--accent-ink);font-style:normal;font-weight:650}.lib-tools{opacity:0;gap:2px;transition:opacity .15s;display:flex;position:absolute;top:50%;right:10px;translate:0 -50%}.lib-item:hover .lib-tools,.lib-tools:focus-within{opacity:1}.drawer-foot{padding:var(--space-md) var(--space-lg) var(--space-lg);border-top:1px solid var(--line);gap:var(--space-sm);display:grid}.sample-grid{gap:var(--space-xs);grid-template-columns:1fr 1fr;display:grid}.sample{text-align:left;border-radius:var(--r-md);border:1px solid var(--line);background:var(--surface);transition:border-color .15s, transform .2s var(--ease-out);gap:3px;padding:10px 12px;display:grid}.sample:hover{border-color:var(--accent);transform:translateY(-1px)}.sample strong{font-size:var(--t-xs)}.sample span{color:var(--ink-3);font-size:11px;line-height:1.35}.sheet,.shortcuts{background:var(--surface);height:fit-content;max-height:calc(100% - 48px);box-shadow:var(--shadow-float);animation:sheet-in .32s var(--ease-out);border-radius:18px;margin:auto;position:absolute;inset:0;overflow:hidden}@keyframes sheet-in{0%{opacity:0;transform:translateY(12px)scale(.98)}}.sheet{grid-template-columns:420px 1fr;width:min(980px,100% - 32px);display:grid}.sheet-form{gap:var(--space-md);padding-bottom:var(--space-lg);align-content:start;display:grid}.sheet-form>:not(.sheet-head){margin:0 var(--space-lg)}.sheet-head{padding-bottom:0}.wiz-person{gap:var(--space-xs);grid-template-columns:1fr auto;display:grid}.wiz-cols{gap:var(--space-lg);grid-template-columns:1fr 1fr;display:grid}.wiz-cols fieldset{border:0;align-content:start;gap:6px;margin:0;padding:0;display:grid}.wiz-cols legend,.wiz-cols .legend-2{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);margin-bottom:4px;padding:0;font-size:10.5px;font-weight:750}.wiz-cols .legend-2{margin-top:10px}.stepper{font-size:var(--t-sm);justify-content:space-between;align-items:center;font-weight:600;display:flex}.stepper-ctl{background:var(--sunken);border-radius:var(--r-md);align-items:center;padding:2px;display:flex}.stepper-ctl button{width:26px;height:26px;color:var(--ink-2);background:0 0;border:0;border-radius:7px;place-items:center;display:grid}.stepper-ctl button:hover:not(:disabled){background:var(--surface);color:var(--ink)}.stepper-ctl button:disabled{opacity:.35;cursor:default}.stepper-ctl output{text-align:center;font-variant-numeric:tabular-nums;width:24px;font-weight:700}.wiz-toggles{gap:10px;display:grid}.sheet-foot{justify-content:space-between;align-items:center;gap:var(--space-sm);padding-top:var(--space-md);border-top:1px solid var(--line);display:flex}.sheet-preview{background-color:var(--canvas);background-image:radial-gradient(circle at 1px 1px, var(--dot) 1.1px, transparent 1.25px);border-left:1px solid var(--line);padding:var(--space-lg);background-size:22px 22px;min-height:440px;display:grid}.sheet-preview svg{width:100%;height:100%;max-height:560px}.shortcuts{width:min(880px,100% - 32px);padding-bottom:var(--space-lg);overflow-y:auto}.shortcut-cols{gap:var(--space-lg);padding:var(--space-sm) var(--space-lg) 0;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));display:grid}.shortcut-cols h3{margin:0 0 var(--space-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);font-size:10.5px;font-weight:750}.shortcut-cols dl{gap:9px;margin:0;display:grid}.shortcut-cols dl div{gap:3px;display:grid}.shortcut-cols dt{flex-wrap:wrap;gap:4px;display:flex}.shortcut-cols dd{font-size:var(--t-xs);color:var(--ink-2);margin:0;line-height:1.4}.toasts{left:calc((100% - var(--insp-w)) / 2);bottom:var(--space-lg);gap:var(--space-xs);z-index:60;pointer-events:none;justify-items:center;display:grid;position:fixed;translate:-50%}.toast{align-items:center;gap:var(--space-sm);background:var(--ink);color:var(--paper);font-size:var(--t-sm);box-shadow:var(--shadow-float);pointer-events:auto;animation:toast-in .3s var(--ease-out);border-radius:999px;max-width:min(560px,90vw);padding:8px 8px 8px 14px;font-weight:550;display:flex}.toast.is-error{background:oklch(42% .14 25)}@keyframes toast-in{0%{opacity:0;transform:translateY(10px)scale(.97)}}.toast-action{color:#fff;font-weight:700;font-size:var(--t-xs);background:oklch(38% .04 258);border:0;border-radius:999px;padding:4px 10px}.toast-action:hover{background:var(--accent)}.toast-x{color:oklch(80% .01 258);background:0 0;border:0;border-radius:50%;place-items:center;width:22px;height:22px;display:grid}.toast-x:hover{background:oklch(36% .03 258)}@media (width<=1100px){:root{--insp-w:320px}.topbar-actions .btn-ghost{padding:0 8px}.sheet{grid-template-columns:1fr}.sheet-preview{display:none}}@media (width<=860px){.workspace{grid-template-rows:1fr minmax(0,42%);grid-template-columns:1fr}.inspector{border-left:0;border-top:1px solid var(--line)}.brand-name,.topbar-rule,.save-state{display:none}.toasts{left:50%}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}
