@font-face{font-family:Nunito;src:url("./media/nunito-latin-var-5C6G45UU.woff") format("woff");font-weight:200 1000;font-style:normal;font-display:swap}:root{--paper: #F4F6F7;--paper-2: #E9EDF0;--surface: #FFFFFF;--ink: #17202B;--ink-2: #2E3946;--ink-3: #4E5A66;--line: #D3DAE1;--line-strong: #B7C2CD;--grid: rgba(34, 84, 160, .055);--grid-major: rgba(34, 84, 160, .1);--accent: #2456A6;--accent-deep: #1A417F;--accent-soft: #E3EBF7;--sage: #5E8A6A;--sage-deep: #3E6A4A;--sage-soft: #E2EDE4;--shadow-sm: 0 1px 2px rgba(20, 34, 52, .06);--shadow-md: 0 2px 4px rgba(20, 34, 52, .06), 0 8px 22px rgba(20, 34, 52, .08);--shadow-lg: 0 4px 10px rgba(20, 34, 52, .08), 0 20px 48px rgba(20, 34, 52, .14);--font: "Nunito", ui-rounded, "SF Pro Rounded", "Segoe UI", system-ui, sans-serif;--sab: env(safe-area-inset-bottom, 0px);--sat: env(safe-area-inset-top, 0px);--ease: cubic-bezier(.2, .7, .2, 1);color-scheme:light}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}body{margin:0;min-height:100vh;min-height:100dvh;background-color:var(--paper);background-image:linear-gradient(var(--grid-major) 1px,transparent 1px),linear-gradient(90deg,var(--grid-major) 1px,transparent 1px),linear-gradient(var(--grid) 1px,transparent 1px),linear-gradient(90deg,var(--grid) 1px,transparent 1px);background-size:80px 80px,80px 80px,16px 16px,16px 16px;background-position:-1px -1px;color:var(--ink);font-family:var(--font);font-size:16px;line-height:1.55;font-weight:500;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:inherit}button,select{font:inherit;color:inherit}:focus-visible{outline:3px solid color-mix(in srgb,var(--accent) 60%,white);outline-offset:2px}.caret,.prompt,.puzzle__tab{display:none}.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.brand{display:inline-flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink);border-radius:12px}.brand__symbol{width:34px;height:34px;flex:none}.brand__wordmark{height:19px;width:auto}.brand--compact .brand__symbol{width:30px;height:30px}.brand--compact .brand__wordmark{height:16px}.btn{--btn-bg: var(--surface);--btn-fg: var(--ink);display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 18px;border:1px solid var(--btn-line, var(--line));border-radius:999px;background:var(--btn-bg);color:var(--btn-fg);font-weight:700;font-size:15px;letter-spacing:.005em;text-decoration:none;box-shadow:var(--shadow-sm);cursor:pointer;transition:transform .16s var(--ease),box-shadow .16s var(--ease),background-color .16s var(--ease);-webkit-tap-highlight-color:transparent;touch-action:manipulation;white-space:nowrap}.btn:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn:active{transform:translateY(0);box-shadow:var(--shadow-sm)}.btn svg{width:18px;height:18px;flex:none}.btn--primary{--btn-bg: var(--accent);--btn-fg: #FFFFFF;--btn-line: var(--accent)}.btn--primary:hover{--btn-bg: var(--accent-deep);--btn-line: var(--accent-deep)}.btn--sage{--btn-bg: var(--sage-deep);--btn-fg: #FFFFFF;--btn-line: var(--sage-deep)}.btn--danger{--btn-bg: #A8392A;--btn-fg: #FFFFFF;--btn-line: #A8392A}.btn--danger:hover{--btn-bg: #8C2E22;--btn-line: #8C2E22}.btn--quiet{--btn-bg: transparent;--btn-line: transparent;box-shadow:none}.btn--quiet:hover{--btn-bg: rgba(255, 255, 255, .8);box-shadow:none}.btn--icon{width:44px;padding:0}.btn[aria-pressed=true]{--btn-bg: var(--accent-soft);--btn-fg: var(--accent-deep);--btn-line: #BFD0EC}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.btn:hover{transform:none}}.home{max-width:1120px;margin:0 auto;padding:calc(18px + var(--sat)) 24px calc(32px + var(--sab))}.home__header{display:flex;align-items:center;justify-content:space-between;min-height:56px}.home__intro{margin:clamp(28px,7vw,72px) 0 clamp(24px,4vw,40px);max-width:34rem}.home__title{font-size:clamp(1.9rem,1.35rem + 2.1vw,2.75rem);line-height:1.12;font-weight:850;letter-spacing:-.02em;margin:0 0 14px}.home__lede{margin:0;color:var(--ink-2);font-size:clamp(1.02rem,.98rem + .2vw,1.12rem);max-width:31rem}.home__puzzles{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:clamp(18px,3vw,32px)}.home__note{margin:clamp(28px,5vw,44px) 0 0;color:var(--ink-3);font-size:15px;max-width:40rem}.home__footer{margin-top:clamp(40px,8vw,88px);display:flex;flex-wrap:wrap;gap:8px 20px;justify-content:space-between;color:var(--ink-3);font-size:14px}.puzzle{display:flex;flex-direction:column;gap:16px}.puzzle__stage{position:relative;aspect-ratio:16 / 10;max-width:100%;border-radius:20px;background:#ffffffb8;border:1px solid var(--line);overflow:hidden;display:grid;grid-template:minmax(0,1fr) / minmax(0,1fr);place-items:center;text-decoration:none}.puzzle__stage:before,.puzzle__stage:after{content:"";position:absolute;width:14px;height:14px;border:1.5px solid var(--line-strong);pointer-events:none}.puzzle__stage:before{top:12px;right:12px;border-left:0;border-bottom:0}.puzzle__stage:after{bottom:12px;left:12px;border-right:0;border-top:0}.dim{position:absolute;left:12%;right:12%;bottom:14px;display:flex;align-items:center;gap:8px;color:var(--accent);font-size:12.5px;font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap;pointer-events:none}.dim:before,.dim:after{content:"";flex:1;height:7px;border:solid color-mix(in srgb,var(--accent) 55%,transparent);border-width:0 1.5px;background:linear-gradient(color-mix(in srgb,var(--accent) 55%,transparent),color-mix(in srgb,var(--accent) 55%,transparent)) center / 100% 1.5px no-repeat}.puzzle__stage img{width:100%;height:100%;object-fit:contain;display:block;opacity:0;transition:opacity .5s var(--ease)}.puzzle__stage img.is-ready{opacity:1}.puzzle__placeholder{position:absolute;inset:0;display:grid;place-items:center;color:var(--ink-3);font-size:14px}.puzzle__placeholder svg{width:44px;height:44px;opacity:.35}.puzzle__complete{position:absolute;top:14px;left:14px;display:inline-flex;align-items:center;gap:6px;padding:5px 12px 5px 8px;border-radius:999px;background:var(--sage-soft);color:var(--sage-deep);font-weight:750;font-size:13.5px}.puzzle__complete svg{width:16px;height:16px}.puzzle__row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 6px}.puzzle__name{margin:0;font-size:1.3rem;font-weight:800;letter-spacing:-.01em;line-height:1.2}.puzzle__meta{margin:2px 0 0;color:var(--ink-2);font-size:15px}.progress{display:flex;align-items:center;gap:10px;margin-top:10px;color:var(--ink-3);font-size:14px;font-variant-numeric:tabular-nums}.progress__bar{width:96px;height:6px;border-radius:999px;background:var(--paper-2);overflow:hidden}.progress__bar span{display:block;height:100%;border-radius:inherit;background:var(--accent)}.progress__bar.is-done span{background:var(--sage)}html.play-page,html.play-page body{height:100%;overflow:hidden;overscroll-behavior:none}.play{position:fixed;inset:0;display:flex;flex-direction:column;background:radial-gradient(75% 65% at 50% 55%,#fff,#fff0 72%),var(--paper)}.topbar{flex:none;display:flex;align-items:center;gap:10px;padding:calc(10px + var(--sat)) max(14px,env(safe-area-inset-right)) 6px max(14px,env(safe-area-inset-left));position:relative;z-index:3}.topbar__spacer{flex:1}.topbar__actions{display:flex;gap:8px}.select{position:relative;display:inline-flex;align-items:center;min-width:0}.select select{appearance:none;-webkit-appearance:none;min-height:44px;padding:0 40px 0 18px;border:1px solid var(--line);border-radius:999px;background:var(--surface);box-shadow:var(--shadow-sm);font-weight:800;font-size:15.5px;cursor:pointer;max-width:100%;text-overflow:ellipsis}.select svg{position:absolute;right:14px;width:16px;height:16px;pointer-events:none;color:var(--ink-2)}.bench-area{position:relative;flex:1;min-height:0}.workbench{position:absolute;inset:0;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;overflow:hidden;outline:none}.workbench.is-over-piece{cursor:grab}.workbench.is-rotating{cursor:grabbing}.wb-canvas{position:absolute;inset:0;width:100%;height:100%;display:block;outline:none;touch-action:none}.wb-canvas:focus-visible{outline:3px solid color-mix(in srgb,var(--accent) 55%,white);outline-offset:-3px;border-radius:16px}.wb-labels{position:absolute;inset:0;pointer-events:none}.wb-label{position:absolute;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden;padding:3px 6px 0;border:0;border-radius:10px;background:transparent;color:var(--ink);font-weight:750;font-size:var(--wb-label-font, 13px);line-height:1.15;text-align:center;cursor:grab;pointer-events:auto;touch-action:none;-webkit-tap-highlight-color:transparent;transition:color .16s var(--ease),opacity .16s var(--ease)}.wb-label.is-selected{color:var(--accent-deep)}.wb-label.is-selected:after{content:"";position:absolute;left:50%;bottom:0;width:18px;height:3px;margin-left:-9px;border-radius:3px;background:var(--accent)}.wb-label.is-away{opacity:0;pointer-events:none}.wb-label.is-shake{animation:shake .36s var(--ease)}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-4px)}50%{transform:translate(4px)}75%{transform:translate(-2px)}}.status{position:absolute;left:var(--free-x, 0px);width:var(--free-w, 100%);bottom:calc(100% - var(--free-bottom, 100%));min-height:46px;display:flex;align-items:center;justify-content:center;gap:12px;pointer-events:none;z-index:2;padding:0 8px}.counter{flex:none;display:inline-flex;align-items:center;gap:8px;height:32px;padding:0 12px 0 8px;border-radius:999px;background:var(--surface);border:1px solid var(--line);font-weight:800;font-size:14px;font-variant-numeric:tabular-nums}.counter svg{width:20px;height:20px}.counter.is-done{background:var(--sage-soft);color:var(--sage-deep)}.stage-chip{flex:none;color:var(--accent-deep);font-weight:800;font-size:13.5px;white-space:nowrap}.instruction strong{color:var(--ink);font-weight:800}.instruction__hint{color:var(--accent-deep);white-space:nowrap}.instruction{margin:0;color:var(--ink-2);font-weight:650;font-size:15px;line-height:1.3;max-width:34rem;text-align:left}.overlay-center{position:absolute;inset:0;display:grid;place-items:center;padding:24px;z-index:4;pointer-events:none}.overlay-center>*{pointer-events:auto}.loading{display:flex;flex-direction:column;align-items:center;gap:14px;color:var(--ink-2);font-weight:650}.loading svg{width:46px;height:46px;animation:breathe 1.6s ease-in-out infinite}@keyframes breathe{50%{transform:scale(.92);opacity:.7}}.notice{max-width:420px;padding:26px 26px 22px;border-radius:24px;background:var(--surface);box-shadow:var(--shadow-lg);text-align:left}.notice h2{margin:0 0 8px;font-size:1.2rem;font-weight:800}.notice p{margin:0 0 18px;color:var(--ink-2)}.notice__actions{display:flex;gap:10px;flex-wrap:wrap}.complete-card{border:1px solid var(--line);position:absolute;left:50%;top:calc(var(--free-bottom, 100%) - 12px);transform:translate(-50%,-100%);z-index:5;display:flex;align-items:center;gap:14px;width:max-content;max-width:calc(100% - 24px);padding:12px 12px 12px 16px;border-radius:22px;background:var(--surface);box-shadow:var(--shadow-lg);animation:rise .42s var(--ease) both}.complete-card__icon{flex:none;display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--sage-soft);color:var(--sage-deep)}.complete-card__icon svg{width:20px;height:20px}.complete-card p{margin:0;line-height:1.3}.complete-card strong{display:block;font-weight:800}.complete-card span{color:var(--ink-2);font-size:14.5px}@keyframes rise{0%{opacity:0;transform:translate(-50%,calc(-100% + 10px))}}.workbench.is-exploded .wb-label{opacity:0;pointer-events:none}.wb-callout{position:absolute;left:0;top:0;width:0;height:0;pointer-events:none;z-index:2}.wb-callout[hidden]{display:none}.wb-callout:before{content:"";position:absolute;left:-6px;top:-6px;width:12px;height:12px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 28%,transparent)}.wb-callout:after{content:"";position:absolute;left:0;bottom:0;width:56px;height:2px;background:var(--accent);transform-origin:0 50%;transform:rotate(-40deg)}.wb-callout__box{position:absolute;left:42px;bottom:34px;width:max-content;max-width:min(260px,46vw);display:flex;flex-direction:column;gap:2px;padding:9px 12px;border-radius:12px;background:var(--surface);border:1px solid var(--line);border-left:4px solid var(--accent);box-shadow:var(--shadow-md);line-height:1.3;animation:callout-in .24s var(--ease) both}@keyframes callout-in{0%{opacity:0;transform:translateY(6px)}}.wb-callout__box strong{font-weight:800;font-size:15px}.wb-callout__box span{font-size:13.5px;font-weight:600;color:var(--ink-2)}.wb-callout.is-left:after{transform:rotate(-140deg)}.wb-callout.is-left .wb-callout__box{left:auto;right:42px}.wb-callout.is-below:after{transform:rotate(40deg)}.wb-callout.is-below.is-left:after{transform:rotate(140deg)}.wb-callout.is-below .wb-callout__box{bottom:auto;top:34px}.status--card{align-items:flex-end;padding:0 6px}.workbench.is-over-fitted{cursor:pointer}.pcard{pointer-events:auto;width:min(100%,44rem);max-height:min(46vh,calc(var(--free-bottom, 60vh) - 16px));display:flex;flex-direction:column;border-radius:18px;background:var(--surface);border:1px solid var(--line);border-top:3px solid var(--accent);box-shadow:var(--shadow-lg);text-align:left;animation:pcard-in .24s var(--ease) both;transition:max-height .32s var(--ease),border-color .2s var(--ease)}@keyframes pcard-in{0%{opacity:0;transform:translateY(10px)}}.pcard.is-open{max-height:calc(var(--free-bottom, 80vh) - 16px)}.pcard.is-passive{pointer-events:none;opacity:.94}.pcard--near,.pcard--fitted{border-top-color:var(--sage)}.pcard__head{flex:none;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 8px 0 18px;min-height:40px}.pcard__eyebrow{display:inline-flex;align-items:center;gap:6px;min-width:0;font-size:12px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--accent-deep)}.pcard__eyebrow svg{width:14px;height:14px;flex:none}.pcard--near .pcard__eyebrow,.pcard--fitted .pcard__eyebrow{color:var(--sage-deep)}.pcard__stage{font-weight:700;letter-spacing:0;text-transform:none;color:var(--ink-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pcard__tools{display:flex;align-items:center;gap:4px;flex:none}.pcard__tools .btn{width:34px;min-height:34px;padding:0}.pcard__tools svg{width:16px;height:16px}.pcard__tools .is-prev{transform:rotate(90deg)}.pcard__tools .is-next{transform:rotate(-90deg)}.pcard__pos{min-width:58px;text-align:center;font-weight:800;font-size:14px;font-variant-numeric:tabular-nums}.pcard__body{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:0 18px 4px;outline:none}.pcard__title{margin:0;font-size:1.3rem;line-height:1.2;font-weight:800;letter-spacing:-.01em}.pcard__note{margin:6px 0 0;font-size:1rem;line-height:1.55;color:var(--ink);font-weight:500}.pcard__section{margin-top:18px;animation:pcard-in .26s var(--ease) both}.pcard__section h3{margin:0 0 6px;display:flex;align-items:center;gap:10px;font-size:12.5px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--accent-deep)}.pcard__section h3:after{content:"";flex:1;height:1px;background:var(--line)}.pcard__section p{margin:0;font-size:1rem;line-height:1.65;color:var(--ink-2);max-width:68ch}.pcard__section p+p{margin-top:10px}.pcard__section:last-child{padding-bottom:10px}.pcard__foot{flex:none;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:8px 18px 12px}.pcard.is-open .pcard__foot{border-top:1px solid var(--line);padding-top:10px}.pcard__more{display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:0 14px 0 16px;border-radius:999px;border:1px solid color-mix(in srgb,var(--accent) 35%,transparent);background:var(--accent-soft);color:var(--accent-deep);font-weight:800;font-size:14px;cursor:pointer}.pcard__more:hover{border-color:var(--accent)}.pcard__more svg{width:15px;height:15px;transition:transform .22s var(--ease);transform:rotate(180deg)}.pcard.is-open .pcard__more svg{transform:none}.pcard__hint{font-weight:700;font-size:14.5px;color:var(--accent-deep);margin-left:auto;text-align:right}.pcard__hint strong{font-weight:800}.pcard--near .pcard__hint{color:var(--sage-deep)}@media(max-width:720px){.pcard{border-radius:14px;max-height:min(42vh,calc(var(--free-bottom, 60vh) - 12px))}.pcard__head{padding-left:14px}.pcard__body{padding:0 14px 4px}.pcard__foot{padding:8px 14px 10px}.pcard__title{font-size:1.12rem}.pcard__note,.pcard__section p{font-size:.95rem;line-height:1.55}.pcard:not(.is-open) .pcard__note{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;line-clamp:3;overflow:hidden}}@media(prefers-reduced-motion:reduce){.pcard,.pcard__section{animation:none;transition:none}}html[data-look=code] .pcard,html[data-look=terminal] .pcard{border-radius:8px}html[data-look=code] .pcard__title,html[data-look=terminal] .pcard__title{font-weight:600;letter-spacing:-.03em}html[data-look=code] .pcard__note{font-weight:400}.bench-area.is-space .pcard{box-shadow:0 10px 40px #00000080}.dialog-backdrop{position:fixed;inset:0;z-index:20;display:grid;place-items:center;padding:20px;background:#141e2c3d;animation:fade .18s var(--ease) both}@keyframes fade{0%{opacity:0}}.dialog{width:min(100%,440px);padding:24px;border-radius:26px;background:var(--surface);box-shadow:var(--shadow-lg);animation:pop .22s var(--ease) both}.dialog--wide{width:min(100%,640px);padding:20px}@keyframes pop{0%{opacity:0;transform:translateY(8px) scale(.98)}}.dialog h2{margin:0 0 6px;font-size:1.2rem;font-weight:800;letter-spacing:-.01em}.dialog p{margin:0;color:var(--ink-2)}.dialog__actions{display:flex;justify-content:flex-end;gap:10px;margin-top:22px;flex-wrap:wrap}.dialog__head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}.dialog__head h2{margin:0}.preview-image{width:100%;aspect-ratio:16 / 10;border-radius:18px;background:var(--paper);border:1px solid var(--line);display:grid;place-items:center;overflow:hidden}.preview-image img{width:100%;height:100%;object-fit:contain}@media(max-width:720px){.btn__text{display:none}.topbar .btn{width:44px;padding:0}.brand--compact .brand__wordmark{display:none}.topbar{gap:8px;padding-left:max(10px,env(safe-area-inset-left));padding-right:max(10px,env(safe-area-inset-right))}.topbar__actions{gap:6px}.topbar__spacer{display:none}.select{flex:1}.select select{width:100%}.stage-chip{flex:none;color:var(--accent-deep);font-weight:800;font-size:13.5px;white-space:nowrap}.instruction strong{color:var(--ink);font-weight:800}.instruction__hint{color:var(--accent-deep);white-space:nowrap}.instruction{font-size:14px}.status{gap:8px}.complete-card{gap:10px;padding:10px 10px 10px 12px}}@media(max-width:380px){.topbar .btn,.select select{min-height:42px}.topbar .btn{width:42px}.select select{padding-left:14px;font-size:15px}.stage-chip{flex:none;color:var(--accent-deep);font-weight:800;font-size:13.5px;white-space:nowrap}.instruction strong{color:var(--ink);font-weight:800}.instruction__hint{color:var(--accent-deep);white-space:nowrap}.instruction{font-size:13.5px}}@media(max-height:460px)and (orientation:landscape){.topbar{padding-top:calc(6px + var(--sat));padding-bottom:2px}.topbar .btn,.select select{min-height:40px}.topbar .btn{width:40px}.btn__text{display:none}.topbar .btn{padding:0}}@font-face{font-family:IBM Plex Mono;src:url("./media/plexmono-regular-27WLMZKC.woff") format("woff");font-weight:400;font-display:swap}@font-face{font-family:IBM Plex Mono;src:url("./media/plexmono-medium-6FLHOUVM.woff") format("woff");font-weight:500;font-display:swap}@font-face{font-family:IBM Plex Mono;src:url("./media/plexmono-semibold-HL4EFNXZ.woff") format("woff");font-weight:600 900;font-display:swap}html[data-look=terminal]{--paper: #0E1311;--paper-2: #1A221E;--surface: #141B18;--ink: #E3ECE6;--ink-2: #A7B8AE;--ink-3: #6F8177;--line: #28332D;--line-strong: #3A4841;--grid: rgba(107, 214, 143, .035);--grid-major: rgba(107, 214, 143, .06);--accent: #6BD68F;--accent-deep: #8FE3AB;--accent-soft: rgba(107, 214, 143, .12);--amber: #E0B35C;--sage: #6BD68F;--sage-deep: #8FE3AB;--sage-soft: rgba(107, 214, 143, .14);--shadow-sm: none;--shadow-md: 0 0 0 1px var(--line-strong);--shadow-lg: 0 18px 50px rgba(0, 0, 0, .55);--font: "IBM Plex Mono", ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace;color-scheme:dark}html[data-look=terminal] body{font-size:15px;font-weight:400;letter-spacing:-.01em;background-size:96px 96px,96px 96px,24px 24px,24px 24px}html[data-look=terminal] ::selection{background:var(--accent);color:var(--paper)}html[data-look=terminal] :focus-visible{outline:2px solid var(--accent);outline-offset:2px}html[data-look=terminal] .btn,html[data-look=terminal] .select select,html[data-look=terminal] .counter{border-radius:4px}html[data-look=terminal] .btn{font-weight:500;font-size:14px;letter-spacing:0;box-shadow:none}html[data-look=terminal] .btn:hover{transform:none;box-shadow:none;--btn-line: var(--accent)}html[data-look=terminal] .btn--primary{--btn-fg: #0B100D}html[data-look=terminal] .btn--primary:hover{--btn-bg: var(--accent-deep);--btn-line: var(--accent-deep)}html[data-look=terminal] .btn--quiet:hover{--btn-bg: var(--accent-soft)}html[data-look=terminal] .btn[aria-pressed=true]{--btn-bg: rgba(224, 179, 92, .12);--btn-fg: var(--amber);--btn-line: rgba(224, 179, 92, .45)}html[data-look=terminal] .select select{font-weight:600;font-size:14.5px;box-shadow:none}html[data-look=terminal] .home__title{font-weight:600;letter-spacing:-.04em}html[data-look=terminal] .caret{display:inline-block;width:.55em;height:.95em;margin-left:.12em;vertical-align:-.08em;background:var(--accent);animation:caret 1.1s steps(1) infinite}@keyframes caret{50%{opacity:0}}html[data-look=terminal] .home__lede{color:var(--ink-2)}html[data-look=terminal] .puzzle__stage{border-radius:6px;background:radial-gradient(60% 60% at 50% 58%,#6bd68f0f,#0e131100 70%),var(--surface)}html[data-look=terminal] .puzzle__stage:before,html[data-look=terminal] .puzzle__stage:after{border-color:var(--accent);opacity:.5}html[data-look=terminal] .puzzle__name{font-weight:600;letter-spacing:-.03em}html[data-look=terminal] .puzzle__complete{border-radius:4px}html[data-look=terminal] .progress__bar{border-radius:0;height:8px;background:var(--paper-2)}html[data-look=terminal] .progress__bar span{border-radius:0}html[data-look=terminal] .play{background:radial-gradient(70% 60% at 50% 55%,#6bd68f0d,#0e131100 70%),var(--paper)}html[data-look=terminal] .wb-label{font-weight:500;color:var(--ink-2);letter-spacing:-.03em;font-size:calc(var(--wb-label-font, 13px) - .5px);line-height:1.2}html[data-look=terminal] .puzzle__row{align-items:flex-start}html[data-look=terminal] .wb-label:hover{color:var(--ink)}html[data-look=terminal] .wb-label.is-selected{color:var(--amber)}html[data-look=terminal] .wb-label.is-selected:after{background:var(--amber);border-radius:0}html[data-look=terminal] .counter{font-weight:600;background:var(--surface)}html[data-look=terminal] .instruction{font-weight:400;color:var(--ink-2);font-size:14px}html[data-look=terminal] .instruction strong{font-weight:600}html[data-look=terminal] .instruction__hint{color:var(--amber)}html[data-look=terminal] .complete-card,html[data-look=terminal] .notice,html[data-look=terminal] .dialog{border-radius:8px;border:1px solid var(--line-strong)}html[data-look=terminal] .complete-card__icon{border-radius:4px}html[data-look=terminal] .preview-image{border-radius:6px}html[data-look=terminal] .dialog-backdrop{background:#0000008c}@media(prefers-reduced-motion:reduce){html[data-look=terminal] .caret{animation:none}}html[data-look=code]{--font: "IBM Plex Mono", ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace;--comment: #4E5A66;--shadow-sm: none}html[data-look=code] body{font-size:15px;font-weight:500;letter-spacing:-.01em;background-size:96px 96px,96px 96px,24px 24px,24px 24px}html[data-look=code] ::selection{background:var(--accent-soft);color:var(--accent-deep)}html[data-look=code] .btn,html[data-look=code] .select select,html[data-look=code] .counter{border-radius:4px}html[data-look=code] .btn{font-weight:500;font-size:14px;letter-spacing:0;box-shadow:none}html[data-look=code] .btn:hover{transform:none;box-shadow:none;--btn-line: var(--accent)}html[data-look=code] .select select{font-weight:600;font-size:14.5px;box-shadow:none}html[data-look=code] .prompt{display:block;margin:0 0 14px;font-size:14px;color:var(--ink-2)}html[data-look=code] .prompt__path{color:var(--accent);font-weight:500}html[data-look=code] .prompt__sym{color:var(--ink-3)}html[data-look=code] .home__title{font-weight:600;letter-spacing:-.045em}html[data-look=code] .caret,html[data-look=terminal] .caret{display:inline-block;width:.55em;height:.95em;margin-left:.12em;vertical-align:-.08em;background:var(--accent);animation:caret 1.1s steps(1) infinite}html[data-look=code] .home__lede{color:var(--ink-2)}html[data-look=code] .home__note:before,html[data-look=code] .puzzle__meta:before{content:"// ";color:var(--comment)}html[data-look=code] .puzzle__meta,html[data-look=code] .home__note{color:var(--comment)}html[data-look=code] .puzzle__stage{border-radius:6px;padding-top:34px;background:var(--surface)}html[data-look=code] .puzzle__stage:before{top:46px}html[data-look=code] .puzzle__tab{position:absolute;inset:0 0 auto;height:34px;display:flex;align-items:center;justify-content:space-between;padding:0 14px;border-bottom:1px solid var(--line);background:var(--paper);color:var(--ink-3);font-size:12.5px}html[data-look=code] .puzzle__tab>span:first-child{display:inline-flex;align-items:center;height:100%;margin-left:-14px;padding:0 14px;background:var(--surface);color:var(--ink);border-right:1px solid var(--line);box-shadow:inset 0 2px 0 var(--accent)}html[data-look=code] .puzzle__complete{top:48px;border-radius:4px}html[data-look=code] .puzzle__name{font-weight:600;letter-spacing:-.035em}html[data-look=code] .puzzle__row{align-items:flex-start}html[data-look=code] .progress__bar{border-radius:0;height:8px}html[data-look=code] .progress__bar span{border-radius:0}html[data-look=code] .wb-label{font-weight:500;color:var(--ink-2);letter-spacing:-.03em;font-size:calc(var(--wb-label-font, 13px) - .5px);line-height:1.2}html[data-look=code] .wb-label:hover{color:var(--ink)}html[data-look=code] .wb-label.is-selected:after{border-radius:0}html[data-look=code] .counter{font-weight:600}html[data-look=code] .instruction{font-weight:400;font-size:14px}html[data-look=code] .instruction strong{font-weight:600}.tag{color:var(--accent);font-weight:600}html[data-look=terminal] .tag{color:var(--amber)}html[data-look=code] .complete-card,html[data-look=code] .notice,html[data-look=code] .dialog{border-radius:8px}html[data-look=code] .complete-card__icon{border-radius:4px}html[data-look=code] .preview-image{border-radius:6px}@media(prefers-reduced-motion:reduce){html[data-look=code] .caret{animation:none}}.puzzle__stage{padding-bottom:30px}.instruction{background:color-mix(in srgb,var(--paper) 86%,transparent);padding:4px 8px;border-radius:4px}.bench-area.is-space{background:#04060d}.workbench.is-space .wb-label{color:#d6deee}.workbench.is-space .wb-label:hover{color:#fff}.workbench.is-space .wb-label.is-selected{color:#9cc2ff}.workbench.is-space .wb-label.is-selected:after{background:#9cc2ff}.bench-area.is-space .instruction{background:#080c1abd;color:#c3cce0}.bench-area.is-space .instruction strong{color:#fff}.bench-area.is-space .instruction__hint{color:#9cc2ff}.account{position:relative;display:inline-flex;flex:none}.account--loading{width:40px;height:40px;border-radius:50%;background:var(--paper-2)}.account__signin svg{width:18px;height:18px}.account__signin[disabled]{opacity:.7;cursor:progress}.account__avatar{padding:0;border:2px solid transparent;border-radius:50%;background:none;cursor:pointer;line-height:0;transition:border-color .16s var(--ease)}.account__avatar:hover,.account__avatar[aria-expanded=true]{border-color:var(--accent)}.avatar{display:inline-grid;place-items:center;width:38px;height:38px;border-radius:50%;overflow:hidden;background:var(--accent-soft);color:var(--accent-deep);font-weight:700;font-size:14px}.avatar--lg{width:52px;height:52px;font-size:18px}.avatar img{width:100%;height:100%;object-fit:cover}.account__menu{position:absolute;right:0;top:calc(100% + 8px);z-index:40;min-width:240px;display:grid;padding:6px;background:var(--surface);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow-lg);animation:menuIn .16s var(--ease)}@keyframes menuIn{0%{opacity:0;transform:translateY(-4px)}}.account__who{display:flex;align-items:center;gap:12px;padding:10px 10px 12px;margin-bottom:4px;border-bottom:1px solid var(--line)}.account__who strong{display:block;color:var(--ink)}.account__who span span{color:var(--ink-3);font-size:13.5px}.account__menu button{text-align:left;padding:10px;border:0;border-radius:8px;background:none;color:var(--ink);font-size:14.5px;cursor:pointer}.account__menu button:hover,.account__menu button:focus-visible{background:var(--paper)}@media(max-width:560px){.account__label{display:none}.account__signin{padding:0 12px}}.profile{display:grid;gap:16px}.profile__head{display:flex;align-items:center;gap:14px}.profile__head h2{margin:0;font-size:1.2rem}.profile__head p{margin:2px 0 0;color:var(--ink-3);font-size:14px}.field{display:grid;gap:6px}.field>span{font-weight:600;color:var(--ink);font-size:14px}.field input{width:100%;min-height:44px;padding:0 12px;border:1px solid var(--line-strong);border-radius:8px;background:var(--surface);color:var(--ink);font:inherit}.field input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.field input[aria-invalid=true]{border-color:#b4432f}.field small{color:var(--ink-3);font-size:12.5px}.field small.is-bad{color:#b4432f}.field__prefix{display:flex;align-items:center}.field__prefix i{font-style:normal;padding:0 2px 0 12px;color:var(--ink-3);border:1px solid var(--line-strong);border-right:0;border-radius:8px 0 0 8px;min-height:44px;display:grid;place-items:center;background:var(--paper)}.field__prefix input{border-radius:0 8px 8px 0}.profile__error{margin:0;padding:10px 12px;border-radius:8px;background:#fbeae6;color:#8e2f1e;font-size:14px}.profile__actions{display:flex;justify-content:flex-end;gap:10px}html[data-look=code] .account__menu,html[data-look=code] .field input,html[data-look=code] .profile__error{border-radius:6px}.gate-wrap{background:color-mix(in srgb,var(--paper) 70%,transparent);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.gate{width:min(440px,100%);padding:26px 26px 22px;display:grid;gap:12px;text-align:center;background:var(--surface);border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow-lg)}html[data-look=code] .gate{border-radius:10px}.gate__img{width:100%;aspect-ratio:16 / 10;object-fit:contain;border-radius:12px;background:radial-gradient(70% 70% at 50% 45%,var(--surface),var(--paper))}.gate h2{margin:4px 0 0;font-size:1.35rem;letter-spacing:-.03em;color:var(--ink)}.gate p{margin:0;color:var(--ink-2);font-size:15px}.gate__btn{width:100%;margin-top:4px}.gate__error{padding:8px 10px;border-radius:8px;background:#fbeae6;color:#8e2f1e!important;font-size:14px!important}.gate__small{font-size:13px!important;color:var(--ink-3)!important}.gate__small a{color:var(--accent-deep)}.site{display:flex;flex-direction:column;min-height:100vh}.site-nav{position:sticky;top:0;z-index:10;display:flex;align-items:center;gap:22px;padding:calc(12px + var(--sat)) clamp(16px,4vw,40px) 12px;background:color-mix(in srgb,var(--paper) 85%,transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid color-mix(in srgb,var(--line) 70%,transparent)}.site-nav nav{display:flex;gap:20px;margin-left:auto;font-size:14.5px}.site-nav nav a{color:var(--ink-2);text-decoration:none}.site-nav nav a:hover{color:var(--ink);text-decoration:underline;text-underline-offset:4px}@media(max-width:640px){.site-nav nav{display:none}.site-nav .btn{margin-left:auto}}.site-main{flex:1;width:100%;max-width:1200px;margin:0 auto;padding:clamp(32px,6vw,72px) clamp(16px,4vw,40px) 24px}.prose{max-width:46rem;margin:0 auto;color:var(--ink-2);font-size:16px;line-height:1.7}.prose--wide{max-width:64rem}.prose--center{text-align:center;padding:clamp(24px,8vw,80px) 0}.prose h1{margin:0 0 16px;color:var(--ink);font-size:clamp(1.9rem,1.3rem + 2.4vw,3rem);line-height:1.12;letter-spacing:-.04em;font-weight:700}.prose h2{margin:2.2em 0 .5em;color:var(--ink);font-size:1.35rem;letter-spacing:-.03em}.prose h3{margin:1.6em 0 .5em;color:var(--ink);font-size:1.1rem}.prose p,.prose ul{margin:0 0 1em}.prose li{margin-bottom:.4em}.prose a:not(.btn){color:var(--accent-deep);text-underline-offset:3px}.prose a.btn{text-decoration:none}.prose .lede{font-size:1.15rem;color:var(--ink-2);margin-bottom:1.4em}.prose .meta{color:var(--ink-3);font-size:14px;margin-top:-8px}.prose .eyebrow a{color:inherit;text-decoration:none}.cta-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:2em!important}.prose--center .cta-row{justify-content:center}.faq{display:grid;gap:10px;margin:1.5em 0 2em}.faq details{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:4px 18px}html[data-look=code] .faq details{border-radius:6px}.faq summary{cursor:pointer;padding:12px 28px 12px 0;color:var(--ink);font-weight:600;list-style:none;position:relative}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:"+";position:absolute;right:0;top:10px;color:var(--accent);font-size:1.3em;line-height:1}.faq details[open] summary:after{content:"\2013"}.faq details p{margin:0 0 14px}.contact-form{display:grid;gap:16px;margin-top:1.5em;padding:clamp(18px,3vw,28px);background:var(--surface);border:1px solid var(--line);border-radius:16px}html[data-look=code] .contact-form{border-radius:8px}.contact-form select,.contact-form textarea{width:100%;padding:10px 12px;border:1px solid var(--line-strong);border-radius:8px;background:var(--surface);color:var(--ink);font:inherit}.contact-form select{min-height:44px}.contact-form textarea{resize:vertical;min-height:140px}.contact-form select:focus,.contact-form textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.contact-form .btn{justify-self:start}.form-note{margin:0!important;font-size:14px;color:var(--ink-3)}.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.model-group{margin-top:2.6em}.model-group h2{margin-top:0}.model-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr));gap:16px;padding:0;list-style:none}.model-list li{margin:0}.model-list a{display:grid;gap:4px;padding:10px 10px 14px;background:var(--surface);border:1px solid var(--line);border-radius:14px;text-decoration:none;color:var(--ink-2);transition:border-color .2s,box-shadow .2s}html[data-look=code] .model-list a{border-radius:8px}.model-list a:hover{border-color:var(--accent);box-shadow:var(--shadow-md)}.model-list img{width:100%;height:auto;aspect-ratio:16 / 10;object-fit:contain;border-radius:8px;background:radial-gradient(70% 70% at 50% 45%,var(--surface),var(--paper))}.model-list__name{color:var(--ink);font-weight:700;font-size:1.05rem;padding:0 4px}.model-list__meta{font-size:13.5px;padding:0 4px}.soon{color:var(--ink-3);font-style:italic}.model-hero{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:20px;align-items:center;margin:1.5em 0}@media(max-width:760px){.model-hero{grid-template-columns:1fr}}.model-hero img{width:100%;height:auto;border-radius:14px;background:radial-gradient(70% 70% at 50% 45%,var(--surface),var(--paper));border:1px solid var(--line)}.facts{display:grid;gap:1px;margin:0;background:var(--line);border:1px solid var(--line);border-radius:12px;overflow:hidden}.facts div{display:flex;justify-content:space-between;gap:12px;padding:12px 16px;background:var(--surface)}.facts dt{color:var(--ink-3)}.facts dd{margin:0;color:var(--ink);font-weight:600}.stage-block{margin-top:1.8em}.stage-block h3 span{display:inline-block;margin-right:8px;padding:2px 8px;border-radius:4px;background:var(--accent-soft);color:var(--accent-deep);font-size:.8em}.parts{display:grid;gap:1px;margin:0;background:var(--line);border:1px solid var(--line);border-radius:12px;overflow:hidden}.parts div{display:grid;grid-template-columns:minmax(140px,.32fr) 1fr;gap:16px;padding:12px 16px;background:var(--surface)}@media(max-width:600px){.parts div{grid-template-columns:1fr;gap:4px}}.parts dt{color:var(--ink);font-weight:700}.parts dt small{color:var(--ink-3);font-weight:500}.parts dd{margin:0}html[data-look=code] .facts,html[data-look=code] .parts,html[data-look=code] .model-hero img{border-radius:6px}.site-foot{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:24px 40px;max-width:1200px;width:100%;margin:clamp(48px,7vw,80px) auto 0;padding:28px clamp(16px,4vw,40px) calc(28px + var(--sab));color:var(--ink-2);font-size:14px}.site-foot__brand{display:flex;align-items:center;gap:12px;align-self:start}.site-foot__links{display:flex;flex-wrap:wrap;gap:20px 48px}.site-foot__links div{display:grid;gap:8px;align-content:start}.site-foot__links strong{color:var(--ink);font-size:13px;letter-spacing:.04em;text-transform:uppercase}.site-foot__links a{color:var(--ink-2);text-decoration:none}.site-foot__links a:hover{color:var(--ink);text-decoration:underline;text-underline-offset:3px}.site-foot__copy{grid-column:1 / -1;margin:0;color:var(--ink-3);font-size:13px}@media(max-width:760px){.site-foot{grid-template-columns:1fr}}
