:root{--bg:#F5F7FB;--surface:#FFFFFF;--surface-2:#E8EDFF;--text:#17203D;--muted:#4F5878;--accent:#2B4FD8;--accent-2:#FFC23D;--line:#D9DEEA;--line-strong:#6C7699;--focus:#6B3BDB;--success:#1E7A50;--warning:#9A5B00;--on-accent:#FFFFFF;--kids:#E5483B;--kids-ink:#C2362B;--learn:#2B4FD8;--learn-ink:#2B4FD8;--ai:#7A45E0;--ai-ink:#6A35D0;--web3:#17A07A;--web3-ink:#0F7A5E;--lab:#F2A900;--lab-ink:#8A5A00;--shadow-brick:0 3px 0 0 color-mix(in srgb, var(--text) 14%, transparent);--shadow-float:0 12px 28px -12px color-mix(in srgb, var(--text) 30%, transparent);--font-display:'Bricolage Grotesque', 'Noto Sans TC', 'PingFang TC', 'Microsoft JhengHei', system-ui, sans-serif;--font-body:'Atkinson Hyperlegible', 'Noto Sans TC', 'PingFang TC', 'Microsoft JhengHei', system-ui, -apple-system, 'Segoe UI', Arial, sans-serif;--font-code:'JetBrains Mono', ui-monospace, SFMono-Regular, Menlo, Consolas, 'Noto Sans TC', monospace;--fs-hero:clamp(2.25rem, 1.6rem + 3vw, 3.75rem);--fs-h1:clamp(1.875rem, 1.5rem + 1.6vw, 2.75rem);--fs-h2:1.75rem;--fs-h3:1.375rem;--fs-lg:1.1875rem;--fs-base:1.0625rem;--fs-sm:0.9375rem;--fs-xs:0.8125rem;--lh-hero:1.05;--lh-h1:1.12;--lh-h2:1.2;--lh-h3:1.3;--lh-body:1.65;--lh-lg:1.6;--lh-sm:1.5;--track:normal;--s-1:4px;--s-2:8px;--s-3:12px;--s-4:16px;--s-5:24px;--s-6:32px;--s-7:48px;--s-8:64px;--s-9:96px;--r-stud:3px;--r-brick:8px;--r-plate:16px;--r-round:999px;--dur-snap:120ms;--dur-ui:200ms;--dur-build:360ms;--ease-snap:cubic-bezier(.34, 1.56, .64, 1);--ease-ui:cubic-bezier(.2, .7, .2, 1);--gutter:16px;--max:1200px;--column:720px;--sec:var(--accent);--sec-ink:var(--accent)}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#10162B;--surface:#18203A;--surface-2:#202A4A;--text:#E8ECF7;--muted:#A3ACC6;--accent:#8CA3FF;--accent-2:#FFCF5C;--on-accent:#10162B;--line:#2A3454;--line-strong:#6E7AA6;--focus:#C3A6FF;--success:#4FD1A8;--warning:#FFC94D;--kids:#FF8A7E;--kids-ink:#FF8A7E;--learn:#8CA3FF;--learn-ink:#8CA3FF;--ai:#B79BFF;--ai-ink:#B79BFF;--web3:#4FD1A8;--web3-ink:#4FD1A8;--lab:#FFC94D;--lab-ink:#FFC94D;--shadow-brick:0 3px 0 0 rgba(0, 0, 0, .45);--shadow-float:0 12px 28px -12px rgba(0, 0, 0, .6)}}:root[data-theme=dark]{--bg:#10162B;--surface:#18203A;--surface-2:#202A4A;--text:#E8ECF7;--muted:#A3ACC6;--accent:#8CA3FF;--accent-2:#FFCF5C;--on-accent:#10162B;--line:#2A3454;--line-strong:#6E7AA6;--focus:#C3A6FF;--success:#4FD1A8;--warning:#FFC94D;--kids:#FF8A7E;--kids-ink:#FF8A7E;--learn:#8CA3FF;--learn-ink:#8CA3FF;--ai:#B79BFF;--ai-ink:#B79BFF;--web3:#4FD1A8;--web3-ink:#4FD1A8;--lab:#FFC94D;--lab-ink:#FFC94D;--shadow-brick:0 3px 0 0 rgba(0, 0, 0, .45);--shadow-float:0 12px 28px -12px rgba(0, 0, 0, .6)}.hue-kids{--sec:var(--kids);--sec-ink:var(--kids-ink)}.hue-learn{--sec:var(--learn);--sec-ink:var(--learn-ink)}.hue-ai{--sec:var(--ai);--sec-ink:var(--ai-ink)}.hue-web3{--sec:var(--web3);--sec-ink:var(--web3-ink)}.hue-lab{--sec:var(--lab);--sec-ink:var(--lab-ink)}:lang(zh){--font-display:'Noto Sans TC', 'PingFang TC', 'Microsoft JhengHei', 'Bricolage Grotesque', sans-serif;--font-body:'Noto Sans TC', 'PingFang TC', 'Microsoft JhengHei', 'Atkinson Hyperlegible', sans-serif;--lh-hero:1.3;--lh-h1:1.4;--lh-h2:1.45;--lh-h3:1.5;--lh-body:1.85;--lh-lg:1.85;--lh-sm:1.7;--track:.02em}*,*::before,*::after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:80px}body{margin:0;background:var(--bg);color:var(--text);font:var(--fs-base)/var(--lh-body)var(--font-body);letter-spacing:var(--track);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}h1,h2,h3,h4{font-family:var(--font-display);font-weight:800;color:var(--text);margin:0;letter-spacing:-.01em}:lang(zh) h1,:lang(zh) h2,:lang(zh) h3,:lang(zh) h4{letter-spacing:.01em;font-weight:900}h1,h2,h3,.bs-h,.shelfbrick-h,.logrow-h,.featurebrick-h{word-break:normal;line-break:strict;overflow-wrap:anywhere}p{margin:0}a{color:var(--accent);text-underline-offset:.18em;text-decoration-thickness:1px}a:hover{text-decoration-thickness:2px}img,svg{max-width:100%}img{height:auto}mark{background:var(--accent-2);color:#17203d;border-radius:2px;padding:0 .1em}code,kbd,pre{font-family:var(--font-code)}:focus-visible{outline:3px solid var(--focus);outline-offset:3px;border-radius:inherit}.hue-kids :focus-visible,.hue-learn :focus-visible,.hue-ai :focus-visible,.hue-web3 :focus-visible,.hue-lab :focus-visible{box-shadow:0 0 0 2px var(--surface)}.vh-stud{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.defs-only{position:absolute;width:0;height:0;overflow:hidden}.skip-stud{position:absolute;left:var(--s-4);top:-60px;z-index:50;padding:var(--s-2)var(--s-4);background:var(--accent);color:var(--on-accent);border-radius:var(--r-brick);font-weight:700;text-decoration:none}.skip-stud:focus{top:var(--s-2)}.build-area{outline:none;display:block;min-height:50vh}.benchwidth{max-width:var(--max);margin:0 auto;padding:0 var(--gutter)}@media(min-width:1024px){:root{--gutter:24px}}.push-primary,.push-second{display:inline-flex;align-items:center;justify-content:center;gap:var(--s-2);min-height:44px;padding:0 var(--s-5);border-radius:var(--r-brick);font:700 var(--fs-sm)/1.2 var(--font-body);text-decoration:none;cursor:pointer;box-shadow:var(--shadow-brick);transition:transform var(--dur-snap)var(--ease-ui),box-shadow var(--dur-snap)var(--ease-ui),border-color var(--dur-ui)var(--ease-ui)}.push-primary{background:var(--accent);color:var(--on-accent);border:0}.push-second{background:var(--surface);color:var(--text);border:1.5px solid var(--line-strong)}.push-primary:active,.push-second:active{transform:translateY(2px);box-shadow:0 1px color-mix(in srgb,var(--text) 14%,transparent)}.push-second:hover{border-color:var(--accent)}.push-done{background:var(--success);color:#fff}.push-quiet{background:0 0;border:0;padding:0;color:var(--accent);font:700 var(--fs-sm)/1.4 var(--font-body);text-decoration:none;cursor:pointer;min-height:44px;display:inline-flex;align-items:center}.push-quiet:hover{text-decoration:underline}.topplate{position:sticky;top:0;z-index:30;background:var(--surface);border-bottom:1px solid var(--line);transition:transform var(--dur-ui)var(--ease-ui)}.topplate-away{transform:translateY(-100%)}.topplate-in{max-width:var(--max);margin:0 auto;padding:0 var(--gutter);height:56px;display:flex;align-items:center;gap:var(--s-4)}@media(min-width:768px){.topplate-in{height:64px}}.markline{display:inline-flex;align-items:center;gap:var(--s-2);text-decoration:none;color:var(--text);padding:var(--s-2)0;margin-right:auto}.markbrick{width:34px;height:37px;flex:none}.markbrick-stud,.markbrick-body{fill:var(--accent)}.markbrick-angle{fill:none;stroke:var(--surface);stroke-width:3.2;stroke-linecap:round;stroke-linejoin:round}.markbrick-cursor{fill:var(--accent-2)}.markword{font:800 1.45rem/1 var(--font-display);letter-spacing:-.01em}.markline-mono .markbrick-stud,.markline-mono .markbrick-body{fill:currentColor}.markline-mono .markbrick-cursor{display:none}.markline-mono .markbrick-angle{stroke:var(--surface)}.bins{display:none;align-self:stretch}.bins-list{list-style:none;margin:0;padding:0;display:flex;height:100%;gap:var(--s-1)}.bin{display:flex}.bin-link{position:relative;display:flex;align-items:center;gap:var(--s-2);padding:0 var(--s-3);color:var(--text);text-decoration:none;font-weight:700;font-size:var(--fs-sm);white-space:nowrap}.bin-link::after{content:"";position:absolute;left:var(--s-3);right:var(--s-3);bottom:-1px;height:0;background:var(--line-strong);transition:height var(--dur-ui)var(--ease-ui)}.bin-link:hover::after{height:2px}.bin-link.bin-on::after{height:4px;background:var(--sec)}.bin-swatch{width:10px;height:10px;border-radius:2px;background:var(--sec);flex:none;display:none}@media(min-width:1024px){.bins{display:flex}.bin-swatch{display:inline-block}}.searchkey{width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;color:var(--text);border-radius:var(--r-brick)}.searchkey:hover{background:var(--surface-2)}.sheet{position:relative}.sheet-pull{list-style:none;cursor:pointer;min-height:44px;display:inline-flex;align-items:center;padding:0 var(--s-4);border:1.5px solid var(--line-strong);border-radius:var(--r-brick);font-weight:700;font-size:var(--fs-sm);background:var(--surface);box-shadow:var(--shadow-brick)}.sheet-pull::-webkit-details-marker{display:none}.sheet[open] .sheet-pull{background:var(--surface-2)}.sheet-body{position:fixed;left:0;right:0;bottom:0;z-index:40;max-height:80vh;overflow:auto;background:var(--surface);border-radius:var(--r-plate)var(--r-plate)0 0;box-shadow:var(--shadow-float);padding:var(--s-5)var(--gutter)var(--s-6);border-top:1px solid var(--line)}.sheet-label{font-size:var(--fs-xs);color:var(--muted);font-weight:700;margin-bottom:var(--s-2)}.sheet-list,.sheet-more{list-style:none;margin:0;padding:0;display:grid;gap:var(--s-2)}.sheet-more{margin-top:var(--s-4);grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}.sheet-more a{display:flex;min-height:44px;align-items:center;font-weight:700}.sheet-brick{display:flex;align-items:center;gap:var(--s-3);min-height:48px;padding:0 var(--s-4);border:1px solid var(--line);border-left:4px solid var(--sec);border-radius:var(--r-brick);color:var(--text);text-decoration:none;font-weight:700;background:var(--surface)}.sheet-brick .bin-swatch{display:inline-block}.sheet-count{margin-left:auto;color:var(--muted);font-weight:400;font-size:var(--fs-sm)}@media(min-width:1024px){.sheet{display:none}}.baseplate{position:relative;isolation:isolate}.baseplate::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:var(--line);-webkit-mask:url(/brickyard/baseplate-tile.svg)0 0/96px 96px repeat;mask:url(/brickyard/baseplate-tile.svg)0 0/96px 96px repeat;opacity:.5}.labhero{background:var(--bg);padding:var(--s-7)0;border-bottom:1px solid var(--line)}.labhero-in{max-width:var(--max);margin:0 auto;padding:0 var(--gutter);display:grid;gap:var(--s-5)}.labhero-h{font-size:var(--fs-hero);line-height:var(--lh-hero);max-width:14ch}.labhero-lead{margin-top:var(--s-4);font-size:var(--fs-lg);line-height:var(--lh-lg);color:var(--muted);max-width:34ch}.promptkit{display:grid;gap:var(--s-4);min-width:0;grid-template-areas:"langs" "socket" "trays" "answer" "tools"}.kit-langs{grid-area:langs;border:0;margin:0;padding:0;display:flex;gap:var(--s-2);justify-content:flex-end;align-items:center;align-self:end}.kit-langs legend+.kit-lang{margin-left:auto}.socketpanel{grid-area:socket}.kit-trays{grid-area:trays;display:grid;gap:var(--s-4);min-width:0}.answerpanel{grid-area:answer}.kit-tools{grid-area:tools;display:flex;gap:var(--s-4);align-items:center;flex-wrap:wrap}@media(min-width:1024px){.labhero{padding:var(--s-8)0 var(--s-9)}.labhero-in{grid-template-columns:5fr 7fr;grid-template-rows:auto auto auto 1fr;column-gap:var(--s-7);row-gap:var(--s-4)}.labhero-copy{grid-column:1;grid-row:1/span 2;align-self:center}.promptkit{grid-column:1/-1;grid-row:1/span 4;display:grid;grid-template-columns:subgrid;grid-template-rows:subgrid;grid-template-areas:none;row-gap:var(--s-4)}.kit-langs{grid-column:2;grid-row:1}.socketpanel{grid-column:2;grid-row:2}.kit-trays{grid-column:1;grid-row:3;align-self:start}.answerpanel{grid-column:2;grid-row:3/span 2;align-self:start}.kit-tools{grid-column:1;grid-row:4;align-self:start}}.kit-lang{position:relative;display:inline-flex}.kit-lang span{display:inline-flex;align-items:center;min-height:36px;padding:0 var(--s-3);border:1.5px solid var(--line-strong);border-radius:var(--r-brick);font-size:var(--fs-sm);font-weight:700;background:var(--surface);cursor:pointer}.kit-lang:has(.kit-radio:checked) span{background:var(--text);color:var(--bg);border-color:var(--text)}.kit-radio{position:absolute;opacity:0;width:1px;height:1px;margin:0}.kit-lang:has(.kit-radio:focus-visible) span,.tray-brick:has(.kit-radio:focus-visible) .tray-face,.searchpick:has(.kit-radio:focus-visible){outline:3px solid var(--focus);outline-offset:3px}.socketpanel,.answerpanel{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-plate);padding:var(--s-5)}.socketpanel-label,.answerpanel-label{font-size:var(--fs-xs);font-weight:700;color:var(--muted);margin-bottom:var(--s-2)}.socketline{display:flex;gap:var(--s-2);align-items:stretch;font:var(--fs-sm)/1.9 var(--font-code)}@media(min-width:768px){.socketline{font-size:var(--fs-base)}}.socketline-text{flex:1;min-width:0;padding:var(--s-1)0}.curly{font:800 clamp(1.8rem,1.2rem + 2vw,2.6rem)/1 var(--font-display);color:var(--accent);opacity:.55;display:flex;align-items:center}.curly-close{align-items:flex-end}.socket{display:inline}.socket .seg{display:inline;padding:1px 6px;border-radius:var(--r-stud);box-decoration-break:clone;-webkit-box-decoration-break:clone;animation:snapin var(--dur-build)var(--ease-snap)}.socket-who .seg{background:color-mix(in srgb,var(--kids) 18%,transparent)}.socket-want .seg{background:color-mix(in srgb,var(--learn) 18%,transparent)}.socket-about .seg{background:color-mix(in srgb,var(--ai) 18%,transparent)}.socket-format .seg{background:var(--accent-2);color:#17203d}@keyframes snapin{0%{opacity:.15}60%{opacity:1;background-color:var(--accent-2)}100%{opacity:1}}.kit-actions{margin-top:var(--s-4);display:flex;justify-content:flex-end}.tray{border:0;margin:0;padding:0;min-width:0}.tray-label{font-weight:700;font-size:var(--fs-sm);margin-bottom:var(--s-2);padding:0}.tray-bricks{display:flex;gap:var(--s-3);overflow-x:auto;scroll-snap-type:x proximity;padding:10px 2px 8px;margin:0 calc(-1 * var(--gutter));padding-inline:var(--gutter);scroll-padding-inline:var(--gutter);scrollbar-width:thin}@media(min-width:768px){.tray-bricks{flex-wrap:wrap;overflow:visible;margin:0;padding-inline:2px}}.tray-brick{position:relative;flex:none;scroll-snap-align:start;cursor:pointer}.tray-face{position:relative;display:inline-flex;align-items:center;min-height:44px;padding:0 var(--s-4);border-radius:var(--r-brick);font-weight:700;font-size:var(--fs-sm);color:var(--text);box-shadow:var(--shadow-brick);border:2px solid transparent;white-space:nowrap;transition:transform var(--dur-snap)var(--ease-ui),box-shadow var(--dur-snap)var(--ease-ui)}.tray-face::before,.tray-face::after{content:"";position:absolute;top:-6px;width:12px;height:6px;border-radius:2px 2px 0 0;background:inherit}.tray-face::before{left:14px}.tray-face::after{right:14px}.tray-who .tray-face{background:color-mix(in srgb,var(--kids) 18%,var(--surface))}.tray-want .tray-face{background:color-mix(in srgb,var(--learn) 18%,var(--surface))}.tray-about .tray-face{background:color-mix(in srgb,var(--ai) 18%,var(--surface))}.tray-format .tray-face{background:color-mix(in srgb,var(--accent-2) 40%,var(--surface))}.tray-brick:active .tray-face{transform:translateY(2px);box-shadow:0 1px color-mix(in srgb,var(--text) 14%,transparent)}.tray-who .tray-brick:has(:checked) .tray-face{background:var(--kids);color:#fff}.tray-want .tray-brick:has(:checked) .tray-face{background:var(--learn);color:var(--on-accent)}.tray-about .tray-brick:has(:checked) .tray-face{background:var(--ai);color:#fff}.tray-format .tray-brick:has(:checked) .tray-face{background:var(--accent-2);color:#17203d}.tray-brick:has(:checked) .tray-face{border-color:var(--text)}.tray-brick:has(:checked) .tray-face{padding-left:calc(var(--s-4) + 14px)}.tray-brick:has(:checked) .tray-face>span::before{content:"";position:absolute;left:10px;top:50%;width:9px;height:5px;margin-top:-4px;border-left:2.5px solid;border-bottom:2.5px solid;transform:rotate(-45deg)}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .tray-who .tray-brick:has(:checked) .tray-face,:root:not([data-theme=light]) .tray-about .tray-brick:has(:checked) .tray-face{color:#10162b}}:root[data-theme=dark] .tray-who .tray-brick:has(:checked) .tray-face,:root[data-theme=dark] .tray-about .tray-brick:has(:checked) .tray-face{color:#10162b}.answerpanel{background:var(--surface-2);border-color:transparent}.answerpanel-out{display:block;font-size:var(--fs-base);line-height:var(--lh-body)}.answerpanel-intro,.answerpanel-outro{display:block}.answerpanel-intro{font-weight:700;margin-bottom:var(--s-2)}.answerpanel-outro{margin-top:var(--s-3);color:var(--muted);font-size:var(--fs-sm)}.answerset{display:block}.answerset-text{display:block}.answerset-deeper{display:block;margin-top:var(--s-4);font-weight:700}.answerset-deeper a{font-weight:700}@media(max-width:767px){.answerset-text{display:-webkit-box;-webkit-line-clamp:6;-webkit-box-orient:vertical;overflow:hidden}}.promptkit .seg,.promptkit .answerset{display:none}.promptkit .seg-dflt{display:inline}.promptkit .answerset.seg-dflt{display:block}.promptkit [data-l=zh]{display:none}@supports selector(:has(*)){.promptkit .seg.seg-dflt,.promptkit .answerset.seg-dflt{display:none}.promptkit:has(#kw-parent:checked) [data-v=who-parent],.promptkit:has(#kw-switcher:checked) [data-v=who-switcher],.promptkit:has(#kw-lead:checked) [data-v=who-lead],.promptkit:has(#kn-explain:checked) [data-v=want-explain],.promptkit:has(#kn-plan:checked) [data-v=want-plan],.promptkit:has(#kn-compare:checked) [data-v=want-compare],.promptkit:has(#ka-python:checked) [data-v=about-python],.promptkit:has(#ka-chatbots:checked) [data-v=about-chatbots],.promptkit:has(#ka-blockchain:checked) [data-v=about-blockchain],.promptkit:has(#kf-like10:checked) [data-v=format-like10],.promptkit:has(#kf-bullets:checked) [data-v=format-bullets],.promptkit:has(#kf-table:checked) [data-v=format-table]{display:inline}.answerpanel-intro .seg,.answerpanel-outro .seg{display:none}.promptkit:has(#kn-explain:checked) .answerpanel-intro [data-v=want-explain],.promptkit:has(#kn-plan:checked) .answerpanel-intro [data-v=want-plan],.promptkit:has(#kn-compare:checked) .answerpanel-intro [data-v=want-compare],.promptkit:has(#kf-like10:checked) .answerpanel-outro [data-v=format-like10],.promptkit:has(#kf-bullets:checked) .answerpanel-outro [data-v=format-bullets],.promptkit:has(#kf-table:checked) .answerpanel-outro [data-v=format-table]{display:block}.promptkit:has(#kw-parent:checked):has(#ka-python:checked) [data-v=ans-parent-python],.promptkit:has(#kw-parent:checked):has(#ka-chatbots:checked) [data-v=ans-parent-chatbots],.promptkit:has(#kw-parent:checked):has(#ka-blockchain:checked) [data-v=ans-parent-blockchain],.promptkit:has(#kw-switcher:checked):has(#ka-python:checked) [data-v=ans-switcher-python],.promptkit:has(#kw-switcher:checked):has(#ka-chatbots:checked) [data-v=ans-switcher-chatbots],.promptkit:has(#kw-switcher:checked):has(#ka-blockchain:checked) [data-v=ans-switcher-blockchain],.promptkit:has(#kw-lead:checked):has(#ka-python:checked) [data-v=ans-lead-python],.promptkit:has(#kw-lead:checked):has(#ka-chatbots:checked) [data-v=ans-lead-chatbots],.promptkit:has(#kw-lead:checked):has(#ka-blockchain:checked) [data-v=ans-lead-blockchain]{display:block}.promptkit:has(#kl-zh:checked) [data-l=en]{display:none}.promptkit:has(#kl-zh:checked) [data-l=zh]{display:inline}.promptkit:has(#kl-zh:checked) .answerset-text [data-l=zh]{display:inline}}.kit-langs [data-l],.kit-lang span{display:inline-flex}.benchband{padding:var(--s-7)0 0}.benchband:last-child{padding-bottom:var(--s-7)}@media(min-width:1024px){.benchband{padding-top:var(--s-9)}.benchband:last-child{padding-bottom:var(--s-9)}}.benchband-h{font-size:var(--fs-h2);line-height:var(--lh-h2);margin-bottom:var(--s-5)}.doorrun{display:grid;gap:var(--s-4)}@media(min-width:768px){.doorrun{grid-template-columns:repeat(3,1fr);gap:var(--s-5)}}.doorbrick{position:relative;display:grid;grid-template-columns:1fr auto;grid-template-rows:auto 1fr;gap:var(--s-2)var(--s-4);padding:var(--s-5);min-height:150px;background:var(--surface);border:1px solid var(--line);border-top:4px solid var(--sec);border-radius:var(--r-brick);color:var(--text);text-decoration:none}.doorbrick:hover{border-color:var(--sec);border-top-color:var(--sec)}.doorbrick-h{font:800 var(--fs-h3)/var(--lh-h3)var(--font-display);grid-column:1}.doorbrick-count{grid-column:1;align-self:end;color:var(--muted);font-size:var(--fs-sm)}.doorbrick-stack{grid-column:2;grid-row:1/span 2;align-self:end;fill:var(--sec);width:40px;height:auto}.shelf{padding:var(--s-5)0;border-top:1px solid var(--line)}.shelf:first-of-type{border-top:0;padding-top:0}.shelf-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--s-4);margin-bottom:var(--s-4)}.shelf-head .benchband-h{margin-bottom:0}.shelf-h{font-size:var(--fs-h3);line-height:var(--lh-h3)}.shelf-h a{color:var(--text);text-decoration:none}.shelf-h a:hover{text-decoration:underline}.shelf-run{display:grid;gap:var(--s-4)}@media(min-width:640px){.shelf-run{grid-template-columns:repeat(2,1fr)}}@media(min-width:1024px){.shelf-run{grid-template-columns:repeat(3,1fr);gap:var(--s-5)}}@media(max-width:639px){.shelf .shelfbrick+.shelfbrick .shelfbrick-cover,.shelf .shelfbrick+.shelfbrick .shelfbrick-dek,.shelf .shelfbrick+.shelfbrick .shelfbrick-time{display:none}.shelf .shelfbrick+.shelfbrick{padding-top:var(--s-3)}}.shelfbrick{display:flex;flex-direction:column;gap:var(--s-2);background:var(--surface);border:1px solid var(--line);border-radius:var(--r-brick);padding:0 0 var(--s-4);overflow:hidden;transition:border-color var(--dur-ui)var(--ease-ui)}.shelfbrick:hover{border-color:var(--sec)}.shelfbrick-link{display:flex;flex-direction:column;gap:var(--s-3);color:var(--text);text-decoration:none}.shelfbrick-cover{display:block;aspect-ratio:3/2;overflow:hidden;background:var(--surface-2)}.shelfbrick-cover svg,.shelfbrick-cover img{display:block;width:100%;height:100%;object-fit:cover}.shelfbrick-cover .bc-a,.shelfbrick-cover .bc-b,.shelfbrick-cover .bc-c{transition:transform var(--dur-ui)var(--ease-ui)}.shelfbrick:hover .shelfbrick-cover g{transform:translateY(-6px)}.shelfbrick-h{padding:0 var(--s-4);font:700 var(--fs-lg)/var(--lh-h3)var(--font-display);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.shelfbrick-link:hover .shelfbrick-h{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:.15em}.shelfbrick-dek{padding:0 var(--s-4);color:var(--muted);font-size:var(--fs-sm);line-height:var(--lh-sm);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.shelfbrick-time{padding:0 var(--s-4);margin-top:auto;color:var(--muted);font-size:var(--fs-xs);display:flex;align-items:center;gap:6px}.timestack{fill:var(--sec);flex:none}.timestack-ghost{opacity:.3}.bc-plate{fill:var(--surface-2)}.bc-studring{stroke:var(--line)}.bc-a{fill:var(--sec)}.bc-b{fill:color-mix(in srgb,var(--sec) 45%,var(--surface-2))}.bc-c{fill:color-mix(in srgb,var(--line-strong) 30%,var(--surface-2))}.bc-glyph{font:800 220px/1 var(--font-display);fill:var(--sec);opacity:.3}.tablebin{overflow-x:auto;border:1px solid var(--line);border-radius:var(--r-brick);background:var(--surface);background-image:linear-gradient(to right,var(--surface) 30%,transparent),linear-gradient(to left,var(--surface) 30%,transparent),linear-gradient(to right,color-mix(in srgb,var(--text) 12%,transparent),transparent),linear-gradient(to left,color-mix(in srgb,var(--text) 12%,transparent),transparent);background-position:0,100%,0,100%;background-repeat:no-repeat;background-size:40px 100%,40px 100%,14px 100%,14px 100%;background-attachment:local,local,scroll,scroll}.tablebin table{border-collapse:collapse;width:100%;font-size:var(--fs-sm);min-width:520px}.tablebin th,.tablebin td{text-align:start;padding:var(--s-3)var(--s-4);border-bottom:1px solid var(--line);vertical-align:top}.tablebin thead th{background:var(--surface-2);font-weight:700}.tablebin tbody tr:last-child>*{border-bottom:0}.tablebin caption{caption-side:top;text-align:start;font-size:var(--fs-sm);color:var(--muted);padding:var(--s-2)var(--s-4)}.tablebin td:where(:only-child){font-variant-numeric:tabular-nums}@media(max-width:767px){.tablebin tbody th,.tablebin thead th:first-child{position:sticky;left:0;background:var(--surface);z-index:1}.tablebin thead th:first-child{background:var(--surface-2)}}.pickgrid-soon{color:var(--muted)}.wordbin,.tagtray{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:var(--s-3)}.tagbrick{position:relative;display:inline-flex;align-items:center;gap:6px;min-height:32px;padding:2px var(--s-3);border:1px solid var(--line-strong);border-radius:var(--r-stud);background:var(--surface);color:var(--text);font:700 var(--fs-xs)/1.3 var(--font-body);text-decoration:none;margin-top:3px}.tagbrick::before,.tagbrick::after{content:"";position:absolute;top:-3px;width:4px;height:2px;background:var(--line-strong);border-radius:1px 1px 0 0}.tagbrick::before{left:8px}.tagbrick::after{right:8px}.tagbrick:hover{border-color:var(--accent)}.tagbrick:hover::before,.tagbrick:hover::after{background:var(--accent)}.tagbrick-on{background:var(--text);color:var(--bg);border-color:var(--text)}.tagbrick-n{color:var(--muted);font-weight:400}.wordbrick{font-size:var(--fs-sm);min-height:40px;padding:4px var(--s-4);box-shadow:var(--shadow-brick)}.wordbrick:active{transform:translateY(2px);box-shadow:none}.audpill{display:inline-flex;align-items:center;min-height:28px;padding:2px var(--s-3);border-radius:var(--r-stud);background:color-mix(in srgb,var(--sec) 16%,var(--surface));color:var(--text);font:700 var(--fs-xs)/1.3 var(--font-body);text-decoration:none}a.audpill:hover{text-decoration:underline}.loglist{list-style:none;margin:0;padding:0}.logrow{display:grid;grid-template-columns:20px 1fr auto;gap:var(--s-1)var(--s-3);align-items:start;padding:var(--s-3)0;border-bottom:1px solid var(--line)}.logrow:first-child{border-top:1px solid var(--line)}.tinybricks{fill:var(--sec);margin-top:3px}.tinybricks-soft{opacity:.45}.logrow-h{color:var(--text);text-decoration:none;font-weight:700;line-height:var(--lh-sm)}.logrow-h:hover{text-decoration:underline;color:var(--accent)}.logrow-when{color:var(--muted);font-size:var(--fs-sm);white-space:nowrap;font-variant-numeric:tabular-nums}.logrow-dek{grid-column:2/-1;color:var(--muted);font-size:var(--fs-sm)}.crumbs{font-size:var(--fs-sm);color:var(--muted);padding:var(--s-5)0 var(--s-4)}.crumbs-list{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:var(--s-1)0}.crumbs-list li{display:inline-flex;min-width:0}.crumbs-list li+li::before{content:"/";color:var(--line-strong);padding:0 var(--s-2)}.crumbs a{color:var(--muted)}.crumbs a:hover{color:var(--accent)}.crumb-here{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:40ch}@media(max-width:767px){.crumb-here{max-width:22ch}}.secchip{display:inline-flex;align-items:center;min-height:28px;padding:2px var(--s-3);border-radius:var(--r-stud);border:1px solid var(--line-strong);color:var(--text);font:700 var(--fs-xs)/1.3 var(--font-body);text-decoration:none;background:var(--surface)}.secchip:hover{border-color:var(--accent)}.pagestep{display:flex;align-items:center;justify-content:space-between;gap:var(--s-4);padding:var(--s-6)0}.pagestep-of{color:var(--muted);font-size:var(--fs-sm)}.pagestep-gap{min-width:1px}.binhead{padding-bottom:var(--s-6)}.binhead-row{display:flex;align-items:center;gap:var(--s-3)}.binhead-icon{fill:var(--sec);flex:none}.binhead-h{font-size:var(--fs-h1);line-height:var(--lh-h1)}.binhead-page{color:var(--muted);font-weight:700}.binhead-kicker{display:inline-block;font:700 var(--fs-sm)/1 var(--font-body);color:var(--muted);vertical-align:middle;margin-right:var(--s-2)}.binhead-dek{margin-top:var(--s-3);color:var(--muted);font-size:var(--fs-lg);line-height:var(--lh-lg);max-width:62ch}.filtertray{display:flex;gap:var(--s-2);align-items:center;margin-top:var(--s-5);padding:4px 2px var(--s-2);overflow-x:auto;scroll-snap-type:x proximity;scrollbar-width:thin}.filtertray>*{flex:none;scroll-snap-align:start}@media(min-width:768px){.filtertray{flex-wrap:wrap;overflow:visible}}.filtertray-label{font-size:var(--fs-sm);font-weight:700;color:var(--muted)}.bin-lead{display:grid;gap:var(--s-5);margin-bottom:var(--s-6)}.bin-side{display:grid;gap:var(--s-4)}@media(min-width:1024px){.bin-lead{grid-template-columns:7fr 5fr}}@media(max-width:767px){.bin-side .shelfbrick-cover,.bin-side .shelfbrick-dek{display:none}.bin-side .shelfbrick{padding-top:var(--s-4)}}.featurebrick{display:grid;background:var(--surface);border:1px solid var(--line);border-left:4px solid var(--sec);border-radius:var(--r-brick);overflow:hidden}.featurebrick-cover{display:block;aspect-ratio:16/9;background:var(--surface-2)}.featurebrick-cover svg,.featurebrick-cover img{display:block;width:100%;height:100%;object-fit:cover}.featurebrick-body{padding:var(--s-5);display:grid;gap:var(--s-3);align-content:start}.featurebrick-h{font-size:var(--fs-h2);line-height:var(--lh-h2)}.featurebrick-h a{color:var(--text);text-decoration:none}.featurebrick-h a:hover{text-decoration:underline}.featurebrick-dek{color:var(--muted)}.featurebrick-when{color:var(--muted);font-size:var(--fs-sm);display:flex;align-items:center;gap:6px}.bs-cover{aspect-ratio:21/9;border-radius:var(--r-plate);overflow:hidden;background:var(--surface-2)}.bs-cover svg,.bs-cover img{display:block;width:100%;height:100%;object-fit:cover}.bs-frame{max-width:var(--max);margin:0 auto;padding:0 var(--gutter)}.bs-head{max-width:var(--column);padding:var(--s-5)0;display:grid;gap:var(--s-3)}.bs-chips{display:flex;flex-wrap:wrap;gap:var(--s-2)}.bs-h{font-size:var(--fs-h1);line-height:var(--lh-h1)}.bs-dek{font-size:var(--fs-lg);line-height:var(--lh-lg);color:var(--muted)}.bs-when{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s-2);color:var(--muted);font-size:var(--fs-sm)}.bs-time{display:inline-flex;align-items:center;gap:6px}.bs-cols{display:grid;gap:var(--s-6);padding-bottom:var(--s-7)}.bs-main{min-width:0;max-width:var(--column)}.bs-aside{display:none}@media(min-width:1024px){.bs-cols{grid-template-columns:minmax(0,var(--column))1fr;column-gap:var(--s-8)}.bs-aside{display:block}.toc-drawer{display:none}}.toc-drawer{border:1px solid var(--line-strong);border-radius:var(--r-brick);background:var(--surface);margin-top:var(--s-2)}.toc-drawer-pull{cursor:pointer;min-height:44px;display:flex;align-items:center;padding:0 var(--s-4);font-weight:700;font-size:var(--fs-sm);list-style:none}.toc-drawer-pull::-webkit-details-marker{display:none}.toc-drawer-pull::after{content:"+";margin-left:auto;font:800 1.2rem/1 var(--font-display);color:var(--accent)}.toc-drawer[open] .toc-drawer-pull::after{content:"–"}.toc-drawer .studmap{padding:0 var(--s-4)var(--s-4)}.studmap ul{list-style:none;margin:0;padding:0;display:grid;gap:var(--s-2)}.studmap-side{position:sticky;top:88px;max-height:calc(100vh - 110px);overflow:auto;padding:var(--s-2)0}.studmap-h{font-weight:700;font-size:var(--fs-sm);margin-bottom:var(--s-3)}.toc-link{display:grid;grid-template-columns:12px 1fr;gap:var(--s-2);align-items:start;color:var(--text);text-decoration:none;font-size:var(--fs-sm);line-height:var(--lh-sm)}.toc-link:hover{color:var(--accent)}.toc-stud{width:12px;height:12px;margin-top:.35em;color:var(--sec)}.toc-fill{fill:currentColor;opacity:0;transition:opacity var(--dur-ui)var(--ease-ui)}.toc-lit .toc-fill{opacity:1}.staleline{border:1px solid var(--warning);border-left-width:4px;border-radius:var(--r-brick);padding:var(--s-3)var(--s-4);color:var(--warning);font-weight:700;font-size:var(--fs-sm);margin-bottom:var(--s-5);background:var(--surface)}.bs-body{font-size:var(--fs-base);line-height:var(--lh-body);max-width:68ch}:lang(zh) .bs-body,.bs-body:lang(zh){max-width:38em;text-align:start}@media(min-width:1024px){.bs-body{font-size:var(--fs-lg)}}.bs-body>*+*{margin-top:1em}.bs-body h2{font-size:var(--fs-h2);line-height:var(--lh-h2);margin-top:1.8em;scroll-margin-top:80px}.bs-body h3{font-size:var(--fs-h3);line-height:var(--lh-h3);margin-top:1.5em}.bs-body h4{font-size:var(--fs-lg);margin-top:1.3em}.bs-body ul,.bs-body ol{padding-left:1.6em}.bs-body li+li{margin-top:.4em}.bs-body ul{list-style:none}.bs-body ul>li{position:relative}.bs-body ul>li::before{content:"";position:absolute;left:-1.25em;top:calc(.5lh - 2px);width:8px;height:6px;background:var(--sec);border-radius:1px;box-shadow:1px -2px 0 -1px var(--sec),5px -2px 0 -1px var(--sec)}.bs-body ol>li::marker{font:800 1em var(--font-display);color:var(--accent)}.bs-body blockquote{margin:1.4em 0;padding:var(--s-4)var(--s-5);border-left:4px solid var(--line-strong);background:var(--surface);border-radius:0 var(--r-brick)var(--r-brick)0;color:var(--text)}.bs-body hr{border:0;height:6px;background:radial-gradient(circle,var(--line-strong) 2px,transparent 2.5px)0 0/16px 6px repeat-x;margin:2em 0}.bs-body :not(pre)>code{background:var(--surface-2);border-radius:var(--r-stud);padding:.1em .35em;font-size:.92em}.bs-body .tablebin{margin:1.4em 0}.bs-body strong{font-weight:700}.bs-body a{overflow-wrap:anywhere}.leadterms{margin:1em 0;padding:0}.leadterms>div+div{margin-top:.9em}.leadterms dt{display:inline;font-weight:700}.leadterms dt::after{content:"："}.leadterms:not(:lang(zh)) dt::after{content:": "}.leadterms dd{display:inline;margin:0}.leadterms:has(>div:nth-child(3)),.leadterms-forced{border-top:1px solid var(--line)}.leadterms:has(>div:nth-child(3))>div,.leadterms-forced>div{padding:var(--s-3)0;border-bottom:1px solid var(--line);margin:0}@media(min-width:1024px){.leadterms:has(>div:nth-child(3))>div,.leadterms-forced>div{display:grid;grid-template-columns:11rem 1fr;gap:var(--s-5)}.leadterms:has(>div:nth-child(3)) dt,.leadterms-forced dt{display:block;font:800 1em/var(--lh-h3)var(--font-display)}.leadterms:has(>div:nth-child(3)) dt::after,.leadterms-forced dt::after{content:none}.leadterms:has(>div:nth-child(3)) dd,.leadterms-forced dd{display:block}}.fig-brick{margin:1.5em 0}.fig-brick img{display:block;width:100%;border:1px solid var(--line);border-radius:var(--r-brick)}.fig-cap{margin-top:var(--s-2);font-size:var(--fs-sm);color:var(--muted);display:flex;gap:var(--s-2);align-items:baseline}.fig-cap::before{content:"";width:6px;height:6px;background:var(--sec);border-radius:1px;flex:none}.codebrick{position:relative;margin:1.4em 0;border:1px solid var(--line);border-radius:var(--r-brick);background:var(--surface);padding-left:28px}.codebrick::before,.codebrick::after{position:absolute;left:8px;font:800 1.3rem/1 var(--font-display);color:var(--line-strong)}.codebrick::before{content:"{";top:40px}.codebrick::after{content:"}";bottom:10px}.codebrick-bar{height:32px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding:0 var(--s-2)0 0;margin-left:-28px;padding-left:var(--s-4)}.codebrick-lang{font:700 var(--fs-xs)/1 var(--font-body);color:var(--muted)}.codebrick-copy{min-height:28px;padding:0 var(--s-3);border:1px solid var(--line-strong);border-radius:var(--r-stud);background:var(--surface);color:var(--text);font:700 var(--fs-xs)/1 var(--font-body);cursor:pointer}.codebrick pre{margin:0;padding:var(--s-4);overflow-x:auto;font-size:.9rem;line-height:1.6;background:0 0!important}.codebrick .highlight{margin:0}.chroma .k,.chroma .kd,.chroma .kn,.chroma .kc,.chroma .kr,.chroma .kt{color:var(--ai-ink);font-weight:600}.chroma .s,.chroma .s1,.chroma .s2,.chroma .sb,.chroma .sd,.chroma .se{color:var(--web3-ink)}.chroma .m,.chroma .mi,.chroma .mf,.chroma .mh{color:var(--kids-ink)}.chroma .c,.chroma .c1,.chroma .cm,.chroma .cs{color:var(--muted);font-style:italic}.chroma .nf,.chroma .nb{color:var(--accent)}.commentnote{position:relative;margin:1.6em 0;padding:var(--s-6)var(--s-5);background:var(--surface-2);border-radius:var(--r-plate)}.commentnote-open,.commentnote-close{position:absolute;font:800 2rem/1 var(--font-display);color:var(--accent);opacity:.4}.commentnote-open{top:var(--s-2);left:var(--s-4)}.commentnote-close{bottom:var(--s-2);right:var(--s-4)}.commentnote-label{font-weight:700;margin-bottom:var(--s-2)}.commentnote-who{display:flex;align-items:center;gap:var(--s-3);margin-bottom:var(--s-3);color:var(--muted);font-size:var(--fs-sm)}.commentnote-face{width:40px;height:40px;border-radius:var(--r-round);background:var(--sec);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-weight:700}.commentnote-body{font-size:var(--fs-base)}.trybrick{margin:1.6em 0;padding:var(--s-4)var(--s-5);background:var(--surface-2);border-radius:var(--r-plate);display:grid;gap:var(--s-3);justify-items:start}.trybrick-label{font-weight:700;font-size:var(--fs-sm)}.trybrick-line{display:flex;gap:var(--s-2);align-items:center}.trybrick-text{font:var(--fs-sm)/1.7 var(--font-code)}.trybrick-note{color:var(--muted);font-size:var(--fs-sm)}.bs-tags{margin-top:var(--s-7);padding-top:var(--s-5);border-top:1px solid var(--line)}.bs-tags-h{font-weight:700;font-size:var(--fs-sm);margin-bottom:var(--s-3)}.keepbuilding{padding:var(--s-7)0;border-top:1px solid var(--line)}.plainsheet .bs-frame{max-width:calc(var(--column) + 2 * var(--gutter));padding-bottom:var(--s-8)}.plainsheet .bs-h{margin-bottom:var(--s-3)}.plainsheet .bs-body{margin-top:var(--s-6)}.searchbench{padding-top:var(--s-7);padding-bottom:var(--s-8);max-width:860px}.searchform{margin-top:var(--s-5)}.searchform-label{display:block;font-weight:700;font-size:var(--fs-sm);margin-bottom:var(--s-2)}.searchcurly{display:flex;align-items:center;gap:var(--s-2)}.searchcurly .curly{color:var(--line-strong);opacity:1;transition:color var(--dur-ui)var(--ease-ui)}.searchcurly:focus-within .curly{color:var(--accent)}.searchfield{flex:1;min-width:0;height:48px;padding:0 var(--s-4);border:1.5px solid var(--line-strong);border-radius:var(--r-brick);background:var(--surface);color:var(--text);font:var(--fs-base)var(--font-body)}.searchfield:focus{border-color:var(--accent)}.searchpick{cursor:pointer}.searchpick:has(:checked){background:var(--text);color:var(--bg);border-color:var(--text)}.searchnote{margin:var(--s-5)0 var(--s-3);color:var(--muted)}.searchhits .logrow-h{font-size:var(--fs-base)}.searchmiss{margin-top:var(--s-6)}.searchmiss-note{margin-bottom:var(--s-3);color:var(--muted)}.searchmiss .sheet-brick{min-height:44px}.nocompile{max-width:720px;margin:0 auto;padding:var(--s-8)var(--gutter);text-align:center;display:grid;gap:var(--s-4);justify-items:center}.nocompile-art{color:var(--line-strong);width:240px;height:auto}.nocompile-a{fill:var(--accent)}.nocompile-b{fill:var(--accent-2)}.nocompile-note{font:var(--fs-sm)var(--font-code);color:var(--muted)}.nocompile-actions{display:flex;flex-wrap:wrap;gap:var(--s-3);justify-content:center;margin-top:var(--s-3)}.nocompile .loglist{text-align:start;width:100%}.footplate{margin-top:var(--s-7);background:var(--surface);border-radius:var(--r-plate)var(--r-plate)0 0;border-top:1px solid var(--line)}.footplate::before{opacity:.45}.footplate-in{max-width:var(--max);margin:0 auto;padding:var(--s-7)var(--gutter)var(--s-5);display:grid;gap:var(--s-6)}@media(min-width:768px){.footplate-in{grid-template-columns:2fr 1fr 1fr}}.footplate .markline{color:var(--text);margin:0}.footplate-purpose{margin-top:var(--s-3);color:var(--muted);font-size:var(--fs-sm);max-width:40ch}.footplate-head{font-weight:700;font-size:var(--fs-sm);margin-bottom:var(--s-2)}.footplate-list{list-style:none;margin:0;padding:0;display:grid;gap:var(--s-1)}.footplate-list a{display:inline-flex;min-height:36px;align-items:center;color:var(--text);text-decoration:none}.footplate-list a:hover{color:var(--accent);text-decoration:underline}.footplate-base{max-width:var(--max);margin:0 auto;padding:var(--s-4)var(--gutter)var(--s-6);border-top:1px solid var(--line);color:var(--muted);font-size:var(--fs-xs)}@media(prefers-reduced-motion:reduce){:root{--dur-snap:0ms;--dur-ui:0ms;--dur-build:0ms;--ease-snap:linear}.socket .seg{animation:none}.push-primary:active,.push-second:active,.tray-brick:active .tray-face,.wordbrick:active{transform:none}.shelfbrick:hover .shelfbrick-cover g{transform:none}.topplate{transition:none}}@media print{.topplate,.footplate,.bs-aside,.toc-drawer,.keepbuilding,.skip-stud{display:none}body{background:#fff;color:#000}}.sheet-pull-open,.sheet[open] .sheet-pull-shut{display:none}.sheet[open] .sheet-pull-open{display:inline}.searchhits:not([hidden])~.searchmiss{display:none}