.on-light{--fg: var(--navy);--fg-2: var(--body);--fg-3: var(--muted);--bg: var(--ground);--raise: var(--paper);--rule: var(--line-on-light);--rule-strong: var(--line-on-light-strong);--accent-text: var(--green-ink)}.on-dark{--fg: var(--ground);--fg-2: var(--ground-70);--fg-3: var(--ground-50);--bg: var(--navy);--raise: var(--navy-2);--rule: var(--line-on-dark);--rule-strong: var(--line-on-dark-strong);--accent-text: var(--green)}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-padding-top:var(--nav-h)}@media(prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}body{margin:0;font-family:var(--font);font-size:var(--t-body);line-height:var(--lh-body);background:var(--navy);color:var(--ground);-webkit-font-smoothing:antialiased;overflow-x:clip}img,svg,video,canvas{display:block;max-width:100%}[hidden]{display:none!important}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit;color:inherit}button{cursor:pointer}h1,h2,h3,p,ol,ul,dl,dd,figure{margin:0}ol,ul{padding:0;list-style:none}h1,h2,h3{font-weight:var(--w-regular)}h1{font-size:var(--t-1);line-height:var(--lh-tight);letter-spacing:var(--track-display)}h2{font-size:var(--t-2);line-height:var(--lh-head);letter-spacing:var(--track-head)}h3{font-size:var(--t-3);line-height:var(--lh-head);letter-spacing:var(--track-head)}.eyebrow{font-size:var(--t-micro);line-height:1.4;letter-spacing:var(--track-eyebrow);text-transform:uppercase;color:var(--fg-3)}.eyebrow--green{color:var(--accent-text)}.dot{color:var(--green)}.wrap{padding-inline:var(--gutter);max-width:var(--max);margin-inline:auto}:focus-visible{outline:2px solid var(--green);outline-offset:2px}.sec{position:relative;background:var(--bg);color:var(--fg);padding-block:var(--section)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--s-2);min-height:var(--tap);padding:0 var(--s-5);font-size:var(--t-small);font-weight:var(--w-medium);white-space:nowrap;color:var(--bg);background:var(--fg);border:1px solid var(--fg);transition:background-color var(--d-base) var(--ease),color var(--d-fast) var(--ease),border-color var(--d-base) var(--ease),transform var(--d-instant) var(--ease-out)}.btn:active{transform:scale(.97)}.btn--green{color:var(--navy);background:var(--green);border-color:var(--green)}.btn--green:hover{color:var(--bg);background:var(--fg);border-color:var(--fg)}.btn--sm{min-height:calc(var(--tap) - var(--s-2));padding-inline:var(--s-4)}.link-arrow{display:inline-flex;align-items:center;min-height:var(--tap);font-size:var(--t-small);border-bottom:1px solid currentColor;padding-block:var(--s-1);line-height:1.2;min-height:0}.ctl{min-height:calc(var(--tap) - var(--s-3));padding:0 var(--s-3);font-size:var(--t-micro);letter-spacing:.04em;background:transparent;border:1px solid var(--rule-strong);color:var(--fg)}.ctl:hover{border-color:var(--green);color:var(--accent-text)}.nav{position:fixed;inset:0 0 auto;z-index:var(--z-nav);height:var(--nav-h);display:flex;align-items:stretch;color:var(--fg);background:var(--bg);border-bottom:1px solid var(--rule)}.nav a{display:flex;align-items:center;padding-inline:var(--s-4);font-size:var(--t-small)}.brand{gap:var(--s-2);padding-left:var(--gutter)!important;font-size:var(--t-4)!important;font-weight:var(--w-medium);letter-spacing:var(--track-head)}.brand img{width:18px;height:18px}.nav__links{display:none}.nav__spacer{flex:1}.nav__cta{background:var(--green);color:var(--navy);font-weight:var(--w-medium)}@media(min-width:1024px){.nav__links{display:flex}.nav__links a{border-left:1px solid var(--rule)}}.switcher{position:fixed;right:var(--s-3);bottom:calc(var(--s-3) + env(safe-area-inset-bottom));z-index:var(--z-switcher);display:flex;gap:2px;padding:3px;background:var(--navy);border:1px solid var(--line-on-dark-strong);font-size:var(--t-micro);font-weight:var(--w-medium)}.switcher a{display:grid;place-items:center;min-width:36px;min-height:36px;color:var(--ground-70)}.switcher a[aria-current]{background:var(--green);color:var(--navy)}.shead{display:grid;gap:var(--s-5);margin-bottom:var(--s-12)}.shead__title{display:grid;gap:var(--s-3)}.shead__body{color:var(--fg-2);max-width:34em}@media(min-width:1024px){.shead{grid-template-columns:repeat(12,minmax(0,1fr));align-items:end}.shead__title{grid-column:1 / 8}.shead__body{grid-column:9 / 13}}.hero__title{max-width:12em}.hero__sub{color:var(--fg-2);max-width:32em}.hero__actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s-4) var(--s-6)}.loopline{display:flex;flex-wrap:wrap;gap:var(--s-1) var(--s-2);font-size:var(--t-small);color:var(--fg-3)}.loopline li{display:flex;align-items:center;gap:var(--s-2);transition:color var(--d-base) var(--ease)}.loopline li+li:before{content:"";width:var(--s-4);height:1px;background:currentColor;opacity:.5}.loopline li.on{color:var(--accent-text)}.search{background:var(--raise);border:1px solid var(--rule-strong)}.search svg{flex:none;width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.2}.search__bar{display:flex;align-items:center;gap:var(--s-3);min-height:var(--s-12);padding:var(--s-4) var(--s-5);border-bottom:1px solid var(--rule-strong)}.search__q{min-width:0;min-height:1.6em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.search.is-played .search__q:after{content:"";display:inline-block;width:1px;height:1em;margin-left:2px;vertical-align:-2px;background:var(--green);animation:caret var(--d-spin) steps(1) infinite}.search.is-done .search__q:after{display:none}.search__rows li{display:grid;grid-template-columns:16px minmax(0,1fr);gap:2px var(--s-3);padding:var(--s-3) var(--s-5);border-bottom:1px dashed var(--rule);font-size:var(--t-small)}.search__rows li svg{margin-top:3px}.search__rows b{font-weight:var(--w-medium);min-width:0;overflow-wrap:anywhere}.search__rows span{grid-column:2;color:var(--fg-3);font-size:var(--t-micro)}@media(min-width:768px){.search__rows li{grid-template-columns:16px minmax(0,1fr) auto;align-items:center}.search__rows span{grid-column:auto;text-align:right;font-size:var(--t-small)}.search__rows li svg{margin-top:0}}.search__status{padding:var(--s-3) var(--s-5);font-size:var(--t-small);font-weight:var(--w-medium);color:var(--accent-text)}.search__end{margin-top:var(--s-10);font-size:var(--t-1);line-height:var(--lh-tight);letter-spacing:var(--track-display)}.motion .search.is-waiting .search__q,.motion .search:not(.is-done) .search__status{opacity:0}.motion .search:not(.is-done) .search__rows li:not(.in){opacity:0;transform:translateY(var(--s-2))}.search__rows li,.search__status{transition:opacity var(--d-base) var(--ease-out),transform var(--d-base) var(--ease-out)}.motion .search__end:not(.in){opacity:0;transform:translateY(var(--s-3))}.search__end{transition:opacity var(--d-slow) var(--ease-out),transform var(--d-slow) var(--ease-out)}@keyframes caret{50%{opacity:0}}.rec{position:relative;background:var(--raise);color:var(--fg);border:1px solid var(--rule-strong);overflow:hidden;--pane: 0}.rec__bar{display:flex;align-items:center;gap:var(--s-3);min-height:var(--s-10);padding:0 var(--s-4);border-bottom:1px solid var(--rule);font-size:var(--t-micro)}.rec__dots{display:flex;gap:var(--s-1)}.rec__dots i{width:8px;height:8px;border-radius:50%;background:var(--rule-strong)}.rec__crumb{color:var(--fg-3);min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rec__live{margin-left:auto;display:inline-flex;align-items:center;gap:var(--s-2);color:var(--accent-text);letter-spacing:var(--track-eyebrow);text-transform:uppercase}.rec__live:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--green)}.motion .rec__live:before{animation:blink var(--d-loop) infinite}@keyframes blink{50%{opacity:.25}}.rec__head{display:grid;gap:var(--s-3);padding:var(--s-4) var(--s-5);border-bottom:1px solid var(--rule)}.rec__title{font-size:var(--t-4);letter-spacing:var(--track-sub);line-height:1.3}.rec__stages{display:flex;align-items:center;gap:var(--s-1);font-size:var(--t-micro);color:var(--fg-3)}.rec__stages li{display:flex;align-items:center;gap:var(--s-1);min-width:0;transition:color var(--d-base) var(--ease)}.rec__stages li+li:before{content:"";flex:1;min-width:var(--s-1);width:var(--s-4);height:1px;background:var(--rule-strong)}.rec__stages li+li{flex:1}.rec__stages li.done{color:var(--fg)}.rec__stages li.on{color:var(--accent-text)}@media(min-width:1024px){.rec__head{grid-template-columns:minmax(0,1fr) auto;align-items:end}.rec__stages li+li{flex:none}}.rec__panes{display:grid;grid-template-columns:repeat(4,100%);overflow:hidden}.rec__pane,.rec__mem{min-width:0;padding:var(--s-5);display:flex;flex-direction:column;gap:var(--s-4);transform:translate(calc(var(--pane) * -100%));transition:transform var(--d-slow) var(--ease);min-height:22rem}@media(min-width:1024px){.rec__panes{grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:auto auto}.rec__pane,.rec__mem{transform:none;min-height:0}.rec__pane+.rec__pane{border-left:1px solid var(--rule)}.rec__mem{grid-column:1 / -1;border-top:1px solid var(--rule)}}.rec__ph{display:flex;justify-content:space-between;align-items:baseline;gap:var(--s-3)}.rec__ph small{font-size:var(--t-micro);color:var(--fg-3);font-variant-numeric:tabular-nums}.rec__pane.is-active .rec__ph .eyebrow,[data-stage="0"] [data-pane="0"] .eyebrow{color:var(--accent-text)}.rec__src{display:grid;font-size:var(--t-small)}.rec__src li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:0 var(--s-3);align-items:baseline;padding:var(--s-2) 0;border-bottom:1px solid var(--rule);transition:background-color var(--d-base) var(--ease)}.rec__src .n{min-width:0;overflow-wrap:anywhere}.rec__src .s{display:inline-flex;align-items:center;gap:var(--s-2);justify-self:end;text-align:right;font-size:var(--t-micro);color:var(--fg-3);min-width:0}.rec__src .s:before{content:"";flex:none;width:7px;height:7px;border-radius:50%;border:1px solid currentColor}.rec__src li.ok .s{color:var(--accent-text)}.rec__src li.ok .s:before{background:var(--green);border-color:var(--green)}.rec__src li.gap .s{color:var(--fg)}.rec__src li.gap .s:before{border-style:dashed}.rec__src li.pending .s:before{border-color:currentColor transparent;animation:spin var(--d-spin) linear infinite}.rec__pane{container-type:inline-size}@container (max-width: 330px){.rec__src li{grid-template-columns:minmax(0,1fr)}.rec__src .s{justify-self:start;text-align:left}}@keyframes spin{to{transform:rotate(360deg)}}.rec__sum{margin-top:auto;font-size:var(--t-small);color:var(--fg-2);min-height:1.6em}.rec__reco{display:grid;gap:var(--s-3);transition:opacity var(--d-base) var(--ease)}.rec__call{font-size:var(--t-2);line-height:var(--lh-tight);letter-spacing:var(--track-head)}.rec__reason{color:var(--fg-2);font-size:var(--t-small)}.rec__tags{display:flex;flex-wrap:wrap;gap:var(--s-2)}.rec__tags li{font-size:var(--t-micro);padding:var(--s-1) var(--s-2);border:1px solid var(--rule-strong);transition:opacity var(--d-base) var(--ease-out),transform var(--d-base) var(--ease-out)}.motion .rec:not(.is-reco) .rec__reco{opacity:0}.motion .rec__tags li:not(.in){opacity:0;transform:translateY(var(--s-1))}.rec.is-thinking [data-pane="1"]:after{content:"";display:block;height:var(--s-20);background:linear-gradient(90deg,var(--rule),var(--rule-strong),var(--rule));background-size:200% 100%;animation:shimmer var(--d-spin) linear infinite}@keyframes shimmer{to{background-position:-200% 0}}.rec__choices,.rec__chips{display:flex;flex-wrap:wrap;gap:var(--s-2)}.chip-btn{min-height:calc(var(--tap) - var(--s-2));padding:0 var(--s-3);font-size:var(--t-small);background:transparent;color:var(--fg);border:1px solid var(--rule-strong);transition:background-color var(--d-fast) var(--ease),color var(--d-fast) var(--ease),border-color var(--d-fast) var(--ease);text-align:left}.chip-btn:hover{border-color:var(--green)}.chip-btn.is-on,.chip-btn[aria-pressed=true]{background:var(--green);border-color:var(--green);color:var(--navy)}.chip-btn--soft{font-size:var(--t-micro);min-height:var(--s-8)}.rec__why{display:grid;gap:var(--s-3)}.rec__label{font-size:var(--t-micro);color:var(--fg-3)}.rec__notelabel{display:grid;gap:var(--s-1);font-size:var(--t-micro);color:var(--fg-3)}.rec__note{min-height:var(--tap);padding:var(--s-2) var(--s-3);background:transparent;border:1px solid var(--rule-strong);font-size:var(--t-small);color:var(--fg);width:100%}.rec__result{display:grid;gap:var(--s-2)}.rec__rtitle{font-size:var(--t-4);letter-spacing:var(--track-sub)}.rec__result dl{display:grid;gap:var(--s-2);font-size:var(--t-small)}.rec__result dl>div{display:grid;grid-template-columns:6.5em minmax(0,1fr);gap:var(--s-3);padding-bottom:var(--s-2);border-bottom:1px solid var(--rule);transition:opacity var(--d-base) var(--ease-out)}.rec__result dt{color:var(--fg-3)}.rec__result dd.green{color:var(--accent-text)}.motion .rec:not(.is-result) .rec__result,.rec.is-why .rec__result{display:none}.motion .rec__result dl>div:not(.in){opacity:0}.rec__mem .rec__ph{flex-direction:column;gap:var(--s-1)}.rec__memtext{font-size:var(--t-small);color:var(--fg-2);min-height:3.2em}.rec__memsvg{width:100%;height:var(--s-24);overflow:visible}@media(min-width:1024px){.rec__mem .rec__ph{flex-direction:row;justify-content:space-between}.rec__memtext{min-height:0;text-align:right}.rec__memsvg{height:var(--s-20)}}.rec__memsvg .m-base{stroke:var(--rule-strong)}.rec__memsvg .m-old{fill:none;stroke:var(--rule-strong)}.rec__memsvg .m-arc{fill:none;stroke:var(--green);stroke-width:1.6}.rec__memsvg .m-node{fill:var(--raise);stroke:var(--fg-3)}.rec__memsvg .m-new{fill:var(--green);stroke:var(--green);opacity:0;transition:opacity var(--d-base)}.rec__memsvg .m-new.in,.still .rec__memsvg .m-new{opacity:1}.rec__memsvg .m-next{stroke:var(--fg);stroke-dasharray:2 2}.rec__memsvg .m-next.lit{fill:var(--green);stroke:var(--green);stroke-dasharray:none}.rec__memsvg text{fill:var(--fg-3);font:var(--t-micro) var(--font)}.rec__foot{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:var(--s-3);padding:var(--s-3) var(--s-5);border-top:1px solid var(--rule);font-size:var(--t-small);color:var(--fg-2)}.rec__ctl{display:flex;gap:var(--s-2)}.rec__cursor{position:absolute;left:0;top:0;z-index:3;pointer-events:none;opacity:0;transition:transform var(--d-slow) var(--ease),opacity var(--d-base)}.rec__cursor.on{opacity:1}.rec__cursor svg{width:22px;height:22px;fill:var(--ground);stroke:var(--navy);stroke-width:1.2;stroke-linejoin:round;filter:drop-shadow(0 2px 4px var(--navy-40))}.rec__cursor span{position:absolute;left:18px;top:18px;padding:2px 6px;font-size:var(--t-micro);background:var(--green);color:var(--navy);white-space:nowrap}.rec__cursor:after{content:"";position:absolute;left:-9px;top:-9px;width:18px;height:18px;border-radius:50%;border:1.5px solid var(--green);opacity:0}.rec__cursor.tap:after{animation:ping var(--d-base) var(--ease-out)}@keyframes ping{0%{opacity:1;transform:scale(.4)}to{opacity:0;transform:scale(1.6)}}.stagelist{display:grid;gap:0;border-top:1px solid var(--rule-strong)}.stagelist li{display:grid;grid-template-columns:var(--s-10) minmax(0,1fr);gap:var(--s-1) var(--s-3);padding:var(--s-4) 0;border-bottom:1px solid var(--rule);transition:color var(--d-base) var(--ease)}.stagelist__n{font-size:var(--t-micro);color:var(--fg-3);padding-top:3px}.stagelist b{font-weight:var(--w-medium)}.stagelist p{grid-column:2;color:var(--fg-2);font-size:var(--t-small)}.stagelist li.on b,.stagelist li.on .stagelist__n{color:var(--accent-text)}.mrec{display:grid;gap:var(--s-5)}.mrec__title{font-size:var(--t-3);letter-spacing:var(--track-head);line-height:var(--lh-head)}.mrec__list{display:grid;gap:0}.mrec__list li{display:grid;grid-template-columns:var(--s-10) minmax(0,1fr);gap:var(--s-1) var(--s-3);padding:var(--s-3) 0;border-bottom:1px solid var(--rule)}.mrec__n{font-size:var(--t-micro);color:var(--accent-text);padding-top:3px}.mrec__list b{font-weight:var(--w-medium)}.mrec__list p{grid-column:2;color:var(--fg-2);font-size:var(--t-small)}.disc{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--s-12)}.disc__text{display:grid;gap:var(--s-5);align-content:start}.disc__text>p:not(.eyebrow){color:var(--fg-2)}.disc__steps{display:grid;gap:var(--s-3);font-size:var(--t-small)}.disc__steps li{display:flex;gap:var(--s-3);align-items:baseline}.disc__steps span{display:inline-grid;place-items:center;flex:none;width:var(--s-6);height:var(--s-6);border:1px solid var(--rule-strong);font-size:var(--t-micro)}.disc__statement{font-size:var(--t-4);letter-spacing:var(--track-sub)}.disc__form{display:grid;gap:var(--s-4);padding:var(--s-5);background:var(--raise);border:1px solid var(--rule-strong)}.disc__formbar{display:none;align-items:center;min-height:var(--s-10);margin:calc(var(--s-5) * -1) calc(var(--s-5) * -1) 0;padding-inline:var(--s-4);border-bottom:1px solid var(--rule);font-size:var(--t-micro);color:var(--fg-3)}.field{display:grid;gap:var(--s-1)}.field label{font-size:var(--t-micro);color:var(--fg-3)}.field input,.field textarea{width:100%;min-height:var(--tap);padding:var(--s-2) var(--s-3);background:transparent;border:1px solid var(--rule-strong);color:var(--fg);font-size:var(--t-body)}.disc__foot{display:flex;flex-wrap:wrap;gap:var(--s-3);align-items:center}.disc__foot small,.disc__note{font-size:var(--t-micro);color:var(--fg-3)}.disc__note.on{color:var(--accent-text)}@media(min-width:1024px){.disc{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--s-16)}}.foot{position:relative;background:var(--bg);color:var(--fg);border-top:1px solid var(--rule)}.foot__blocks{position:relative;height:calc(var(--s-24) + var(--s-6));overflow:hidden;border-bottom:1px solid var(--rule)}.foot__main{display:grid;gap:var(--s-10);padding-block:var(--s-12) var(--s-20)}.foot__cols{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s-8) var(--s-6);font-size:var(--t-small)}.foot__cols h3{font-size:var(--t-small);font-weight:var(--w-medium);margin-bottom:var(--s-3)}.foot__cols ul{display:grid;gap:var(--s-2);color:var(--fg-2)}.foot__big{font-size:clamp(5.5rem,17vw,15rem);font-weight:var(--w-medium);letter-spacing:-.06em;line-height:.85}.foot__legal{display:flex;flex-wrap:wrap;gap:var(--s-2) var(--s-6);font-size:var(--t-micro);color:var(--fg-3)}@media(min-width:768px){.foot__cols{grid-template-columns:repeat(3,minmax(0,1fr))}.foot__blocks{height:calc(var(--s-32) + var(--s-16))}}.tetris{position:absolute;inset:0;--cell: var(--s-6)}@media(min-width:768px){.tetris{--cell: var(--s-10)}}.tetris i{position:absolute;width:var(--cell);height:var(--cell);background:var(--fg);outline:2px solid var(--bg);outline-offset:-1px;opacity:0;animation:fall var(--d-slower) var(--ease-out) forwards}.tetris i.g{background:var(--green)}.tetris.is-built i{animation:none;opacity:1}@keyframes fall{0%{opacity:1;transform:translateY(calc(-14 * var(--cell)))}to{opacity:1}}[data-reveal]{transition:opacity var(--d-slow) var(--ease-out),transform var(--d-slow) var(--ease-out)}.motion [data-reveal].pre:not(.in){opacity:0;transform:translateY(var(--s-4))}.dw{white-space:nowrap;display:inline-block}.dc{position:relative;display:inline-block}.dc.raw>.df{color:transparent}.dc>.dg{position:absolute;left:50%;top:0;transform:translate(-50%);font-family:var(--mono);font-weight:var(--w-regular);font-size:.78em;line-height:1.3;letter-spacing:0;color:var(--fg-3)}.dc.hot>.dg{color:var(--green)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
