@font-face{font-family:DM Sans Variable;font-style:normal;font-display:swap;font-weight:100 1000;src:url(../media/dm-sans-latin-ext-wght-normal.0x9ccydb91kkt.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:DM Sans Variable;font-style:normal;font-display:swap;font-weight:100 1000;src:url(../media/dm-sans-latin-wght-normal.0fpdy-lufm69d.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(../media/bricolage-grotesque-vietnamese-wght-normal.0h_qcmzvudf58.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(../media/bricolage-grotesque-latin-ext-wght-normal.0i4j_a8lim1a-.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(../media/bricolage-grotesque-latin-wght-normal.300rpl789hft0.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
:root{--ink:#16161a;--ink-2:#2b2a30;--paper:#fff7ec;--paper-2:#fbefdd;--white:#fff;--orange:#ff6a13;--orange-d:#e2560a;--yellow:#ffc21a;--cream:#fff2c2;--green:#0e9f55;--mint:#ddf5e9;--blue:#1f4fff;--water:#cfe0ff;--pink:#ff2e7e;--rose:#ffe3ec;--mute:#6b6257;--line:#e9ddcb;--r:20px;--r-s:12px;--bw:3px;--shadow:6px 6px 0 var(--ink);--shadow-s:4px 4px 0 var(--ink);--shadow-xs:3px 3px 0 var(--ink);--font-display:"Bricolage Grotesque Variable", "DM Sans Variable", system-ui, sans-serif;--font-body:"DM Sans Variable", system-ui, "Segoe UI", Roboto, sans-serif;--font-mono:ui-monospace, "SFMono-Regular", Consolas, monospace;--nav-h:64px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*,:before,:after{box-sizing:border-box}*{margin:0;padding:0}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;overflow-x:clip}body{font-family:var(--font-body);color:var(--ink);background-color:var(--paper);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;background-image:radial-gradient(#16161a16 1.1px,#0000 1.2px);background-size:22px 22px;min-height:100vh;font-size:16px;line-height:1.5;overflow-x:clip}img,svg{max-width:100%;display:block}a{color:inherit}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0}input,textarea,select{font:inherit;color:inherit}::selection{background:var(--yellow);color:var(--ink)}:focus-visible{outline:3px solid var(--blue);outline-offset:3px;border-radius:6px}h1,h2,h3,h4,.display{font-family:var(--font-display);letter-spacing:-.025em;line-height:1.05}h1{font-size:clamp(34px,7vw,64px);font-weight:800}h2{font-size:clamp(26px,4.6vw,40px);font-weight:800}h3{letter-spacing:-.015em;font-size:21px;font-weight:750;line-height:1.15}h4{letter-spacing:-.01em;font-size:17px;font-weight:750}p{text-wrap:pretty}.lead{color:#3b3732;font-size:clamp(17px,2.2vw,20px);line-height:1.5}.kicker{letter-spacing:.18em;text-transform:uppercase;color:var(--orange);font-size:12px;font-weight:900;display:inline-block}.muted{color:var(--mute)}.small{font-size:14px}.tiny{font-size:12px}.mono{font-family:var(--font-mono)}.center{text-align:center}.nowrap{white-space:nowrap}.mark{background:linear-gradient(transparent 55%, var(--yellow) 55%, var(--yellow) 92%, transparent 92%);padding:0 .08em}.squiggle{white-space:nowrap;position:relative}.squiggle svg{width:100%;height:.2em;position:absolute;bottom:-.04em;left:0;right:0;overflow:visible}.container{width:100%;max-width:1120px;margin:0 auto;padding:0 16px}.narrow{max-width:760px}.section{padding:56px 0}.section-tight{padding:32px 0}.stack>*+*{margin-top:12px}.stack-lg>*+*{margin-top:20px}.row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.row-between{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.grid-2,.grid-3{grid-template-columns:1fr;gap:16px;display:grid}@media (min-width:720px){.grid-2{grid-template-columns:1fr 1fr}.grid-3{grid-template-columns:repeat(3,1fr)}.section{padding:80px 0}}.mt-0{margin-top:0!important}.mt-8{margin-top:8px}.mt-12{margin-top:12px}.mt-16{margin-top:16px}.mt-24{margin-top:24px}.mt-32{margin-top:32px}.mb-8{margin-bottom:8px}.mb-16{margin-bottom:16px}.hide-sm{display:none}@media (min-width:720px){.hide-sm{display:initial}.hide-lg{display:none}}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.site-header{z-index:40;-webkit-backdrop-filter:blur(8px);border-bottom:2px solid var(--ink);background:#fff7eceb;position:sticky;top:0}.site-header .container{height:var(--nav-h);justify-content:space-between;align-items:center;gap:12px;display:flex}.logo{align-items:center;gap:8px;text-decoration:none;display:inline-flex}.logo:hover .tf-gear{transform:rotate(60deg)}.tf-gear{transform-origin:0 0;transition:transform .6s cubic-bezier(.3,1.4,.5,1)}.wordmark{font-family:var(--font-display);letter-spacing:-.035em;font-size:23px;font-weight:800;line-height:1}.wordmark-fund{color:var(--orange)}.nav{align-items:center;gap:4px;display:flex}.nav a.navlink{border-radius:999px;padding:8px 12px;font-size:15px;font-weight:700;text-decoration:none}.nav a.navlink:hover{background:var(--paper-2)}.nav a.navlink[aria-current=page]{background:var(--ink);color:var(--paper)}@media (max-width:560px){.nav a.navlink.optional{display:none}.wordmark{font-size:20px}}.site-footer{border-top:2px solid var(--ink);background:var(--ink);color:var(--paper);margin-top:40px}.site-footer a{color:var(--paper)}.site-footer .container{gap:20px;padding-top:36px;padding-bottom:40px;display:grid}.site-footer .wordmark-fund{color:var(--yellow)}.footer-links{flex-wrap:wrap;gap:8px 18px;font-size:15px;font-weight:700;display:flex}.footer-links a{opacity:.85;text-decoration:none}.footer-links a:hover{opacity:1;text-decoration:underline}.btn{border:var(--bw) solid var(--ink);background:var(--orange);color:var(--white);box-shadow:var(--shadow-s);-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:13px 22px;font-size:17px;font-weight:800;line-height:1.1;text-decoration:none;transition:transform 80ms,box-shadow 80ms,background .15s;display:inline-flex}.btn:hover{box-shadow:5px 5px 0 var(--ink);transform:translate(-1px,-1px)}.btn:active{box-shadow:1px 1px 0 var(--ink);transform:translate(3px,3px)}.btn:disabled,.btn[aria-disabled=true]{opacity:.45;cursor:not-allowed;box-shadow:var(--shadow-xs);transform:none}.btn-ghost{background:var(--white);color:var(--ink)}.btn-ink{background:var(--ink);color:var(--paper)}.btn-yellow{background:var(--yellow);color:var(--ink)}.btn-green{background:var(--green);color:var(--white)}.btn-wa{color:var(--ink);background:#25d366}.btn-sm{box-shadow:var(--shadow-xs);border-width:2px;padding:8px 14px;font-size:14px}.btn-lg{padding:16px 28px;font-size:19px}.btn-block{width:100%}.btn .arrow{transition:transform .2s}.btn:hover .arrow{transform:translate(3px)}.link-btn{text-underline-offset:3px;font-weight:800;text-decoration:underline;text-decoration-thickness:2px}.link-btn:hover{color:var(--orange)}.pill{border:2px solid var(--ink);background:var(--white);border-radius:999px;align-items:center;gap:6px;padding:4px 11px;font-size:13px;font-weight:800;line-height:1.3;display:inline-flex}.pill-yellow{background:var(--yellow)}.pill-orange{background:var(--orange);color:var(--white)}.pill-green{background:var(--mint)}.pill-blue{background:var(--water)}.pill-pink{background:var(--rose)}.pill-ink{background:var(--ink);color:var(--paper)}.sticker{font-family:var(--font-display);border:var(--bw) solid var(--ink);box-shadow:var(--shadow-xs);background:var(--yellow);border-radius:14px;padding:8px 14px;font-weight:800;display:inline-block;transform:rotate(-3deg)}.card{background:var(--white);border:var(--bw) solid var(--ink);border-radius:var(--r);box-shadow:var(--shadow);padding:22px 20px}@media (min-width:720px){.card{padding:28px}}.card-flat{box-shadow:none}.card-soft{background:var(--paper-2)}.card-yellow{background:var(--cream)}.card-ink{background:var(--ink);color:var(--paper)}.card-mint{background:var(--mint)}.card-rose{background:var(--rose)}.card-water{background:var(--water)}.card-hover{transition:transform .15s,box-shadow .15s}.card-hover:hover{box-shadow:9px 9px 0 var(--ink);transform:translate(-3px,-3px)}.tip{background:var(--cream);border:2px solid var(--ink);border-radius:14px;padding:12px 14px;font-size:15px;line-height:1.5}.tip>b:first-child,.tip .tip-label{letter-spacing:.16em;text-transform:uppercase;color:var(--orange-d);margin-bottom:3px;font-size:11px;font-weight:900;display:block}.tip-blue{background:var(--water)}.tip-green{background:var(--mint)}.tip-pink{background:var(--rose)}.tip-pink>b:first-child{color:#b0124f}.pair{grid-template-columns:1fr;gap:10px;display:grid}@media (min-width:560px){.pair{grid-template-columns:1fr 1fr}}.pair>div{border:2px solid var(--ink);border-radius:14px;padding:12px 14px;font-size:15px;line-height:1.45}.pair .bad{background:var(--rose)}.pair .good{background:var(--mint)}.pair b{letter-spacing:.14em;margin-bottom:4px;font-size:11px;display:block}.divider{border:0;border-top:2px dashed var(--line);margin:20px 0}.num-badge{border:var(--bw) solid var(--ink);background:var(--yellow);width:38px;height:38px;font-family:var(--font-display);border-radius:50%;flex:none;place-items:center;font-size:17px;font-weight:800;display:inline-grid}.field{margin-top:16px;display:block}.field:first-child{margin-top:0}.label{margin-bottom:6px;font-size:15px;font-weight:800;display:block}.label small,.hint{color:var(--mute);font-size:13px;font-weight:600}.hint{margin-top:5px;display:block}.input,.textarea,.select{border:2.5px solid var(--ink);border-radius:var(--r-s);background:var(--white);appearance:none;outline:none;width:100%;padding:11px 13px;font-size:16px;transition:box-shadow .15s,border-color .15s;display:block}.input:focus,.textarea:focus,.select:focus{box-shadow:0 0 0 4px #ffc21a99}.input[aria-invalid=true],.textarea[aria-invalid=true],.select[aria-invalid=true]{border-color:var(--pink)}.input::placeholder,.textarea::placeholder{color:#a39a8e}.textarea{resize:vertical;min-height:96px;line-height:1.45}.select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%2316161A' stroke-width='2.4' stroke-linecap='round'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;padding-right:34px}.input-sm{border-width:2px;padding:8px 10px;font-size:15px}.counter{float:right;color:var(--mute);font-size:12px;font-weight:700}.check{cursor:pointer;align-items:flex-start;gap:10px;margin-top:10px;font-size:15px;font-weight:650;line-height:1.4;display:flex}.check input{width:22px;height:22px;accent-color:var(--orange);cursor:pointer;flex:none;margin-top:0}.err{color:#c8004f;margin-top:8px;font-size:14px;font-weight:800}.ok-text{color:var(--green);font-weight:800}.sentence{font-family:var(--font-display);flex-wrap:wrap;align-items:center;gap:8px;font-size:20px;font-weight:750;display:flex}.sentence .input{width:auto;font-family:var(--font-body);flex:180px;font-weight:500}.preview{background:var(--ink);color:var(--white);border-radius:14px;margin-top:12px;padding:14px 16px;font-size:17px;font-weight:600;line-height:1.5}.preview i{color:var(--yellow);font-style:normal}.options{gap:10px;display:grid}.option{text-align:left;border:var(--bw) solid var(--ink);background:var(--white);box-shadow:var(--shadow-xs);border-radius:16px;align-items:center;gap:12px;padding:14px 16px;transition:transform 80ms,background .15s;display:flex}.option:active{box-shadow:1px 1px 0 var(--ink);transform:translate(2px,2px)}.option[aria-pressed=true],.option.on{background:var(--yellow)}.option b{font-size:17px;display:block}.option span.sub{color:var(--mute);font-size:14px;font-weight:600}.river{height:64px;margin:4px 0 8px;position:relative}.river-track{background:var(--water);border:2px solid var(--ink);border-radius:99px;height:14px;position:absolute;bottom:8px;left:0;right:0;overflow:hidden}.river-fill{background-color:var(--blue);background-image:repeating-linear-gradient(110deg,#ffffff40 0 6px,#0000 6px 18px);background-size:40px 100%;height:100%;transition:width .6s cubic-bezier(.3,1.2,.5,1);animation:1.6s linear infinite flow}@keyframes flow{to{background-position:40px 0}}.river-dots{pointer-events:none;justify-content:space-between;height:6px;display:flex;position:absolute;bottom:12px;left:7px;right:7px}.river-dots i{background:var(--ink);opacity:.35;border-radius:50%;width:6px;height:6px}.river-dots i.done{background:var(--white);opacity:1}.river-boat{width:50px;height:50px;transition:left .7s cubic-bezier(.3,1.3,.5,1);position:absolute;bottom:14px}.river-boat svg{animation:2.4s ease-in-out infinite bob}.river-flag{position:absolute;bottom:18px;right:0}@keyframes bob{50%{transform:translateY(-4px)rotate(-4deg)}}.waves{width:100%;height:28px;display:block}.waves path{animation:6s linear infinite drift}@keyframes drift{to{transform:translate(-60px)}}.hero{padding:36px 0 24px;overflow:hidden}@media (min-width:900px){.hero{padding:64px 0 40px}}.hero-grid{align-items:center;gap:28px;display:grid}@media (min-width:900px){.hero-grid{grid-template-columns:1.05fr .95fr;gap:40px}}.hero h1{margin:14px 0 16px;font-size:clamp(42px,8.6vw,78px);line-height:1.08}.hero .lead{max-width:36ch}.hero-cta{flex-wrap:wrap;gap:12px;margin-top:24px;display:flex}.hero-meta{flex-wrap:wrap;gap:8px;margin-top:20px;display:flex}.scene{border:var(--bw) solid var(--ink);box-shadow:var(--shadow);background:linear-gradient(#fff2c2 0%, #fff7ec 52%, var(--water) 52%);aspect-ratio:5/4;border-radius:28px;position:relative;overflow:hidden}.scene svg.scene-art{width:100%;height:100%}.scene .sail-boat{animation:16s ease-in-out infinite alternate sail}@keyframes sail{0%{transform:translate(0)}to{transform:translate(370px)}}.scene .bobbing{transform-box:fill-box;transform-origin:50%;animation:2.6s ease-in-out infinite bob}.scene .gear-sun{transform-box:fill-box;transform-origin:50%;animation:18s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.scene .cloud{animation:30s linear infinite cloud}@keyframes cloud{0%{transform:translate(-30%)}to{transform:translate(130%)}}.scene-badge{position:absolute;top:16px;left:16px}.scene-badge-2{background:var(--white);position:absolute;bottom:16px;right:14px;transform:rotate(4deg)}.marquee{border-top:var(--bw) solid var(--ink);border-bottom:var(--bw) solid var(--ink);background:var(--yellow);white-space:nowrap;margin:28px -10px;overflow:hidden;transform:rotate(-1.2deg)}.marquee-inner{gap:28px;padding:12px 0;animation:32s linear infinite marquee;display:inline-flex}.marquee span{font-family:var(--font-display);align-items:center;gap:28px;font-size:20px;font-weight:800;display:inline-flex}.marquee span:after{content:"✦";color:var(--orange-d)}@keyframes marquee{to{transform:translate(-50%)}}.track-card{flex-direction:column;gap:12px;text-decoration:none;display:flex;position:relative}.track-card .art{border:2px solid var(--ink);border-radius:14px;place-items:center;height:120px;display:grid}.track-card .art svg{width:auto;height:96px}.track-card ul{gap:6px;font-size:15px;list-style:none;display:grid}.track-card li{gap:8px;display:flex}.track-card li:before{content:"→";color:var(--orange);font-weight:900}.steps{counter-reset:s;gap:14px;display:grid;position:relative}@media (min-width:900px){.steps{grid-template-columns:repeat(4,1fr)}}.step-card{position:relative}.step-card .num-badge{margin-bottom:10px}.step-card p{color:#3b3732;margin-top:6px;font-size:15px}.rules{gap:10px;list-style:none;display:grid}.rules li{align-items:flex-start;gap:12px;font-size:16px;font-weight:600;line-height:1.45;display:flex}.rules .ic{border:2px solid var(--ink);border-radius:8px;flex:none;place-items:center;width:28px;height:28px;font-size:15px;font-weight:900;display:grid}.rules .ic.yes{background:var(--mint)}.rules .ic.no{background:var(--rose)}.faq{gap:10px;display:grid}.faq details{background:var(--white);border:2.5px solid var(--ink);border-radius:16px;padding:0;overflow:hidden}.faq summary{cursor:pointer;justify-content:space-between;align-items:center;gap:12px;padding:14px 18px;font-size:17px;font-weight:800;list-style:none;display:flex}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:"+";font-size:24px;font-weight:700;line-height:1;transition:transform .2s}.faq details[open] summary:after{transform:rotate(45deg)}.faq details[open] summary{background:var(--cream);border-bottom:2px solid var(--ink)}.faq .answer{color:#3b3732;padding:14px 18px 18px;font-size:16px}.cta-band{background:var(--ink);color:var(--paper);border:var(--bw) solid var(--ink);border-radius:28px;padding:36px 22px;position:relative;overflow:hidden}.cta-band h2{color:var(--paper)}.cta-band .mark{background:linear-gradient(transparent 55%, var(--orange) 55%, var(--orange) 92%, transparent 92%)}.track-toggle{border:var(--bw) solid var(--ink);background:var(--white);box-shadow:var(--shadow-xs);border-radius:999px;padding:4px;display:inline-flex}.track-toggle button{border-radius:999px;padding:8px 14px;font-size:14px;font-weight:800;transition:background .15s,color .15s}.track-toggle button[aria-pressed=true]{background:var(--ink);color:var(--paper)}.journey{gap:18px;margin-top:28px;padding-left:34px;display:grid;position:relative}.journey:before{content:"";background:var(--water);border:2px solid var(--ink);border-radius:99px;width:12px;position:absolute;top:8px;bottom:8px;left:11px}.journey-stop{position:relative}.journey-stop:before{content:"";border:var(--bw) solid var(--ink);background:var(--white);border-radius:50%;width:20px;height:20px;position:absolute;top:26px;left:-32px}.journey-stop.visited:before{background:var(--green)}.journey-stop .card{align-items:flex-start;gap:14px;padding:18px;text-decoration:none;display:flex}.journey-stop .icon-box{border:2px solid var(--ink);background:var(--cream);border-radius:14px;flex:none;place-items:center;width:56px;height:56px;display:grid}.journey-stop .icon-box svg{width:34px;height:34px}.journey-stop h3{font-size:20px}.journey-stop p{color:#3b3732;margin-top:4px;font-size:15px}.journey-boat{z-index:2;width:40px;height:40px;transition:top .6s;position:absolute;left:-2px}.journey-boat svg{animation:2.4s ease-in-out infinite bob}@media (min-width:900px){.journey{grid-template-columns:1fr 1fr;column-gap:72px;padding-left:0}.journey:before{left:50%;transform:translate(-50%)}.journey-stop:nth-child(odd){grid-column:1}.journey-stop:nth-child(2n){grid-column:2;margin-top:70px}.journey-stop:nth-child(odd):before{left:auto;right:-47px}.journey-stop:nth-child(2n):before{left:-47px}.journey-boat{display:none}}.stop-head{padding-top:28px;padding-bottom:8px}.stop-head h1{margin:10px 0 12px;font-size:clamp(32px,6vw,54px)}.lesson{gap:22px;margin-top:18px;display:grid}.lesson-block h2{margin-bottom:10px;font-size:clamp(22px,3.6vw,28px)}.lesson-block p+p{margin-top:10px}ul.bullets{gap:8px;margin:10px 0 0;list-style:none;display:grid}ul.bullets li{padding-left:22px;position:relative}ul.bullets li:before{content:"";background:var(--orange);border:2px solid var(--ink);border-radius:50%;width:9px;height:9px;position:absolute;top:9px;left:4px}.need-box{background:var(--ink);color:var(--paper);border-radius:var(--r);border:var(--bw) solid var(--ink);padding:20px}.need-box h3{color:var(--yellow);margin-bottom:8px;font-size:18px}.need-box ul{gap:8px;list-style:none;display:grid}.need-box li{gap:10px;display:flex}.need-box li:before{content:"✓";color:var(--yellow);font-weight:900}.activity{border:var(--bw) dashed var(--ink);border-radius:var(--r);background:var(--white);padding:18px}.activity-head{align-items:center;gap:10px;margin-bottom:12px;display:flex}.activity-head .pill{background:var(--blue);color:var(--white)}.stop-nav{z-index:30;-webkit-backdrop-filter:blur(6px);border-top:2px solid var(--ink);padding:10px 0 calc(10px + env(safe-area-inset-bottom));background:#fff7ecf0;margin-top:36px;position:sticky;bottom:0}.stop-nav .container{justify-content:space-between;gap:10px;display:flex}.stop-nav .btn{flex:1;max-width:340px}.cards-game{gap:10px;display:grid}.game-card{border:2.5px solid var(--ink);background:var(--paper);border-radius:14px;padding:12px 14px}.game-card.right{background:var(--mint)}.game-card.wrong{background:var(--rose);animation:.35s shake}@keyframes shake{25%{transform:translate(-4px)}75%{transform:translate(4px)}}.game-card .q{font-size:16px;font-weight:700}.game-card .answers{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.game-card .why-text{margin-top:8px;font-size:14px;font-weight:600}.score-line{margin-top:12px;font-weight:800}.chain{gap:0;display:grid}.chain-item{align-items:stretch;gap:12px;display:flex}.chain-rail{flex-direction:column;flex:none;align-items:center;width:34px;display:flex}.chain-rail .dot{border:2.5px solid var(--ink);background:var(--yellow);border-radius:50%;place-items:center;width:30px;height:30px;font-size:13px;font-weight:900;display:grid}.chain-rail .line{background:var(--ink);flex:1;width:3px;min-height:14px}.chain-body{flex:1;padding:3px 0 14px}.chain-body .why-tag{letter-spacing:.12em;color:var(--blue);font-size:12px;font-weight:900}.chain-body .why-prev{color:var(--blue);margin-bottom:4px;font-size:13px;font-weight:700;line-height:1.35;display:block}.chain-body p{font-size:16px;font-weight:650}.chain-item.root .dot{background:var(--green);color:var(--white)}.chain-item.root .chain-body p{font-family:var(--font-display);font-size:19px;font-weight:800}.chain-enter{animation:.35s cubic-bezier(.2,.8,.2,1) in}@keyframes in{0%{opacity:0;transform:translateY(10px)}}.meter{gap:8px;display:grid}.meter-row .meter-label{justify-content:space-between;font-size:14px;font-weight:800;display:flex}.meter-bar{background:var(--line);border:2px solid var(--ink);border-radius:99px;height:14px;margin-top:4px;overflow:hidden}.meter-bar i{background:var(--green);height:100%;transition:width .4s;display:block}.meter-bar.over i{background:var(--pink)}.role-grid{grid-template-columns:1fr 1fr;gap:8px;display:grid}@media (min-width:720px){.role-grid{grid-template-columns:repeat(3,1fr)}}.role-card{border:2.5px solid var(--ink);background:var(--white);text-align:left;border-radius:14px;padding:10px 12px}.role-card b{font-size:16px;display:block}.role-card span{color:var(--mute);font-size:13px;font-weight:600}.role-card[aria-pressed=true]{background:var(--yellow);box-shadow:var(--shadow-xs)}.crew-seats{flex-wrap:wrap;gap:8px;margin:12px 0;display:flex}.crew-seat{border:2.5px dashed var(--ink);text-align:center;background:var(--paper);border-radius:12px;min-width:92px;padding:8px 10px;font-size:14px;font-weight:800}.crew-seat.filled{background:var(--cream);border-style:solid}.slot-grid{gap:12px;display:grid}@media (min-width:720px){.slot-grid{grid-template-columns:1.2fr 1fr 1fr}}.slot{border:var(--bw) solid var(--ink);background:var(--white);border-radius:16px;padding:14px}.slot.required{background:var(--cream);box-shadow:var(--shadow-xs)}.slot h4{margin:6px 0 4px}.slot p{font-size:14px}.timeline-bar{border:var(--bw) solid var(--ink);border-radius:14px;margin-top:8px;display:flex;overflow:hidden}.timeline-bar>div{border-right:2px solid var(--ink);padding:12px 10px;font-size:14px}.timeline-bar>div:last-child{border-right:0}.timeline-bar b{font-family:var(--font-display);font-size:20px;display:block}.copy-box{background:var(--paper);border:2px solid var(--ink);white-space:pre-wrap;border-radius:12px;padding:12px 14px;font-size:15px}.lib-filters{flex-wrap:wrap;gap:8px;display:flex}.lib-filters button{border:2px solid var(--ink);background:var(--white);border-radius:999px;padding:7px 14px;font-size:14px;font-weight:800}.lib-filters button[aria-pressed=true]{background:var(--ink);color:var(--paper)}.lib-grid{gap:14px;margin-top:18px;display:grid}@media (min-width:720px){.lib-grid{grid-template-columns:1fr 1fr}}@media (min-width:1000px){.lib-grid{grid-template-columns:1fr 1fr 1fr}}.lib-card{flex-direction:column;gap:8px;padding:18px;text-decoration:none;display:flex}.lib-card .type{justify-content:space-between;align-items:center;gap:8px;display:flex}.lib-card h3{font-size:19px}.lib-card .by{color:var(--mute);font-size:14px;font-weight:700}.lib-card p{color:#3b3732;font-size:15px}.lib-card .open{color:var(--orange-d);margin-top:auto;font-size:14px;font-weight:800}.res-list{gap:10px;display:grid}.res-item{border:2px solid var(--ink);background:var(--white);border-radius:14px;align-items:center;gap:12px;padding:10px 12px;text-decoration:none;display:flex}.res-item:hover{background:var(--cream)}.res-item .t{font-weight:800}.res-item .b{color:var(--mute);font-size:13px;font-weight:600}.apply-wrap{padding:24px 0 40px}.team-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.team-bar h1{font-size:clamp(26px,5vw,38px)}.code-chip{font-family:var(--font-mono);background:var(--ink);color:var(--yellow);letter-spacing:.06em;border-radius:10px;padding:6px 10px;font-size:15px;font-weight:800}.save-state{color:var(--mute);text-align:right;min-width:110px;font-size:13px;font-weight:800}.save-state.err{color:#c8004f;margin:0}.sec-chips{scrollbar-width:thin;scroll-snap-type:x proximity;gap:8px;padding:4px 2px 10px;display:flex;overflow-x:auto}.sec-chip{scroll-snap-align:start;border:2.5px solid var(--ink);background:var(--white);white-space:nowrap;border-radius:999px;flex:none;align-items:center;gap:7px;padding:7px 13px 7px 9px;font-size:14px;font-weight:800;display:inline-flex}.sec-chip .st{border:2px solid var(--ink);background:var(--white);border-radius:50%;place-items:center;width:18px;height:18px;font-size:11px;line-height:1;display:grid}.sec-chip .st.part{background:linear-gradient(90deg, var(--yellow) 50%, var(--white) 50%)}.sec-chip .st.done{background:var(--green);color:var(--white)}.sec-chip[aria-current=step]{background:var(--ink);color:var(--paper)}.sec-chip[aria-current=step] .st{border-color:var(--paper)}.sec-card{margin-top:8px;animation:.3s cubic-bezier(.2,.8,.2,1) in}.sec-card h2{margin:6px 0 8px;font-size:clamp(26px,4.4vw,34px)}.help{margin-top:14px}.help summary{cursor:pointer;color:var(--blue);font-size:14px;font-weight:800;list-style:none}.help summary::-webkit-details-marker{display:none}.help .tip{margin-top:8px}.issues{border:2px solid var(--ink);background:var(--rose);border-radius:14px;margin-top:18px;padding:12px 14px}.issues.clear{background:var(--mint)}.issues h4{letter-spacing:.12em;text-transform:uppercase;margin-bottom:4px;font-size:13px}.issues ul{gap:2px;margin-left:18px;font-size:14px;font-weight:600;display:grid}.sub-card{border:2.5px solid var(--ink);background:var(--paper);border-radius:16px;margin-top:12px;padding:14px;position:relative}.sub-card.done{background:var(--mint)}.sub-card-head{justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;display:flex}.sub-card-head h4{align-items:center;gap:8px;display:flex}.remove-btn{border:2px solid var(--ink);background:var(--white);border-radius:999px;padding:4px 10px;font-size:13px;font-weight:800}.remove-btn:hover{background:var(--rose)}.g2{grid-template-columns:1fr;gap:10px;display:grid}.g3{grid-template-columns:1fr 1fr 1fr;gap:10px;display:grid}@media (min-width:640px){.g2{grid-template-columns:1fr 1fr}}.g2 .field,.g3 .field{margin-top:0}.photo-field{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.photo-thumb{border:2.5px solid var(--ink);object-fit:cover;background:var(--line);border-radius:12px;width:92px;height:92px}.photo-empty{border:2.5px dashed var(--ink);width:92px;height:92px;color:var(--mute);text-align:center;background:var(--white);border-radius:12px;place-items:center;padding:6px;font-size:12px;font-weight:800;display:grid}.budget-row{grid-template-columns:1fr 110px 40px;align-items:start;gap:8px;margin-top:8px;display:grid}.budget-row .why{grid-column:1/3}.icon-btn{border:2px solid var(--ink);background:var(--white);border-radius:10px;width:40px;height:44px;font-size:20px;font-weight:700;line-height:1}.icon-btn:hover{background:var(--rose)}.buffer-row{border:2px dashed var(--ink);background:var(--cream);border-radius:12px;justify-content:space-between;align-items:center;gap:8px;margin-top:8px;padding:10px 12px;font-weight:700;display:flex}.total{background:var(--mint);border:2.5px solid var(--ink);border-radius:12px;justify-content:space-between;gap:8px;margin-top:12px;padding:12px 14px;font-size:19px;font-weight:900;display:flex}.total.over{background:var(--rose)}.role-select{flex-wrap:wrap;gap:6px;display:flex}.role-select button{border:2px solid var(--ink);background:var(--white);border-radius:999px;padding:6px 11px;font-size:13px;font-weight:800}.role-select button[aria-pressed=true]{background:var(--yellow)}.mentor-status{border:2.5px solid var(--ink);border-radius:14px;align-items:flex-start;gap:10px;margin-top:12px;padding:12px 14px;display:flex}.mentor-status.waiting{background:var(--cream)}.mentor-status.confirmed{background:var(--mint)}.mentor-status.stale{background:var(--rose)}.link-box{align-items:center;gap:8px;margin-top:8px;display:flex}.link-box code{text-overflow:ellipsis;white-space:nowrap;background:var(--white);border:2px solid var(--ink);border-radius:10px;flex:1;min-width:0;padding:8px 10px;font-size:13px;overflow:hidden}.summary-box{font-family:var(--font-mono);white-space:pre-wrap;background:var(--paper);border:2px solid var(--ink);border-radius:14px;max-height:380px;padding:14px;font-size:13.5px;line-height:1.55;overflow:auto}.bottom-bar{z-index:30;-webkit-backdrop-filter:blur(6px);border-top:2px solid var(--ink);padding:10px 0 calc(10px + env(safe-area-inset-bottom));background:#fff7ecf2;margin-top:24px;position:sticky;bottom:0}.bottom-bar .container{justify-content:space-between;align-items:center;gap:10px;display:flex}.bottom-bar .btn{flex:1;max-width:300px}.start-grid{gap:18px;margin-top:24px;display:grid}@media (min-width:860px){.start-grid{grid-template-columns:1fr 1fr}}.pin-input{font-family:var(--font-mono);letter-spacing:.4em;text-align:center;font-size:22px}.code-input{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;text-align:center;font-size:20px}.big-code{font-family:var(--font-mono);letter-spacing:.08em;background:var(--ink);color:var(--yellow);border-radius:16px;padding:10px 18px;font-size:clamp(30px,8vw,46px);font-weight:900;display:inline-block}.modal-backdrop{z-index:80;background:#16161a8c;place-items:center;padding:16px;animation:.2s fade;display:grid;position:fixed;inset:0}@keyframes fade{0%{opacity:0}}.modal{width:100%;max-width:520px;max-height:90vh;animation:.25s cubic-bezier(.2,.8,.2,1) in;overflow:auto}.toast{z-index:90;background:var(--ink);color:var(--paper);box-shadow:var(--shadow-xs);border-radius:999px;max-width:calc(100vw - 32px);padding:10px 18px;font-size:14px;font-weight:800;animation:.25s in;position:fixed;bottom:86px;left:50%;transform:translate(-50%)}#confetti{pointer-events:none;z-index:100;position:fixed;inset:0}.done-hero{text-align:center;padding:20px 0}.done-hero .dock{width:120px;margin:0 auto 10px}.admin-wrap{padding:24px 0 60px}.stat-row{grid-template-columns:repeat(2,1fr);gap:10px;display:grid}@media (min-width:720px){.stat-row{grid-template-columns:repeat(5,1fr)}}.stat{border:2.5px solid var(--ink);background:var(--white);border-radius:14px;padding:12px 14px}.stat b{font-family:var(--font-display);font-size:30px;line-height:1.1;display:block}.stat span{color:var(--mute);font-size:13px;font-weight:700}.table-wrap{border:2.5px solid var(--ink);background:var(--white);border-radius:16px;margin-top:14px;overflow-x:auto}table.table{border-collapse:collapse;width:100%;font-size:14px}.table th,.table td{text-align:left;border-bottom:1.5px solid var(--line);vertical-align:top;padding:10px 12px}.table th{background:var(--paper-2);letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;font-size:12px}.table tr:last-child td{border-bottom:0}.table tr:hover td{background:#fffaf2}.table a{font-weight:800}.status{border:2px solid var(--ink);text-transform:capitalize;white-space:nowrap;border-radius:999px;padding:2px 8px;font-size:12px;font-weight:900;display:inline-block}.status-draft{background:var(--white)}.status-submitted{background:var(--water)}.status-shortlisted{background:var(--cream)}.status-selected{background:var(--mint)}.status-not_selected{background:var(--line)}.status-withdrawn{background:var(--rose)}.kv{grid-template-columns:1fr;gap:4px 16px;font-size:15px;display:grid}@media (min-width:640px){.kv{grid-template-columns:180px 1fr}}.kv dt{color:var(--mute);font-weight:800}.kv dd{white-space:pre-wrap;word-break:break-word}.photo-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px;display:grid}.photo-grid img{aspect-ratio:1;object-fit:cover;border:2.5px solid var(--ink);border-radius:12px;width:100%}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}.cohort{background:var(--white);border:2.5px solid var(--ink);box-shadow:var(--shadow-xs);border-radius:16px;align-items:center;gap:12px;max-width:100%;padding:8px 14px 8px 10px;display:inline-flex}.cohort-crest{flex:none;width:46px;height:auto}.cohort-top{flex-wrap:wrap;align-items:center;gap:6px 8px;display:flex}.cohort-school{font-family:var(--font-display);letter-spacing:-.01em;font-size:16px;font-weight:800;line-height:1.2}.cohort-sub{color:var(--mute);margin-top:2px;font-size:13px;font-weight:700}.cohort-compact{box-shadow:none;padding:6px 12px 6px 8px}.cohort-compact .cohort-crest{width:34px}.cohort-compact .cohort-school{font-size:14px}.timeline{gap:14px;padding-left:4px;list-style:none;display:grid;position:relative}.timeline:before{content:"";background:var(--water);border:2px solid var(--ink);border-radius:6px;width:6px;position:absolute;top:18px;bottom:18px;left:25px}.timeline-row{align-items:flex-start;gap:16px;display:flex;position:relative}.timeline-dot{z-index:1;border:var(--bw) solid var(--ink);width:48px;height:48px;font-family:var(--font-display);color:var(--ink);border-radius:50%;flex:none;place-items:center;font-size:18px;font-weight:800;display:grid;position:relative}.timeline-card{background:var(--white);border:2.5px solid var(--ink);box-shadow:var(--shadow-xs);border-radius:18px;flex:1;padding:12px 16px}.timeline-when{letter-spacing:.12em;text-transform:uppercase;color:var(--orange-d);font-size:12px;font-weight:900;display:inline-block}.timeline-card h3{margin-top:2px;font-size:20px}.timeline-card p{color:#3b3732;margin-top:2px;font-size:15px}@media (min-width:900px){.timeline{grid-template-columns:repeat(7,1fr);gap:10px;padding-left:0}.timeline:before{width:auto;height:6px;inset:22px 24px auto}.timeline-row{flex-direction:column;gap:10px}.timeline-card{width:100%;min-height:168px;padding:12px}.timeline-card h3{font-size:17px}.timeline-card p{font-size:13.5px}}.prize-card{flex-direction:column;gap:6px;display:flex}.prize-amount{font-family:var(--font-display);letter-spacing:-.03em;margin-top:8px;font-size:clamp(48px,9vw,72px);font-weight:800;line-height:1}.prize-what{color:#3b3732;font-size:16px;font-weight:600}.support-row{background:var(--white);border:2.5px solid var(--ink);border-radius:16px;align-items:center;gap:14px;padding:12px 14px;display:flex}.support-row b{font-size:17px;display:block}.support-row span{color:#3b3732;font-size:14.5px;font-weight:600}.support-at{background:var(--yellow);width:44px;height:44px;font-family:var(--font-display);border:2.5px solid var(--paper);border-radius:50%;flex:none;place-items:center;font-size:24px;font-weight:800;display:grid;color:var(--ink)!important}.dash-hero{background:var(--cream)}.dash-hero .big{font-family:var(--font-display);letter-spacing:-.02em;font-size:clamp(28px,6vw,42px);font-weight:800;line-height:1.05}.slot-list{gap:10px;margin-top:12px;display:grid}.slot-row{background:var(--white);border:2.5px solid var(--ink);text-align:left;border-radius:16px;justify-content:space-between;align-items:center;gap:12px;width:100%;padding:12px 14px;display:flex}.slot-row:not(:disabled):hover{background:var(--paper-2)}.slot-row:disabled{opacity:.6;cursor:default}.slot-row .slot-title{font-size:16px;font-weight:800}.slot-row .slot-dates{color:var(--mute);font-size:13px;font-weight:700}.state{border:2px solid var(--ink);white-space:nowrap;border-radius:999px;flex:none;padding:3px 9px;font-size:12px;font-weight:900}.state-upcoming{background:var(--white);color:var(--mute);border-color:var(--line)}.state-open{background:var(--cream)}.state-draft{background:var(--water)}.state-submitted{background:var(--mint)}.state-late{background:#ffe0c2}.state-missed{background:var(--rose);color:#b0124f}.due-card{background:var(--ink);color:var(--paper)}.due-card h3{color:var(--yellow)}.feedback{border:2.5px solid var(--ink);background:var(--water);border-radius:14px;margin-top:14px;padding:12px 14px}.feedback b{letter-spacing:.12em;text-transform:uppercase;color:var(--blue);font-size:12px;display:block}.evidence-photos{flex-wrap:wrap;gap:10px;margin-top:8px;display:flex}.evidence-photos .ph{position:relative}.evidence-photos .ph button{border:2px solid var(--ink);background:var(--white);border-radius:50%;width:28px;height:28px;font-weight:900;line-height:1;position:absolute;top:-8px;right:-8px}.rgrid td.cell{text-align:center;padding:6px}.rgrid .cellbtn{border:2px solid var(--ink);border-radius:9px;place-items:center;min-width:34px;height:30px;font-size:12px;font-weight:900;text-decoration:none;display:inline-grid}.rgrid .c-upcoming{border-color:var(--line);color:var(--line);background:var(--white)}.rgrid .c-open{background:var(--white);color:var(--mute)}.rgrid .c-draft{background:var(--water)}.rgrid .c-submitted{background:var(--mint)}.rgrid .c-late{background:#ffe0c2}.rgrid .c-missed{background:var(--rose);color:#b0124f}.legend{flex-wrap:wrap;gap:8px 14px;margin-top:10px;font-size:13px;font-weight:700;display:flex}.legend span{align-items:center;gap:6px;display:inline-flex}
