:root{color-scheme:light dark;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:#f6fbf7;color:#17211b;--bg: #f6fbf7;--panel: #ffffff;--panel-strong: #eaf5ff;--text: #17211b;--muted: #5f6c64;--line: #cfe0d7;--accent: #1b8a6b;--accent-strong: #10614f;--blue: #3178c6;--gold: #f0b429;--danger: #c24141;--shadow: 0 18px 45px rgba(30, 70, 50, .14)}:root[data-theme=dark]{color-scheme:dark;--bg: #111816;--panel: #18231f;--panel-strong: #1f2f38;--text: #eef8f2;--muted: #a9b9b0;--line: #31453b;--accent: #49c89e;--accent-strong: #74ddb7;--blue: #78aeea;--gold: #ffd166;--danger: #ff7777;--shadow: 0 18px 45px rgba(0, 0, 0, .28)}@media(prefers-color-scheme:dark){:root[data-theme=auto]{color-scheme:dark;--bg: #111816;--panel: #18231f;--panel-strong: #1f2f38;--text: #eef8f2;--muted: #a9b9b0;--line: #31453b;--accent: #49c89e;--accent-strong: #74ddb7;--blue: #78aeea;--gold: #ffd166;--danger: #ff7777;--shadow: 0 18px 45px rgba(0, 0, 0, .28)}}*{box-sizing:border-box}html{min-height:100%;background:#111816;background:var(--bg)}body{margin:0;min-width:320px;min-height:100vh;background:radial-gradient(circle at 15% 15%,color-mix(in srgb,var(--accent) 16%,transparent),transparent 24rem),linear-gradient(135deg,var(--bg),color-mix(in srgb,var(--panel-strong) 55%,var(--bg)));background-color:var(--bg);color:var(--text);overflow-x:hidden}#app{min-height:100vh;background:radial-gradient(circle at 15% 15%,color-mix(in srgb,var(--accent) 16%,transparent),transparent 24rem),linear-gradient(135deg,var(--bg),color-mix(in srgb,var(--panel-strong) 55%,var(--bg)));background-color:var(--bg)}button,input,select{font:inherit}button,.file-button{border:1px solid var(--line);border-radius:8px;background:var(--panel);color:var(--text);padding:.68rem .9rem;cursor:pointer;font-weight:750;min-height:2.65rem}button:hover,.file-button:hover{border-color:var(--accent)}button:disabled{cursor:not-allowed;opacity:.45}.primary{background:var(--accent);color:#fff;border-color:transparent}.primary:hover{background:var(--accent-strong)}.huge{min-height:4.2rem;font-size:1.15rem}.app-shell{width:min(1180px,calc(100vw - 2rem));min-height:100vh;margin:0 auto;padding:1.2rem 0;display:grid;grid-template-rows:auto auto 1fr;gap:1rem}.topbar{display:grid;grid-template-columns:minmax(0,1fr) 18rem;gap:1rem;align-items:center}.topbar>*,.main-grid>*,.tabs>*{min-width:0}.eyebrow{margin:0 0 .2rem;color:var(--accent-strong);font-weight:850;text-transform:uppercase;font-size:.78rem}h1,h2,h3,p{margin-top:0}h1{margin-bottom:.25rem;font-size:clamp(2rem,4vw,4.2rem);line-height:.95}.topbar p:last-child{margin-bottom:0;color:var(--muted);overflow-wrap:anywhere}.player-strip,.mascot-card,.game-panel,.panel{background:color-mix(in srgb,var(--panel) 94%,transparent);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:8px}.player-strip{padding:1rem;display:grid;gap:.7rem}.xp-track,.progress-shell{height:.75rem;background:color-mix(in srgb,var(--line) 55%,transparent);border-radius:99rem;overflow:hidden}.xp-track span,.progress-shell span{display:block;height:100%;background:linear-gradient(90deg,var(--accent),var(--gold))}.tabs{display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem}.tabs button.active{background:var(--panel-strong);border-color:var(--accent);color:var(--accent-strong)}.main-grid{min-height:0;display:grid;grid-template-columns:18rem minmax(0,1fr);gap:1rem}.mascot-card{align-self:start;padding:1rem;display:grid;gap:1rem;place-items:center;overflow:hidden}.block-mascot{width:8rem;height:12rem;display:grid;justify-items:center;align-content:end;animation:floaty 2.2s ease-in-out infinite}.block-mascot.happy{animation:bounce .7s ease-in-out infinite}.block-mascot.thinking .head{transform:rotate(-3deg)}.hair{width:5.8rem;height:1rem;background:#27412f;border-radius:6px 6px 0 0}.head{width:6.5rem;height:5rem;background:#f0c28a;border:5px solid #2f4c35;border-radius:6px;position:relative;transition:transform .2s}.eye{position:absolute;top:1.45rem;width:.72rem;height:.72rem;background:#18231f;border-radius:2px}.eye.left{left:1.35rem}.eye.right{right:1.35rem}.mouth{position:absolute;left:2.25rem;bottom:1rem;width:1.5rem;height:.45rem;border-bottom:4px solid #8d4339}.body{width:5.8rem;height:4.2rem;display:grid;place-items:center;background:linear-gradient(135deg,#2b8fdb,#20a779);color:#fff;border:5px solid #2f4c35;border-top:0;font-weight:900;letter-spacing:0}.feet{width:5.4rem;height:1rem;background:#2f4c35;border-radius:0 0 6px 6px}.speech{width:100%}.speech strong{color:var(--accent-strong)}.speech p{margin:.25rem 0 0;color:var(--muted);overflow-wrap:anywhere}.game-panel,.panel{min-height:34rem;padding:1rem}.game-topline,.panel-heading{display:flex;justify-content:space-between;gap:1rem;align-items:center;flex-wrap:wrap}label{display:grid;gap:.35rem;color:var(--muted);font-weight:750}select,input{border:1px solid var(--line);border-radius:8px;background:var(--panel);color:var(--text);padding:.75rem;min-height:2.75rem}select{min-width:9.5rem}.stats-row,.button-row{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.stats-row span{background:var(--panel-strong);border:1px solid var(--line);border-radius:8px;padding:.5rem .75rem}.progress-shell{margin:1rem 0}.challenge-card{position:relative;display:grid;place-items:center;text-align:center;min-height:19rem;background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 12%,transparent),transparent),var(--panel-strong);border:1px solid var(--line);border-radius:8px;padding:1.2rem}.challenge-card h2{margin:.25rem 0 1rem;font-size:clamp(3rem,10vw,7rem);line-height:.95}.challenge-card form{width:min(34rem,100%);display:grid;grid-template-columns:1fr auto;gap:.6rem}.challenge-card input{font-size:1.4rem;text-align:center;font-weight:850}.rule-chip{position:absolute;top:1rem;right:1rem;background:var(--gold);color:#241b04;border-radius:8px;padding:.4rem .6rem;font-weight:900}.feedback{margin-top:1rem;border:1px solid color-mix(in srgb,var(--danger) 50%,var(--line));background:color-mix(in srgb,var(--danger) 12%,var(--panel));border-radius:8px;padding:.9rem;display:grid;gap:.25rem}.feedback.good{border-color:color-mix(in srgb,var(--accent) 55%,var(--line));background:color-mix(in srgb,var(--accent) 13%,var(--panel))}.card-grid,.pack-reveal{display:grid;grid-template-columns:repeat(auto-fill,minmax(10rem,1fr));gap:.75rem}.pack-reveal{margin:1rem 0;padding:1rem;background:color-mix(in srgb,var(--gold) 16%,transparent);border-radius:8px}.reward-card{min-height:10rem;position:relative;border-radius:8px;padding:.8rem;border:1px solid var(--line);background:linear-gradient(135deg,#f8fff9,#dfecff);color:#17211b;overflow:hidden;transition:transform .18s,box-shadow .18s}.reward-card:hover{transform:translateY(-3px);box-shadow:0 12px 28px #00000029}.reward-card.rare{background:linear-gradient(135deg,#e6f1ff,#d5e6ff)}.reward-card.special{background:linear-gradient(135deg,#e9ffe8,#fff7ce)}.reward-card.legendary{background:linear-gradient(135deg,#fff1a8,#e5d4ff 55%,#bff7ff)}.reward-card.locked{filter:grayscale(.9);opacity:.62}.reward-card span{text-transform:uppercase;font-size:.68rem;font-weight:900}.reward-card h3{margin:.4rem 0}.reward-card p{margin-bottom:0;font-size:.9rem}.reward-card b{position:absolute;right:.65rem;bottom:.5rem;background:#17211b;color:#fff;padding:.25rem .45rem;border-radius:999rem}.settings-grid,.split-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.danger-zone{margin-top:1rem;border:1px solid color-mix(in srgb,var(--danger) 45%,var(--line));border-radius:8px;padding:1rem}.file-button{display:inline-grid;place-items:center}.file-button input{display:none}.ranking-list,.history-list,.achievement-list{display:grid;gap:.45rem}.ranking-list{padding-left:1.5rem}.ranking-list li,.history-list span,.achievement-list span{border:1px solid var(--line);border-radius:8px;padding:.6rem;background:var(--panel-strong)}.ranking-list li{display:grid;grid-template-columns:1fr auto auto;gap:.5rem}@keyframes floaty{0%,to{transform:translateY(0)}50%{transform:translateY(-.35rem)}}@keyframes bounce{0%,to{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-.55rem) rotate(1deg)}}@media(max-width:850px){.app-shell{width:min(calc(100vw - 1rem),46rem);padding:.5rem 0}.topbar,.main-grid,.settings-grid,.split-list{grid-template-columns:1fr}h1{font-size:clamp(1.85rem,8vw,2.1rem);line-height:1}.tabs{grid-template-columns:repeat(2,1fr)}.tabs button{padding-inline:.45rem;font-size:.88rem}.mascot-card{grid-template-columns:5.5rem minmax(0,1fr);place-items:center start;text-align:left;padding:.65rem}.block-mascot{width:5rem;height:6.2rem;transform:none}.hair{width:3.6rem;height:.65rem}.head{width:4.2rem;height:3.2rem;border-width:3px}.eye{top:.9rem;width:.45rem;height:.45rem}.eye.left{left:.8rem}.eye.right{right:.8rem}.mouth{left:1.35rem;bottom:.62rem;width:1rem;height:.3rem;border-bottom-width:3px}.body{width:3.8rem;height:2.55rem;border-width:3px;border-top:0}.feet{width:3.5rem;height:.65rem}.challenge-card form{grid-template-columns:1fr}}@media(max-width:520px){.tabs{grid-template-columns:1fr 1fr}.game-panel,.panel{min-height:auto;padding:.75rem}.challenge-card{min-height:17rem}.challenge-card h2{font-size:3.2rem}.rule-chip{position:static;justify-self:center;margin-bottom:.5rem}}
