@import "https://fonts.googleapis.com/css2?family=Cinzel+Decorative:wght@700&family=Cinzel&family=Press+Start+2P&family=IM+Fell+English:ital@0;1&display=swap";:root{--text:#6b6375;--text-h:#08060d;--bg:#fff;--border:#e5e4e7;--code-bg:#f4f3ec;--accent:#aa3bff;--accent-bg:#aa3bff1a;--accent-border:#aa3bff80;--social-bg:#f4f3ec80;--shadow:#0000001a 0 10px 15px -3px, #0000000d 0 4px 6px -2px;--sans:system-ui, "Segoe UI", Roboto, sans-serif;--heading:system-ui, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, Consolas, monospace;font:18px/145% var(--sans);letter-spacing:.18px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}@media (width<=1024px){:root{font-size:16px}}@media (prefers-color-scheme:dark){:root{--text:#9ca3af;--text-h:#f3f4f6;--bg:#16171d;--border:#2e303a;--code-bg:#1f2028;--accent:#c084fc;--accent-bg:#c084fc26;--accent-border:#c084fc80;--social-bg:#2f303a80;--shadow:#0006 0 10px 15px -3px, #00000040 0 4px 6px -2px}#social .button-icon{filter:invert()brightness(2)}}body{margin:0}#root{text-align:center;border-inline:1px solid var(--border);box-sizing:border-box;flex-direction:column;width:1126px;max-width:100%;min-height:100svh;margin:0 auto;display:flex}h1,h2{font-family:var(--heading);color:var(--text-h);font-weight:500}h1{letter-spacing:-1.68px;margin:32px 0;font-size:56px}@media (width<=1024px){h1{margin:20px 0;font-size:36px}}h2{letter-spacing:-.24px;margin:0 0 8px;font-size:24px;line-height:118%}@media (width<=1024px){h2{font-size:20px}}p{margin:0}code,.counter{font-family:var(--mono);color:var(--text-h);border-radius:4px;display:inline-flex}code{background:var(--code-bg);padding:4px 8px;font-size:15px;line-height:135%}:root{--color-bg:#0a0a0a;--color-surface:#1c1c1c;--color-border:#ffdb00;--color-gold:#ffdb00;--color-accent:#e5c100;--color-danger:#d9534f;--color-success:#5cb85c;--font-title:"Cinzel Decorative", serif;--font-body:"Cinzel", serif;--font-lore:"IM Fell English", serif;--font-lcd:"Press Start 2P", monospace;--tier-common:#888;--tier-rare:#4a90e2;--tier-epic:#a78bfa;--tier-legendary:#ffdb00}html,body{background-color:var(--color-bg);color:#e2e2e8;font-family:var(--font-body);width:100%;min-height:100vh;margin:0;padding:0;overflow-x:hidden}body{justify-content:center;display:flex}.rpg-container{box-sizing:border-box;width:100%;max-width:480px;padding:20px;position:relative}.game-header{text-align:center;margin-bottom:20px}.game-header h1{color:var(--color-gold);font-size:2.2rem;font-family:var(--font-title);text-shadow:0 2px 4px #000c;margin:0}.subtitle{font-size:.95rem;font-family:var(--font-lore);color:#ccc;margin:0;font-style:italic}h2,h3{font-family:var(--font-title)}.cat-sprite{width:60px;height:60px;image-rendering:pixelated;filter:drop-shadow(0 8px 2px #00000080);transform-origin:bottom;background-position:0 0;background-repeat:no-repeat;background-size:240px 60px;flex-shrink:0;animation:1.2s ease-in-out infinite cat-alive}.cat-stage-1{background-image:url(/aethelgard-rpg/stage-1-v2.png)}.cat-stage-2{background-image:url(/aethelgard-rpg/stage-2-v2.png)}.cat-stage-3{background-image:url(/aethelgard-rpg/stage-3-v2.png)}.cat-stage-4{background-image:url(/aethelgard-rpg/stage-4-v2.png)}@keyframes cat-alive{0%{transform:scale(1)translateY(0)rotate(0)}25%{transform:scale(.95,1.05)translateY(-4px)rotate(-2deg)}50%{transform:scale(1.02,.98)translateY(0)rotate(0)}75%{transform:scale(.95,1.05)translateY(-4px)rotate(2deg)}to{transform:scale(1)translateY(0)rotate(0)}}.boss-sprite{font-size:3rem;animation:2s ease-in-out infinite boss-float}@keyframes boss-float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.digivice-container{background:var(--color-surface);border:4px solid var(--color-gold);border-radius:20px;margin-bottom:20px;padding:15px;box-shadow:0 8px #111,inset 0 2px 10px #000c}.digivice-screen{background:#8bac0f;border:4px solid #0f380f;border-radius:8px;align-items:center;gap:15px;margin-bottom:15px;padding:15px;display:flex;box-shadow:inset 0 0 10px #00000080}.digivice-sprite{margin-right:10px}.digivice-stats{color:#0f380f;font-family:var(--font-lcd);flex-direction:column;flex-grow:1;display:flex}.digivice-stage{text-transform:uppercase;margin-bottom:5px;font-size:.5rem}.digivice-name{margin-bottom:8px;font-size:.7rem;font-weight:700;line-height:1.4}.digivice-level{font-size:.75rem}.lcd-exp-container{width:100%;margin-top:10px}.lcd-exp-labels{justify-content:space-between;margin-bottom:4px;font-size:.5rem;display:flex}.lcd-exp-bg{background-color:#0f380f33;border:1px solid #0f380f;border-radius:2px;width:100%;height:8px;overflow:hidden}.lcd-exp-fill{background-color:#0f380f;height:100%;transition:width 1.2s}.digivice-actions{justify-content:flex-end;gap:10px;margin-bottom:15px;display:flex}.train-btn{background:var(--color-gold);color:#111;font-size:.85rem;font-family:var(--font-title);cursor:pointer;border:2px solid #000;border-radius:20px;padding:8px 16px;font-weight:700;text-decoration:none;transition:all .1s;box-shadow:0 4px #000}.train-btn:active{transform:translateY(4px);box-shadow:0 0 #000}.digivice-menu{border-top:2px solid #333;justify-content:space-around;padding-top:15px;display:flex}.menu-btn{color:#fff;cursor:pointer;background:#111;border:2px solid #444;border-radius:50%;justify-content:center;align-items:center;width:55px;height:55px;font-size:1.5rem;transition:all .2s;display:flex;box-shadow:0 4px 6px #00000080}.menu-btn:hover{border-color:var(--color-gold)}.menu-btn.active{background:var(--color-gold);border-color:#fff;transform:scale(1.1);box-shadow:0 0 15px #ffdb0066}.panel-section{background-color:var(--color-surface);border:1px solid #333;border-radius:12px;margin-bottom:30px;padding:20px;box-shadow:0 4px 15px #00000080}.fade-in{animation:.3s ease-out forwards fadeIn}@keyframes fadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.boss-card{border-left:4px solid var(--color-danger)}.boss-header{justify-content:space-between;align-items:center;margin-bottom:15px;display:flex}.boss-name{font-family:var(--font-title);color:var(--color-danger);margin:0;font-size:1.2rem}.boss-level{color:#fcc;background-color:#f8717133;border-radius:4px;padding:4px 8px;font-size:.8rem}.boss-lore{font-family:var(--font-lore);color:#baa6a8;font-size:1.1rem}.challenge-btn{border:2px solid var(--color-danger);color:#fcc;cursor:pointer;width:100%;font-family:var(--font-title);background-color:#0000;border-radius:6px;padding:12px;font-size:1.1rem;transition:all .3s}.challenge-btn:hover{background-color:var(--color-danger);color:#fff}.equipped-header-row{border-bottom:1px solid #333;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:15px;display:flex}.equipped-header-row h2{color:var(--color-gold);margin:0;font-size:1.2rem}.inn-btn{color:#ccc;font-family:var(--font-body);cursor:pointer;background:0 0;border:1px solid #555;border-radius:4px;padding:6px 12px;transition:all .2s}.inn-btn:hover{border-color:var(--color-gold);color:var(--color-gold)}.spell-card{color:#666;background:#111;border:1px dashed #444;border-radius:8px;align-items:center;gap:15px;margin-bottom:10px;padding:12px 20px;display:flex}.spell-details{flex-direction:column;display:flex}.spell-name{color:#fff;font-size:1.1rem}.spell-power{color:#aaa;font-family:monospace;font-size:.8rem}.spell-card.tier-common{border:1px solid var(--tier-common)}.spell-card.tier-rare{border:1px solid var(--tier-rare)}.spell-card.tier-epic{border:1px solid var(--tier-epic)}.spell-card.tier-legendary{border:1px solid var(--tier-legendary);box-shadow:inset 0 0 20px #ffdb001a}.gacha-header{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.gacha-header h2{color:var(--color-gold);margin:0;font-size:1.2rem}.crystal-count{color:#fff;background:#111;border:1px solid #333;border-radius:6px;padding:5px 10px;font-size:1.1rem}.gacha-lore{color:#aaa;margin-bottom:20px;font-size:.9rem;font-style:italic}.gacha-actions{gap:10px;margin-bottom:15px;display:flex}.summon-btn{font-family:var(--font-title);cursor:pointer;border:none;border-radius:8px;flex:2;padding:15px;font-size:1.1rem;transition:all .2s}.summon-btn.active{background:var(--color-gold);color:#111;font-weight:700;box-shadow:0 4px 15px #ffdb0033}.summon-btn.active:active{transform:scale(.98)}.summon-btn.disabled{color:#555;cursor:not-allowed;background:#222;border:1px solid #333}.merge-btn{font-family:var(--font-title);cursor:pointer;color:#fff;background:#111;border:2px solid #444;border-radius:8px;flex:1;padding:15px;font-size:1rem;transition:all .2s}.merge-btn.active{color:#0fc;background:#00ffcc1a;border-color:#0fc;font-weight:700;box-shadow:0 0 10px #00ffcc4d}.summon-message{text-align:center;background:#111;border:1px solid #333;border-radius:6px;margin-bottom:15px;padding:10px;font-weight:700;animation:.3s logFadeIn}.legendary-pull{color:var(--color-gold);text-shadow:0 0 10px var(--color-gold);border-color:var(--color-gold);font-size:1.1rem}.inventory-grid{grid-template-columns:repeat(2,1fr);gap:10px;max-height:250px;padding-right:5px;display:grid;overflow-y:auto}.inventory-item{text-align:center;cursor:pointer;background:#111;border:2px solid;border-radius:8px;flex-direction:column;align-items:center;padding:10px;transition:all .2s;display:flex;position:relative}.inventory-item:active{transform:scale(.95)}.inventory-item.equipped-item{opacity:.4}.inventory-item.merge-selected{border-color:#0fc;animation:1s infinite alternate pulse-merge;transform:scale(1.05);box-shadow:0 0 15px #00ffcc80}@keyframes pulse-merge{0%{box-shadow:0 0 5px #00ffcc4d}to{box-shadow:0 0 20px #0fcc}}.inv-icon{margin-bottom:5px;font-size:1.5rem}.inv-name{color:#eee;margin-bottom:5px;font-size:.8rem}.inv-power{color:#aaa;font-family:monospace;font-size:.75rem}.equipped-badge{background:var(--color-gold);color:#111;border-radius:50%;justify-content:center;align-items:center;width:20px;height:20px;font-size:.7rem;font-weight:700;display:flex;position:absolute;top:-5px;right:-5px}.inventory-item.tier-common{border-color:var(--tier-common)}.inventory-item.tier-rare{border-color:var(--tier-rare)}.inventory-item.tier-epic{border-color:var(--tier-epic)}.inventory-item.tier-legendary{border-color:var(--tier-legendary);box-shadow:0 0 10px #ffdb001a}.battle-overlay{z-index:1000;background:#000000f2;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.digivice-battle{background:var(--color-surface);border:2px solid var(--color-gold);border-radius:12px;flex-direction:column;width:100%;max-width:400px;padding:20px;display:flex;box-shadow:0 0 30px #ffdb001a}.battle-title{text-align:center;color:var(--color-danger);margin-top:0;margin-bottom:20px;font-size:1.3rem}.health-bar-container{margin-bottom:15px}.hp-header{justify-content:space-between;margin-bottom:5px;font-family:monospace;font-size:.85rem;display:flex}.boss-header-text{color:var(--color-danger)}.hp-track{background:#111;border:1px solid #333;border-radius:4px;width:100%;height:15px;overflow:hidden}.hp-fill{height:100%;transition:width .3s ease-out}.player-hp{background:var(--color-success)}.boss-hp{background:var(--color-danger)}.battle-sprites{justify-content:space-around;align-items:center;margin:20px 0;display:flex}.vs-badge{font-family:var(--font-title);color:var(--color-gold);font-size:1.2rem;font-weight:700}.attacking-left{animation:1.2s infinite thrustRight}.attacking-right{animation:1.2s .6s infinite thrustLeft}@keyframes thrustRight{0%,80%,to{transform:translate(0)}90%{transform:translate(30px)scale(1.1)}}@keyframes thrustLeft{0%,80%,to{transform:translate(0)}90%{transform:translate(-30px)scale(1.1)}}.combat-log{background:#111;border:1px solid #333;border-radius:6px;flex-direction:column;gap:6px;height:120px;padding:10px;font-family:monospace;font-size:.8rem;display:flex;overflow-y:auto}.log-entry{opacity:0;animation:.3s forwards logFadeIn}@keyframes logFadeIn{to{opacity:1}}.log-system{color:#888}.log-player{color:var(--color-success)}.log-boss{color:var(--color-danger)}.battle-result{text-align:center;font-size:1.5rem;font-family:var(--font-title);margin-top:15px}.battle-result.victory{color:var(--color-success)}.battle-result.defeat{color:var(--color-danger)}
