
:root{
  --bg:#b9d7f2;--panel:#dcecf9;--panel2:#edf6fd;--ink:#24313f;--muted:#72808f;
  --blue:#86b6ee;--blue2:#5c9de7;--ok:#2f9e67;--bad:#d95d5d;--gold:#d99c2b;
  --shadow:0 12px 30px rgba(54,94,130,.13);--radius:26px;
}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Hiragino Sans GB","Noto Sans CJK JP",sans-serif;color:var(--ink);background:linear-gradient(180deg,#c7e0f5 0%,#b2d1ed 100%)}
button,input{font:inherit}
button{cursor:pointer}
#app{max-width:720px;margin:0 auto;min-height:100vh;padding:env(safe-area-inset-top) 18px calc(20px + env(safe-area-inset-bottom))}
.topbar,.subhead{display:flex;align-items:center;justify-content:space-between;padding:18px 2px 8px}
.topbar{gap:8px}.topbar-title{flex:1;min-width:0}.topbar-actions{display:flex;align-items:center;gap:8px;flex:0 0 auto}.topbar-actions .icon-btn{flex:0 0 42px;width:42px;height:42px}
.eyebrow{font-size:12px;letter-spacing:.14em;color:#56738f;font-weight:800}
h1,h2,h3,p{margin-top:0}
h1{font-size:28px;margin-bottom:0} h1 span{font-size:12px;background:#fff8;padding:5px 8px;border-radius:999px;vertical-align:middle}
.card{background:rgba(237,246,253,.78);border:1px solid rgba(255,255,255,.55);box-shadow:var(--shadow);border-radius:var(--radius)}
.icon-btn{border:0;background:#edf6fdcc;border-radius:16px;width:46px;height:46px;font-size:20px;color:#415568}
.view{display:none}.view.active{display:block}
.hero{padding:22px;margin-top:8px}
.hero-main{display:flex;gap:18px;align-items:center}.hero-main h2{font-size:22px;margin-bottom:6px}.hero-main p{margin:0;color:var(--muted);line-height:1.5}
.level-ring{min-width:78px;height:78px;border-radius:50%;background:linear-gradient(145deg,#8bbcf2,#6fa6e5);display:flex;flex-direction:column;align-items:center;justify-content:center;color:white;box-shadow:inset 0 0 0 7px #ffffff4d}
.level-ring span{font-size:28px;font-weight:900;line-height:1}.level-ring small{font-size:9px;font-weight:900;letter-spacing:.12em}
.xp-row{display:flex;gap:10px;align-items:center;margin-top:18px}.xp-track{height:12px;background:#c5d8e8;border-radius:999px;flex:1;overflow:hidden}.xp-fill{height:100%;width:0;background:linear-gradient(90deg,#74aef0,#4d94e6);border-radius:inherit;transition:.25s}.xp-row strong{font-size:12px;color:#587089}
.mini-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:18px}.mini-stats div{background:#ffffff80;border-radius:18px;padding:12px 8px;text-align:center}.mini-stats b{display:block;font-size:20px}.mini-stats span{display:block;font-size:11px;color:var(--muted);margin-top:3px}
.section-title{font-size:16px;margin:24px 4px 12px}
.mode-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.mode-card{border:0;text-align:left;background:#edf6fdcc;border-radius:22px;padding:18px;box-shadow:0 8px 18px rgba(54,94,130,.09);min-height:130px;color:var(--ink)}.mode-card:active{transform:scale(.98)}.mode-card.boss{background:linear-gradient(145deg,#e9e6fb,#d8e8fb)}.mode-icon{font-size:30px;display:block;margin-bottom:13px}.mode-card strong{display:block;font-size:17px}.mode-card small{display:block;color:var(--muted);margin-top:5px}
.quick-actions{display:grid;gap:10px;margin-top:14px}.wide-btn{border:0;background:#edf6fdcc;border-radius:20px;padding:15px 16px;display:grid;grid-template-columns:42px 1fr auto;align-items:center;text-align:left;gap:8px;color:var(--ink)}.wide-btn>span{font-size:24px}.wide-btn strong,.wide-btn small{display:block}.wide-btn small{color:var(--muted);margin-top:3px}.wide-btn>b{font-size:24px;color:#7890a5}
.skill-card{padding:20px;margin:18px 0}.skill-card h3{margin-bottom:12px}.skill-list{display:flex;gap:8px;flex-wrap:wrap}.skill{font-size:12px;padding:8px 10px;border-radius:999px;background:#cbdceb;color:#5b6c7b}.skill.on{background:#d8f0e3;color:#247a4f}.skill-card p{font-size:12px;color:var(--muted);line-height:1.6;margin:14px 0 0}
.game-head{display:grid;grid-template-columns:46px 1fr auto;gap:12px;align-items:center;padding:18px 0 8px}.progress-wrap{height:10px;background:#d7e5f0;border-radius:999px;overflow:hidden}.progress-fill{height:100%;background:#6fa9e8;width:0;transition:.25s}.timer{min-width:46px;height:46px;border-radius:16px;background:#eef6fd;display:flex;align-items:center;justify-content:center;font-weight:900}.hidden{display:none!important}
.battle-stats{display:flex;justify-content:space-between;font-weight:800;font-size:14px;padding:5px 3px 10px}
.enemy{padding:14px 18px;margin-bottom:12px;text-align:center}.enemy-emoji{font-size:54px;filter:drop-shadow(0 8px 9px rgba(45,77,108,.12));transition:.15s}.enemy-emoji.hit{transform:translateX(8px) rotate(7deg)}.enemy-hp{height:10px;background:#d5e0e9;border-radius:999px;overflow:hidden;margin-top:5px}.enemy-hp-fill{width:100%;height:100%;background:linear-gradient(90deg,#6fb67e,#4e9f62);transition:.3s}
.question{padding:22px;text-align:center}.question-meta{font-size:12px;color:#5f7d98;font-weight:800}.question-word{font-size:36px;font-weight:900;margin-top:12px}.question-word ruby rt,.verb-title ruby rt{font-size:.42em;color:#5d7388;font-weight:600}.question-zh{font-size:13px;color:var(--muted);margin-top:7px}.arrow{font-size:28px;color:#7e9bb4;margin:6px}.target-label{font-weight:900;font-size:16px}
.answers{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}.answer-btn{border:0;background:#edf6fd;border-radius:18px;padding:18px 8px;font-size:20px;color:var(--ink);box-shadow:0 6px 12px rgba(54,94,130,.08)}.answer-btn ruby rt{font-size:.5em}.answer-btn.correct{background:#d8f0e3;outline:2px solid #6fc494}.answer-btn.wrong{background:#f6dddd;outline:2px solid #e08d8d}
.typing-area{display:flex;gap:10px;margin-top:12px}.typing-area input,.search-box input{flex:1;border:0;background:#edf6fd;border-radius:18px;padding:16px 18px;outline:none;color:var(--ink);box-shadow:0 6px 12px rgba(54,94,130,.07)}.typing-area input{font-size:22px;text-align:center}.primary-btn{border:0;border-radius:18px;padding:0 20px;background:#6fa9e8;color:white;font-weight:900}
.feedback{margin-top:12px;padding:14px 16px;border-radius:18px;font-size:14px;line-height:1.55}.feedback.ok{background:#d8f0e3;color:#246b49}.feedback.bad{background:#f6dddd;color:#8a4141}
.subhead{justify-content:flex-start;gap:12px}.subhead h2{margin:0}.search-box{margin:10px 0}.filter-row{display:flex;gap:8px;overflow:auto;padding:2px 0 10px}.filter{border:0;border-radius:999px;padding:9px 14px;background:#dceaf5;color:#5c7184;white-space:nowrap}.filter.active{background:#6fa9e8;color:white}
.verb-list{display:grid;gap:10px;padding-bottom:24px}.verb-card{background:#edf6fdcc;border-radius:22px;padding:16px 18px}.verb-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.verb-title{font-size:24px;font-weight:900}.verb-tag{font-size:11px;background:#dceaf5;border-radius:999px;padding:6px 9px;color:#5a7289}.verb-zh{font-size:13px;color:var(--muted);margin-top:5px}.forms{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:13px}.form-item{background:#ffffff70;border-radius:14px;padding:10px}.form-item small{display:block;color:var(--muted);font-size:10px;margin-bottom:3px}.form-item b{font-size:15px}.form-item ruby rt{font-size:.52em}
@media(max-width:430px){h1{font-size:24px}.hero{padding:18px}.hero-main{align-items:flex-start}.level-ring{min-width:66px;height:66px}.mode-card{min-height:116px;padding:15px}.question-word{font-size:32px}.answers{grid-template-columns:1fr}.answer-btn{padding:15px}.forms{grid-template-columns:1fr 1fr}}


/* ===== V2 ===== */
.mode-card.factory{background:linear-gradient(145deg,#e6f1ff,#d8e9f8)}
.skill-groups{display:grid;gap:16px}.skill-groups>div>b{display:block;font-size:13px;margin-bottom:9px;color:#526b81}
.verb-table{margin-top:14px;border-radius:16px;overflow:hidden;border:1px solid rgba(86,115,143,.12)}
.verb-row{display:grid;grid-template-columns:1.05fr 1.15fr 1.25fr;background:#ffffff7a}
.verb-row:nth-child(even){background:#f5fbff9e}
.verb-row>div{padding:10px 9px;border-right:1px solid rgba(86,115,143,.09);font-size:13px;min-width:0;overflow-wrap:anywhere}
.verb-row>div:last-child{border-right:0}
.verb-row.head{font-weight:900;color:#62798e;background:#dfeefa}
.verb-row ruby rt{font-size:.5em}
.factory-panel{padding:20px;display:grid;gap:10px}.factory-panel label{font-size:12px;font-weight:900;color:#61788d}
.factory-panel select{width:100%;border:0;border-radius:16px;background:#fff9;padding:14px 15px;color:var(--ink);outline:none}
.factory-run{min-height:48px;margin-top:5px}
.factory-result{padding:22px;margin-top:14px;min-height:220px}
.factory-empty{color:var(--muted);text-align:center;padding:60px 10px}
.factory-step{display:grid;grid-template-columns:40px 1fr;gap:12px;align-items:flex-start;margin:12px 0}
.factory-step .num{width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#75aae8;color:white;font-weight:900}
.factory-step .content{background:#ffffff80;border-radius:17px;padding:13px 15px}
.factory-step .content b{display:block;font-size:18px;margin-bottom:4px}.factory-step .content small{color:var(--muted);line-height:1.5}
.factory-answer{text-align:center;background:#d8f0e3;border-radius:20px;padding:18px;margin-top:18px}
.factory-answer small{display:block;color:#4d7a64;margin-bottom:5px}.factory-answer b{font-size:28px}
.weak-banner{margin:12px 0;padding:12px 14px;border-radius:16px;background:#fff4cf;color:#816a20;font-size:13px}
@media(max-width:430px){
  .verb-row{grid-template-columns:.95fr 1.05fr 1.15fr}
  .verb-row>div{font-size:11px;padding:9px 7px}
}


/* ===== V3: lesson world ===== */
.map-mode{background:linear-gradient(145deg,#e6f6eb,#dcecf8)}
.world-tabs{display:flex;gap:8px;margin:10px 0 12px}.world-tab{flex:1;border:0;border-radius:16px;padding:12px;background:#dceaf5;color:#587087;font-weight:900}.world-tab.active{background:#6fa9e8;color:white}
.map-summary{padding:16px 18px;margin-bottom:12px;display:flex;justify-content:space-between;gap:12px;align-items:center}.map-summary b{font-size:18px}.map-summary small{color:var(--muted)}
.lesson-map{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;padding:8px 0 30px}
.lesson-node{position:relative;border:0;min-height:88px;border-radius:22px;background:#eef6fd;color:var(--ink);box-shadow:0 8px 16px rgba(54,94,130,.08);padding:11px 6px;text-align:center}
.lesson-node .num{display:block;font-size:22px;font-weight:900}.lesson-node small{display:block;font-size:9px;color:var(--muted);margin-top:5px;line-height:1.25}.lesson-node.locked{opacity:.43;filter:grayscale(.55)}.lesson-node.done{background:#d9f1e4}.lesson-node.current{outline:3px solid #72a9e7}.lesson-node.boss{background:linear-gradient(145deg,#efe6ff,#e2eefa)}.lesson-node .status{position:absolute;right:6px;top:5px;font-size:12px}
.lesson-hero{display:grid;grid-template-columns:74px 1fr;gap:16px;padding:20px;align-items:start}.lesson-badge{width:70px;height:70px;border-radius:22px;background:linear-gradient(145deg,#81b6ed,#629ddf);display:flex;align-items:center;justify-content:center;color:white;font-size:30px;font-weight:900}
.lesson-hero h3{margin-bottom:10px}.lesson-grammar{display:flex;gap:7px;flex-wrap:wrap}.lesson-grammar span{background:#fff9;border-radius:999px;padding:8px 10px;font-size:12px}
.lesson-actions{display:grid;gap:10px;margin-top:14px}.primary-big,.secondary-big{border:0;border-radius:20px;min-height:58px;font-weight:900;font-size:16px}.primary-big{background:#6fa9e8;color:white}.secondary-big{background:#e8ddfb;color:#645382}
.lesson-note{padding:18px;margin-top:14px}.lesson-note p{margin:7px 0 0;color:var(--muted);font-size:13px;line-height:1.55}
.grammar-prompt{font-size:25px;font-weight:900;line-height:1.45;margin-top:14px}.grammar-answers .answer-btn{font-size:17px;line-height:1.5}.grammar-answers ruby rt{font-size:.5em}
#grammarLives{white-space:nowrap;font-size:13px}.battle-stats #grammarLesson{color:#61788e}
@media(max-width:520px){.lesson-map{grid-template-columns:repeat(4,1fr)}}
@media(max-width:390px){.lesson-map{grid-template-columns:repeat(3,1fr)}}

/* ===== V4 additions ===== */
.scene-mode{background:linear-gradient(145deg,#fff1d9,#e4f1fd)}
#grammarPlayArea{margin-top:12px}.grammar-prompt{font-size:25px;font-weight:900;line-height:1.45;margin-top:14px}
.puzzle-bank,.puzzle-answer{min-height:76px;background:#edf6fdcc;border-radius:20px;padding:12px;display:flex;flex-wrap:wrap;gap:9px;align-content:flex-start}
.puzzle-answer{background:#ffffff80;border:2px dashed #9ebbd5;margin-bottom:10px}
.token{border:0;border-radius:13px;background:#fff;padding:10px 12px;box-shadow:0 4px 9px rgba(54,94,130,.1);font-size:16px;color:var(--ink);touch-action:manipulation}.token.dragging{opacity:.4}
.puzzle-tools{display:flex;gap:9px;margin-top:10px}.puzzle-tools button{flex:1}
.listen-box{background:#edf6fdcc;border-radius:22px;padding:18px;text-align:center}.listen-btn{border:0;width:88px;height:88px;border-radius:50%;font-size:35px;background:#6fa9e8;color:white;box-shadow:0 10px 20px rgba(50,95,145,.18)}.listen-box p{color:var(--muted);font-size:13px;margin:12px 0 0}
.choice-list{display:grid;gap:10px;margin-top:12px}.choice-list .answer-btn{font-size:16px;line-height:1.5}
.scenario-list{display:grid;grid-template-columns:1fr 1fr;gap:12px}.scenario-card{border:0;border-radius:24px;background:#edf6fdcc;text-align:left;padding:20px;color:var(--ink);box-shadow:0 8px 18px rgba(54,94,130,.09)}.scenario-card .icon{font-size:36px}.scenario-card strong{display:block;font-size:18px;margin-top:12px}.scenario-card small{display:block;color:var(--muted);margin-top:5px;line-height:1.4}
.mission-list{display:grid;gap:10px}.mission-card{background:#edf6fdcc;border-radius:22px;padding:17px}.mission-head{display:flex;justify-content:space-between;gap:10px;align-items:center}.mission-head b{font-size:15px}.mission-head span{font-size:11px;background:#dbeaf6;padding:6px 8px;border-radius:999px}.mission-card p{color:var(--muted);font-size:14px}.mission-card button{width:100%;min-height:44px;border:0;border-radius:15px;background:#6fa9e8;color:white;font-weight:900}
.explain-card{padding:20px;margin-bottom:12px}.explain-card h3{margin-bottom:10px}.explain-card p,.explain-card li{line-height:1.65;color:#536a7d}.explain-points{display:flex;flex-wrap:wrap;gap:7px}.explain-points span{background:#dfeefa;border-radius:999px;padding:8px 10px;font-size:12px}.example-jp{font-size:20px;font-weight:800;line-height:1.7;background:#fff8;border-radius:17px;padding:14px;margin-top:10px}.speak-inline{border:0;border-radius:12px;padding:8px 11px;background:#dfeefa;margin-left:8px}.activity-chip{display:inline-block;background:#e9f2fa;border-radius:999px;padding:6px 9px;font-size:11px;color:#597085;margin:2px 5px 2px 0}
@media(max-width:430px){.scenario-list{grid-template-columns:1fr}}


/* ===== V5 RPG layer ===== */
.v5-wallet{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:12px;margin-top:14px}.v5-wallet div{text-align:center;background:#ffffff78;border-radius:17px;padding:10px 6px}.v5-wallet span{font-size:20px}.v5-wallet b{display:block;font-size:19px;margin-top:2px}.v5-wallet small{display:block;color:var(--muted);font-size:10px;margin-top:2px}
.v5-story{background:linear-gradient(145deg,#f5e7ff,#e1eefb)}.v5-shop{background:linear-gradient(145deg,#fff0d8,#eef5fb)}.v5-daily{background:linear-gradient(145deg,#e3f5e9,#e7f2fc)}.v5-pronounce{background:linear-gradient(145deg,#e8edff,#e6f6f2)}.v5-smart{background:linear-gradient(145deg,#fff0ef,#e8f1fb)}
.story-chapter-list{display:grid;gap:12px}.story-chapter{border:0;background:#edf6fdcc;border-radius:24px;padding:18px;text-align:left;color:var(--ink);box-shadow:0 8px 18px rgba(54,94,130,.09)}.story-chapter.locked{opacity:.48}.story-chapter-top{display:flex;gap:13px;align-items:center}.story-chapter-icon{font-size:36px}.story-chapter strong{display:block;font-size:17px}.story-chapter small{display:block;color:var(--muted);margin-top:4px}.story-badges{display:flex;gap:7px;margin-top:12px}.story-badges span{font-size:11px;padding:6px 8px;border-radius:999px;background:#fff9}.story-stage{padding:18px}.story-scene-icon{text-align:center;font-size:56px;margin-bottom:10px}.npc-row{display:grid;grid-template-columns:58px 1fr;gap:12px;align-items:flex-start}.npc-avatar{font-size:42px}.npc-bubble{background:#fff9;border-radius:17px 17px 17px 5px;padding:13px;margin-top:5px;font-size:17px;line-height:1.55}.story-progress{height:9px;background:#d6e5f0;border-radius:999px;margin-top:15px;overflow:hidden}.story-progress>div{height:100%;background:#75aae8;width:0;transition:.3s}
.shop-wallet{padding:16px 18px;margin-bottom:12px;font-size:17px}.shop-list{display:grid;gap:10px}.shop-item{background:#edf6fdcc;border-radius:22px;padding:17px;display:grid;grid-template-columns:48px 1fr auto;gap:12px;align-items:center}.shop-icon{font-size:34px}.shop-item strong,.shop-item small{display:block}.shop-item small{color:var(--muted);margin-top:4px;line-height:1.4}.shop-item button{border:0;border-radius:13px;padding:9px 11px;background:#6fa9e8;color:white;font-weight:900}.shop-item button.owned{background:#8fb49c}.shop-item button.equipped{background:#7e72b8}
.checkin-card{padding:20px;margin-bottom:12px}.checkin-top{display:flex;justify-content:space-between;gap:12px;align-items:center}.checkin-streak{font-size:30px;font-weight:900}.checkin-card button{border:0;border-radius:15px;padding:11px 14px;background:#6fa9e8;color:white;font-weight:900}.checkin-card button:disabled{background:#a9bbc9}.daily-task-list{display:grid;gap:10px}.daily-task{background:#edf6fdcc;border-radius:20px;padding:15px}.daily-task-head{display:flex;justify-content:space-between;gap:10px}.daily-task-head span{font-size:12px;color:var(--muted)}.daily-progress{height:9px;background:#d8e5ef;border-radius:999px;overflow:hidden;margin-top:10px}.daily-progress>div{height:100%;background:#74aae8}.daily-task button{margin-top:10px;border:0;border-radius:12px;padding:8px 11px;font-weight:900;background:#dceaf5;color:#506a80}.daily-task button.claim{background:#6fa9e8;color:white}
.pronounce-card{padding:20px}.pronounce-meta{display:flex;justify-content:space-between;align-items:center}.mini-btn{border:0;border-radius:999px;padding:8px 11px;background:#dfeefa;color:#536d82}.pronounce-sentence{font-size:25px;font-weight:900;line-height:1.8;text-align:center;margin:18px 0 7px}.pronounce-sentence ruby rt{font-size:.48em}.pronounce-meaning{text-align:center;color:var(--muted)}.pronounce-actions{display:flex;justify-content:center;gap:18px;margin-top:20px}.circle-action{width:66px;height:66px;border:0;border-radius:50%;background:#e6f0f8;font-size:26px}.primary-circle{background:#6fa9e8}.pronounce-help{font-size:12px;color:var(--muted);line-height:1.55;margin:16px 0 0}.pronounce-result{padding:18px;margin-top:12px}.score-big{font-size:48px;font-weight:900;text-align:center}.score-grade{text-align:center;font-weight:900;margin-bottom:12px}.daily-note{margin-top:10px;padding:8px 10px;border-radius:10px;background:rgba(230,111,81,.1);color:#c94f35;font-size:12px;font-weight:700;text-align:center}
.install-top{height:42px;min-width:64px;flex:0 0 auto;display:flex;align-items:center;justify-content:center;gap:4px;border:0;border-radius:14px;padding:0 10px;background:#fffdf8;color:#183152;box-shadow:0 6px 16px rgba(24,49,82,.14);font-size:14px;font-weight:900;white-space:nowrap}
.install-top span{font-size:19px;line-height:1}.install-top b{font-size:13px}
.install-top.installed{min-width:42px;color:#287b51;background:#e5f5eb}
.install-modal{position:fixed;inset:0;z-index:99;display:grid;place-items:center;background:rgba(20,30,45,.55);padding:18px}
.install-modal.hidden{display:none}
.install-card{max-width:430px;width:100%;background:#fffdf8;border-radius:18px;padding:24px;box-shadow:0 24px 60px rgba(0,0,0,.25)}
.install-card h3{margin:0 0 12px}
.install-card p{color:#5a6470;line-height:1.8;font-size:14px;margin:0}
.install-card p b{color:#183152}
.install-card .wide-btn{display:block;width:100%;margin-top:16px;text-align:center}
.transcript-box{background:#fff8;border-radius:15px;padding:12px;margin-top:8px}.support-note{font-size:12px;color:#6b7d8d;line-height:1.5;margin-top:10px}
.weakness-panel{padding:18px;margin-bottom:12px}.weak-list{display:grid;gap:8px;margin-top:12px}.weak-row{display:grid;grid-template-columns:1fr auto;gap:10px;background:#fff8;border-radius:14px;padding:10px}.weak-row small{color:var(--muted)}.smart-game-area{margin-top:14px}.local-ai-note{padding:16px;margin-top:14px}.local-ai-note p{font-size:12px;color:var(--muted);line-height:1.55;margin:6px 0 0}
.equipment-summary{padding:18px;margin-bottom:12px}.equip-slots{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:12px}.equip-slot{background:#fff8;border-radius:16px;padding:11px;text-align:center;min-height:82px}.equip-slot span{font-size:25px}.equip-slot small{display:block;color:var(--muted);font-size:10px}.owned-items{display:grid;gap:10px}.owned-card{background:#edf6fdcc;border-radius:20px;padding:15px;display:flex;justify-content:space-between;gap:12px;align-items:center}.owned-card button{border:0;border-radius:12px;padding:8px 10px;background:#6fa9e8;color:white;font-weight:900}
@media(max-width:430px){.topbar{padding-top:14px}.topbar h1{font-size:22px}.topbar .eyebrow{font-size:10px;letter-spacing:.1em}.v5-wallet{grid-template-columns:repeat(3,1fr)}.shop-item{grid-template-columns:42px 1fr}.shop-item button{grid-column:1/-1}.equip-slots{grid-template-columns:repeat(2,1fr)}}
.center-badge{color:#56738f;text-decoration:none;font-weight:800}
.center-badge:hover{text-decoration:underline}
