:root{font-family:IBM Plex Sans,Segoe UI,sans-serif;color:#f6f2eb;--range-cell-pair: rgba(255, 255, 255, .12);--range-cell-suited: rgba(255, 255, 255, .08);--range-cell-offsuit: rgba(255, 255, 255, .04);background:radial-gradient(circle at top,rgba(244,186,86,.2),transparent 30%),linear-gradient(160deg,#0f1720,#16202a,#1d2b36)}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}#root{min-height:100vh}.page-shell{min-height:100vh;padding:16px}.hero-card{position:relative;width:min(1580px,calc(100vw - 32px));margin:0 auto;padding:24px;border:1px solid rgba(255,255,255,.12);border-radius:24px;background:#070c11b8;box-shadow:0 28px 90px #00000052;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.hero-card.is-ranges{padding:10px 12px 12px}.hero-card.is-ranges h1{font-size:clamp(1.35rem,2.2vw,2rem)}.hero-card.is-ranges .lede{margin-top:6px;max-width:78ch;font-size:.82rem}.dev-banner{position:absolute;top:18px;right:18px;padding:8px 12px;border:1px solid rgba(244,186,86,.42);border-radius:999px;background:#f4ba5624;color:#f4ba56;font-size:.76rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;box-shadow:0 10px 24px #0000002e}.top-nav{display:flex;gap:12px;margin-bottom:20px}.topbar-row{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.session-pill{display:flex;align-items:center;gap:14px;padding:12px 14px;border:1px solid rgba(255,255,255,.1);border-radius:18px;background:#ffffff0a}.session-pill p,.session-pill strong{margin:0}.nav-button{padding:10px 16px;border:1px solid rgba(255,255,255,.12);border-radius:999px;background:#ffffff0a;color:#f6f2eb;font:inherit;cursor:pointer}.nav-button.is-active{background:#f4ba56;color:#0c1218;border-color:transparent;font-weight:700}.eyebrow{margin:0 0 8px;font-size:.78rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:#f4ba56}h1{margin:0;font-size:clamp(2.3rem,5vw,4rem);line-height:.95}.lede{margin:16px 0 0;max-width:50ch;color:#f6f2ebc2;font-size:1.05rem}.status-card{margin-top:28px;padding:20px;border-radius:18px;background:#ffffff0f;border:1px solid rgba(255,255,255,.09)}.hero-card.is-ranges .status-card{margin-top:10px;padding:10px}.analysis-toolbar{display:flex;gap:16px;align-items:end}.toolbar-field{display:grid;gap:8px}.toolbar-field span{font-size:.9rem;color:#f6f2ebd1}.model-select,.text-input{min-width:260px;padding:12px 14px;border-radius:14px;border:1px solid rgba(255,255,255,.12);background:#ffffff0d;color:#f6f2eb;font:inherit}.password-field{position:relative;display:flex;align-items:center}.password-input{width:100%;padding-right:48px}.password-toggle{position:absolute;right:8px;display:inline-grid;place-items:center;width:34px;height:34px;padding:0;border:0;border-radius:999px;background:#ffffff0f;color:#f6f2ebcc;cursor:pointer}.password-toggle:hover{background:#ffffff1f}.eye-icon{width:18px;height:18px}.upload-form{display:grid;gap:12px}.auth-card{width:min(720px,100%)}.auth-form{max-width:420px}.submit-button{width:fit-content;padding:12px 18px;border:0;border-radius:999px;background:#f4ba56;color:#0c1218;font:inherit;font-weight:700;cursor:pointer}.submit-button:hover{filter:brightness(1.04)}.ghost-button{width:fit-content;padding:12px 18px;border:1px solid rgba(255,255,255,.12);border-radius:999px;background:#ffffff0a;color:#f6f2eb;font:inherit;cursor:pointer}.small-button{padding:8px 12px;font-size:.88rem}.danger-button{width:fit-content;border:0;border-radius:999px;background:#c8515c;color:#fff6f3;font:inherit;font-weight:700;cursor:pointer}.icon-button{display:inline-grid;place-items:center;width:36px;height:36px;padding:0}.danger-button:hover{filter:brightness(1.05)}.trash-icon{width:16px;height:16px}.status-label{margin:0 0 12px;font-size:.78rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#f6f2eb99}.payload p,.error-text{margin:8px 0}.muted-text{color:#f6f2eb99}.selected-files{display:grid;gap:6px;padding:12px 14px;border-radius:14px;background:#ffffff0a}.selected-files p{margin:0;font-size:.95rem}.file-results{display:grid;gap:12px;margin-top:16px}.file-result{padding:14px;border-radius:14px;background:#ffffff0d}.analysis-cell{display:flex;flex-direction:column;align-items:flex-start;gap:10px;flex-wrap:wrap}.analysis-actions{display:flex;gap:8px;flex-wrap:wrap}.analysis-badge{display:inline-flex;align-items:center;min-height:30px;padding:6px 10px;border-radius:999px;border:1px solid transparent;font-size:.78rem;font-weight:700;letter-spacing:.04em}.analysis-badge.is-neutral{background:#ffffff0f;border-color:#ffffff1a;color:#f6f2ebc7}.analysis-badge.is-info{background:#2b6df324;border-color:#2b6df359;color:#9ec0ff}.analysis-badge.is-success{background:#1f9d5529;border-color:#1f9d5557;color:#93e0b0}.analysis-badge.is-warning{background:#f4ba5629;border-color:#f4ba565c;color:#ffd48a}.analysis-badge.is-danger{background:#c8515c2e;border-color:#c8515c5c;color:#ffb4a2}.tournament-groups{display:grid;gap:16px}.tournament-group{border:1px solid rgba(255,255,255,.08);border-radius:18px;background:#ffffff08;overflow:hidden}.tournament-summary{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:16px 18px;cursor:pointer;list-style:none}.tournament-summary::-webkit-details-marker{display:none}.tournament-summary:after{content:"+";margin-left:auto;margin-right:12px;color:#f6f2eb99;font-size:1.2rem;line-height:1}.tournament-group[open] .tournament-summary:after{content:"−"}.hands-table-wrap{overflow-x:auto;padding:0 18px 18px}.hands-table{width:100%;border-collapse:collapse}.hands-table th,.hands-table td{padding:12px 10px;text-align:left;border-top:1px solid rgba(255,255,255,.08);vertical-align:middle}.hands-table th{font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;color:#f6f2eb9e}.analysis-row td{background:#ffffff08}.analysis-panel{padding:8px 4px}.analysis-list{margin:8px 0 0 18px;padding:0}.analysis-list li{margin:4px 0}.card-images{display:flex;gap:8px;align-items:center}.card-image{width:42px;height:58px;border-radius:10px;box-shadow:0 10px 24px #00000038}.ranges-toolbar{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.ranges-layout{display:grid;grid-template-columns:220px minmax(0,1fr);gap:8px;margin-top:10px}.ranges-list-panel,.range-editor-panel{margin-top:0}.ranges-list{display:grid;gap:12px}.range-list-item{width:100%;padding:10px;border:1px solid rgba(255,255,255,.08);border-radius:16px;background:#ffffff08;color:inherit;text-align:left;font:inherit;cursor:pointer}.range-list-item.is-active{border-color:#f4ba5685;background:#f4ba5614;box-shadow:inset 0 0 0 1px #f4ba561f}.range-list-item p{margin:4px 0 0;font-size:.8rem}.range-variant-summary{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.range-list-header{display:flex;justify-content:space-between;gap:12px;align-items:center}.range-status-pill{display:inline-flex;align-items:center;padding:4px 8px;border-radius:999px;background:#ffffff0f;color:#f6f2ebad;font-size:.68rem;font-weight:700}.range-status-pill.is-active{background:#1f9d552e;color:#93e0b0}.range-editor-form{display:grid;gap:10px}.range-variant-toolbar{display:grid;gap:8px;padding:10px;border-radius:14px;background:#ffffff0a;border:1px solid rgba(255,255,255,.08)}.range-variant-tabs{display:flex;flex-wrap:wrap;gap:6px}.range-variant-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px}.range-variant-pill{display:inline-flex;align-items:center;padding:4px 8px;border-radius:999px;border:1px solid rgba(255,255,255,.08);background:#ffffff08;color:#f6f2eb8c;font-size:.68rem;font-weight:700}.range-variant-pill.is-present{border-color:#f4ba5647;background:#f4ba561f;color:#f4d28a}.range-meta-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.range-title-field{grid-column:1 / -1}.range-checkbox{align-content:start}.checkbox-row{display:inline-flex;align-items:center;gap:10px;min-height:48px;padding:0 2px}.range-textarea{min-height:48px;padding:6px 8px;border-radius:14px;border:1px solid rgba(255,255,255,.12);background:#ffffff0d;color:#f6f2eb;font:inherit;resize:vertical}.range-workspace{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:8px}.range-matrix-wrap{overflow:auto;padding:2px;border-radius:10px;background:#ffffff08}.range-matrix{width:100%;table-layout:fixed;border-collapse:separate;border-spacing:0}.range-matrix th{padding:0;color:#f6f2ebb3;font-size:.42rem;letter-spacing:.08em;text-transform:uppercase}.range-matrix td{padding:0}.range-matrix-cell{display:grid;place-items:center;gap:0;width:100%;aspect-ratio:1 / 1;min-height:9px;padding:0;border:1px solid rgba(255,255,255,.08);border-radius:0;background:#ffffff0a;color:#f6f2eb;font:inherit;cursor:pointer;-webkit-user-select:none;user-select:none}.range-matrix-cell.is-selected{border-color:#f4ba56b3;box-shadow:inset 0 0 0 1px #f4ba563d}.range-cell-code{font-size:.62rem;font-weight:700;line-height:1;text-align:center}.range-brushbar{display:grid;grid-template-columns:1fr 1fr;gap:6px}.range-stats{display:flex;flex-wrap:wrap;gap:4px}.range-mix-mode{display:flex;gap:6px;flex-wrap:wrap}.is-active-mix-mode{border-color:#f4ba56b3;background:#f4ba561f}.range-mix-editor{display:grid;gap:6px}.range-mix-row{display:grid;grid-template-columns:minmax(0,1fr) 88px;gap:6px}.range-shortcuts{display:flex;flex-wrap:wrap;gap:4px}.range-main-panel{display:grid;gap:6px}.range-actions-panel{display:grid;gap:8px;align-content:start}.range-actions-header,.range-actions-buttons{display:flex;align-items:center;justify-content:space-between;gap:6px}.range-actions-list{display:grid;gap:6px}.range-action-row{display:grid;grid-template-columns:12px minmax(0,1fr) 44px 40px 30px;gap:6px;align-items:center}.range-inspector{display:grid;gap:6px;padding:8px;border-radius:10px;background:#ffffff0a;border:1px solid rgba(255,255,255,.08)}.range-inspector-grid{display:grid;grid-template-columns:1fr;gap:6px;align-items:start}.range-inspector-note{min-width:0}.range-selected-hand{display:inline-flex;align-items:center;justify-content:center;width:fit-content;min-width:54px;min-height:30px;padding:4px 8px;border-radius:8px;background:#f4ba561f;color:#f4ba56;font-size:.8rem;font-weight:800;letter-spacing:.08em}.range-legend{display:flex;flex-wrap:wrap;gap:4px 8px;margin-top:2px}.range-legend-row{display:flex;align-items:center;gap:6px;font-size:.68rem}.range-legend-swatch{width:16px;height:16px;border-radius:4px;background:#ffffff24}.range-action-percentage{text-align:right;font-size:.72rem;color:#f6f2ebb8;font-variant-numeric:tabular-nums}.action-presentation-swatch{width:12px;height:12px;border-radius:999px}.action-presentation-swatch.is-empty{background:#ffffff2e}.action-color-input{width:44px;height:32px;padding:0;border:0;border-radius:8px;background:transparent}.range-form-actions{display:flex;flex-wrap:wrap;gap:6px}.hero-card.is-ranges .status-label{margin-bottom:6px;font-size:.68rem}.hero-card.is-ranges .toolbar-field{gap:4px}.hero-card.is-ranges .toolbar-field span{font-size:.76rem}.hero-card.is-ranges .model-select,.hero-card.is-ranges .text-input{min-width:0;padding:7px 8px;border-radius:10px;font-size:.82rem}.hero-card.is-ranges .ghost-button.small-button,.hero-card.is-ranges .submit-button.small-button{padding:6px 8px;font-size:.72rem}.hero-card.is-ranges .submit-button,.hero-card.is-ranges .ghost-button,.hero-card.is-ranges .danger-button{padding:8px 12px;font-size:.82rem}.error-text{color:#ffb4a2}.inline-error-text{margin:0;color:#ffb4a2;font-size:.84rem;line-height:1.4}@media(max-width:640px){.hero-card{padding:24px}.topbar-row{flex-direction:column}.session-pill{width:100%;justify-content:space-between}}@media(max-width:1100px){.ranges-layout{grid-template-columns:1fr}.range-meta-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.range-workspace{grid-template-columns:1fr}.range-actions-panel{order:-1}}@media(max-width:860px){.range-meta-grid{grid-template-columns:1fr}.ranges-toolbar{flex-direction:column}.range-variant-actions{flex-direction:column;align-items:stretch}.range-brushbar,.range-inspector-grid{grid-template-columns:1fr}.range-action-row{grid-template-columns:12px minmax(0,1fr) 44px 40px 30px}}
