:root{--ink:#111944;--cream:#fff5df;--paper:#fffdf6;--coral:#ff6b55;--sun:#ffc829;--lime:#c7ee4c;--turq:#50d7ca;--violet:#8b6ee8;--muted:#59627f;color:var(--ink);background:var(--cream);font-synthesis:none;font-family:DM Sans,sans-serif}*{box-sizing:border-box}body{background:var(--cream);min-width:320px;margin:0}button,select,input{font:inherit}button{cursor:pointer}button:focus-visible,select:focus-visible{outline:4px solid var(--sun);outline-offset:3px}.app-shell{min-height:100vh;padding-bottom:56px;position:relative;overflow:hidden}.sun-slice{background:var(--sun);z-index:-1;border-radius:50%;width:620px;height:620px;position:absolute;top:70px;right:-360px}.topbar,.hero-banner,.hero-picker,.content-grid,.play-area,.bottom-grid,.facilitator-page{width:min(1136px,100% - 40px);margin-inline:auto}.topbar{justify-content:space-between;align-items:center;height:80px;display:flex}.brand{letter-spacing:.08em;color:var(--ink);background:0 0;border:0;font-size:.85rem;font-weight:800}.brand span{width:29px;height:29px;color:var(--ink);background:var(--sun);border-radius:50%;place-items:center;margin-right:7px;font-size:1.1rem;display:inline-grid}.mode-switch{background:#e5decf;border-radius:999px;gap:3px;padding:4px;display:flex}.mode-switch button{color:var(--muted);background:0 0;border:0;border-radius:999px;padding:8px 14px;font-size:.78rem;font-weight:700}.mode-switch .selected{color:var(--paper);background:var(--ink)}.hero-banner{background:var(--ink);color:#fff;border-radius:30px;grid-template-columns:1.1fr .9fr;align-items:center;min-height:332px;padding:56px 5% 42px;display:grid;position:relative;overflow:hidden}.hero-banner:after{content:"";border:2px dashed #ffffff38;border-radius:50%;width:340px;height:340px;position:absolute;bottom:-180px;right:-100px}.eyebrow{letter-spacing:.15em;margin:0 0 10px;font-size:.69rem;font-weight:800}h1,h2{margin:0;font-family:"Baloo 2",cursive;line-height:.92}h1{letter-spacing:-.05em;font-size:clamp(3rem,6vw,5.8rem)}h1 em{color:var(--sun);font-style:normal}.hero-copy>p:not(.eyebrow),.facilitator-page header>p:not(.eyebrow){color:#e7eafa;max-width:440px;margin:18px 0;line-height:1.5}.stats{flex-wrap:wrap;gap:10px;display:flex}.stats span{color:var(--ink);background:var(--paper);border-radius:999px;padding:7px 11px;font-size:.78rem;font-weight:800}.hero-orbit{z-index:2;place-items:center;height:240px;display:grid;position:relative}.orb-emoji{background:var(--lime);width:136px;height:136px;box-shadow:14px 14px 0 var(--coral);border-radius:44% 56% 47% 53%;place-items:center;font-size:5.5rem;display:grid;transform:rotate(-9deg)}.orbit-ring{border:2px solid #fff6;border-radius:50%;position:absolute}.ring-one{width:220px;height:90px;transform:rotate(-27deg)}.ring-two{border-color:var(--sun);width:205px;height:95px;transform:rotate(43deg)}.spark{color:var(--sun);font-size:2.6rem;animation:2.8s ease-in-out infinite float;position:absolute}.spark-one{top:14%;left:6%}.spark-two{color:var(--turq);animation-delay:.7s;bottom:14%;right:4%}@keyframes float{50%{transform:translateY(-10px)rotate(12deg)}}.hero-picker{z-index:3;gap:12px;margin-top:-23px;padding:0 5px 5px;display:flex;position:relative;overflow:auto}.hero-chip{text-align:left;border:2px solid var(--ink);background:var(--paper);min-width:170px;color:var(--ink);box-shadow:4px 4px 0 var(--ink);border-radius:17px;flex:1;align-items:center;gap:10px;padding:11px;transition:transform .18s,box-shadow .18s;display:flex}.hero-chip:hover,.hero-chip.active{box-shadow:7px 7px 0 var(--ink);transform:translate(-2px,-3px)}.hero-chip b{border-radius:50%;place-items:center;width:38px;height:38px;font-size:1.35rem;display:grid}.hero-chip.lime b{background:var(--lime)}.hero-chip.violet b{background:var(--violet);color:#fff}.hero-chip.coral b{background:var(--coral);color:#fff}.hero-chip span{font-weight:800}.hero-chip small{color:var(--muted);margin-top:2px;font-size:.68rem;display:block}.content-grid{grid-template-columns:1.55fr .75fr;gap:22px;margin-top:34px;display:grid}.paper-panel{background:var(--paper);border:2px solid var(--ink);box-shadow:8px 8px 0 var(--ink);border-radius:23px;padding:25px}.panel-kicker,.game-head,.kit-top{letter-spacing:.12em;justify-content:space-between;align-items:center;font-size:.69rem;font-weight:800;display:flex}.panel-kicker b{color:var(--coral)}.meter{background:#e9e5da;border-radius:999px;height:10px;margin:12px 0 18px;overflow:hidden}.meter i{background:repeating-linear-gradient(90deg,var(--lime) 0 18px, var(--turq) 18px 32px);border-radius:inherit;height:100%;transition:width .35s;display:block}.mission-panel h2,.play-area h2,.bottom-grid h2,.challenge-card h2,.facilitator-page h2{font-size:2.2rem}.mission-panel>p{color:var(--muted);margin:5px 0 18px}.game-grid{grid-template-columns:repeat(5,1fr);gap:9px;display:grid}.game-tile{min-height:114px;color:var(--ink);background:#fff;border:1.5px solid #d8d2c4;border-radius:15px;flex-direction:column;align-items:center;gap:4px;padding:10px 6px;transition:all .18s;display:flex}.game-tile:hover:not(:disabled),.game-tile.hero-game{background:var(--lime);border-color:var(--ink);transform:translateY(-3px)}.game-tile.done{background:var(--turq)}.game-tile:disabled{opacity:.6;cursor:not-allowed}.game-tile>span{font-size:1.5rem}.game-tile b{font-size:.7rem}.game-tile small{color:var(--muted);font-size:.57rem}.challenge-card{background:var(--coral);color:#fff;box-shadow:7px 7px 0 var(--ink);border-radius:23px;padding:25px;transform:rotate(1.5deg)}.challenge-card h2{color:var(--sun)}.streak-row{align-items:center;gap:10px;margin:12px 0;display:flex}.streak-row strong{font:800 4.4rem/.8 "Baloo 2"}.streak-row span{font-size:.75rem;font-weight:700}.week-dots{justify-content:space-between;margin:23px 0 17px;display:flex}.week-dots i{border:2px solid #fff;border-radius:50%;width:18px;height:18px}.week-dots .filled{background:#fff}.week-dots .today{background:var(--sun);box-shadow:0 0 0 5px #ffc82947}.photo-button{border:2px solid var(--ink);background:var(--paper);color:var(--ink);border-radius:12px;justify-content:space-between;align-items:center;padding:10px 12px;font-size:.78rem;font-weight:800;display:flex}.photo-button input{opacity:0;block-size:1px;inline-size:1px;position:absolute}.privacy-note{opacity:.9;margin:9px 0 0;font-size:.64rem}.play-area{border:2px solid var(--ink);background:var(--turq);box-shadow:8px 8px 0 var(--ink);border-radius:23px;margin-top:35px;padding:26px}.game-head{align-items:start}.game-head .eyebrow{margin-bottom:4px}.hero-stamp{background:var(--sun);border:2px solid var(--ink);border-radius:50%;place-items:center;width:62px;height:62px;font-size:2.3rem;display:grid}.game-prompt{max-width:600px;margin:22px 0 14px;font-size:1.25rem;font-weight:700}.answer-row{grid-template-columns:1fr 1fr;gap:10px;display:grid}.answer-row button{text-align:left;border:2px solid var(--ink);color:var(--ink);background:var(--paper);box-shadow:3px 3px 0 var(--ink);border-radius:14px;justify-content:space-between;padding:14px;font-weight:800;display:flex}.answer-row button:hover{background:var(--sun);box-shadow:5px 5px 0 var(--ink);transform:translate(-1px,-1px)}.notice{background:var(--ink);color:#fff;border-radius:10px;margin:17px 0 0;padding:10px 13px;font-size:.82rem;font-weight:700;display:inline-block}.bottom-grid{grid-template-columns:1.25fr .75fr;gap:22px;margin-top:35px;display:grid}.recipe-card{background:var(--sun);border-radius:23px;align-items:center;gap:18px;padding:20px;display:flex}.recipe-art{background:var(--ink);border-radius:48% 52% 39% 61%;place-items:center;min-width:150px;height:150px;font-size:5rem;display:grid;position:relative}.recipe-art span{background:var(--lime);border-radius:50%;place-items:center;width:37px;height:37px;font-size:1.5rem;display:grid;position:absolute;top:-11px;right:-6px}.recipe-card h2{margin:2px 0 6px}.recipe-card p:not(.eyebrow){color:#3a3864;max-width:250px;font-size:.8rem}.recipe-card button{color:var(--ink);background:0 0;border:0;padding:0;font-weight:800;text-decoration:underline}.badge-card{background:var(--violet);color:#fff;border-radius:23px;padding:22px}.badge-card h2{font-size:2rem}.badges{gap:9px;margin-top:17px;display:flex}.badges span{color:#bbb1e8;border:1px solid #b9ace9;border-radius:50%;place-items:center;width:38px;height:38px;display:grid}.badges span.earned{color:var(--ink);background:var(--sun);border-color:var(--ink)}.facilitator-page{padding-top:45px}.facilitator-page header{max-width:650px}.facilitator-page header>p:not(.eyebrow){color:var(--muted)}.facilitator-page header h1{font-size:clamp(3.3rem,6vw,5.8rem)}.facilitator-grid{grid-template-columns:.85fr 1.15fr;gap:25px;margin-top:36px;display:grid}.context-form h2{margin-bottom:18px}.context-form label{color:var(--muted);letter-spacing:.08em;margin-top:13px;font-size:.7rem;font-weight:800;display:block}.context-form select{width:100%;color:var(--ink);border:1.5px solid var(--ink);background:#fff;border-radius:10px;margin-top:6px;padding:11px}.generate,.present-button{border:2px solid var(--ink);background:var(--lime);color:var(--ink);width:100%;box-shadow:3px 3px 0 var(--ink);border-radius:12px;margin-top:22px;padding:12px;font-weight:800}.form-note{color:var(--muted);margin:13px 0 0;font-size:.65rem;line-height:1.4}.kit-preview{background:var(--ink);color:#fff;border-radius:23px;min-height:475px;padding:28px;position:relative;overflow:hidden}.kit-preview:after{content:"✦";color:#ffffff0d;font-family:"Baloo 2";font-size:18rem;position:absolute;bottom:-100px;right:-30px}.kit-preview h2{max-width:360px;margin:20px 0 22px;font-size:2.5rem}.kit-top{color:var(--turq)}.kit-top b{background:var(--lime);color:var(--ink);border-radius:99px;padding:5px 7px;font-size:.66rem}.kit-item{z-index:2;border-top:1px solid #ffffff38;align-items:start;gap:11px;padding:13px 0;display:flex;position:relative}.kit-item>span{color:var(--sun);font-size:1.4rem}.kit-item p{color:#e6e8f4;margin:0;font-size:.8rem;line-height:1.45}.kit-item b{color:#fff;letter-spacing:.06em;margin-bottom:2px;font-size:.7rem;display:block}.present-button{z-index:2;max-width:205px;margin-bottom:0;position:relative}.present-button:disabled{color:#b7beda;box-shadow:none;cursor:not-allowed;background:#4b547b;border-color:#4b547b}.unlock-panel{background:var(--paper);border:2px solid var(--ink);border-radius:23px;grid-template-columns:.7fr 1.3fr;align-items:center;gap:25px;margin-top:28px;padding:23px;display:grid}.unlock-panel p:not(.eyebrow){color:var(--muted);font-size:.8rem;line-height:1.4}.unlock-list{grid-template-columns:repeat(2,1fr);gap:9px;display:grid}.unlock-list button{color:var(--ink);text-align:left;background:#fff;border:1.5px solid #d8d2c4;border-radius:12px;padding:12px;font-weight:800}.unlock-list button span{background:#eee8dc;border-radius:50%;place-items:center;width:20px;height:20px;margin-right:7px;display:inline-grid}.unlock-list button.unlocked{border-color:var(--ink);background:var(--lime)}.unlock-list button.unlocked span{background:var(--ink);color:#fff}.facilitator-notice{margin-top:18px}@media (width<=760px){.topbar,.hero-banner,.hero-picker,.content-grid,.play-area,.bottom-grid,.facilitator-page{width:min(100% - 26px,580px)}.topbar{height:65px}.brand{font-size:.72rem}.mode-switch button{padding:7px 9px}.hero-banner{grid-template-columns:1fr;padding:38px 25px 24px}.hero-orbit{height:180px;margin-top:8px}.orb-emoji{transform:scale(.8)rotate(-9deg)}.hero-picker{margin-top:14px}.content-grid,.bottom-grid,.facilitator-grid,.unlock-panel{grid-template-columns:1fr}.game-grid{grid-template-columns:repeat(3,1fr)}.game-tile{min-height:95px}.challenge-card{transform:none}.recipe-card{align-items:start}.recipe-art{width:105px;min-width:105px;height:105px;font-size:3.7rem}.facilitator-page{padding-top:28px}.unlock-list{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}.certificate-button{color:#fff;background:0 0;border:1px solid #ffffffb3;border-radius:9px;margin-top:14px;padding:7px 10px;font-size:.66rem;font-weight:800}.certificate-button:disabled{opacity:.62;cursor:not-allowed}.modal-backdrop{z-index:10;background:#111944b8;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal-card{background:var(--paper);border:3px solid var(--ink);width:min(100%,520px);box-shadow:10px 10px 0 var(--sun);border-radius:24px;padding:32px;position:relative}.modal-card h2{margin-bottom:13px;font-size:3rem}.modal-card>p:not(.eyebrow){color:var(--muted);line-height:1.5}.close-modal{color:var(--ink);background:0 0;border:0;font-size:2rem;line-height:1;position:absolute;top:12px;right:15px}.recipe-steps{gap:7px;margin:18px 0;display:grid}.recipe-steps b{background:var(--lime);border:1.5px solid var(--ink);border-radius:8px;padding:9px;font-size:.78rem}.modal-action{border:2px solid var(--ink);background:var(--coral);color:#fff;box-shadow:3px 3px 0 var(--ink);border-radius:10px;padding:10px 13px;font-weight:800}.certificate{text-align:center;background:var(--sun)}.certificate-star{background:var(--lime);border:2px solid var(--ink);border-radius:50%;place-items:center;width:72px;height:72px;margin:0 auto 12px;font-size:2.5rem;display:grid}.certificate .modal-action{background:var(--ink)}.hero-picker{margin-top:20px}@media (width<=560px){.hero-picker{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:0;display:grid;overflow:visible}.hero-chip{text-align:center;min-width:0;box-shadow:3px 3px 0 var(--ink);flex-direction:column;justify-content:center;gap:3px;padding:8px 4px}.hero-chip:hover,.hero-chip.active{box-shadow:4px 4px 0 var(--ink);transform:translate(-1px,-2px)}.hero-chip b{width:31px;height:31px;font-size:1.05rem}.hero-chip span{font-size:.74rem;line-height:1}.hero-chip small{margin-top:4px;font-size:.52rem;line-height:1.1}}.slide-presenter{border:2px solid var(--ink);background:var(--paper);width:min(1136px,100% - 40px);box-shadow:10px 10px 0 var(--ink);border-radius:28px;margin:35px auto 0;overflow:hidden}.presentation-topline{background:var(--ink);color:#fff;letter-spacing:.12em;justify-content:space-between;align-items:center;min-height:57px;padding:10px 22px;font-size:.69rem;font-weight:800;display:flex}.language-toggle{background:#ffffff26;border-radius:999px;gap:2px;padding:3px;display:flex}.language-toggle button{color:#cbd2ec;background:0 0;border:0;border-radius:999px;padding:7px 10px;font-size:.69rem;font-weight:800}.language-toggle .selected{color:var(--ink);background:var(--sun)}.localized-slide{grid-template-columns:1.05fr .95fr;align-items:center;gap:25px;min-height:538px;padding:clamp(32px,6vw,82px);display:grid;position:relative;overflow:hidden}.slide-sun .localized-slide{background:var(--sun)}.slide-turq .localized-slide{background:var(--turq)}.slide-lime .localized-slide{background:var(--lime)}.slide-violet .localized-slide{background:var(--violet);color:#fff}.slide-coral .localized-slide{background:var(--coral);color:#fff}.slide-navy .localized-slide{background:var(--ink);color:#fff}.slide-copy{z-index:2;position:relative}.slide-copy .eyebrow{color:inherit;opacity:.76}.slide-copy h1{max-width:650px;font-size:clamp(3.2rem,7vw,7rem)}.slide-copy h1 em{color:inherit}.slide-body{max-width:525px;margin:23px 0;font-size:clamp(1.05rem,2vw,1.35rem);font-weight:600;line-height:1.45}.slide-callout{border:2px solid;border-radius:14px;max-width:470px;padding:12px 14px;font-size:.85rem;font-weight:800;line-height:1.35;display:inline-block}.slide-visual{place-items:center;min-height:280px;display:grid;position:relative}.slide-visual>span{z-index:2;background:var(--paper);width:196px;height:196px;color:var(--ink);border:3px solid var(--ink);border-radius:46% 54% 62% 38%;place-items:center;font-size:7rem;display:grid;position:relative;transform:rotate(-8deg);box-shadow:16px 16px #1119443d}.visual-dot{border:2px solid var(--ink);border-radius:50%;display:block;position:absolute}.visual-dot.one{width:270px;height:110px;transform:rotate(34deg)}.visual-dot.two{border-style:dashed;width:310px;height:140px;transform:rotate(-32deg)}.visual-dot.three{background:var(--sun);width:36px;height:36px;top:12%;right:12%}.slide-controls{background:var(--paper);border-top:2px solid var(--ink);justify-content:space-between;align-items:center;padding:15px 22px;display:flex}.slide-controls>button{color:var(--ink);background:0 0;border:0;padding:8px;font-size:.83rem;font-weight:800}.slide-controls>button:disabled{color:#aaa697;cursor:not-allowed}.slide-dots{gap:8px;display:flex}.slide-dots button{border:1.5px solid var(--ink);background:#dad5c8;border-radius:50%;width:11px;height:11px;padding:0}.slide-dots button.active{background:var(--coral);border-radius:99px;width:28px}.presenter-note{color:var(--muted);background:#f1ecdf;margin:0;padding:10px 22px;font-size:.72rem;font-weight:700}@media (width<=760px){.slide-presenter{width:min(100% - 26px,580px);margin-top:20px}.localized-slide{grid-template-columns:1fr;min-height:560px;padding:35px 24px}.slide-visual{min-height:160px}.slide-visual>span{width:122px;height:122px;font-size:4.5rem;box-shadow:9px 9px #1119443d}.visual-dot.one{width:175px;height:75px}.visual-dot.two{width:205px;height:90px}.presentation-topline{padding:10px 14px;font-size:.58rem}.slide-controls{padding:12px 10px}.slide-callout{font-size:.77rem}}
