@import"https://fonts.googleapis.com/css2?family=Nunito:wght@600;700;800;900&display=swap";:root{font-family:Nunito,Avenir Next,Segoe UI,sans-serif;line-height:1.35;font-weight:700;color:#1d2d3f;background:radial-gradient(circle at 12% 14%,rgba(255,221,160,.24) 0 8%,transparent 9%),radial-gradient(circle at 84% 20%,rgba(157,239,220,.28) 0 9%,transparent 10%),linear-gradient(180deg,#e9f5ff,#f4fbff 52%,#f8fcff)}*{box-sizing:border-box}body{margin:0;min-height:100vh;color:#1d2d3f}#app{min-height:100vh}.app-shell{max-width:1120px;margin:0 auto;padding:1rem;display:flex;flex-direction:column;gap:1rem;position:relative}.app-shell:before,.app-shell:after{content:"";position:fixed;width:34px;height:34px;border-radius:50%;opacity:.25;z-index:-1;animation:floaty 6.4s ease-in-out infinite}.app-shell:before{left:4%;top:18%;background:radial-gradient(circle at 30% 30%,#fff,#ffd17a)}.app-shell:after{right:5%;top:28%;background:radial-gradient(circle at 30% 30%,#fff,#7cc3ff);animation-delay:1.4s}.stack{display:flex;flex-direction:column;gap:1.05rem}.card,.kid-card{border-radius:22px;border:3px solid #c4dcf4;box-shadow:0 10px 24px #14446c1f;padding:1.12rem}.card{background:#fff}.kid-card{background:#fff;display:flex;flex-direction:column;gap:.85rem}.kid-card.compact{padding:.8rem}.kid-card-head{display:flex;flex-direction:column;gap:.3rem;margin-bottom:.2rem}.kid-card-title{margin:0;font-size:1.42rem;line-height:1.15;display:flex;align-items:center;gap:.4rem}.kid-card-emoji{font-size:1.15em}.kid-card-subtitle{margin:0;color:#5a7088;font-size:.97rem}.tone-blue{background:linear-gradient(160deg,#fff,#edf7ff)}.tone-green{background:linear-gradient(160deg,#fff,#eefdf0)}.tone-yellow{background:linear-gradient(160deg,#fffef5,#fff4cf)}.tone-purple{background:linear-gradient(160deg,#fefbff,#f4ebff)}.tone-plain{background:#fff}h1,h2,h3,h4,p{margin:0}.muted{color:#5d748f}.topbar{display:grid;grid-template-columns:1fr auto;gap:.7rem;align-items:center;position:relative}.topbar h1{font-size:clamp(1.5rem,4vw,2rem)}.nav-tabs{display:flex;flex-wrap:wrap;gap:.45rem}.kid-hud{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.4rem}.settings-fab{justify-self:end}button,select,input,textarea{font:inherit}button{border:2px solid #8fb6dc;background:linear-gradient(180deg,#fff,#eef6ff);color:#1f3550;border-radius:16px;min-height:44px;padding:.56rem .95rem;cursor:pointer;font-weight:800;transition:transform .12s ease,filter .12s ease,box-shadow .12s ease;box-shadow:0 4px #1f5c9c2e}button:hover:not(:disabled){filter:brightness(.99);box-shadow:0 6px #1f5c9c33}button:active:not(:disabled){transform:translateY(2px) scale(.985);box-shadow:0 2px #1f5c9c33}button:disabled{opacity:.56;cursor:not-allowed}.tab-btn.active,button.primary{border-color:#1669ca;background:linear-gradient(180deg,#2b88ec,#1b73d9);color:#fff;box-shadow:0 4px #15519157}.ghost-btn{background:transparent}.settings-grid,.editor-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.9rem}label{display:flex;flex-direction:column;gap:.35rem;font-weight:800}select,input,textarea{border:2px solid #b9d4ed;border-radius:14px;padding:.52rem .64rem;background:#fff}.inline-actions{display:flex;gap:.75rem;flex-wrap:wrap}.badge-pill{display:inline-flex;align-items:center;gap:.35rem;border-radius:999px;border:2px solid transparent;padding:.34rem .72rem;min-height:44px;font-weight:900;box-shadow:0 3px #1d4a761f}.badge-pill.tone-blue{border-color:#9cc7f2;background:#e9f4ff}.badge-pill.tone-green{border-color:#9fd9b2;background:#ebfff1}.badge-pill.tone-yellow{border-color:#e3c46f;background:#fff8db}.badge-pill.tone-purple{border-color:#c0a2f0;background:#f4ebff}.badge-pill.tone-gray{border-color:#b9cad9;background:#f2f7fb}.badge-icon{font-size:1rem}.question-text{font-size:clamp(1.08rem,2.6vw,1.34rem);font-weight:900;max-width:58ch;white-space:pre-line}.guide-prompt{font-size:clamp(1rem,2.4vw,1.15rem);font-weight:800;white-space:pre-line}.prompt-row{display:grid;grid-template-columns:1fr auto;gap:.85rem;align-items:start}.speak-btn{white-space:nowrap;background:#fff9d9;border-color:#e8c359}.position-pill{display:inline-flex;align-items:center;gap:.3rem;align-self:flex-start;border-radius:999px;border:2px solid #8fc4ec;background:#eaf6ff;padding:.4rem .9rem;font-weight:900;box-shadow:0 4px #2d679c2e}.hype-line{display:inline-flex;align-self:flex-start;border-radius:999px;border:2px dashed #f1b855;background:linear-gradient(180deg,#fff9e7,#ffefc3);color:#6f4b04;font-weight:900;padding:.34rem .78rem;letter-spacing:.01em}.choice-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:.9rem}.big-choice-tile{min-height:92px;border-radius:20px;padding:.62rem .75rem;display:grid;grid-template-columns:auto 1fr;align-items:center;gap:.52rem;text-align:left;border-width:3px;position:relative;overflow:hidden}.big-choice-tile:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(120deg,transparent 25%,rgba(255,255,255,.35) 46%,transparent 68%);transform:translate(-120%);transition:transform .4s ease}.big-choice-tile:hover:not(:disabled):after{transform:translate(120%)}.choice-icon-wrap{position:relative;width:1.7rem;height:1.7rem;display:inline-flex;align-items:center;justify-content:center}.big-choice-tile .choice-icon{font-size:1.32rem}.choice-sparkle{position:absolute;top:-.6rem;right:-.55rem;font-size:.78rem;animation:sparkle-pop 1.2s ease-in-out infinite}.choice-label-wrap{display:flex;flex-direction:column;gap:.14rem}.big-choice-tile .choice-label{font-size:1.01rem;line-height:1.15;font-weight:900}.choice-sub{font-size:.72rem;opacity:.78}.big-choice-tile.state-default{background:#f8fbff;border-color:#b9d5ef}.big-choice-tile.state-correct{background:#e8ffe9;border-color:#70bb80}.big-choice-tile.state-wrong{background:#fff4db;border-color:#e9b46d}.wrong-pulse{animation:wrong-shake .36s ease}.feedback{border-radius:18px;border:2px dashed #9cc7f0;background:linear-gradient(180deg,#f7fcff,#eaf6ff);padding:1rem}.xp-panel{border-radius:16px;border:2px dashed #97c9ef;background:linear-gradient(180deg,#f7fcff,#eef7ff);padding:.65rem;display:flex;flex-direction:column;gap:.4rem}.xp-panel-head{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.4rem;color:#2b4f73;font-size:.92rem}.level-meter{height:12px;border-radius:999px;border:2px solid #c5def4;background:#e5f2ff;overflow:hidden}.level-fill{display:block;height:100%;width:0;background:linear-gradient(90deg,#7b6bff,#54abff 60%,#39d0c2);transition:width .35s ease}.mission-chips{display:flex;flex-wrap:wrap;gap:.35rem}.mission-chip{border-radius:999px;border:2px solid #c3d9ef;background:#fff;font-size:.76rem;font-weight:900;padding:.22rem .58rem}.mission-chip.done{border-color:#7ec191;background:#e8ffec;color:#256738}.session-stars{display:inline-flex;gap:.3rem;font-size:1.45rem;animation:bounce-stars .9s ease}.streak-meter{height:14px;border-radius:999px;background:#dfeefb;overflow:hidden;border:2px solid #bddaf3}.streak-fill{display:block;height:100%;width:0;background:linear-gradient(90deg,#ffd55c,#ff9850);transition:width .32s ease}.diagram-phase-card{border-style:dashed;border-color:#b4d4ee}.tag-row{display:flex;flex-wrap:wrap;gap:.35rem}.diagram-shell{width:100%;overflow-x:auto}.diagram{width:100%;min-width:340px;max-height:420px}.diagram-label{font-size:10px;font-weight:900;fill:#0f2b43}.diagram-note{font-size:11px;fill:#34536f;text-anchor:start}.runner-label{font-size:8px;font-weight:900;fill:#ea0c0c}.path-ball{stroke:#ef6c00;stroke-width:2.8;stroke-dasharray:6 5;opacity:.82;fill:none}.path-ball-ground{stroke-dasharray:5 6;animation:ball-path-scroll-ground .9s linear infinite}.path-ball-line{stroke-dasharray:9 4;animation:ball-path-scroll-line .55s linear infinite}.path-ball-fly{stroke-dasharray:3 8;animation:ball-path-scroll-fly 1.35s linear infinite}.path-player{stroke:#1565c0;stroke-width:3;stroke-dasharray:6 5;stroke-linecap:round;opacity:.76}.path-throw{stroke:#12a2a8;stroke-width:4.4;stroke-linecap:round;stroke-dasharray:7 7;animation:throw-trail .55s linear infinite}.moving-player{transform-box:fill-box;transform-origin:center;animation-name:diagram-path-loop;animation-duration:var(--loop-duration, 2s);animation-iteration-count:infinite;animation-timing-function:ease-in-out}.kid-player-sprite{filter:drop-shadow(0 0 1.1px rgba(5,35,70,.28))}.kid-head{fill:#ffd8b5;stroke:#e9b48a;stroke-width:.5}.kid-cap{fill:#0d47a1;stroke:#08306b;stroke-width:.35}.kid-jersey{fill:#1976d2;stroke:#0d47a1;stroke-width:.5}.kid-arm,.kid-leg{fill:none;stroke:#0b4f8a;stroke-width:.85;stroke-linecap:round}.kid-leg{stroke:#37474f}.position-kid-marker{filter:drop-shadow(0 0 1.2px rgba(10,38,72,.26))}.focus-jersey{fill:#1e88e5;stroke:#0d47a1}.player-marker{filter:drop-shadow(0 0 1px rgba(6,29,52,.25))}.marlins-logo-badge{fill:url(#marlins-badge-grad);stroke:#00324d;stroke-width:.9}.marlins-logo-stripe{fill:none;stroke:#ff6b35;stroke-width:1.25;stroke-linecap:round}.marlins-logo-mark{font-size:6px;font-weight:900;fill:#fff;letter-spacing:.02em}.moving-ball{pointer-events:none}.baseball-core{fill:#fff;stroke:#cfd8dc;stroke-width:.7}.baseball-seam{fill:none;stroke:#d84343;stroke-width:.9;stroke-linecap:round}.baseball-static{opacity:.92}.baseball-sprite{transform-box:fill-box;transform-origin:center;filter:drop-shadow(0 0 1.2px rgba(0,0,0,.24))}.baseball-line{animation:baseball-line-zoom .2s ease-in-out infinite}.baseball-ground{animation:baseball-ground-bounce .26s ease-in-out infinite,baseball-ground-zoom .32s ease-in-out infinite}.baseball-fly{animation:baseball-fly-zoom .92s ease-in-out infinite}.baseball-throw{animation:baseball-throw-spin .22s linear infinite,baseball-throw-pop .46s ease-in-out infinite}.feedback-solution-card{margin-top:.25rem}.hold-stop-text{font-size:10px;fill:#fff;font-weight:900}.hold-stop-subtext{font-size:7px;fill:#fff;font-weight:900}.editor-textarea{width:100%;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.status{background:#eaf8ee;border:1px solid #98d5aa;border-radius:10px;padding:.4rem .6rem;color:#1d6d39;font-weight:700}.sticker-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:.6rem}.sticker-tile{border-radius:16px;border:2px dashed #b8cfe5;padding:.7rem;background:#f8fcff;display:flex;flex-direction:column;gap:.2rem;transition:transform .14s ease,box-shadow .14s ease}.sticker-tile:hover{transform:translateY(-2px);box-shadow:0 8px 14px #1c3e6024}.sticker-tile.unlocked{border-color:#ffcb65;background:#fff8df}.sticker-tile.locked{opacity:.64}.sticker-emoji{font-size:1.42rem}.mini-label{display:inline-block;align-self:flex-start;border-radius:999px;padding:.2rem .6rem;background:#f0f6ff;border:1px solid #bcd4eb;font-size:.82rem}.sticker-modal-backdrop,.settings-drawer-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0e1f306b;z-index:1400;display:flex;justify-content:center;align-items:center;padding:1rem}.sticker-modal{width:min(620px,95vw);border-radius:24px;border:3px solid #9ec2ea;background:#fff;padding:1rem;display:flex;flex-direction:column;gap:.7rem;box-shadow:0 18px 34px #061f3942}.settings-drawer{width:min(460px,95vw);max-height:90vh;overflow:auto}.settings-header{display:flex;justify-content:space-between;align-items:center;gap:.6rem}.toggle-row{display:flex;flex-direction:row;justify-content:space-between;align-items:center;padding:.55rem .7rem;border-radius:13px;background:#fff;border:2px solid #d1e1f2}.toggle-row input[type=checkbox]{width:22px;height:22px}.confetti-wrap{position:fixed;pointer-events:none;top:0;right:0;bottom:0;left:0;overflow:hidden;z-index:1000}.confetti{position:absolute;top:-10px;width:10px;height:14px;border-radius:2px;box-shadow:0 0 0 1px #ffffff59 inset;animation-name:confetti-fall;animation-timing-function:ease-out;animation-fill-mode:forwards}.rules-list,.tip-box ol{margin:0;padding-left:1.1rem;display:flex;flex-direction:column;gap:.5rem}.tip-box{border:2px dashed #8ec7a5;border-radius:12px;background:#f2fff5;padding:.7rem}.pop-in-enter-active,.pop-in-leave-active{transition:all .18s ease}.pop-in-enter-from,.pop-in-leave-to{opacity:0;transform:translateY(8px) scale(.97)}.slide-in-enter-active,.slide-in-leave-active{transition:opacity .2s ease}.slide-in-enter-from,.slide-in-leave-to{opacity:0}@keyframes wrong-shake{0%{transform:translate(0)}25%{transform:translate(-4px)}50%{transform:translate(4px)}75%{transform:translate(-2px)}to{transform:translate(0)}}@keyframes sparkle-pop{0%,to{transform:scale(.8) rotate(-8deg);opacity:.5}50%{transform:scale(1.2) rotate(8deg);opacity:1}}@keyframes bounce-stars{0%{transform:translateY(5px) scale(.9);opacity:.4}70%{transform:translateY(-2px) scale(1.08);opacity:1}to{transform:translateY(0) scale(1)}}@keyframes floaty{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes confetti-fall{0%{opacity:1;transform:translateY(0) rotate(0)}to{opacity:0;transform:translateY(85vh) rotate(380deg)}}@keyframes diagram-path-loop{0%{transform:translate(var(--from-x),var(--from-y));opacity:.25}15%{opacity:1}50%{transform:translate(var(--to-x),var(--to-y));opacity:1}85%{opacity:.95}to{transform:translate(var(--from-x),var(--from-y));opacity:.25}}@keyframes ball-path-scroll-ground{0%{stroke-dashoffset:0}to{stroke-dashoffset:-22}}@keyframes ball-path-scroll-line{0%{stroke-dashoffset:0}to{stroke-dashoffset:-30}}@keyframes ball-path-scroll-fly{0%{stroke-dashoffset:0}to{stroke-dashoffset:-18}}@keyframes baseball-line-zoom{0%,to{transform:scale(.9)}50%{transform:scale(1.25)}}@keyframes baseball-ground-bounce{0%,to{transform:translateY(0) scale(.96)}50%{transform:translateY(-2.1px) scale(1.08)}}@keyframes baseball-ground-zoom{0%,to{filter:drop-shadow(0 0 1.2px rgba(0,0,0,.24))}50%{filter:drop-shadow(0 0 2.1px rgba(239,108,0,.45))}}@keyframes baseball-fly-zoom{0%,to{transform:scale(.82)}50%{transform:scale(1.24)}}@keyframes throw-trail{0%{stroke-dashoffset:0;opacity:.86}to{stroke-dashoffset:-20;opacity:1}}@keyframes baseball-throw-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes baseball-throw-pop{0%,to{transform:scale(.94)}50%{transform:scale(1.11)}}.high-contrast{color:#0f2033}.high-contrast .kid-card,.high-contrast .card{border-color:#2c6fb1}.high-contrast button{border-color:#2569ad}.reduce-motion *,.reduce-motion *:before,.reduce-motion *:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}@media(max-width:760px){.topbar{align-items:flex-start;grid-template-columns:1fr}.prompt-row{grid-template-columns:1fr}.settings-fab{justify-self:start}.kid-hud{justify-content:flex-start}}@media(max-width:480px){.app-shell{padding-top:max(.65rem,env(safe-area-inset-top));padding-right:max(.65rem,env(safe-area-inset-right));padding-bottom:max(.85rem,env(safe-area-inset-bottom));padding-left:max(.65rem,env(safe-area-inset-left));gap:.75rem}.topbar{position:sticky;top:0;z-index:25;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.kid-card,.card{border-radius:18px;padding:.85rem}.nav-tabs{width:100%}.nav-tabs .tab-btn{flex:1 1 calc(50% - .35rem)}.settings-grid,.editor-grid{grid-template-columns:1fr;gap:.7rem}.choice-grid{grid-template-columns:1fr;gap:.65rem}.big-choice-tile{min-height:98px;padding:.7rem .78rem}button,select,input,textarea,.badge-pill{min-height:48px}select,input,textarea{font-size:16px}.inline-actions{display:grid;grid-template-columns:1fr}.inline-actions button{width:100%}.diagram{min-width:300px}}
