:root{font-family:IBM Plex Sans,Segoe UI,sans-serif;color:#f6f2eb;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{display:grid;place-items:center;min-height:100vh;padding:24px}.hero-card{position:relative;width:min(1180px,100%);padding:32px;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)}.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)}.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}.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}}
