:root{--ink:#38274f;--muted:#756783;--purple:#8d5cc7;--purple-dark:#694294;--pink:#ec72ad;--mist:#f7f0ff;--mint:#bae8dc;--sun:#f7d895;--paper:#fffdfd;--line:#dfd3e8;--shadow:0 22px 60px rgba(67,40,91,.13)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Manrope Variable,Manrope,sans-serif;line-height:1.5}button,input,select{font:inherit}a,button{-webkit-tap-highlight-color:transparent}a{text-decoration:none}a,button{color:inherit}.shell{width:min(1180px,calc(100% - 40px));margin-inline:auto}.skip-link{position:fixed;top:8px;left:8px;z-index:1000;transform:translateY(-160%);background:var(--ink);color:#fff;padding:10px 14px;border-radius:8px}.skip-link:focus{transform:none}.site-header{position:sticky;top:0;z-index:50;background:rgba(255,253,253,.88);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-bottom:1px solid rgba(223,211,232,.65)}.site-header__inner{min-height:72px;display:flex;align-items:center;gap:32px}.brand-lockup{display:flex;align-items:center;gap:10px;margin-right:auto;line-height:1.05}.brand-lockup__mark{display:grid;place-items:center;width:39px;height:39px;border-radius:14px;background:var(--mist);color:var(--purple)}.brand-lockup strong{display:block;font:680 18px/1 Fraunces Variable,serif}.brand-lockup small{display:block;margin-top:5px;color:var(--muted);font:600 9px/1 IBM Plex Mono,monospace;letter-spacing:.06em;text-transform:uppercase}.primary-nav{display:flex;gap:26px;font-size:13px;font-weight:700}.primary-nav a{position:relative}.primary-nav a:after{content:"";position:absolute;left:0;right:100%;bottom:-8px;height:2px;background:var(--pink);transition:right .2s}.primary-nav a:focus-visible:after,.primary-nav a:hover:after{right:0}.button{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:48px;padding:0 21px;border:1px solid transparent;border-radius:14px;font-weight:800;cursor:pointer;transition:transform .18s,box-shadow .18s,background .18s}.button:hover{transform:translateY(-2px)}.button:focus-visible,.card-link:focus-visible,.puzzle-cell:focus-visible,.region-swatch:focus-visible,.text-button:focus-visible,.tool-toggle button:focus-visible{outline:3px solid rgba(141,92,199,.35);outline-offset:3px}.button--primary{background:linear-gradient(135deg,var(--purple),var(--pink));color:#fff;box-shadow:0 10px 24px rgba(141,92,199,.24)}.button--secondary{background:#fff;border-color:var(--line);color:var(--ink)}.button--ghost{background:transparent;border-color:var(--line)}.button--quiet{background:var(--mist);color:var(--purple-dark)}.button--small{min-height:40px;padding-inline:15px;font-size:12px}.button--ink{background:var(--ink);color:#fff}.button--full{width:100%}.eyebrow{display:block;color:var(--purple-dark);font:700 11px/1.2 IBM Plex Mono,monospace;letter-spacing:.09em;text-transform:uppercase}.eyebrow--pill{display:inline-flex;padding:8px 11px;border:1px solid #d8c4ea;border-radius:999px;background:#fff}.hero{display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:56px;min-height:650px;padding-block:72px 82px}.hero h1,.page-intro h1{margin:22px 0 20px;font:650 clamp(54px,7vw,92px)/.9 Fraunces Variable,serif;letter-spacing:-.055em}.hero h1 em{color:var(--pink);font-style:italic;font-variation-settings:"SOFT" 100}.hero__lede{max-width:640px;margin:0;color:var(--muted);font-size:18px;line-height:1.7}.hero__actions{display:flex;gap:12px;margin-top:31px}.hero__proof{display:flex;flex-wrap:wrap;gap:17px;margin-top:34px;color:var(--muted);font-size:11px}.hero__proof span{padding-right:17px;border-right:1px solid var(--line)}.hero__proof span:last-child{border:0}.hero__proof strong{color:var(--ink);font:700 13px IBM Plex Mono,monospace}.hero-board-wrap{position:relative;width:min(100%,500px);aspect-ratio:1;margin-left:auto;padding:54px;background:radial-gradient(circle at 48% 45%,#fff 0 42%,transparent 43%),linear-gradient(145deg,#eee0fa,#fde7f2);border-radius:46% 54% 44% 56%/54% 43% 57% 46%}.hero-board-wrap .puzzle-board{transform:rotate(2deg);box-shadow:0 32px 65px rgba(79,48,102,.19)}.hero-board-note{position:absolute;z-index:3;display:flex;flex-direction:column;padding:10px 13px;border-radius:12px;background:#fff;box-shadow:0 10px 24px rgba(58,37,75,.13);font-size:11px}.hero-board-note strong{font:700 11px IBM Plex Mono,monospace;text-transform:uppercase}.hero-board-note span{color:var(--muted)}.hero-board-note--top{top:42px;right:6px;transform:rotate(4deg)}.hero-board-note--bottom{bottom:40px;left:-4px;transform:rotate(-5deg)}.hero-spark{position:absolute;color:var(--pink);font-size:28px}.hero-spark--one{top:15%;left:5%}.hero-spark--two{right:4%;bottom:15%;color:var(--purple)}.puzzle-board{--board-size:7;display:grid;grid-template-columns:repeat(var(--board-size),1fr);width:min(100%,580px);aspect-ratio:1;border:3px solid var(--ink);border-radius:18px;overflow:hidden;background:var(--ink);box-shadow:0 16px 38px rgba(62,40,79,.14);touch-action:none}.puzzle-board--compact{border-radius:13px}.puzzle-cell{position:relative;display:grid;place-items:center;min-width:0;padding:0;aspect-ratio:1;border:0 solid rgba(56,39,79,.72);background:var(--region-color);cursor:pointer}.puzzle-cell:after{content:"";position:absolute;inset:0;border:1px solid rgba(56,39,79,.08);pointer-events:none}.puzzle-cell.edge-top{border-top-width:2px}.puzzle-cell.edge-right{border-right-width:2px}.puzzle-cell.edge-bottom{border-bottom-width:2px}.puzzle-cell.edge-left{border-left-width:2px}.cell-cat{width:48%;height:48%;color:var(--ink);filter:drop-shadow(0 2px 0 rgba(255,255,255,.35));z-index:1}.cell-x{font:500 clamp(13px,2.4vw,24px)/1 Fraunces Variable,serif;color:rgba(56,39,79,.43)}.puzzle-cell.is-revealed{animation:cat-pop .32s both}.puzzle-cell.is-uncertain{box-shadow:inset 0 0 0 3px #fff,inset 0 0 0 5px #e25793}.uncertain-dot{position:absolute;top:4px;right:4px;width:7px;height:7px;border-radius:50%;background:#d5437e}.hub-section{padding-block:66px 110px}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-bottom:34px}.how-strip h2,.privacy-story h2,.pro-banner h2,.section-heading h2{margin:12px 0 0;font:620 clamp(34px,4vw,55px)/1.03 Fraunces Variable,serif;letter-spacing:-.04em}.section-heading>p{max-width:390px;margin:0;color:var(--muted)}.hub-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.hub-card{display:flex;flex-direction:column;min-height:485px;border:1px solid var(--line);border-radius:24px;background:#fff;overflow:hidden;transition:transform .2s,box-shadow .2s}.hub-card:hover{transform:translateY(-5px);box-shadow:var(--shadow)}.hub-art{height:180px;margin:13px;border-radius:16px}.hub-art--upload{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:8px;background:#f8efff;border:2px dashed #c6a4e0;color:var(--purple-dark);font:700 9px IBM Plex Mono,monospace;letter-spacing:.08em}.upload-glyph{display:grid;place-items:center;width:52px;height:52px;border-radius:18px;background:#fff;font:400 30px Manrope;box-shadow:0 8px 22px rgba(92,61,119,.12)}.hub-art--daily{display:grid;grid-template-columns:repeat(5,1fr);gap:2px;padding:18px;background:var(--ink);transform:rotate(-1deg)}.mini-cell{display:grid;place-items:center;border-radius:3px}.mini-cell--0{background:#f7b7d0}.mini-cell--1{background:#cdb9f1}.mini-cell--2{background:#aee0d2}.mini-cell--3{background:#f6d88e}.mini-cell--4{background:#a9d7f5}.mini-cell svg{color:var(--ink)}.hub-art--generator{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;align-items:center;padding:24px;background:#fff4df}.hub-art--generator span{display:grid;place-items:center;aspect-ratio:1;border:1px solid #e6c875;border-radius:50%;font:700 13px IBM Plex Mono,monospace}.hub-art--generator i{grid-column:1/-1;text-align:center;color:#a5771d;font:700 9px IBM Plex Mono,monospace;text-transform:uppercase;letter-spacing:.12em}.hub-card__copy{padding:16px 22px 22px}.hub-kicker{font:700 10px IBM Plex Mono,monospace;color:var(--purple-dark);text-transform:uppercase;letter-spacing:.09em}.hub-card h3{margin:10px 0 12px;font:620 27px/1.08 Fraunces Variable,serif;letter-spacing:-.03em}.hub-card p{margin:0;color:var(--muted);font-size:13px;line-height:1.65}.privacy-chip{display:inline-flex;align-items:center;gap:7px;margin-top:14px;padding:6px 8px;border-radius:8px;background:#edf9f5;color:#367564;font:700 9px IBM Plex Mono,monospace;text-transform:uppercase}.privacy-chip i{width:7px;height:7px;border-radius:50%;background:#43a98d}.card-link{display:flex;justify-content:space-between;margin-top:auto;padding:18px 22px;border-top:1px solid var(--line);font-weight:800;font-size:13px}.card-link span{color:var(--pink);font-size:18px}.how-strip{background:var(--ink);color:#fff;padding:92px 0}.how-strip .eyebrow{color:#d8b9f0}.how-strip__grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:90px}.how-strip ol{list-style:none;margin:0;padding:0}.how-strip li{display:grid;grid-template-columns:52px 1fr;gap:17px;padding:20px 0;border-bottom:1px solid rgba(255,255,255,.14)}.how-strip li>span{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:var(--pink);font:700 12px IBM Plex Mono,monospace}.how-strip strong{font-size:15px}.how-strip p{margin:4px 0 0;color:#cbbfd4;font-size:13px}.privacy-story{display:grid;grid-template-columns:280px 1fr;gap:85px;align-items:center;padding-block:110px}.privacy-story__seal{display:flex;align-items:center;justify-content:center;flex-direction:column;aspect-ratio:1;border:1px solid #c8afd9;border-radius:50%;background:var(--mist);transform:rotate(-5deg)}.privacy-story__seal span{font:800 25px IBM Plex Mono,monospace;letter-spacing:.12em}.privacy-story__seal i{font-size:58px;color:var(--pink);font-style:normal;line-height:1}.privacy-story__seal small{font:600 9px IBM Plex Mono,monospace;text-transform:uppercase}.privacy-story>div:last-child{max-width:700px}.privacy-story p{color:var(--muted);font-size:16px;line-height:1.8}.text-button,.text-link{color:var(--purple-dark);font-weight:800}.text-button{border:0;background:transparent;padding:4px;cursor:pointer}.pro-banner{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:110px;padding:55px 60px;border-radius:28px;background:linear-gradient(135deg,#eadbfa,#fde2ef 70%,#fff1c7)}.pro-banner p{max-width:590px;color:var(--muted)}.site-footer{padding:72px 0;background:#2d203d;color:#fff}.site-footer__grid{display:grid;grid-template-columns:2fr repeat(3,1fr);gap:55px}.site-footer__grid>div{display:flex;flex-direction:column;align-items:flex-start;gap:10px}.site-footer a,.site-footer p{color:#c7bbd0;font-size:12px}.site-footer .fine-print{max-width:470px;font-size:10px}.footer-mark{display:flex;align-items:center;gap:10px}.footer-mark svg{color:#d7b2ef}.page-shell{padding-block:62px 110px}.page-intro{max-width:760px;margin-bottom:38px}.page-intro h1{font-size:clamp(48px,6vw,76px);margin-block:15px}.page-intro p{color:var(--muted);font-size:17px}.solver-flow{max-width:980px}.flow-stepper{display:grid;grid-template-columns:repeat(3,1fr);list-style:none;margin:0 0 18px;padding:0;border:1px solid var(--line);border-radius:16px;background:#fff;overflow:hidden}.flow-stepper li{display:flex;align-items:center;justify-content:center;gap:9px;padding:13px;color:#a090ab;font:700 10px IBM Plex Mono,monospace;text-transform:uppercase}.flow-stepper li+li{border-left:1px solid var(--line)}.flow-stepper span{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:#eee8f2}.flow-stepper .is-active{color:var(--purple-dark)}.flow-stepper .is-active span{background:var(--purple);color:#fff}.solver-panel{padding:34px;border:1px solid var(--line);border-radius:25px;background:#fff;box-shadow:var(--shadow)}.solver-panel--upload{max-width:720px;margin-inline:auto}.solver-intro{text-align:center}.solver-intro h2,.solver-panel__heading h2{margin:8px 0 7px;font:620 38px/1.05 Fraunces Variable,serif}.solver-intro p,.solver-panel__heading p{margin:0;color:var(--muted)}.drop-zone{display:flex;align-items:center;justify-content:center;flex-direction:column;min-height:205px;margin-top:28px;border:2px dashed #b992d6;border-radius:20px;background:var(--mist);cursor:pointer;transition:border .2s,transform .2s}.drop-zone:hover{border-color:var(--pink);transform:translateY(-2px)}.drop-zone input{position:absolute;width:1px;height:1px;opacity:0}.drop-zone__icon{display:grid;place-items:center;width:55px;height:55px;margin-bottom:12px;border-radius:18px;background:#fff;color:var(--purple);font-size:30px;box-shadow:0 9px 25px rgba(74,43,99,.11)}.drop-zone strong{font-size:15px}.drop-zone small{margin-top:5px;color:var(--muted)}.local-proof{display:flex;gap:12px;margin:16px 0;padding:14px 16px;border-radius:14px;background:#effaf6}.local-proof__pulse{flex:0 0 auto;width:10px;height:10px;margin-top:5px;border-radius:50%;background:#41a589;box-shadow:0 0 0 5px rgba(65,165,137,.12)}.local-proof strong{font-size:12px}.local-proof p{margin:3px 0 0;color:#548073;font-size:11px}.solver-or{display:flex;align-items:center;gap:10px;color:#a090ab;font:600 9px IBM Plex Mono,monospace;text-transform:uppercase}.solver-or:after,.solver-or:before{content:"";height:1px;flex:1 1;background:var(--line)}.manual-row{display:flex;align-items:end;gap:12px;margin-top:16px}.manual-row label{display:flex;flex-direction:column;gap:5px;color:var(--muted);font-size:11px}.manual-row select{min-height:48px;padding:0 35px 0 13px;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--ink);font-weight:700}.manual-row .button{flex:1 1}.solver-panel--upload>.text-button{display:block;margin:16px auto 0}.usage-note{text-align:center;color:var(--muted);font-size:10px}.usage-note strong{color:var(--purple);font:700 11px IBM Plex Mono,monospace}.solver-panel__heading{display:flex;align-items:start;justify-content:space-between;gap:25px;margin-bottom:25px}.board-editor{grid-template-columns:235px minmax(300px,580px)}.tool-toggle{display:grid;grid-template-columns:1fr 1fr;padding:4px;border-radius:12px;background:var(--mist)}.tool-toggle button{border:0;border-radius:9px;background:transparent;padding:9px 8px;font-size:10px;font-weight:800;cursor:pointer}.tool-toggle .is-active{background:#fff;color:var(--purple-dark);box-shadow:0 4px 10px rgba(72,42,94,.08)}.region-palette{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin-top:13px}.region-swatch{display:grid;place-items:center;aspect-ratio:1;border:2px solid transparent;border-radius:10px;color:var(--ink);font:700 10px IBM Plex Mono,monospace;cursor:pointer}.region-swatch.is-active{border-color:var(--ink);box-shadow:inset 0 0 0 2px #fff}.region-swatch--0{background:#f7b7d0}.region-swatch--1{background:#cdb9f1}.region-swatch--2{background:#aee0d2}.region-swatch--3{background:#f6d88e}.region-swatch--4{background:#a9d7f5}.region-swatch--5{background:#f4b39d}.region-swatch--6{background:#d4e68e}.region-swatch--7{background:#c7b4dc}.region-swatch--8{background:#f6c9a2}.region-swatch--9{background:#9ed9d0}.region-swatch--10{background:#efb8df}.region-swatch--11{background:#bdd2f3}.tool-note{font-size:11px}.form-error,.inline-notice{margin:20px 0 0;padding:12px 14px;border-radius:12px;background:#fff5dc;color:#805e1d;font-size:12px}.form-error{background:#fff0f4;color:#99365f}.panel-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:25px}.result-layout{display:grid;grid-template-columns:minmax(300px,560px) 1fr;gap:30px;align-items:start}.hint-card{padding:20px;border:1px solid #cfe8de;border-radius:16px;background:#f0faf7}.hint-card__label{color:#3b7d6a;font:700 9px IBM Plex Mono,monospace;text-transform:uppercase}.hint-card p{margin:9px 0;color:#466e63;font-size:13px}.hint-card code{display:inline-block;padding:5px 7px;border-radius:7px;background:#fff;color:var(--ink)}.result-help>.button{margin-top:12px}.pro-inline{margin-top:14px;padding:18px;border-radius:16px;background:var(--mist)}.pro-inline p{margin:5px 0 8px;color:var(--muted);font-size:11px}.pro-inline a{color:var(--purple-dark);font-weight:800;font-size:12px}@keyframes cat-pop{0%{transform:scale(.7)}70%{transform:scale(1.1)}to{transform:scale(1)}}@media(max-width:900px){.primary-nav{display:none}.hero{grid-template-columns:1fr;min-height:auto;padding-top:54px}.hero-board-wrap{margin:10px auto 0}.hub-grid{grid-template-columns:1fr}.hub-card{display:grid;grid-template-columns:210px 1fr;min-height:0}.hub-art{height:auto;min-height:180px}.card-link{grid-column:2}.how-strip__grid,.privacy-story{grid-template-columns:1fr}.privacy-story__seal{width:220px}.board-editor{grid-template-columns:1fr}.editor-toolbar{position:static}.result-layout{grid-template-columns:1fr}.site-footer__grid{grid-template-columns:1.5fr 1fr 1fr}.site-footer__grid>div:last-child{grid-column:2}.pro-banner{padding:40px}.site-header__inner{gap:10px}}@media(max-width:620px){.shell{width:min(100% - 24px,1180px)}.site-header__inner{min-height:62px}.site-header .button{display:none}.hero{padding-block:42px 60px}.hero h1{font-size:52px}.hero__actions{align-items:stretch;flex-direction:column}.hero__proof{display:grid;grid-template-columns:1fr 1fr}.hero__proof span{border:0}.hero-board-wrap{padding:42px;border-radius:38% 62% 46% 54%/53% 43% 57% 47%}.hero-board-note{display:none}.section-heading{align-items:start;flex-direction:column}.hub-section{padding-bottom:70px}.hub-card{display:flex}.hub-art{height:160px;min-height:0}.card-link{grid-column:auto}.how-strip{padding:68px 0}.how-strip__grid{gap:35px}.privacy-story{gap:36px;padding-block:70px}.privacy-story__seal{width:170px}.pro-banner{align-items:start;flex-direction:column;margin-bottom:70px;padding:30px 24px}.site-footer__grid{grid-template-columns:1fr 1fr}.site-footer__grid>div:first-child{grid-column:1/-1}.site-footer__grid>div:last-child{grid-column:auto}.page-shell{padding-block:40px 70px}.solver-panel{padding:20px 14px}.flow-stepper li{gap:5px;padding:10px 5px;font-size:8px}.flow-stepper span{width:19px;height:19px}.manual-row{align-items:stretch;flex-direction:column}.manual-row .button{width:100%}.solver-panel__heading{flex-direction:column}.solver-panel__heading .text-button{align-self:flex-end}.board-editor{gap:18px}.region-palette{grid-template-columns:repeat(6,1fr)}.panel-actions .button{flex:1 1;padding-inline:12px}.puzzle-board{border-radius:12px}.result-layout{min-width:0}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:after,:before{animation-duration:.001ms!important;transition-duration:.001ms!important}}.game-shell{--game-dock-height:calc(96px + env(safe-area-inset-bottom,0px));max-width:1040px;padding-bottom:var(--game-dock-height)}.game-status,.game-status-strip{display:flex;gap:18px;margin:0 0 12px;padding:10px 14px;border:1px solid var(--line);border-radius:14px;background:#fff}.game-status div,.game-status-strip div{display:flex;align-items:baseline;gap:7px}.game-status span,.game-status-strip span{color:var(--muted);font:700 12px IBM Plex Mono,monospace;text-transform:uppercase}.game-status strong,.game-status-strip strong{font:650 18px Fraunces Variable,serif}.game-layout{display:grid;grid-template-columns:minmax(0,1fr);grid-template-areas:"status" "board" "dock" "aside";gap:20px;align-items:start}.game-board-wrap{grid-area:board;min-width:0}.game-context{display:contents}.game-status-strip{grid-area:status}.game-action-dock{grid-area:dock}.game-aside{grid-area:aside}.game-action-dock,.game-tools{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:0}.game-action-dock button,.game-tools button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:6px 4px;border:1px solid var(--line);border-radius:12px;background:#fff;font-size:12px;font-weight:800;cursor:pointer;transition:background .18s,border-color .18s,color .18s}.game-action-dock button>span,.game-tools button>span{display:grid;place-items:center;width:22px;height:22px;border-radius:8px;background:var(--mist);color:var(--purple-dark);font-size:15px}.game-action-dock .is-active,.game-tools .is-active{border-color:var(--purple);background:var(--mist);color:var(--purple-dark)}.game-action-dock button:disabled,.game-tools button:disabled{cursor:not-allowed;opacity:.45}.game-aside{padding:22px;border:1px solid var(--line);border-radius:22px;background:#fff;box-shadow:0 16px 40px rgba(65,39,87,.08)}.game-aside h2{margin:10px 0 12px;font:620 30px/1.05 Fraunces Variable,serif}.game-aside>p,.game-aside__summary{color:var(--muted);font-size:16px}.game-aside>.text-button{display:block;margin:14px auto 0}.game-help-panel{display:flex;flex-direction:column;gap:12px;min-width:0}.game-help-panel__header{display:flex;align-items:center;justify-content:space-between;gap:12px}.game-help-panel__header h3{margin:0;font:650 22px/1.1 Fraunces Variable,serif}.game-help-panel__body{display:flex;flex-direction:column;gap:12px;min-height:0}.game-help-panel__body>p{margin:0;color:var(--muted);font-size:16px}.rule-mini{display:grid;grid-template-columns:28px 1fr;gap:8px 10px;margin:8px 0}.rule-mini span{display:grid;place-items:center;width:25px;height:25px;border-radius:50%;background:var(--pink);color:#fff;font:700 12px IBM Plex Mono,monospace}.rule-mini p{margin:2px 0;color:var(--muted);font-size:16px}.game-hint{margin-top:12px;padding:14px;border-radius:13px;background:#effaf6}.game-hint strong{color:#347865;font:700 12px IBM Plex Mono,monospace}.game-hint p{margin:5px 0 0;color:#4f776c;font-size:16px}.result-stamp{display:flex;align-items:center;justify-content:space-between;margin:23px 0;padding:20px;border:1px dashed #b994d5;border-radius:14px;background:var(--mist)}.result-stamp strong{font:650 38px Fraunces Variable,serif}.result-stamp span{color:var(--muted);font:700 12px IBM Plex Mono,monospace;text-transform:uppercase}@media(max-width:767.98px){.game-shell{padding-bottom:var(--game-dock-height)}.game-status-strip{justify-content:space-between;gap:8px}.game-status-strip div{align-items:flex-start;flex-direction:column;gap:1px}.game-action-dock{position:sticky;bottom:0;z-index:45;box-sizing:border-box;height:var(--game-dock-height);display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:minmax(0,1fr);align-items:center;gap:8px;margin:0;padding:10px 12px calc(10px + env(safe-area-inset-bottom,0px));overflow:hidden;border-top:1px solid var(--line);background:rgba(255,253,253,.96);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:0 -10px 30px rgba(67,40,91,.08);transition:transform .18s ease,opacity .18s ease}.game-action-dock button{min-height:44px;max-height:100%;line-height:1.1;font-size:12px;overflow:hidden}.game-action-dock button>span{height:20px;background:transparent}.game-help-panel:not([hidden]){position:static;box-sizing:border-box;max-height:320px;display:flex;flex-direction:column;min-height:0;padding:14px;border:1px solid var(--line);border-radius:18px 18px 14px 14px;background:#fff;box-shadow:0 16px 40px rgba(65,39,87,.16);transition:transform .18s ease,opacity .18s ease}.game-help-panel__body{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding-right:2px}.game-aside:not(.is-help-open){padding:16px}.game-aside.is-help-open{position:sticky;bottom:var(--game-dock-height);z-index:44;border:0;padding:0;background:transparent;box-shadow:none}.game-aside.is-help-open>.eyebrow,.game-aside.is-help-open>h2{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}}@media(min-width:768px) and (max-width:1023.98px){.game-shell{padding-bottom:0}.game-action-dock{position:sticky;bottom:12px;z-index:5;min-height:0;padding:10px;border:1px solid var(--line);border-radius:16px;background:rgba(255,253,253,.96);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}}@media(min-width:1024px){.game-shell{padding-bottom:0}.game-layout{grid-template-columns:minmax(340px,620px) minmax(250px,1fr);grid-template-areas:"board context";gap:30px}.game-context{display:flex;flex-direction:column;gap:16px;grid-area:context;position:sticky;top:88px;align-self:start}.game-action-dock,.game-aside,.game-status-strip{grid-area:auto}.game-board-wrap{grid-area:board}.game-action-dock{position:static;min-height:0;grid-template-columns:repeat(2,minmax(0,1fr));padding:10px;border:1px solid var(--line);border-radius:16px;background:rgba(255,253,253,.96);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.game-action-dock button{flex-direction:row;gap:8px;min-height:46px;font-size:12px}.game-action-dock button>span{width:23px;height:23px;background:var(--mist)}.game-help-panel:not([hidden]){position:static;left:auto;right:auto;bottom:auto;max-height:none;margin:0;box-shadow:none}.game-aside h2{font-size:33px}}@media(prefers-reduced-motion:reduce){.game-action-dock,.game-help-panel{transition:none}}.board-viewport{display:flex;flex-direction:column;gap:10px;min-width:0}.board-viewport__controls{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.board-viewport__controls button{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:0 12px;border:1px solid var(--line);border-radius:12px;background:#fff;font-size:12px;font-weight:800;cursor:pointer}.board-viewport__controls button.is-active{border-color:var(--purple);background:var(--mist);color:var(--purple-dark)}.board-viewport__controls button:disabled{cursor:not-allowed;opacity:.45}.board-viewport__surface{min-width:0}.board-viewport__surface.is-scrollable{overflow:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;max-width:100%;max-height:min(72vh,720px)}.board-viewport.is-focused .board-viewport__surface .puzzle-board{width:var(--board-focused-size);max-width:none;flex:0 0 auto;touch-action:pan-x pan-y}.game-progress-rail{height:6px;overflow:hidden;border-radius:99px;background:#eee7f2}.game-progress-rail__fill{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--purple),var(--pink));transition:width .2s ease}.game-action-dock .is-active{border-color:var(--purple-dark);background:var(--purple-dark);color:#fff;box-shadow:0 8px 20px rgba(82,48,111,.2);transform:translateY(-1px)}.game-action-dock .is-active>span{background:rgba(255,255,255,.16);color:#fff}@media(max-width:767.98px){.game-progress-rail{grid-area:status;align-self:end;z-index:1;margin:0 14px -3px}}@media(prefers-reduced-motion:reduce){.game-progress-rail__fill{transition:none}}@media(max-width:620px){.hero{gap:18px;padding-block:24px 30px}.hero-board-wrap{width:min(60vw,220px);padding:24px}.section-heading{gap:10px;margin-bottom:18px}.hub-section{padding-block:30px 56px}.hub-grid{gap:10px}.hub-card{display:grid;grid-template-columns:108px minmax(0,1fr);grid-template-areas:"art copy" "art link";align-items:stretch;min-height:0}.hub-art{grid-area:art;align-self:start;width:92px;height:92px;min-height:0;margin:8px}.hub-art--upload{padding:6px;text-align:center;font-size:8px;letter-spacing:.03em}.upload-glyph{width:36px;height:36px;border-radius:12px;font-size:22px}.hub-art--daily{padding:10px}.hub-art--generator{gap:4px;padding:10px}.hub-art--generator span{font-size:9px}.hub-art--generator i{font-size:7px;letter-spacing:.06em}.hub-card__copy{grid-area:copy;padding:12px 12px 8px 0}.card-link{grid-area:link;grid-column:auto;margin-top:0;padding:8px 12px}.hub-card--solver{border-color:#c9addf;box-shadow:0 12px 28px rgba(67,40,91,.09)}.hub-card--solver .card-link{border-top-color:transparent;background:linear-gradient(135deg,var(--purple),var(--pink));color:#fff}.hub-card--solver .card-link span{color:#fff}}.game-action-dock button{transition:transform .18s ease,box-shadow .18s ease,background .18s,border-color .18s,color .18s}.game-action-dock button:not(:disabled):hover{border-color:var(--purple);background:var(--mist);box-shadow:0 8px 18px rgba(82,48,111,.14);transform:translateY(-2px)}.game-action-dock button:not(:disabled):active{box-shadow:0 3px 9px rgba(82,48,111,.12);transform:translateY(0) scale(.98)}.game-action-dock button.is-active:not(:disabled):hover{border-color:var(--purple-dark);background:var(--purple-dark);color:#fff;box-shadow:0 10px 24px rgba(82,48,111,.24)}@media(prefers-reduced-motion:reduce){.game-action-dock button{transition:none!important}}.puzzle-row{display:contents}:root{--pink:#d95898}.hub-art--generator i{color:#78520c}.flow-stepper li,.solver-or{color:#675a71}.local-proof p{color:#3f665b}.reasoning-replay{margin-top:16px;padding:19px;border:1px solid var(--line);border-radius:16px;background:#fff}.reasoning-replay h3{margin:8px 0 5px;font:620 25px/1.1 Fraunces Variable,serif}.reasoning-replay>p{margin:0 0 12px;color:var(--muted);font-size:11px}.reasoning-replay .reasoning-warning{padding:10px;border-radius:9px;background:#fff5dc;color:#76551c}.reasoning-replay ol{max-height:330px;margin:0;padding:0;overflow:auto;list-style:none}.reasoning-replay li{display:grid;grid-template-columns:30px 1fr;gap:9px;padding:11px 0;border-top:1px solid var(--line)}.reasoning-replay li>span{color:var(--pink);font:700 9px IBM Plex Mono,monospace}.reasoning-replay li strong{font-size:11px}.reasoning-replay li p{margin:3px 0 0;color:var(--muted);font-size:10px;line-height:1.5}.game-aside .export-card{margin-top:9px}.page-intro--game{max-width:900px}.page-intro--tool{margin-bottom:20px}.tool-workspace .generator-controls,.tool-workspace .solver-panel{box-shadow:none}.generator-layout{display:grid;grid-template-columns:280px minmax(0,1fr);gap:34px;align-items:start}.generator-controls{position:sticky;top:96px;padding:26px;border:1px solid var(--line);border-radius:22px;background:#fff;box-shadow:0 16px 40px rgba(65,39,87,.08)}.generator-controls h2{margin:10px 0 24px;font:620 32px/1.05 Fraunces Variable,serif}.generator-controls fieldset,.generator-controls label{display:flex;flex-direction:column;gap:8px;margin:0 0 18px;color:var(--muted);font-size:11px;font-weight:800}.generator-controls select{width:100%;min-height:46px;padding:0 12px;border:1px solid var(--line);border-radius:11px;background:#fff;color:var(--ink);font-weight:800}.generator-controls fieldset{padding:0;border:0}.generator-controls legend{margin-bottom:8px}.difficulty-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px}.difficulty-grid button{min-height:39px;border:1px solid var(--line);border-radius:10px;background:#fff;text-transform:capitalize;cursor:pointer;font-size:11px;font-weight:800}.difficulty-grid .is-active{border-color:var(--purple);background:var(--mist);color:var(--purple-dark)}.generator-controls>.button+.button{margin-top:9px}.generator-note{margin:16px 0 0;color:var(--muted);font-size:10px;line-height:1.6}.generator-stage{min-width:0}.empty-board{display:flex;align-items:center;justify-content:center;flex-direction:column;min-height:540px;padding:55px;border:1px dashed #c4a6d9;border-radius:24px;background:radial-gradient(circle at center,#fff 0 42%,transparent 72%),var(--mist);text-align:center}.empty-board>div{display:grid;place-items:center;width:68px;height:68px;border-radius:24px;background:#fff;color:var(--pink);font-size:33px;box-shadow:var(--shadow)}.empty-board h2{margin:20px 0 8px;font:620 34px Fraunces Variable,serif}.empty-board p{max-width:490px;margin:0;color:var(--muted)}.shared-error,.shared-loading{display:flex;align-items:center;justify-content:center;flex-direction:column;min-height:380px;padding:40px;border:1px solid var(--line);border-radius:24px;background:var(--mist);text-align:center}.shared-loading{font:700 12px IBM Plex Mono,monospace;text-transform:uppercase}.shared-error>span{display:grid;place-items:center;width:52px;height:52px;border-radius:50%;background:#fff;color:var(--pink);font:600 31px Fraunces Variable,serif}.shared-error h2{margin:18px 0 5px;font:620 36px Fraunces Variable,serif}.shared-error p{margin:0 0 20px;color:var(--muted)}@media (max-width:900px){.generator-layout{grid-template-columns:1fr}.generator-controls{position:static}.generator-stage{margin-top:10px}}@media (min-width:621px){.page-shell:has(.page-intro--tool){padding-top:42px}.tool-workspace .empty-board{min-height:460px}}@media (max-width:520px){.generator-controls{padding:20px 16px}.empty-board{min-height:380px;padding:28px 20px}}.content-page{padding:78px 0 120px}.article-shell{display:grid;grid-template-columns:minmax(250px,.72fr) minmax(0,1.28fr);gap:clamp(50px,9vw,130px);align-items:start;max-width:1060px}.article-shell>header{position:sticky;top:110px}.article-shell h1,.offline-card h1{margin:22px 0 18px;font:630 clamp(48px,6vw,72px)/.98 Fraunces Variable,serif;letter-spacing:-.05em}.article-shell>header>p{margin:0;color:var(--muted);font-size:16px;line-height:1.75}.article-body{padding-top:12px}.article-body h2{margin:46px 0 10px;font:620 29px/1.12 Fraunces Variable,serif;letter-spacing:-.025em}.article-body h2:first-child{margin-top:0}.article-body li,.article-body p{color:#62566e;font-size:15px;line-height:1.82}.article-body ol{display:grid;gap:17px;margin:20px 0;padding-left:22px}.article-body strong{color:var(--ink)}.article-callout{margin-top:50px;padding:27px;border-radius:20px;background:linear-gradient(145deg,var(--mist),#fff1d4)}.article-callout>strong{font:620 26px Fraunces Variable,serif}.article-callout p{margin:7px 0 18px}.offline-card{display:flex;align-items:center;justify-content:center;flex-direction:column;min-height:560px;max-width:850px;text-align:center}.offline-card>span{display:grid;place-items:center;width:65px;height:65px;border-radius:23px;background:var(--mist);color:var(--pink);font-size:35px}.offline-card p{max-width:600px;margin:0 0 25px;color:var(--muted)}@media (max-width:760px){.content-page{padding:52px 0 78px}.article-shell{grid-template-columns:1fr;gap:42px}.article-shell>header{position:static}.article-shell h1,.offline-card h1{font-size:49px}}.level-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:14px}.level-grid a{display:flex;flex-direction:column;gap:4px;padding:16px 18px;border:1px solid var(--line);border-radius:16px;background:var(--paper)}.level-grid a:hover{border-color:var(--purple)}.level-grid span{color:var(--muted);font:600 9px/1 IBM Plex Mono,monospace;letter-spacing:.06em;text-transform:uppercase}.level-grid strong{font:680 26px/1 Fraunces Variable,serif}.level-grid small{color:var(--purple-dark);font-size:11px;font-weight:700}.level-answer{flex-wrap:wrap;gap:28px;margin-bottom:28px}.level-answer,.level-answer__aside{display:flex;align-items:flex-start}.level-answer__aside{flex:1 1 220px;flex-direction:column;gap:10px}.level-answer__count{font:680 19px/1 Fraunces Variable,serif;margin:0}.level-answer__replay{flex:1 1 100%}.level-pager{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:18px 0;border-top:1px solid var(--line);font-weight:700;font-size:13px}.level-pager a{color:var(--purple-dark)}.level-empty{display:flex;flex-direction:column;align-items:flex-start;gap:14px;padding:26px;border:1px dashed var(--line);border-radius:18px}.level-cta{margin-top:26px;padding:24px 26px;border-radius:18px;background:var(--mist)}.level-cta h2{margin:0 0 6px;font:620 21px Fraunces Variable,serif}.level-cta p{margin:0 0 14px;color:var(--muted);font-size:13px}.consent-banner{position:fixed;right:20px;bottom:20px;left:20px;z-index:100;display:flex;align-items:center;justify-content:space-between;gap:25px;width:min(920px,calc(100% - 40px));margin-inline:auto;padding:19px 21px;border:1px solid #554264;border-radius:18px;background:#2d203d;color:#fff;box-shadow:0 22px 60px rgba(34,21,47,.35)}.consent-banner strong{font:620 19px Fraunces Variable,serif}.consent-banner p{margin:3px 0 0;color:#d5cadc;font-size:11px}.consent-banner>div:last-child{display:flex;flex:0 0 auto;gap:8px}.ad-frame{display:flex;align-items:center;justify-content:center;flex-direction:column;min-height:122px;margin-block:24px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.ad-frame>span{margin-bottom:6px;color:#a496ad;font:600 8px IBM Plex Mono,monospace;text-transform:uppercase;letter-spacing:.08em}.rewarded-link{display:block;margin:9px auto 0;border:0;background:transparent;color:var(--purple-dark);cursor:pointer;font-size:10px;font-weight:800;text-decoration:underline;text-underline-offset:3px}.pro-upsell{display:flex;align-items:center;justify-content:space-between;gap:25px;padding:22px;border:1px solid #d9c6e8;border-radius:18px;background:linear-gradient(135deg,#faf5ff,#fff9ec)}.pro-upsell>div{min-width:0}.pro-upsell strong{display:block;margin-top:6px;font:620 22px/1.08 Fraunces Variable,serif}.pro-upsell p{max-width:670px;margin:5px 0 0;color:var(--muted);font-size:11px;line-height:1.6}.pro-upsell>.text-link{flex:0 0 auto;font-size:11px;white-space:nowrap}.pro-upsell--compact{align-items:flex-start;flex-direction:column;gap:10px;margin-top:14px;padding:17px}.pro-upsell--compact strong{font-size:19px}.pro-upsell--compact>.text-link{white-space:normal}.account-layout{display:grid;grid-template-columns:minmax(0,1fr) 410px;gap:70px;align-items:start}.account-card,.account-unavailable{padding:32px;border:1px solid var(--line);border-radius:24px;background:#fff;box-shadow:var(--shadow)}.purchase-status{margin-bottom:12px;padding:15px 17px;border:1px solid #c9dfd7;border-radius:14px;background:#effaf6;color:#367564}.purchase-status strong{font-size:12px}.purchase-status p{margin:3px 0 0;font-size:10px}.account-card h2,.account-unavailable h2{margin:10px 0;font:620 35px/1.05 Fraunces Variable,serif}.account-card>p,.account-unavailable p{color:var(--muted);font-size:12px;line-height:1.65}.account-card label{display:flex;flex-direction:column;gap:6px;margin:23px 0 12px;color:var(--muted);font-size:10px;font-weight:800}.account-card input{min-height:48px;padding:0 13px;border:1px solid var(--line);border-radius:12px;color:var(--ink)}.account-card>.button+.button{margin-top:9px}.account-card>.text-button{display:block;margin:13px auto 0}.account-card dl{margin:22px 0;border-top:1px solid var(--line)}.account-card dl div{display:flex;justify-content:space-between;padding:12px 0;border-bottom:1px solid var(--line)}.account-card dt{color:var(--muted);font-size:11px}.account-card dd{margin:0;font-size:11px;font-weight:800}.account-unavailable{text-align:center;background:var(--mist);box-shadow:none}.account-unavailable>span{color:var(--pink);font-size:42px}.pro-page{padding:80px 0 115px}.pro-hero{display:grid;grid-template-columns:minmax(0,1.2fr) 380px;gap:80px;align-items:center}.pro-hero h1{margin:24px 0 18px;font:630 clamp(58px,8vw,100px)/.86 Fraunces Variable,serif;letter-spacing:-.06em}.pro-hero h1 em{color:var(--pink);font-weight:inherit}.pro-hero>div>p{max-width:620px;color:var(--muted);font-size:17px;line-height:1.7}.price-card{padding:34px;border:1px solid #d5c4e3;border-radius:27px;background:linear-gradient(145deg,#fff,var(--mist));box-shadow:var(--shadow)}.price-card>small,.price-card>span{display:block;color:var(--muted);font:700 10px IBM Plex Mono,monospace;text-transform:uppercase}.price-card>strong{display:block;margin:12px 0 0;font:650 75px/.95 Fraunces Variable,serif}.price-card sup{color:var(--pink);font-size:28px}.price-card>small{margin-bottom:25px}.price-card>p,.purchase-unavailable{color:var(--muted);font-size:9px;line-height:1.6}.price-restore-link{display:inline-block;margin-top:8px;color:var(--purple-dark);font-size:10px;font-weight:800}.purchase-unavailable{padding:13px;border-radius:10px;background:#fff5d9;color:#795c23}.pro-comparison-section{margin-top:100px}.pro-section-heading{display:flex;align-items:end;justify-content:space-between;gap:35px;margin-bottom:22px}.pro-section-heading h2{margin:9px 0 0;font:620 clamp(35px,4vw,52px)/1.02 Fraunces Variable,serif;letter-spacing:-.04em}.pro-section-heading p{max-width:320px;margin:0;color:var(--muted);font-size:12px;text-align:right}.pro-table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:22px;background:#fff}.pro-comparison{width:100%;border-collapse:collapse;text-align:left}.pro-comparison td,.pro-comparison th{padding:17px 20px;border-bottom:1px solid var(--line);font-size:12px}.pro-comparison tr:last-child td,.pro-comparison tr:last-child th{border-bottom:0}.pro-comparison thead th{background:var(--mist);color:var(--purple-dark);font:750 10px IBM Plex Mono,monospace;text-transform:uppercase}.pro-comparison thead th:first-child{width:42%}.pro-comparison tbody th{font-weight:800}.pro-comparison tbody td{color:var(--muted)}.pro-comparison tbody td:last-child{color:var(--ink);font-weight:800}.pro-comparison tbody td:last-child span{margin-right:8px;color:#45947d}.pro-feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin-top:55px;border:1px solid var(--line);border-radius:24px;background:var(--line);overflow:hidden}.pro-feature-grid article{min-height:230px;padding:28px;background:#fff}.pro-feature-grid article>span{color:var(--pink);font:700 10px IBM Plex Mono,monospace}.pro-feature-grid h2{margin:35px 0 9px;font:620 26px Fraunces Variable,serif}.pro-feature-grid p{margin:0;color:var(--muted);font-size:12px;line-height:1.65}.pro-fine{display:flex;align-items:center;justify-content:space-between;gap:30px;margin-top:35px}.pro-fine p{max-width:700px;color:var(--muted);font-size:12px}.archive-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.archive-grid a{display:flex;flex-direction:column;min-height:155px;padding:22px;border:1px solid var(--line);border-radius:17px;background:#fff;transition:transform .18s,box-shadow .18s}.archive-grid a:hover{transform:translateY(-3px);box-shadow:var(--shadow)}.archive-grid small,.archive-grid span{color:var(--purple-dark);font:700 9px IBM Plex Mono,monospace;text-transform:uppercase}.archive-grid strong{margin:15px 0 auto;font:620 23px Fraunces Variable,serif}.archive-locked{max-width:650px;padding:26px;border:1px solid var(--line);border-radius:24px;background:var(--mist);text-align:center}.archive-locked>span{color:var(--pink);font-size:39px}.archive-locked h2{margin:8px 0;font:620 35px Fraunces Variable,serif}.archive-locked p{color:var(--muted)}.archive-locked .pro-upsell{text-align:left;background:#fff}@media (max-width:850px){.account-layout,.pro-hero{grid-template-columns:1fr}.account-layout{gap:20px}.pro-hero{gap:35px}.price-card{max-width:480px}.archive-grid,.pro-feature-grid{grid-template-columns:1fr 1fr}}@media (max-width:600px){.consent-banner{align-items:stretch;flex-direction:column}.consent-banner>div:last-child{flex-direction:column-reverse}.pro-page{padding-top:52px}.pro-hero h1{font-size:59px}.pro-feature-grid{margin-top:60px}.archive-grid,.pro-feature-grid{grid-template-columns:1fr}.pro-feature-grid article{min-height:190px}.pro-fine{align-items:stretch;flex-direction:column}.pro-comparison-section{margin-top:65px}.pro-section-heading{align-items:flex-start;flex-direction:column}.pro-section-heading p{text-align:left}.pro-comparison{table-layout:fixed}.pro-comparison td,.pro-comparison th{min-width:0;padding:13px 9px;overflow-wrap:anywhere;font-size:9px}.pro-comparison thead th:first-child{width:38%;min-width:0}.pro-upsell{align-items:flex-start;flex-direction:column}.pro-upsell>.text-link{white-space:normal}}.footer-link-button{border:0;background:transparent;padding:0;color:inherit;font:inherit;text-align:left;cursor:pointer}.footer-link-button:focus-visible,.footer-link-button:hover{color:var(--purple-dark)}.cell-cat{width:66%;height:66%}.cell-paw{width:60%;height:60%;color:rgba(56,39,79,.68);z-index:1}.tool-paw{width:16px;height:16px}.puzzle-cell.is-conflict{z-index:2;animation:conflict-pulse .36s ease-out 2;box-shadow:inset 0 0 0 4px #d83f7d}.conflict-notice{margin-top:10px;padding:11px 13px;border-radius:12px;background:#fff0f5;color:#8a2f59;font-size:12px;font-weight:750}.game-status-strip{margin-bottom:0}.game-context .game-aside{box-shadow:0 8px 24px rgba(65,39,87,.05)}.game-onboarding{display:grid;grid-template-columns:90px minmax(0,1fr) auto;align-items:center;gap:22px;margin-bottom:14px;padding:18px 20px;border:1px solid #d8c4ea;border-radius:18px;background:linear-gradient(135deg,var(--mist),#fff7dc)}.game-onboarding h2{margin:5px 0 3px;font:620 24px/1.08 Fraunces Variable,serif}.game-onboarding p{margin:0;color:var(--muted);font-size:12px}.guide-actions,.guide-progress,.guide-replay-actions{display:flex;align-items:center;gap:10px}.guide-progress{gap:5px}.guide-progress i{width:22px;height:6px;border-radius:99px;background:#dfd3e8;transition:background .18s,transform .18s}.guide-progress i.is-active{background:var(--pink);transform:scaleY(1.25)}@keyframes conflict-pulse{50%{transform:scale(.92)}}@media (prefers-reduced-motion:reduce){.puzzle-cell.is-conflict{animation:none}.guide-progress i{transition:none}}@media (max-width:700px){.game-onboarding{grid-template-columns:1fr;gap:12px}.guide-actions{justify-content:space-between}.guide-replay-actions{align-items:stretch;flex-direction:column}}.puzzle-cell.is-teaching-focus{z-index:3;box-shadow:inset 0 0 0 3px rgba(141,92,199,.42)}.puzzle-cell.is-teaching-target{z-index:5;box-shadow:inset 0 0 0 4px #fff,inset 0 0 0 7px var(--pink);animation:teaching-pulse 1.8s ease-in-out infinite}.puzzle-cell.is-teaching-contradiction{z-index:5;box-shadow:inset 0 0 0 4px #fff,inset 0 0 0 7px #c83f63}.teaching-panel{margin-top:16px;padding:18px;border:1px solid #d8c4ea;border-radius:17px;background:linear-gradient(145deg,#fbf7ff,#fff8fc);outline:none}.teaching-panel--idle p,.teaching-panel>p{margin:7px 0 13px;color:var(--muted);font-size:12px}.teaching-panel h3{margin:8px 0 0;font:650 22px/1.1 Fraunces Variable,serif}.teaching-panel--warning{border-color:#efb3c2;background:#fff3f6}.teaching-panel--success{border-color:#b9dfd4;background:#f0faf7}.teaching-targets{display:inline-flex;padding:6px 9px;border-radius:8px;background:#fff;color:var(--purple-dark);font:700 11px IBM Plex Mono,monospace}.teaching-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}@keyframes teaching-pulse{50%{filter:brightness(1.06)}}@media (max-width:520px){.teaching-actions .button{flex:1 1 100%;min-height:44px}}@media (prefers-reduced-motion:reduce){.puzzle-cell.is-teaching-target{animation:none}}.reasoning-replay--visual{display:grid;gap:14px}.reasoning-replay__header{display:flex;align-items:start;justify-content:space-between;gap:16px}.reasoning-replay__header h3{margin-bottom:0}.reasoning-replay--visual>.puzzle-board{width:min(100%,390px);margin-inline:auto}.reasoning-replay__status{min-height:96px;padding:13px;border-radius:12px;background:var(--mist)}.reasoning-replay__status>span{display:block;color:var(--purple-dark);font:700 9px IBM Plex Mono,monospace;text-transform:uppercase}.reasoning-replay__status strong{display:block;margin-top:5px;font-size:12px}.reasoning-replay__status p{margin:4px 0 0;color:var(--muted);font-size:11px}.reasoning-replay__controls{display:grid;grid-template-columns:1fr auto 1fr;gap:8px}.reasoning-replay__controls button:last-child{justify-self:stretch}.reasoning-replay__motion-note{color:var(--muted)}@media (max-width:520px){.reasoning-replay__header{flex-direction:column}.reasoning-replay__controls{grid-template-columns:1fr 1fr}.reasoning-replay__controls button:first-child{order:2}.reasoning-replay__controls button:nth-child(2){grid-column:1/-1}.reasoning-replay__controls button:last-child{order:3}}.screenshot-preprocessor{display:grid;grid-template-columns:minmax(320px,1.45fr) minmax(220px,.55fr);gap:28px;align-items:start}.screenshot-stage-wrap{min-width:0}.screenshot-stage{position:relative;overflow:hidden;margin-inline:auto;border:1px solid #ccb9da;border-radius:20px;background:linear-gradient(135deg,#eee7f2,#ded4e5);touch-action:none}.screenshot-stage>img{left:50%;top:50%;object-fit:contain;-webkit-user-select:none;user-select:none}.crop-shade,.screenshot-stage>img{position:absolute;pointer-events:none}.crop-shade{background:rgba(35,23,47,.56)}.crop-shade--top{left:0;right:0;top:0}.crop-shade--bottom{left:0;right:0;bottom:0}.crop-shade--left{left:0}.crop-shade--right{right:0}.crop-frame{position:absolute;border:3px solid #fff;border-radius:9px;box-shadow:0 0 0 1px rgba(45,32,61,.55),0 0 28px rgba(0,0,0,.18);cursor:move}.crop-frame:focus-visible{outline:4px solid #8d5cc7;outline-offset:4px}.crop-handle{position:absolute;width:44px;height:44px;border:0;background:transparent;cursor:nwse-resize}.crop-handle:after{content:"";position:absolute;width:16px;height:16px;border:4px solid #fff;filter:drop-shadow(0 1px 1px rgba(45,32,61,.65))}.crop-handle--nw{left:-22px;top:-22px}.crop-handle--nw:after{right:7px;bottom:7px;border-right:0;border-bottom:0}.crop-handle--ne{right:-22px;top:-22px;cursor:nesw-resize}.crop-handle--ne:after{left:7px;bottom:7px;border-left:0;border-bottom:0}.crop-handle--sw{left:-22px;bottom:-22px;cursor:nesw-resize}.crop-handle--sw:after{right:7px;top:7px;border-right:0;border-top:0}.crop-handle--se{right:-22px;bottom:-22px}.crop-handle--se:after{left:7px;top:7px;border-left:0;border-top:0}.crop-caption{margin:9px 3px 0;color:var(--muted);font-size:11px}.screenshot-controls{display:flex;flex-direction:column;gap:18px;padding:20px;border:1px solid var(--line);border-radius:18px;background:var(--mist)}.control-label,.size-control{display:flex;flex-direction:column;gap:7px;color:var(--ink);font-size:11px;font-weight:800}.compact-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:7px}.compact-actions .button{min-height:42px;padding:8px;font-size:10px}.size-control select{min-height:46px;padding:0 35px 0 12px;border:1px solid var(--line);border-radius:11px;background:#fff;color:var(--ink);font-weight:750}.size-control small{color:var(--muted);font-weight:500;line-height:1.4}.screenshot-controls .text-button{align-self:flex-start;margin-top:7px;font-size:10px}.screenshot-controls .form-error{margin:0}.recognition-progress{display:grid;gap:6px;padding:11px 12px;border:1px solid #d8c4ea;border-radius:12px;background:#fff}.recognition-progress>span{color:var(--muted);font:700 11px IBM Plex Mono,monospace;text-transform:uppercase;letter-spacing:.06em}.recognition-progress>strong{font-size:14px}.recognition-progress__stages{display:flex;flex-wrap:wrap;gap:6px;max-width:100%;margin:2px 0 0;padding:0;list-style:none}.recognition-progress__stages li{display:flex;align-items:center;min-width:24px;min-height:24px;border-radius:999px;background:#eee6f4;color:#796c83}.recognition-progress__stages li>span{display:grid;place-items:center;width:24px;height:24px;flex:0 0 auto;font:800 9px IBM Plex Mono,monospace}.recognition-progress__stages li small{padding-right:9px;font-size:12px;font-weight:750;white-space:normal}.recognition-progress__stages li.is-active{background:#6f42a1;color:#fff}.recognition-progress__stages li.is-complete{background:#dff2eb;color:#367564}.board-editor{--editor-rail-height:64px;display:grid;grid-template-columns:minmax(0,580px) minmax(220px,250px);grid-template-areas:"board tools";gap:30px;align-items:start;min-width:0;max-width:100%}.editor-toolbar{grid-area:tools;position:sticky;top:100px;display:flex;flex-direction:column;gap:12px;min-width:0;max-width:100%}.editor-board-surface{grid-area:board;min-width:0;max-width:100%}.editor-primary-tools{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:10px;min-width:0}.editor-primary-tools .tool-toggle{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:4px;border-radius:12px;background:var(--mist)}.editor-primary-tools button{min-height:44px;min-width:44px;padding:8px 6px;border:0;border-radius:9px;background:transparent;font-size:12px;font-weight:800;white-space:nowrap;cursor:pointer}.editor-primary-tools .tool-toggle button{background:transparent}.editor-primary-tools .tool-toggle .is-active{background:#fff;color:var(--purple-dark);box-shadow:0 4px 10px rgba(72,42,94,.08)}.editor-history{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:0}.editor-history button{border:1px solid var(--line);border-radius:11px;background:#fff}.editor-history button:disabled{color:#a99eaf;cursor:not-allowed;opacity:.65}.region-palette{display:flex;flex-wrap:nowrap;gap:8px;margin-top:0;max-width:100%;overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;padding:2px 2px 6px;scrollbar-width:thin}.region-palette .region-swatch{flex:0 0 auto;width:44px;min-width:44px;height:44px;min-height:44px;aspect-ratio:auto;display:grid;place-items:center;border:2px solid transparent;border-radius:10px;color:var(--ink);font:700 12px IBM Plex Mono,monospace;cursor:pointer}.region-palette .region-swatch.is-active{border-color:var(--ink);box-shadow:inset 0 0 0 2px #fff}.editor-validation{margin:0;padding:11px 12px;border-radius:12px;background:#fff5dc;color:#805e1d;font-size:12px;border:1px solid #ead9a8}.editor-validation.is-ready{background:#effaf6;color:#367564;font-weight:700;border-color:#c4e5d8}.tool-note{margin:0;color:var(--muted);font-size:12px;line-height:1.45}@media (max-width:900px){.board-editor{display:grid;grid-template-columns:minmax(0,1fr);grid-template-areas:"board" "rail" "palette" "validation";gap:10px;padding-bottom:calc(var(--editor-rail-height) + env(safe-area-inset-bottom, 0px))}.editor-board-surface{grid-area:board}.editor-toolbar{display:contents}.editor-primary-tools{grid-area:rail;position:sticky;bottom:env(safe-area-inset-bottom,0);z-index:24;box-sizing:border-box;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;align-items:center;height:var(--editor-rail-height);margin-inline:-6px;padding:9px 8px;border:1px solid var(--line);border-radius:16px 16px 0 0;background:rgba(255,253,253,.96);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:0 -10px 28px rgba(62,40,79,.08)}.editor-primary-tools .editor-history,.editor-primary-tools .tool-toggle{display:contents}.editor-primary-tools button{box-sizing:border-box;height:44px;min-height:44px;max-height:44px;min-width:0;padding:0 4px;border:1px solid var(--line);border-radius:11px;background:#fff;font-size:12px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:clip}.editor-primary-tools button.is-active{background:var(--mist);color:var(--purple-dark);border-color:var(--purple);box-shadow:none}.editor-primary-tools button:disabled{color:#a99eaf;cursor:not-allowed;opacity:.65}.region-palette,.tool-note{grid-area:palette;min-width:0}.editor-validation{grid-area:validation}.region-palette .region-swatch{min-height:44px;min-width:44px}.region-palette{overflow-x:auto;overscroll-behavior-x:contain}.editor-validation{font-size:13px}}@media (max-width:520px){.editor-primary-tools{margin-inline:-4px}}.local-reminder{display:flex;justify-content:center;align-items:center;gap:7px;margin:0;color:#47796b;font-size:10px}.local-reminder span{width:8px;height:8px;border-radius:50%;background:#41a589}.puzzle-cell.is-uncertain{z-index:2;box-shadow:inset 0 0 0 3px rgba(255,255,255,.92),inset 0 0 0 5px #d65d91}.puzzle-cell.is-uncertain.confidence-low:before{content:"";position:absolute;inset:0;background:rgba(215,63,121,.22);pointer-events:none}.puzzle-cell.is-uncertain.confidence-medium:before{content:"";position:absolute;inset:0;background:rgba(247,194,70,.13);pointer-events:none}.puzzle-cell.is-review-focused{z-index:3;box-shadow:inset 0 0 0 4px #fff,inset 0 0 0 8px #6f42a1,0 0 0 4px rgba(111,66,161,.22)}.uncertain-badge{position:absolute;right:4px;top:4px;z-index:4;display:grid;place-items:center;min-width:19px;height:19px;padding:0 4px;border-radius:999px;background:#7b3e99;color:#fff;font:800 9px/1 IBM Plex Mono,monospace;box-shadow:0 2px 6px rgba(49,27,62,.24)}.confidence-review{margin-bottom:24px;padding:18px;border:1px solid #e6cfaa;border-radius:18px;background:#fffaf0}.confidence-review__heading{display:flex;align-items:center;justify-content:space-between;gap:18px}.confidence-review h3{margin:5px 0 0;font:620 24px/1.1 Fraunces Variable,serif}.confidence-count{display:grid;place-items:center;min-width:58px;height:42px;border-radius:12px;background:#fff;color:#9b5c19;font:800 13px IBM Plex Mono,monospace}.confidence-status{margin:10px 0 13px;color:#735f43;font-size:11px}.confidence-reading{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:12px;padding:11px 12px;border:1px solid #d8c4ea;border-radius:12px;background:var(--mist)}.confidence-reading>div{display:flex;flex-direction:column;gap:2px}.confidence-reading span{color:var(--muted);font:700 8px IBM Plex Mono,monospace;text-transform:uppercase;letter-spacing:.06em}.confidence-reading strong{font-size:11px}.confidence-list{display:flex;gap:7px;overflow-x:auto;padding:2px 2px 8px}.confidence-list button{display:grid;grid-template-columns:20px auto auto;align-items:center;gap:7px;min-width:max-content;padding:7px 9px;border:1px solid #ead9bd;border-radius:10px;background:#fff;color:var(--ink);cursor:pointer}.confidence-list button>span{display:grid;place-items:center;width:19px;height:19px;border-radius:50%;background:#f2e4cb;font:800 8px IBM Plex Mono,monospace}.confidence-list button small{color:#9a6b2f;font:700 9px IBM Plex Mono,monospace}.confidence-list button.is-active{border-color:#7b3e99;box-shadow:0 0 0 2px rgba(123,62,153,.12)}.confidence-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:8px}.confidence-actions .button{min-height:40px;padding-inline:14px;font-size:11px}.recognition-correction-bar{display:flex;justify-content:space-between;align-items:center;gap:16px;margin:-8px 0 18px;padding:10px 13px;border-radius:12px;background:#f5eff9;color:var(--muted);font-size:11px}.recognition-clear{margin:16px 0 0;padding:11px 13px;border-radius:12px;background:#effaf6;color:#367564;font-size:11px;font-weight:700}.benchmark-runner{display:grid;gap:22px}.benchmark-setup{padding:24px;border:1px solid var(--line);border-radius:22px;background:#fff;box-shadow:var(--shadow)}.benchmark-picker{display:grid;place-items:center;min-height:170px;border:2px dashed #b992d6;border-radius:17px;background:var(--mist);text-align:center;cursor:pointer}.benchmark-picker input{position:absolute;width:1px;height:1px;opacity:0}.benchmark-picker span{color:var(--muted);font-size:11px}.benchmark-actions{display:flex;align-items:center;gap:10px;margin-top:16px}.benchmark-actions p{margin-right:auto;color:var(--muted);font-size:12px}.benchmark-summary{display:grid;grid-template-columns:repeat(7,1fr);gap:10px}.benchmark-summary div{padding:16px;border:1px solid var(--line);border-radius:15px;background:#fff}.benchmark-summary span{display:block;color:var(--muted);font-size:10px}.benchmark-summary strong{display:block;margin-top:5px;font:750 18px IBM Plex Mono,monospace}.benchmark-table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:18px;background:#fff}.benchmark-table{width:100%;border-collapse:collapse;font-size:11px}.benchmark-table td,.benchmark-table th{padding:12px 14px;border-bottom:1px solid var(--line);text-align:left}.benchmark-table th{background:var(--mist);color:var(--muted);font-size:9px;text-transform:uppercase}.benchmark-table td small{display:block;max-width:420px;color:#a53562}.benchmark-table tr.is-failed{background:#fff6f8}.benchmark-privacy{margin:0;color:#47796b;font-size:11px}@media (max-width:800px){.screenshot-preprocessor{grid-template-columns:1fr}.screenshot-controls{display:grid;grid-template-columns:1fr 1fr}.screenshot-controls>.button,.screenshot-controls>.form-error,.screenshot-controls>.local-reminder,.screenshot-controls>.recognition-progress,.screenshot-controls>.size-control{grid-column:1/-1}}@media (max-width:620px){.confidence-review{padding:14px}.confidence-reading{align-items:stretch;flex-direction:column}.confidence-actions .button{flex:1 1}.recognition-correction-bar{align-items:flex-start;flex-direction:column;gap:4px}.benchmark-actions{align-items:stretch;flex-direction:column}.benchmark-actions p{margin:0}.benchmark-summary{grid-template-columns:1fr 1fr}.uncertain-badge{right:2px;top:2px;min-width:16px;height:16px;font-size:8px}}@media (max-width:520px){.screenshot-controls{display:flex;padding:15px}.compact-actions .button span{display:inline}.crop-caption{font-size:10px}}.challenge-share{margin-top:16px;padding-top:16px;border-top:1px solid var(--line)}.challenge-share>p{margin:9px 2px 0;color:var(--muted);font-size:10px;line-height:1.5}.challenge-share>p[role=alert]{color:#99365f}.shared-next{display:flex;align-items:center;justify-content:space-between;gap:32px;margin-top:34px;padding:28px 30px;border:1px solid #d8c4ea;border-radius:22px;background:linear-gradient(135deg,var(--mist),#fff6dc)}.shared-next h2{margin:8px 0 5px;font:630 28px/1.05 Fraunces Variable,serif}.shared-next p{max-width:580px;margin:0;color:var(--muted);font-size:12px}.shared-next>div:last-child{display:flex;flex:0 0 auto;gap:9px}@media (max-width:700px){.shared-next{align-items:stretch;padding:23px 20px}.shared-next,.shared-next>div:last-child{flex-direction:column}}.daily-momentum{margin:-8px 0 28px;padding:22px;border:1px solid #d9c6e8;border-radius:22px;background:linear-gradient(135deg,#faf5ff,#fff9ec);box-shadow:0 15px 36px rgba(64,40,84,.07)}.daily-momentum.is-loading{display:grid;place-items:center;min-height:120px;color:var(--muted);font:700 10px IBM Plex Mono,monospace;text-transform:uppercase}.momentum-title{display:flex;align-items:end;justify-content:space-between;gap:20px}.momentum-title h2{margin:7px 0 0;font:620 28px/1.05 Fraunces Variable,serif}.momentum-title .text-link{font-size:11px}.momentum-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:17px}.momentum-metrics>div{padding:13px 15px;border:1px solid rgba(217,198,232,.85);border-radius:13px;background:rgba(255,255,255,.82)}.momentum-metrics span{display:block;color:var(--muted);font-size:9px;text-transform:uppercase}.momentum-metrics strong{display:block;margin-top:4px;font:750 17px IBM Plex Mono,monospace}.momentum-footer{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:13px}.momentum-footer p{margin:0;color:var(--muted);font-size:10px}.daily-momentum>.form-error{margin-bottom:0}.progress-loading{display:grid;place-items:center;min-height:340px;border:1px solid var(--line);border-radius:24px;background:var(--mist);color:var(--muted);font:700 11px IBM Plex Mono,monospace;text-transform:uppercase}.progress-empty{display:flex;align-items:center;justify-content:center;flex-direction:column;min-height:390px;padding:45px;border:1px solid var(--line);border-radius:25px;background:linear-gradient(145deg,#faf5ff,#fff9eb);text-align:center}.progress-empty>span{display:grid;place-items:center;width:58px;height:58px;border-radius:20px;background:#fff;color:var(--pink);font-size:28px;box-shadow:var(--shadow)}.progress-empty h2{margin:18px 0 7px;font:620 38px/1.05 Fraunces Variable,serif}.progress-empty p{max-width:560px;margin:0;color:var(--muted)}.progress-empty>div{display:flex;gap:9px;margin-top:22px}.progress-dashboard{display:grid;gap:55px}.progress-stats{display:grid;grid-template-columns:1.25fr 1fr 1fr;gap:10px}.progress-stats>div{padding:22px;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:0 12px 30px rgba(64,40,84,.06)}.progress-stats span{color:var(--purple-dark);font:700 9px IBM Plex Mono,monospace;text-transform:uppercase}.progress-stats strong{display:block;margin-top:8px;font:620 27px/1.05 Fraunces Variable,serif}.progress-stats small{display:block;margin-top:7px;color:var(--muted)}.progress-section-heading{display:flex;align-items:end;justify-content:space-between;gap:25px;margin-bottom:18px}.progress-section-heading h2{margin:8px 0 0;font:620 34px/1.05 Fraunces Variable,serif}.progress-section-heading>p{margin:0;color:var(--muted);font-size:11px}.milestone-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:0;padding:0;list-style:none}.milestone-grid li{display:grid;grid-template-columns:38px 1fr;gap:11px;min-height:145px;padding:18px;border:1px solid var(--line);border-radius:16px;background:#fff}.milestone-grid li>span{display:grid;place-items:center;width:34px;height:34px;border-radius:12px;background:#eee8f2;color:var(--muted);font:800 9px IBM Plex Mono,monospace}.milestone-grid li.is-unlocked{border-color:#c9dfd7;background:#f7fcfa}.milestone-grid li.is-unlocked>span{background:#4b9b84;color:#fff}.milestone-grid strong{font-size:13px}.milestone-grid p{margin:5px 0 12px;color:var(--muted);font-size:10px}.milestone-grid small{color:var(--purple-dark);font:700 8px IBM Plex Mono,monospace;text-transform:uppercase}.milestone-grid .is-locked small{color:#756783}.recent-list{margin:0;padding:0;border:1px solid var(--line);border-radius:18px;background:#fff;overflow:hidden;list-style:none}.recent-list li{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:14px 18px;border-bottom:1px solid var(--line)}.recent-list li:last-child{border:0}.recent-list li>div{display:flex;flex-direction:column}.recent-list li>div:last-child{text-align:right}.recent-list strong{font-size:12px}.recent-list span{color:var(--muted);font-size:9px}.progress-sync-note{display:flex;align-items:center;justify-content:space-between;gap:25px;padding:20px 22px;border-radius:17px;background:var(--mist)}.progress-sync-note p{margin:3px 0 0;color:var(--muted);font-size:10px}.progress-sync-note .text-link{font-size:11px;white-space:nowrap}.milestone-reveal{display:flex;flex-direction:column;gap:2px;margin:12px 0;padding:11px 13px;border:1px solid #c9dfd7;border-radius:12px;background:#effaf6;color:#367564}.milestone-reveal strong{font-size:11px}.completion-streak,.milestone-reveal span{font-size:9px}.completion-streak{margin:8px 0;color:var(--purple-dark)}.completion-progress-link{display:block;margin-top:13px;text-align:center;font-size:11px}@media (max-width:800px){.progress-stats{grid-template-columns:1fr 1fr}.progress-stats>div:first-child{grid-column:1/-1}.milestone-grid{grid-template-columns:1fr 1fr}}@media (max-width:700px){.momentum-title{align-items:flex-start;flex-direction:column}.momentum-metrics{grid-template-columns:1fr 1fr}.momentum-footer{align-items:stretch;flex-direction:column}.momentum-footer .button{width:100%}}@media (max-width:560px){.progress-empty{padding:30px 18px}.progress-empty>div,.progress-section-heading,.progress-sync-note{align-items:stretch;flex-direction:column}.milestone-grid,.progress-stats{grid-template-columns:1fr}.progress-stats>div:first-child{grid-column:auto}.recent-list li{align-items:flex-start}.progress-sync-note .text-link{white-space:normal}}@media (max-width:390px){.momentum-metrics{grid-template-columns:1fr}.momentum-title h2{font-size:25px}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.language-switcher{position:relative;display:inline-flex;align-items:center;gap:6px;min-width:0;color:var(--purple-dark)}.language-switcher>span[aria-hidden=true]{font-size:17px;line-height:1}.language-switcher select{width:116px;min-height:38px;padding:0 26px 0 8px;border:1px solid var(--line);border-radius:11px;background:#fff;color:var(--ink);font-size:11px;font-weight:750;cursor:pointer}.language-switcher select:focus-visible{outline:3px solid rgba(141,92,199,.35);outline-offset:2px}@media (max-width:620px){.language-switcher>span[aria-hidden=true]{display:none}.language-switcher select{width:104px}}:root{--pink:#c94486;--control-min:44px;--font-xs:12px;--font-sm:14px;--font-md:16px;--font-lg:18px;--weight-medium:600;--weight-semibold:680;--weight-bold:780;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:48px;--radius-control:12px;--radius-card:18px;--radius-feature:28px;--shadow-soft:0 12px 32px rgba(67,40,91,.08);--shadow-raised:0 20px 52px rgba(67,40,91,.13)}h1,h2,h3{text-wrap:balance}li,p{text-wrap:pretty}.game-status strong,.game-status-strip strong,.momentum-metrics strong,.progress-stats strong,.result-stamp strong{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.button--small,.confidence-actions .button,.confidence-list button,.difficulty-grid button,.language-switcher select,.text-button{min-height:var(--control-min)}.button--small{padding-inline:var(--space-4);font-size:13px}.text-button{margin-inline:-8px;padding:10px 8px;border-radius:10px}.text-button:hover{background:var(--mist)}.eyebrow{font-size:var(--font-xs);letter-spacing:.065em}.brand-lockup small{font-size:11px;letter-spacing:.045em}.brand-lockup{min-height:var(--control-min)}.primary-nav{gap:var(--space-5);font-size:var(--font-sm)}.primary-nav a[aria-current=page]{color:var(--purple-dark)}.primary-nav a[aria-current=page]:after{right:0}.language-switcher select{font-size:13px}.mobile-nav,.mobile-nav-toggle{display:none}.mobile-nav-toggle{align-items:center;justify-content:center;flex-direction:column;gap:5px;width:var(--control-min);height:var(--control-min);padding:0;border:1px solid var(--line);border-radius:var(--radius-control);background:#fff;cursor:pointer}.mobile-nav-toggle span{width:18px;height:2px;border-radius:2px;background:var(--ink);transition:transform .18s ease,opacity .18s ease}.mobile-nav-toggle[aria-expanded=true] span:first-child{transform:translateY(7px) rotate(45deg)}.mobile-nav-toggle[aria-expanded=true] span:nth-child(2){opacity:0}.mobile-nav-toggle[aria-expanded=true] span:last-child{transform:translateY(-7px) rotate(-45deg)}.article-shell h1,.hero h1,.page-intro h1{line-height:.96}.article-body li,.article-body p,.game-aside>p,.how-strip p,.hub-card p,.privacy-story p,.reasoning-replay p,.teaching-panel p{font-size:var(--font-md);line-height:1.72}.how-strip p,.hub-card p{font-size:var(--font-sm)}.generator-controls fieldset,.generator-controls label,.generator-note,.local-proof p,.manual-row label,.pro-inline p,.tool-note,.usage-note{font-size:13px;line-height:1.55}.flow-stepper li,.hub-art--generator i,.hub-art--upload,.hub-kicker,.privacy-story__seal small,.solver-or,.usage-note strong{font-size:var(--font-xs)}.difficulty-grid button{font-size:var(--font-sm)}.generator-stage{scroll-margin-top:92px}.game-status span,.game-status-strip span{font-size:var(--font-xs);letter-spacing:.035em}.game-status strong,.game-status-strip strong{font-size:18px}.game-action-dock button,.game-tools button{min-height:44px;font-size:var(--font-xs)}.game-aside>p,.game-aside__summary,.game-help-panel__body>p{font-size:var(--font-md)}.challenge-share p,.game-hint p,.hint-card p,.rule-mini p{font-size:var(--font-md);line-height:1.55}.game-hint strong,.hint-card__label,.result-stamp span,.rule-mini span{font-size:var(--font-xs)}.daily-after-game{margin-top:var(--space-7)}.daily-momentum{margin:0}.completion-progress-link,.daily-momentum.is-loading,.progress-loading,.progress-section-heading>p,.progress-stats span,.progress-sync-note .text-link,.progress-sync-note p{font-size:var(--font-xs)}.progress-empty p,.progress-stats small{font-size:var(--font-sm);line-height:1.6}.confidence-status,.crop-caption,.recognition-clear,.recognition-correction-bar{font-size:13px;line-height:1.5}.confidence-actions .button,.confidence-list button small,.confidence-reading strong,.screenshot-controls .text-button{font-size:var(--font-xs)}.confidence-list button>span,.confidence-reading span{font-size:11px}.confidence-list button{padding-inline:var(--space-3)}.site-footer a,.site-footer p{font-size:var(--font-sm)}.site-footer .fine-print{font-size:var(--font-xs);line-height:1.6}.site-footer a{margin-block:-5px}.article-body .text-link,.privacy-story .text-link,.site-footer a{display:inline-flex;align-items:center;min-height:var(--control-min)}html[lang^=ja] .article-shell h1,html[lang^=ja] .hero h1,html[lang^=ja] .page-intro h1,html[lang^=zh] .article-shell h1,html[lang^=zh] .hero h1,html[lang^=zh] .page-intro h1{font-family:Manrope Variable,Manrope,sans-serif;font-weight:var(--weight-semibold);line-height:1.08;letter-spacing:-.045em}html[lang^=ja] .eyebrow,html[lang^=zh] .eyebrow{letter-spacing:.035em}html[lang^=ja] .article-shell h1,html[lang^=zh] .article-shell h1{text-wrap:wrap}@media (max-width:900px){.mobile-nav-toggle{display:flex}.mobile-nav.is-open{display:block;border-top:1px solid rgba(223,211,232,.65);background:rgba(255,253,253,.98);box-shadow:var(--shadow-soft)}.mobile-nav nav{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-2);width:min(100% - 40px,1180px);margin-inline:auto;padding-block:var(--space-3) var(--space-4)}.mobile-nav a{display:flex;align-items:center;min-height:var(--control-min);padding:8px 12px;border-radius:var(--radius-control);color:var(--muted);font-size:var(--font-sm);font-weight:var(--weight-bold)}.mobile-nav a[aria-current=page]{background:var(--mist);color:var(--purple-dark)}.header-account{display:none}}@media (max-width:820px){.game-aside{order:0}}@media (max-width:620px){.mobile-nav nav{grid-template-columns:repeat(2,1fr);width:min(100% - 24px,1180px)}.hero h1{margin-block:16px 14px;font-size:42px}.hero__lede{font-size:var(--font-md);line-height:1.6}.hero__actions{margin-top:20px}.hero__proof{gap:var(--space-3);margin-top:18px}.hub-card__copy{min-width:0}.hub-card h3{margin-block:5px 6px;font-size:20px;line-height:1.05}.hub-card p{font-size:13px;line-height:1.45}.hub-kicker{font-size:10px}.privacy-chip{margin-top:8px;padding:4px 6px}.hub-card .card-link{align-items:center;min-height:var(--control-min)}.section-heading h2{font-size:30px;line-height:1}.page-intro h1{font-size:44px}html[lang^=ja] .hero h1,html[lang^=zh] .hero h1{font-size:40px}html[lang^=ja] .article-shell h1,html[lang^=zh] .article-shell h1{font-size:42px}.game-onboarding{padding:14px}.game-onboarding h2{font-size:22px;line-height:1.12}.game-onboarding p{font-size:var(--font-sm)}.game-action-dock button,.game-tools button{min-height:44px;font-size:max(12px,var(--font-xs))}.daily-after-game{margin-top:var(--space-6)}.site-footer{padding-block:40px}.site-footer__grid{gap:var(--space-5) var(--space-4)}.site-footer__grid>div:nth-child(2),.site-footer__grid>div:nth-child(3){display:none}.site-footer__grid>div:last-child{grid-column:1/-1;flex-direction:row;flex-wrap:wrap;gap:var(--space-3) var(--space-4)}}.board-viewport.is-focused .board-viewport__surface .puzzle-board{box-sizing:content-box}.game-help-panel[hidden]{display:none}.page-intro--game{display:grid;grid-template-columns:minmax(0,1fr) minmax(240px,420px);align-items:end;gap:18px 32px;max-width:none;margin-bottom:20px}.page-intro--game>.eyebrow{grid-column:2;grid-row:1;justify-self:start}.page-intro--game h1{grid-column:1;grid-row:1/span 2;margin:10px 0 0;font-size:clamp(38px,4.2vw,58px)}.page-intro--game>p{grid-column:2;grid-row:2;margin:0 0 4px;font-size:14px;line-height:1.55}@media (max-width:767.98px){.page-intro--game{grid-template-columns:minmax(0,1fr);margin-bottom:12px}.page-intro--game h1,.page-intro--game>.eyebrow,.page-intro--game>p{grid-column:1;grid-row:auto}.page-intro--game>p{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.game-board-wrap .board-viewport:not(.is-focused) .puzzle-board{width:min(100%,366px);margin-inline:auto}.game-layout:has(.game-aside.is-help-open){grid-template-areas:"status" "board" "aside" "dock"}}@media (min-width:768px) and (max-width:1023.98px){.game-layout{grid-template-columns:minmax(0,1fr) minmax(230px,280px);grid-template-areas:"board context";gap:24px}.game-board-wrap{grid-area:board}.game-context{grid-area:context;position:sticky;top:88px;align-self:start;display:flex;flex-direction:column;gap:12px}.game-action-dock,.game-aside,.game-status-strip{grid-area:auto}.game-action-dock{position:static;bottom:auto;grid-template-columns:repeat(2,minmax(0,1fr))}.game-action-dock button{flex-direction:row;gap:6px}.game-help-panel:not([hidden]){max-height:min(52vh,420px);overflow-y:auto;overscroll-behavior:contain}}@media (prefers-reduced-motion:reduce){.game-action-dock,.game-help-panel,.mobile-nav-toggle span{transition:none}}@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_next/static/media/fraunces-vietnamese-wght-normal.9ea1ffad.woff2) format("woff2-variations");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_next/static/media/fraunces-latin-ext-wght-normal.df252a37.woff2) format("woff2-variations");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,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:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_next/static/media/fraunces-latin-wght-normal.7d78925e.woff2) format("woff2-variations");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_next/static/media/manrope-cyrillic-ext-wght-normal.d1990364.woff2) format("woff2-variations");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_next/static/media/manrope-cyrillic-wght-normal.2ffcac4f.woff2) format("woff2-variations");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_next/static/media/manrope-greek-wght-normal.6b69666c.woff2) format("woff2-variations");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_next/static/media/manrope-vietnamese-wght-normal.383b32a0.woff2) format("woff2-variations");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_next/static/media/manrope-latin-ext-wght-normal.f5cc7610.woff2) format("woff2-variations");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,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:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_next/static/media/manrope-latin-wght-normal.fedf4c92.woff2) format("woff2-variations");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_next/static/media/ibm-plex-mono-cyrillic-ext-400-normal.66a2e865.woff2) format("woff2"),url(/_next/static/media/ibm-plex-mono-cyrillic-ext-400-normal.88f8fd5b.woff) format("woff");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_next/static/media/ibm-plex-mono-cyrillic-400-normal.651bc97e.woff2) format("woff2"),url(/_next/static/media/ibm-plex-mono-cyrillic-400-normal.9533b520.woff) format("woff");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_next/static/media/ibm-plex-mono-vietnamese-400-normal.110e2a76.woff2) format("woff2"),url(/_next/static/media/ibm-plex-mono-vietnamese-400-normal.7d495472.woff) format("woff");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_next/static/media/ibm-plex-mono-latin-ext-400-normal.9faee8e8.woff2) format("woff2"),url(/_next/static/media/ibm-plex-mono-latin-ext-400-normal.f14ffb91.woff) format("woff");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_next/static/media/ibm-plex-mono-latin-400-normal.06ac09dc.woff2) format("woff2"),url(/_next/static/media/ibm-plex-mono-latin-400-normal.e32cf7a4.woff) format("woff");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}