:root{--bg:#0f1220;--bg2:#1a1f35;--card:#242b45;--card2:#2e3658;--text:#f7f8ff;--muted:#a8b0d0;--accent:#7c5cff;--accent2:#ff6bcb;--good:#3ddc97;--bad:#ff6b6b;--warn:#ffd166;--radius:20px;--tap:48px;--shadow:0 10px 30px #00000059;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;font-family:Nunito,Segoe UI,system-ui,sans-serif;font-weight:600;line-height:1.4}*{box-sizing:border-box}html,body,#root{background:radial-gradient(1200px 600px at 10% -10%, #3a2a6a 0%, transparent 55%), radial-gradient(900px 500px at 110% 10%, #2a4a6a 0%, transparent 50%), var(--bg);min-height:100%;margin:0}body{overflow-x:hidden}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit;color:inherit}input,textarea,select{background:var(--bg2);border:2px solid #0000;border-radius:14px;outline:none;width:100%;padding:12px 14px;font-size:16px}input:focus,textarea:focus,select:focus{border-color:var(--accent)}button{cursor:pointer;min-height:var(--tap);background:linear-gradient(135deg, var(--accent), var(--accent2));color:#fff;box-shadow:var(--shadow);border:none;border-radius:16px;padding:12px 18px;font-weight:800;transition:transform .12s,filter .12s}button:active{transform:scale(.97)}button:disabled{opacity:.5;cursor:not-allowed}button.secondary{background:var(--card2);box-shadow:none}button.ghost{box-shadow:none;color:var(--muted);background:0 0}button.danger{background:linear-gradient(135deg,#ff6b6b,#ff8e53)}button.good{background:linear-gradient(135deg,#3ddc97,#2bb673)}.app-shell{flex-direction:column;gap:14px;max-width:430px;min-height:100dvh;margin:0 auto;padding:16px 16px 32px;display:flex}.topbar{justify-content:space-between;align-items:center;gap:10px;display:flex}.brand{letter-spacing:-.02em;align-items:center;gap:10px;font-size:1.35rem;font-weight:900;display:flex}.brand .zap{width:40px;height:40px;box-shadow:var(--shadow);background:linear-gradient(135deg,#ffe66d,#ff6bcb);border-radius:14px;place-items:center;font-size:1.2rem;display:grid}.card{background:linear-gradient(180deg, var(--card), var(--card2));border-radius:var(--radius);box-shadow:var(--shadow);padding:16px}.card h2,.card h3{margin:0 0 8px}.muted{color:var(--muted);font-weight:600}.row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.stack{flex-direction:column;gap:12px;display:flex}.grow{flex:1}.kid-grid{grid-template-columns:1fr;gap:12px;display:grid}@media (width>=380px){.kid-grid{grid-template-columns:1fr 1fr}}.kid-card{border-radius:var(--radius);background:var(--bg2);text-align:center;min-height:120px;box-shadow:var(--shadow);border:3px solid #0000;flex-direction:column;align-items:center;gap:8px;padding:18px 12px;transition:transform .12s,border-color .12s;display:flex}.kid-card:active{transform:scale(.98)}.kid-card .avatar{background:#ffffff1f;border:4px solid;border-radius:50%;place-items:center;width:72px;height:72px;font-size:2.2rem;display:grid}.kid-card .name{font-size:1.2rem;font-weight:900}.stars-pill{color:var(--warn);background:#ffd16626;border-radius:999px;align-items:center;gap:6px;padding:6px 12px;font-weight:800;display:inline-flex}.mode-grid{gap:10px;display:grid}.mode-card{background:var(--bg2);text-align:left;border:2px solid #0000;border-radius:18px;align-items:center;gap:14px;min-height:72px;padding:14px;display:flex}.mode-card:hover,.mode-card:focus-visible{border-color:var(--accent)}.mode-card .emoji{background:#7c5cff40;border-radius:16px;place-items:center;width:52px;height:52px;font-size:1.8rem;display:grid}.mode-card .title{font-size:1.1rem;font-weight:900}.mode-card .blurb{color:var(--muted);font-size:.9rem}.letter-board{flex-wrap:wrap;justify-content:center;gap:8px;margin:12px 0;display:flex}.tile{color:#1a1f35;-webkit-user-select:none;user-select:none;background:#fff;border-radius:12px;place-items:center;width:48px;height:52px;font-size:1.35rem;font-weight:900;display:grid;box-shadow:0 4px #c5cae8}.tile.used{opacity:.35}.tile.blank{border:2px dashed var(--muted);color:var(--muted);box-shadow:none;background:0 0}.answer-input{text-align:center;letter-spacing:.08em;text-transform:lowercase;font-weight:900;font-size:1.4rem!important}.feedback-ok{color:var(--good);font-weight:900}.feedback-bad{color:var(--bad);font-weight:900}.pin-pad{grid-template-columns:repeat(3,1fr);gap:10px;max-width:280px;margin:0 auto;display:grid}.pin-pad button{background:var(--card2);min-height:56px;box-shadow:none;font-size:1.4rem}.pin-dots{justify-content:center;gap:12px;margin:12px 0 18px;display:flex}.pin-dots span{background:var(--card2);border:2px solid var(--muted);border-radius:50%;width:14px;height:14px}.pin-dots span.on{background:var(--accent);border-color:var(--accent)}.parent-nav{-webkit-overflow-scrolling:touch;gap:6px;padding-bottom:4px;display:flex;overflow-x:auto}.parent-nav a,.parent-nav button{white-space:nowrap;background:var(--bg2);min-height:40px;box-shadow:none;border-radius:999px;padding:8px 12px;font-size:.9rem}.parent-nav a.active{background:linear-gradient(135deg, var(--accent), var(--accent2))}.badge-row{flex-wrap:wrap;gap:8px;display:flex}.badge{background:#ffffff14;border-radius:999px;padding:6px 10px;font-size:.85rem}.confetti-layer{pointer-events:none;z-index:50;position:fixed;inset:0;overflow:hidden}.confetti-piece{border-radius:2px;width:10px;height:14px;animation:1.6s linear forwards fall;position:absolute;top:-10px}@keyframes fall{to{opacity:.2;transform:translateY(110vh)rotate(720deg)}}@media (prefers-reduced-motion:reduce){.confetti-piece{opacity:.9;animation:none;top:40%}button{transition:none}}.handoff{text-align:center;padding:32px 12px}.handoff .big{margin:12px 0;font-size:2rem;font-weight:900}.scoreboard{gap:8px;display:grid}.scoreboard .row{background:var(--bg2);border-radius:14px;justify-content:space-between;padding:10px 14px}.toast{color:#fff;z-index:60;box-shadow:var(--shadow);background:#111827;border-radius:999px;max-width:90vw;padding:12px 18px;position:fixed;bottom:24px;left:50%;transform:translate(-50%)}.timer{text-align:center;color:var(--warn);font-size:2rem;font-weight:900}label.field{color:var(--muted);flex-direction:column;gap:6px;font-size:.9rem;display:flex}.toggle{background:var(--bg2);border-radius:16px;justify-content:space-between;align-items:center;gap:12px;padding:14px;display:flex}.toggle input{width:48px;height:28px;accent-color:var(--accent)}.word-chip{background:var(--bg2);border-radius:999px;align-items:center;gap:6px;margin:4px;padding:8px 12px;display:inline-flex}.word-chip.boss{outline:2px solid var(--warn)}.footer-hint{text-align:center;color:var(--muted);margin-top:auto;padding-top:8px;font-size:.85rem}.full-width{width:100%}.text-link{text-underline-offset:4px;text-decoration:underline}progress{width:100%;height:14px;accent-color:var(--good)}.practice-word{letter-spacing:.08em;text-align:center;overflow-wrap:anywhere;font-size:2rem;font-weight:900}.week-checklist{grid-template-columns:repeat(5,1fr);gap:6px;display:grid}.week-checklist.seven{grid-template-columns:repeat(7,1fr)}.day{text-align:center;background:var(--bg2);border-radius:12px;flex-direction:column;gap:4px;padding:8px 2px;font-size:.8rem;display:flex}.day strong{font-size:1.4rem}.day.complete{color:var(--good);outline:1px solid var(--good)}.report-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.report-grid>div{background:var(--bg2);border-radius:12px;flex-direction:column;padding:12px;display:flex}.report-grid strong{color:var(--warn);font-size:1.7rem}.report-grid span{color:var(--muted);font-size:.85rem}.table-scroll{overflow-x:auto}table{border-collapse:collapse;width:100%}td,th{text-align:left;border-bottom:1px solid var(--muted);padding:9px 6px}caption{text-align:left;padding-bottom:8px;font-weight:800}.worksheet{color:#162038;background:#fff;border-radius:12px;padding:24px;font-family:Arial,sans-serif;font-weight:400}.worksheet h1{margin:8px 0;font-size:1.7rem}.print-brand{font-weight:700}.writing-rows{padding-left:24px}.writing-rows li{break-inside:avoid;padding:10px 0 18px 6px}.writing-rows strong{margin-bottom:6px;display:block}.writing-line{border-bottom:1px solid #555;width:100%;height:34px;display:block}.answer-key{border-top:1px solid #bbb;margin-top:32px;padding-top:24px}.answer-key li{padding:5px 0}.sync-status{color:var(--muted);font-size:.8rem}@media print{@page{size:auto;margin:18mm}html,body,#root{color:#000!important;background:#fff!important}.topbar,.parent-nav,.no-print,.footer-hint{display:none!important}.app-shell{max-width:none;min-height:0;padding:0;display:block}.worksheet{border-radius:0;padding:0;font-size:12pt}.worksheet header{break-inside:avoid}.writing-rows li{break-inside:avoid;padding-bottom:16px}.answer-key{break-before:page;border:0;margin:0;padding:0}}.audio-buttons{grid-template-columns:1fr 1fr;gap:8px;display:grid}.audio-buttons button{min-height:56px;padding:12px 8px;font-size:.95rem}.audio-status{margin:0;font-size:.85rem;line-height:1.45}.word-audio{gap:8px}@media (width<=330px){.audio-buttons{grid-template-columns:1fr}}.arcade-card{padding:16px;overflow:hidden}.arcade-scene{background:radial-gradient(at 100% 0,#484782,#080d2d 70%);border-radius:18px;height:280px;position:relative;overflow:hidden}.arcade-scene.bridge{background:linear-gradient(#407d80,#072d35)}.scene-tag{color:#dff;letter-spacing:.18em;pointer-events:none;font-size:.68rem;font-weight:800;position:absolute;top:16px;left:16px}.arcade-fallback{text-align:center;color:#fff;padding:64px 20px;font-size:2rem}.arcade-fallback small{font-size:.8rem}.crystal-tiles{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.crystal-tiles button{color:#fff;background:linear-gradient(145deg,#456aba,#353371);border:1px solid #96e7ff;min-width:48px;min-height:52px;font-size:1.2rem;box-shadow:0 4px #242750}.crystal-tiles button:disabled{opacity:.28}.crystal-answer{text-align:center;overflow-wrap:anywhere;border:2px dashed #75cac8;border-radius:12px;padding:16px;font-size:1.25rem;display:block}.voice-notice{border-left:3px solid #75cac8;padding-left:12px}.arcade-hud{flex-wrap:wrap;align-items:center;gap:8px 16px;font-size:.9rem;display:flex}.arcade-hud span{background:#ffffff10;border-radius:16px;padding:6px 10px}.route-buttons{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.route-buttons button{background:linear-gradient(145deg,#396b89,#474185);min-height:56px;padding:14px 4px;font-size:.88rem}.memory-scanner{text-align:center;background:linear-gradient(145deg,#174c57,#282958);border:2px solid #76e7d8;border-radius:16px;padding:20px}.memory-scanner .practice-word{overflow-wrap:anywhere}.arcade-scene.meteor{background:radial-gradient(at top,#51477d,#080d2d 75%)}.combo-meter{background:#ffffff0d;border:1px solid #ffffff20;border-radius:14px;gap:5px;padding:12px 16px;font-size:.85rem;display:grid}.combo-meter span{color:var(--muted)}.combo-meter summary{cursor:pointer}:root{--status-new:#8a93b8;--status-learning:#6cb8ff;--status-tricky:#ff9f5a;--status-mastered:#3ddc97}h1,h2,h3{letter-spacing:-.01em}:focus-visible{outline:3px solid var(--warn);outline-offset:2px}.home-title{text-align:center;padding:6px 0 2px}.home-title h1{margin:0 0 4px;font-size:2rem}.home-title p{margin:0}.today-pill{color:var(--warn);background:#ffd16626;border-radius:999px;padding:6px 10px;font-size:.85rem;font-weight:800}.today-pill.done{color:var(--good);background:#3ddc9726}.setup-banner{border:2px dashed var(--warn);background:#ffd16614;flex-direction:column;gap:4px;display:flex}.setup-banner span{color:var(--muted);font-size:.92rem}.setup-hint{background:#ffd1661a;border-radius:12px;margin:0 0 8px;padding:10px 12px;font-size:.9rem}.kid-hero{border-top:5px solid var(--kid,var(--accent));background:radial-gradient(420px 200px at 100% 0%, color-mix(in srgb, var(--kid,var(--accent)) 22%, transparent), transparent), linear-gradient(180deg, var(--card), var(--card2))}.hero-cta{min-height:60px;font-size:1.2rem}.hero-cta.done{background:linear-gradient(135deg,#3ddc97,#2bb673)}.quick-links{flex-wrap:wrap;gap:8px;display:flex}.quick-link{text-align:center;background:var(--bg2);border-radius:14px;flex:140px;min-height:48px;padding:12px;font-weight:800}.week-checklist .day.today{outline:2px solid var(--warn)}.stat-tiles{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.stat-tiles>div{background:var(--bg2);border-radius:16px;flex-direction:column;align-items:center;gap:2px;padding:12px 6px;display:flex}.stat-tiles strong{font-size:1.25rem}.stat-tiles span{color:var(--muted);font-size:.78rem}.reward-teaser{color:var(--text)}.mastery-count{color:var(--good);font-size:.95rem}.mastery-bar{background:var(--bg2);border-radius:999px;gap:2px;height:12px;display:flex;overflow:hidden}.mastery-bar .seg{min-width:6px;display:block}.seg.mastered,.dot.mastered{background:var(--status-mastered)}.seg.learning,.dot.learning{background:var(--status-learning)}.seg.tricky,.dot.tricky{background:var(--status-tricky)}.seg.new,.dot.new{background:var(--status-new);opacity:.5}.word-chip.status-mastered{box-shadow:inset 0 0 0 2px var(--status-mastered);color:#c9ffe6}.word-chip.status-learning{box-shadow:inset 0 0 0 2px var(--status-learning)}.word-chip.status-tricky{box-shadow:inset 0 0 0 2px var(--status-tricky);color:#ffd9bd}.legend{color:var(--muted);flex-wrap:wrap;gap:6px 14px;font-size:.8rem;display:flex}.legend .dot{vertical-align:-1px;border-radius:50%;width:10px;height:10px;margin-right:5px;display:inline-block}.buddy-home>summary{min-height:0;padding:0}.buddy-home[open]>summary{margin-bottom:8px}.mode-group{gap:8px}.group-head{justify-content:space-between;align-items:baseline;gap:8px;padding:6px 2px 0;display:flex}.group-head h2{margin:0;font-size:1.1rem}.group-head span{font-size:.8rem}.mode-card{color:var(--text);transition:transform .12s,border-color .12s}.mode-card:active{transform:scale(.98)}.mode-card.locked{opacity:.55}.mode-card.locked .emoji{filter:grayscale()}.mode-card.mode-daily{background:linear-gradient(135deg,#7c5cff59,#ff6bcb38);border-color:#ffffff1f}.mode-card.mode-learn .emoji{background:#6cb8ff40}.mode-card.mode-review .emoji{background:#ff9f5a40}.mode-tag{white-space:nowrap;background:#ffffff1a;border-radius:999px;padding:4px 8px;font-size:.72rem;font-weight:800}.mode-tag.hot{background:var(--warn);color:#2a2140}.tile.tap{cursor:pointer;background:#fff}.tile.tap:disabled{opacity:.25;box-shadow:none;transform:translateY(2px)}.tile:disabled:not(.tap):not(.used){opacity:1;cursor:default}.answer-row{gap:8px;display:flex}.answer-row .answer-input{flex:1;min-width:0}.answer-row .backspace{min-width:56px;padding:8px}.letter-check{text-align:center}.letter-check p{margin:6px 0 0;font-size:.85rem}.letter-check-row{flex-wrap:wrap;justify-content:center;gap:4px;display:flex}.letter-check-row span{text-transform:lowercase;border-radius:8px;place-items:center;min-width:30px;height:36px;font-size:1.15rem;font-weight:900;display:grid}.letter-check-row .ok{color:var(--good);background:#3ddc9733}.letter-check-row .miss{color:var(--bad);background:#ff6b6b2e;text-decoration:line-through;text-decoration-thickness:2px}.letter-check-row .fix{color:var(--status-tricky);outline:2px solid var(--status-tricky);background:#ff9f5a40}.letter-check-row .gap{border:2px dashed var(--muted);color:var(--muted)}.answer-compare{text-align:center;gap:10px;display:grid}.answer-compare small{color:var(--muted);margin-bottom:4px;display:block}.hint-line{text-align:center;letter-spacing:.06em;background:#ffd1661a;border-radius:12px;padding:8px;font-size:1.05rem}.hint-line strong{color:var(--warn);font-size:1.25rem}.hint-button{color:var(--warn)}.sentence-button{width:100%}.sentence-text{text-align:center;color:var(--muted);margin:0;font-style:italic}.sentence-editor summary{cursor:pointer;padding:6px 0;font-weight:800}.sentence-editor[open]{flex-direction:column;gap:10px;display:flex}.learn-steps{flex-wrap:wrap;justify-content:center;gap:4px;display:flex}.learn-steps span{background:var(--bg2);color:var(--muted);border-radius:999px;padding:4px 9px;font-size:.75rem;font-weight:800}.learn-steps span.on{background:var(--accent);color:#fff}.learn-word{flex-wrap:wrap;justify-content:center;gap:6px;padding:10px 0;display:flex}.learn-word span{color:#1a1f35;background:#fff;border-radius:12px;place-items:center;min-width:40px;height:54px;font-size:1.8rem;font-weight:900;display:grid;box-shadow:0 4px #c5cae8}.learn-word.covered span{background:var(--bg2);color:var(--muted);box-shadow:none}.nav-count{background:var(--bad);color:#fff;border-radius:999px;place-items:center;min-width:20px;height:20px;margin-left:6px;padding:0 5px;font-size:.72rem;display:inline-grid}.setup-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.setup-list li{align-items:flex-start;gap:10px;display:flex}.setup-list li.done span:last-child{color:var(--muted);text-decoration:line-through}.attention{border:2px solid var(--warn);color:var(--text);justify-content:space-between}.glance-stats{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.glance-stats>div{background:var(--bg2);border-radius:12px;flex-direction:column;padding:10px;display:flex}.glance-stats strong{color:var(--warn);font-size:1.3rem}.glance-stats span{color:var(--muted);font-size:.78rem}.parent-actions{grid-template-columns:1fr 1fr;gap:8px;display:grid}.parent-actions button{font-size:.95rem}.parent-nav{flex-wrap:wrap;overflow:visible}@media (prefers-reduced-motion:reduce){.mode-card{transition:none}}.privacy h1{margin:0;font-size:1.5rem}.privacy h2{margin:10px 0 0;font-size:1.1rem}.privacy p,.privacy ul{margin:0;line-height:1.5}.privacy ul{gap:6px;padding-left:20px;display:grid}.danger-zone{border:1px solid var(--bad);border-radius:14px;padding:10px 12px}.danger-zone summary{cursor:pointer;color:var(--bad);font-weight:800}.danger-zone[open]{flex-direction:column;gap:10px;display:flex}.danger-zone p{margin:0}.arcade-scene .scene-host{position:absolute;inset:0}.arcade-scene.rocket.steerable{cursor:pointer;touch-action:manipulation}.flight-panel{background:linear-gradient(#232a57,#1b2046);border:1px solid #4a4f96;border-radius:16px;gap:10px;padding:12px}.flight-trail{flex-wrap:wrap;justify-content:center;gap:6px;display:flex}.flight-trail span{min-width:34px;height:42px;color:var(--muted);background:#ffffff12;border-radius:10px;place-items:center;font-size:1.4rem;font-weight:900;display:grid}.flight-trail span.got{color:#c9ffe6;background:#3ddc9733}.flight-trail span.next{outline:2px dashed var(--warn);color:var(--warn)}.flight-help{text-align:center;color:var(--muted);margin:0;font-size:.9rem}.lane-buttons{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.lane-buttons button{color:#fff6d5;background:linear-gradient(145deg,#3a3f86,#262a5e);border:3px solid #ffd76d;min-height:72px;font-size:2rem;font-weight:900;box-shadow:0 5px #151838}.lane-buttons button[aria-pressed=true]{outline-offset:2px;outline:3px solid #fff}.lane-buttons button.bump{border-color:#ff6b6b;animation:.35s lane-bump}.lane-buttons button.hit{background:linear-gradient(145deg,#2f8f6b,#1e5c47);border-color:#7dffb2}.lane-buttons button:disabled{opacity:1}@keyframes lane-bump{25%{transform:translate(-5px)}75%{transform:translate(5px)}}.rocket-fallback{flex-direction:column;align-items:center;gap:12px;padding:40px 16px 20px;display:flex}.fallback-lanes{text-align:center;grid-template-columns:repeat(3,1fr);width:100%;font-size:2rem;display:grid}.fallback-lanes span{border:3px solid #ffd76d;border-radius:50%;place-items:center;width:64px;height:64px;margin:0 auto;display:grid}.fallback-lanes span.hit{border-color:#7dffb2}.fallback-lanes span.bump{border-color:#ff6b6b}.fallback-rocket{text-align:center;width:100%;font-size:2.4rem;transition:transform .3s}@media (prefers-reduced-motion:reduce){.lane-buttons button.bump{animation:none}.fallback-rocket{transition:none}}.save-notice{left:50%;bottom:max(16px, env(safe-area-inset-bottom));z-index:70;width:min(92vw,400px);color:var(--text);border:2px solid var(--good);background:#13182f;border-radius:16px;align-items:flex-start;gap:8px;padding:12px 8px 12px 16px;animation:.22s ease-out save-in;display:flex;position:fixed;transform:translate(-50%);box-shadow:0 12px 30px #00000080}.save-notice.pending{border-color:var(--accent)}.save-notice.warn{border-color:var(--warn)}.save-notice.info{border-color:#6cb8ff}.save-notice-text{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.save-notice-text strong{font-size:1rem}.save-notice-text span{color:var(--muted);font-size:.85rem;font-weight:600}.save-notice-close{min-height:32px;padding:2px 10px;font-size:1.3rem;line-height:1}.save-spinner{border:2px solid var(--accent);vertical-align:-1px;border-top-color:#0000;border-radius:50%;width:10px;height:10px;margin-right:6px;animation:.8s linear infinite save-spin;display:inline-block}.setup-step{flex-direction:column;align-items:flex-start;gap:4px;display:flex}.setup-skip{min-height:32px;padding:4px 10px;font-size:.85rem}@keyframes save-in{0%{opacity:0;transform:translate(-50%,16px)}}@keyframes save-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.save-notice,.save-spinner{animation:none}}.reset-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.reset-list li{background:var(--bg2);border-radius:14px;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;display:flex}.reset-who{flex-direction:column;gap:2px;min-width:0;display:flex}.reset-who .muted{font-size:.85rem}.reset-list button{flex:none;min-height:40px;padding:8px 14px}.buddy-portrait{vertical-align:middle;transform-origin:50% 90%;flex:none;width:88px;height:88px;display:inline-block;position:relative}.buddy-portrait img{object-fit:cover;box-sizing:border-box;border:3px solid #fff;border-radius:28%;width:100%;height:100%;display:block;box-shadow:0 5px #33205b19}.buddy-portrait[data-motion=true].buddy-idle{animation:2.8s ease-in-out 2 buddy-greet}.buddy-portrait[data-motion=true].buddy-happy{animation:.6s ease-in-out 3 buddy-hop}.buddy-portrait[data-motion=true].buddy-encourage{animation:.75s ease-in-out 2 buddy-nod}.buddy-portrait[data-motion=true].buddy-celebrate{animation:.7s ease-in-out 4 buddy-party}.buddy-sparkles{text-align:center;color:#916500;pointer-events:none;text-shadow:0 1px #fff;font-size:23px;position:absolute;inset:-10px -14px auto}.buddy-greeting{align-items:center;gap:20px;display:flex}.buddy-greeting h3{margin:0 0 8px}.buddy-greeting p{margin:0}.buddy-home summary{cursor:pointer;box-sizing:border-box;min-height:44px;padding:12px 0;font-weight:700}.buddy-options{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:12px 0;display:grid}.buddy-option{white-space:normal;flex-direction:column;align-items:center;gap:7px;min-width:0;display:flex;border:2px solid #0000!important;padding:12px 6px!important}.buddy-option[aria-pressed=true]{color:#302148!important;background:#f0eaff!important;border-color:#7454cd!important}.buddy-option .buddy-portrait{aspect-ratio:1;width:min(100%,100px);height:auto}.buddy-option small{font-size:.72rem;font-weight:400;line-height:1.3}.buddy-motion{align-items:center;gap:10px;font-size:.85rem;display:flex}.buddy-motion input{flex:none;height:20px;min-height:20px;width:20px!important}.buddy-coach{color:#332546;background:linear-gradient(115deg,#efeaff,#fff8e8);border-radius:18px;align-items:center;gap:14px;min-height:76px;padding:8px 14px;display:flex}.buddy-coach .buddy-portrait{width:58px;height:58px}.buddy-coach p{margin:0;font-size:.95rem;font-weight:600}.buddy-win{justify-content:center;gap:12px;display:flex}.buddy-win .buddy-portrait{width:110px;height:110px}@keyframes buddy-greet{0%,to{transform:translateY(0)rotate(0)}50%{transform:translateY(-4px)rotate(3deg)}}@keyframes buddy-hop{0%,to{transform:translateY(0)scale(1)}40%{transform:translateY(-10px)rotate(-5deg)}70%{transform:translateY(0)scale(1.04,.96)}}@keyframes buddy-nod{0%,to{transform:rotate(0)}50%{transform:rotate(5deg)}}@keyframes buddy-party{0%,to{transform:rotate(-6deg)}50%{transform:translateY(-12px)rotate(6deg)}}@media (prefers-reduced-motion:reduce){.buddy-portrait[data-motion=true]{animation:none!important}}@media (width<=400px){.buddy-greeting{gap:12px}.buddy-greeting>.buddy-portrait{width:72px;height:72px}.buddy-options{gap:6px}}
