:root{font-family:ui-rounded,"Hiragino Maru Gothic ProN","Yu Gothic",sans-serif;color:#eaf4ff;background:#071526;--navy:#071526;--panel:#102840;--panel2:#173754;--line:#2d5877;--mint:#50e2b0;--gold:#ffd36a;--red:#ff6b79;--muted:#a9c0d4}*{box-sizing:border-box}body{margin:0;min-width:320px;background:radial-gradient(circle at 50% -20%,#244665,#071526 58%);min-height:100vh}button,input{font:inherit}button{cursor:pointer;border:0;color:inherit}.app-shell{min-height:100vh}.screen{min-height:100vh}.home-screen{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,42%);align-items:center;overflow:hidden;padding:clamp(28px,7vw,100px);background:#0a1d31}.home-backdrop{position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,17,30,.96),rgba(4,17,30,.55)),url('/game-typing-assets/forest.jpg') center/cover;filter:saturate(.8)}.home-copy,.home-dragon{position:relative;z-index:1}.home-copy{max-width:680px}.eyebrow{margin:0 0 10px;color:var(--mint);font-size:.74rem;font-weight:800;letter-spacing:.18em}.home-copy h1{margin:0;color:#fff;font-size:clamp(2.7rem,7vw,6rem);line-height:1.02;letter-spacing:-.06em}.home-copy h1 span{color:var(--gold)}.lead{color:#c9dbea;font-size:clamp(1rem,2vw,1.3rem);line-height:1.7;margin:28px 0}.home-actions,.area-actions{display:flex;gap:12px;flex-wrap:wrap}.primary-button,.ghost-button,.boss-button{border-radius:12px;padding:13px 22px;font-weight:800;transition:.2s}.primary-button{background:linear-gradient(135deg,#5ae5ad,#23b986);color:#06261d;box-shadow:0 8px 24px #35d6a640}.ghost-button{background:#ffffff12;border:1px solid #ffffff3b}.boss-button{background:#6b2546;color:#ffd6dc}.boss-button:disabled{opacity:.42;cursor:not-allowed}.primary-button:hover,.ghost-button:hover:not(:disabled),.boss-button:hover:not(:disabled){transform:translateY(-2px);filter:brightness(1.08)}.control-hint{color:#a9c0d4;font-size:.84rem;margin-top:20px}.home-dragon{display:flex;justify-content:center;align-items:center}.home-dragon img{width:min(100%,480px);filter:drop-shadow(0 22px 20px #0009);animation:float 3.5s ease-in-out infinite}.game-screen{background:linear-gradient(135deg,#081728,#102b42)}.topbar{height:68px;display:flex;align-items:center;gap:18px;padding:0 20px;background:#071526e8;border-bottom:1px solid #fff1;position:sticky;top:0;z-index:10}.brand{font-weight:800;letter-spacing:.02em;flex:1}.brand-mark{color:var(--gold);margin-right:8px}.icon-button{width:38px;height:38px;border-radius:10px;background:#ffffff12;border:1px solid #ffffff22;font-size:1.2rem}.icon-button.danger{color:#ff9ba5}.hud{display:flex;gap:16px;align-items:center;color:#d7e8f5;font-size:.88rem}.hud b{color:#fff}.xp-hud{display:flex;align-items:center;gap:8px}.xp-hud i{width:120px;height:8px;border-radius:99px;background:linear-gradient(90deg,var(--mint),#43a9ed);display:block}.content-wrap{max-width:1440px;margin:auto;display:grid;grid-template-columns:225px 1fr;min-height:calc(100vh - 68px)}.sidebar{border-right:1px solid #fff1;padding:24px 16px}.player-card{text-align:center;padding:14px 8px 24px}.avatar-wrap{width:112px;height:112px;margin:auto;border-radius:50%;background:radial-gradient(circle,#315d6f,#122a40);display:grid;place-items:center;border:1px solid #7cb8b444;overflow:hidden}.avatar-wrap img{width:105%;height:105%;object-fit:contain}.player-card strong,.player-card span{display:block}.player-card strong{margin-top:12px}.player-card span{color:var(--muted);font-size:.78rem;margin-top:4px}.main-nav{display:grid;gap:6px}.nav-button{padding:11px 10px;text-align:left;border-radius:9px;background:transparent;color:#b3c8d8}.nav-button.active,.nav-button:hover{background:#52dbac18;color:var(--mint)}.quest-card{margin-top:26px;padding:15px;border:1px solid #ffd36a33;background:#ffd36a0b;border-radius:11px}.quest-card span,.quest-card small{display:block;color:var(--muted);font-size:.72rem}.quest-card strong{display:block;color:var(--gold);margin:6px 0}.main-area{padding:clamp(22px,4vw,54px);min-width:0}.view-heading{display:flex;align-items:end;justify-content:space-between;margin-bottom:24px}.view-heading h2{font-size:clamp(1.8rem,3vw,2.8rem);margin:0;letter-spacing:-.05em}.difficulty-pill{padding:7px 12px;border-radius:99px;background:#50e2b018;color:var(--mint);font-size:.8rem}.map-hero{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(250px,1fr);border:1px solid #ffffff18;background:#0d2236;border-radius:18px;overflow:hidden;box-shadow:0 20px 50px #0002}.map-art{min-height:290px}.map-art img{width:100%;height:100%;object-fit:cover}.map-info{padding:30px;display:flex;flex-direction:column;justify-content:center}.region-kicker{color:var(--mint);font-size:.77rem;margin:0}.map-info h3{font-size:2rem;margin:8px 0}.map-info p{color:var(--muted);line-height:1.7}.map-tip{font-size:.78rem;margin-bottom:0}.region-list{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin:18px 0}.region-card{position:relative;overflow:hidden;text-align:left;min-height:115px;border-radius:12px;border:1px solid #ffffff18;background:#102a40;padding:0}.region-card img{width:100%;height:66px;object-fit:cover;opacity:.68}.region-card span,.region-card small{display:block;padding:0 9px}.region-card span{font-weight:800;font-size:.88rem;margin-top:7px}.region-card small{color:var(--muted);font-size:.68rem;margin-top:3px}.region-card.selected{border-color:var(--mint);box-shadow:0 0 0 2px #50e2b033}.region-card.locked{filter:grayscale(.8);opacity:.55}.notice-panel{display:flex;gap:12px;padding:14px 18px;border-radius:12px;background:#50e2b00d;border:1px solid #50e2b022}.notice-panel p{margin:0;color:var(--muted);font-size:.82rem;line-height:1.6}.notice-panel strong{color:#dffef0}.notice-icon{color:var(--gold);font-size:1.5rem}.battle-stage{border-radius:18px;background:linear-gradient(180deg,#193a51,#0b1c2e);border:1px solid #ffffff1b;overflow:hidden}.battle-scene{position:relative;min-height:320px;display:grid;grid-template-columns:1fr 90px 1fr;align-items:end;padding:20px 6%;background:linear-gradient(180deg,#173b4e88,#081726),url('/game-typing-assets/forest.jpg') center/cover}.scene-glow{position:absolute;inset:auto 25% 0;width:50%;height:60%;background:#50e2b022;filter:blur(40px)}.fighter{position:relative;z-index:1;text-align:center}.fighter img{width:min(100%,260px);height:220px;object-fit:contain;filter:drop-shadow(0 12px 10px #0008)}.enemy-fighter img{width:min(100%,300px)}.status-box{display:grid;grid-template-columns:auto auto;gap:4px 10px;text-align:left;max-width:230px;margin:auto;padding:9px 12px;background:#071526d9;border:1px solid #ffffff24;border-radius:10px}.status-box strong{color:#bfffe9}.enemy-status strong{color:#ffb0b7}.status-box span,.status-box small{color:var(--muted);font-size:.75rem}.hp-track{grid-column:1/-1;height:8px;background:#ffffff1f;border-radius:9px;overflow:hidden}.hp-track i{display:block;height:100%;width:100%;background:var(--mint);transition:.25s}.enemy-hp i{background:var(--red)}.vs-badge{position:relative;z-index:1;color:var(--gold);font-weight:900;font-size:1.4rem;text-align:center;margin-bottom:95px}.battle-message{text-align:center;padding:12px;background:#ffd36a12;color:var(--gold);font-weight:800}.typing-panel{padding:22px 8%;text-align:center;background:#081a2b}.prompt-row{display:flex;justify-content:space-between;color:var(--muted);font-size:.8rem}.prompt-row span:last-child{color:var(--gold)}.typing-panel h3{font-size:2.15rem;letter-spacing:.12em;margin:12px 0;color:#fff}.romaji-guide{font-size:1.4rem;letter-spacing:.16em;margin-bottom:12px}.romaji-guide span{color:#58728a}.romaji-guide .typed{color:var(--mint)}.romaji-guide .current{color:#fff;background:#3d99d8;padding:2px 6px;border-radius:5px}.next-key{color:var(--muted);font-size:.8rem}.next-key b{display:inline-grid;place-items:center;width:42px;height:38px;border-radius:8px;background:var(--gold);color:#182334;margin:0 8px;font-size:1.2rem}.next-key span{color:#9db6cb}.typing-panel input{position:absolute;opacity:0;width:1px;height:1px}.keyboard{display:grid;gap:6px;max-width:520px;margin:18px auto 8px}.key-row{display:flex;justify-content:center;gap:5px}.key{display:grid;place-items:center;width:34px;height:34px;border-radius:6px;background:#1b3b53;border:1px solid #ffffff1c;color:#c1d5e5;font-size:.8rem}.key.active{background:var(--gold);color:#182334;box-shadow:0 0 16px #ffd36a88;transform:translateY(-2px)}.typing-help{color:#7895ab;font-size:.75rem;margin:14px 0 0}.party-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.party-card{display:flex;gap:18px;align-items:center;padding:18px;border:1px solid #ffffff1b;border-radius:14px;background:#102b43}.party-card img{width:120px;height:120px;object-fit:contain}.party-card h3{margin:5px 0}.party-card p,.party-card small{color:var(--muted);font-size:.8rem}.rarity{color:var(--gold);font-size:.75rem}.locked-card{opacity:.65}.egg{font-size:3rem;color:#50e2b0}.small-bar{height:7px;background:#ffffff18;border-radius:8px;overflow:hidden}.small-bar i{display:block;height:100%;background:var(--mint)}.evolution-panel,.upgrade-panel,.settings-card{margin-top:18px;padding:24px;border-radius:14px;background:#102b43;border:1px solid #ffffff1b}.evolution-panel{display:flex;justify-content:space-between;align-items:center}.evolution-panel h3,.upgrade-panel h3,.settings-card h3{margin:0 0 8px}.evolution-panel p,.upgrade-panel p,.settings-card p{color:var(--muted);font-size:.85rem;line-height:1.6}.evolution-art{width:210px;height:150px;background-size:200% 100%;background-repeat:no-repeat;background-position:left center}.evolution-2{background-position:center}.evolution-3{background-position:right}.inventory-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.item-card{display:grid;grid-template-columns:auto 1fr auto;gap:4px 10px;align-items:center;padding:16px;border:1px solid #ffffff1b;border-radius:12px;background:#102b43}.item-card small{grid-column:1/-1;color:var(--muted);font-size:.72rem}.item-icon{font-size:1.5rem}.item-card b{color:var(--gold)}.coin-large{color:var(--gold);font-size:1.2rem}.difficulty-options{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.difficulty-options button{padding:16px;text-align:left;border:1px solid #ffffff1b;border-radius:10px;background:#0b2136;color:#d7e8f5}.difficulty-options button strong{display:block;color:var(--muted);font-size:.75rem;margin-top:7px}.difficulty-options button.selected{border-color:var(--mint);background:#50e2b014}.save-note{margin-top:24px}.slot-button{margin-left:6px;border-radius:6px;padding:4px 9px;background:#ffffff12;color:#dcefff}.slot-button.selected{background:var(--mint);color:#06261d}.toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%,20px);opacity:0;pointer-events:none;padding:12px 18px;background:#071526f2;border:1px solid #50e2b099;border-radius:10px;color:#eafff7;box-shadow:0 10px 30px #0007;transition:.25s;z-index:30}.toast.show{opacity:1;transform:translate(-50%,0)}.hit-flash{animation:hit .3s ease}.dragon-evolution-2{filter:hue-rotate(20deg) saturate(1.2)}.dragon-evolution-3{filter:hue-rotate(90deg) saturate(1.3)}@keyframes float{50%{transform:translateY(-14px) rotate(2deg)}}@keyframes hit{50%{filter:brightness(2) drop-shadow(0 0 20px #fff)}}@media(max-width:850px){.home-screen{grid-template-columns:1fr;padding:30px;text-align:center}.home-dragon{position:absolute;right:-12%;bottom:-5%;opacity:.4;max-width:430px}.home-copy{z-index:2}.home-actions{justify-content:center}.topbar{gap:10px;padding:0 10px}.brand{font-size:.78rem}.hud{gap:8px;font-size:.75rem}.xp-hud i{width:55px}.content-wrap{display:block}.sidebar{border-right:0;border-bottom:1px solid #fff1;padding:9px;display:flex;align-items:center;gap:12px}.player-card{display:flex;align-items:center;gap:8px;padding:0;text-align:left}.avatar-wrap{width:48px;height:48px}.player-card strong,.player-card span{margin:0}.player-card span{display:none}.main-nav{display:flex;flex:1;justify-content:flex-end}.nav-button{font-size:0;padding:9px}.nav-button:first-letter{font-size:1.1rem}.quest-card{display:none}.main-area{padding:20px 14px}.map-hero{grid-template-columns:1fr}.map-art{min-height:180px}.map-info{padding:20px}.region-list{grid-template-columns:repeat(5,145px);overflow:auto;padding-bottom:4px}.battle-scene{grid-template-columns:1fr 45px 1fr;padding:12px 2%;min-height:250px}.fighter img{height:155px}.enemy-fighter img{height:170px}.vs-badge{font-size:.9rem;margin-bottom:70px}.party-grid,.inventory-grid,.difficulty-options{grid-template-columns:1fr}.evolution-panel{display:block}.evolution-art{margin:auto}.battle-message{font-size:.85rem}.typing-panel{padding:18px 10px}.key{width:29px;height:30px;font-size:.7rem}}
.home-nav{position:absolute;top:22px;right:28px;z-index:3;display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.home-nav button,.global-nav button{padding:8px 11px;border:1px solid #ffffff2d;border-radius:8px;background:#071526aa;color:#d8e9f4;font-size:.78rem;font-weight:800}.home-nav button:hover,.global-nav button:hover{background:#50e2b022;color:var(--mint)}.global-nav{display:flex;gap:5px;align-items:center}.global-nav button{padding:6px 8px;font-size:.7rem;background:#ffffff0b}.heading-actions{display:flex;align-items:center;gap:10px}.back-button{padding:7px 11px;border-radius:8px;border:1px solid #ffffff2b;background:#ffffff0d;color:#d8e9f4;font-size:.76rem;font-weight:800}.back-button:hover{background:#50e2b022;color:var(--mint)}
.home-backdrop{pointer-events:none}.home-screen button,.game-screen button{position:relative;z-index:4;pointer-events:auto}.screen[hidden],.view[hidden]{display:none!important}
@media(max-width:1100px){.global-nav{display:none}}@media(max-width:850px){.home-nav{top:12px;right:12px;left:12px;justify-content:center}.home-nav button{font-size:.7rem;padding:6px 8px}.heading-actions{gap:6px}.back-button{font-size:.7rem;padding:6px 8px}}
