:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0a0d0b;--panel:#0e1310;--raised:#131a16;--line:#1f2a23;--fg:#cfd8cc;--strong:#eef5ea;--dim:#7c8a7e;--faint:#465249;--allow:#6ee7a0;--ask:#f5b85a;--deny:#ff6b6b;--cyan:#7dd3fc;--magenta:#e2a6ff;--accent:var(--allow);--bar-bg:#6ee7a0;--bar-fg:#06120a;--tint:18%;--glow:0 0 .5em color-mix(in srgb, var(--accent) 35%, transparent);--font:"JetBrains Mono", ui-monospace, "SF Mono", Menlo, Consolas, monospace}@media (prefers-color-scheme:light){:root:not([data-theme=dark]){--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f4f1e8;--panel:#fbf9f3;--raised:#efebdf;--line:#ddd6c4;--fg:#27302a;--strong:#101512;--dim:#6a7266;--faint:#b3ae9e;--allow:#17803d;--ask:#a35f00;--deny:#c42b2b;--cyan:#0e6e9c;--magenta:#8a3aa8;--bar-bg:#17803d;--bar-fg:#f4f1e8;--tint:14%;--glow:none}}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f4f1e8;--panel:#fbf9f3;--raised:#efebdf;--line:#ddd6c4;--fg:#27302a;--strong:#101512;--dim:#6a7266;--faint:#b3ae9e;--allow:#17803d;--ask:#a35f00;--deny:#c42b2b;--cyan:#0e6e9c;--magenta:#8a3aa8;--bar-bg:#17803d;--bar-fg:#f4f1e8;--tint:14%;--glow:none}*,:before,:after{box-sizing:border-box}html{scroll-padding-top:48px}body{background:var(--bg);color:var(--fg);font:14px/1.65 var(--font);font-feature-settings:"liga" 0, "calt" 0;-webkit-font-smoothing:antialiased;margin:0}body:before{content:"";pointer-events:none;z-index:100;background:repeating-linear-gradient(#0000 0 2px,#0000001f 2px 3px);position:fixed;inset:0}:root[data-theme=light] body:before{display:none}@media (prefers-color-scheme:light){:root:not([data-theme=dark]) body:before{display:none}}::selection{background:color-mix(in srgb, var(--accent) 35%, transparent)}a{color:var(--cyan);text-decoration:underline;-webkit-text-decoration-color:color-mix(in srgb, currentColor 35%, transparent);text-decoration-color:color-mix(in srgb, currentColor 35%, transparent);text-underline-offset:3px}a:hover{text-decoration-color:currentColor}code{font:inherit;color:var(--strong);background:var(--raised);border:1px solid var(--line);border-radius:3px;padding:0 .3em}button{font:inherit;color:inherit}:focus-visible{outline:1px dashed var(--accent);outline-offset:2px}.dim{color:var(--dim)}.allow{color:var(--allow)}.ask{color:var(--ask)}.deny{color:var(--deny)}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.bar{z-index:10;background:var(--bar-bg);min-height:28px;color:var(--bar-fg);white-space:nowrap;align-items:center;gap:1ch;padding:0 16px;font-size:13px;display:flex;position:sticky;top:0}.bar a,.bar button{color:inherit;cursor:pointer;background:0 0;border:0;padding:0 .5ch;text-decoration:none}.bar a:hover,.bar button:hover{background:color-mix(in srgb, var(--bar-fg) 15%, transparent)}.bar-session{font-weight:700}.bar-windows{scrollbar-width:none;display:flex;overflow-x:auto}.bar-windows [aria-current]{background:var(--bar-fg);color:var(--bar-bg);font-weight:700}.bar-windows [aria-current]:hover{background:var(--bar-fg)}.bar-end{align-items:center;margin-left:auto;display:flex}.bar-clock{border-left:1px solid color-mix(in srgb, var(--bar-fg) 30%, transparent);margin-left:.5ch;padding-left:1ch}body>main,.footer,.tutorial{max-width:1080px;margin:0 auto;padding:0 16px}section{margin:96px 0}h2{color:var(--strong);margin:0 0 8px;font-size:20px;font-weight:700}.hash{color:var(--accent)}.lede{color:var(--dim);max-width:72ch;margin:0 0 24px}.hero{padding:64px 0 32px}.cmd{color:var(--fg);margin:0 0 20px}.path{color:var(--cyan)}.hero h1{margin:0}.logo{font:700 clamp(22px, 7vw, 54px) / 1.05 var(--font);color:var(--accent);text-shadow:var(--glow);margin:0;overflow:hidden}.logo:after{content:"";vertical-align:-.1em;background:var(--accent);width:.6em;height:.9em;margin-left:.2em;animation:1.1s step-end infinite blink;display:inline-block}@keyframes blink{50%{opacity:0}}.tagline{color:var(--strong);max-width:64ch;margin:28px 0 8px;font-size:clamp(15px,2.2vw,18px);line-height:1.55}.sub{color:var(--dim);max-width:72ch;margin:0 0 28px}.cta{flex-wrap:wrap;gap:12px;display:flex}.install,.button{border:1px solid var(--line);background:var(--panel);color:var(--strong);cursor:pointer;border-radius:4px;align-items:center;gap:1ch;padding:8px 14px;text-decoration:none;display:inline-flex}.install:hover,.button:hover{border-color:var(--accent)}.button{background:var(--accent);border-color:var(--accent);color:var(--bg);font-weight:700}.button .dim{color:color-mix(in srgb, var(--bg) 65%, transparent)}.copy-hint:after{content:"⧉";color:var(--dim)}.copied .copy-hint:after{content:"copied";color:var(--accent)}.window{border:1px solid var(--line);background:var(--panel);border-radius:8px;overflow:hidden;box-shadow:0 24px 64px -32px #0009}.titlebar{border-bottom:1px solid var(--line);background:var(--raised);color:var(--dim);align-items:center;gap:12px;padding:7px 12px;font-size:12px;display:flex}.lights{gap:6px;display:flex}.lights i{background:var(--faint);border-radius:50%;width:10px;height:10px}.lights i:first-child{background:var(--deny)}.lights i:nth-child(2){background:var(--ask)}.lights i:nth-child(3){background:var(--allow)}.title{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.legend{gap:10px;font-style:normal;display:flex}.legend i{border-radius:2px;padding:0 4px;font-style:normal}.legend .allow,mark.allow{background:color-mix(in srgb, var(--allow) var(--tint), transparent)}.legend .ask,mark.ask{background:color-mix(in srgb, var(--ask) var(--tint), transparent)}.legend .deny,mark.deny{background:color-mix(in srgb, var(--deny) var(--tint), transparent)}mark{color:inherit;border-radius:2px}mark.ask{box-shadow:inset 0 -1px var(--ask)}mark.deny{box-shadow:inset 0 -1px var(--deny)}.editor{min-width:0;display:grid}.editor>*{font:inherit;line-height:inherit;letter-spacing:inherit;tab-size:2;white-space:pre-wrap;overflow-wrap:anywhere;border:0;grid-area:1/1;margin:0;padding:0}.editor pre{color:var(--strong);pointer-events:none}.editor textarea{resize:none;color:#0000;caret-color:var(--accent);background:0 0;outline:none;overflow:hidden}.editor textarea::selection{color:#0000}.prompt-line{grid-template-columns:auto 1fr;gap:1ch;padding:14px 16px;font-size:15px;display:grid}.prompt{color:var(--accent);-webkit-user-select:none;user-select:none;font-weight:700}.prompt-line:focus-within .prompt{text-shadow:var(--glow)}.report{border-top:1px dashed var(--line);min-height:120px;padding:12px 16px 14px;font-size:13px;overflow-x:auto}.row{grid-template-columns:6ch minmax(0,auto) 1fr;align-items:baseline;gap:2ch;display:grid}.badge{text-transform:uppercase;color:var(--allow);font-weight:700}.row.ask .badge{color:var(--ask)}.row.deny .badge{color:var(--deny)}.badge.fn{color:var(--dim)}.shape{color:var(--strong);white-space:pre-wrap;overflow-wrap:anywhere}.shape.finding{color:var(--magenta)}.meta{color:var(--dim);font-size:12px}.effect{color:var(--magenta)}.effect:before{content:"[";color:var(--faint)}.effect:after{content:"]";color:var(--faint)}.why{color:var(--dim);margin-bottom:2px;padding-left:8ch}.why code{font-size:12px}.maybe{color:var(--ask)}.outcome{border-top:1px solid var(--line);margin-top:10px;padding-top:8px;font-weight:700}.outcome.allow{color:var(--allow)}.outcome.ask{color:var(--ask)}.outcome.deny{color:var(--deny)}.outcome .dim{font-weight:400}.error{color:var(--deny);white-space:pre-wrap}.examples{flex-wrap:wrap;align-items:baseline;gap:6px 8px;margin:14px 0 0;font-size:12px;display:flex}.examples button{border:1px solid var(--line);color:var(--fg);cursor:pointer;text-align:left;white-space:pre-wrap;overflow-wrap:anywhere;background:0 0;border-radius:3px;padding:2px 8px}.examples button:hover{border-color:var(--accent);color:var(--strong)}.listing{border:1px solid var(--line);border-radius:6px;overflow:hidden}.entry{text-align:left;border:0;border-top:1px solid var(--line);cursor:pointer;background:0 0;grid-template-columns:9ch minmax(0,1.1fr) minmax(0,1fr);align-items:baseline;gap:2ch;width:100%;padding:7px 14px;display:grid}.entry:first-child{border-top:0}.entry:hover{background:var(--raised)}.entry .badge{font-size:12px}.entry.ask .badge{color:var(--ask)}.entry.deny .badge{color:var(--deny)}.entry .command{overflow-wrap:anywhere;background:0 0;border:0;padding:0}.note{flex-direction:column;min-width:0;font-size:12px;display:flex}.reason{color:var(--dim);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.log{gap:18px;margin:24px 0 0;padding:0;list-style:none;display:grid}.log li{grid-template-columns:6ch 1fr;column-gap:1.5ch;display:grid}.log .step{color:var(--accent)}.log b{color:var(--strong)}.log b:after{content:" ……… ok";color:var(--faint);font-weight:400}.log p{color:var(--dim);grid-column:2;max-width:76ch;margin:2px 0 0}.layers{gap:16px;margin-top:24px;display:grid}.card{border:1px solid var(--line);background:var(--panel);border-radius:6px;grid-template-columns:minmax(0,1fr) minmax(0,1.7fr);gap:8px 24px;padding:16px;display:grid}.card .code{grid-area:1/2/span 2;align-self:center;font-size:12px}.card h3{color:var(--strong);margin:0;font-size:15px}.card p{color:var(--dim);margin:0}pre.code{background:var(--raised);border:1px solid var(--line);font:13px/1.6 var(--font);color:var(--fg);border-radius:6px;margin:0;padding:14px 16px;overflow-x:auto}.js-comment{color:var(--dim);font-style:italic}.js-string{color:var(--ask)}.js-allow{color:var(--allow);font-weight:700}.js-ask{color:var(--ask);font-weight:700}.js-deny{color:var(--deny);font-weight:700}.js-constant,.js-number{color:var(--magenta)}.js-key{color:var(--cyan)}.footer{border-top:1px solid var(--line);color:var(--fg);flex-wrap:wrap;justify-content:space-between;gap:12px;margin-top:96px;padding-top:24px;padding-bottom:40px;font-size:13px;display:flex}.footer-links{gap:2ch;display:flex}.tutorial{grid-template-columns:200px minmax(0,1fr);gap:48px;padding-top:40px;display:grid}.toc{align-self:start;font-size:13px;position:sticky;top:52px}.toc p{color:var(--dim);margin:0 0 8px}.toc ol{margin:0;padding:0;list-style:none}.toc a{color:var(--dim);border-left:1px solid var(--line);padding:1px 0 1px 1ch;text-decoration:none;display:block}.toc a:hover{color:var(--strong)}.toc a[aria-current]{color:var(--accent);border-left-color:var(--accent)}.toc a[aria-current]:before{content:"> "}.lessons{min-width:0}.lessons>header{margin-bottom:64px}.lessons h1{color:var(--strong);margin:0 0 12px;font-size:clamp(24px,4vw,32px)}.lessons h1:before{content:"$ ";color:var(--accent)}.lesson{margin:0 0 88px}.lesson .report{min-height:0}.lesson h2 .num{color:var(--accent);margin-right:1ch}.lesson>p,.lesson>ul{max-width:72ch}.lesson li{margin:4px 0}.lesson .window{margin:20px 0 0}.panes{gap:0;display:grid}.pane+.pane,.panes+.playground{border-top:1px solid var(--line)}.pane-label{color:var(--dim);padding:6px 16px 0;font-size:11px;display:block}.pane .editor{padding:4px 16px 12px;font-size:13px}.lesson .examples{margin:0;padding:0 16px 12px}.tip{border-left:2px solid var(--ask);color:var(--dim);padding:2px 0 2px 14px}.tip:before{content:"note: ";color:var(--ask);font-weight:700}@media (width<=860px){.tutorial{grid-template-columns:minmax(0,1fr);gap:24px}.toc{position:static}.toc ol{flex-wrap:wrap;gap:2px 12px;display:flex}.toc a{border-left:0;padding:0}.entry{grid-template-columns:9ch minmax(0,1fr)}.entry .note{grid-column:2}.card{grid-template-columns:minmax(0,1fr)}.card .code{grid-area:auto/1}}@media (width<=560px){.bar-windows a:not([aria-current]),.bar-clock,.legend{display:none}.row{grid-template-columns:6ch minmax(0,1fr);row-gap:0}.row .meta{grid-column:2}.why{padding-left:2ch}}@media (prefers-reduced-motion:reduce){.logo:after{animation:none}}
