:root{--bg: #0a0e1a;--bg-elevated: #131a2e;--border: #2a3352;--text: #eef1fb;--text-muted: #9aa4c4;--accent: #7c5cff;--accent-strong: #9b82ff;--warning: #ffb454;--danger: #ff6b6b;color-scheme:dark;font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color:var(--text);background-color:var(--bg);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}html,body{margin:0;min-height:100dvh}body{background:radial-gradient(ellipse at top,#1a2246 0%,var(--bg) 60%)}#root{min-height:100dvh}h1,h2,p{margin:0}button{font-family:inherit;cursor:pointer}input{font-family:inherit}.screen{min-height:100dvh;max-width:480px;margin:0 auto;padding:1.5rem 1.25rem calc(2rem + env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:1.25rem}.screen h1{font-size:1.6rem;font-weight:700}.subtitle{color:var(--text-muted);font-size:.95rem}.setup-section{background:var(--bg-elevated);border:1px solid var(--border);border-radius:14px;padding:1rem;display:flex;flex-direction:column;gap:.75rem}.setup-section h2{font-size:1rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em}.player-row{display:flex;gap:.5rem;align-items:center}.player-row input{flex:1;min-width:0;background:var(--bg);border:1px solid var(--border);border-radius:10px;padding:.7rem .8rem;color:var(--text);font-size:1rem}.player-row input:focus{outline:2px solid var(--accent);outline-offset:1px}.icon-button{background:transparent;border:1px solid var(--border);border-radius:10px;width:2.5rem;height:2.5rem;color:var(--text-muted);font-size:1rem;flex-shrink:0}.setup-actions-row{display:flex;gap:.5rem}.setup-actions-row button{flex:1;background:var(--bg);border:1px solid var(--border);border-radius:10px;padding:.6rem;color:var(--text)}.setup-actions-row button:disabled{opacity:.4;cursor:not-allowed}.hint{color:var(--text-muted);font-size:.85rem}.candidate-count-row{display:flex;gap:.5rem}.pill{flex:1;background:var(--bg);border:1px solid var(--border);border-radius:999px;padding:.6rem;color:var(--text);font-weight:600}.pill.selected{background:var(--accent);border-color:var(--accent);color:#fff}.expansion-row{display:flex;align-items:center;gap:.6rem;padding:.4rem 0;font-size:.95rem}.expansion-row input{width:1.2rem;height:1.2rem}.pool-size{color:var(--text-muted);font-size:.9rem}.warning{color:var(--warning);font-size:.9rem}.primary-button{background:var(--accent);border:none;border-radius:14px;padding:1rem;color:#fff;font-size:1.05rem;font-weight:700}.primary-button:disabled{background:var(--border);color:var(--text-muted);cursor:not-allowed}.primary-button:not(:disabled):active{background:var(--accent-strong)}.pass-screen{justify-content:center;align-items:center;text-align:center;gap:2rem}.pass-instruction{color:var(--text-muted);font-size:1.1rem}.pass-name{font-size:2.2rem}.pass-screen .primary-button{width:100%}.candidate-list{display:flex;flex-direction:column;gap:.75rem}.candidate-card{text-align:left;background:var(--bg-elevated);border:2px solid var(--border);border-radius:14px;padding:1rem;color:var(--text);display:flex;flex-direction:column;gap:.5rem;cursor:pointer}.candidate-card:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.candidate-card.selected{border-color:var(--accent);box-shadow:0 0 0 3px #7c5cff40}.candidate-card-header{display:flex;justify-content:space-between;align-items:baseline;gap:.5rem}.candidate-name{font-size:1.1rem;font-weight:700}.candidate-expansion{color:var(--text-muted);font-size:.8rem;white-space:nowrap}.candidate-summary{color:var(--text-muted);font-size:.92rem}.complexity-badge{align-self:flex-start;font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;padding:.15rem .5rem;border-radius:999px;border:1px solid var(--border);color:var(--text-muted)}.complexity-badge.complexity-beginner{border-color:#3fae6a;color:#6fd996}.complexity-badge.complexity-standard{border-color:#c9a227;color:#e6c94d}.complexity-badge.complexity-expert{border-color:var(--danger);color:var(--danger)}.details-toggle{align-self:flex-start;display:flex;align-items:center;gap:.35rem;background:transparent;border:none;padding:.2rem 0;color:var(--accent-strong);font-size:.85rem}.chevron{display:inline-block;transition:transform .15s ease}.chevron.expanded{transform:rotate(-180deg)}.candidate-details{color:var(--text-muted);font-size:.88rem;border-top:1px solid var(--border);padding-top:.6rem}.playstyle-table{width:100%;border-collapse:collapse;font-size:.82rem;table-layout:fixed}.playstyle-table th{text-align:left;color:var(--text-muted);font-size:.7rem;text-transform:uppercase;letter-spacing:.04em;padding:0 .5rem .4rem 0}.playstyle-table th:first-child{color:#6fd996}.playstyle-table th:last-child{color:var(--danger)}.playstyle-table td{vertical-align:top;padding:.25rem .5rem .25rem 0;border-top:1px solid var(--border);color:var(--text)}.reroll-button{background:transparent;border:1px dashed var(--border);border-radius:12px;padding:.8rem;color:var(--text-muted);font-size:.95rem}.reroll-button:active{border-color:var(--accent);color:var(--text)}.starting-player-banner{background:var(--bg-elevated);border:1px solid var(--accent);border-radius:12px;padding:.9rem 1rem;text-align:center;font-size:1.05rem}.starting-player-banner strong{color:var(--accent-strong)}
