:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:dark;color:#ffffffde;background-color:#0a0a0f;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;min-width:320px;min-height:100vh}:root{--sp-card-bg: #1a1a2a;--sp-card-border: #2a2a3a;--sp-card-radius: 8px;--sp-card-content-bg: linear-gradient(135deg, #1a1a2a 0%, #0a0a15 100%);--sp-sleeve-gradient: linear-gradient(90deg, #a855f7, #6366f1);--sp-animal-gradient: linear-gradient(90deg, #22c55e, #16a34a);--sp-equipment-gradient: linear-gradient(90deg, #fbbf24, #d97706);--sp-sleeve-color: #c084fc;--sp-animal-color: #86efac;--sp-equipment-color: #fcd34d;--sp-damage-color: #f87171;--sp-health-color: #4ade80;--sp-initiative-color: #c084fc;--sp-effect-color: #93c5fd;--sp-modifier-color: #fcd34d;--sp-fg-bg: rgba(99, 102, 241, .2);--sp-fg-border: rgba(99, 102, 241, .4);--sp-fg-color: #a5b4fc;--sp-bg-opacity: .55;--sp-bg-border-color: rgba(255, 255, 255, .22);--sp-bg-color: #94a3b8;--sp-tooltip-bg: #1e1e2e;--sp-tooltip-border: #3a3a4a;--sp-tooltip-shadow: 0 4px 12px rgba(0, 0, 0, .5);--sp-table-bg: #0a0a0f;--sp-table-header-bg: #151520;--sp-table-border: #1a1a2a}.sp-mini-card-display{display:flex;flex-direction:column;width:100%}.sp-mini-card-label{padding:.2rem .3rem;text-align:center;font-size:.55rem;font-weight:700;letter-spacing:.08em;color:#666;background:var(--sp-table-header-bg);border-radius:4px 4px 0 0;flex-shrink:0}.sp-fallback-sleeve .sp-mini-card-label{background:var(--sp-sleeve-gradient);color:#fff}.sp-fallback-animal .sp-mini-card-label{background:var(--sp-animal-gradient);color:#fff}.sp-fallback-equipment .sp-mini-card-label{background:var(--sp-equipment-gradient);color:#fff}.sp-mini-card-content{position:relative;aspect-ratio:2 / 3;background:var(--sp-card-content-bg);border:1px solid var(--sp-card-border);border-top:none;border-radius:0 0 4px 4px;overflow:hidden}.sp-mini-card-image{width:100%;height:100%;object-fit:cover;display:block}.sp-mini-card-placeholder{width:100%;height:100%}.sp-mini-card-overlay{position:absolute;inset:0;display:grid;grid-template-rows:1fr 1fr 1fr;padding:.2rem;pointer-events:none}.sp-mini-card-top{display:flex;align-items:flex-start;justify-content:center}.sp-mini-card-middle{display:flex;align-items:center;justify-content:center}.sp-mini-card-effect{font-size:.5rem;font-weight:700;color:var(--sp-effect-color);text-align:center;background:#000000bf;padding:.15rem .2rem;border-radius:3px;line-height:1.25;text-shadow:0 1px 2px #000}.sp-mini-card-modifier{font-size:.6rem;font-weight:700;color:var(--sp-modifier-color);text-align:center;background:#000000bf;padding:.15rem .25rem;border-radius:3px;text-shadow:0 1px 2px #000}.sp-mini-card-stats{display:grid;grid-template-columns:1fr auto 1fr;align-items:flex-end;gap:.15rem}.sp-mini-card-stats .sp-mini-stat.damage{justify-self:start}.sp-mini-card-stats .sp-mini-stat.initiative{justify-self:center}.sp-mini-card-stats .sp-mini-stat.health{justify-self:end}.sp-mini-stat{font-size:.7rem;font-weight:700;padding:.1rem .2rem;border-radius:2px;background:#000000b3;text-shadow:0 1px 2px #000;min-width:1rem;text-align:center}.sp-mini-stat.damage{color:var(--sp-damage-color)}.sp-mini-stat.initiative{color:var(--sp-initiative-color)}.sp-mini-stat.health{color:var(--sp-health-color)}.sp-stat-source-fg{border-left:2px solid var(--sp-fg-border);background:var(--sp-fg-bg)!important}.sp-stat-source-bg{opacity:var(--sp-bg-opacity);border-left:2px solid var(--sp-bg-border-color)}.sp-card-stats-fallback{width:100%;display:flex;flex-direction:column;overflow:hidden}.sp-card-stats-fallback.large{min-height:300px}.sp-fallback-label{padding:.25rem;text-align:center;font-size:.6rem;font-weight:700;letter-spacing:.1em;color:#fff}.sp-fallback-sleeve .sp-fallback-label{background:var(--sp-sleeve-gradient)}.sp-fallback-animal .sp-fallback-label{background:var(--sp-animal-gradient)}.sp-fallback-equipment .sp-fallback-label{background:var(--sp-equipment-gradient)}.sp-fallback-grid{flex:1;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr 1fr;gap:1px;background:#111}.sp-fallback-empty-grid{display:flex;align-items:center;justify-content:center;background:#111;color:#444;font-size:.7rem;min-height:60px}.sp-grid-top{grid-column:1 / -1;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#0d0d15;padding:.25rem;gap:.1rem}.sp-grid-middle{grid-column:1 / -1;display:flex;align-items:center;justify-content:center;background:#0d0d15;padding:.25rem}.sp-grid-bottom-left,.sp-grid-bottom-right{display:flex;flex-direction:column;align-items:center;justify-content:center;background:#0d0d15;padding:.25rem}.sp-empty-cell{background:#0a0a10!important}.sp-fg-stat{background:#6366f114!important;border-left:2px solid var(--sp-fg-border)}.sp-bg-stat{opacity:var(--sp-bg-opacity);border-left:2px solid var(--sp-bg-border-color)}.sp-effect-trigger{font-size:.45rem;font-weight:700;color:var(--sp-effect-color);text-transform:uppercase;letter-spacing:.05em}.sp-effect-action{font-size:.5rem;color:#ccc}.sp-modifier-display{font-size:.6rem;font-weight:700;color:var(--sp-modifier-color)}.sp-initiative-display{font-size:.6rem;font-weight:700;color:var(--sp-initiative-color)}.sp-card-stats-fallback .sp-stat-value{font-size:1.2rem;font-weight:700}.sp-grid-bottom-left .sp-stat-value{color:var(--sp-damage-color)}.sp-grid-bottom-right .sp-stat-value{color:var(--sp-health-color)}.sp-card-stats-fallback .sp-stat-label{font-size:.45rem;color:#888;text-transform:uppercase;letter-spacing:.05em}.sp-stats-overlay{position:absolute;inset:0;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:auto 1fr auto auto;padding:.25rem;pointer-events:none;z-index:50}.sp-overlay-header{grid-column:1 / -1;background:#000000bf;color:#fff;font-size:.65rem;font-weight:600;padding:.2rem .4rem;border-radius:4px;text-align:center;margin-bottom:.15rem}.sp-overlay-cell{display:flex;align-items:center;justify-content:center}.sp-overlay-top{grid-column:1 / -1;display:flex;align-items:flex-start;justify-content:center}.sp-overlay-middle{grid-column:1 / -1;display:flex;align-items:center;justify-content:center}.sp-overlay-bottom-left{display:flex;align-items:flex-end;justify-content:flex-start}.sp-overlay-bottom-right{display:flex;align-items:flex-end;justify-content:flex-end}.sp-overlay-effect{background:#000000bf;color:var(--sp-effect-color);font-size:.55rem;font-weight:600;padding:.15rem .3rem;border-radius:3px;text-shadow:0 1px 2px #000}.sp-overlay-modifier{background:#000000bf;color:var(--sp-modifier-color);font-size:.6rem;font-weight:700;padding:.15rem .3rem;border-radius:3px;text-shadow:0 1px 2px #000}.sp-overlay-initiative{background:#000000bf;color:var(--sp-initiative-color);font-size:.6rem;font-weight:700;padding:.15rem .3rem;border-radius:3px;text-shadow:0 1px 2px #000}.sp-overlay-damage{background:#000000bf;color:var(--sp-damage-color);font-size:1rem;font-weight:700;padding:.2rem .4rem;border-radius:3px;text-shadow:0 1px 2px #000}.sp-overlay-health{background:#000000bf;color:var(--sp-health-color);font-size:1rem;font-weight:700;padding:.2rem .4rem;border-radius:3px;text-shadow:0 1px 2px #000}.sp-fg-text{opacity:1}.sp-fg-text .sp-overlay-effect,.sp-fg-text .sp-overlay-modifier,.sp-fg-text .sp-overlay-initiative,.sp-fg-text .sp-overlay-damage,.sp-fg-text .sp-overlay-health{border-left:2px solid var(--sp-fg-border)}.sp-bg-text{opacity:var(--sp-bg-opacity)}.sp-bg-text .sp-overlay-effect,.sp-bg-text .sp-overlay-modifier,.sp-bg-text .sp-overlay-initiative,.sp-bg-text .sp-overlay-damage,.sp-bg-text .sp-overlay-health{border-left:2px solid var(--sp-bg-border-color)}.sp-composed-card-preview{margin-bottom:1rem}.sp-composed-card-frame{position:relative;width:100%;max-width:200px;margin:0 auto;aspect-ratio:2 / 3;background:var(--sp-card-content-bg);border:2px solid var(--sp-card-border);border-radius:12px;overflow:hidden}.sp-composed-card-empty{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:#444;font-size:.85rem;text-align:center;padding:1rem}.sp-composed-card-layers{position:relative;width:100%;height:100%}.sp-composed-layer{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover}.sp-layer-sleeve{z-index:10}.sp-layer-animal{z-index:20}.sp-composed-stats-overlay{position:absolute;inset:0;z-index:100;display:flex;flex-direction:column;justify-content:space-between;padding:.5rem;pointer-events:none}.sp-composed-overlay-top,.sp-composed-overlay-middle{display:flex;justify-content:center}.sp-composed-overlay-bottom{display:flex;justify-content:space-between;align-items:flex-end}.sp-composed-effect{background:#000c;color:var(--sp-effect-color);font-size:.65rem;font-weight:600;padding:.25rem .5rem;border-radius:4px;text-align:center;max-width:90%;text-shadow:0 1px 2px #000}.sp-composed-modifier{background:#000c;color:var(--sp-modifier-color);font-size:.75rem;font-weight:700;padding:.25rem .5rem;border-radius:4px;text-shadow:0 1px 2px #000}.sp-composed-stat{background:#000c;font-size:1.25rem;font-weight:700;padding:.25rem .5rem;border-radius:4px;min-width:2rem;text-align:center;text-shadow:0 1px 2px #000}.sp-composed-stat.damage{color:var(--sp-damage-color)}.sp-composed-stat.initiative{color:var(--sp-initiative-color);font-size:.9rem}.sp-composed-stat.health{color:var(--sp-health-color)}.sp-composed-card-labels{display:flex;flex-direction:column;align-items:center;gap:.15rem;margin-top:.5rem;font-size:.7rem}.sp-composed-card-label{font-size:.75rem;color:#888;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.25rem;text-align:center}.sp-label-sleeve{color:var(--sp-sleeve-color)}.sp-label-animal{color:var(--sp-animal-color)}.sp-label-equipment{color:var(--sp-equipment-color)}.combat-display .sp-composed-card-preview{flex:1;max-width:280px}.combat-display .sp-composed-card-frame{max-width:100%;width:100%}.combat-display .sp-composed-stat{font-size:1.5rem;padding:.4rem .75rem;min-width:2.5rem}.combat-display .sp-composed-stat.initiative{font-size:1.1rem}.combat-display .sp-composed-effect{font-size:.75rem;padding:.35rem .6rem}.combat-display .sp-composed-modifier{font-size:.9rem;padding:.35rem .6rem}.combat-display .sp-composed-card-labels{font-size:.85rem;margin-top:.75rem;gap:.25rem}.sp-outcome-survived .sp-composed-card-frame{border-color:#22c55e;box-shadow:0 0 20px #22c55e66}.sp-outcome-destroyed .sp-composed-card-frame{border-color:#ef4444;box-shadow:0 0 20px #ef444466}.sp-outcome-overlay{position:absolute;inset:0;z-index:110;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#0009;border-radius:10px}.sp-outcome-status{font-size:1.1rem;font-weight:700;letter-spacing:.1em}.sp-outcome-overlay.survived .sp-outcome-status{color:#4ade80}.sp-outcome-overlay.destroyed .sp-outcome-status{color:#f87171}.sp-outcome-hp{font-size:.85rem;color:#ccc;margin-top:.25rem}.sp-effect-result{display:flex;align-items:center;gap:.35rem;justify-content:center;font-size:.7rem;padding:.25rem .5rem;margin-bottom:.5rem;border-radius:4px}.sp-effect-triggered{background:#22c55e26;color:#4ade80}.sp-effect-not-triggered{background:#ef444426;color:#f87171}.sp-effect-icon{font-weight:700;font-size:.8rem}.sp-effect-check{color:#4ade80;font-weight:700}.sp-stat-attribution-table-container{margin-bottom:1rem;background:var(--sp-table-bg);border-radius:6px;overflow-x:auto;-webkit-overflow-scrolling:touch}.sp-stat-attribution-table{width:100%;table-layout:fixed;border-collapse:collapse;font-size:.7rem}.sp-stat-attribution-table th{text-align:left;padding:.3rem .25rem;background:var(--sp-table-header-bg);color:#888;font-weight:600;font-size:.6rem;text-transform:uppercase;letter-spacing:.05em;white-space:nowrap}.sp-stat-attribution-table td{padding:.25rem;border-bottom:1px solid var(--sp-table-border);white-space:nowrap}.sp-stat-attribution-table tbody tr:last-child td{border-bottom:none}.sp-stat-cell{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sp-stat-cell.sp-layer-name{font-weight:500;color:#ccc;max-width:70px;overflow:hidden;text-overflow:ellipsis}.sp-stat-cell.sp-empty{color:#444}.sp-stat-cell.sp-active{font-weight:600}.sp-stat-cell.sp-overwritten{text-decoration:line-through;opacity:.5}.sp-stat-cell.damage.sp-active{color:var(--sp-damage-color)}.sp-stat-cell.health.sp-active{color:var(--sp-health-color)}.sp-stat-cell.initiative.sp-active{color:var(--sp-initiative-color)}.sp-stat-cell.effect.sp-active{color:var(--sp-effect-color)}.sp-stat-cell.modifier.sp-active{color:var(--sp-modifier-color)}.sp-stat-cell.sp-remove{width:1.5rem;text-align:center;padding:.25rem}.sp-layer-row.sp-layer-sleeve_bg .sp-layer-name,.sp-layer-row.sp-layer-sleeve_fg .sp-layer-name{color:var(--sp-sleeve-color)}.sp-layer-row.sp-layer-animal .sp-layer-name{color:var(--sp-animal-color)}.sp-layer-row.sp-layer-equipment .sp-layer-name{color:var(--sp-equipment-color)}.sp-layer-row.sp-layer-sleeve_fg{background:#a855f70d}.sp-layer-row.sp-layer-persistent .sp-layer-name{color:#60a5fa;font-style:italic}.sp-layer-row.sp-layer-initiative_mod .sp-layer-name{color:var(--sp-initiative-color);font-style:italic}.sp-layer-row.sp-layer-persistent,.sp-layer-row.sp-layer-initiative_mod{background:#60a5fa0d}.sp-stat-cell.sp-additive{font-style:italic}.sp-col-layer{width:75px;max-width:75px}.sp-col-effect{width:70px;max-width:70px}.sp-col-modifier{width:48px;max-width:48px}.sp-col-damage,.sp-col-health,.sp-col-init{width:28px;text-align:center;padding-left:.15rem;padding-right:.15rem}.sp-stat-attribution-table td.damage,.sp-stat-attribution-table td.health,.sp-stat-attribution-table td.initiative{text-align:center}.sp-col-remove{width:24px;padding:0;text-align:center}.sp-remove-btn{background:none;border:none;color:#666;font-size:1rem;cursor:pointer;padding:0;line-height:1}.sp-remove-btn:hover{color:#f87171}.sp-stat-attribution-empty{padding:1rem;text-align:center;color:#555;font-size:.8rem}.sp-stats-display{margin-bottom:.75rem}.sp-stats-display h4{margin:0 0 .4rem;font-size:.75rem;text-transform:uppercase;letter-spacing:.05em}.sp-stats-label-fg{color:var(--sp-fg-color)!important}.sp-stats-label-bg{color:var(--sp-bg-color)!important;opacity:var(--sp-bg-opacity)}.sp-stats-row{display:flex;gap:1rem;margin-bottom:.4rem}.sp-stats-display .sp-stat{display:flex;flex-direction:column;gap:.15rem}.sp-stats-display .sp-stat-label{font-size:.65rem;color:#888;text-transform:uppercase}.sp-stats-display .sp-stat-value{font-size:1rem;font-weight:600}.sp-stats-display .sp-stat-value.damage{color:var(--sp-damage-color)}.sp-stats-display .sp-stat-value.initiative{color:var(--sp-initiative-color)}.sp-stats-display .sp-stat-value.health{color:var(--sp-health-color)}.sp-stat-effect{display:flex;gap:.5rem;align-items:baseline;font-size:.8rem;padding:.25rem 0}.sp-stat-effect .sp-stat-label{color:#888;font-size:.7rem}.sp-stat-effect .sp-stat-value{color:#ccc}.sp-card-detail-view{display:flex;gap:1.5rem}.sp-card-detail-image{flex:0 0 auto;width:250px}.sp-card-detail-image img{width:100%;aspect-ratio:2 / 3;object-fit:cover;border-radius:var(--sp-card-radius)}.sp-card-detail-info{flex:1;min-width:0}.sp-card-type{display:inline-block;padding:.125rem .5rem;font-size:.65rem;border-radius:4px;text-transform:uppercase;font-weight:600}.sp-type-sleeve{background:#a855f733;color:var(--sp-sleeve-color)}.sp-type-animal{background:#22c55e33;color:var(--sp-animal-color)}.sp-type-equipment{background:#fbbf2433;color:var(--sp-equipment-color)}.sp-card-description{color:#aaa;font-size:.875rem;margin:.5rem 0;line-height:1.4}.sp-card-tooltip-wrapper{position:relative;display:inline-block}.sp-card-tooltip{position:fixed;z-index:10000;background:var(--sp-tooltip-bg);border:1px solid var(--sp-tooltip-border);border-radius:8px;box-shadow:var(--sp-tooltip-shadow);padding:.75rem;min-width:220px;max-width:320px;animation:sp-tooltip-fade-in .15s ease-out;pointer-events:none}@keyframes sp-tooltip-fade-in{0%{opacity:0}to{opacity:1}}.sp-card-tooltip-content .sp-tooltip-header,.sp-composed-tooltip-content .sp-tooltip-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem}.sp-tooltip-name{font-weight:600;font-size:.85rem}.sp-tooltip-description{color:#888;font-size:.75rem;margin:.5rem 0 0;line-height:1.3}.sp-tooltip-layers{font-size:.7rem;color:#888;margin-bottom:.5rem}.sp-tooltip-stats{display:flex;gap:.75rem;margin-bottom:.5rem}.sp-tooltip-stat{display:flex;flex-direction:column;align-items:center;gap:.1rem}.sp-tooltip-stat .sp-stat-label{font-size:.55rem;color:#888;text-transform:uppercase}.sp-tooltip-stat .sp-stat-value{font-size:.9rem;font-weight:700}.sp-tooltip-stat .sp-stat-value.damage{color:var(--sp-damage-color)}.sp-tooltip-stat .sp-stat-value.health{color:var(--sp-health-color)}.sp-tooltip-stat .sp-stat-value.initiative{color:var(--sp-initiative-color)}.sp-tooltip-effect,.sp-tooltip-modifier{font-size:.7rem;padding:.15rem 0}.sp-tooltip-effect{color:var(--sp-effect-color)}.sp-tooltip-modifier{color:var(--sp-modifier-color)}.sp-sleeve-tooltip-stats{display:flex;flex-direction:column;gap:.5rem}.sp-sleeve-tooltip-stats .sp-stats-display-fg{border-left:2px solid var(--sp-fg-border);background:#6366f10f;padding:.3rem .5rem;border-radius:0 4px 4px 0}.sp-sleeve-tooltip-stats .sp-stats-display-bg{border-left:2px solid var(--sp-bg-border-color);padding:.3rem .5rem;border-radius:0 4px 4px 0;opacity:.75}.sp-sleeve-section{border-left:2px solid;padding:.3rem 0 .3rem .5rem;border-radius:0 4px 4px 0}.sp-sleeve-section-fg{border-color:var(--sp-fg-border);background:#6366f10f}.sp-sleeve-section-bg{border-color:var(--sp-bg-border-color);opacity:.7}.sp-sleeve-section-header{display:flex;align-items:baseline;gap:.4rem;margin-bottom:.2rem}.sp-sleeve-section-title{font-size:.6rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.sp-sleeve-section-fg .sp-sleeve-section-title{color:var(--sp-fg-color)}.sp-sleeve-section-bg .sp-sleeve-section-title{color:var(--sp-bg-color)}.sp-sleeve-section-hint{font-size:.5rem;color:#666;font-style:italic}.sp-sleeve-section-body{display:flex;flex-direction:column;gap:.15rem}.sp-sleeve-combat-row{display:flex;gap:.5rem;flex-wrap:wrap}.sp-sleeve-chip{font-size:.75rem;font-weight:600}.sp-sleeve-chip.damage{color:var(--sp-damage-color)}.sp-sleeve-chip.health{color:var(--sp-health-color)}.sp-sleeve-chip.initiative{color:var(--sp-initiative-color)}.sp-sleeve-effect-row{font-size:.7rem;color:var(--sp-effect-color)}.sp-sleeve-modifier-row{font-size:.7rem;color:var(--sp-modifier-color)}.sp-sleeve-section-empty{font-size:.65rem;color:#555;font-style:italic}*{box-sizing:border-box}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:#0a0a0f;color:#e0e0e0}#root{min-height:100vh}.auth-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;padding:2rem;text-align:center}.auth-container h1{font-size:2.5rem;margin-bottom:.5rem;background:linear-gradient(135deg,#6366f1,#a855f7);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.auth-container .tagline{color:#888;margin-bottom:2rem;max-width:400px}.auth-buttons{display:flex;flex-direction:column;gap:1rem}.auth-buttons button{min-width:200px}.loading{display:flex;align-items:center;justify-content:center;min-height:100vh;color:#888;font-size:1.25rem}.app-layout{min-height:100vh;display:flex;flex-direction:column}.app-header{background:linear-gradient(180deg,#151520,#0a0a0f);border-bottom:1px solid #2a2a3a;width:100%}.app-header-content{display:flex;align-items:center;gap:2rem;padding:1rem 2rem;max-width:1200px;margin:0 auto;width:100%}.app-header h1{font-size:1.25rem;margin:0;white-space:nowrap;background:linear-gradient(135deg,#6366f1,#a855f7);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.main-nav{display:flex;gap:.5rem}.main-nav a{padding:.5rem 1rem;color:#888;text-decoration:none;border-radius:4px;transition:all .2s}.main-nav a:hover{background:#2a2a3a;color:#fff}.main-nav a.active{background:linear-gradient(135deg,#6366f1,#a855f7);color:#fff}.user-info{margin-left:auto;display:flex;align-items:center;gap:.5rem}.profile-btn{display:flex;align-items:center;gap:.5rem;padding:.375rem .625rem;border-radius:6px;text-decoration:none;color:#ccc;transition:background .2s,color .2s;white-space:nowrap}.profile-btn:hover,.profile-btn.active{background:#2a2a3a;color:#fff}.profile-btn .avatar{width:28px;height:28px;border-radius:50%;flex-shrink:0}.profile-btn .username{font-size:.9rem;min-width:5rem;max-width:9rem;overflow:hidden;text-overflow:ellipsis}.nav-menu{position:relative}.nav-menu-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:#2a2a3a;color:#ccc;border:none;border-radius:6px;cursor:pointer;font-size:1rem;transition:background .2s,color .2s}.nav-menu-btn:hover,.nav-menu-btn.open{background:#3a3a4a;color:#fff}.nav-dropdown{position:absolute;top:calc(100% + 8px);right:0;min-width:160px;background:#1a1a2a;border:1px solid #2a2a3a;border-radius:8px;box-shadow:0 8px 24px #0006;z-index:100;overflow:hidden;display:flex;flex-direction:column}.nav-dropdown a,.nav-dropdown button{display:block;width:100%;padding:.65rem 1rem;text-align:left;font-size:.9rem;color:#ccc;text-decoration:none;background:none;border:none;cursor:pointer;transition:background .15s,color .15s}.nav-dropdown a:hover,.nav-dropdown button:hover{background:#2a2a3a;color:#fff}.nav-dropdown a.active{color:#818cf8}.nav-dropdown-divider{height:1px;background:#2a2a3a;margin:.25rem 0}.app-main{flex:1;padding:2rem;max-width:1200px;margin:0 auto;width:100%}.btn{padding:.75rem 1.5rem;font-size:1rem;border:none;border-radius:6px;cursor:pointer;text-decoration:none;display:inline-block;background:#2a2a3a;color:#fff;transition:all .2s}.btn:hover{background:#3a3a4a}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:linear-gradient(135deg,#6366f1,#a855f7);color:#fff}.btn-primary:hover{opacity:.9}.btn-large{padding:1rem 2rem;font-size:1.25rem}.btn-small{padding:.4rem .75rem;font-size:.85rem}.btn-surrender{background:transparent;color:#888;border:none;font-size:.8rem;padding:.25rem .5rem}.btn-surrender:hover{background:transparent;color:#f87171;text-decoration:underline}.badge{display:inline-block;padding:.25rem .5rem;font-size:.7rem;border-radius:4px;text-transform:uppercase;font-weight:600}.badge.guest{background:#4a4a5a;color:#aaa}.alert{padding:1rem;border-radius:8px;margin-bottom:1rem}.alert-info{background:#6366f126;border:1px solid rgba(99,102,241,.3);color:#a5b4fc}.alert-warning{background:#fbbf2426;border:1px solid rgba(251,191,36,.3);color:#fcd34d}.alert-error{background:#ef444426;border:1px solid rgba(239,68,68,.3);color:#fca5a5}.alert-success{background:#22c55e26;border:1px solid rgba(34,197,94,.3);color:#86efac}.error{color:#fca5a5}.home-page{text-align:center}.home-page .alert{max-width:600px;margin:1.5rem auto 0}.hero{margin-bottom:2rem}.hero h2{font-size:2rem;margin-bottom:1rem}.hero .splash-image{max-width:400px;width:100%;height:auto;margin:1rem auto;display:block;border-radius:12px}.hero .tagline{color:#888;font-size:1.1rem}.action-buttons{margin-bottom:2rem}.home-onboarding{max-width:480px;margin:0 auto 2rem;background:#1a1a2a;border:1px solid #2a2a3a;border-radius:12px;padding:1.5rem;text-align:left}.home-onboarding h3{margin:0 0 .5rem;font-size:1rem;color:#e2e2f0}.home-onboarding p{margin:0 0 1rem;color:#888;font-size:.9rem}.home-onboarding-actions{display:flex;gap:.75rem;flex-wrap:wrap}.home-section{max-width:600px;margin:0 auto 2rem;text-align:left}.home-section h3{font-size:1rem;color:#888;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.75rem}.home-list{display:flex;flex-direction:column;gap:.5rem}.home-list-item{display:flex;align-items:center;gap:1rem;background:#1a1a2a;border-radius:8px;padding:1rem;border:1px solid #2a2a3a}.home-list-item.clickable{cursor:pointer;transition:all .2s}.home-list-item.clickable:hover{border-color:#6366f1;transform:translate(4px)}.home-item-main{flex:1;display:flex;flex-direction:column;gap:.25rem}.home-item-title{font-weight:500;color:#fff}.home-item-subtitle{font-size:.8rem;color:#666}.home-item-stats{text-align:right}.home-item-stats .score-display{font-size:1.25rem;font-weight:700;background:linear-gradient(135deg,#6366f1,#a855f7);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.home-item-actions{display:flex;gap:.5rem}.home-item-status{display:flex;align-items:center}.spinner-small{width:20px;height:20px;border:2px solid #2a2a3a;border-top-color:#6366f1;border-radius:50%;animation:spin 1s linear infinite}.surrender-modal{max-width:400px;padding:1.5rem;text-align:center}.surrender-modal h3{margin:0 0 1rem;color:#f87171}.surrender-modal p{color:#888;margin-bottom:1.5rem}.modal-actions{display:flex;gap:1rem;justify-content:center}.modal-actions .btn{min-width:120px}.quick-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem;max-width:600px;margin:2rem auto}.stat-card{background:#1a1a2a;padding:1.5rem;border-radius:12px;border:1px solid #2a2a3a}.rank-stat-card{cursor:pointer;transition:border-color .2s,box-shadow .2s}.rank-stat-card:hover{border-color:#6366f1;box-shadow:0 4px 16px #6366f133}.stat-card h3,.stat-card h4{margin:0 0 .5rem;color:#888;font-size:.85rem;text-transform:uppercase}.stat-card .stat-value{font-size:2rem;font-weight:700;margin:0;background:linear-gradient(135deg,#6366f1,#a855f7);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.cards-page h2{margin-bottom:.5rem}.page-description{color:#888;margin-bottom:1.5rem}.filter-tabs{display:flex;gap:.5rem;margin-bottom:1.5rem;flex-wrap:wrap}.tab{padding:.5rem 1rem;background:#1a1a2a;color:#888;border:1px solid #2a2a3a;border-radius:6px;cursor:pointer;transition:all .2s}.tab:hover{background:#2a2a3a;color:#fff}.tab.active{background:linear-gradient(135deg,#6366f1,#a855f7);border-color:transparent;color:#fff}.card-section{margin-bottom:2rem}.card-section h3{margin-bottom:1rem;color:#aaa;font-size:1rem;text-transform:uppercase;letter-spacing:.05em}.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:1rem}.card-item{background:#1a1a2a;border-radius:12px;overflow:hidden;cursor:pointer;transition:all .2s;border:1px solid #2a2a3a}.card-item:hover{transform:translateY(-4px);border-color:#6366f1;box-shadow:0 8px 24px #6366f133}.card-image-container{position:relative;width:100%;aspect-ratio:2 / 3;background:#0a0a0f}.card-image{width:100%;height:100%;object-fit:cover;background:#0a0a0f}.card-stats-overlay{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:space-between;padding:.5rem;pointer-events:none}.overlay-header{background:#000000bf;color:#fff;font-size:.75rem;font-weight:600;padding:.25rem .5rem;border-radius:4px;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.overlay-top{text-align:center}.overlay-effect{display:inline-block;background:#000000bf;color:#fbbf24;font-size:.65rem;padding:.2rem .4rem;border-radius:4px;font-weight:500}.overlay-middle{text-align:center}.overlay-modifier,.overlay-initiative{display:inline-block;background:#000000bf;font-size:.75rem;padding:.2rem .4rem;border-radius:4px;font-weight:600}.overlay-modifier{color:#a78bfa}.overlay-initiative{color:#60a5fa}.overlay-bottom{display:grid;grid-template-columns:1fr 1fr 1fr;gap:.25rem}.overlay-stat{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;background:#000000a6;border-radius:4px;padding:.25rem;min-height:2.5rem}.overlay-stat .stat-value{font-size:1.25rem;font-weight:700}.overlay-stat .stat-label{font-size:.5rem;font-weight:600;letter-spacing:.05em;opacity:.8}.overlay-stat.damage{color:#f87171}.overlay-stat.initiative{color:#60a5fa}.overlay-stat.health{color:#4ade80}.card-image-placeholder{width:100%;aspect-ratio:2 / 3;display:flex;align-items:center;justify-content:center;background:#0a0a0f;color:#444;font-size:.875rem}.card-image-placeholder.large{aspect-ratio:2 / 3;min-height:300px;font-size:1rem}.card-info{padding:1rem}.card-info h4{margin:.5rem 0;font-size:1rem}.card-type{display:inline-block;padding:.125rem .5rem;font-size:.65rem;border-radius:4px;text-transform:uppercase;font-weight:600}.type-sleeve{background:#a855f733;color:#c084fc}.type-animal{background:#22c55e33;color:#86efac}.type-equipment{background:#fbbf2433;color:#fcd34d}.card-stats{display:flex;gap:.75rem;font-size:.75rem;color:#888}.modal-overlay{position:fixed;inset:0;background:#000c;display:flex;align-items:center;justify-content:center;padding:2rem;z-index:1000}.modal-content{background:#1a1a2a;border-radius:16px;max-width:700px;width:100%;max-height:90vh;overflow-y:auto;position:relative;border:1px solid #2a2a3a}.modal-close{position:absolute;top:1rem;right:1rem;background:none;border:none;color:#888;font-size:1.5rem;cursor:pointer;z-index:10}.modal-close:hover{color:#fff}.card-detail-layout{display:grid;grid-template-columns:200px 1fr;gap:1.5rem;padding:1.5rem}@media(max-width:600px){.card-detail-layout{grid-template-columns:1fr}}.card-detail-image img{width:100%;aspect-ratio:2 / 3;object-fit:cover;border-radius:8px}.card-detail-info h2{margin:.5rem 0}.card-description{color:#aaa;margin:1rem 0}.card-stats-detail h4{color:#888;font-size:.85rem;margin:1rem 0 .5rem;text-transform:uppercase}.stats-row{display:flex;gap:1rem}.stat{background:#0a0a0f;padding:.75rem 1rem;border-radius:8px;text-align:center;min-width:80px}.stat-label{display:block;font-size:.75rem;color:#888;margin-bottom:.25rem}.stat .stat-value{font-size:1.25rem;font-weight:700}.empty-state{text-align:center;padding:3rem;color:#666}.rules-page h2{margin-bottom:1.5rem}.rules-section{background:#1a1a2a;border-radius:12px;padding:1.5rem;margin-bottom:1rem;border:1px solid #2a2a3a}.rules-section h3{margin:0 0 1rem;color:#fff}.rules-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem}.rule-item{background:#0a0a0f;padding:1rem;border-radius:8px;text-align:center}.rule-label{display:block;font-size:.85rem;color:#888;margin-bottom:.5rem}.rule-value{font-size:1.5rem;font-weight:700;background:linear-gradient(135deg,#6366f1,#a855f7);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.rules-explanation{margin-top:1rem;color:#aaa;line-height:1.6}.rules-explanation h4{color:#fff;margin:1rem 0 .5rem}.rules-explanation ul,.rules-explanation ol{margin:.5rem 0;padding-left:1.5rem}.rules-explanation li{margin:.5rem 0}.rules-explanation-text{margin-top:.75rem;color:#aaa;line-height:1.6}.rules-detail-row{display:flex;gap:1.5rem;margin-top:.5rem;font-size:.8rem;color:#888;flex-wrap:wrap}.rules-detail-text{margin-top:.75rem;font-size:.85rem;color:#888}.meta-info{color:#666;font-size:.75rem;margin-top:1rem}.profile-page h2{margin-bottom:1.5rem}.profile-card{background:#1a1a2a;border-radius:12px;padding:1.5rem;margin-bottom:1.5rem;border:1px solid #2a2a3a}.profile-header{display:flex;align-items:center;gap:1rem;margin-bottom:1rem}.profile-avatar{width:64px;height:64px;border-radius:50%}.profile-names h3{margin:0}.profile-names .username{color:#888;font-family:monospace}.username-form,.upgrade-section{margin-top:1rem;padding-top:1rem;border-top:1px solid #2a2a3a}.upgrade-section h4{margin:0 0 .5rem}.upgrade-section ul{margin:.5rem 0 1rem;padding-left:1.25rem;color:#aaa}.form-group{margin-bottom:1rem}.form-group label{display:block;margin-bottom:.25rem;font-weight:500}.form-group input,.form-group select,.form-group textarea{width:100%;padding:.75rem;font-size:1rem;background:#0a0a0f;border:1px solid #2a2a3a;border-radius:6px;color:#e0e0e0}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:#6366f1}.form-group small{display:block;margin-top:.25rem;color:#666;font-size:.75rem}.form-actions{display:flex;gap:1rem}.stats-section h3,.account-info h3{margin-bottom:1rem}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:1rem}.stats-grid .stat-card.elo-card{display:flex;flex-direction:column}.stats-grid .stat-card.elo-card .stat-value{background:linear-gradient(135deg,#6366f1,#a855f7);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.stats-grid .leaderboard-link{margin-top:auto;padding-top:.5rem;font-size:.8rem;color:#6366f1;text-decoration:none;white-space:nowrap}.stats-grid .leaderboard-link:hover{text-decoration:underline}.account-info{background:#1a1a2a;border-radius:12px;padding:1.5rem;border:1px solid #2a2a3a;margin-top:2rem}.account-info dl{margin:0;display:grid;grid-template-columns:auto 1fr;gap:.5rem 1rem}.account-info dt{color:#888}.account-info dd{margin:0}.changelog-page-header{display:flex;align-items:baseline;gap:1rem;margin-bottom:1.5rem}.changelog-page-header h2{margin:0}.changelog-current-version{font-size:.85rem;color:#555;font-family:monospace}.changelog-group,.changelog-major-group{margin-bottom:2.5rem}.changelog-group-title{display:flex;align-items:center;gap:1rem;color:#555;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;margin:0 0 1.25rem}.changelog-group-title span{white-space:nowrap}.changelog-group-title:before,.changelog-group-title:after{content:"";flex:1;height:1px;background:#2a2a3a}.changelog-minor-group{margin-bottom:1.5rem}.changelog-minor-group:last-child{margin-bottom:0}.changelog-minor-title{display:flex;align-items:center;gap:.75rem;color:#3a3a5a;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;margin:0 0 .75rem;font-family:monospace}.changelog-minor-title span{white-space:nowrap}.changelog-minor-title:after{content:"";flex:1;height:1px;background:#1e1e30}.changelog-entries{display:flex;flex-direction:column;gap:.75rem}.changelog-entry{background:#1a1a2a;border:1px solid #2a2a3a;border-radius:12px;overflow:hidden;border-left-width:3px}.changelog-entry.category-feature{border-left-color:#6366f1}.changelog-entry.category-balance{border-left-color:#f59e0b}.changelog-entry.category-bugfix{border-left-color:#f87171}.changelog-entry.category-other{border-left-color:#555}.changelog-entry-header{width:100%;background:none;border:none;color:inherit;text-align:left;padding:1.25rem 1.5rem;cursor:pointer;display:flex;flex-direction:column;gap:.5rem}.changelog-entry-header:hover{background:#ffffff05}.changelog-entry-meta{display:flex;align-items:center;gap:.75rem}.changelog-category-badge{font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;padding:.2rem .5rem;border-radius:4px}.changelog-category-badge.category-feature{background:#6366f126;color:#818cf8}.changelog-category-badge.category-balance{background:#f59e0b26;color:#fbbf24}.changelog-category-badge.category-bugfix{background:#f8717126;color:#f87171}.changelog-category-badge.category-other{background:#88888826;color:#888}.changelog-version{font-family:monospace;font-size:.8rem;color:#555}.changelog-date{font-size:.8rem;color:#555;margin-left:auto}.changelog-entry-title-row{display:flex;align-items:center;justify-content:space-between;gap:1rem}.changelog-title{margin:0;font-size:1.05rem;font-weight:600;color:#e2e2f0}.changelog-chevron{font-size:1.4rem;color:#555;line-height:1;transform:rotate(90deg);transition:transform .2s ease,color .2s ease;flex-shrink:0}.changelog-chevron.expanded{transform:rotate(270deg);color:#888}.changelog-summary{margin:0;font-size:.9rem;color:#888;line-height:1.5}.changelog-details{border-top:1px solid #2a2a3a;padding:1.25rem 1.5rem}.changelog-details-content{font-size:.9rem;color:#aaa;line-height:1.7}.changelog-details-content p{margin:0 0 .75rem}.changelog-details-content p:last-child{margin-bottom:0}.changelog-details-content ul{margin:0 0 .75rem;padding-left:1.25rem}.changelog-details-content li{margin-bottom:.3rem}.changelog-details-content strong{color:#e2e2f0;font-weight:600}.leaderboard-page h2{margin-bottom:1.5rem}.leaderboard-info{background:#1a1a2a;border:1px solid #2a2a3a;border-radius:12px;padding:.875rem 1.25rem;margin-bottom:1.5rem;color:#aaa;font-size:.95rem}.leaderboard-info p{margin:0}.leaderboard-info strong{color:#fff}.leaderboard-info a{color:#6366f1;text-decoration:none}.leaderboard-info a:hover{text-decoration:underline}.leaderboard-info .elo-accent{background:linear-gradient(135deg,#6366f1,#a855f7);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.leaderboard-empty{background:#1a1a2a;border:1px solid #2a2a3a;border-radius:12px;padding:3rem;text-align:center;color:#888}.leaderboard-table-container{background:#1a1a2a;border:1px solid #2a2a3a;border-radius:12px;overflow:hidden}.leaderboard-table{width:100%;border-collapse:collapse}.leaderboard-table thead th{padding:.875rem 1.25rem;text-align:left;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:#888;border-bottom:1px solid #2a2a3a}.leaderboard-table thead th.col-rank,.leaderboard-table thead th.col-games,.leaderboard-table thead th.col-record,.leaderboard-table thead th.col-rating{text-align:center}.leaderboard-table tbody tr{border-bottom:1px solid #16162a;transition:background .15s}.leaderboard-table tbody tr:last-child{border-bottom:none}.leaderboard-table tbody tr:hover{background:#1f1f38}.leaderboard-table tbody tr.current-user{background:#6366f114}.leaderboard-table tbody tr.current-user:hover{background:#6366f124}.leaderboard-table td{padding:.875rem 1.25rem;vertical-align:middle}.leaderboard-table td.col-rank,.leaderboard-table td.col-games,.leaderboard-table td.col-record,.leaderboard-table td.col-rating{text-align:center}.rank-medal{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;font-size:.85rem;font-weight:700}.rank-medal-1{background:#fbbf2426;color:#fbbf24;border:1px solid rgba(251,191,36,.35)}.rank-medal-2{background:#94a3b826;color:#94a3b8;border:1px solid rgba(148,163,184,.35)}.rank-medal-3{background:#cd7f3226;color:#cd7f32;border:1px solid rgba(205,127,50,.35)}.rank-number{color:#555;font-size:.9rem}.player-name{font-weight:500;color:#e2e2f0}.current-user .player-name{color:#818cf8}.record-wins{color:#4ade80}.record-losses{color:#f87171}.record-draws{color:#666}.record-sep{color:#333}.col-games,.col-record{color:#aaa}.rating-value{font-weight:700;background:linear-gradient(135deg,#6366f1,#a855f7);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.play-page h2{margin-bottom:1.5rem}.play-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;margin-bottom:2rem}.play-card{background:#1a1a2a;border-radius:12px;padding:1.5rem;border:1px solid #2a2a3a}.play-card.disabled{opacity:.5}.play-card h3{margin:0 0 .5rem}.play-card p{color:#888;margin:0 0 1rem}.challenge-form{display:flex;gap:.5rem}.challenge-form input{flex:1;padding:.75rem;background:#0a0a0f;border:1px solid #2a2a3a;border-radius:6px;color:#e0e0e0}.challenge-form input:focus{outline:none;border-color:#6366f1}.play-info{background:#1a1a2a;border-radius:12px;padding:1.5rem;border:1px solid #2a2a3a}.play-info h3{margin:0 0 1rem}.play-info ol{margin:0;padding-left:1.25rem;color:#aaa}.play-info li{margin:.5rem 0}.game-placeholder{text-align:center;padding:3rem}.game-placeholder h2{margin-bottom:1rem}.game-placeholder p{color:#888}.card-stats-fallback{width:100%;display:flex;flex-direction:column;overflow:hidden}.card-stats-fallback.large{min-height:300px}.fallback-label{padding:.35rem .5rem;text-align:center;font-size:.6rem;font-weight:700;letter-spacing:.1em;color:#666;background:#151520;border-radius:4px 4px 0 0;flex-shrink:0}.fallback-sleeve .fallback-label{background:linear-gradient(90deg,#a855f7,#6366f1);color:#fff}.fallback-animal .fallback-label{background:linear-gradient(90deg,#22c55e,#16a34a);color:#fff}.fallback-equipment .fallback-label{background:linear-gradient(90deg,#fbbf24,#d97706);color:#fff}.fallback-grid{aspect-ratio:2 / 3;display:grid;grid-template-rows:1fr 1fr 1fr;grid-template-columns:1fr 1fr;gap:2px;padding:.5rem;background:linear-gradient(135deg,#1a1a2a,#0a0a15);border:1px solid #2a2a3a;border-top:none;border-radius:0 0 8px 8px}.fallback-empty-grid{display:flex;align-items:center;justify-content:center;color:#444;font-size:.75rem;font-style:italic;aspect-ratio:2 / 3;background:linear-gradient(135deg,#1a1a2a,#0a0a15);border:1px solid #2a2a3a;border-top:none;border-radius:0 0 8px 8px}.grid-top{grid-column:1 / -1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.25rem;background:linear-gradient(135deg,#1a2a3a,#0a1a2a);border:1px solid #2a4a6a;border-radius:6px;padding:.5rem}.grid-top.empty-cell{background:transparent;border:1px dashed #2a2a3a}.grid-middle{grid-column:1 / -1;display:flex;align-items:center;justify-content:center;gap:.5rem;background:linear-gradient(135deg,#2a2a1a,#1a1a0a);border:1px solid #4a4a2a;border-radius:6px;padding:.5rem}.grid-middle.empty-cell{background:transparent;border:1px dashed #2a2a3a}.grid-bottom-left{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.25rem;background:linear-gradient(135deg,#3a2020,#2a1010);border-radius:6px;padding:.5rem}.grid-bottom-left.empty-cell{background:transparent;border:1px dashed #2a2a3a}.grid-bottom-right{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.25rem;background:linear-gradient(135deg,#203a20,#102a10);border-radius:6px;padding:.5rem}.grid-bottom-right.empty-cell{background:transparent;border:1px dashed #2a2a3a}.grid-top .effect-trigger{font-size:.6rem;color:#60a5fa;font-weight:700;letter-spacing:.05em}.grid-top .effect-action{font-size:.7rem;color:#93c5fd;font-weight:500;text-align:center}.modifier-display{font-size:.9rem;font-weight:700;color:#fcd34d}.initiative-display{font-size:.8rem;font-weight:700;color:#c084fc}.grid-bottom-left .stat-value,.grid-bottom-right .stat-value{font-size:1.5rem;font-weight:700;line-height:1}.grid-bottom-left .stat-value{color:#f87171}.grid-bottom-right .stat-value{color:#4ade80}.grid-bottom-left .stat-label,.grid-bottom-right .stat-label{font-size:.55rem;font-weight:700;letter-spacing:.1em;color:#888}.bg-stat{opacity:.55;border-style:dashed!important;border-color:#fff3!important}.fg-stat{background:#6366f12e!important;border-color:#6366f180!important}.stat-source-fg{background:#6366f138;border-radius:3px;padding:1px 3px;border:1px solid rgba(99,102,241,.4)}.stat-source-bg{opacity:.5;border-radius:3px;padding:1px 3px;border:1px dashed rgba(255,255,255,.22)}.mini-card-effect.stat-source-fg,.mini-card-modifier.stat-source-fg{background:#6366f140;border-left:2px solid rgba(99,102,241,.6)}.mini-card-effect.stat-source-bg,.mini-card-modifier.stat-source-bg{opacity:.5;border-left:2px dashed rgba(255,255,255,.25)}.overlay-stat.stat-source-fg{background:#6366f133;border-radius:4px;outline:1px solid rgba(99,102,241,.4)}.overlay-stat.stat-source-bg{opacity:.5;outline:1px dashed rgba(255,255,255,.25);border-radius:4px}.overlay-effect.stat-source-fg,.overlay-modifier.stat-source-fg{background:#6366f159!important;border-left:3px solid rgba(99,102,241,.7)}.overlay-effect.stat-source-bg,.overlay-modifier.stat-source-bg{opacity:.5;border-left:3px dashed rgba(255,255,255,.25)}.stats-label-fg{display:inline-block;background:#6366f126;border-radius:4px;padding:2px 8px;border-left:3px solid rgba(99,102,241,.55);color:#a5b4fc;font-size:.85rem}.stats-label-bg{display:inline-block;opacity:.7;padding:2px 8px;border-left:3px dashed rgba(255,255,255,.3);font-size:.85rem}.playtest-page{max-width:1400px;margin:0 auto}.playtest-page .page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.playtest-page .page-header h2{margin:0}.playtest-page .rules-info,.rules-info-bar{display:flex;gap:1rem;font-size:.875rem;color:#888;margin-bottom:1.5rem}.playtest-page .rules-info span,.rules-info-bar span{background:#1a1a2a;padding:.25rem .5rem;border-radius:4px;border:1px solid #2a2a3a}.playtest-layout{display:grid;grid-template-columns:1fr auto 1fr;gap:1.5rem;align-items:start}@media(max-width:1100px){.playtest-layout{grid-template-columns:1fr}.battle-controls{order:-1}}.player-selector{background:#1a1a2a;border-radius:12px;padding:1rem;border:1px solid #2a2a3a}.player-selector-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.player-selector-header h3{margin:0;font-size:1.1rem}.player-stats-preview{display:flex;gap:.5rem;margin-bottom:1rem}.player-stats-preview .stat-box{flex:1;padding:.5rem;background:#0a0a0f;border-radius:6px;text-align:center;border:1px solid #2a2a3a}.player-stats-preview .stat-box .stat-label{display:block;font-size:.65rem;color:#888;text-transform:uppercase;margin-bottom:.25rem}.player-stats-preview .stat-box .stat-value{display:block;font-size:1.5rem;font-weight:700}.player-stats-preview .stat-box.damage .stat-value{color:#f87171}.player-stats-preview .stat-box.health .stat-value{color:#4ade80}.player-stats-preview .stat-box.initiative .stat-value{color:#c084fc}.player-effect-preview,.player-modifier-preview{font-size:.8rem;color:#aaa;background:#0a0a0f;padding:.5rem;border-radius:6px;margin-bottom:.5rem;border:1px solid #2a2a3a}.player-effect-preview strong,.player-modifier-preview strong{color:#93c5fd}.player-modifier-preview strong{color:#fcd34d}.selected-cards-list{margin-bottom:1rem;padding:.5rem;background:#0a0a0f;border-radius:6px;border:1px solid #2a2a3a}.selected-card-item{display:flex;align-items:center;gap:.5rem;padding:.25rem 0;font-size:.85rem}.selected-card-item+.selected-card-item{border-top:1px solid #2a2a3a}.card-type-label{font-size:.7rem;font-weight:700;text-transform:uppercase;min-width:60px}.card-type-label.sleeve{color:#c084fc}.card-type-label.animal{color:#86efac}.card-type-label.equipment{color:#fcd34d}.not-selected{color:#666;font-style:italic}.remove-btn{margin-left:auto;background:transparent;border:none;color:#f87171;cursor:pointer;font-size:.9rem;padding:0;line-height:1;width:1rem;height:1rem;display:inline-flex;align-items:center;justify-content:center;vertical-align:middle}.remove-btn:hover{color:#fca5a5}.card-selection-sections{display:flex;flex-direction:column;gap:.75rem}.card-selection-sections details{background:#0a0a0f;border-radius:6px;padding:.5rem;border:1px solid #2a2a3a}.card-selection-sections summary{cursor:pointer;font-size:.85rem;font-weight:500;color:#888;padding:.25rem}.card-selection-sections summary:hover{color:#fff}.mini-selection-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(85px,1fr));gap:.5rem;max-height:380px;overflow-y:auto;margin-top:.5rem;padding-right:.25rem}.mini-selection-item{cursor:pointer;border:2px solid transparent;border-radius:6px;overflow:hidden;transition:border-color .15s,transform .15s;position:relative}.mini-selection-item:hover{border-color:#6366f1;transform:scale(1.03)}.mini-selection-item.selected{border-color:#a855f7;box-shadow:0 0 12px #a855f74d}.mini-selection-item img{width:100%;aspect-ratio:2 / 3;object-fit:cover;background:#0a0a0f;display:block}.selection-fallback{font-size:.85em}.selection-fallback .fallback-label{padding:.2rem .3rem;font-size:.55rem;border-radius:3px 3px 0 0}.selection-fallback .fallback-grid,.selection-fallback .fallback-empty-grid{padding:.25rem;gap:2px;border-radius:0 0 3px 3px}.selection-fallback .grid-top,.selection-fallback .grid-middle,.selection-fallback .grid-bottom-left,.selection-fallback .grid-bottom-right{padding:.2rem;border-width:1px;border-radius:2px}.selection-fallback .grid-top .effect-trigger{font-size:.5rem}.selection-fallback .grid-top .effect-action{font-size:.55rem}.selection-fallback .modifier-display,.selection-fallback .initiative-display{font-size:.6rem}.selection-fallback .grid-bottom-left .stat-value,.selection-fallback .grid-bottom-right .stat-value{font-size:.85rem}.selection-fallback .grid-bottom-left .stat-label,.selection-fallback .grid-bottom-right .stat-label{display:none}.selection-fallback .bg-stat{border-width:1px!important}.mini-card-display{display:flex;flex-direction:column;width:100%}.mini-card-label{padding:.2rem .3rem;text-align:center;font-size:.55rem;font-weight:700;letter-spacing:.08em;color:#666;background:#151520;border-radius:4px 4px 0 0;flex-shrink:0}.fallback-sleeve .mini-card-label{background:linear-gradient(90deg,#a855f7,#6366f1);color:#fff}.fallback-animal .mini-card-label{background:linear-gradient(90deg,#22c55e,#16a34a);color:#fff}.fallback-equipment .mini-card-label{background:linear-gradient(90deg,#fbbf24,#d97706);color:#fff}.mini-card-content{position:relative;aspect-ratio:2 / 3;background:linear-gradient(135deg,#1a1a2a,#0a0a15);border:1px solid #2a2a3a;border-top:none;border-radius:0 0 4px 4px;overflow:hidden}.mini-card-image{width:100%;height:100%;object-fit:cover;display:block}.mini-card-placeholder{width:100%;height:100%}.mini-card-overlay{position:absolute;inset:0;display:grid;grid-template-rows:1fr 1fr 1fr;padding:.2rem;pointer-events:none}.mini-card-top{display:flex;align-items:flex-start;justify-content:center}.mini-card-middle{display:flex;align-items:center;justify-content:center}.mini-card-effect{font-size:.5rem;font-weight:700;color:#93c5fd;text-align:center;background:#000000bf;padding:.15rem .2rem;border-radius:3px;line-height:1.25;text-shadow:0 1px 2px #000}.mini-card-modifier{font-size:.6rem;font-weight:700;color:#fcd34d;text-align:center;background:#000000bf;padding:.15rem .25rem;border-radius:3px;text-shadow:0 1px 2px #000}.mini-card-initiative{font-size:.6rem;font-weight:700;color:#60a5fa;text-align:center;background:#000000bf;padding:.15rem .25rem;border-radius:3px;text-shadow:0 1px 2px #000}.mini-card-stats{display:grid;grid-template-columns:1fr auto 1fr;align-items:flex-end;gap:.15rem}.mini-card-stats .mini-stat.damage{justify-self:start}.mini-card-stats .mini-stat.initiative{justify-self:center}.mini-card-stats .mini-stat.health{justify-self:end}.mini-stat{font-size:.7rem;font-weight:700;padding:.1rem .2rem;border-radius:2px;background:#000000b3;text-shadow:0 1px 2px #000;min-width:1rem;text-align:center}.mini-stat.damage{color:#f87171}.mini-stat.initiative{color:#c084fc}.mini-stat.health{color:#4ade80}.battle-controls{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;padding:1rem}.battle-controls .btn-large{padding:1rem 2rem;font-size:1.1rem;font-weight:700}.battle-controls .help-text{text-align:center;margin:0;color:#666;font-size:.875rem}.battle-results{margin-top:2rem;background:#1a1a2a;border-radius:12px;padding:1.5rem;border:1px solid #2a2a3a}.battle-results h3{margin:0 0 1rem;text-align:center}.results-grid{display:grid;grid-template-columns:1fr auto 1fr;gap:1rem;align-items:center;margin-bottom:1.5rem}@media(max-width:700px){.results-grid{grid-template-columns:1fr}.vs-divider{display:none}}.result-card{background:#0a0a0f;border-radius:12px;padding:1rem;text-align:center;border:2px solid #2a2a3a}.result-card.survived{border-color:#22c55e;box-shadow:0 0 16px #22c55e33}.result-card.destroyed{border-color:#ef4444;box-shadow:0 0 16px #ef444433}.result-card h4{margin:0 0 .5rem;font-size:1rem;color:#888}.result-status{font-size:1.25rem;font-weight:700;margin-bottom:.5rem}.result-card.survived .result-status{color:#4ade80}.result-card.destroyed .result-status{color:#f87171}.result-health{font-size:.875rem;color:#888;margin-bottom:.5rem}.result-points{font-size:1.5rem;font-weight:700;background:linear-gradient(135deg,#fbbf24,#f59e0b);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.result-badge{display:inline-block;margin-top:.5rem;padding:.25rem .5rem;background:linear-gradient(135deg,#6366f1,#a855f7);color:#fff;font-size:.75rem;border-radius:4px}.vs-divider{font-size:1.5rem;font-weight:700;color:#444}.effects-triggered{background:#0a0a0f;border-radius:8px;padding:1rem;margin-bottom:1rem;border:1px solid #2a2a3a}.effects-triggered h4{margin:0 0 .5rem;font-size:.9rem;color:#93c5fd}.effects-triggered ul{margin:0;padding-left:1.25rem}.effects-triggered li{font-size:.85rem;color:#aaa;margin-bottom:.25rem}.effects-triggered li strong{color:#fff}.combat-log{background:#0a0a0f;border-radius:8px;padding:.5rem 1rem;border:1px solid #2a2a3a}.combat-log summary{cursor:pointer;font-size:.85rem;color:#888;padding:.5rem 0}.combat-log summary:hover{color:#fff}.combat-log pre{margin:.5rem 0 0;padding:1rem;background:#151520;border-radius:6px;font-size:.75rem;color:#aaa;overflow-x:auto;white-space:pre-wrap;word-break:break-word}.game-view{min-height:calc(100vh - 80px);display:flex;flex-direction:column}.game-view.loading,.game-view.error{align-items:center;justify-content:center;text-align:center;padding:2rem}.game-header{display:flex;justify-content:space-between;align-items:center;padding:1rem;background:linear-gradient(180deg,#151520,#0a0a0f);border-bottom:1px solid #2a2a3a}.game-header-player{display:flex;flex-direction:column;align-items:center;min-width:120px}.game-header-player .player-name{font-size:.875rem;color:#888;margin-bottom:.25rem}.game-header-player .player-score{font-size:2rem;font-weight:700;background:linear-gradient(135deg,#6366f1,#a855f7);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.game-header-player.me .player-name{color:#4ade80}.game-header-player.opponent .player-name{color:#f87171}.player-score{display:flex;align-items:center;gap:.5rem}.score-change{font-size:1rem;font-weight:700}.score-change.positive{color:#4ade80}.score-change.zero{color:#666}.header-actions{display:flex;gap:.5rem;margin-top:.5rem;justify-content:center}.header-status{font-size:.85rem;color:#888;font-style:italic}.game-header-center{text-align:center}.game-header-center .round-info{font-size:1.25rem;font-weight:700;color:#fff}.game-header-center .points-to-win{font-size:.75rem;color:#666}.game-content{flex:1;padding:1rem;max-width:1200px;margin:0 auto;width:100%}.card-composer{display:grid;grid-template-columns:380px 1fr;gap:1.5rem}@media(max-width:900px){.card-composer{grid-template-columns:1fr}}.composer-main{background:#1a1a2a;border-radius:12px;padding:1rem;border:1px solid #2a2a3a}.composer-stats-preview{display:flex;gap:.5rem;margin-bottom:1rem}.composer-stats-preview .stat-box,.commit-stats .stat-box,.combat-card-stats .stat-box,.combat-stats-preview .stat-box{flex:1;padding:.5rem;background:#0a0a0f;border-radius:6px;text-align:center;border:1px solid #2a2a3a}.composer-stats-preview .stat-box .stat-label,.commit-stats .stat-box .stat-label,.combat-card-stats .stat-box .stat-label,.combat-stats-preview .stat-box .stat-label{display:block;font-size:.65rem;color:#888;text-transform:uppercase;margin-bottom:.25rem}.composer-stats-preview .stat-box .stat-value,.commit-stats .stat-box .stat-value,.combat-card-stats .stat-box .stat-value,.combat-stats-preview .stat-box .stat-value{display:block;font-size:1.5rem;font-weight:700}.composer-stats-preview .stat-box.damage .stat-value,.commit-stats .stat-box.damage .stat-value,.combat-card-stats .stat-box.damage .stat-value,.combat-stats-preview .stat-box.damage .stat-value{color:#f87171}.composer-stats-preview .stat-box.health .stat-value,.commit-stats .stat-box.health .stat-value,.combat-card-stats .stat-box.health .stat-value,.combat-stats-preview .stat-box.health .stat-value{color:#4ade80}.composer-stats-preview .stat-box.initiative .stat-value,.commit-stats .stat-box.initiative .stat-value,.combat-card-stats .stat-box.initiative .stat-value,.combat-stats-preview .stat-box.initiative .stat-value{color:#c084fc}.composer-effect-preview,.composer-modifier-preview,.commit-effect,.commit-modifier{font-size:.8rem;color:#aaa;background:#0a0a0f;padding:.5rem;border-radius:6px;margin-bottom:.5rem;border:1px solid #2a2a3a}.composer-effect-preview strong,.commit-effect strong{color:#93c5fd}.composer-modifier-preview strong,.commit-modifier strong{color:#fcd34d}.composer-actions{display:flex;gap:.5rem;margin-top:1rem}.composer-actions .btn-primary{flex:1}.waiting-for-opponent{display:flex;flex-direction:column;align-items:center;gap:2rem;padding:2rem}.waiting-spinner{display:flex;flex-direction:column;align-items:center;gap:1rem}.spinner{width:48px;height:48px;border:4px solid #2a2a3a;border-top-color:#6366f1;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.waiting-spinner p{color:#888}.your-commit{background:#1a1a2a;border-radius:12px;padding:1.5rem;border:1px solid #2a2a3a;max-width:400px;width:100%}.your-commit h3{margin:0 0 1rem;text-align:center;color:#888;font-size:.875rem;text-transform:uppercase}.commit-stats{display:flex;gap:.5rem;margin-bottom:1rem}.commit-cards{display:flex;flex-direction:column;gap:.25rem}.commit-card-item{display:flex;gap:.5rem;font-size:.85rem;padding:.25rem 0}.combat-display{display:flex;justify-content:center;align-items:stretch;gap:2rem;margin-bottom:1.5rem}@media(max-width:700px){.combat-display{flex-direction:column;align-items:center;gap:1rem}}.combat-card-preview{background:#1a1a2a;border-radius:12px;padding:1rem;border:1px solid #2a2a3a;width:250px;text-align:center}.combat-card-label{font-size:.75rem;color:#888;text-transform:uppercase;margin-bottom:.5rem}.combat-card-stack{margin-bottom:.5rem}.combat-card-image{width:100%;aspect-ratio:2 / 3;object-fit:cover;border-radius:8px;max-height:150px}.combat-card-placeholder{aspect-ratio:2 / 3;max-height:150px;background:#0a0a0f;border-radius:8px;display:flex;align-items:center;justify-content:center;color:#666;font-size:.75rem}.combat-card-names{margin-bottom:.5rem}.combat-card-name{font-size:.75rem;margin:.15rem 0}.combat-card-name.sleeve{color:#c084fc}.combat-card-name.animal{color:#86efac}.combat-card-name.equipment{color:#fcd34d}.combat-card-stats{display:flex;gap:.25rem;justify-content:center;margin-bottom:.5rem}.combat-card-stats .stat-box{padding:.25rem .5rem;min-width:50px}.combat-card-stats .stat-box .stat-value{font-size:1rem}.combat-effect,.combat-modifier{font-size:.7rem;padding:.25rem .5rem;margin:.25rem 0}.combat-vs{display:flex;align-items:center;justify-content:center;font-size:2rem;font-weight:700;color:#444}.round-result{text-align:center;max-width:800px;margin:0 auto}.round-result h3{margin-bottom:1.5rem}.score-totals{display:flex;justify-content:center;align-items:center;gap:1rem;margin:1.5rem 0;font-size:1.1rem}.score-total strong{color:#fff}.score-separator{color:#444}.score-target{color:#666;font-size:.875rem}.round-result .btn-large{margin:1.5rem 0}.combat-stats-preview{display:flex;gap:.5rem;margin-top:.75rem;margin-bottom:.5rem}.score-breakdown{text-align:center;font-size:.9rem;margin-top:.25rem}.score-breakdown .score-total{font-weight:600}.score-breakdown.survived .score-total{color:#4ade80}.score-breakdown.destroyed .score-total{color:#f87171}.score-breakdown .score-detail{color:#888;margin-left:.25rem;font-size:.8rem}.score-breakdown .destroyed-label{color:#f87171;font-size:.75rem}.round-result .combat-display{margin-top:1rem}.game-over-screen{display:flex;align-items:center;justify-content:center;min-height:calc(100vh - 80px);padding:2rem}.game-over-content{text-align:center;max-width:500px}.game-over-title{font-size:3rem;margin-bottom:.5rem}.game-over-title.winner{background:linear-gradient(135deg,#fbbf24,#f59e0b);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.game-over-title.loser{color:#f87171}.game-over-title.draw{color:#888}.game-over-subtitle{color:#888;margin-bottom:2rem}.game-over-scores{display:flex;justify-content:center;align-items:center;gap:2rem;margin-bottom:2rem}.score-card{background:#1a1a2a;border-radius:12px;padding:1.5rem 2rem;border:1px solid #2a2a3a;min-width:120px}.score-card.winner{border-color:#fbbf24;box-shadow:0 0 20px #fbbf2433}.score-card .score-label{font-size:.75rem;color:#888;text-transform:uppercase;margin-bottom:.5rem}.score-card .score-value{font-size:3rem;font-weight:700;background:linear-gradient(135deg,#6366f1,#a855f7);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.score-vs{font-size:1.5rem;color:#444}.game-over-stats{display:flex;justify-content:center;gap:2rem;margin-bottom:2rem}.game-over-stats .game-stat{display:flex;flex-direction:column;align-items:center}.game-over-stats .stat-label{font-size:.75rem;color:#888;text-transform:uppercase}.game-over-stats .stat-value{font-size:1.5rem;font-weight:700;color:#fff}.elo-change-section{margin-bottom:2rem}.elo-display{display:flex;align-items:center;justify-content:center;gap:.75rem;background:#1a1a2a;border-radius:12px;padding:1rem 1.5rem;border:1px solid #2a2a3a}.elo-label{font-size:.875rem;color:#888;text-transform:uppercase;letter-spacing:.05em}.elo-previous{font-size:1.25rem;color:#888}.elo-arrow{font-size:1.25rem;color:#666}.elo-new{font-size:1.5rem;font-weight:700;background:linear-gradient(135deg,#6366f1,#a855f7);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.elo-change{font-size:1rem;font-weight:700;padding:.25rem .5rem;border-radius:6px}.elo-change.positive{color:#22c55e;background:#22c55e26}.elo-change.negative{color:#ef4444;background:#ef444426}.placement-display{display:flex;flex-direction:column;align-items:center;gap:.5rem;background:#1a1a2a;border-radius:12px;padding:1rem 1.5rem;border:1px solid #2a2a3a}.placement-header{font-size:.875rem;color:#888;text-transform:uppercase;letter-spacing:.05em}.placement-dots{display:flex;gap:.5rem;align-items:center}.placement-dot{width:12px;height:12px;border-radius:50%}.placement-dot.filled{background:linear-gradient(135deg,#6366f1,#a855f7)}.placement-dot.empty{background:#333;border:1px solid #444}.placement-games-label{font-size:.9rem;color:#aaa}.placement-bonus{font-size:.95rem;font-weight:700;color:#22c55e;background:#22c55e26;padding:.2rem .6rem;border-radius:6px}.placement-rating-reveal{font-size:.95rem;color:#aaa}.placement-rating-value{font-size:1.4rem;font-weight:700;background:linear-gradient(135deg,#6366f1,#a855f7);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.profile-placement{display:flex;flex-direction:column;align-items:center;gap:.4rem;padding:.25rem 0}.profile-placement-dots{display:flex;gap:.4rem;align-items:center}.profile-placement-label{margin:0;font-size:.85rem;color:#888}.round-breakdown{margin-bottom:2rem;background:#1a1a2a;border-radius:12px;padding:1rem;border:1px solid #2a2a3a}.round-breakdown table{width:100%;border-collapse:collapse}.round-breakdown thead th{font-size:.75rem;color:#888;text-transform:uppercase;padding:.25rem .25rem .5rem}.round-breakdown .col-round{text-align:center}.round-breakdown .col-points{text-align:right;padding-right:.25rem}.round-breakdown .col-detail{text-align:left;padding-left:.25rem}.round-breakdown .breakdown-legend{font-size:.6rem;color:#555;text-transform:lowercase;font-weight:400;grid-column:1 / -1;text-align:center}.round-breakdown tbody tr{border-top:1px solid #2a2a3a}.round-breakdown .round-number{font-size:.75rem;color:#666;text-align:center;padding:.5rem .25rem}.round-breakdown .round-points{font-weight:700;font-size:1.1rem;color:#fff;text-align:right;padding:.5rem .25rem .5rem .5rem}.round-breakdown .round-detail{font-size:.75rem;text-align:left;white-space:nowrap;padding:.5rem .5rem .5rem .25rem}.round-breakdown .detail-split{display:grid;grid-template-columns:1fr auto 1fr;align-items:baseline;gap:0 .2rem}.round-breakdown .detail-left{text-align:right}.round-breakdown .detail-sep{text-align:center;color:#444}.round-breakdown .detail-right{text-align:left}.round-breakdown .kill-points{color:#a855f7}.round-breakdown .absorbed-points{color:#22c55e}.round-breakdown .zero-points{color:#444}.round-breakdown .round-points.zero{color:#888}.round-breakdown .round-points.too-slow,.round-breakdown .round-detail.too-slow{opacity:.4}.round-breakdown .too-slow-label{font-size:.65rem;color:#666;font-style:italic;white-space:nowrap;grid-column:1 / -1;text-align:center}.round-breakdown tfoot tr{border-top:2px solid #3a3a4a}.round-breakdown .round-points.round-total{font-size:1.2rem}.round-breakdown .round-detail.round-total{font-size:.75rem}.game-over-actions{display:flex;flex-direction:column;gap:1rem;align-items:center}.game-over-actions .btn{min-width:200px}.selection-count{position:absolute;top:.25rem;right:.25rem;background:#a855f7;color:#fff;font-size:.65rem;font-weight:700;min-width:1.25rem;height:1.25rem;border-radius:50%;display:flex;align-items:center;justify-content:center}.composed-card-preview{margin-bottom:1rem}.composed-card-frame{position:relative;width:100%;max-width:200px;margin:0 auto;aspect-ratio:2 / 3;background:linear-gradient(135deg,#1a1a2a,#0a0a15);border:2px solid #2a2a3a;border-radius:12px;overflow:hidden}.composed-card-empty{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:#444;font-size:.85rem;text-align:center;padding:1rem}.composed-card-layers{position:relative;width:100%;height:100%}.composed-layer{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover}.layer-sleeve{z-index:10}.layer-animal{z-index:20}.composed-stats-overlay{position:absolute;inset:0;z-index:100;display:flex;flex-direction:column;justify-content:space-between;padding:.5rem;pointer-events:none}.composed-overlay-top{display:flex;justify-content:center}.composed-effect{background:#000c;color:#93c5fd;font-size:.65rem;font-weight:600;padding:.25rem .5rem;border-radius:4px;text-align:center;max-width:90%;text-shadow:0 1px 2px #000}.composed-overlay-middle{display:flex;justify-content:center}.composed-modifier{background:#000c;color:#fcd34d;font-size:.75rem;font-weight:700;padding:.25rem .5rem;border-radius:4px;text-shadow:0 1px 2px #000}.composed-overlay-bottom{display:flex;justify-content:space-between;align-items:flex-end}.composed-stat{background:#000c;font-size:1.25rem;font-weight:700;padding:.25rem .5rem;border-radius:4px;min-width:2rem;text-align:center;text-shadow:0 1px 2px #000}.composed-stat.damage{color:#f87171}.composed-stat.initiative{color:#c084fc;font-size:.9rem}.composed-stat.health{color:#4ade80}.composed-card-labels{display:flex;flex-direction:column;align-items:center;gap:.15rem;margin-top:.5rem;font-size:.7rem}.composed-card-labels .label-sleeve{color:#c084fc}.composed-card-labels .label-animal{color:#86efac}.composed-card-labels .label-equipment{color:#fcd34d}.composed-card-label{font-size:.75rem;color:#888;text-transform:uppercase;text-align:center;margin-bottom:.5rem;letter-spacing:.05em}.combat-display .composed-card-preview{flex:1;max-width:280px}.combat-display .composed-card-frame{max-width:100%;width:100%}.combat-display .composed-stat{font-size:1.5rem;padding:.4rem .75rem;min-width:2.5rem}.combat-display .composed-stat.initiative{font-size:1.1rem}.combat-display .composed-effect{font-size:.75rem;padding:.35rem .6rem}.combat-display .composed-modifier{font-size:.9rem;padding:.35rem .6rem}.combat-display .composed-card-labels{font-size:.85rem;margin-top:.75rem;gap:.25rem}.outcome-overlay{position:absolute;bottom:0;left:0;right:0;z-index:110;padding:.75rem;text-align:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.outcome-overlay.survived{background:linear-gradient(to top,#22c55ee6,#22c55e80)}.outcome-overlay.destroyed{background:linear-gradient(to top,#ef4444e6,#ef444480)}.outcome-status{font-size:1.25rem;font-weight:700;color:#fff;text-shadow:0 2px 4px rgba(0,0,0,.5)}.outcome-hp{font-size:.9rem;color:#ffffffe6;text-shadow:0 1px 2px rgba(0,0,0,.5)}.outcome-defeated{font-size:.85rem;font-weight:700;color:#fbbf24;text-shadow:0 1px 2px rgba(0,0,0,.5);margin-top:.25rem}.composed-effect.effect-triggered{background:#22c55ee6;color:#fff;animation:effect-pulse .5s ease-out}.effect-check{color:#86efac}@keyframes effect-pulse{0%{transform:scale(1.1);box-shadow:0 0 20px #22c55ecc}to{transform:scale(1);box-shadow:none}}.composed-card-preview.outcome-survived .composed-card-frame{border-color:#22c55e;box-shadow:0 0 20px #22c55e66}.composed-card-preview.outcome-destroyed .composed-card-frame{border-color:#ef4444;box-shadow:0 0 20px #ef444466}.effect-result{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem;padding:.5rem .75rem;background:#0006;border-radius:6px;font-size:.85rem}.effect-result .effect-icon{font-size:1rem;font-weight:700;flex-shrink:0}.effect-result.effect-triggered .effect-icon{color:#22c55e}.effect-result.effect-not-triggered .effect-icon{color:#888}.effect-result.effect-triggered .effect-text{color:#86efac}.effect-result.effect-not-triggered .effect-text{color:#666;text-decoration:line-through}.stat-attribution-table-container{margin-bottom:1rem;background:#0a0a0f;border-radius:6px;border:1px solid #2a2a3a;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch}.stat-attribution-table{width:100%;table-layout:fixed;border-collapse:collapse;font-size:.7rem}.stat-attribution-table th{text-align:left;padding:.3rem .25rem;background:#151520;color:#666;font-weight:500;font-size:.55rem;text-transform:uppercase;letter-spacing:.02em;border-bottom:1px solid #2a2a3a;white-space:nowrap}.stat-attribution-table td{padding:.25rem;border-bottom:1px solid #1a1a2a;white-space:nowrap}.stat-attribution-table tbody tr:last-child td{border-bottom:none}.stat-attribution-table .stat-cell{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.stat-attribution-table .stat-cell.layer-name{font-weight:500;color:#ccc;max-width:70px;overflow:hidden;text-overflow:ellipsis}.stat-attribution-table .stat-cell.empty{color:#444}.stat-attribution-table .stat-cell.active{font-weight:600}.stat-attribution-table .stat-cell.overwritten{text-decoration:line-through;opacity:.5}.stat-attribution-table .stat-cell.damage.active{color:#f87171}.stat-attribution-table .stat-cell.health.active{color:#4ade80}.stat-attribution-table .stat-cell.initiative.active{color:#c084fc}.stat-attribution-table .stat-cell.effect.active{color:#93c5fd}.stat-attribution-table .stat-cell.modifier.active{color:#fcd34d}.stat-attribution-table .stat-cell.remove{width:1.5rem;text-align:center;padding:.25rem}.stat-attribution-table .layer-row.layer-sleeve_bg .layer-name,.stat-attribution-table .layer-row.layer-sleeve_fg .layer-name{color:#c084fc}.stat-attribution-table .layer-row.layer-animal .layer-name{color:#86efac}.stat-attribution-table .layer-row.layer-equipment .layer-name{color:#fcd34d}.stat-attribution-table .layer-row.layer-sleeve_fg{background:#a855f70d}.stat-attribution-table .layer-row.layer-persistent .layer-name{color:#60a5fa;font-style:italic}.stat-attribution-table .layer-row.layer-initiative_mod .layer-name{color:#c084fc;font-style:italic}.stat-attribution-table .layer-row.layer-persistent,.stat-attribution-table .layer-row.layer-initiative_mod{background:#60a5fa0d}.stat-attribution-table .stat-cell.additive{font-style:italic}.stat-attribution-table .col-layer{width:75px;max-width:75px}.stat-attribution-table .col-effect{width:70px;max-width:70px}.stat-attribution-table .col-modifier{width:48px;max-width:48px}.stat-attribution-table .col-damage,.stat-attribution-table .col-health,.stat-attribution-table .col-init{width:28px;text-align:center;padding-left:.15rem;padding-right:.15rem}.stat-attribution-table td.damage,.stat-attribution-table td.health,.stat-attribution-table td.initiative{text-align:center}.stat-attribution-table .col-remove{width:24px;padding:0;text-align:center}.stat-attribution-empty{padding:1rem;text-align:center;color:#555;font-size:.8rem;font-style:italic;background:#0a0a0f;border-radius:6px;border:1px solid #2a2a3a;margin-bottom:1rem}
