:root{--bg-dark:#0a0a1a;--bg-card:#1a1a2e;--text-primary:#fff;--text-secondary:#b0b0cc;--accent-gold:gold;--accent-fire:#ff4500;--accent-water:#00bfff;--accent-forest:#32cd32;--accent-shadow:#9400d3;--accent-ice:#87ceeb;--rarity-common:#b0b0b0;--rarity-rare:#48f;--rarity-epic:#a4f;--rarity-legendary:#f80;--space-xs:4px;--space-sm:8px;--space-md:16px;--space-lg:24px;--space-xl:32px;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-full:9999px;--transition-fast:.15s ease;--transition-normal:.25s ease;--transition-slow:.4s ease}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;font-size:16px}body{background:var(--bg-dark);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-image:radial-gradient(at 20%,#1e003c66 0%,#0000 60%),radial-gradient(at 80% 20%,#00143c4d 0%,#0000 50%);min-height:100dvh;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Helvetica Neue,Arial,sans-serif;line-height:1.5;overflow-x:hidden}#root{flex-direction:column;max-width:480px;min-height:100dvh;margin:0 auto;display:flex;position:relative}img,svg{max-width:100%;display:block}h1{letter-spacing:-.02em;font-size:2rem;font-weight:800;line-height:1.2}h2{font-size:1.5rem;font-weight:700;line-height:1.3}h3{font-size:1.25rem;font-weight:600;line-height:1.4}h4{font-size:1.1rem;font-weight:600;line-height:1.4}p{color:var(--text-secondary);line-height:1.6}.text-gold{color:var(--accent-gold)}.text-muted{color:var(--text-secondary)}button{cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation;border:none;outline:none;font-family:inherit;font-size:1rem;font-weight:600}.btn{justify-content:center;align-items:center;gap:var(--space-sm);min-height:48px;padding:var(--space-sm) var(--space-lg);border-radius:var(--radius-md);transition:transform var(--transition-fast), box-shadow var(--transition-fast), background var(--transition-normal);isolation:isolate;will-change:transform, box-shadow;font-weight:700;display:inline-flex;position:relative;overflow:hidden}.btn:active{transform:scale(.94)translateY(1px)}.btn:before{content:"";z-index:0;background:linear-gradient(120deg,#0000 20%,#ffffff2e 50%,#0000 80%);transition:transform .42s;position:absolute;inset:0;transform:translate(-130%)}.btn>*{z-index:1;position:relative}.btn:hover:before,.btn:focus-visible:before{transform:translate(130%)}.btn-primary{color:var(--text-primary);background:linear-gradient(135deg,#6a3de8,#9b59b6);box-shadow:0 0 12px #6a3de866,inset 0 1px #ffffff1a}.btn-primary:hover{box-shadow:0 0 20px #6a3de899,inset 0 1px #ffffff26}.btn-gold{color:#1a1a00;background:linear-gradient(135deg,#c90,#fc0);box-shadow:0 0 12px #ffd7004d,inset 0 1px #fff3}.btn-gold:hover{box-shadow:0 0 20px #ffd70080,inset 0 1px #ffffff4d}.btn-danger{color:var(--text-primary);background:linear-gradient(135deg,#a00,#f30);box-shadow:0 0 12px #ff33004d}.btn-ghost{color:var(--text-secondary);background:0 0;border:1px solid #ffffff1a}.btn-ghost:hover{color:var(--text-primary);background:#ffffff0d}.btn-lg{min-height:56px;padding:var(--space-md) var(--space-xl);border-radius:var(--radius-lg);font-size:1.1rem}.btn-sm{min-height:36px;padding:var(--space-xs) var(--space-md);font-size:.875rem}.btn-block{width:100%}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.card{background:var(--bg-card);border-radius:var(--radius-lg);padding:var(--space-md);transition:transform var(--transition-fast), box-shadow var(--transition-normal), border-color var(--transition-normal);border:1px solid #ffffff0f;position:relative;overflow:hidden}.card-interactive{cursor:pointer}.card-interactive:active{transform:scale(.97)}.card-interactive:hover{border-color:#ffffff26}.glass-panel{border-radius:var(--radius-lg);padding:var(--space-md);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:linear-gradient(#ffffff0f,#ffffff08),#1a1a2ed9;border:1px solid #ffffff14;box-shadow:0 18px 40px #0000003d,inset 0 1px #ffffff0f}.glass-panel:after{content:"";opacity:0;pointer-events:none;background:linear-gradient(120deg,#0000 10%,#ffffff0f 45%,#0000 80%);transition:opacity .26s,transform .52s;position:absolute;inset:0;transform:translate(-35%)}.glass-panel:hover:after{opacity:1;transform:translate(35%)}.gameplay-shell{width:100%}.gameplay-hud,.gameplay-stage,.gameplay-actionbar,.gameplay-details{position:relative}.gameplay-details{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffff06;border:1px solid #ffffff0d}.gameplay-details--secondary{background:#ffffff05}.gameplay-details--hint{background:#ffd7000a}.gameplay-details[open]{background:#ffffff0a;box-shadow:0 14px 30px #0000002e}.gameplay-details__summary{list-style:none}.gameplay-details__summary::-webkit-details-marker{display:none}.gameplay-details__action:after{content:"▾";margin-left:6px;transition:transform .18s;display:inline-block}.gameplay-details[open] .gameplay-details__action:after{transform:rotate(180deg)}.gameplay-stage{isolation:isolate}.gameplay-stage:before{content:"";pointer-events:none;opacity:.9;background:radial-gradient(circle at 50% 22%,#ffffff0f,#0000 42%),linear-gradient(#ffffff05,#0000 36%);position:absolute;inset:0}.gameplay-stage>*{z-index:1;position:relative}.gameplay-actionbar:before{content:"";border-radius:inherit;pointer-events:none;background:linear-gradient(#ffffff0a,#0000 60%);position:absolute;inset:0}.gameplay-alert-pill{box-shadow:inset 0 1px #ffffff14}.gameplay-alert-pill--pulse{animation:1.4s ease-in-out infinite bossWarningPulse}.gameplay-stage-badge--urgent,.gameplay-inline-note--pulse{animation:1.8s ease-in-out infinite bossWarningPulse}.gameplay-actioncard--priority{transform-origin:50%}.gameplay-actioncard--priority:hover:not(:active){transform:translateY(-1px)}.gameplay-actionbar__grid,.gameplay-stage__preview-list,.gameplay-expandables{align-items:stretch}.gameplay-hud__progress{grid-template-columns:repeat(auto-fit,minmax(min(100%,140px),1fr))}.gameplay-stage__preview-list{grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr))}.fantasy-shell{isolation:isolate}.ambient-stage{pointer-events:none;z-index:0;position:absolute;inset:0;overflow:hidden}.ambient-stage:before,.ambient-stage:after{content:"";position:absolute;inset:0}.ambient-stage:before{background:radial-gradient(circle at 50% 0,#ffffff14 0%,#0000 44%),linear-gradient(#ffffff05,#0000 45%);animation:8s ease-in-out infinite ambientPulse}.ambient-stage:after{background:linear-gradient(120deg,#0000 15%,#ffffff0a 45%,#0000 75%);animation:12s linear infinite ambientSweep;transform:translate(-100%)}.ambient-grid{background-image:linear-gradient(#ffffff08 1px,#0000 1px),linear-gradient(90deg,#ffffff08 1px,#0000 1px);background-size:56px 56px;animation:28s linear infinite ambientGridDrift;position:absolute;inset:-40%;-webkit-mask-image:radial-gradient(circle,#000000b3,#0000 75%);mask-image:radial-gradient(circle,#000000b3,#0000 75%)}.ambient-rune{border:1px solid #ffffff14;border-radius:50%;position:absolute;top:24%;left:50%;transform:translate(-50%,-50%)}.ambient-rune--outer{width:240px;height:240px;animation:22s linear infinite orbitSpin;box-shadow:0 0 40px #ffd70014}.ambient-rune--inner{border-style:dashed;width:160px;height:160px;animation:16s linear infinite orbitSpinReverse}.ambient-orb{aspect-ratio:1;filter:blur(8px);border-radius:50%;animation:12s ease-in-out infinite ambientFloat;position:absolute}.ambient-orb--large{width:240px;animation-duration:14s}.ambient-orb--medium{width:180px;animation-duration:12s;animation-delay:-4s}.ambient-orb--small{width:140px;animation-duration:10s;animation-delay:-2s}.ambient-spark{color:#ffffffb3;text-shadow:0 0 10px #ffffff73;animation:9s ease-in-out infinite ambientSpark;position:absolute}.card-common{border-color:#b0b0b033;box-shadow:0 0 8px #b0b0b01a}.card-common:hover{box-shadow:0 0 16px #b0b0b033}.card-rare{background:linear-gradient(135deg, var(--bg-card), #4488ff0d);border-color:#4488ff4d;box-shadow:0 0 8px #4488ff26}.card-rare:hover{box-shadow:0 0 20px #4488ff4d}.card-epic{background:linear-gradient(135deg, var(--bg-card), #aa44ff0d);border-color:#aa44ff4d;box-shadow:0 0 8px #aa44ff26}.card-epic:hover{box-shadow:0 0 20px #aa44ff4d}.card-legendary{background:linear-gradient(135deg, var(--bg-card), #ff880014);border-color:#f806;animation:3s ease-in-out infinite pulseGlow;box-shadow:0 0 12px #f803}.card-legendary:hover{box-shadow:0 0 24px #f806}@media (width>=768px){#root{max-width:960px}.gameplay-shell{padding-left:18px;padding-right:18px}.gameplay-expandables{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.gameplay-stage__hero{min-height:220px}}@media (width>=600px) and (width<=767px){#root{max-width:640px}}@media (width<=767px){.gameplay-arena{flex-wrap:wrap;justify-content:center}.gameplay-arena__fighter{flex:160px;min-width:min(180px,100%)}.gameplay-arena__vs{text-align:center;order:3;width:100%;padding:0}}@media (width<=599px){.gameplay-shell{padding-left:14px;padding-right:14px}.gameplay-hud__chips{justify-content:flex-start}.gameplay-hud__progress,.gameplay-stage__preview-list,.gameplay-expandables{grid-template-columns:1fr}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@keyframes pulseGlow{0%,to{box-shadow:0 0 12px #f803}50%{box-shadow:0 0 24px #f806}}@keyframes bossWarningPulse{0%,to{transform:scale(1);box-shadow:0 0 #ff5f4d33}50%{transform:scale(1.02);box-shadow:0 0 26px #ff5f4d73}}@keyframes miracleHalo{0%,to{filter:saturate();box-shadow:0 0 14px #ffe68033}50%{filter:saturate(1.2);box-shadow:0 0 28px #ffe68066}}@keyframes cursePulse{0%,to{transform:translateY(0);box-shadow:0 0 14px #c75cff29}50%{transform:translateY(-2px);box-shadow:0 0 28px #c75cff57}}@keyframes premiumPanelIn{0%{opacity:0;transform:translateY(18px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes cinematicFloatUp{0%{opacity:0;transform:translateY(22px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes hpDangerPulse{0%,to{opacity:.72;box-shadow:0 0 #ff484800}50%{opacity:1;box-shadow:0 0 24px #ff484859}}@keyframes hitSparkBurst{0%{opacity:0;transform:translateY(12px)scale(.6)}20%{opacity:1}to{opacity:0;transform:translateY(-36px)scale(1.18)}}@keyframes summaryMedalSpin{0%{opacity:0;transform:rotate(-8deg)scale(.9)}to{opacity:1;transform:rotate(0)scale(1)}}@keyframes shake{0%,to{transform:translate(0)}10%,50%,90%{transform:translate(-4px)}30%,70%{transform:translate(4px)}}@keyframes bounceIn{0%{opacity:0;transform:scale(.3)}50%{opacity:1;transform:scale(1.08)}70%{transform:scale(.96)}to{transform:scale(1)}}@keyframes flashWhite{0%{opacity:.8}to{opacity:0}}@keyframes shimmer{0%{background-position:-200%}to{background-position:200%}}@keyframes floatUp{0%{opacity:1;transform:translateY(0)scale(1)}to{opacity:0;transform:translateY(-60px)scale(.6)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes particleDrift{0%{opacity:0;transform:translateY(0)translate(0)scale(.5)}20%{opacity:.8}80%{opacity:.6}to{opacity:0;transform:translateY(-100vh)translate(30px)scale(1)}}@keyframes particlePulse{0%,to{opacity:.3;transform:scale(.8)}50%{opacity:.7;transform:scale(1.2)}}@keyframes particleSway{0%,to{transform:translate(0)}25%{transform:translate(15px)}75%{transform:translate(-15px)}}@keyframes orbitSpin{0%{transform:translate(-50%,-50%)rotate(0)}to{transform:translate(-50%,-50%)rotate(360deg)}}@keyframes orbitSpinReverse{0%{transform:translate(-50%,-50%)rotate(360deg)}to{transform:translate(-50%,-50%)rotate(0)}}@keyframes ambientFloat{0%,to{transform:translate(0,0)scale(1)}50%{transform:translateY(-18px)scale(1.05)}}@keyframes ambientPulse{0%,to{opacity:.7;filter:saturate()}50%{opacity:1;filter:saturate(1.25)}}@keyframes ambientSpark{0%,to{opacity:0;transform:translateY(0)scale(.8)}20%{opacity:.85}50%{opacity:1;transform:translateY(-8px)scale(1)}80%{opacity:.5}}@keyframes ambientSweep{0%{transform:translate(-120%)}to{transform:translate(120%)}}@keyframes ambientGridDrift{0%{transform:translate(0,0)rotate(0)}to{transform:translate(20px,10px)rotate(2deg)}}.screen-enter{animation:.3s forwards fadeIn}.screen-enter-up{animation:.35s forwards slideUp}.screen-enter-down{animation:.35s forwards slideDown}.screen-enter-scale{animation:.3s forwards scaleIn}.screen-enter-bounce{animation:.5s forwards bounceIn}.screen-enter-cinematic{animation:.48s cubic-bezier(.2,.9,.2,1) forwards cinematicFloatUp}.rarity-common{color:var(--rarity-common)}.rarity-rare{color:var(--rarity-rare)}.rarity-epic{color:var(--rarity-epic)}.rarity-legendary{color:var(--rarity-legendary)}.rarity-badge{border-radius:var(--radius-full);text-transform:uppercase;letter-spacing:.05em;padding:2px 10px;font-size:.75rem;font-weight:700;display:inline-block}.rarity-badge-common{color:var(--rarity-common);background:#b0b0b026}.rarity-badge-rare{color:var(--rarity-rare);background:#4488ff26}.rarity-badge-epic{color:var(--rarity-epic);background:#aa44ff26}.rarity-badge-legendary{color:var(--rarity-legendary);background:#ff880026 linear-gradient(90deg,#ff880026 0%,#ffd7004d 50%,#ff880026 100%) 0 0/200% 100%;animation:3s linear infinite shimmer}.world-fire{color:var(--accent-fire)}.world-water{color:var(--accent-water)}.world-forest{color:var(--accent-forest)}.world-shadow{color:var(--accent-shadow)}.world-ice{color:var(--accent-ice)}.flex{display:flex}.flex-col{flex-direction:column;display:flex}.flex-row{flex-direction:row;display:flex}.flex-center{justify-content:center;align-items:center;display:flex}.flex-between{justify-content:space-between;align-items:center;display:flex}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-center{justify-content:center}.flex-1{flex:1}.gap-xs{gap:var(--space-xs)}.gap-sm{gap:var(--space-sm)}.gap-md{gap:var(--space-md)}.gap-lg{gap:var(--space-lg)}.gap-xl{gap:var(--space-xl)}.p-sm{padding:var(--space-sm)}.p-md{padding:var(--space-md)}.p-lg{padding:var(--space-lg)}.p-xl{padding:var(--space-xl)}.px-md{padding-left:var(--space-md);padding-right:var(--space-md)}.py-md{padding-top:var(--space-md);padding-bottom:var(--space-md)}.mt-sm{margin-top:var(--space-sm)}.mt-md{margin-top:var(--space-md)}.mt-lg{margin-top:var(--space-lg)}.mb-sm{margin-bottom:var(--space-sm)}.mb-md{margin-bottom:var(--space-md)}.mb-lg{margin-bottom:var(--space-lg)}.text-center{text-align:center}.text-sm{font-size:.875rem}.text-lg{font-size:1.125rem}.text-xl{font-size:1.25rem}.text-2xl{font-size:1.5rem}.font-bold{font-weight:700}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.w-full{width:100%}.relative{position:relative}.overflow-hidden{overflow:hidden}.opacity-0{opacity:0}.opacity-50{opacity:.5}.stat-bar{border-radius:var(--radius-full);background:#ffffff1a;height:8px;overflow:hidden}.stat-bar-fill{border-radius:var(--radius-full);height:100%;transition:width var(--transition-normal)}.stat-bar-hp{background:linear-gradient(90deg,#c00,#f33)}.stat-bar-xp{background:linear-gradient(90deg,#36f,#6af)}.stat-bar-energy{background:linear-gradient(90deg,#ca0,#fd3)}.emoji-lg{font-size:3rem;line-height:1}.emoji-xl{font-size:4rem;line-height:1}.emoji-hero{filter:drop-shadow(0 0 8px #ffffff4d);font-size:5rem;line-height:1}.flash-overlay{pointer-events:none;z-index:1000;animation:.3s ease-out forwards flashWhite;position:fixed;inset:0}.encounter-tone{position:relative}.encounter-tone:before{content:"";border-radius:inherit;pointer-events:none;position:absolute;inset:-1px}.encounter-tone-normal:before{box-shadow:inset 0 0 0 1px #89a1ff2e}.encounter-tone-elite:before{box-shadow:inset 0 0 0 1px #ffb3473d}.encounter-tone-midboss:before{animation:2.4s ease-in-out infinite bossWarningPulse;box-shadow:inset 0 0 0 1px #ff925c47}.encounter-tone-boss:before{animation:1.8s ease-in-out infinite bossWarningPulse;box-shadow:inset 0 0 0 1px #ff5f4d4d}.encounter-tone-miracle:before{animation:2.8s ease-in-out infinite miracleHalo;box-shadow:inset 0 0 0 1px #ffe68047}.encounter-tone-cursed:before{animation:2.2s ease-in-out infinite cursePulse;box-shadow:inset 0 0 0 1px #c75cff3d}.encounter-chip{border:1px solid #0000;border-radius:9999px}.encounter-chip-boss{background:#ff5f4d1f;border-color:#ff5f4d33}.encounter-chip-midboss{background:#ff925c1f;border-color:#ff925c33}.encounter-chip-elite{background:#ffb3471f;border-color:#ffb3472e}.encounter-chip-miracle{background:#ffe6801f;border-color:#ffe68038}.encounter-chip-cursed{background:#c75cff1f;border-color:#c75cff38}.encounter-chip-normal{background:#89a1ff1a;border-color:#89a1ff29}.combat-float{animation:.95s forwards hitSparkBurst}.combat-float-crit{color:gold;text-shadow:0 0 14px #ffd70099}.combat-float-heavy{color:#fff5de;text-shadow:0 0 18px #ffdca094}.combat-float-kill{color:#ff8b6a;text-shadow:0 0 18px #ff5f4da6}.combat-float-heal{color:#7dffbb;text-shadow:0 0 14px #7dffbb7a}.combat-float-shield{color:#91c4ff;text-shadow:0 0 14px #91c4ff7a}.low-hp-pulse{animation:1.2s ease-in-out infinite hpDangerPulse}.summary-medal{animation:.52s cubic-bezier(.2,.9,.2,1) forwards summaryMedalSpin}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{border-radius:var(--radius-full);background:#ffffff26}::-webkit-scrollbar-thumb:hover{background:#ffffff40}
