.game-shell{max-width:1180px;margin:0 auto;padding:28px 32px 48px}.game-top{justify-content:space-between;align-items:center;margin-bottom:26px;display:flex}.game-heading{margin-bottom:26px}.game-heading h1{margin:10px 0 8px;font-size:34px}.game-heading p{color:var(--muted);max-width:620px;font-size:14px}.sprite{image-rendering:auto;background-repeat:no-repeat;flex-shrink:0}.hub-title{align-items:center;gap:10px;margin:38px 0 16px;font-size:22px;display:flex}.cast-row{background:#f4efe3;border:1px solid #ebe3d2;border-radius:18px;flex-wrap:wrap;justify-content:center;gap:28px;padding:18px 18px 22px;display:flex}.cast-row figure{justify-items:center;gap:4px;margin:0;display:grid}.cast-row figcaption{color:var(--muted);justify-items:center;font-size:12px;display:grid}.cast-row strong{font:750 16px/1.3 var(--font-display);color:var(--ink);letter-spacing:-.3px}.film-card{border:1px solid var(--line);background:#fffefa;border-radius:16px;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);align-items:center;gap:24px;padding:16px;display:grid}.film-card video{aspect-ratio:16/9;background:#f3ebdc;border-radius:10px;width:100%;display:block}.film-card h3{margin:0 0 6px;font-size:20px}.film-card p{color:var(--muted);margin-top:10px;font-size:13px;line-height:1.7}.game-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px;display:grid}.game-card{border:1px solid var(--line);background:#fffefa;border-radius:16px;flex-direction:column;gap:6px;padding:16px;transition:transform .2s,box-shadow .2s;display:flex}a.game-card:hover{transform:translateY(-2px);box-shadow:0 8px 20px #6c55b414}.game-art{background:#f4efe3;border-radius:12px;place-items:center;margin-bottom:8px;display:grid}.game-card h3{font-size:17px}.game-card p{color:var(--muted);font-size:12.5px;line-height:1.65}.game-card small{color:#5b5566;font-size:11px}.game-cta{color:var(--purple-dark);align-items:center;gap:7px;margin-top:auto;padding-top:10px;font-size:12px;font-weight:650;display:inline-flex}.soon .game-cta{color:#5b5566}.rhythm-stage{background:#f4efe3;border:1px solid #ebe3d2;border-radius:20px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:28px;padding:24px;display:grid}.rhythm-character{background:radial-gradient(circle at 50% 70%,#fffaf0,#f4efe3 70%);border-radius:16px;place-items:center;display:grid}.rhythm-board{gap:18px;display:grid}.rhythm-meta{color:#5b5566;gap:14px;font-size:12px;font-weight:600;display:flex}.rhythm-steps{gap:10px;display:grid}.rhythm-steps.steps-4{grid-template-columns:repeat(4,1fr)}.rhythm-steps.steps-8{grid-template-columns:repeat(8,1fr)}.step{aspect-ratio:1;color:var(--purple-dark);background:#fffefa;border:2px solid #e6dfcf;border-radius:14px;place-items:center;font-size:22px;font-weight:700;transition:transform 80ms,background .15s,border-color .15s;display:grid}.step.on-beat{border-color:#d7cdb6}.step.clap{background:#efebfa;border-color:#cfc3f0}.step.lit{border-color:var(--purple);transform:scale(1.08);box-shadow:0 0 0 4px #7660cf22}.step.hit{color:#5c7230;background:#e5edcb;border-color:#a9bd73}.step.missed{color:#b1603f;background:#fbe9e2;border-color:#e9b49f}.step.extra{color:#a07a1d;background:#fdf3dc;border-color:#e8cf8d}.rhythm-status{font:650 17px/1.5 var(--font-display);letter-spacing:-.2px;min-height:52px}.rhythm-actions{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.button.big{min-height:54px;padding:14px 26px;font-size:15px}.tap-pad{min-width:220px;font:700 17px/1.2 var(--font-display);color:var(--ink);touch-action:manipulation;-webkit-user-select:none;user-select:none;background:#fffefa;border:2px solid #d9cfb8;border-radius:18px;justify-items:center;gap:4px;padding:18px 26px;animation:.14s ease-out tap-pop;display:grid}.tap-pad small{font:500 11px/1.4 var(--font-body);color:#5b5566}.tap-pad.your-turn{background:var(--purple);border-color:var(--purple-dark);color:#fff}.tap-pad.your-turn small{color:#e7e0ff}@keyframes tap-pop{0%{transform:scale(.94)}to{transform:scale(1)}}.companion-switch{flex-wrap:wrap;gap:8px;display:flex}.game-note{color:#5b5566;margin-top:18px;font-size:11px}[data-age="13-16"] .rhythm-stage{background:#e9eef0;border-color:#d6e0e3}[data-age="13-16"] .rhythm-character{background:radial-gradient(circle at 50% 70%,#f6fbfb,#e9eef0 70%)}@media (prefers-reduced-motion:reduce){.tap-pad{animation:none}.step{transition:none}}@media (max-width:760px){.game-shell{padding:20px 16px 40px}.game-heading h1{font-size:27px}.film-card,.rhythm-stage{grid-template-columns:1fr}.rhythm-character{justify-self:center}.rhythm-steps.steps-8{gap:6px}.step{border-radius:10px;font-size:17px}.tap-pad{width:100%}}.starpath-stage{background:#f4efe3;border:1px solid #ebe3d2;border-radius:24px;grid-template-columns:260px minmax(0,1.2fr) minmax(0,1fr);align-items:start;gap:24px;padding:24px;display:grid}.starpath-sidebar{gap:16px;display:grid}.starpath-character-card{text-align:center;background:radial-gradient(circle at 50% 65%,#fffaf0,#f4efe3 70%);border-radius:18px;place-items:center;padding:16px;display:grid}.starpath-status-text{font:600 14px/1.5 var(--font-display);color:var(--ink);min-height:48px;margin-top:10px}.starpath-progress-stats{flex-direction:column;gap:8px;display:flex}.stat-pill{color:var(--ink);background:#fffefa;border:1px solid #e2dad0;border-radius:12px;align-items:center;gap:8px;padding:8px 14px;font-size:13px;font-weight:650;display:inline-flex}.star-icon{color:#eab308}.starpath-board-container{justify-items:center;gap:18px;display:grid}.starpath-grid{aspect-ratio:1;background:#241d3b;border:4px solid #3c325e;border-radius:18px;gap:6px;width:100%;max-width:440px;padding:10px;display:grid;box-shadow:0 8px 24px #241d3b2e}.starpath-cell{background:#322852;border-radius:8px;place-items:center;font-size:24px;transition:background .2s;display:grid;position:relative}.starpath-cell.cell-obstacle{background:#231b3b}.starpath-cell.cell-portal{background:#3b2d66;box-shadow:inset 0 0 10px #8b5cf688}.grid-robot{place-items:center;font-size:28px;transition:transform .2s ease-out;display:grid}.grid-star{animation:1.2s infinite alternate star-pulse}@keyframes star-pulse{0%{transform:scale(.92)}to{transform:scale(1.1)}}.grid-portal{animation:4s linear infinite portal-spin}@keyframes portal-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.starpath-run-bar{justify-content:center;gap:12px;width:100%;display:flex}.action-btn{border-radius:14px;align-items:center;gap:8px;min-height:48px;padding:12px 20px;font-weight:700;display:inline-flex}.starpath-controls{gap:16px;display:grid}.panel-box{background:#fffefa;border:1px solid #e4ddd2;border-radius:18px;padding:18px}.panel-box :is(h2,h3){margin:0 0 4px;font-size:16px}.panel-sub{color:var(--muted);margin:0 0 12px;font-size:12px}.command-palette{grid-template-columns:repeat(2,1fr);gap:10px;display:grid}.cmd-btn{font:650 13px var(--font-display);color:var(--ink);cursor:pointer;background:#f8f5ee;border:2px solid #e8e0d5;border-radius:12px;align-items:center;gap:8px;padding:12px;transition:all .15s;display:flex}.cmd-btn:hover:not(:disabled){background:#ede7dc;border-color:#d5cbbd;transform:translateY(-1px)}.cmd-btn:active:not(:disabled){transform:scale(.97)}.program-header{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.icon-link{color:#9b8f84;cursor:pointer;background:0 0;border:none;border-radius:6px;padding:4px}.icon-link:hover{color:#b91c1c}.program-tray{flex-direction:column;gap:6px;max-height:280px;padding-right:4px;display:flex;overflow-y:auto}.empty-tray{text-align:center;color:#5b5566;border:2px dashed #e8e2d8;border-radius:12px;padding:24px 12px;font-size:12.5px}.tray-item{color:var(--ink);cursor:pointer;background:#f9f7f2;border:1.5px solid #e5dfd4;border-radius:10px;justify-content:space-between;align-items:center;padding:8px 12px;font-size:13px;font-weight:600;transition:all .12s;display:flex}.tray-item:hover:not(:disabled){background:#f2ede3;border-color:#cfc5b8}.tray-item.step-active{background:#ede6fd;border-color:#9373eb;box-shadow:0 0 0 2px #9373eb33}.step-num{background:#e7dfd4;border-radius:50%;place-items:center;width:20px;height:20px;font-size:11px;display:inline-grid}.step-remove{color:#a99f94;font-size:16px;line-height:1}.garden-stage{background:#f6f3eb;border:1px solid #ebd8c8;border-radius:24px;grid-template-columns:260px minmax(0,1fr);align-items:start;gap:26px;padding:26px;display:grid}.garden-sidebar{gap:16px;display:grid}.garden-character-card{text-align:center;background:radial-gradient(circle at 50% 65%,#fffbf5,#f7ede3 70%);border-radius:18px;place-items:center;padding:16px;display:grid}.garden-status-text{font:600 14px/1.5 var(--font-display);color:var(--ink);min-height:48px;margin-top:10px}.garden-stats{flex-direction:column;gap:8px;display:flex}.garden-main{gap:22px;display:grid}.garden-bed{background:linear-gradient(#7a5c43,#5a412e);border:3px solid #8e6d52;border-radius:22px;padding:28px 20px;box-shadow:inset 0 4px 12px #00000040}.flower-row{flex-wrap:wrap;justify-content:center;gap:16px;display:flex}.flower-pot{flex-direction:column;align-items:center;width:92px;transition:transform .2s;display:flex}.flower-icon-wrap{place-items:center;height:60px;font-size:42px;display:grid}.flower-emoji{animation:.35s cubic-bezier(.17,.89,.32,1.28) flower-bloom;display:inline-block}@keyframes flower-bloom{0%{opacity:0;transform:scale(.2)rotate(-20deg)}to{opacity:1;transform:scale(1)rotate(0)}}.flower-empty-sign{opacity:.6;font-size:26px}.pot-body{aspect-ratio:1.2;color:#fff;background:#b35f37;border:3px solid #8c421e;border-radius:8px 8px 16px 16px;place-items:center;width:100%;font-size:22px;font-weight:750;display:grid;box-shadow:0 4px 10px #0003}.pot-target .pot-body{background:#c46c42;border-color:#f59e0b;box-shadow:0 0 0 3px #f59e0b44}.pot-question{color:#fef08a;font-size:26px;animation:1s infinite alternate pulse-q}@keyframes pulse-q{0%{transform:scale(.9)}to{transform:scale(1.15)}}.seed-tray-container{background:#fffefa;border:1px solid #e7ded2;border-radius:20px;padding:22px}.tray-title{text-align:center;margin:0 0 16px;font-size:16px}.seed-choices{flex-wrap:wrap;justify-content:center;gap:16px;display:flex}.seed-card{cursor:pointer;background:#fefbf6;border:2px solid #e8dfd2;border-radius:16px;flex-direction:column;align-items:center;gap:6px;min-width:100px;min-height:90px;padding:14px 18px;transition:all .18s;display:flex;box-shadow:0 2px 6px #0000000a}.seed-card:hover:not(:disabled){border-color:#caa67a;transform:translateY(-3px);box-shadow:0 8px 16px #b8885326}.seed-badge{font-size:26px}.seed-number{color:var(--ink);font-size:24px;font-weight:750}.seed-card.selected{border-color:var(--purple);background:#f6f1fc}.seed-card.correct{background:#ecfdf5;border-color:#16a34a}.seed-card.wrong{background:#fef2f2;border-color:#dc2626;animation:.25s ease-in-out shake-seed}@keyframes shake-seed{0%,to{transform:translate(0)}25%{transform:translate(-5px)}75%{transform:translate(5px)}}.garden-action-bar{justify-content:center;gap:12px;margin-top:20px;display:flex}.nexuslab-page{color:var(--ink)}.nexuslab-stage{color:#e6edf3;background:#0f172a;border:1px solid #1e293b;border-radius:24px;grid-template-columns:260px minmax(0,1.3fr) minmax(0,1fr);align-items:start;gap:24px;padding:24px;display:grid}.nexuslab-sidebar{gap:16px;display:grid}.nexuslab-character-card{text-align:center;background:radial-gradient(circle at 50% 65%,#1e293b,#0f172a 75%);border:1px solid #334155;border-radius:18px;place-items:center;padding:16px;display:grid}.nexuslab-status-text{font:600 13.5px/1.5 var(--font-display);color:#94a3b8;min-height:48px;margin-top:10px}.nexuslab-meta-stats{flex-direction:column;gap:8px;display:flex}.nexuslab-meta-stats .stat-pill{color:#38bdf8;background:#1e293b;border-color:#334155}.nexuslab-plot-container{gap:12px;display:grid}.plot-header-bar{color:#94a3b8;justify-content:space-between;align-items:center;font-size:12.5px;display:flex}.dataset-toggle{gap:6px;display:flex}.tab-btn{color:#94a3b8;cursor:pointer;background:#1e293b;border:1px solid #334155;border-radius:8px;padding:6px 12px;font-size:11.5px}.tab-btn.active{color:#fff;background:#0369a1;border-color:#38bdf8;font-weight:650}.nexuslab-canvas-wrap{aspect-ratio:1;background:#090d16;border:2px solid #334155;border-radius:16px;width:100%;max-width:440px;margin:0 auto;overflow:hidden}.scatter-plot{width:100%;height:100%;display:block}.plot-legend{color:#94a3b8;flex-wrap:wrap;justify-content:center;gap:16px;font-size:11.5px;display:flex}.legend-item{align-items:center;gap:6px;display:inline-flex}.dot{border-radius:50%;width:10px;height:10px;display:inline-block}.dot.blue{background:#38bdf8}.dot.red{background:#f87171}.line-cyan{background:#2ce8d5;width:16px;height:3px;display:inline-block}.nexuslab-controls{gap:16px;display:grid}.nexuslab-controls .panel-box{color:#e2e8f0;background:#1e293b;border-color:#334155}.panel-title-row{color:#38bdf8;align-items:center;gap:8px;margin-bottom:14px;display:flex}.panel-title-row :is(h2,h3){color:#f1f5f9;margin:0;font-size:15px}.slider-group{gap:14px;display:grid}.slider-group label{color:#94a3b8;gap:6px;font-size:12px;display:grid}.slider-group label strong{color:#38bdf8}.slider-group input[type=range]{accent-color:#38bdf8;width:100%}.optimize-btn{color:#38bdf8;background:#0f172a;border-color:#334155;width:100%;margin-top:12px;font-size:12px}.confusion-matrix{grid-template-columns:repeat(2,1fr);gap:8px;margin-top:6px;display:grid}.matrix-row{display:contents}.cell-metric{border-radius:10px;flex-direction:column;gap:4px;padding:10px;font-size:11px;display:flex}.cell-metric strong{font-size:20px;font-weight:750}.cell-metric.true-pos{color:#38bdf8;background:#0369a122;border:1px solid #0284c7}.cell-metric.false-pos,.cell-metric.false-neg{color:#f87171;background:#b91c1c22;border:1px solid #ef4444}.cell-metric.true-neg{color:#38bdf8;background:#0369a122;border:1px solid #0284c7}.nexuslab-actions{flex-wrap:wrap;gap:10px;display:flex}@media (max-width:960px){.starpath-stage,.nexuslab-stage,.garden-stage{grid-template-columns:1fr}.starpath-sidebar,.garden-sidebar,.nexuslab-sidebar{justify-items:center}}.game-play :is(.icon-button,.button,.filter,.tab-btn,.cmd-btn,.seed-card,.icon-link,.tray-item,.lab-back,.tap-pad){min-height:var(--touch-min,44px);min-width:var(--touch-min,44px)}.game-play .icon-button{width:var(--touch-min,44px);height:var(--touch-min,44px)}.game-play input[type=range]{min-height:var(--touch-min,44px);cursor:pointer;touch-action:pan-y}.game-play :is(.companion-switch,.dataset-toggle){gap:var(--space-2,8px)}
