:root{scrollbar-color:var(--color-dim) transparent;scrollbar-width:thin}*,:before,:after{box-sizing:border-box;-webkit-tap-highlight-color:transparent;margin:0}svg{display:block}[hidden]{display:none!important}textarea,button{font:inherit;color:inherit;background:0 0;border:none}textarea{appearance:none;field-sizing:content;resize:none;outline:none;min-block-size:1lh;inline-size:100%;display:block}:where(:focus-visible,label:has(>input:focus-visible)){outline:var(--outline-md) solid var(--color-primary);outline-offset:var(--outline-sm)}:disabled:not(:checked,[aria-pressed=true]){opacity:.4}ul{padding:0;list-style:none}::-webkit-scrollbar{block-size:4px;inline-size:4px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:oklch(from var(--color-dim) l c h / 45%);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:oklch(from var(--color-dim) l c h / 75%)}::-webkit-scrollbar-thumb:active{background:var(--color-dim)}::-webkit-scrollbar-button{display:none}::view-transition{pointer-events:none}@font-face{font-family:Hanken Grotesk Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(data:font/woff2;base64,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)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:Hanken Grotesk Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/hanken-grotesk-vietnamese-wght-normal-CHiFlh_0.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:Hanken Grotesk Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/hanken-grotesk-latin-ext-wght-normal-Dg-wlmqe.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:Hanken Grotesk Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/hanken-grotesk-latin-wght-normal-CaVRRdDk.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;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/atkinson-hyperlegible-latin-400-normal-BrHNak5F.woff2)format("woff2"),url(/assets/atkinson-hyperlegible-latin-400-normal-BbWidj28.woff)format("woff")}@font-face{font-family:Atkinson fallback;src:local(Arial);size-adjust:97%}:root{--font-body:"Atkinson Hyperlegible", "Atkinson fallback", system-ui, sans-serif;--font-hero:"Hanken Grotesk Variable", system-ui, sans-serif;--font-feature-hero:"ss01" 1;--font-weight-regular:400;--font-weight-medium:500;--font-size-label:.8rem;--font-size-body:1rem;--leading-reading:1.5;--leading-label:1.2;--track-label:.06em;--typeset-body:var(--font-weight-regular) var(--font-size-body) / var(--leading-reading) var(--font-body);--typeset-label:var(--font-weight-medium) var(--font-size-label) / var(--leading-label) var(--font-hero)}body,html{-webkit-font-smoothing:antialiased}#root{font:var(--typeset-body)}.logo text{font-family:var(--font-hero);font-weight:var(--font-weight-medium);font-feature-settings:var(--font-feature-hero);letter-spacing:var(--track-label)}:is(button,li[data-group]){font:var(--typeset-label);text-transform:capitalize;letter-spacing:var(--track-label)}@media (pointer:coarse){html{text-size-adjust:100%}}button{gap:var(--gap-xs);min-inline-size:var(--control-size);block-size:var(--control-size);font-feature-settings:var(--font-feature-hero);appearance:none;cursor:pointer;user-select:none;transition:color var(--motion-fast), background-color var(--motion-fast), box-shadow var(--motion-fast), scale var(--motion-fast);justify-content:center;align-items:center;display:flex}@media (any-hover:hover){button:hover{background-color:var(--color-lit);box-shadow:var(--glow)}}button:active{scale:var(--press-scale)}button:disabled{pointer-events:none}button[aria-pressed=true]{color:var(--color-primary);background-color:var(--color-tint)}@media (pointer:coarse){button{touch-action:manipulation}}ul:is([role=menu],[role=toolbar]){min-block-size:0;min-inline-size:0;display:flex}ul:is([role=menu],[role=toolbar])[role=menu]{scroll-snap-type:y proximity;--control-size:2.25rem;flex-direction:column;overflow-y:auto}@media (pointer:coarse){ul:is([role=menu],[role=toolbar])[role=menu]{--control-size:2.75rem}}ul:is([role=menu],[role=toolbar])[role=menu]>li{scroll-snap-align:start}ul:is([role=menu],[role=toolbar])[role=menu]>li>button{text-transform:none;letter-spacing:normal;justify-content:start;inline-size:100%}ul:is([role=menu],[role=toolbar])[role=menu]>li>button>.label{white-space:normal;max-inline-size:none}ul:is([role=menu],[role=toolbar])[role=menu]>li[data-group]{gap:var(--gap-xs);padding-block:var(--gap-xs) var(--gap-xxs);padding-inline:var(--gap-xs);border-block-start:var(--outline-sm) solid var(--color-outline);color:var(--color-dim);align-items:center;display:flex}ul:is([role=menu],[role=toolbar])[role=menu]>li[data-group]:first-child{border-block-start:0;padding-block-start:var(--gap-xxs)}ul:is([role=menu],[role=toolbar])[role=toolbar]{scroll-snap-type:x mandatory;flex-direction:row;scroll-padding-inline:50%;overflow-x:auto}ul:is([role=menu],[role=toolbar])[role=toolbar]>li{--reveal-translate:calc(-1 * var(--gap-xs)) 0;scroll-snap-align:center}ul:is([role=menu],[role=toolbar])>li{animation:reveal var(--motion-slow) both}qx-proj{inline-size:min(100%, var(--reading-inline-size));margin-inline:auto;display:block;position:relative}qx-tile>:is(qx-proj){block-size:100%;padding-block-start:var(--control-size);overflow-y:auto}qx-tile[data-main]>:is(qx-proj){flex-direction:column;display:flex}qx-proj[data-dragging]{pointer-events:none;opacity:.5}qx-proj[data-drop-zone]{background:var(--color-tint)}qx-proj[data-drop-zone=block-start]:before,qx-proj[data-drop-zone=block-end]:after{content:"";background:var(--color-primary);border-radius:var(--radius-full);block-size:2px;box-shadow:var(--glow);position:absolute;inset-inline:0}qx-proj[data-drop-zone=block-start]:before{inset-block-start:0}qx-proj[data-drop-zone=block-end]:after{inset-block-end:0}qx-proj[data-drop-zone=fill]{outline:var(--outline-md) solid var(--color-primary);outline-offset:calc(-1 * var(--outline-md))}qx-proj>[data-list]{flex-direction:column;display:flex}qx-proj>[data-list]>qx-proj{view-transition-class:proj;animation:reveal var(--motion-slow) both;padding-inline-start:var(--indent-inline-size)}qx-proj>[data-list]>qx-proj>qx-fab{inline-size:var(--indent-inline-size);position:absolute;inset-block:0;inset-inline-start:0}::view-transition-group(.proj){animation-duration:var(--duration-slow);animation-timing-function:var(--ease)}.drag-preview{gap:var(--gap-xs);max-inline-size:var(--label-inline-size-max);padding:var(--gap-xs) var(--gap-sm);font:var(--typeset-label);color:var(--color-fg);white-space:nowrap;pointer-events:none;background:var(--color-bg);border-radius:var(--radius-full);box-shadow:var(--lift);animation:preview-lift var(--motion-fast) both;will-change:translate;align-items:center;display:flex;position:fixed;inset:0 auto auto 0;overflow:clip}.drag-preview:before{inline-size:var(--gap-md);block-size:var(--gap-xxs);content:"";background:var(--color-outline);border-radius:var(--radius-full);flex:none}.drag-preview[data-dropping]{animation:preview-drop var(--motion-fast) forwards}@keyframes preview-lift{0%{opacity:0;scale:var(--press-scale)}}@keyframes preview-drop{to{opacity:0;scale:var(--press-scale)}}.node[data-kind=sec]{min-block-size:1lh;text-indent:calc(-1 * var(--gap-xs));overflow-wrap:anywhere;white-space:pre-wrap;cursor:text;outline:none;padding-inline-start:var(--gap-xs)}.node[data-kind=asset]{padding:var(--gap-sm)}.node[data-kind=asset]>figcaption{font:var(--typeset-label);color:var(--color-dim)}qx-tile{display:block;position:absolute}qx-tile[data-main]{inset:0}qx-fab{flex-direction:column;display:flex}qx-fab.glass{--radius:var(--gap-md);margin-block-end:var(--gap-lg)}qx-fab.glass:has(>.dock:not([hidden])){block-size:var(--fab-block-size-max)}qx-fab>.dock{gap:var(--gap-sm);min-block-size:0;padding:var(--gap-sm);flex:1;display:flex}qx-fab>.dock[hidden]{display:none}qx-fab>.dock>:is([role=menu],.panel){border-radius:calc(var(--radius) - var(--gap-sm))}qx-fab>.dock>[role=menu]{interpolate-size:allow-keywords;inline-size:0;overflow-x:clip}@media (prefers-reduced-motion:no-preference){qx-fab>.dock>[role=menu]{transition:inline-size var(--motion-slow)}}qx-fab>.dock>[role=menu]:not([hidden]){inline-size:auto}qx-fab>.dock:not([data-panel])>[role=menu]:not([hidden]){flex:1}qx-fab>.dock>.panel{flex-direction:column;flex:1;min-block-size:0;min-inline-size:0;display:flex;position:relative;overflow:clip}qx-fab>.dock>.panel>.space{touch-action:none;transform-origin:0 0;position:absolute;inset:0}qx-fab>.dock>.panel>.space>qx-tile{padding:var(--resize-band);outline:var(--outline-sm) solid var(--color-outline);background:var(--color-bg)}qx-fab>.dock>.panel>.graph{gap:var(--gap-sm);flex-direction:column;flex:1;min-block-size:0;display:flex}qx-fab>.dock>.panel>.graph .canvas{flex:1;min-block-size:0}qx-fab>.dock>.panel>.graph [role=toolbar]{padding:var(--gap-xs) var(--gap-sm);background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur));justify-content:safe center;position:absolute;inset-block-end:0;inset-inline:0}qx-fab>.dock>.panel>.empty{padding:var(--gap-sm);font:var(--typeset-label);color:var(--color-dim)}qx-fab>.io{gap:var(--gap-xs);min-block-size:var(--control-size);padding-inline:var(--gap-sm);align-items:center;display:flex}qx-fab>.io>textarea{flex:1;max-block-size:6lh;overflow-y:auto}:is(qx-proj[data-root],[data-list]>qx-proj)>qx-fab{touch-action:none;cursor:grab}qx-tile[data-main]>qx-proj>qx-fab{margin-block-start:auto;position:sticky;inset-block-end:var(--gap-lg)}qx-proj[data-root]>qx-fab{inline-size:var(--gap-md);block-size:var(--gap-md);background-color:var(--glass-bg);border-radius:var(--radius-full);box-shadow:var(--lift), var(--glow);margin:0 auto;position:sticky;inset-block-end:var(--gap-lg);inset-inline:0}.icon{place-items:center;block-size:1em;inline-size:1em;display:inline-grid}.glass{--radius:var(--radius-full);background-color:var(--glass-bg);border-radius:var(--radius);box-shadow:var(--lift);backdrop-filter:blur(var(--glass-blur)) saturate(1.6);position:relative}.glass:after{block-size:var(--gap-xs);pointer-events:none;content:"";border-radius:0 0 inherit inherit;backdrop-filter:blur(6px)brightness(1.35);position:absolute;inset-block-end:0;inset-inline:0;mask-image:linear-gradient(#0000,#000)}@media (prefers-reduced-transparency:reduce){.glass{background-color:var(--color-bg);backdrop-filter:none}.glass:after{display:none}}.label{min-inline-size:0;max-inline-size:var(--label-inline-size-max);text-overflow:ellipsis;white-space:nowrap;overflow:clip}:root{--outline-sm:calc(1em / 32);--outline-md:calc(var(--outline-sm) * 2);--radius-full:9999px;--gap-xxs:.25rem;--gap-xs:.5rem;--gap-sm:.75rem;--gap-md:1rem;--gap-lg:1.5rem;--alpha-soft:20%;--glass-alpha:40%;--ease:cubic-bezier(.32, .72, 0, 1);--motion-toggle:1;--duration-fast:calc(var(--motion-toggle) * .15s);--duration-slow:calc(var(--motion-toggle) * .7s);--motion-fast:var(--duration-fast) var(--ease);--motion-slow:var(--duration-slow) var(--ease);--stagger-max:6;--stagger-step:calc(var(--duration-fast) / 3);--press-scale:.97;--color-brand-pink:oklch(62% .17 358);--color-brand-teal:oklch(62% .09 184);--color-primary:var(--color-brand-pink);--color-accent:var(--color-brand-teal);--color-bg:oklch(96% 0 0);--color-fg:oklch(18% 0 0);--color-outline:oklch(75% 0 0);--color-ink:black;--color-lit:color-mix(in oklab, var(--color-ink) var(--alpha-soft), transparent);--color-dim:color-mix(in oklab, var(--color-fg), var(--color-bg) 40%);--color-shadow:color-mix(in oklab, black var(--alpha-soft), transparent);--color-tint:color-mix(in oklab, var(--color-primary) var(--alpha-soft), transparent);--glass-blur:8px;--glass-bg:color-mix(in oklab, color-mix(in oklab, var(--color-bg) 94%, var(--color-primary)) var(--glass-alpha), transparent);--lift:inset 0 var(--outline-md) 0 var(--color-lit), inset 0 0 0 var(--outline-sm) var(--color-outline), 0 var(--outline-md) var(--outline-md) var(--color-shadow), 0 var(--gap-xs) var(--gap-xs) calc(-1 * var(--gap-xs)) var(--color-shadow);--glow:0 0 var(--gap-sm) var(--color-tint);--reading-inline-size:34rem;--control-size:2.75rem;--label-inline-size-max:12rem;--indent-inline-size:1rem;--resize-band:10px;--fab-block-size-max:54dvh;caret-color:var(--color-accent);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;view-transition-name:none}:root[data-theme=dark]{--color-bg:oklch(15.5% 0 0);--color-fg:oklch(94% 0 0);--color-outline:oklch(35% 0 0);--alpha-soft:30%;--glass-alpha:45%;--color-ink:white;--color-primary:oklch(from var(--color-brand-teal) calc(l * 1.1) c h);--color-accent:oklch(from var(--color-brand-pink) calc(l * 1.1) c h);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}body,html{block-size:100dvh}::selection{background-color:color-mix(in oklab, var(--color-accent) var(--alpha-soft), transparent)}#root{block-size:100%;color:var(--color-fg);background-color:var(--color-bg)}#root>header{padding:var(--gap-sm);pointer-events:none;position:absolute;inset-block-start:0;inset-inline:0}#root>header .logo{inline-size:auto;block-size:calc(var(--control-size) / 2)}#root>main{block-size:100%;position:relative}.gate{--radius:var(--gap-md);block-size:fit-content;inline-size:min(90vw,22rem);padding:var(--gap-lg);margin:auto;position:absolute;inset:0}.logo{color:var(--color-accent);fill:currentColor}@keyframes reveal{0%{opacity:0;translate:var(--reveal-translate,0 var(--gap-xs));filter:blur(var(--gap-xxs))}}@supports (animation-delay:calc(sibling-index() * 1ms)){:is(ul[role=menu],ul[role=toolbar])>li,[data-list]>qx-proj{animation-delay:calc(min(sibling-index() - 1, var(--stagger-max)) * var(--stagger-step))}}@media (prefers-reduced-motion:reduce){:root{--motion-toggle:0}}@media (prefers-reduced-motion:no-preference){html{interpolate-size:allow-keywords}}@media (pointer:coarse){body{overscroll-behavior:none}}
