:root{--bg: #043c6e;--card: #60a85f;--ink: #ebeed3;--muted: #d7f2d6;--accent: #ff69b4;--accent-2: #2d612c;--danger: #9c263c;--success: #58f79c;--warning: #ffd166;--shadow: 0 10px 30px rgba(0,0,0,.35);--radius: 12px}*{box-sizing:border-box}html,body,#app{height:100%}body{margin:0;font-family:Sour Gummy,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;color:var(--ink);background:radial-gradient(1200px 800px at 20% 10%,#125978 0,#127fad 50%) fixed;background-color:var(--bg)}header{display:flex;align-items:center;justify-content:center;gap:16px;padding:24px 20px 10px;position:sticky;top:0;z-index:5;-webkit-backdrop-filter:saturate(1.1) blur(8px);backdrop-filter:saturate(1.1) blur(8px)}header h1{margin:0;font-size:clamp(22px,4vw,56px);letter-spacing:.5px}header h1 .spark{color:var(--accent)}.wrap{max-width:1200px;margin:0 auto;padding:0 16px 40px}.grid{display:grid;gap:16px;grid-template-columns:1fr}@media (min-width:960px){.grid{grid-template-columns:360px 1fr}}.card{background:linear-gradient(180deg,#60a85fe6,#60a85fcc);border:5px solid rgba(255,255,255,.06);border-radius:var(--radius);box-shadow:var(--shadow);padding:16px}.card h2{margin:0 0 8px;font-size:22px}.muted{color:var(--muted);font-size:14px}label{display:block;font-size:14px;margin:10px 0 6px}.row{display:flex;gap:10px}.row>*{flex:1}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:none;padding:10px 14px;border-radius:14px;color:#fff;background:var(--accent-2);font-weight:700;cursor:pointer;box-shadow:var(--shadow);transition:transform .05s ease,filter .15s ease;text-decoration:none}.btn:hover{filter:brightness(1.05)}.btn:active{transform:translateY(1px)}.btn.secondary{background:#0b3d19;color:#fff}.btn.danger{background:var(--danger);color:#fff}.btn.ghost{background:transparent;border:1px solid rgba(255,255,255,.15);color:var(--ink)}.stack{display:flex;flex-wrap:wrap;gap:10px}input[type=text],input[type=number],select,textarea{width:100%;padding:10px 12px;border-radius:12px;border:1px solid rgba(255,255,255,.12);background:#e3a788;color:var(--ink);outline:none}input[type=number]::-webkit-inner-spin-button{opacity:1}.sep{margin:18px 0;border:0;border-top:1px solid rgba(255,255,255,.1)}.empty{padding:12px;border:1px dashed rgba(255,255,255,.15);border-radius:12px;color:var(--muted);text-align:center}.footer{margin-top:12px;text-align:center;color:var(--muted);font-size:12px}.monster-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px}.monster{background:#265c35;border:1px solid rgba(255,255,255,.06);border-radius:16px;padding:10px;display:flex;gap:10px;align-items:flex-start;position:relative;overflow:hidden}.monster img{width:72px;height:72px;border-radius:12px;object-fit:cover;flex:none;border:2px solid rgba(255,255,255,.1)}.monster .name{font-weight:700}.stat{font-size:12px;opacity:.9}.badge{font-size:11px;padding:4px 8px;border-radius:999px;border:1px solid rgba(255,255,255,.18)}.timeline{margin-top:10px;max-height:260px;overflow:auto;padding-right:6px;border-top:1px dashed rgba(255,255,255,.2)}.turn{display:flex;gap:8px;padding:8px 0;border-bottom:1px dashed rgba(255,255,255,.08);align-items:center}.turn .hit{font-weight:700}.winner{color:var(--success)}.loser{color:var(--danger)}.confetti{position:fixed;top:-10px;width:8px;height:12px;background:#fff;opacity:.95;transform:rotate(0);border-radius:2px;pointer-events:none;animation:fall linear forwards}@keyframes fall{to{transform:translate(var(--x),100vh) rotate(720deg);opacity:1}}
