:root{color-scheme:dark;--bg:#14100f;--card:#221a18;--gold:#ffc24a;--hot:#ff5a3c;--muted:#c8b6ae;--line:#49332b}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:#fff5e9;font:18px/1.6 system-ui,-apple-system,sans-serif}a{color:var(--gold);text-underline-offset:4px}button,input,select{font:inherit}button,.button{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:12px 22px;border:0;border-radius:15px;background:var(--gold);color:#24180b;font-weight:750;text-decoration:none;cursor:pointer;white-space:normal;text-align:center;max-width:100%}button:hover,.button:hover{filter:brightness(1.12);transform:translateY(-1px)}button:disabled{opacity:.45;cursor:default}.quiet{background:#30231f;color:#ffe4c6;border:1px solid #624434}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid var(--gold);outline-offset:4px}header{max-width:1120px;margin:auto;padding:25px 24px;display:flex;align-items:center;justify-content:space-between;gap:15px}.brand{font-size:24px;font-weight:850;text-decoration:none;color:#fff5e9}.brand span{color:var(--gold)}.stats{display:flex;gap:24px;font-size:16px}nav{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;border-block:1px solid var(--line);padding:10px 16px}nav a{padding:10px;text-decoration:none;font-size:16px}nav button{font-size:15px}main{max-width:1040px;margin:auto;padding:38px 24px 60px}h1{font-size:clamp(30px,5vw,48px);line-height:1.15;letter-spacing:-1.2px;margin:16px 0 24px}h2{font-size:27px;line-height:1.25}h3{font-size:21px;line-height:1.35}p{color:var(--muted)}.eyebrow{font-size:13px;font-weight:800;letter-spacing:2px;color:var(--gold)}.hero{text-align:center;max-width:780px;margin:24px auto 70px}.hero h1{font-size:clamp(38px,6vw,64px)}.hero p{font-size:21px;max-width:580px;margin:24px auto}.mascot{font-size:85px;margin:16px}.card{background:var(--card);border:1px solid var(--line);border-radius:24px;padding:28px;margin-bottom:24px}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:22px}.grid .card{margin:0}.grid{margin-bottom:28px}.narrow{max-width:660px;margin:20px auto}.stack{display:flex;flex-direction:column;gap:16px}.stack label{display:block;font-weight:650}input,select{display:block;min-height:50px;border:1px solid #705044;border-radius:12px;background:#181211;color:#fff;padding:12px;width:100%;margin-top:6px}.big-icon{display:block;font-size:60px}progress{display:block;width:100%;height:16px;accent-color:var(--gold);border:0;border-radius:20px;overflow:hidden}progress::-webkit-progress-bar{background:#49332b}progress::-webkit-progress-value{background:var(--gold)}.goal{display:flex;justify-content:space-between;align-items:center;gap:25px}.goal>div{flex:1}.goal p{margin:6px 0}.unit{max-width:760px;margin:44px auto 65px}.unit-heading{display:flex;gap:20px;justify-content:space-between;background:linear-gradient(120deg,#38251a,#221a18);padding:28px;border:1px solid #785029;border-radius:24px}.unit-heading h2{margin:8px 0}.unit-heading p{margin:8px 0}.ring{background:conic-gradient(var(--gold) var(--progress),#59412d 0);width:82px;height:82px;border-radius:50%;padding:7px;flex-shrink:0;display:grid;place-items:center}.ring span{background:var(--card);border-radius:50%;width:68px;height:68px;display:grid;place-items:center;font-weight:bold}.path{position:relative;padding:28px 0}.path:before{content:'';position:absolute;top:0;bottom:30px;left:50%;border-left:4px dashed #5a3d2b;z-index:-1}.path-stop{width:210px;margin:0 auto 30px;text-align:center}.path-stop:nth-child(3n+1){transform:translateX(-55px)}.path-stop:nth-child(3n+2){transform:translateX(55px)}.node{border-radius:50%;width:80px;height:75px;font-size:32px;box-shadow:0 7px 0 #9b681d;border:5px solid #ffda8d;margin-bottom:14px}.node.done{background:#b9d875;border-color:#d9edaa;box-shadow:0 7px 0 #526b26}.path-stop b{display:block;background:var(--bg);font-size:17px}.controls{display:flex;gap:14px;align-items:center;flex-wrap:wrap;margin:15px 0}.controls label{display:flex;gap:12px;align-items:center}.controls select{width:auto;margin:0}.chips{display:flex;gap:10px;flex-wrap:wrap}.chips span{font-size:30px;background:#3b2b22;border-radius:15px;padding:6px 12px}.story{font-size:24px;color:#fff0d8}video{width:100%;max-height:520px;background:#090706;border-radius:16px;display:block}video.mirrored{transform:scaleX(-1)}.step-row{display:grid;grid-template-columns:1fr 2fr auto;gap:24px;border-bottom:1px solid var(--line);padding:25px 0}.step-row p{margin-top:4px}.photo img,.learn-photo{max-width:100%;border-radius:12px;max-height:280px;object-fit:contain}.photo{text-align:center}.lesson h1{font-size:29px;overflow-wrap:anywhere}.lesson .big-icon{text-align:center}.lesson form{margin-top:24px}summary{cursor:pointer;padding:12px 0;min-height:48px;color:var(--gold)}li{margin:10px 0}.error,.incorrect{border-color:#d66e59}.error{color:#ffad9c}.correct{border-color:#94c56f;background:#1d2b1b}.confetti{color:var(--gold);font-size:35px;letter-spacing:12px;animation:celebrate 1s ease-out}.skip{position:absolute;left:-9999px}.skip:focus{left:10px;top:10px;z-index:10;background:#000}footer{text-align:center;padding:30px;color:var(--muted);border-top:1px solid var(--line)}.beat{font-size:120px;line-height:1.2;text-align:center;color:var(--gold);font-weight:850}.on{border:2px solid var(--gold)}@keyframes celebrate{from{transform:translateY(-45px);opacity:0}to{transform:translateY(0);opacity:1}}@media(prefers-reduced-motion:reduce){*{animation:none!important;scroll-behavior:auto!important}}@media(max-width:600px){header{padding:18px 16px;flex-wrap:wrap}.brand{font-size:22px}.stats{gap:18px}main{padding:26px 16px 45px}.card{padding:22px}.goal{display:block}.goal form{margin-top:20px}.unit-heading{padding:20px;gap:12px}.ring{width:64px;height:64px}.ring span{width:50px;height:50px;font-size:15px}.step-row{grid-template-columns:1fr}.path-stop{width:190px}.path-stop:nth-child(3n+1){transform:translateX(-38px)}.path-stop:nth-child(3n+2){transform:translateX(38px)}.hero .button{margin:8px 0;width:100%}nav{gap:0}nav a{font-size:14px;padding:10px 9px}.confetti{letter-spacing:3px}h1,h2,h3,p,li{overflow-wrap:anywhere}}
/* Shared account forms and compact lists. */
.text-link{display:inline-flex;align-items:center;min-height:48px;padding:8px 4px}.badge{display:inline-flex;align-items:center;gap:4px;background:#49332b;color:#ffe4c6;border-radius:20px;padding:2px 9px;font-size:14px}.rows{display:flex;flex-direction:column;margin:20px 0;border-top:1px solid var(--line)}.rows>.row,.rows>article{display:flex;flex-direction:column;gap:4px;padding:14px 8px;border-bottom:1px solid var(--line);text-decoration:none;overflow-wrap:anywhere}.rows span{font-size:14px;color:var(--muted)}.rows form{margin-top:8px}.choices{display:flex;gap:12px}.choices button{flex:1}.choices [aria-pressed=true]{background:var(--gold);color:var(--bg)}.password-field{display:flex;gap:8px}.password-field input{min-width:0;margin:0}.password-field button{flex-shrink:0;min-width:50px;padding:10px}textarea{font:inherit;width:100%;min-height:120px;background:var(--bg);color:inherit;border:1px solid var(--line);border-radius:12px;padding:12px}.auth{max-width:460px;margin:0 auto}.auth h1{font-size:32px}.auth .stack{gap:10px}.auth .text-link{margin-top:8px}nav a{min-height:48px;display:inline-flex;align-items:center;gap:4px}.brand{min-height:48px;display:inline-flex;align-items:center;gap:6px}select{max-width:100%}@media(max-width:600px){body:has(.auth) main{padding-top:12px;padding-bottom:16px}.auth{padding:20px}.auth h1{margin-top:0;margin-bottom:20px}}

.skip{min-height:48px;min-width:48px;padding:10px}
nav a{min-width:48px}

/* Phone header: one row so the video gets the room. */
@media(max-width:600px){header{flex-wrap:nowrap;padding:12px 16px}.brand{font-size:20px}.stats{gap:12px;font-size:15px;white-space:nowrap}}
