:root{color-scheme:light dark;--color-bg: #f4f5f7;--color-surface: #ffffff;--color-border: #d7dbe0;--color-text: #1a1d21;--color-text-muted: #5b6572;--color-primary: #2f6fed;--color-primary-hover: #1f57c9;--color-danger: #d64545;--color-danger-hover: #b53434;--color-success: #1f8a4c;--color-focus: #2f6fed}@media (prefers-color-scheme: dark){:root{--color-bg: #14161a;--color-surface: #1d2127;--color-border: #333a44;--color-text: #eef1f5;--color-text-muted: #a2acb8;--color-primary: #5a8dff;--color-primary-hover: #7fa4ff;--color-danger: #ef6a6a;--color-danger-hover: #f18888;--color-success: #3fbd77;--color-focus: #5a8dff}}*{box-sizing:border-box}body{margin:0;background:var(--color-bg);color:var(--color-text);font-family:system-ui,-apple-system,Segoe UI,sans-serif}button,input,select{font-family:inherit}:focus-visible{outline:3px solid var(--color-focus);outline-offset:2px}.app-shell{max-width:760px;margin:0 auto;padding:1.5rem 1rem 3rem}.app-shell:has(.auction-screen),.app-shell:has(.team-selection-screen){max-width:1100px}.app-header{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;margin-bottom:1.5rem;flex-wrap:wrap}.app-title{margin:0;font-size:1.5rem}.app-subtitle{margin:.15rem 0 0;color:var(--color-text-muted);font-size:.9rem}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:10px;padding:1.25rem;margin-bottom:1rem}.card h2{margin-top:0;font-size:1.1rem}.card-list{display:flex;flex-direction:column;gap:.6rem}.stack{display:flex;flex-direction:column;gap:.75rem}.row{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}.row-between{display:flex;align-items:center;justify-content:space-between;gap:.6rem;flex-wrap:wrap}.btn{cursor:pointer;border:1px solid transparent;border-radius:6px;padding:.55rem 1rem;font-size:.95rem;font-weight:600;line-height:1.2;transition:background-color .15s ease}.btn:disabled{cursor:default;opacity:.55}.btn-primary{background:var(--color-primary);color:#fff}.btn-primary:hover:not(:disabled){background:var(--color-primary-hover)}.btn-secondary{background:transparent;color:var(--color-text);border-color:var(--color-border)}.btn-secondary:hover:not(:disabled){border-color:var(--color-primary)}.btn-danger{background:transparent;color:var(--color-danger);border-color:var(--color-danger)}.btn-danger:hover:not(:disabled){background:var(--color-danger);color:#fff}.btn-link{background:none;border:none;color:var(--color-primary);padding:0;font-weight:600;cursor:pointer}.field{display:flex;flex-direction:column;gap:.3rem}.field label{font-size:.85rem;font-weight:600;color:var(--color-text-muted)}.field input[type=text],.field select{padding:.5rem .6rem;border:1px solid var(--color-border);border-radius:6px;background:var(--color-surface);color:var(--color-text);font-size:1rem}.badge{display:inline-flex;align-items:center;gap:.35rem;padding:.15rem .55rem;border-radius:999px;font-size:.78rem;font-weight:600;background:var(--color-border);color:var(--color-text)}.badge-success{background:color-mix(in srgb,var(--color-success) 20%,transparent);color:var(--color-success)}.badge-muted{background:transparent;border:1px solid var(--color-border);color:var(--color-text-muted)}.dot{width:.55rem;height:.55rem;border-radius:50%;display:inline-block;flex-shrink:0}.dot-connected{background:var(--color-success)}.dot-disconnected{background:var(--color-danger)}.dot-pending{background:#d9a441}.player-color-swatch{width:.85rem;height:.85rem;border-radius:50%;display:inline-block;border:1px solid rgba(0,0,0,.25);flex-shrink:0}.color-picker{display:flex;gap:.5rem;flex-wrap:wrap}.color-swatch-button{width:2rem;height:2rem;border-radius:50%;border:2px solid var(--color-border);cursor:pointer;padding:0}.color-swatch-button[aria-pressed=true]{border-color:var(--color-text);box-shadow:0 0 0 2px var(--color-surface),0 0 0 4px var(--color-text)}.color-swatch-button:disabled{cursor:default;opacity:.4}.banner{border-radius:8px;padding:.75rem 1rem;font-size:.92rem}.banner-error{background:color-mix(in srgb,var(--color-danger) 15%,transparent);border:1px solid var(--color-danger);color:var(--color-danger)}.banner-info{background:color-mix(in srgb,var(--color-primary) 12%,transparent);border:1px solid var(--color-primary);color:var(--color-text)}.banner-success{background:color-mix(in srgb,var(--color-success) 15%,transparent);border:1px solid var(--color-success);color:var(--color-success)}.participant-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.4rem}.participant-row{display:flex;align-items:center;gap:.6rem;padding:.5rem .6rem;border:1px solid var(--color-border);border-radius:8px;flex-wrap:wrap}.participant-row.is-self{border-color:var(--color-primary)}.participant-name{font-weight:600}.participant-flags{margin-left:auto;display:flex;gap:.35rem;flex-wrap:wrap}.hint{color:var(--color-text-muted);font-size:.85rem}.loading-text:after{content:"…"}.auction-header{align-items:flex-start}.auction-progress{margin:.25rem 0 0;font-weight:600}.auction-main-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:1rem;align-items:start}.auction-side-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}@media (max-width: 860px){.auction-main-grid,.auction-side-grid{grid-template-columns:1fr}}.countdown{display:flex;align-items:center;gap:.5rem}.countdown-value{font-variant-numeric:tabular-nums;font-size:1.4rem;font-weight:700}.countdown-urgent .countdown-value{color:var(--color-danger)}.countdown-paused .countdown-value{color:var(--color-text-muted)}.pokemon-name{margin:0;font-size:1.6rem;display:flex;align-items:center;gap:.6rem}.badge-shiny{background:color-mix(in srgb,gold 35%,transparent);color:#7a5b00}.type-badge{font-weight:700;text-transform:uppercase;font-size:.72rem;letter-spacing:.02em}.base-stats{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.5rem;margin-top:.75rem}.base-stat{display:flex;flex-direction:column;align-items:center;background:var(--color-bg);border-radius:6px;padding:.4rem .2rem}.base-stat-total{font-weight:700}.base-stat-label{font-size:.72rem;color:var(--color-text-muted)}.base-stat-value{font-variant-numeric:tabular-nums;font-weight:600}@media (max-width: 600px){.base-stats{grid-template-columns:repeat(4,minmax(0,1fr))}}.learnpool{margin-top:.75rem}.learnpool-list{columns:2;margin:.5rem 0 0;padding-left:1.1rem}.knowledge-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.5rem 0;border-bottom:1px solid var(--color-border);flex-wrap:wrap}.knowledge-row-block{align-items:flex-start}.knowledge-label{font-weight:600;color:var(--color-text-muted);min-width:6rem}.knowledge-value{display:flex;align-items:center;gap:.5rem}.iv-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.3rem 1rem}.move-list{margin:0;padding-left:1.1rem}.credit-row{display:flex;justify-content:space-between;padding:.25rem 0}.credit-row-highlight{font-weight:700;border-top:1px solid var(--color-border);margin-top:.25rem;padding-top:.5rem}.credit-value{font-variant-numeric:tabular-nums}.highest-bid{margin-bottom:.25rem}.bid-history-list,.result-feed-list,.owned-pokemon-list,.past-knowledge-list{list-style:none;margin:.5rem 0 0;padding:0;display:flex;flex-direction:column;gap:.4rem;max-height:16rem;overflow-y:auto}.result-feed-list{max-height:20rem;overflow-x:hidden}.result-feed-list li>*{min-width:0}.result-feed-list .badge{white-space:normal;text-align:left}.bid-history-amount{margin-left:auto;font-weight:700;font-variant-numeric:tabular-nums}.owned-pokemon-details{padding:.5rem 0 .5rem 1rem;font-size:.9rem;color:var(--color-text-muted)}.pause-panel h2{margin-top:0}.team-main-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1rem;align-items:start}@media (max-width: 860px){.team-main-grid{grid-template-columns:1fr}}.candidate-grid,.selected-team-list{list-style:none;margin:.5rem 0 0;padding:0;display:flex;flex-direction:column;gap:.6rem;max-height:32rem;overflow-y:auto}.candidate-card,.selected-team-card{margin:0}.candidate-card-selected{border-color:var(--color-primary)}.candidate-name{font-weight:600;display:inline-flex;align-items:center;gap:.4rem}.selected-team-position{font-weight:700;color:var(--color-text-muted);min-width:2rem}.instance-details{padding:.5rem 0 .25rem;font-size:.9rem;color:var(--color-text-muted)}.instance-details p{margin:.15rem 0}.team-commit-panel{border:2px solid var(--color-border)}.team-commit-confirm{border-color:var(--color-danger)}.item-name{margin:0;font-size:1.6rem;display:flex;align-items:center;gap:.6rem}.item-slot-progress{margin:.5rem 0 .4rem;font-weight:600}.progress-bar{background:var(--color-bg);border-radius:999px;height:.5rem;overflow:hidden}.progress-bar-fill{background:var(--color-primary);height:100%;border-radius:inherit}.export-main-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1rem;align-items:start}@media (max-width: 860px){.export-main-grid{grid-template-columns:1fr}}.item-assignment-list{list-style:none;margin:.5rem 0 0;padding:0;display:flex;flex-direction:column;gap:.5rem}.item-assignment-row{flex-wrap:wrap;gap:.5rem}.item-assignment-move-dialog{margin-top:.75rem}.showdown-export-text{width:100%;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;resize:vertical}.showdown-help summary{cursor:pointer;font-weight:600}.showdown-help ol{margin:.5rem 0 0;padding-left:1.1rem}.session-end-panel{border:2px solid var(--color-danger)}.session-end-panel h2{margin-top:0}.lobby-code-display{display:inline-flex;align-items:center;gap:.5rem;flex-wrap:wrap}.lobby-code-value{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:1.05em;letter-spacing:.06em;color:var(--color-text)}.btn-compact{padding:.25rem .6rem;font-size:.8rem}.lobby-code-copy-status{color:var(--color-danger)}.language-switcher{display:flex;gap:.4rem;flex-shrink:0}.info-trigger-wrap{position:relative;display:inline-block}.info-trigger{background:none;border:none;padding:0;margin:0;font:inherit;color:inherit;cursor:help;display:inline-flex;align-items:baseline;gap:.2rem;text-decoration:underline dotted;text-underline-offset:3px;text-decoration-color:var(--color-text-muted)}.info-trigger:hover,.info-trigger:focus-visible{text-decoration-color:var(--color-primary)}.info-trigger-icon{font-size:.72em;color:var(--color-text-muted);line-height:1}.info-popover{position:absolute;z-index:40;top:calc(100% + .35rem);left:0;width:max-content;max-width:min(320px,88vw);background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;box-shadow:0 6px 20px #0000002e;padding:.7rem .8rem;font-size:.85rem;font-weight:400;text-decoration:none;color:var(--color-text);white-space:normal;text-align:left}.info-popover-heading{margin:0 0 .4rem;font-weight:700;font-size:.95rem;padding-right:1.4rem}.info-popover-meta{margin:0 0 .4rem;display:grid;grid-template-columns:auto 1fr;gap:.15rem .6rem}.info-popover-meta div{display:contents}.info-popover-meta dt{color:var(--color-text-muted);font-weight:600}.info-popover-meta dd{margin:0}.info-popover-description{margin:.3rem 0 0;line-height:1.4}.info-popover-close{position:absolute;top:.3rem;right:.35rem;background:none;border:none;cursor:pointer;font-size:1.1rem;line-height:1;padding:.15rem .35rem;color:var(--color-text-muted);border-radius:4px}.info-popover-close:hover{color:var(--color-text);background:var(--color-bg)}@media (max-width: 640px){.info-popover{position:fixed;left:.75rem;right:.75rem;bottom:.75rem;top:auto;width:auto;max-width:none;max-height:60vh;overflow-y:auto}}.move-info-inline-list{display:flex;flex-wrap:wrap;align-items:baseline;gap:.1rem .3rem}.item-assignment-availability{display:flex;flex-wrap:wrap;gap:.2rem .4rem}.pokemon-sprite,.pokemon-sprite-placeholder{display:inline-block;image-rendering:pixelated;flex-shrink:0}.pokemon-sprite-small,.pokemon-sprite-placeholder.pokemon-sprite-small{width:40px;height:40px}.pokemon-sprite-large,.pokemon-sprite-placeholder.pokemon-sprite-large{width:96px;height:96px}.pokemon-sprite-placeholder{background:var(--color-bg);border:1px solid var(--color-border);border-radius:6px}.pokemon-card-sprite-row{display:flex;align-items:center;gap:.75rem}.item-icon,.item-icon-placeholder{display:inline-block;width:24px;height:24px;flex-shrink:0;image-rendering:pixelated;vertical-align:middle}.item-icon{background-repeat:no-repeat}.item-icon-placeholder{background:var(--color-bg);border:1px solid var(--color-border);border-radius:4px}
