@import "https://api.fontshare.com/v2/css?f[]=cabinet-grotesk@700,800&display=swap";@import "https://api.fontshare.com/v2/css?f[]=satoshi@400,500,700&display=swap";:root{--color-purple:#583795;--color-mint:#c2f8cc;--color-text:#171615;--color-background:#f9f8f5;--color-muted:rgb(from var(--color-text) r g b / .72);--color-line:rgb(from var(--color-purple) r g b / .24);--color-soft:rgb(from var(--color-purple) r g b / .06);--color-track:rgb(from var(--color-text) r g b / .1);--shadow-small:0 2px 4px rgb(from var(--color-text) r g b / .06);--shadow-lift:0 6px 16px rgb(from var(--color-text) r g b / .14);--font-heading:"Cabinet Grotesk", sans-serif;--font-body:"Satoshi", sans-serif;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-6:24px;--space-8:32px;--space-12:48px;--space-16:64px;--radius-control:8px;--radius-card:10px;--radius-panel:12px;font-family:var(--font-body);color:var(--color-text);background:var(--color-background);font-synthesis:none;font-weight:400}*{box-sizing:border-box}html{scroll-behavior:smooth}body{min-width:320px;margin:0}button{font:inherit;color:inherit;-webkit-tap-highlight-color:transparent}button:focus-visible{outline:3px solid var(--color-purple);outline-offset:3px}button:not(:disabled){cursor:pointer}svg{stroke-width:2px;flex-shrink:0}h1,h2{font-family:var(--font-heading);font-weight:700}::selection{background:var(--color-mint);color:var(--color-text)}.shell,.start,.result{background:var(--color-background);min-height:100vh}.header{height:68px;padding:0 var(--space-6);justify-content:space-between;align-items:center;gap:var(--space-4);border-bottom:1px solid var(--color-line);background:var(--color-background);z-index:20;display:flex;position:relative}.brand{align-items:center;gap:var(--space-2);letter-spacing:.12em;background:0 0;border:0;min-height:44px;padding:0;font-size:13px;font-weight:700;display:flex}.brand b{border-radius:var(--radius-control);background:var(--color-mint);width:32px;height:32px;color:var(--color-purple);place-items:center;display:grid}.header>span{border-left:2px solid var(--color-purple);color:var(--color-purple);padding:6px 10px;font-size:12px;font-weight:700}.page{width:min(100% - 32px,720px);padding:var(--space-8) 0 var(--space-12);margin:auto}.page.wide{width:min(100% - 32px,1248px)}.enter{animation:.25s both enter}.back{align-items:center;gap:var(--space-2);min-height:44px;color:var(--color-purple);background:0 0;border:0;padding:0;font-size:14px;font-weight:500;display:flex}.title{margin:var(--space-4) 0 var(--space-8)}.title label,.pool-head label,.transition label,.result label{color:var(--color-purple);letter-spacing:.13em;text-transform:uppercase;font-size:11px;font-weight:700}.title h1{margin:var(--space-2) 0 var(--space-4);letter-spacing:-.035em;max-width:760px;font-size:clamp(34px,8.8vw,52px);line-height:1.04}.title p{max-width:590px;color:var(--color-muted);margin:0;font-size:16px;line-height:1.5}.cta{width:100%;min-height:56px;margin-top:var(--space-6);padding:var(--space-3) var(--space-4);justify-content:center;align-items:center;gap:var(--space-3);border:1px solid var(--color-purple);border-radius:var(--radius-control);background:var(--color-purple);color:var(--color-background);font-size:15px;font-weight:700;line-height:1.4;display:flex}.cta.secondary{background:var(--color-mint);color:var(--color-text);border-color:#0000}.cta:disabled{border-color:var(--color-line);background:var(--color-soft);color:rgb(from var(--color-text) r g b / .48);cursor:not-allowed}@media (hover:hover){.cta:not(:disabled):hover,.start-btn:hover,.resume button:hover{opacity:.88}.stage-tile:hover,.action-tile:hover,.options button:hover{border-color:var(--color-purple);box-shadow:var(--shadow-small)}.back:hover,.return:hover{text-underline-offset:4px;text-decoration:underline}}.cta:active:not(:disabled),.start-btn:active{transform:translateY(1px)}.hero{width:min(100% - 48px,720px);min-height:calc(100vh - 68px);padding:var(--space-8) 0 var(--space-6);flex-direction:column;justify-content:center;margin:auto;display:flex}.art{gap:var(--space-2);height:100px;margin-bottom:var(--space-8);grid-template-columns:repeat(4,1fr);display:grid}.art i{border:1px solid var(--color-purple);border-radius:var(--radius-control);color:var(--color-purple);background:var(--color-background);place-items:center;display:grid}.art svg{width:30px;height:30px}.art .a1,.art .a4{background:var(--color-mint);border-color:var(--color-mint)}.art .a2{margin-top:var(--space-4)}.art .a3{margin-bottom:var(--space-4)}.eyebrow{align-items:center;gap:var(--space-2);color:var(--color-purple);font-size:12px;font-weight:700;display:flex}.hero h1{margin:var(--space-4) 0;color:var(--color-purple);letter-spacing:-.045em;font-size:clamp(50px,13vw,88px);font-weight:800;line-height:.98}.hero h2{letter-spacing:-.02em;max-width:520px;margin:0;font-size:clamp(24px,6.2vw,32px);line-height:1.16}.hero>p{max-width:480px;margin:var(--space-4) 0 var(--space-8);color:var(--color-muted);font-size:16px;line-height:1.5}.start-btn{min-height:56px;padding:var(--space-4);justify-content:space-between;align-items:center;gap:var(--space-4);border:1px solid var(--color-purple);border-radius:var(--radius-control);background:var(--color-purple);color:var(--color-background);font-size:16px;font-weight:700;display:flex}.start-btn svg{width:24px;height:24px}.hero>small{margin-top:var(--space-4);color:var(--color-muted);text-align:center;font-size:12px}.resume{padding:var(--space-4);border:1px solid var(--color-purple);border-radius:var(--radius-card);background:var(--color-background)}.resume>strong{font-family:var(--font-heading);font-size:22px}.resume p{margin:var(--space-2) 0 var(--space-4);color:var(--color-muted);font-size:14px;line-height:1.5}.resume div{gap:var(--space-2);grid-template-columns:1fr 1fr;display:grid}.resume button{min-height:48px;padding:var(--space-2);border:1px solid var(--color-purple);border-radius:var(--radius-control);background:var(--color-purple);color:var(--color-background);font-size:13px;font-weight:700}.resume button+button{color:var(--color-purple);background:0 0}.instructions{border-top:1px solid var(--color-line);margin:0;padding:0;list-style:none;display:grid}.instructions li{min-height:96px;padding:var(--space-4) 0;align-items:center;gap:var(--space-3);border-bottom:1px solid var(--color-line);grid-template-columns:34px 36px 1fr;display:grid}.instructions em{color:var(--color-purple);font:700 28px/1 var(--font-heading);letter-spacing:-.04em}.instructions li>i{border-radius:var(--radius-control);background:var(--color-mint);width:36px;height:36px;color:var(--color-purple);place-items:center;display:grid}.instructions strong{font-size:16px;font-weight:700}.instructions p{margin:var(--space-1) 0 0;color:var(--color-muted);font-size:14px;line-height:1.45}.page>aside{margin-top:var(--space-6);padding:var(--space-4);border-left:3px solid var(--color-purple);background:var(--color-mint)}aside b{color:var(--color-purple);letter-spacing:.1em;text-transform:uppercase;font-size:11px;font-weight:700}aside p{margin:var(--space-1) 0 0;font-size:14px;line-height:1.5}.progress{margin-bottom:var(--space-6);padding:0 0 var(--space-2)}.progress>div{margin-bottom:var(--space-3);justify-content:space-between;gap:var(--space-2);font-size:13px;display:flex}.progress strong,.progress span{font-weight:700}.progress span{color:var(--color-purple)}.progress>i{background:var(--color-track);height:6px;display:block;overflow:hidden}.progress>i b{background:var(--color-purple);height:100%;transition:width .3s;display:block}.slots{gap:var(--space-3);display:grid}.slot{min-height:88px;padding:var(--space-2);align-items:center;gap:var(--space-2);border:1px dashed var(--color-line);border-radius:var(--radius-card);grid-template-columns:42px minmax(0,1fr);display:grid}.slot.filled{border-style:solid}.slot>b{color:var(--color-purple);font:700 32px/1 var(--font-heading);letter-spacing:-.05em;justify-content:center;align-items:center;display:flex}.slot>b:before{content:"0" / ""}.slot>span:not(.tile-info){padding-left:var(--space-2);color:var(--color-muted);font-size:14px}.stage-tile{width:100%;min-height:68px;padding:var(--space-3);align-items:center;gap:var(--space-2);border:1px solid var(--color-purple);border-radius:var(--radius-card);background:var(--color-background);text-align:left;color:var(--color-purple);touch-action:none;grid-template-columns:32px minmax(0,1fr) 18px;display:grid;cursor:grab!important}.stage-tile>i,.stage-summary>i{width:32px;height:36px;color:var(--color-purple);place-items:center;display:grid}.stage-tile strong,.stage-summary strong{font:700 16px/1.2 var(--font-heading);text-transform:uppercase;letter-spacing:.005em;overflow-wrap:anywhere}.stage-tile>svg,.action-tile>svg{color:var(--color-muted)}.dragging{opacity:.95;z-index:50;border-color:var(--color-purple)!important;box-shadow:var(--shadow-lift)!important;transform:scale(1.025)!important}.pool{margin-top:var(--space-8);padding:var(--space-6) 0 0;border-top:2px solid var(--color-purple)}.pool-head{justify-content:space-between;align-items:flex-end;gap:var(--space-3);margin-bottom:var(--space-4);display:flex}.pool-head h2{margin:var(--space-1) 0 0;letter-spacing:-.025em;font-size:26px;line-height:1.15}.pool-head>span{color:var(--color-muted);flex-shrink:0;padding-bottom:2px;font-size:12px;font-weight:500}.stage-grid,.action-list{gap:var(--space-2);display:grid}.empty{min-height:56px;padding:var(--space-3);justify-content:center;align-items:center;gap:var(--space-2);border-radius:var(--radius-control);background:var(--color-mint);font-size:14px;font-weight:500;display:flex}.empty svg{color:var(--color-purple)}.over{box-shadow:inset 0 0 0 1px var(--color-purple);border-color:var(--color-purple)!important;background:var(--color-mint)!important}.transition{min-height:100vh;padding:var(--space-8);text-align:center;background:var(--color-background);flex-direction:column;justify-content:center;align-items:center;display:flex}.transition>i{width:88px;height:88px;margin-bottom:var(--space-8);border-radius:var(--radius-card);background:var(--color-mint);color:var(--color-purple);place-items:center;display:grid}.transition h1{margin:var(--space-3) 0 var(--space-4);color:var(--color-purple);letter-spacing:-.035em;font-size:42px;line-height:1.05}.transition p{max-width:340px;color:var(--color-muted);margin:0;font-size:16px;line-height:1.5}.transition button{min-height:48px;margin-top:var(--space-6);padding:var(--space-2);align-items:center;gap:var(--space-2);color:var(--color-purple);background:0 0;border:0;font-weight:700;display:flex}.assign-page>.header{position:sticky;top:0}.sticky{z-index:15;padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-line);background:var(--color-background);position:sticky;top:68px}.progress.small{max-width:720px;margin:auto;padding:0}.progress.small>div{margin-bottom:var(--space-2)}.progress.small>i{height:4px}.stage-boxes{gap:var(--space-3);display:grid}.stage-box{border:1px solid var(--color-line);border-radius:var(--radius-card);background:var(--color-background);overflow:hidden}.stage-summary{width:100%;min-height:88px;padding:var(--space-3);align-items:center;gap:var(--space-2);text-align:left;background:0 0;border:0;grid-template-columns:40px 32px minmax(0,1fr) 20px;display:grid}.stage-summary em{font:700 32px/1 var(--font-heading);color:var(--color-purple);letter-spacing:-.04em}.stage-summary span{gap:var(--space-1);display:grid}.stage-summary small{color:var(--color-muted);font-size:12px}.stage-summary b{color:var(--color-purple)}.assigned{padding:0 var(--space-3) var(--space-3);gap:var(--space-2);display:grid}.assigned>div{border:1px dashed var(--color-line);border-radius:var(--radius-control);min-height:48px;color:var(--color-purple);background:var(--color-soft);place-items:center;font-size:12px;font-weight:500;display:grid}.help{margin:0 0 var(--space-4);color:var(--color-muted);font-size:14px;line-height:1.5}.action-tile{width:100%;min-height:60px;padding:var(--space-3);align-items:center;gap:var(--space-2);border:1px solid var(--color-line);border-radius:var(--radius-card);background:var(--color-background);text-align:left;touch-action:none;grid-template-columns:14px minmax(0,1fr) 16px;display:grid;cursor:grab!important}.action-tile>span{overflow-wrap:anywhere;font-size:14px;font-weight:500;line-height:1.45}.action-tile em{color:var(--color-muted);font-size:18px;font-style:normal}.assigned .action-tile{border-left:3px solid var(--color-purple)}.all-done{padding:var(--space-4);align-items:center;gap:var(--space-3);border-radius:var(--radius-card);background:var(--color-mint);display:flex}.all-done>i{width:40px;height:40px;color:var(--color-purple);flex:none;place-items:center;display:grid}.all-done strong{font-family:var(--font-heading);font-size:20px}.all-done p{margin:var(--space-1) 0 0;color:var(--color-muted);font-size:13px;line-height:1.5}.shade{z-index:100;background:rgb(from var(--color-text) r g b / .4);align-items:flex-end;display:flex;position:fixed;inset:0}.sheet{width:100%;max-height:88vh;padding:var(--space-3) var(--space-6) max(24px,env(safe-area-inset-bottom));border:1px solid var(--color-purple);border-radius:var(--radius-panel) var(--radius-panel) 0 0;background:var(--color-background);animation:.25s up;overflow:auto}.sheet>i{background:var(--color-purple);border-radius:2px;width:40px;height:4px;margin:auto;display:block}.sheet header{justify-content:space-between;align-items:center;gap:var(--space-2);margin:var(--space-4) 0;display:flex}.sheet h2{letter-spacing:-.02em;margin:0;font-size:25px;line-height:1.15}.sheet header button{border:1px solid var(--color-line);border-radius:var(--radius-control);width:44px;height:44px;color:var(--color-purple);background:0 0;flex:none;place-items:center;display:grid}.options{gap:var(--space-2);display:grid}.options button{min-height:60px;padding:var(--space-3);align-items:center;gap:var(--space-2);border:1px solid var(--color-line);border-radius:var(--radius-control);background:var(--color-background);text-align:left;grid-template-columns:36px minmax(0,1fr);display:grid}.options span{font:700 24px/1 var(--font-heading);color:var(--color-purple);letter-spacing:-.04em}.options strong{text-transform:uppercase;font-family:var(--font-heading);font-size:16px;font-weight:700}.options svg{color:var(--color-purple)}.selected{padding:var(--space-4);border-left:3px solid var(--color-purple);background:var(--color-mint);font-size:15px;font-weight:500;line-height:1.5}.stage-options button{grid-template-columns:30px 24px minmax(0,1fr) 20px}.return{width:100%;min-height:52px;margin-top:var(--space-4);justify-content:center;align-items:center;gap:var(--space-2);border:1px solid var(--color-purple);border-radius:var(--radius-control);color:var(--color-purple);background:0 0;font-size:14px;font-weight:700;display:flex}.tile-info{min-width:0;display:block;position:relative}.tile-info>.stage-tile,.tile-info>.action-tile{padding-right:52px}.tile-info-trigger{border-radius:var(--radius-control);width:44px;height:44px;color:var(--color-purple);touch-action:manipulation;background:0 0;border:0;place-items:center;display:grid;position:absolute;top:50%;right:4px;transform:translateY(-50%)}.tile-info-trigger:hover{background:var(--color-mint)}.tile-info-panel{z-index:120;width:min(400px,100vw - 24px);max-height:calc(100dvh - 24px);padding:var(--space-6);border:1px solid var(--color-purple);border-top:6px solid var(--color-purple);border-radius:var(--radius-panel);background:var(--color-background);color:var(--color-text);box-shadow:var(--shadow-lift);position:fixed;overflow:auto}.tile-info-panel h2{align-items:flex-start;gap:var(--space-3);letter-spacing:-.02em;margin:0;font-size:24px;line-height:1.15;display:flex}.tile-info-panel h2 svg{color:var(--color-purple);flex:none;margin-top:4px}.tile-info-panel p{margin:var(--space-4) 0 var(--space-6);font-size:16px;line-height:1.6}.tile-info-panel>button{min-height:44px;padding:var(--space-2) var(--space-4);border:1px solid var(--color-purple);border-radius:var(--radius-control);background:var(--color-mint);margin-left:auto;font-weight:700;display:block}.result>section{width:min(100% - 48px,560px);min-height:calc(100vh - 68px);padding:var(--space-12) 0;text-align:center;flex-direction:column;align-items:center;margin:auto;display:flex}.result h1{margin:var(--space-2) 0 var(--space-8);letter-spacing:-.035em;font-size:44px;line-height:1.05}.ring{width:100%;min-height:228px;padding:var(--space-6);border-radius:var(--radius-card);background:var(--color-mint);place-items:center;display:grid}.ring i{gap:var(--space-2);font-style:normal;display:grid}.ring strong{color:var(--color-purple);font:800 clamp(88px,24vw,128px)/.95 var(--font-heading);letter-spacing:-.055em;white-space:nowrap}.ring small{margin-left:4px;font-size:.44em}.ring span{color:var(--color-text);font-size:14px;font-weight:500}.result h2{margin:var(--space-8) 0 var(--space-3);font-size:30px}.result section>p{max-width:420px;color:var(--color-muted);margin:0;font-size:16px;line-height:1.5}.result .cta.secondary{margin-top:var(--space-3);border-color:var(--color-purple);color:var(--color-purple);background:0 0}.board{gap:var(--space-6);display:grid}.solution-stage{padding:var(--space-6);border:1px solid var(--color-line);border-top:3px solid var(--color-purple);border-radius:0 0 var(--radius-card) var(--radius-card);background:var(--color-background);position:relative}.solution-stage header{align-items:center;gap:var(--space-3);grid-template-columns:1fr 40px;display:grid}.solution-stage header>span{color:var(--color-purple);font:700 64px/.95 var(--font-heading);letter-spacing:-.055em}.solution-stage header>i{border-radius:var(--radius-control);background:var(--color-mint);width:40px;height:40px;color:var(--color-purple);place-items:center;display:grid}.solution-stage h2{margin:var(--space-1) 0 0;letter-spacing:-.02em;text-transform:uppercase;grid-column:1/-1;font-size:25px;line-height:1.15}.solution-stage ol{margin:var(--space-6) 0 0;padding:0;list-style:none;display:grid}.solution-stage li{min-height:44px;padding:var(--space-3) 0;align-items:start;gap:var(--space-2);border-top:1px solid var(--color-line);grid-template-columns:16px minmax(0,1fr);font-size:14px;font-weight:500;line-height:1.45;display:grid}.solution-stage li svg{color:var(--color-purple);margin-top:3px}.flow{z-index:2;background:var(--color-background);width:28px;height:28px;color:var(--color-purple);place-items:center;display:grid;position:absolute;bottom:-27px;left:calc(50% - 14px);transform:rotate(90deg)}.solution-foot{margin-top:var(--space-8);padding:var(--space-6);background:var(--color-mint);border-radius:var(--radius-card)}.solution-foot>p{align-items:flex-start;gap:var(--space-3);margin:0;font-size:15px;line-height:1.5;display:flex}.solution-foot>p svg{color:var(--color-purple);flex:none;margin-top:3px}@keyframes enter{0%{opacity:0;transform:translateY(6px)}}@keyframes up{0%{transform:translateY(100%)}}@media (width>=700px){.header{padding-inline:max(32px,50vw - 624px)}.page{padding-top:var(--space-12)}.hero{padding-block:var(--space-12)}.art{gap:var(--space-3);max-width:480px;height:128px;margin-bottom:var(--space-12)}.art svg{width:36px;height:36px}.stage-grid,.action-list{grid-template-columns:repeat(2,minmax(0,1fr))}.board{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.flow{display:none}.sheet{border-radius:var(--radius-panel);width:min(520px,100% - 32px);margin:0 auto 24px}.slot{grid-template-columns:56px minmax(0,1fr)}.slot>b{font-size:40px}.stage-tile{min-height:76px}.stage-tile strong{font-size:18px}}@media (width>=1100px){.board{gap:var(--space-4);grid-template-columns:repeat(4,minmax(0,1fr))}.solution-stage{padding:var(--space-6) var(--space-4)}.stage-boxes{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.solution-foot{justify-content:space-between;align-items:center;gap:var(--space-8);display:flex}.solution-foot .cta{width:auto;min-width:260px;margin:0}}@media (width<=699px){.tile-info-panel{bottom:max(12px,env(safe-area-inset-bottom));width:calc(100vw - 24px);max-height:60dvh;padding:var(--space-4);top:auto!important;left:12px!important}}@media (height<=720px) and (width<=699px){.hero{padding-top:var(--space-6);justify-content:flex-start}.art{height:72px;margin-bottom:var(--space-6)}.hero h1{font-size:48px}.hero>p{margin-bottom:var(--space-6)}}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
