:root{--sans:system-ui,"Segoe UI", Roboto, sans-serif;--mono:ui-monospace, Consolas, monospace;--pixel:"PressStart2P", system-ui,"Segoe UI", Roboto, sans-serif;--bg:#11151b;--panel:#181e27;--panel-strong:#202837;--text:#d8dee9;--text-muted:#8792a3;--border:#2d3748;--cat-a:#47d7ff;--cat-b:#ff5ca8;--accent:#8e8;--setting-accent:#274327;--cat-image-width:clamp(68px, 22vw, 104px);font:18px/145% var(--sans);letter-spacing:0;color:var(--text);background:var(--bg);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@font-face{font-family:Setback;src:url(/fonts/setbackt.ttf)format("truetype");font-display:swap}@font-face{font-family:PressStart2P;src:url(/fonts/PressStart2P.ttf)format("truetype");font-display:swap}body{min-width:320px;margin:0}button,input,select{font:inherit}h1{color:#f7fafc;margin:0;font-size:34px;line-height:1.05}p{margin:0}#app{min-height:100svh}.duel-app{box-sizing:border-box;flex-direction:column;gap:5px;width:min(100%,520px);min-height:100svh;margin:0 auto;padding:10px;display:flex}.app-header{gap:6px;display:grid}.app-header p{color:var(--text-muted)}.arena-panel{background:var(--panel);border:1px solid var(--border);border-radius:4px;padding:8px;position:relative}.arena-grid{--arena-board-radius:20px;--arena-vignette-edge:#03060a8c;--arena-frame-offset:4px;--arena-frame-highlight:#e7f4ff33;--arena-frame-shadow:#0000005c;--arena-frame-top-right-transition:40deg;--arena-frame-bottom-left-transition:220deg;--arena-frame-transition-width:7deg;border-radius:var(--arena-board-radius);isolation:isolate;position:relative}.arena-grid:before,.arena-grid:after{z-index:1;border-radius:inherit;content:"";pointer-events:none;position:absolute;inset:0}.arena-grid:before{background:radial-gradient(ellipse 96% 96% at center, transparent 53%, #03060a 70%, var(--arena-vignette-edge) 100%)}.arena-grid:after{box-sizing:border-box;inset:calc(-1 * var(--arena-frame-offset));border-radius:calc(var(--arena-board-radius) + var(--arena-frame-offset));background:conic-gradient(from 0deg at center, var(--arena-frame-highlight) 0deg var(--arena-frame-top-right-transition), var(--arena-frame-shadow) calc(var(--arena-frame-top-right-transition) + var(--arena-frame-transition-width)) var(--arena-frame-bottom-left-transition), var(--arena-frame-highlight) calc(var(--arena-frame-bottom-left-transition) + var(--arena-frame-transition-width)) 360deg);-webkit-mask-composite:xor;padding:2px;-webkit-mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);-webkit-mask-position:0 0,0 0;mask-position:0 0,0 0;-webkit-mask-size:auto,auto;mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}#duel-canvas{z-index:0;aspect-ratio:1;border-radius:var(--arena-board-radius);background:#101318;width:100%;display:block;position:relative}.pre-match-versus{--seeded-top:0%;--seeded-bottom-inset:0%;z-index:2;pointer-events:none;opacity:0;transition:opacity .5s;position:absolute;inset:0}.pre-match-versus.is-visible{opacity:1}.pre-match-versus-line{background:linear-gradient(to right, var(--cat-a) 0 1px, transparent 1px 4px, var(--cat-b) 4px 5px);width:5px;filter:drop-shadow(0 0 2px var(--cat-a)) drop-shadow(0 0 2px var(--cat-b));position:absolute;left:50%;transform:translate(-50%);-webkit-mask-image:linear-gradient(#0000,#000 10% 90%,#0000);mask-image:linear-gradient(#0000,#000 10% 90%,#0000)}.pre-match-versus-line-top{top:var(--seeded-top);bottom:50%;-webkit-mask-image:linear-gradient(#0000,#000 10%,#000);mask-image:linear-gradient(#0000,#000 10%,#000)}.pre-match-versus-line-bottom{top:50%;bottom:var(--seeded-bottom-inset);-webkit-mask-image:linear-gradient(#000,#000 90%,#0000);mask-image:linear-gradient(#000,#000 90%,#0000)}.lifecycle-graph-overlay{z-index:4;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#070b11d1;border:0;border-radius:12px;place-items:center;padding:clamp(8px,2vw,20px);display:grid;position:absolute;inset:6% 6% 62px;box-shadow:0 12px 30px #00000080}.lifecycle-graph-overlay[hidden]{display:none}.lifecycle-graph-overlay.is-low-opacity,.lifecycle-graph-overlay.is-live{box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0}.lifecycle-graph-overlay.is-low-opacity .lifecycle-graph-panel,.lifecycle-graph-overlay.is-live .lifecycle-graph-panel{background:0 0}.lifecycle-graph-overlay.is-low-opacity .lifecycle-graph-line{opacity:.5}.lifecycle-graph-overlay.is-live .lifecycle-graph-header,.lifecycle-graph-overlay.is-live .lifecycle-graph-legend{visibility:hidden}.lifecycle-graph-panel{background:#070b11d1;border:0;border-radius:8px;gap:8px;width:min(100%,720px);min-width:0;padding:clamp(10px,2vw,18px);display:grid}.lifecycle-graph-header{justify-content:space-between;align-items:start;gap:12px;display:flex}.lifecycle-graph-header>div{gap:2px;min-width:0;display:grid}.lifecycle-graph-kicker{color:var(--text-muted);letter-spacing:.08em;text-transform:uppercase;font-size:11px}.lifecycle-graph-header strong{color:#f7fafc;font-size:clamp(14px,2.5vw,20px)}.lifecycle-graph-button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.lifecycle-graph-legend{color:var(--text);flex-wrap:wrap;gap:4px 9px;font-size:11px;display:flex}.lifecycle-graph-legend span{align-items:center;gap:5px;display:inline-flex}.lifecycle-graph-key{border-radius:999px;width:12px;height:2px;display:inline-block}.lifecycle-graph-key-a,.lifecycle-graph-line-a{background:var(--cat-a);stroke:var(--cat-a)}.lifecycle-graph-key-b,.lifecycle-graph-line-b{background:var(--cat-b);stroke:var(--cat-b)}.lifecycle-graph-key-a-veteran,.lifecycle-graph-line-a-veteran{border-top:2px dashed var(--cat-a);stroke:var(--cat-a);opacity:.58;background:0 0}.lifecycle-graph-key-b-veteran,.lifecycle-graph-line-b-veteran{border-top:2px dashed var(--cat-b);stroke:var(--cat-b);opacity:.58;background:0 0}.lifecycle-graph{width:100%;min-width:0;height:auto;display:block;overflow:visible}.lifecycle-graph-grid-lines line{stroke:#d8dee924;stroke-width:1px;vector-effect:non-scaling-stroke}.lifecycle-graph-axes line{stroke:#d8dee98c;stroke-width:1.25px;vector-effect:non-scaling-stroke}.lifecycle-graph-labels{fill:var(--text-muted);font-family:var(--sans);font-size:19px}.lifecycle-graph-overlay.is-smooth-graphics .lifecycle-graph-line{filter:brightness(1.25)}.lifecycle-graph-line{fill:none;stroke-width:3px;vector-effect:non-scaling-stroke}.lifecycle-graph-line-a-veteran,.lifecycle-graph-line-b-veteran{stroke-width:1.75px;stroke-dasharray:7 5}.lifecycle-graph-button{width:32px;min-height:32px;color:var(--accent);cursor:pointer;opacity:.6;background:#0c101700;border:0;border-radius:6px;place-items:center;padding:0;display:grid}.lifecycle-graph-button[hidden]{display:none}.lifecycle-graph-button:hover{color:var(--accent);background:#181e2700}.lifecycle-graph-button svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8px;width:20px;height:20px}.arena-title{z-index:1;color:#8e8;pointer-events:none;text-align:center;transition:opacity .5s;position:absolute;top:15px;left:8px;right:8px}.arena-title.is-hidden{opacity:0}.arena-title-mooncat{font-family:"Setback", setback, var(--sans);text-shadow:.05em .05em #ffffff40;vertical-align:middle;margin-right:clamp(6px,1.5vw,10px);font-size:clamp(31px,8.8vw,51px);font-weight:700;line-height:1;display:inline-block}.life-pixel-word{align-items:center;gap:var(--life-pixel-size);--life-pixel-size:clamp(4px, 1.35vw, 7px);filter:drop-shadow(2px 2px #ffffff40);vertical-align:middle;display:inline-flex}.life-pixel-glyph{grid-template-columns:repeat(3, var(--life-pixel-size));grid-template-rows:repeat(5, var(--life-pixel-size));gap:0;display:grid}.life-pixel-glyph:first-child,.life-pixel-glyph:nth-child(2){margin-right:-5px}.life-pixel{width:var(--life-pixel-size);height:var(--life-pixel-size);display:block}.life-pixel.is-filled{box-sizing:border-box;background:#8e8;border:1px solid #deffdea6;box-shadow:inset 0 0 0 1px #11151b61,0 0 0 1px #11151b52}.matchup-panel{background:var(--panel);border:1px solid var(--border);border-radius:8px;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:stretch;gap:8px 10px;padding:10px 10px 0;display:grid;position:relative}.cat-side{align-content:start;gap:6px;min-width:0;display:grid}.cat-side-a{grid-area:1/1}.cat-side-b{grid-area:1/2}.cat-topline{grid-template-columns:auto minmax(0,1fr);align-items:start;gap:7px;min-width:0;display:grid}.cat-side-b .cat-topline{grid-template-columns:minmax(0,1fr) auto}.cat-identity{width:var(--cat-image-width);gap:6px;display:grid}.cat-visual{width:var(--cat-image-width);aspect-ratio:1;color:#11151b;background:#151b22;border:1px solid #ffffff38;border-radius:8px;place-items:center;font-size:26px;font-weight:800;display:grid;position:relative;overflow:hidden;box-shadow:inset 0 0 0 2px #00000059,0 0 0 1px #0000009e}.cat-visual img{object-fit:contain;opacity:0;width:100%;height:100%;transition:opacity .16s;position:absolute;inset:0}.cat-pixel-preview{opacity:0;width:84%;height:84%;image-rendering:pixelated;transition:opacity .16s;position:absolute;inset:8%}.cat-visual span{z-index:1;position:relative}.cat-visual.has-image img,.cat-visual.has-pixel .cat-pixel-preview{opacity:1}.cat-visual.has-image span,.cat-visual.has-pixel span{opacity:0}.cat-side-a .cat-visual.is-winner{background:var(--cat-a)}.cat-side-b .cat-visual.is-winner{background:var(--cat-b)}.cat-selector-row{justify-self:start;align-items:flex-start;gap:6px;width:max-content;min-width:0;max-width:100%;display:flex}.cat-side-b .cat-selector-row{flex-direction:row-reverse;justify-self:end}.cat-live-stat{align-self:start;gap:2px;min-width:0;padding-top:8px;display:grid}.cat-live-stat small{color:var(--text-muted);font-size:11px;line-height:1.15}.cat-live-stat strong{color:#f7fafc;font-size:16px;font-family:var(--pixel);line-height:1}.cat-live-stat strong.needs-light-shadow{text-shadow:0 0 3px #ffffffe6,0 0 6px #ffffff8c}.cat-side-a .cat-live-stat strong{color:var(--cat-a)}.cat-side-b .cat-live-stat{text-align:right}.cat-side-b .cat-live-stat strong{color:var(--cat-b)}.cat-random-button{width:32px;min-height:32px;color:var(--text);background:var(--panel-strong);border:1px solid var(--border);cursor:pointer;border-radius:6px;flex:0 0 32px;margin:0;padding:0;font-size:18px;line-height:1}.cat-random-button:hover{border-color:var(--accent)}.cat-random-button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@keyframes cat-random-roll{0%{transform:translateY(0)rotate(0)}25%{transform:translateY(-1px)rotate(-12deg)}50%{transform:translateY(1px)rotate(12deg)}75%{transform:translateY(-1px)rotate(-8deg)}to{transform:translateY(0)rotate(0)}}.cat-random-button.is-cat-random-animating{animation:.28s steps(4,end) cat-random-roll}.matchup-tick-center{z-index:3;pointer-events:auto;flex-direction:column;align-items:center;gap:5px;min-width:72px;display:flex;position:absolute;top:10px;left:50%;transform:translate(-50%)}.matchup-center-slot{place-items:center;display:grid}.matchup-center-slot--graph{width:32px;min-height:32px}.matchup-center-stats{flex-direction:column;align-items:center;gap:5px;min-height:76px;transition:opacity .12s;display:flex}.matchup-tick-center--stats-hidden .matchup-center-stats{visibility:hidden;opacity:0;pointer-events:none}.matchup-center-slot--total,.matchup-stats-divider,.tick-count{pointer-events:none}.matchup-center-slot--total{color:#f7fafc;text-align:center;white-space:nowrap;gap:2px;line-height:1}.matchup-total-label{color:var(--text-muted);letter-spacing:.08em;font-size:9px;font-weight:800;line-height:1}#total-population{color:#f7fafc;font-family:var(--pixel);text-shadow:0 1px 2px #000000bf;font-size:18px;line-height:1}.matchup-stats-divider{border-top:1px solid #f7fafc33;width:28px}.tick-count{color:#f7fafc;font-size:12px;font-family:var(--pixel);text-align:center;white-space:nowrap;place-items:center;gap:2px;padding-top:2px;line-height:.95;display:grid}.tick-count span{display:block}#tick-total{color:var(--text-muted)}.current-match-replay-button{pointer-events:auto;color:#f7fafc;min-width:54px;font:700 9px/1 var(--pixel);cursor:pointer;background:#0a0d11c7;border:1px solid #f7fafc38;border-radius:999px;padding:5px 8px}.current-match-replay-button:hover{border-color:#f7fafc6b}.current-match-replay-button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.tick-divider{background:#8792a3;border-radius:999px;width:26px;height:1px;display:block}.matchup-center{z-index:3;pointer-events:none;place-items:center;display:grid;position:absolute;bottom:18px;left:50%;transform:translate(-50%)}.matchup-winner{pointer-events:auto;min-width:86px;max-width:100px;color:var(--text);background:var(--panel-strong);border:1px solid var(--border);cursor:pointer;font-family:var(--pixel);text-align:center;overflow-wrap:anywhere;border-radius:6px;padding:5px 8px;font-size:15px;font-weight:700;line-height:1.1;display:block}.matchup-winner:disabled{cursor:default;visibility:hidden}.controls{background:var(--panel);border:1px solid var(--border);border-radius:8px;gap:12px;padding:14px;display:grid}.replay-controls{background:color-mix(in srgb, var(--panel-strong) 82%, #6c63ff);border:1px solid #5a5f8f;border-radius:8px;gap:8px;padding:10px 12px;display:grid}.replay-controls[hidden]{display:none}.replay-controls-header,.replay-controls-actions{align-items:center;gap:8px;display:flex}.replay-controls-header{color:#f7fafc;justify-content:space-between;font-size:13px}.replay-controls-header span{color:var(--text-muted);font-family:var(--mono);font-variant-numeric:tabular-nums}.replay-controls-actions button,.replay-speed-label select{min-height:36px;color:var(--text);background:var(--panel);border:1px solid var(--border);border-radius:6px;padding:6px 9px;font-weight:700}.replay-controls-actions button{cursor:pointer}.replay-controls-actions button:disabled{cursor:default;opacity:.55}.replay-scrubber-label{flex:120px;min-width:80px}.replay-scrubber-label input{width:100%;accent-color:var(--accent)}.replay-speed-label{color:var(--text-muted);align-items:center;gap:4px;font-size:12px;display:inline-flex}.replay-speed-label select{min-height:32px;padding:4px 6px;font-size:12px}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.controls label{color:var(--text);gap:6px;font-size:14px;display:grid}.segmented-control{gap:6px;display:grid}.simulation-options{display:grid}.simulation-options-toggle{width:100%;min-height:40px;color:var(--text);border:1px solid var(--border);text-align:left;cursor:pointer;background:#242d3d;border-radius:6px;grid-template-columns:minmax(0,1fr) auto;align-items:center;padding:8px 10px;font-weight:700;display:grid}.simulation-options-toggle:hover{border-color:var(--text)}.simulation-options-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:2px}#simulation-options-summary{white-space:normal;overflow-wrap:anywhere;min-width:0;line-height:1.25}.simulation-options-chevron{color:var(--text);margin-left:8px;font-size:30px}.simulation-options-content{opacity:0;grid-template-rows:0fr;transition:grid-template-rows .18s,opacity .14s;display:grid}.simulation-options-content.is-expanded{opacity:1;grid-template-rows:1fr}.simulation-options-inner{gap:8px;min-height:0;padding-top:0;transition:padding-top .18s;display:grid;overflow:hidden}.simulation-options-content.is-expanded .simulation-options-inner{padding-top:12px}.setting-row{grid-template-columns:78px minmax(0,1fr);align-items:center;gap:6px;display:grid}.setting-row .segmented-control-options button{min-height:36px;padding:6px 8px}.setting-row-label{color:var(--text);white-space:nowrap;font-size:14px;font-weight:700}.segmented-control-options{grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;display:grid}.segmented-control-options--two{grid-template-columns:repeat(2,minmax(0,1fr))}.segmented-control-options--three{grid-template-columns:repeat(3,minmax(0,1fr))}.segmented-control-options--five{grid-template-columns:repeat(5,minmax(0,1fr))}.segmented-control-options--six{grid-template-columns:repeat(3,minmax(0,1fr))}.segmented-control-options button{min-width:0;min-height:40px;color:var(--text);background:var(--panel-strong);border:1px solid var(--border);cursor:pointer;border-radius:6px;padding:8px;font-size:14px;font-weight:700;line-height:1}.segmented-control-options button[data-speed]{font-size:18px}.segmented-control-options button[aria-pressed=true]{color:var(--text);background:var(--setting-accent);border-color:var(--setting-accent)}.segmented-control-options button:hover:not([aria-pressed=true]){color:var(--text);border-color:var(--text)}.segmented-control-options button:focus-visible{outline-offset:2px;outline:2px solid #f7fafc}@media (prefers-reduced-motion:reduce){.simulation-options-content,.simulation-options-inner,.pre-match-versus,.cat-random-button.is-cat-random-animating,#reset-button.is-reset-animating svg{transition:none;animation:none}}.cat-id-field{flex:0 0 var(--cat-image-width);min-width:0;width:var(--cat-image-width);color:var(--text);text-transform:uppercase;z-index:2;font-size:10px;line-height:1.1;display:grid;position:relative}.cat-side-a .cat-id-field{text-align:left}.cat-side-b .cat-id-field{text-align:right}.controls input,.controls select{min-width:0;color:var(--text);background:var(--panel-strong);border:1px solid var(--border);font-family:var(--pixel);border-radius:6px;padding:10px 11px}.cat-id-field input{box-sizing:border-box;color:#f7fafc;width:100%;min-width:0;min-height:32px;font-family:var(--pixel);text-align:center;background:#151b22;border:1px solid #ffffff38;border-radius:6px;padding:6px 8px;font-size:15px;font-weight:700;line-height:1.05;box-shadow:inset 0 1px #ffffff14,0 1px #00000061}.cat-id-field input:focus{outline:2px solid var(--accent);outline-offset:1px}.cat-id-field input[aria-invalid=true]{border-color:#ff758f}.cat-input-error{min-height:1.1em;color:var(--text-muted);text-align:center;text-transform:none;font-size:10px;line-height:1.1}.cat-input-error[data-state=invalid],.cat-input-error[data-state=error]{color:#ff9bad}.cat-input-error[data-state=loading]{color:#d2dbe8}.cat-input-error[data-state=resolved],.cat-input-error[data-state=idle]{color:#9fd3aa}.button-row{grid-template-columns:minmax(0,1.5fr) minmax(80px,.5fr) 48px;gap:10px;display:grid}.button-row button{cursor:pointer;border-radius:6px;min-height:44px;font-weight:700}.start-pause-control{min-width:0;display:flex}#start-pause-button{color:#11151b;background:var(--accent);border:0;border-radius:6px 0 0 6px;flex:1;min-width:0}.infinity-toggle{width:42px;color:var(--text);background:var(--panel-strong);border:1px solid var(--border);border-left:0;flex:0 0 42px;padding:0;font-size:24px;line-height:1;border-radius:0 6px 6px 0!important}.infinity-toggle.is-active{color:#11151b;background:var(--setting-accent);border-color:var(--setting-accent)}#instant-resolve-button,#export-result-button,#reset-button{color:var(--text);background:var(--panel-strong);border:1px solid var(--border)}#reset-button{width:48px;padding:0;font-size:24px;line-height:1}#reset-button svg{fill:none;stroke:currentColor;stroke-width:2.5px;stroke-linecap:round;stroke-linejoin:round;width:24px;height:24px;margin:auto;display:block}@keyframes reset-button-rotate{0%{rotate:0deg}25%{rotate:-12deg}55%{rotate:18deg}80%{rotate:-6deg}to{rotate:0deg}}#reset-button.is-reset-animating svg{transform-origin:50%;animation:.36s steps(8,end) reset-button-rotate}@media (width>=600px){#reset-button svg{transform:translateY(1px)}}.button-row button:disabled{color:var(--text);background:var(--panel-strong);border:1px solid var(--border);cursor:default}.share{width:100%;min-height:40px;color:var(--text);background:var(--panel);border:1px solid var(--border);cursor:pointer;border-radius:6px;justify-content:center;align-items:center;gap:8px;padding:8px 10px;font-weight:700;display:flex}.share svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:18px;height:18px}.result-panel{background:var(--panel);border:1px solid var(--border);border-radius:8px;gap:12px;padding:14px;display:grid}.result-popup{z-index:4;background:#181e27f7;max-height:calc(100% - 16px);position:absolute;bottom:8px;left:8px;right:8px;overflow:auto;box-shadow:0 8px 20px #00000080}.result-popup[hidden]{display:none}.result-header{grid-template-columns:minmax(0,1fr) auto;gap:4px;display:grid}.result-header>div{gap:4px;display:grid}.result-popup-close{width:30px;height:30px;color:var(--text);background:var(--panel-strong);border:1px solid var(--border);cursor:pointer;border-radius:6px;padding:0;font-size:22px;line-height:1}.result-popup-close:hover{border-color:var(--accent)}.result-popup-close:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.result-header span,.result-grid dt{color:var(--text);font-size:13px}.result-header strong{color:#f7fafc;overflow-wrap:anywhere;font-size:20px}.result-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0;display:grid}.result-grid div{background:var(--panel-strong);border:1px solid var(--border);border-radius:6px;gap:3px;min-width:0;padding:10px;display:grid}.result-grid dd{color:#f7fafc;overflow-wrap:anywhere;min-width:0;margin:0;font-weight:700}.favorite-evolutions-panel{background:var(--panel);border:1px solid var(--border);border-radius:8px;gap:8px;padding:12px 14px;display:grid}.favorite-evolutions-header{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.favorite-evolutions-header h2{color:#f7fafc;margin:0;font-size:16px;line-height:1.15}.favorite-evolutions-status{color:#ffd166;text-align:right;min-width:0;font-size:12px;line-height:1.2}.favorite-evolutions-list{overscroll-behavior-x:contain;scroll-snap-type:x proximity;grid-auto-columns:minmax(142px,164px);grid-auto-flow:column;gap:8px;padding:2px;display:grid;overflow-x:auto}.favorite-evolution-card{background:var(--panel-strong);border:1px solid var(--border);scroll-snap-align:start;border-radius:6px;grid-template-rows:repeat(3,minmax(0,1fr));grid-template-columns:minmax(0,1fr) 48px;min-width:0;display:grid;overflow:hidden}.favorite-evolution-load{min-width:0;color:var(--text);text-align:left;cursor:pointer;background:0 0;border:0;grid-row:1/-1;gap:3px;padding:8px 9px;display:grid}.favorite-evolution-load:hover{background:#ffffff0d}.favorite-evolution-load strong{color:#f7fafc;white-space:nowrap;font-size:15px;line-height:1.1}.favorite-evolution-counts{color:var(--text-muted);font-variant-numeric:tabular-nums;align-items:center;gap:4px;font-size:12px;display:inline-flex}.favorite-evolution-peak{color:var(--text-muted);font-variant-numeric:tabular-nums;font-size:11px;line-height:1.15}.favorite-evolution-swatch{border:1px solid #ffffff8c;border-radius:50%;flex:0 0 8px;width:8px;height:8px;display:inline-block;box-shadow:0 0 0 1px #00000073}.favorite-evolution-swatch-a{background:var(--favorite-cat-a)}.favorite-evolution-swatch-b{background:var(--favorite-cat-b)}.favorite-evolution-replay,.favorite-evolution-copy,.favorite-evolution-toggle,.recent-match-favorite,.recent-match-replay{color:var(--text-muted);border:0;border-left:1px solid var(--border);cursor:pointer;background:#00000029;place-items:center;padding:0;font-size:19px;line-height:1;display:grid}.favorite-evolution-replay,.favorite-evolution-copy,.recent-match-replay{font-size:11px;font-weight:700}.favorite-evolution-replay:hover,.favorite-evolution-copy:hover,.favorite-evolution-toggle:hover,.recent-match-favorite:hover,.recent-match-replay:hover{color:#ffd166;background:#ffffff0d}.favorite-evolution-toggle.is-favorited,.recent-match-favorite.is-favorited{color:#ffd166}.favorite-evolution-load:focus-visible,.favorite-evolution-replay:focus-visible,.favorite-evolution-copy:focus-visible,.favorite-evolution-toggle:focus-visible,.recent-match-favorite:focus-visible,.recent-match-replay:focus-visible,.recent-match-load:focus-visible,.recent-match-copy:focus-visible{z-index:1;outline:2px solid var(--accent);outline-offset:-2px;position:relative}.recent-matches-panel{background:var(--panel);border:1px solid var(--border);border-radius:8px;gap:8px;padding:14px;display:grid}.recent-matches-header{justify-content:space-between;align-items:baseline;display:flex}.recent-matches-header h2{color:#f7fafc;margin:0;font-size:20px;line-height:1.15}.recent-matches-header p{color:var(--text);font-size:14px}.clear-recent-matches-button{color:var(--text);text-underline-offset:2px;white-space:nowrap;cursor:pointer;background:0 0;border:0;padding:2px 0;font-size:12px;text-decoration:underline}.clear-recent-matches-button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.recent-matches-list{gap:6px;margin:0;padding:0;list-style:none;display:grid}.recent-match-empty,.recent-match-item{background:var(--panel-strong);border:1px solid var(--border);border-radius:6px;min-width:0}.recent-match-empty{color:var(--text-muted);padding:10px;font-size:13px}.recent-match-item{grid-template-columns:minmax(0,1fr) 44px 58px 48px;align-items:stretch;display:grid;position:relative;overflow:hidden}.recent-match-item:before{z-index:2;background:var(--recent-pair-stripe);content:"";pointer-events:none;width:4px;position:absolute;inset:0 auto 0 0}.recent-match-load{min-width:0;color:var(--text);text-align:left;cursor:pointer;background:0 0;border:0;gap:1px;padding:8px 10px;display:grid}.recent-match-load:hover{background:#ffffff0d}.recent-match-total{color:#f7fafc;overflow-wrap:anywhere;font-size:16px;line-height:1.2}.recent-match-participants,.recent-match-details,.recent-match-peak,.recent-match-time{color:var(--text);overflow-wrap:anywhere;font-size:13px;line-height:1.25}.recent-match-participants,.recent-match-details,.recent-match-time,.recent-match-total{font-variant-numeric:tabular-nums}.recent-match-participants{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:7px;width:min(100%,210px);display:grid}.recent-match-participant{gap:2px;min-width:0;display:grid}.recent-match-participant:last-child{text-align:right}.recent-match-count{align-items:center;gap:4px;font-weight:700;display:inline-flex}.recent-match-participant:last-child .recent-match-count{justify-content:flex-end}.recent-match-cat-id{color:var(--text-muted);overflow-wrap:anywhere}.recent-match-pairing{opacity:.76;align-self:center;font-weight:800}.recent-match-swatch{border:1px solid #ffffff8c;border-radius:50%;flex:0 0 9px;width:9px;height:9px;display:inline-block;box-shadow:0 0 0 1px #00000073}.recent-match-swatch-a{background:var(--recent-cat-a)}.recent-match-swatch-b{background:var(--recent-cat-b)}.recent-match-time{opacity:.78;margin-top:3px}.recent-match-copy{min-height:100%;color:var(--text);border:0;border-left:1px solid var(--border);cursor:pointer;background:#00000029;place-items:center;padding:0;display:grid}.recent-match-copy:hover{color:var(--accent);background:#ffffff0d}.recent-match-copy svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:18px;height:18px}.recent-match-copy-success,.recent-match-copy[data-copy-state=success] .recent-match-copy-icon{display:none}.recent-match-copy[data-copy-state=success] .recent-match-copy-success{color:var(--accent);display:block}.diagnostics-panel{background:var(--panel);border:1px solid var(--border);border-radius:8px;gap:12px;padding:14px;display:none}.diagnostics-header{gap:12px;display:grid}.diagnostics-header h2{color:#f7fafc;margin:0;font-size:20px;line-height:1.15}.diagnostics-header p{color:var(--text-muted);font-size:14px}.diagnostics-actions{grid-template-columns:1fr 1fr;gap:10px;display:grid}.diagnostics-actions button{min-height:40px;color:var(--text);background:var(--panel-strong);border:1px solid var(--border);cursor:pointer;border-radius:6px;padding:8px 12px;font-weight:700}.diagnostics-actions button:first-child{color:#11151b;background:var(--setting-accent);border-color:#0000}.diagnostics-actions button:disabled{cursor:wait;opacity:.7}.diagnostics-controls{gap:10px;display:grid}.diagnostics-controls label{color:var(--text-muted);gap:6px;font-size:14px;display:grid}.diagnostics-controls input,.diagnostics-controls select{min-width:0;color:var(--text);background:var(--panel-strong);border:1px solid var(--border);border-radius:6px;padding:9px 10px}.diagnostics-controls input[type=number]{font-family:var(--mono)}.diagnostics-controls .checkbox-label{align-items:center;gap:9px;min-height:40px;padding:0 2px;display:flex}.diagnostics-controls .checkbox-label input{width:18px;height:18px;accent-color:var(--setting-accent);margin:0}#diagnostics-output{max-height:260px;color:var(--text);border:1px solid var(--border);font-family:var(--mono);white-space:pre-wrap;text-align:left;background:#0c1016;border-radius:6px;margin:0;padding:12px;font-size:12px;line-height:1.45;overflow:auto}@media (width>=680px){.duel-app{gap:14px;width:min(100%,480px);padding-block:18px}.diagnostics-header{grid-template-columns:1fr auto;align-items:center}.diagnostics-controls{grid-template-columns:repeat(4,minmax(0,1fr));align-items:end}}@media (width<=599px){.replay-controls-header{grid-template-columns:minmax(0,1fr) auto auto;display:grid}.controls,.controls>*,.button-row,.segmented-control,.segmented-control-options,.simulation-options,.simulation-options-toggle{box-sizing:border-box;min-width:0;max-width:100%}.button-row{grid-template-columns:minmax(0,1fr) minmax(0,.72fr) 44px;gap:6px}.button-row button,.segmented-control-options button,.simulation-options-toggle{box-sizing:border-box;min-width:0;max-width:100%}.replay-controls-actions{grid-template-columns:auto minmax(0,1fr) auto;display:grid}.replay-scrubber-label{min-width:0}.replay-speed-label{grid-column:1/3}#exit-replay-button{grid-column:3}.cat-id-field input{font-family:var(--pixel);font-size:clamp(12px,3vw,15px);font-weight:700}.favorite-evolution-card{grid-template-rows:auto 42px;grid-template-columns:repeat(3,minmax(0,1fr))}.favorite-evolution-load{grid-area:1/1/auto/-1}.favorite-evolution-replay,.favorite-evolution-copy,.favorite-evolution-toggle{border-top:1px solid var(--border);min-height:42px}.favorite-evolution-replay{border-left:0;grid-area:2/1}.favorite-evolution-copy{grid-area:2/2}.favorite-evolution-toggle{grid-area:2/3}}
