:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;min-width:320px;min-height:100dvh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media (prefers-color-scheme: light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}:root{--bg-horizon: radial-gradient(1200px 600px at 50% 0%, #2a2a4a 0%, #141428 60%, #0d0d18 100%);--surface-glass: rgba(255, 255, 255, .06);--surface-glass-strong: rgba(255, 255, 255, .12);--surface-overlay: rgba(12, 16, 32, .68);--border-soft: rgba(255, 255, 255, .16);--border-strong: rgba(130, 180, 255, .65);--accent-primary: #82b4ff;--accent-secondary: #f6a9ff;--text-primary: #ffffff;--text-secondary: rgba(255, 255, 255, .85);--fx-duration-short: .18s;--fx-duration-medium: .36s;--fx-ease-snappy: cubic-bezier(.18, .9, .32, 1.08);--tap-min-size: clamp(56px, 6vh, 72px);--tap-pad-block: clamp(12px, 1.6vw, 20px);--tap-pad-inline: clamp(22px, 2.8vw, 32px);--tap-font: clamp(16px, 1.6vw, 20px);--display-font-lg: clamp(28px, 4vw, 48px)}body{background-color:#0d0d18;color:var(--text-primary);min-height:100dvh;touch-action:manipulation;overscroll-behavior:none}.sky-gradient{background:var(--bg-horizon)}.glass-card{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid var(--border-soft);background:linear-gradient(140deg,#ffffff14,#ffffff05);transition:transform var(--fx-duration-short) var(--fx-ease-snappy),box-shadow var(--fx-duration-short) ease,border-color var(--fx-duration-short) ease}.glass-card:hover{transform:translateY(-3px) scale(1.01);box-shadow:0 18px 38px #00000059;border-color:var(--border-strong)}.fx-pulse{animation:fx-pulse 2.4s ease-in-out infinite}.fx-pulse-once{animation:fx-pulse-once var(--fx-duration-medium) ease forwards}.fx-drift{position:relative;overflow:hidden}.fx-drift:after{content:"";position:absolute;top:-40%;right:-40%;bottom:-40%;left:-40%;background:conic-gradient(from 0deg,#ffffff38,#fff0,#ffffff38,#fff0 360deg);opacity:.25;animation:fx-drift-spin 18s linear infinite}.fx-hover-trail{position:relative;overflow:hidden}.fx-hover-trail:before{content:"";position:absolute;top:-60%;right:-60%;bottom:-60%;left:-60%;background:linear-gradient(120deg,#82b4ff0d,#82b4ff66,#82b4ff0d);transform:translate(-80%) skew(-18deg);animation:fx-hover-trail var(--fx-duration-medium) var(--fx-ease-snappy) forwards}@keyframes fx-pulse{0%{box-shadow:0 0 #82b4ff33}50%{box-shadow:0 0 32px #82b4ff59}to{box-shadow:0 0 #82b4ff33}}@keyframes fx-pulse-once{0%{box-shadow:0 0 #82b4ff2e}50%{box-shadow:0 0 32px #82b4ff66}to{box-shadow:0 0 #82b4ff2e}}@keyframes fx-drift-spin{0%{transform:rotate(0)}50%{transform:rotate(180deg)}to{transform:rotate(360deg)}}@keyframes fx-hover-trail{0%{transform:translate(-80%) skew(-12deg);opacity:0}40%{opacity:.45}to{transform:translate(120%) skew(-12deg);opacity:0}}[data-highlight=true]{box-shadow:0 0 #82b4ff73;animation:fx-highlight 1.6s ease-in-out infinite}@keyframes fx-highlight{0%{box-shadow:0 0 #82b4ff73}70%{box-shadow:0 0 0 12px #82b4ff00}to{box-shadow:0 0 #82b4ff00}}.deck-editor-layout{width:100%;height:100%;display:flex;flex-direction:column;gap:1rem;padding:1rem;background:linear-gradient(170deg,#080e1cf0,#040612fa);border-radius:1.5rem;border:1px solid rgba(130,180,255,.22);box-shadow:0 26px 70px #0000008c;overflow:hidden}.deck-editor-main{display:flex;gap:1rem;min-height:0;flex:1}.card-list-section{flex:3;display:flex;flex-direction:column;gap:1rem;min-width:0;background:#ffffff08;border:1px solid rgba(255,255,255,.12);border-radius:1.5rem;padding:1.25rem}.deck-section{flex:2;display:flex;flex-direction:column;gap:1rem;min-width:0;background:#00000040;border:1px solid rgba(255,255,255,.12);border-radius:1.5rem;padding:1.25rem}.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:.75rem;overflow-y:auto;flex:1;padding-right:.5rem}.deck-grid{display:grid;grid-template-columns:1fr;gap:.5rem;overflow-y:auto;flex:1;padding-right:.5rem}.cost-curve-container{padding:1rem;background:#0003;border-radius:.5rem}.battle-layout{width:100%;height:100%;display:flex;background:linear-gradient(180deg,#080e20f5,#040612fa);border-radius:1.5rem;border:1px solid rgba(130,180,255,.18);box-shadow:0 30px 80px #000000a6;overflow:hidden}.battle-main{flex:1;display:flex;flex-direction:column;padding:1.5rem;gap:1rem;min-width:0}.battle-sidebar{width:320px;background:#00000040;border-left:1px solid rgba(255,255,255,.12);padding:1.5rem;display:flex;flex-direction:column;gap:1rem;overflow-y:auto}.battle-header{display:grid;grid-template-columns:1fr auto 1fr;gap:1.5rem;align-items:center}.field-row-container{flex:1;display:flex;flex-direction:column;gap:1rem;justify-content:center}.compact-card-field{display:flex;flex-direction:column;align-items:center;gap:4px;border-radius:8px;padding:8px;background:#0006;border:1px solid rgba(255,255,255,.12);min-width:80px}.compact-card-field img{width:60px;height:60px;object-fit:cover;border-radius:4px}.compact-card-stats{display:flex;justify-content:space-around;width:100%;font-size:14px;font-weight:700}.compact-card-attack{color:#fdd}.compact-card-strike{color:#ddf}.compact-card-hand{display:flex;align-items:center;gap:8px;padding:8px;border-radius:8px;background:#00000059;border:1px solid rgba(255,255,255,.18);min-width:150px;color:#fff}.compact-card-hand img{width:40px;height:40px;object-fit:cover;border-radius:4px}.battle-footer{display:flex;align-items:flex-end;gap:1rem}.card-tooltip{position:fixed;width:280px;padding:12px;background:#0c1220f2;border:1px solid rgba(255,255,255,.25);border-radius:12px;box-shadow:0 12px 32px #00000080;z-index:100;pointer-events:none;display:flex;flex-direction:column;gap:8px}.card-tooltip-header{font-weight:700;font-size:16px}.card-tooltip-stats{font-size:14px;opacity:.85}.card-tooltip-effects{font-size:13px;line-height:1.5}
