.maths{--c:var(--stack-maths);--ct:var(--stack-maths-text);--cs:var(--stack-maths-strong);--con:var(--stack-maths-on)}.english{--c:var(--stack-english);--ct:var(--stack-english-text);--cs:var(--stack-english-strong);--con:var(--stack-english-on)}.science{--c:var(--stack-science);--ct:var(--stack-science-text);--cs:var(--stack-science-strong);--con:var(--stack-science-on)}.history{--c:var(--stack-history);--ct:var(--stack-history-text);--cs:var(--stack-history-strong);--con:var(--stack-history-on)}.geography{--c:var(--stack-geography);--ct:var(--stack-geography-text);--cs:var(--stack-geography-strong);--con:var(--stack-geography-on)}.music{--c:var(--stack-music);--ct:var(--stack-music-text);--cs:var(--stack-music-strong);--con:var(--stack-music-on)}.el-education{--c:var(--element-education);--ct:var(--element-education-text)}.el-sport{--c:var(--element-sport);--ct:var(--element-sport-text)}.el-projects{--c:var(--element-projects);--ct:var(--element-projects-text)}.el-community{--c:var(--element-community);--ct:var(--element-community-text)}.el-growing{--c:var(--element-growing);--ct:var(--element-growing-text)}.gold{--c:var(--color-accent);--ct:var(--color-accent-text)}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{background:var(--color-surface-0);color:var(--color-text);font-family:var(--font-body);font-size:var(--text-md);transition:background-color var(--dur-base) var(--ease-out), color var(--dur-base) var(--ease-out);margin:0;line-height:1.6;overflow-x:hidden}h1,h2,h3{margin:0}h1,h2{font-family:var(--font-display);letter-spacing:.01em;text-wrap:balance;font-weight:400}h1{font-size:var(--display-lg);line-height:1.02}h2{font-size:var(--display-md);line-height:1.1}h3{font-size:var(--text-xl);font-weight:600;line-height:1.35}p,ul,ol{margin:0}a{color:inherit;text-underline-offset:3px;text-decoration-thickness:1px}a:hover{text-decoration-thickness:2px}:focus-visible{box-shadow:var(--focus-ring);border-radius:var(--radius-sm);outline:2px solid #0000}.wrap{max-width:var(--page-max);padding:0 var(--gutter);margin:0 auto}.section{padding:var(--section-pad) 0}.section.tint{background:var(--color-surface-1);border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border)}.section.deep{background:var(--color-surface-3);border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border)}.kicker{font-size:var(--text-xs);letter-spacing:.12em;text-transform:uppercase;color:var(--color-accent-text);margin-bottom:var(--space-3);font-weight:600}.lead{font-size:var(--text-lg);color:var(--color-text-muted);max-width:var(--measure);margin-top:var(--space-4)}.lead strong{color:var(--color-text);font-weight:600}.center{text-align:center}.center .lead{margin-left:auto;margin-right:auto}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip{left:var(--gutter);min-height:var(--tap-min);z-index:20;background:var(--color-action-bg);color:var(--color-action-fg);padding:var(--space-2) var(--space-4);border-radius:var(--radius-sm);align-items:center;font-weight:600;display:inline-flex;position:absolute;top:-60px}.skip:focus{top:var(--space-2)}.snips{gap:var(--space-3);margin-top:var(--space-5);max-width:var(--measure);padding:0;list-style:none;display:grid}.snips li{font-size:var(--text-lg);padding-left:26px;line-height:1.45;position:relative}.snips li:before{content:"";background:var(--c,var(--color-accent));width:14px;height:9px;box-shadow:var(--shadow-bevel);border-radius:2px;position:absolute;top:.45em;left:0}.snips li span{color:var(--color-text-muted)}.snips.small li{font-size:var(--text-md)}.tag{font-size:var(--text-xs);letter-spacing:.04em;border-radius:var(--radius-pill);white-space:nowrap;align-items:center;gap:6px;padding:3px 10px;font-weight:600;display:inline-flex}.tag.now{background:var(--color-accent);color:var(--color-on-accent)}.tag.soon{box-shadow:inset 0 0 0 1.5px var(--color-border-strong);color:var(--color-text)}.tag.soon:before{content:"";border:1.5px dashed var(--color-text-muted);border-radius:2px;width:8px;height:8px}.tag.progress{background:var(--color-accent-soft);color:var(--color-accent-text);box-shadow:inset 0 0 0 1.5px var(--color-accent)}.tag.progress:before{content:"";background:repeating-linear-gradient(135deg, var(--color-accent-text) 0 2px, transparent 2px 4px);border-radius:2px;width:8px;height:8px}.tag.sample{border:1px dashed var(--color-border-strong);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.08em}.btn{justify-content:center;align-items:center;gap:var(--space-2);min-height:var(--tap-min);border-radius:var(--radius-sm);font:600 var(--text-md) / 1.2 var(--font-body);cursor:pointer;transition:background-color var(--dur-fast) var(--ease-out), transform var(--dur-fast) var(--ease-out);border:0;padding:10px 20px;text-decoration:none;display:inline-flex}.btn-primary{background:var(--color-action-bg);color:var(--color-action-fg);box-shadow:var(--shadow-bevel)}.btn-primary:hover{background:var(--color-action-bg-hover)}.btn-primary:active{box-shadow:none;transform:translateY(1px)}.btn-primary:focus-visible{box-shadow:var(--focus-ring)}.btn-secondary{color:var(--color-action-2-fg);box-shadow:inset 0 0 0 2px var(--color-border-strong);background:0 0}.btn-secondary:hover{background:var(--color-surface-2)}.btn-secondary:focus-visible{box-shadow:inset 0 0 0 2px var(--color-border-strong), var(--focus-ring)}.cta-row{gap:var(--space-3);margin-top:var(--space-6);flex-wrap:wrap;display:flex}.center .cta-row{justify-content:center}.text-link{color:var(--color-accent-text);min-height:var(--tap-min);align-items:center;gap:6px;font-weight:600;text-decoration:none;display:inline-flex}.text-link:after{content:"→";transition:transform var(--dur-fast) var(--ease-out)}.text-link:hover{text-decoration:underline}.text-link:hover:after{transform:translate(3px)}.site-header{z-index:10;background:color-mix(in srgb, var(--color-surface-0) 90%, transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--color-border);position:sticky;top:0}.site-header .wrap{align-items:center;gap:var(--space-3);min-height:64px;display:flex}.logo{align-items:center;gap:var(--space-3);min-height:var(--tap-min);text-decoration:none;display:inline-flex}.wordmark{font-family:var(--font-display);align-items:center;gap:3px;font-size:22px;line-height:1;display:inline-flex}.wordmark .op{background:var(--color-brand);color:var(--color-on-brand);box-shadow:var(--shadow-bevel);border-radius:6px;padding:5px 6px 2px}.logo .brandline{font-weight:600;font-size:var(--text-sm);color:var(--color-text-muted);display:none}@media (min-width:1100px){.logo .brandline{display:inline}}.nav{gap:2px;margin-left:auto;display:none}.nav a{border-radius:var(--radius-sm);color:var(--color-text-muted);font-size:var(--text-sm);padding:10px 11px;font-weight:500;text-decoration:none}.nav a:hover{color:var(--color-text);background:var(--color-surface-1)}.nav a[aria-current=page]{color:var(--color-text);box-shadow:inset 0 -3px 0 var(--color-accent);border-radius:0}@media (min-width:960px){.nav{display:flex}}.header-actions{align-items:center;gap:var(--space-2);margin-left:auto;display:flex}@media (min-width:960px){.header-actions{margin-left:var(--space-2)}}.header-actions .btn{font-size:var(--text-sm);padding:8px 14px}.header-actions .btn-chat{display:none}@media (min-width:420px){.header-actions .btn-chat{display:inline-flex}}.theme-toggle,.menu>summary{width:var(--tap-min);height:var(--tap-min);border-radius:var(--radius-pill);cursor:pointer;background:var(--color-surface-1);color:var(--color-text);box-shadow:inset 0 0 0 1.5px var(--color-border-strong);border:0;flex:none;place-items:center;display:grid}.theme-toggle:hover,.menu>summary:hover{background:var(--color-surface-2)}.theme-toggle:focus-visible,.menu>summary:focus-visible{box-shadow:inset 0 0 0 1.5px var(--color-border-strong), var(--focus-ring);border-radius:var(--radius-pill)}.theme-toggle svg,.menu>summary svg{width:22px;height:22px}[data-theme=dark] .icon-moon,[data-theme=light] .icon-sun{display:none}.menu{position:relative}.menu>summary{list-style:none}.menu>summary::-webkit-details-marker{display:none}@media (min-width:960px){.menu{display:none}}.menu-panel{width:min(300px, calc(100vw - 2 * var(--gutter)));background:var(--color-surface-1);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-raise);padding:var(--space-2);display:grid;position:absolute;top:calc(100% + 10px);right:0}.menu-panel a{min-height:var(--tap-min);padding:0 var(--space-3);border-radius:var(--radius-sm);align-items:center;font-weight:500;text-decoration:none;display:flex}.menu-panel a:hover{background:var(--color-surface-2)}.menu-panel a[aria-current=page]{color:var(--color-accent-text)}.menu-panel .btn{margin-top:var(--space-2)}.brick{height:var(--brick-h);border-radius:var(--radius-brick);flex:none;display:block}.is-stacked{background:var(--c);box-shadow:var(--shadow-bevel)}.is-settling{background:color-mix(in srgb, var(--c) 35%, var(--color-surface-1));box-shadow:inset 0 0 0 2px var(--c)}.is-learning{background:repeating-linear-gradient(135deg, var(--c) 0 3px, transparent 3px 7px);box-shadow:inset 0 0 0 2px var(--c);animation:2.4s ease-in-out infinite pulse}.is-open{box-shadow:inset 0 0 0 1.5px color-mix(in srgb, var(--c) 60%, transparent);background:0 0}@keyframes pulse{50%{opacity:.55}}@keyframes drop{0%{opacity:0;transform:translateY(-120px)}55%{opacity:1}to{opacity:1;transform:none}}.tower{gap:var(--brick-gap);flex-direction:column-reverse;display:flex}.hero{padding:clamp(40px, 7vw, 88px) 0 var(--section-pad);position:relative;overflow:hidden}.hero:before{content:"";pointer-events:none;background-image:linear-gradient(var(--color-baseplate) 1px, transparent 1px), linear-gradient(90deg, var(--color-baseplate) 1px, transparent 1px);-webkit-mask-image:radial-gradient(ellipse 80% 70% at 50% 45%, var(--mask-solid) 30%, transparent 78%);-webkit-mask-image:radial-gradient(ellipse 80% 70% at 50% 45%, var(--mask-solid) 30%, transparent 78%);mask-image:radial-gradient(ellipse 80% 70% at 50% 45%, var(--mask-solid) 30%, transparent 78%);background-size:28px 28px;position:absolute;inset:0}.hero .wrap{position:relative}.hero h1 .hl{color:var(--color-accent-text)}.hero .sub{margin-top:var(--space-5);font-size:var(--text-lg);color:var(--color-text-muted);max-width:36em}.hero .sub strong{color:var(--color-text);font-weight:600}.center .sub{margin-left:auto;margin-right:auto}.answer{margin-top:var(--space-5);font-family:var(--font-display);font-size:var(--display-sm);line-height:1.2}.answer .hl{color:var(--color-accent-text)}.chip{align-items:center;gap:var(--space-2);border-radius:var(--radius-pill);background:var(--color-surface-1);box-shadow:inset 0 0 0 1px var(--color-border);font-weight:600;font-size:var(--text-sm);margin-bottom:var(--space-5);padding:6px 14px 6px 8px;display:inline-flex}.chip .mini{flex-direction:column-reverse;gap:2px;display:inline-flex}.chip .mini i{background:var(--c);border-radius:1.5px;width:16px;height:5px;display:block}.honest{margin-top:var(--space-5);font-size:var(--text-sm);color:var(--color-text-muted);max-width:40em}.center .honest{margin-left:auto;margin-right:auto}.page-hero{padding-bottom:var(--space-8)}.page-hero .tag{margin-bottom:var(--space-4)}.chart{margin:var(--space-7) auto 0;background:var(--color-surface-1);border:1px solid var(--color-border);border-radius:var(--radius-lg);max-width:900px;padding:var(--space-5) var(--space-4) var(--space-4);box-shadow:var(--shadow-raise);text-align:left}@media (min-width:600px){.chart{padding:var(--space-6) var(--space-6) var(--space-5)}}.chart-head{justify-content:space-between;align-items:center;gap:var(--space-3);margin-bottom:var(--space-5);flex-wrap:wrap;display:flex}.chart-head .t{font-weight:600}.chart-head .t small{color:var(--color-text-muted);font-weight:400;font-size:var(--text-sm);display:block}.plot{--u:calc(var(--brick-h) + var(--brick-gap));gap:var(--space-2);grid-template-columns:30px 1fr;display:grid}@media (min-width:600px){.plot{grid-template-columns:52px 1fr}}.ruler{height:calc(18 * var(--u));position:relative}.ruler span{font-size:var(--text-xs);color:var(--color-text-muted);font-variant-numeric:tabular-nums;white-space:nowrap;position:absolute;left:0;transform:translateY(50%)}.ruler .long{display:none}@media (min-width:600px){.ruler .long{display:inline}.ruler .short{display:none}}.ruler span.age{color:var(--color-accent-text);font-weight:700}.area{height:calc(18 * var(--u));position:relative}.area:before{content:"";background-image:linear-gradient(to top, var(--color-border) 1px, transparent 1px);background-size:100% calc(3 * var(--u));opacity:.55;pointer-events:none;position:absolute;inset:0}.band{left:-6px;right:-6px;bottom:calc(6 * var(--u) - 2px);height:calc(3 * var(--u) + 1px);background:var(--color-band);border-top:2px dashed var(--color-accent);border-bottom:2px dashed var(--color-accent);pointer-events:none;z-index:1;border-radius:4px;position:absolute}.band b{font-size:var(--text-xs);color:var(--color-accent-text);background:var(--color-surface-1);border-radius:4px;padding:0 6px;font-weight:700;position:absolute;top:-24px;right:6px}.cols{z-index:2;grid-template-columns:repeat(6,1fr);align-items:end;gap:clamp(6px,2vw,18px);display:grid;position:absolute;inset:0}.cols .tower .brick:last-child{animation:drop var(--dur-drop) var(--ease-drop) both;animation-delay:calc(.3s + var(--i,0) * .13s)}.cols .tower .brick.is-learning:last-child{animation:drop var(--dur-drop) var(--ease-drop) both, pulse 2.4s ease-in-out infinite;animation-delay:calc(.3s + var(--i,0) * .13s), 2s}.col-labels{margin-top:var(--space-3);grid-template-columns:30px repeat(6,1fr);column-gap:clamp(6px,2vw,18px);display:grid}@media (min-width:600px){.col-labels{grid-template-columns:52px repeat(6,1fr)}}.col-labels span{text-align:center;line-height:1.2}.col-labels b{font-family:var(--font-display);color:var(--ct);font-size:clamp(11px,1.2vw,13px);font-weight:400;display:block}.col-labels small{font-size:var(--text-xs);color:var(--color-text-muted);display:block}.col-labels .lbl-long,.col-labels .lvl-long{display:none}@media (min-width:600px){.col-labels .lbl-long,.col-labels .lvl-long{display:block}.col-labels .lbl-short,.col-labels .lvl-short{display:none}}.chart .legend{gap:var(--space-2) var(--space-5);margin-top:var(--space-5);padding-top:var(--space-4);border-top:1px solid var(--color-border);font-size:var(--text-sm);color:var(--color-text-muted);flex-wrap:wrap;list-style:none;display:flex}.chart .legend li{align-items:center;gap:var(--space-2);display:flex}.chart .legend .brick{--c:var(--stack-maths);width:22px;height:12px}.chart .legend .bandkey{border-top:2px dashed var(--color-accent);border-bottom:2px dashed var(--color-accent);background:var(--color-band);width:22px;height:12px}.chart .legend strong{color:var(--color-text);font-weight:600}.chart-note{margin-top:var(--space-3);font-size:var(--text-sm);color:var(--color-text-muted)}.paths{gap:var(--space-4);margin-top:var(--space-7);display:grid}@media (min-width:900px){.paths{grid-template-columns:1fr 1fr}}.path{padding:var(--space-5);border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-surface-1)}.path h3{font-size:var(--text-md);color:var(--color-text-muted);margin-bottom:var(--space-4);font-weight:600}.path ol{align-items:center;gap:var(--space-2);flex-wrap:wrap;padding:0;list-style:none;display:flex}.path li{align-items:center;gap:var(--space-2);font-weight:600;display:inline-flex}.path li+li:before{content:"→";color:var(--color-text-muted);font-weight:400}.path li span{border-radius:var(--radius-sm);background:var(--color-surface-2);padding:6px 12px}.path.old li:last-child span{box-shadow:inset 0 0 0 1.5px var(--color-border-strong);color:var(--color-text-muted);background:0 0;text-decoration:line-through;text-decoration-thickness:2px}.path.new{border-color:var(--color-accent);box-shadow:var(--shadow-glow)}.path.new li span{background:var(--color-accent);color:var(--color-on-accent);box-shadow:var(--shadow-bevel)}.flow{gap:var(--space-3);margin-top:var(--space-7);grid-template-columns:1fr 1fr;padding:0;list-style:none;display:grid}@media (min-width:900px){.flow{grid-template-columns:repeat(4,1fr)}}.flow li{padding:var(--space-5) var(--space-4);border-radius:var(--radius-md);background:var(--color-surface-1);border:1px solid var(--color-border);position:relative}.flow .glyph{height:56px;margin-bottom:var(--space-4);align-items:flex-end;gap:4px;display:flex}.flow .glyph .tower{width:40px}.flow .glyph .brick{height:12px}.flow .n{font-family:var(--font-display);color:var(--color-accent-text);font-size:var(--text-sm)}.flow h3{font-family:var(--font-display);font-weight:400;font-size:var(--display-sm);margin:2px 0 var(--space-2);line-height:1.1}.flow p{font-size:var(--text-sm);color:var(--color-text-muted)}.ring{border:3px dashed var(--color-accent);width:40px;height:40px;font-family:var(--font-display);color:var(--color-accent-text);border-radius:50%;place-items:center;font-size:11px;display:grid}.sun{background:radial-gradient(circle, var(--color-accent) 0 45%, transparent 47%), repeating-conic-gradient(var(--color-accent) 0 8deg, transparent 8deg 30deg);width:44px;height:44px;-webkit-mask:radial-gradient(circle, var(--mask-solid) 0 70%, transparent 71%);-webkit-mask:radial-gradient(circle, var(--mask-solid) 0 70%, transparent 71%);mask:radial-gradient(circle, var(--mask-solid) 0 70%, transparent 71%);border-radius:50%}.day{margin-top:var(--space-7)}.day-bar{border-radius:var(--radius-md);border:1px solid var(--color-border);height:64px;display:flex;overflow:hidden}.day-bar .learn{background:var(--color-surface-2);flex:2;align-items:stretch;gap:3px;padding:6px;display:flex}.day-bar .learn i{border-radius:4px;flex:1}.day-bar .free{background:repeating-linear-gradient(135deg, var(--color-band) 0 10px, transparent 10px 20px), var(--color-surface-1);font-family:var(--font-display);color:var(--color-accent-text);letter-spacing:.04em;flex:8;justify-content:center;align-items:center;font-size:clamp(12px,2vw,18px);display:flex}.day-keys{margin-top:var(--space-3);font-size:var(--text-sm);color:var(--color-text-muted);gap:var(--space-4);display:flex}.day-keys span:first-child{flex:2}.day-keys span:last-child{text-align:right;flex:8}.day-keys strong{color:var(--color-text);display:block}.free-list{gap:var(--space-2);margin-top:var(--space-5);flex-wrap:wrap;padding:0;list-style:none;display:flex}.free-list li{border-radius:var(--radius-pill);background:var(--color-surface-1);box-shadow:inset 0 0 0 1.5px var(--c);font-weight:600;font-size:var(--text-sm);padding:8px 14px}.pulls{gap:var(--space-3);margin-top:var(--space-7);padding:0;list-style:none;display:grid}@media (min-width:720px){.pulls{grid-template-columns:1fr 1fr}}@media (min-width:1024px){.pulls{grid-template-columns:repeat(3,1fr)}}.pull{gap:var(--space-2);padding:var(--space-5);border-radius:var(--radius-md);background:color-mix(in srgb, var(--c) 9%, var(--color-surface-1));border:1px solid color-mix(in srgb, var(--c) 35%, var(--color-border));display:grid}.pull .hook{font-size:var(--text-lg);font-weight:600;line-height:1.35}.pull .arrow{align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--color-text-muted);display:flex}.pull .arrow:before{content:"";background:var(--c);width:28px;height:2px}.pull .into{font-size:var(--text-md)}.pull .into b{font-family:var(--font-display);color:var(--ct);font-weight:400;font-size:var(--text-sm);letter-spacing:.02em}.duo{gap:var(--space-4);margin-top:var(--space-7);display:grid}@media (min-width:900px){.duo{grid-template-columns:1fr 1fr}}.duo>div{padding:var(--space-6) var(--space-5);border-radius:var(--radius-lg);background:var(--color-surface-1);border:1px solid var(--color-border)}.duo h3{font-family:var(--font-display);font-weight:400;font-size:var(--display-sm);color:var(--ct)}.elements{gap:var(--space-3);margin-top:var(--space-7);padding:0;list-style:none;display:grid}@media (min-width:720px){.elements{grid-template-columns:1fr 1fr}}@media (min-width:1100px){.elements{grid-template-columns:repeat(4,1fr)}}.element{gap:var(--space-2);padding:var(--space-5);border-radius:var(--radius-md);background:var(--color-surface-1);border:1px solid var(--color-border);border-top:6px solid var(--c);flex-direction:column;display:flex;position:relative}.element .icon{height:52px;margin-bottom:var(--space-2);align-items:flex-end;gap:4px;display:flex}.element .icon .tower{width:22px}.element .icon .brick{border-radius:2.5px;height:10px}.element h3{font-family:var(--font-display);font-weight:400;font-size:var(--display-sm);color:var(--ct);line-height:1.1}.element p{font-size:var(--text-sm);color:var(--color-text-muted)}.element .tag{align-self:flex-start}.element .text-link{margin-top:auto}.element .text-link:before{content:"";border-radius:var(--radius-md);position:absolute;inset:0}.element:has(.text-link:hover){border-color:var(--c)}.thread{margin-top:var(--space-3);gap:var(--space-4);padding:var(--space-4) var(--space-5);border-radius:var(--radius-md);background:repeating-linear-gradient(90deg, color-mix(in srgb, var(--c) 18%, transparent) 0 18px, transparent 18px 24px), var(--color-surface-1);border:1.5px solid var(--c);grid-template-columns:1fr;align-items:center;display:grid}@media (min-width:720px){.thread{grid-template-columns:auto 1fr}}.thread b{font-family:var(--font-display);color:var(--ct);font-weight:400;font-size:var(--text-lg)}.thread p{font-size:var(--text-sm);color:var(--color-text-muted)}.thread p strong{color:var(--color-text)}.ball{background:radial-gradient(circle at 35% 35%, var(--color-highlight) 0 18%, transparent 19%), var(--c);border-radius:50%;width:40px;height:40px;box-shadow:inset 0 -4px #00000040}.vision{gap:var(--space-7);align-items:center;display:grid}@media (min-width:900px){.vision{grid-template-columns:1.2fr 1fr}}.merge{justify-content:center;align-items:flex-end;gap:var(--space-5);display:flex}.merge .tower{width:54px}.merge .tower .brick{height:18px}.merge .one{width:90px}.merge .one .brick{height:22px}.merge .eq{font-family:var(--font-display);font-size:var(--display-md);color:var(--color-text-muted);align-self:center}.merge .parts{align-items:flex-end;gap:6px;display:flex}.merge .parts .tower{width:30px}.merge .parts .tower .brick{height:18px}.soon-grid{gap:var(--space-7);margin-top:var(--space-7);align-items:center;display:grid}@media (min-width:960px){.soon-grid{grid-template-columns:1fr 1fr}}.steps{gap:var(--space-4);counter-reset:s;padding:0;list-style:none;display:grid}.steps li{gap:var(--space-3);grid-template-columns:44px 1fr;display:grid}.steps li:before{counter-increment:s;content:"0" counter(s);font-family:var(--font-display);color:var(--color-accent-text);font-size:var(--display-sm);line-height:1.1}.steps h3{font-size:var(--text-lg)}.steps p{color:var(--color-text-muted);font-size:var(--text-sm)}.steps .tag{margin-left:var(--space-2);vertical-align:middle}.together{background:var(--color-surface-1);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-6) var(--space-5) var(--space-5);text-align:center}.together .kids{justify-content:center;align-items:flex-end;gap:clamp(10px,3vw,22px);display:flex}.together .kids .tower{width:30px}.together .kids .brick{height:14px}.together .stage{background:var(--color-accent);max-width:280px;height:14px;box-shadow:var(--shadow-bevel);border-radius:4px;margin:6px auto 0}.together .stage-label{font-family:var(--font-display);color:var(--color-accent-text);margin-top:var(--space-3)}.together p{color:var(--color-text-muted);font-size:var(--text-sm)}.safety{gap:var(--space-3);margin-top:var(--space-6);padding:var(--space-4) var(--space-5);border-radius:var(--radius-md);background:var(--color-success-soft);align-items:flex-start;display:flex}.safety svg{width:24px;height:24px;color:var(--color-success);flex:none;margin-top:2px}.safety strong{font-weight:600}.kits{margin-top:var(--space-4);gap:var(--space-4);padding:var(--space-4) var(--space-5);border-radius:var(--radius-md);border:2px dashed var(--color-border-strong);grid-template-columns:auto 1fr;align-items:center;display:grid}.kits .kit{align-items:flex-end;gap:4px;display:flex}.kits .kit .brick{width:18px}.kits p{font-size:var(--text-sm);color:var(--color-text-muted)}.kits p strong{color:var(--color-text)}.cards{gap:var(--space-3);margin-top:var(--space-7);padding:0;list-style:none;display:grid}@media (min-width:720px){.cards{grid-template-columns:1fr 1fr}}@media (min-width:1024px){.cards.three{grid-template-columns:repeat(3,1fr)}}.card{padding:var(--space-5);border-radius:var(--radius-md);background:var(--color-surface-1);border:1px solid var(--color-border)}.card.tinted{background:color-mix(in srgb, var(--c) 9%, var(--color-surface-1));border-color:color-mix(in srgb, var(--c) 35%, var(--color-border))}.card h3{margin-bottom:var(--space-2)}.card h3.disp{font-family:var(--font-display);font-weight:400;font-size:var(--display-sm);color:var(--ct);line-height:1.1}.card p{color:var(--color-text-muted);font-size:var(--text-sm)}.card p+p{margin-top:var(--space-2)}.card .meta{margin-top:var(--space-4);gap:var(--space-2);flex-wrap:wrap;display:flex}.card .an{margin-top:var(--space-3);font-size:var(--text-sm)}.card .an em{color:var(--ct);font-style:normal;font-weight:600}.status{font-size:var(--text-xs);border-radius:var(--radius-pill);padding:3px 10px;font-weight:600;display:inline-block}.status.ready{background:var(--cs);color:var(--con)}.status.mapped{box-shadow:inset 0 0 0 1.5px var(--c);color:var(--color-text)}.split{gap:var(--space-7);display:grid}@media (min-width:960px){.split{align-items:center;gap:var(--space-9);grid-template-columns:1fr 1fr}}.anatomy{gap:var(--space-4);display:grid}.block-card{background:var(--color-surface-1);border:1px solid var(--color-border);border-left:6px solid var(--c);border-radius:var(--radius-md);padding:var(--space-5)}.block-head{align-items:baseline;gap:var(--space-2) var(--space-3);flex-wrap:wrap;display:flex}.block-id{font-family:var(--font-display);font-size:var(--text-sm);color:var(--ct)}.block-title{font-weight:600;font-size:var(--text-xl);width:100%}.block-meta{font-size:var(--text-sm);color:var(--color-text-muted)}.sessions{margin:var(--space-4) 0 0;gap:var(--space-2);padding:0;list-style:none;display:grid}.sessions li{gap:var(--space-3);padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);background:var(--color-surface-2);font-size:var(--text-sm);grid-template-columns:40px 1fr;align-items:center;display:grid}.sessions b{font-family:var(--font-display);color:var(--ct);font-weight:400}.sessions em{color:var(--color-text-muted);font-style:normal}.shape{margin-top:var(--space-4)}.shape-label{font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-muted);margin-bottom:var(--space-2);font-weight:600}.shape-bar,.shape-keys{gap:3px;display:flex}.shape-bar span{border-radius:3px;height:10px}.shape-keys{margin-top:var(--space-2);font-size:var(--text-xs);color:var(--color-text-muted)}.shape-keys span{white-space:nowrap;overflow:hidden}.q-card{background:var(--color-surface-1);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-5)}.q-card .q{font-weight:600;font-size:var(--text-lg);margin:var(--space-2) 0 var(--space-4)}.opts{gap:var(--space-2);grid-template-columns:1fr 1fr;display:grid}.opt{min-height:var(--tap-min);border-radius:var(--radius-sm);background:var(--color-surface-2);box-shadow:inset 0 0 0 1.5px var(--color-border);font-variant-numeric:tabular-nums;align-items:center;padding:8px 14px;display:flex}.opt.picked{box-shadow:inset 0 0 0 2px var(--color-danger);background:var(--color-danger-soft)}.feedback{margin-top:var(--space-4);padding:var(--space-3) var(--space-4);border-radius:var(--radius-sm);background:var(--color-surface-2);border-left:4px solid var(--color-warning);font-size:var(--text-sm)}.feedback strong{margin-bottom:2px;display:block}.states{gap:var(--space-3);margin-top:var(--space-7);grid-template-columns:1fr 1fr;padding:0;list-style:none;display:grid}@media (min-width:900px){.states{grid-template-columns:repeat(4,1fr)}}.states li{padding:var(--space-4);border-radius:var(--radius-md);background:var(--color-surface-0);border:1px solid var(--color-border);--c:var(--stack-maths);position:relative}.states .brick{width:100%;height:26px;margin-bottom:var(--space-4)}.states h3{font-size:var(--text-lg)}.states p{color:var(--color-text-muted);font-size:var(--text-sm);margin-top:var(--space-1)}.states li.done{border-color:var(--color-accent);box-shadow:var(--shadow-glow)}.states .done-tag{top:-11px;right:var(--space-3);font-size:var(--text-xs);background:var(--color-accent);color:var(--color-on-accent);border-radius:var(--radius-pill);padding:2px 10px;font-weight:700;position:absolute}.timeline{gap:var(--space-3);margin-top:var(--space-6);padding:0;list-style:none;display:grid}.timeline li{gap:var(--space-3);font-size:var(--text-sm);grid-template-columns:22px auto 1fr;align-items:center;display:grid}.timeline li:before{content:"";background:var(--color-accent);width:18px;height:18px;box-shadow:var(--shadow-bevel);border-radius:5px}.timeline li:first-child:before{background:color-mix(in srgb, var(--color-accent) 35%, var(--color-surface-1));box-shadow:inset 0 0 0 2px var(--color-accent)}.timeline b{font-family:var(--font-display);font-weight:400}.timeline em{color:var(--color-text-muted);font-style:normal}@media (min-width:720px){.timeline{align-items:flex-start;gap:0;padding-top:4px;display:flex;position:relative}.timeline:before{content:"";background:repeating-linear-gradient(90deg, var(--color-border-strong) 0 6px, transparent 6px 10px);height:2px;position:absolute;top:12px;left:9px;right:9px}.timeline li{align-items:flex-start;gap:var(--space-2);flex-direction:column;display:flex;position:relative}.timeline li:first-child,.timeline li:nth-child(2){flex:2}.timeline li:nth-child(3){flex:4}.timeline li:nth-child(4){flex:8}.timeline li:nth-child(5){flex:none}}.rules{gap:var(--space-3);margin-top:var(--space-7);grid-template-columns:1fr 1fr;padding:0;list-style:none;display:grid}@media (min-width:960px){.rules{grid-template-columns:repeat(4,1fr)}}.rules li{padding:var(--space-5) var(--space-4);border-radius:var(--radius-md);background:var(--color-surface-1);border:1px solid var(--color-border)}.rules .n{font-family:var(--font-display);color:var(--color-accent-text);margin-bottom:var(--space-3);font-size:clamp(2.5rem,2rem + 3vw,4rem);line-height:1;display:block}.rules p{font-size:var(--text-sm);color:var(--color-text-muted)}.rules p strong{color:var(--color-text);font-size:var(--text-md);margin-bottom:2px;display:block}.table-wrap{margin-top:var(--space-6);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-1);overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:var(--text-sm);min-width:560px}table.narrow{min-width:0}caption{text-align:left;padding:var(--space-4) var(--space-4) 0;font-weight:600}th,td{text-align:left;padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border);vertical-align:top}thead th{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-muted)}tbody th{white-space:nowrap;font-weight:600}tbody th .sw{background:var(--c);border-radius:2px;width:10px;height:10px;margin-right:8px;display:inline-block}tbody tr:last-child th,tbody tr:last-child td{border-bottom:0}td .status{white-space:nowrap}.table-note{margin-top:var(--space-3);font-size:var(--text-sm);color:var(--color-text-muted)}.diffs{gap:var(--space-3);margin-top:var(--space-6);padding:0;list-style:none;display:grid}@media (min-width:900px){.diffs{grid-template-columns:1fr 1fr}}.diffs li{padding:var(--space-4) var(--space-5);border-radius:var(--radius-md);background:var(--color-surface-1);border-left:4px solid var(--c);font-size:var(--text-sm)}.diffs li b{font-family:var(--font-display);color:var(--ct);margin-bottom:var(--space-1);font-weight:400;display:block}.diffs li span{color:var(--color-text-muted)}.note{margin-top:var(--space-6);padding:var(--space-4) var(--space-5);border-radius:var(--radius-md);background:var(--color-accent-soft);border-left:4px solid var(--color-accent);font-size:var(--text-sm);max-width:760px}.note strong{font-weight:600}.placeholder{margin-top:var(--space-4);padding:var(--space-4) var(--space-5);border-radius:var(--radius-md);border:2px dashed var(--color-warning);color:var(--color-text);font-size:var(--text-sm)}.placeholder b{color:var(--color-warning);text-transform:uppercase;letter-spacing:.08em;font-size:var(--text-xs);margin-bottom:2px;display:block}.people{gap:var(--space-4);margin-top:var(--space-7);display:grid}@media (min-width:900px){.people{grid-template-columns:1fr 1fr}}.person{padding:var(--space-6) var(--space-5);border-radius:var(--radius-lg);background:var(--color-surface-1);border:1px solid var(--color-border)}.person .mono{width:64px;height:64px;font-family:var(--font-display);background:var(--c);color:var(--color-surface-0);box-shadow:var(--shadow-bevel);margin-bottom:var(--space-4);border-radius:12px;place-items:center;font-size:28px;display:grid}.person h3{font-family:var(--font-display);font-weight:400;font-size:var(--display-sm)}.person .role{color:var(--ct);margin-top:var(--space-1);font-weight:600}.person ul{margin-top:var(--space-4)}.privacy-list{gap:0 var(--space-7);margin-top:var(--space-6);padding:0;list-style:none;display:grid}@media (min-width:900px){.privacy-list{grid-template-columns:1fr 1fr 1fr}}.privacy-list li{gap:var(--space-3);padding:var(--space-4) 0;border-bottom:1px solid var(--color-border);grid-template-columns:28px 1fr;display:grid}.privacy-list svg{width:24px;height:24px;color:var(--color-success);margin-top:2px}.privacy-list strong{font-weight:600;display:block}.privacy-list span{color:var(--color-text-muted);font-size:var(--text-sm)}.cta-band{text-align:center}.cta-band .tower-row{margin-bottom:var(--space-6);justify-content:center;align-items:flex-end;gap:6px;display:flex}.cta-band .tower-row .tower{width:26px}.cta-band .tower-row .brick{height:12px}.cta-band h2{max-width:18ch;margin:0 auto}.cta-band p{margin:var(--space-4) auto 0;color:var(--color-text-muted);max-width:40em;font-size:var(--text-lg)}.faq{max-width:820px;margin-top:var(--space-5)}.faq details{border-bottom:1px solid var(--color-border)}.faq summary{cursor:pointer;justify-content:space-between;gap:var(--space-4);padding:var(--space-5) 0;font-weight:600;font-size:var(--text-lg);min-height:var(--tap-min);align-items:center;list-style:none;display:flex}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:"";border-right:2.5px solid var(--color-accent-text);border-bottom:2.5px solid var(--color-accent-text);width:14px;height:14px;transition:transform var(--dur-base) var(--ease-out);flex:none;transform:rotate(45deg)translate(-3px,-3px)}.faq details[open] summary:after{transform:rotate(-135deg)translate(-3px,-3px)}.faq details p{padding:0 0 var(--space-5);color:var(--color-text-muted);max-width:var(--measure)}.chat-grid{gap:var(--space-7);display:grid}@media (min-width:960px){.chat-grid{gap:var(--space-9);grid-template-columns:1fr 1.15fr;align-items:start}}form.chat{background:var(--color-surface-1);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-5);gap:var(--space-5);display:grid}@media (min-width:480px){form.chat{padding:var(--space-6)}}.field{gap:var(--space-2);display:grid}.field label,.field legend{padding:0;font-weight:600}.field .opt-tag{color:var(--color-text-muted);font-weight:400;font-size:var(--text-sm)}.field .help{font-size:var(--text-sm);color:var(--color-text-muted)}input[type=email],input[type=text],select,textarea{border-radius:var(--radius-sm);background:var(--color-surface-0);width:100%;min-height:48px;color:var(--color-text);border:2px solid var(--color-border-strong);font:400 var(--text-md) / 1.4 var(--font-body);padding:10px 14px}textarea{resize:vertical;min-height:120px}input:hover,select:hover,textarea:hover{background:var(--color-surface-2)}input:focus-visible,select:focus-visible,textarea:focus-visible{box-shadow:var(--focus-ring);border-radius:var(--radius-sm)}.check{gap:var(--space-3);font-size:var(--text-sm);min-height:var(--tap-min);grid-template-columns:24px 1fr;align-items:start;display:grid}.check input{width:22px;height:22px;accent-color:var(--color-accent);margin:2px 0 0}.check a{color:var(--color-accent-text)}.hp{width:1px;height:1px;position:absolute;left:-10000px;overflow:hidden}.form-foot{gap:var(--space-3);display:grid}.form-foot .btn{width:100%}@media (min-width:480px){.form-foot .btn{justify-self:start;width:auto}}.form-foot small{color:var(--color-text-muted);font-size:var(--text-sm)}.success{gap:var(--space-3);padding:var(--space-4);border-radius:var(--radius-sm);background:var(--color-success-soft);grid-template-columns:28px 1fr;display:none}.success svg{width:24px;height:24px;color:var(--color-success)}.success.show{display:grid}.site-footer{background:var(--color-surface-3);border-top:1px solid var(--color-border);padding:var(--space-8) 0 var(--space-7);font-size:var(--text-sm);color:var(--color-text-muted)}.site-footer .wrap{gap:var(--space-6);display:grid}@media (min-width:720px){.site-footer .wrap{grid-template-columns:1.4fr 1fr 1fr}}.site-footer .lines{margin-top:var(--space-3)}.site-footer .lines b{color:var(--color-text);font-weight:600}.site-footer h2{font-family:var(--font-body);font-size:var(--text-sm);color:var(--color-text);letter-spacing:0;margin-bottom:var(--space-2);font-weight:600}.site-footer ul{padding:0;list-style:none}.site-footer li a{min-height:var(--tap-min);align-items:center;text-decoration:none;display:inline-flex}.site-footer li a:hover{color:var(--color-text);text-decoration:underline}.site-footer .fine{border-top:1px solid var(--color-border);padding-top:var(--space-5);grid-column:1/-1}.teaser{margin-top:var(--space-7);gap:var(--space-4);padding:var(--space-5);border-radius:var(--radius-lg);border:1.5px solid var(--color-accent);background:var(--color-surface-1);box-shadow:var(--shadow-glow);display:grid}@media (min-width:1024px){.teaser{grid-template-columns:1fr 2fr auto;align-items:center}}.teaser h3{font-family:var(--font-display);font-weight:400;font-size:var(--display-sm);line-height:1.15}.teaser-list{gap:var(--space-2);flex-wrap:wrap;padding:0;list-style:none;display:flex}.teaser-list li{font-size:var(--text-sm);border-radius:var(--radius-pill);background:var(--color-surface-2);padding:6px 12px;font-weight:600}.teaser-list b{font-family:var(--font-display);color:var(--color-accent-text);margin-right:4px;font-weight:400}.part-icon{background:var(--color-accent);width:36px;height:36px;color:var(--color-on-accent);box-shadow:var(--shadow-bevel);border-radius:10px;flex:none;place-items:center;display:inline-grid}.part-icon svg{width:22px;height:22px}.part-n{align-items:center;gap:var(--space-3);font-family:var(--font-display);color:var(--color-accent-text);margin-bottom:var(--space-3);flex-wrap:wrap;display:flex}.part-n .tag{font-family:var(--font-body)}.overview{margin-top:var(--space-7);gap:var(--space-2);padding:0;list-style:none;display:grid}@media (min-width:720px){.overview{grid-template-columns:repeat(5,1fr)}}.overview a{align-items:center;gap:var(--space-3);min-height:var(--tap-min);padding:var(--space-3);border-radius:var(--radius-md);background:var(--color-surface-1);border:1px solid var(--color-border);font-weight:600;font-size:var(--text-sm);grid-template-columns:auto auto 1fr;line-height:1.3;text-decoration:none;display:grid}@media (min-width:720px){.overview a{grid-template-columns:1fr;align-content:start;height:100%}}.overview a:hover{border-color:var(--color-accent)}.overview b{font-family:var(--font-display);color:var(--color-accent-text);font-weight:400}.loop{margin-top:var(--space-7);gap:var(--space-6);counter-reset:none;padding:0;list-style:none;display:grid}@media (min-width:900px){.loop{gap:var(--space-7);grid-template-columns:repeat(4,1fr)}}.loop li{padding:var(--space-5) var(--space-4);border-radius:var(--radius-md);background:color-mix(in srgb, var(--c) 9%, var(--color-surface-1));border:1.5px solid var(--c);gap:var(--space-2);display:grid;position:relative}.loop li:nth-child(3){background:var(--cs);border-color:var(--cs);box-shadow:var(--shadow-bevel)}.loop li:nth-child(3) b,.loop li:nth-child(3) .step{color:var(--con)}.loop .step,.mapdiag .step{font-size:var(--text-xs);letter-spacing:.1em;text-transform:uppercase;color:var(--ct);font-weight:700}.loop b{font-size:var(--text-lg);line-height:1.3}.loop li+li:before{content:"↓";left:50%;top:calc(-1 * var(--space-6));color:var(--color-accent-text);font-size:22px;line-height:var(--space-6);position:absolute;transform:translate(-50%)}@media (min-width:900px){.loop li+li:before{content:"→";left:calc(-1 * var(--space-7));width:var(--space-7);text-align:center;line-height:1;top:50%;transform:translateY(-50%)}}.loop-back{justify-content:center;align-items:center;gap:var(--space-2);margin-top:var(--space-4);color:var(--color-accent-text);font-weight:600;font-size:var(--text-sm);display:flex}.loop-back svg{width:22px;height:22px}.mapdiag{gap:var(--space-4);align-items:center;display:grid}@media (min-width:600px){.mapdiag{grid-template-columns:auto 1fr;gap:0}}.map-from{padding:var(--space-5);border-radius:var(--radius-md);background:var(--cs);color:var(--con);box-shadow:var(--shadow-bevel);gap:var(--space-1);display:grid}.map-from .step{color:var(--con)}.map-from b{font-family:var(--font-display);font-weight:400;font-size:var(--display-sm);line-height:1.1}.map-to{gap:var(--space-2);padding:0;list-style:none;display:grid}@media (min-width:600px){.map-to{padding-left:var(--space-6);position:relative}.map-to:before{content:"";width:var(--space-4);border:2px solid var(--color-border-strong);border-right:0;border-radius:8px 0 0 8px;position:absolute;top:22px;bottom:22px;left:0}.map-to li{position:relative}.map-to li:before{content:"";left:calc(-1 * var(--space-6) + var(--space-4));width:calc(var(--space-6) - var(--space-4));border-top:2px solid var(--color-border-strong);position:absolute;top:50%}}.map-to li{padding:var(--space-3) var(--space-4);border-radius:var(--radius-sm);background:var(--color-surface-1);border-left:4px solid var(--c);font-size:var(--text-sm);font-weight:500}.map-to b,.pull-chips b{font-family:var(--font-display);color:var(--ct);font-weight:400;font-size:var(--text-xs);letter-spacing:.03em;margin-right:4px}.phone-card{width:100%;max-width:420px;padding:var(--space-5);background:var(--color-surface-1);border:1px solid var(--color-border);box-shadow:var(--shadow-raise);border-radius:24px;justify-self:center}.section.tint .phone-card{background:var(--color-surface-0)}.pc-top{align-items:center;gap:var(--space-3);font-weight:600;font-size:var(--text-sm);color:var(--color-text-muted);margin-bottom:var(--space-4);flex-wrap:wrap;display:flex}.pc-top .tag{margin-left:auto}.wordmark.small{font-size:14px}.wordmark.small .op{border-radius:4px;padding:3px 4px 1px}.pc-body{font-size:var(--text-lg);line-height:1.45}.pc-stack{margin-top:var(--space-4);gap:4px;display:flex}.pc-stack .brick{width:40px;height:12px}.ask{gap:var(--space-3);counter-reset:q;padding:0;list-style:none;display:grid}.ask li{gap:var(--space-3);grid-template-columns:32px 1fr;align-items:start;line-height:1.45;display:grid}.ask li:before{counter-increment:q;content:counter(q);background:var(--color-accent);width:28px;height:28px;color:var(--color-on-accent);font-family:var(--font-display);box-shadow:var(--shadow-bevel);border-radius:8px;place-items:center;display:grid}.card.project{gap:var(--space-3);align-content:start;display:grid}.card.project h3{margin-bottom:0}.card .when{color:var(--color-text);font-size:var(--text-md);font-weight:600;line-height:1.4}.card .when span{font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--ct);margin-bottom:2px;font-weight:700;display:block}.card .pulls-label{font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-muted);font-weight:700}.pull-chips{gap:6px;padding:0;list-style:none;display:grid}.pull-chips li{font-size:var(--text-sm);border-radius:var(--radius-sm);background:var(--color-surface-1);border-left:3px solid var(--c);padding:6px 10px}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}}.error{color:var(--color-danger);font-size:var(--text-sm);font-weight:600}.field input[aria-invalid=true],.field textarea[aria-invalid=true]{box-shadow:inset 0 0 0 2px var(--color-danger)}.legal{max-width:var(--measure);gap:var(--space-4);margin-top:var(--space-5);display:grid}.legal h2{font-family:var(--font-body);font-size:var(--text-xl);margin-top:var(--space-5);font-weight:600}.legal ul{padding-left:var(--space-5);gap:var(--space-2);display:grid}.legal a{color:var(--color-accent-text)}.todo{background:var(--color-accent-soft);color:var(--color-text);border-radius:var(--radius-sm);box-shadow:inset 0 0 0 1.5px var(--color-accent);padding:1px 6px}
