*,:before,:after{box-sizing:border-box}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font:16px/1.5 system-ui,Segoe UI,Roboto,sans-serif}body{background:#fff;margin:0}#root{min-height:100svh}:root{--bg:#fdf4f8;--panel:#fbe9f2;--surface:#fff;--text:#3d2a44;--text-muted:#6b5574;--text-faint:#8a7592;--border:#e7cfe0;--border-soft:#f0d9ea;--frame:#b9a2c2;--accent:#d6428f;--accent-contrast:#fff;--accent-tint:#f9dcec;--danger:#c0392b;--danger-tint:#fbeaea;--warn:#b45309;--warn-tint:#fde9d0;--caution:#92720c;--caution-tint:#fbf0c7;--shadow:#3d2a4424}:root[data-theme=dark]{--bg:#1c1420;--panel:#2c2033;--surface:#241a2b;--text:#f3ead9;--text-muted:#a897ab;--text-faint:#7d6d85;--border:#443750;--border-soft:#382c42;--frame:#6b5a78;--accent:#c9a227;--accent-contrast:#1c1420;--accent-tint:#3a2e1c;--danger:#e0574a;--danger-tint:#3a2320;--warn:#f0a030;--warn-tint:#4a3218;--caution:#e0c840;--caution-tint:#453a14;--shadow:#00000080}html,body{background:var(--bg);transition:background-color .2s}input,select,textarea,button{font:inherit}.app{max-width:860px;color:var(--text);background:var(--bg);min-height:100svh;margin:0 auto;padding:2rem 1.5rem 4rem;transition:background-color .2s,color .2s}@media (prefers-reduced-motion:reduce){html,body,.app{transition:none}}:root[data-native=true]{-webkit-tap-highlight-color:transparent}:root[data-native=true] body{overscroll-behavior-y:none}:root[data-native=true] button,:root[data-native=true] a{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}:root[data-native=true] .app{padding-top:calc(2rem + env(safe-area-inset-top));padding-right:calc(1.5rem + env(safe-area-inset-right));padding-bottom:calc(4rem + 4.5rem + env(safe-area-inset-bottom));padding-left:calc(1.5rem + env(safe-area-inset-left))}:root[data-native=true] .app-sticky{top:calc(.75rem + env(safe-area-inset-top))}:root[data-native=true] .matchup-opponent-cards,:root[data-native=true] .endboard-card-cell{justify-content:center}input[type=checkbox]{accent-color:var(--accent)}.card-chip span{color:var(--text)}.app-sticky{z-index:40;background:var(--surface);border:1px solid var(--border);box-shadow:0 10px 30px var(--shadow);border-radius:14px;margin-bottom:1.5rem;position:sticky;top:.75rem}.app-topbar{justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.25rem .85rem;display:flex}.site-header{width:fit-content;color:inherit;align-items:center;gap:.6rem;text-decoration:none;display:flex}.site-logo{flex-shrink:0;width:44px;height:auto}.theme-toggle{border:1px solid var(--border);background:var(--surface);width:36px;height:36px;color:var(--text-muted);cursor:pointer;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.theme-toggle:hover{border-color:var(--accent);color:var(--accent)}h1{margin:0 0 .25rem;font-size:1.75rem}.subtitle{color:var(--text-muted);margin-bottom:1.5rem}.app-footer{border-top:1px solid var(--border-soft);justify-content:center;gap:1.5rem;margin-top:2.5rem;padding-top:1.25rem;display:flex}.app-footer a{color:var(--text-muted);font-size:.85rem;text-decoration:none}.app-footer a:hover{color:var(--accent);text-decoration:underline}.matchup-bar{border-top:1px solid var(--border-soft);flex-wrap:wrap;align-items:flex-end;gap:.75rem 1rem;padding:.85rem 1.25rem 1.1rem;display:flex}.matchup-picker-toggle{border:none;border-top:1px solid var(--border-soft);width:100%;color:var(--text);cursor:pointer;text-align:left;background:0 0;justify-content:space-between;align-items:center;gap:.75rem;padding:.85rem 1.25rem;font-size:.95rem;font-weight:600;display:flex}.matchup-bar .field.combobox{flex:170px;min-width:150px}.matchup-bar .form-actions{flex:auto}.bookmark-list{flex-direction:column;gap:.4rem;margin-bottom:1.25rem;display:flex}.bookmark-list-label{text-transform:uppercase;letter-spacing:.04em;color:var(--text-faint);font-size:.75rem;font-weight:700}.bookmark-chips{flex-wrap:wrap;gap:.4rem;display:flex}.bookmark-chip{border:1px solid var(--border);background:var(--surface);border-radius:999px;align-items:stretch;display:flex;overflow:hidden}.bookmark-chip button{cursor:pointer;color:var(--text-muted);background:0 0;border:none;font-size:.85rem}.bookmark-chip>button:first-child{padding:.35rem .4rem .35rem .75rem}.bookmark-remove{color:var(--text-faint);border-left:1px solid var(--border-soft);padding:.35rem .6rem;font-size:1rem;line-height:1}.bookmark-remove:hover{color:var(--danger);background:var(--danger-tint)}.bottom-toolbar{z-index:50;background:var(--surface);border-top:1px solid var(--border);box-shadow:0 -6px 20px var(--shadow);padding:.5rem calc(.5rem + env(safe-area-inset-right)) calc(.5rem + env(safe-area-inset-bottom)) calc(.5rem + env(safe-area-inset-left));display:flex;position:fixed;bottom:0;left:0;right:0}.toolbar-tab{color:var(--text-faint);background:0 0;border:none;flex-direction:column;flex:1;align-items:center;gap:.2rem;padding:.35rem 0;font-size:.7rem;font-weight:600;display:flex}.toolbar-tab.active{color:var(--accent)}.toolbar-tab:disabled{opacity:.35}.bookmark-tiles{flex-direction:column;gap:.75rem;padding-top:.5rem;display:flex}.bookmark-tiles-empty{color:var(--text-muted);text-align:center;padding:2rem 1rem;line-height:1.5}.bookmark-tile{border:1px solid var(--border);background:var(--surface);box-shadow:0 2px 10px var(--shadow);touch-action:pan-y;border-radius:16px;align-items:stretch;display:flex}.bookmark-tile.dragging{z-index:10;box-shadow:0 10px 30px var(--shadow);touch-action:none}.bookmark-tile-body{text-align:left;color:var(--text);background:0 0;border:none;flex:1;min-height:3.5rem;padding:1.25rem 1rem;font-size:1.05rem;font-weight:600}.bookmark-tile-remove{border:none;border-left:1px solid var(--border-soft);color:var(--text-faint);background:0 0;padding:0 1.1rem;font-size:1.3rem;line-height:1}.bookmark-tile-remove:hover{color:var(--danger);background:var(--danger-tint)}.form-actions{align-items:center;gap:.75rem;display:flex}.bookmark-toggle{border:1px solid var(--border);background:var(--surface);width:44px;height:44px;color:var(--text-muted);cursor:pointer;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;font-size:1.3rem;line-height:1;display:flex}.bookmark-toggle.active{border-color:var(--accent);color:var(--accent);background:var(--accent-tint)}.bookmark-toggle:disabled{color:var(--text-faint);cursor:not-allowed}.field{flex-direction:column;gap:.4rem;font-weight:600;display:flex}.field-label{text-transform:uppercase;letter-spacing:.05em;color:var(--text-faint);font-size:.7rem;font-weight:700}.field select{border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:8px;padding:.5rem;font-weight:400}.combobox-wrapper{position:relative}.combobox-wrapper input{box-sizing:border-box;border:1px solid var(--border);background:var(--surface);width:100%;color:var(--text);border-radius:8px;padding:.5rem;font-weight:400}.combobox-wrapper input:focus{border-color:var(--accent);outline:none}.combobox-suggestions{z-index:10;background:var(--surface);border:1px solid var(--border);box-shadow:0 8px 20px var(--shadow);border-radius:8px;max-height:220px;margin:0;padding:.25rem;list-style:none;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow-y:auto}.combobox-suggestions li{cursor:pointer;border-radius:6px;padding:.5rem .6rem;font-size:.9rem;font-weight:400}.combobox-suggestions li.highlighted{background:var(--accent-tint)}.combobox-suggestions li.no-results{cursor:default;color:var(--text-faint);font-style:italic}.collapsible-caret{color:var(--text-faint);font-size:1.6rem;line-height:1;transition:transform .2s;display:inline-block}.collapsible-caret.closed{transform:rotate(90deg)}.card-picker-field{position:relative}.card-picker-trigger{box-sizing:border-box;border:1px solid var(--border);background:var(--surface);width:100%;color:var(--text);font:inherit;cursor:pointer;text-align:left;border-radius:8px;justify-content:space-between;align-items:center;gap:.5rem;padding:.5rem .65rem;font-weight:400;display:flex}.card-picker-trigger:hover,.card-picker-trigger[aria-expanded=true]{border-color:var(--accent)}.card-picker-popover{z-index:30;background:var(--surface);border:1px solid var(--border);width:min(440px,90vw);max-width:calc(100vw - 2rem);box-shadow:0 12px 28px var(--shadow);border-radius:10px;flex-direction:column;gap:.75rem;padding:.85rem;animation:.12s popover-in;display:flex;position:absolute;top:calc(100% + 6px);right:0}@keyframes popover-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.card-picker-popover{animation:none}}.category-filter{flex-wrap:wrap;gap:.4rem;display:flex}.category-filter button{background:var(--surface);border:1px solid var(--border);cursor:pointer;color:var(--text-muted);border-radius:999px;padding:.3rem .75rem;font-size:.8rem;font-weight:400}.category-filter button.active{background:var(--accent);border-color:var(--accent);color:var(--accent-contrast)}.category-filter-collapsible{flex-direction:column;gap:.5rem;display:flex}.category-filter-toggle{border:1px solid var(--border);background:var(--surface);color:var(--text-muted);cursor:pointer;text-align:left;border-radius:8px;justify-content:space-between;align-items:center;gap:.5rem;padding:.4rem .65rem;font-size:.8rem;font-weight:600;display:flex}.category-filter-toggle:hover,.category-filter-toggle[aria-expanded=true]{border-color:var(--accent)}.card-picker{flex-direction:column;gap:.75rem;max-height:320px;display:flex;overflow-y:auto}.card-group-title{text-transform:uppercase;letter-spacing:.04em;color:var(--text-faint);margin:0 0 .4rem;font-size:.75rem;font-weight:700}.card-group-cards{flex-wrap:wrap;gap:.5rem;display:flex}.card-chip{border:2px solid var(--border);background:var(--surface);cursor:pointer;text-align:left;border-radius:8px;align-items:center;gap:.5rem;padding:.35rem .6rem .35rem .35rem;font-size:.85rem;font-weight:400;display:flex}.card-chip img{aspect-ratio:421/614;object-fit:contain;border-radius:4px;width:32px;height:auto}.card-chip.selected{border-color:var(--accent);background:var(--accent-tint)}button[type=submit]{background:var(--accent);color:var(--accent-contrast);cursor:pointer;border:none;border-radius:8px;padding:.6rem 1.4rem;font-weight:600}button[type=submit]:disabled{background:var(--text-faint);cursor:not-allowed}.error{color:var(--danger);margin-top:1rem}.results{margin-top:2rem}.results h2{margin-bottom:1rem}.result-tabs{border-bottom:1px solid var(--border-soft);gap:.25rem;margin-bottom:1.25rem;display:flex}.result-tab{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px;padding:.6rem .9rem;font-size:.9rem;font-weight:600}.result-tab.active{color:var(--accent);border-bottom-color:var(--accent)}.result-tab-count{color:var(--text-faint);margin-left:.4rem;font-size:.75rem;font-weight:700}.result-tab.active .result-tab-count{color:var(--accent)}.result-tab-carousel{align-items:center;gap:.75rem;margin-bottom:1.25rem;display:flex}.result-tab-arrow{border:1px solid var(--border);background:var(--surface);width:36px;height:36px;color:var(--text-muted);cursor:pointer;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.result-tab-arrow:disabled{opacity:.3;cursor:not-allowed}.result-tab-carousel-viewport{flex:1;justify-content:center;min-width:0;display:flex;overflow:hidden}.result-tab-carousel-active{text-align:center;color:var(--accent);white-space:nowrap;font-size:.95rem;font-weight:700}.result-tabpanel-wrap{touch-action:pan-y}.result-tabpanel{animation:.18s result-tabpanel-fade-in}@keyframes result-tabpanel-fade-in{0%{opacity:0}to{opacity:1}}.tip-list{padding-left:1.2rem;line-height:1.5}.banlist-badge{border-radius:999px;padding:.15rem .55rem;font-size:.7rem;font-weight:600}.banlist-badge.forbidden{color:var(--danger);background:var(--danger-tint)}.banlist-badge.limited{color:var(--warn);background:var(--warn-tint)}.banlist-badge.semi-limited{color:var(--caution);background:var(--caution-tint)}.empty{color:var(--text-faint);font-style:italic}.hint{color:var(--text-faint);margin:-.5rem 0 .75rem;font-size:.85rem}.matchup-table{flex-direction:column;gap:1rem;display:flex}.matchup-row{background:var(--panel);border-radius:10px;grid-template-columns:auto 1fr 240px;align-items:start;gap:1rem;padding:1rem;display:grid}.matchup-my-card{text-align:center}.matchup-my-cards-cluster{flex-wrap:wrap;justify-content:center;gap:.35rem;margin:0 0 .4rem;display:flex}.matchup-my-card img{aspect-ratio:421/614;object-fit:contain;border:4px solid var(--frame);border-radius:8px;width:84px;height:auto}.matchup-card-name{max-width:200px;margin:0 auto;font-size:.8rem;font-weight:600}.matchup-opponent-cards{flex-wrap:wrap;align-content:flex-start;gap:.5rem;display:flex}.opponent-card-thumb{border:3px solid var(--frame);background:var(--surface);cursor:pointer;border-radius:8px;flex-direction:column;align-items:center;min-width:76px;padding:.3rem;font-family:inherit;display:flex;position:relative}.opponent-card-thumb.active:after{content:"";pointer-events:none;background:linear-gradient(var(--accent), var(--accent)) top left / 14px 3px no-repeat, linear-gradient(var(--accent), var(--accent)) top left / 3px 14px no-repeat, linear-gradient(var(--accent), var(--accent)) top right / 14px 3px no-repeat, linear-gradient(var(--accent), var(--accent)) top right / 3px 14px no-repeat, linear-gradient(var(--accent), var(--accent)) bottom left / 14px 3px no-repeat, linear-gradient(var(--accent), var(--accent)) bottom left / 3px 14px no-repeat, linear-gradient(var(--accent), var(--accent)) bottom right / 14px 3px no-repeat, linear-gradient(var(--accent), var(--accent)) bottom right / 3px 14px no-repeat;position:absolute;inset:-7px}.opponent-card-cluster{gap:4px;margin:0 0 .25rem;display:flex}.opponent-card-icon-wrap{flex:none;line-height:0;position:relative}.opponent-card-icon-wrap img{aspect-ratio:421/614;object-fit:contain;border-radius:3px;width:56px;height:auto;display:block}.opponent-card-icon-badge{background:var(--surface);border:2px solid var(--surface);width:18px;height:18px;box-shadow:0 1px 3px var(--shadow);border-radius:999px;justify-content:center;align-items:center;font-size:11px;line-height:1;display:flex;position:absolute;bottom:-4px;right:-4px}.opponent-card-thumb span{text-align:center;color:var(--text);font-size:.68rem;line-height:1.15}.situation-icon{aspect-ratio:421/614;background:var(--accent-tint);width:56px;color:var(--accent);border-radius:4px;justify-content:center;align-items:center;margin:0 0 .25rem;font-size:1.3rem;display:flex}.endboard-type-tabs{margin-top:.25rem;margin-bottom:1rem}.endboard-table{border-collapse:collapse;width:100%}.endboard-table th{text-align:left;text-transform:uppercase;color:var(--text-faint);border-bottom:1px solid var(--border-soft);padding:.4rem .6rem;font-size:.75rem}.endboard-table td{border-bottom:1px solid var(--border-soft);vertical-align:top;padding:.6rem}.endboard-card-cell{align-items:center;gap:.6rem;min-width:180px;display:flex}.endboard-card-image-wrap{flex-shrink:0;line-height:0;position:relative}.endboard-card-image-wrap img{aspect-ratio:421/614;object-fit:contain;border-radius:6px;width:56px;height:auto;display:block}.endboard-icon-strip{gap:2px;display:flex;position:absolute;bottom:-4px;right:-4px}.endboard-icon-badge{background:var(--surface);border:2px solid var(--surface);width:18px;height:18px;box-shadow:0 1px 3px var(--shadow);border-radius:999px;justify-content:center;align-items:center;font-size:11px;line-height:1;display:flex}.endboard-card-name{font-size:.85rem;font-weight:600}.matchup-notes-panel h4{margin:0 0 .3rem;font-size:.9rem}.matchup-notes-panel p{color:var(--text-muted);margin:0 0 .4rem;font-size:.85rem}.card-ref{color:var(--accent);text-decoration:underline;-webkit-text-decoration-color:color-mix(in srgb, var(--accent) 35%, transparent);text-decoration-color:color-mix(in srgb, var(--accent) 35%, transparent);text-underline-offset:2px;cursor:default;position:relative}.card-ref-tooltip{z-index:60;background:var(--surface);box-shadow:0 8px 20px var(--shadow);border-radius:8px;padding:4px;display:none;position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%)}.card-ref:hover .card-ref-tooltip{display:block}.card-ref-tooltip img{aspect-ratio:421/614;object-fit:contain;border-radius:6px;width:120px;height:auto;display:block}.card-hover-zoom{flex-shrink:0;line-height:0;display:inline-block;position:relative}.card-hover-zoom-preview{z-index:60;background:var(--surface);box-shadow:0 8px 20px var(--shadow);pointer-events:none;border-radius:8px;padding:4px;display:none;position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%)}.card-hover-zoom:hover .card-hover-zoom-preview,.opponent-card-icon-wrap:hover .card-hover-zoom-preview,.endboard-card-image-wrap:hover .card-hover-zoom-preview{display:block}.card-hover-zoom-preview-img{aspect-ratio:421/614!important;object-fit:contain!important;border:none!important;border-radius:6px!important;width:160px!important;height:auto!important;margin:0!important;display:block!important}.impact-label{text-transform:capitalize;font-weight:600}.timing-label{font-weight:600}@media (width<=640px){.matchup-row{grid-template-columns:1fr}.matchup-bar .field.combobox{flex-basis:100%}.card-picker-popover{width:100%;left:0;right:0}}.cheatsheet-panel{background:var(--panel);border-radius:10px;margin-bottom:1.5rem;padding:1rem}.cheatsheet-panel h3{margin:0 0 .75rem;font-size:1rem}.cheatsheet-options{flex-wrap:wrap;align-items:flex-start;gap:1.25rem;margin-bottom:.9rem;display:flex}.cheatsheet-option{cursor:pointer;align-items:center;gap:.35rem;font-size:.9rem;font-weight:400;display:flex}.cheatsheet-option-group{flex-direction:column;gap:.5rem;display:flex}.cheatsheet-suboptions{flex-wrap:wrap;gap:.75rem;padding-left:1.5rem;display:flex}.cheatsheet-render-target{width:800px;position:fixed;top:0;left:-10000px}.cheatsheet{box-sizing:border-box;color:#1a1a1a;background:#fff;width:800px;padding:24px;font-family:system-ui,sans-serif}.cheatsheet-title{margin:0 0 16px;font-size:1.4rem}.cheatsheet-section{margin-bottom:18px}.cheatsheet-section h3{border-bottom:2px solid #4f46e5;margin:0 0 8px;padding-bottom:4px;font-size:1.05rem}.cheatsheet-section ul{margin:0;padding-left:1.1rem;font-size:.85rem;line-height:1.4}.cheatsheet-group-header{margin:10px 0 4px;font-size:.9rem;font-weight:700}.cheatsheet-entry{align-items:flex-start;gap:8px;padding:4px 0;font-size:.82rem;list-style:none;display:flex}.cheatsheet-entry-cards{flex-shrink:0;gap:2px;display:flex}.cheatsheet-thumb{aspect-ratio:421/614;object-fit:contain;border-radius:4px;flex-shrink:0;width:40px;height:auto}.cheatsheet-entry p{margin:2px 0 0}.cheatsheet-impact{color:#666;text-transform:capitalize;font-size:.75rem}
