@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/nunito-latin-400-normal-r8SDr6Up.woff2)format("woff2"),url(/assets/nunito-latin-400-normal-DKg4f3fz.woff)format("woff")}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/nunito-latin-700-normal-Dort48En.woff2)format("woff2"),url(/assets/nunito-latin-700-normal-OcDqTBcA.woff)format("woff")}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/nunito-latin-800-normal-Dz8SOQK_.woff2)format("woff2"),url(/assets/nunito-latin-800-normal-D-J0wlBY.woff)format("woff")}@font-face{font-family:Fraunces;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/fraunces-latin-700-normal-CEOla-zY.woff2)format("woff2"),url(/assets/fraunces-latin-700-normal-DTjk5d1Q.woff)format("woff")}:root{--ink:#24180f;--ink-soft:#5c4636;--paper:#fff6e4;--card:#fffdf8;--line:#24180f;--leaf:#0f5132;--leaf-bright:#1f8a4c;--sun:#f0b429;--coral:#e25b45;--sky:#d7f3ff;--good:#e5f6ea;--soft:#fff1e0;--shadow:0 5px 0 #24180f;--radius:28px;--sans:"Nunito", "Avenir Next", "Trebuchet MS", sans-serif;--display:"Fraunces", "Iowan Old Style", Palatino, serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-family:var(--sans);color:var(--ink);background:var(--paper);font-size:20px;line-height:1.4}[data-theme=sunset]{--paper:#ffe8d6;--sky:#ffd0b5;--leaf:#8f341c}[data-theme=tide]{--paper:#e7f6f4;--sky:#c5eee8;--leaf:#0c4f55}[data-theme=lilac]{--paper:#f3eefe;--sky:#e4d8fb;--leaf:#4c3480}*{box-sizing:border-box}html,body,#root{min-height:100%}body{background:radial-gradient(circle at 8% 0%, #ffe7a8 0 120px, transparent 122px), radial-gradient(circle at 100% 0%, var(--sky) 0 180px, transparent 182px), var(--paper);overscroll-behavior:none;margin:0}button,input,textarea,select{font:inherit;color:inherit}button{touch-action:manipulation}img,svg{max-width:100%;display:block}h1,h2,h3{font-family:var(--display);margin:0 0 8px;line-height:1.15}p{margin:0 0 12px}.help{color:var(--ink-soft);font-size:.95rem}.error{color:#8f341c;font-weight:800}.quiet{opacity:.7}.app{min-height:100dvh}.app-inner{width:min(1100px,100%);padding:calc(16px + env(safe-area-inset-top)) 20px calc(28px + env(safe-area-inset-bottom));margin:0 auto}.splash{text-align:center;place-items:center;min-height:100dvh;font-weight:800;display:grid}.sun{background:var(--sun);border:3px solid var(--ink);width:72px;height:72px;box-shadow:var(--shadow);border-radius:50%;margin:0 auto 12px}.banner{z-index:20;border:3px solid var(--ink);width:min(1100px,100% - 24px);box-shadow:var(--shadow);background:#fff4c2;border-radius:18px;justify-content:space-between;align-items:center;gap:12px;margin:0 auto;padding:12px 14px;display:flex;position:sticky;top:0}.banner p{margin:0;font-weight:800}.topbar,.hero-bar{justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px;display:flex}.hero-bar{align-items:flex-start}.hero-bar h1{font-size:clamp(2rem,4vw,3.2rem)}.brand{align-items:center;gap:8px;font-size:1.2rem;font-weight:800;display:inline-flex}.topbar h1{font-size:1.6rem}.topbar-actions,.row,.wrap{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.stack{gap:14px;display:grid}.btn,.icon-btn,.choice,.chip,.profile-card,.door,.plant-btn,.pin-key,.pill-btn,.palette{border:3px solid var(--ink);background:var(--card);box-shadow:var(--shadow);cursor:pointer;border-radius:18px;font-weight:800}.btn,.choice,.chip,.pin-key{min-height:64px;padding:12px 18px}.btn:active,.choice:active,.chip:active,.profile-card:active,.door:active,.pin-key:active,.plant-btn:active,.pill-btn:active{box-shadow:0 1px 0 var(--ink);transform:translateY(4px)}.btn:disabled,.choice:disabled,.chip:disabled,.icon-btn:disabled,.pill-btn:disabled,.palette:disabled{cursor:default;opacity:.55;transform:none}.btn.primary,.pin-key{background:var(--leaf);color:#fff}.btn.sun{background:var(--sun);color:var(--ink)}.btn.huge{border-radius:24px;width:100%;min-height:84px;font-size:1.45rem}.btn.small{min-height:48px}.icon-btn{background:#fff;min-width:52px;min-height:52px;padding:8px 12px}.btn:focus-visible,.icon-btn:focus-visible,.choice:focus-visible,.chip:focus-visible,.profile-card:focus-visible,.door:focus-visible,.plant-btn:focus-visible,.pin-key:focus-visible,.pill-btn:focus-visible,.swatch:focus-visible,.palette:focus-visible{outline:3px solid var(--leaf);outline-offset:3px}.card,.empty{background:var(--card);border:3px solid var(--ink);border-radius:var(--radius);padding:18px;box-shadow:0 8px #24180f14}.picker-grid,.doors,.plant-grid,.story-grid,.palette-list{gap:14px;display:grid}.picker-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.profile-card{align-content:center;justify-items:center;gap:8px;min-height:240px;padding:16px;font-size:1.4rem;display:grid}.who{text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:12px;padding:0;display:flex}.who strong{font-size:1.6rem;display:block}.who em{color:var(--ink-soft);font-style:normal;font-weight:800}.home-layout{gap:16px;display:grid}.hero{gap:12px;display:grid}.level-line{font-weight:800}.doors{grid-template-columns:repeat(2,1fr)}.door{text-align:center;align-content:center;justify-items:center;gap:6px;min-height:140px;padding:12px;display:grid}.door-mark{font-family:var(--display);font-size:1.4rem}.rhythm{gap:8px;display:grid}.days{gap:8px;display:flex}.day{border:3px solid var(--ink);background:#fff;border-radius:50%;place-items:center;width:42px;height:42px;font-weight:800;display:grid}.day.on{background:var(--leaf);color:#fff}.session{max-width:860px}.progress-label{text-align:center;font-weight:800}.dots{flex-wrap:wrap;justify-content:center;gap:6px;margin-bottom:12px;display:flex}.pip{border:2px solid var(--ink);background:#fff;border-radius:50%;width:14px;height:14px;display:block}.pip.done{background:var(--leaf-bright)}.pip.now{background:var(--sun)}.game-card{gap:14px;display:grid}.eyebrow{text-transform:uppercase;letter-spacing:.08em;color:var(--ink-soft);margin:0;font-size:.8rem;font-weight:800}.display-word{margin:0;font-size:clamp(3rem,8vw,5.2rem)}.pos{color:var(--leaf);font-weight:800}.definition{font-size:1.35rem}.sentence{font-family:var(--display);background:var(--sky);border:3px solid var(--ink);border-radius:20px;padding:16px 18px;font-size:clamp(1.5rem,3vw,2.1rem);line-height:1.35}.choices{gap:12px;display:grid}.choice{text-align:left;font-size:1.25rem}.choice.right,.feedback.good{background:var(--good)}.choice.miss,.feedback.gentle{background:var(--soft)}.feedback{border:3px solid var(--ink);border-radius:18px;padding:12px 14px}.feedback p{margin:6px 0 0}.origin-card{border:3px solid var(--ink);background:#fff4c2;border-radius:18px;padding:14px 16px;transform:rotate(-.6deg)}.meaning{grid-template-columns:1fr 1fr;gap:12px;display:grid}.meaning.shake{animation:.28s linear shake}.meaning-col{align-content:start;gap:10px;display:grid}.chip{text-align:left}.chip.picked{background:#fff4c2}.chip.locked{background:var(--good)}.shade-list{gap:10px;display:grid}.shade-row{border:3px solid var(--ink);background:#fff;border-radius:18px;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;display:flex}.shade-row p{color:var(--ink-soft);margin:0;font-size:.95rem}.letters{flex-wrap:wrap;gap:6px;display:flex}.letter{border-bottom:4px solid var(--ink);width:42px;height:52px;font-family:var(--display);place-items:center;font-size:1.6rem;display:grid}.field{gap:6px;width:100%;font-weight:800;display:grid}.field input,.field textarea,.field select{border:3px solid var(--ink);background:#fff;border-radius:14px;width:100%;min-height:56px;padding:10px 12px;font-size:1.1rem}.field textarea{resize:vertical;min-height:96px}.garden-scene{background:linear-gradient(var(--sky), var(--paper) 46%);border:3px solid var(--ink);border-radius:32px;min-height:60dvh;padding:16px}.sky{height:72px;position:relative}.sky .sun{width:56px;height:56px;margin:0;position:absolute;top:0;left:16px}.cloud{border:3px solid var(--ink);background:#fff;border-radius:20px;width:90px;height:36px;position:absolute;top:16px;right:24px}.garden-note{font-weight:800}.plant-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}.plant-btn{box-shadow:none;background:0 0;border-color:#0000;min-height:150px;padding:6px}.plant-btn span,.plant-btn small{font-weight:800;display:block}.plant-btn small{color:var(--ink-soft);font-size:.85rem}.backdrop{z-index:30;background:#24180f59;align-items:end;padding:12px;display:grid;position:fixed;inset:0}.sheet{background:var(--card);border:3px solid var(--ink);max-height:min(80dvh,720px);box-shadow:var(--shadow);border-radius:28px 28px 18px 18px;padding:18px;overflow:auto}.studio,.sketch,.look-layout{gap:14px;display:grid}.squish-stage{cursor:pointer;background:0 0;border:0;justify-items:center;gap:6px;font-weight:800;display:grid}.squish.lively{animation:.28s squish}.swatch{border:3px solid var(--ink);width:56px;height:56px;box-shadow:0 4px 0 var(--ink);cursor:pointer;border-radius:50%}.swatch.on,.pill-btn.on,.palette.on,.tab.on{outline:4px solid var(--sun)}.pill-btn{align-items:center;gap:8px;min-height:52px;padding:8px 14px;display:inline-flex}.pill-btn i{border:2px solid var(--ink);border-radius:50%;width:16px;height:16px;display:inline-block}.look-preview{justify-items:center;gap:8px;display:grid}.outfit{width:min(240px,70%);margin:0 auto}.palette{text-align:left;gap:4px;padding:12px;display:grid}.palette-colors{gap:4px;display:flex}.palette-colors i{border:2px solid var(--ink);border-radius:8px;width:28px;height:28px}.story-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}.story{text-align:left;background:#fff4c2;align-content:start;gap:6px;min-height:140px;padding:14px;display:grid}.story.open{background:#fff}.tabs{flex-wrap:wrap;gap:8px;display:flex}.tab{border:3px solid var(--ink);min-height:56px;box-shadow:var(--shadow);background:#fff;border-radius:16px;padding:8px 14px;font-weight:800}.filters{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;display:grid}.word-head,.stepper{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.pill{border:2px solid var(--ink);background:#fff;border-radius:999px;padding:2px 10px;font-size:.85rem;font-weight:800}.pill.good{background:var(--good)}.check{align-items:center;gap:10px;min-height:48px;font-weight:800;display:flex}.check input{width:28px;height:28px}.pin-card{max-width:460px;margin:0 auto}.pin-dots{justify-content:center;gap:12px;margin:12px 0;display:flex}.pin-dot{border:3px solid var(--ink);background:#fff;border-radius:50%;width:22px;height:22px}.pin-dot.on{background:var(--ink)}.pinpad{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.file-input{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.file-input+label,label.btn{justify-content:center;align-items:center;display:inline-flex;position:relative}.plain{padding-left:1.1rem}.celebrate{gap:8px;display:grid;position:relative;overflow:hidden}.confetti{pointer-events:none;position:absolute;inset:0}.confetti span{border-radius:4px;width:12px;height:18px;animation:1.1s ease-in forwards fall;position:absolute;top:-12px}@media (orientation:landscape) and (width>=900px){.home-layout{grid-template-columns:1.3fr .7fr;align-items:start}.doors{grid-template-columns:1fr 1fr}.backdrop{align-items:center}.sheet{border-radius:28px;width:min(640px,100%);margin:0 auto}.sketch{grid-template-columns:280px 1fr;align-items:start}.session{max-width:1040px}.game-card{grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr);align-items:start;gap:10px 22px}.game-card>.eyebrow,.game-card>.prompt,.game-card>.meaning,.game-card>.shade-list,.game-card>.letters,.game-card>.field,.game-card>.feedback,.game-card>.btn.huge{grid-column:1/-1}.game-card>.display-word,.game-card>.pos,.game-card>.definition,.game-card>.sentence{grid-column:1}.game-card>.origin-card,.game-card>.choices,.game-card>.row,.game-card>.btn:not(.huge){grid-column:2}.game-card .choices{grid-template-columns:1fr 1fr}.display-word{font-size:4.2rem}}@media (width<=700px){.meaning{grid-template-columns:1fr}.hero-bar{flex-direction:column}}@keyframes shake{20%{transform:translate(-4px)}40%{transform:translate(4px)}60%{transform:translate(-3px)}80%{transform:translate(3px)}}@keyframes squish{40%{transform:scale(1.08,.88)}to{transform:scale(1)}}@keyframes fall{to{opacity:.2;transform:translateY(240px)rotate(40deg)}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}
