@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-font-weight:initial;--tw-tracking:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-black:#000;--color-white:#fff;--spacing:.25rem;--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--font-weight-semibold:600;--tracking-tight:-.025em;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.fixed{position:fixed}.inset-0{inset:calc(var(--spacing) * 0)}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.z-50{z-index:50}.mt-auto{margin-top:auto}.flex{display:flex}.grid{display:grid}.hidden{display:none}.h-auto{height:auto}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.flex-col{flex-direction:column}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.border-white\/10{border-color:#ffffff1a}@supports (color:color-mix(in lab,red,red)){.border-white\/10{border-color:color-mix(in oklab,var(--color-white) 10%,transparent)}}.bg-\[\#11161d\]{background-color:#11161d}.bg-black\/80{background-color:#000c}@supports (color:color-mix(in lab,red,red)){.bg-black\/80{background-color:color-mix(in oklab,var(--color-black) 80%,transparent)}}.p-6{padding:calc(var(--spacing) * 6)}.px-6{padding-inline:calc(var(--spacing) * 6)}.pt-6{padding-top:calc(var(--spacing) * 6)}.text-left{text-align:left}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.text-\[\#f6f2eb\]{color:#f6f2eb}.text-white\/60{color:#fff9}@supports (color:color-mix(in lab,red,red)){.text-white\/60{color:color-mix(in oklab,var(--color-white) 60%,transparent)}}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-2xl{--tw-shadow:0 25px 50px -12px var(--tw-shadow-color,#00000040);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.outline-none{--tw-outline-style:none;outline-style:none}.data-\[vaul-drawer-direction\=bottom\]\:inset-x-0[data-vaul-drawer-direction=bottom]{inset-inline:calc(var(--spacing) * 0)}.data-\[vaul-drawer-direction\=bottom\]\:bottom-0[data-vaul-drawer-direction=bottom]{bottom:calc(var(--spacing) * 0)}.data-\[vaul-drawer-direction\=bottom\]\:mt-24[data-vaul-drawer-direction=bottom]{margin-top:calc(var(--spacing) * 24)}.data-\[vaul-drawer-direction\=bottom\]\:max-h-\[80vh\][data-vaul-drawer-direction=bottom]{max-height:80vh}.data-\[vaul-drawer-direction\=bottom\]\:rounded-t-\[16px\][data-vaul-drawer-direction=bottom]{border-top-left-radius:16px;border-top-right-radius:16px}.data-\[vaul-drawer-direction\=left\]\:inset-y-0[data-vaul-drawer-direction=left]{inset-block:calc(var(--spacing) * 0)}.data-\[vaul-drawer-direction\=left\]\:left-0[data-vaul-drawer-direction=left]{left:calc(var(--spacing) * 0)}.data-\[vaul-drawer-direction\=left\]\:h-screen[data-vaul-drawer-direction=left]{height:100vh}.data-\[vaul-drawer-direction\=left\]\:w-\[min\(760px\,100vw\)\][data-vaul-drawer-direction=left]{width:min(760px,100vw)}.data-\[vaul-drawer-direction\=right\]\:inset-y-0[data-vaul-drawer-direction=right]{inset-block:calc(var(--spacing) * 0)}.data-\[vaul-drawer-direction\=right\]\:right-0[data-vaul-drawer-direction=right]{right:calc(var(--spacing) * 0)}.data-\[vaul-drawer-direction\=right\]\:h-screen[data-vaul-drawer-direction=right]{height:100vh}.data-\[vaul-drawer-direction\=right\]\:w-\[min\(760px\,100vw\)\][data-vaul-drawer-direction=right]{width:min(760px,100vw)}.data-\[vaul-drawer-direction\=top\]\:inset-x-0[data-vaul-drawer-direction=top]{inset-inline:calc(var(--spacing) * 0)}.data-\[vaul-drawer-direction\=top\]\:top-0[data-vaul-drawer-direction=top]{top:calc(var(--spacing) * 0)}.data-\[vaul-drawer-direction\=top\]\:mb-24[data-vaul-drawer-direction=top]{margin-bottom:calc(var(--spacing) * 24)}.data-\[vaul-drawer-direction\=top\]\:max-h-\[80vh\][data-vaul-drawer-direction=top]{max-height:80vh}.data-\[vaul-drawer-direction\=top\]\:rounded-b-\[16px\][data-vaul-drawer-direction=top]{border-bottom-right-radius:16px;border-bottom-left-radius:16px}}:root{color:#f6f2eb;--range-cell-pair:#ffffff1f;--range-cell-suited:#ffffff14;--range-cell-offsuit:#ffffff0a;background:radial-gradient(circle at top,#f4ba5633,#0000 30%),linear-gradient(160deg,#0f1720,#16202a,#1d2b36);font-family:IBM Plex Sans,Segoe UI,sans-serif}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}#root{min-height:100vh}.page-shell{min-height:100vh;padding:16px}.hero-card{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#070c11b8;border:1px solid #ffffff1f;border-radius:24px;width:min(1580px,100vw - 32px);margin:0 auto;padding:24px;position:relative;box-shadow:0 28px 90px #00000052}.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{max-width:78ch;margin-top:6px;font-size:.82rem}.dev-banner{color:#f4ba56;letter-spacing:.14em;text-transform:uppercase;background:#f4ba5624;border:1px solid #f4ba566b;border-radius:999px;padding:8px 12px;font-size:.76rem;font-weight:700;position:absolute;top:18px;right:18px;box-shadow:0 10px 24px #0000002e}.top-nav{gap:12px;margin-bottom:20px;display:flex}.topbar-row{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.session-pill{background:#ffffff0a;border:1px solid #ffffff1a;border-radius:18px;align-items:center;gap:14px;padding:12px 14px;display:flex}.session-pill p,.session-pill strong{margin:0}.nav-button{color:#f6f2eb;font:inherit;cursor:pointer;background:#ffffff0a;border:1px solid #ffffff1f;border-radius:999px;padding:10px 16px}.nav-button.is-active{color:#0c1218;background:#f4ba56;border-color:#0000;font-weight:700}.eyebrow{letter-spacing:.18em;text-transform:uppercase;color:#f4ba56;margin:0 0 8px;font-size:.78rem;font-weight:700}h1{margin:0;font-size:clamp(2.3rem,5vw,4rem);line-height:.95}.lede{color:#f6f2ebc2;max-width:50ch;margin:16px 0 0;font-size:1.05rem}.status-card{background:#ffffff0f;border:1px solid #ffffff17;border-radius:18px;margin-top:28px;padding:20px}.hero-card.is-ranges .status-card{margin-top:10px;padding:10px}.analysis-toolbar{align-items:end;gap:16px;display:flex}.toolbar-field{gap:8px;display:grid}.toolbar-field span{color:#f6f2ebd1;font-size:.9rem}.model-select,.text-input{color:#f6f2eb;min-width:260px;font:inherit;background:#ffffff0d;border:1px solid #ffffff1f;border-radius:14px;padding:12px 14px}.password-field{align-items:center;display:flex;position:relative}.password-input{width:100%;padding-right:48px}.password-toggle{color:#f6f2ebcc;cursor:pointer;background:#ffffff0f;border:0;border-radius:999px;place-items:center;width:34px;height:34px;padding:0;display:inline-grid;position:absolute;right:8px}.password-toggle:hover{background:#ffffff1f}.eye-icon{width:18px;height:18px}.players-layout{grid-template-columns:minmax(320px,460px) minmax(0,1fr);gap:18px;margin-top:28px;display:grid}.players-list-panel,.players-detail-panel{margin-top:0}.player-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:16px;display:grid}.player-filter-span{grid-column:1/-1}.player-multi-select{min-height:120px}.players-list,.player-history-list,.player-timeline-list{gap:12px;margin-top:14px;display:grid}.player-card,.player-history-item{width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;background:#ffffff0a;border:1px solid #ffffff1a;border-radius:16px;gap:10px;padding:14px;display:grid}.player-card.is-active,.player-history-item.is-active{background:#f4ba561f;border-color:#f4ba5680}.player-card-header,.player-timeline-header,.player-history-header,.player-detail-hero{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.player-profile-pill,.player-note-chip{background:#ffffff14;border-radius:999px;align-items:center;padding:6px 10px;font-size:.8rem;display:inline-flex}.player-profile-pill.is-calling_station{background:#56bb7f38}.player-profile-pill.is-maniac{background:#a855f73d}.player-profile-pill.is-reg_standard{background:#facc1533}.player-profile-pill.is-tag_solide{background:#f973163d}.player-profile-pill.is-lag_fort{background:#f871713d}.player-profile-pill.is-nit{background:#3b82f63d}.player-profile-pill.is-unknown{background:#94a3b833}.player-stat-row,.player-note-row,.player-sparkline-panel{flex-wrap:wrap;gap:10px;display:flex}.player-stat-row{color:#f6f2ebc7;font-size:.88rem}.player-detail-block{border-top:1px solid #ffffff14;margin-top:18px;padding-top:18px}.player-stat-grid{grid-template-columns:repeat(4,minmax(110px,1fr));gap:12px;display:grid}.player-stat-box{background:#ffffff0d;border-radius:14px;gap:6px;padding:12px;display:grid}.player-stat-box span{color:#f6f2eba3;font-size:.78rem}.player-sparkline-track{flex:180px;gap:6px;display:grid}.player-sparkline-track span{color:#f6f2ebb8;font-size:.8rem}.player-sparkline-track svg{background:#ffffff0a;border-radius:10px;width:100%;height:44px}.player-timeline-item{background:#ffffff0a;border:1px solid #ffffff14;border-radius:14px;padding:12px 14px}.player-timeline-trigger{width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;gap:10px;display:grid}.player-timeline-trigger:hover{background:#f4ba5614;border-color:#f4ba5657}.upload-form{gap:12px;display:grid}.auth-card{width:min(720px,100%)}.auth-form{max-width:420px}.submit-button{color:#0c1218;width:fit-content;font:inherit;cursor:pointer;background:#f4ba56;border:0;border-radius:999px;padding:12px 18px;font-weight:700}.submit-button:hover{filter:brightness(1.04)}.ghost-button{color:#f6f2eb;width:fit-content;font:inherit;cursor:pointer;background:#ffffff0a;border:1px solid #ffffff1f;border-radius:999px;padding:12px 18px}.small-button{padding:8px 12px;font-size:.88rem}.danger-button{color:#fff6f3;width:fit-content;font:inherit;cursor:pointer;background:#c8515c;border:0;border-radius:999px;font-weight:700}.icon-button{place-items:center;width:36px;height:36px;padding:0;display:inline-grid}.danger-button:hover{filter:brightness(1.05)}.trash-icon{width:16px;height:16px}.status-label{letter-spacing:.14em;text-transform:uppercase;color:#f6f2eb99;margin:0 0 12px;font-size:.78rem;font-weight:700}.payload p,.error-text{margin:8px 0}.muted-text{color:#f6f2eb99}.selected-files{background:#ffffff0a;border-radius:14px;gap:6px;padding:12px 14px;display:grid}.selected-files p{margin:0;font-size:.95rem}.import-logs-card .tournament-filters-header{align-items:center;margin-bottom:12px}.import-logs-card .status-label{margin:0}.import-log-list{gap:8px;max-height:320px;padding-right:6px;display:grid;overflow-y:auto}.import-log-entry{background:#ffffff0a;border:1px solid #ffffff14;border-radius:14px;grid-template-columns:88px minmax(0,1fr);align-items:start;gap:12px;padding:10px 12px;display:grid}.import-log-entry.is-info{border-color:#60a5fa38}.import-log-entry.is-success{background:#4ade8012;border-color:#4ade8042}.import-log-entry.is-error{background:#f8717114;border-color:#f8717147}.import-log-time{color:#f6f2eb94;font-family:IBM Plex Mono,SFMono-Regular,monospace;font-size:.78rem}.import-log-entry p{white-space:pre-wrap;word-break:break-word;margin:0}.file-results{gap:12px;margin-top:16px;display:grid}.file-result{background:#ffffff0d;border-radius:14px;padding:14px}.analysis-cell{flex-flow:column wrap;align-items:flex-start;gap:10px;display:flex}.analysis-actions{flex-wrap:wrap;gap:8px;display:flex}.analysis-badge{letter-spacing:.04em;border:1px solid #0000;border-radius:999px;align-items:center;min-height:30px;padding:6px 10px;font-size:.78rem;font-weight:700;display:inline-flex}.analysis-badge.is-neutral{color:#f6f2ebc7;background:#ffffff0f;border-color:#ffffff1a}.analysis-badge.is-info{color:#9ec0ff;background:#2b6df324;border-color:#2b6df359}.analysis-badge.is-success{color:#93e0b0;background:#1f9d5529;border-color:#1f9d5557}.analysis-badge.is-warning{color:#ffd48a;background:#f4ba5629;border-color:#f4ba565c}.analysis-badge.is-danger{color:#ffb4a2;background:#c8515c2e;border-color:#c8515c5c}.tournament-groups,.tournament-groups-section{gap:16px;display:grid}.tournament-filters{gap:12px;display:grid}.tournament-filters-header{justify-content:flex-end;display:flex}.tournament-filter-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.tournament-group{background:#ffffff08;border:1px solid #ffffff14;border-radius:18px;overflow:hidden}.tournament-summary{cursor:pointer;justify-content:space-between;align-items:center;gap:16px;padding:16px 18px;list-style:none;display:flex}.tournament-summary::-webkit-details-marker{display:none}.tournament-summary:after{content:"+";color:#f6f2eb99;margin-left:auto;margin-right:12px;font-size:1.2rem;line-height:1}.tournament-group[open] .tournament-summary:after{content:"−"}.tournament-meta-pills{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.tournament-meta-pill{color:#f6f2ebd1;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:999px;align-items:center;padding:4px 10px;font-size:.78rem;display:inline-flex}.tournament-meta-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 16px;padding:0 18px 14px;display:grid}.tournament-meta-grid p{margin:0}.hands-table-wrap{padding:0 18px 18px;overflow-x:auto}.hands-table{border-collapse:collapse;width:100%}.hands-table th,.hands-table td{text-align:left;vertical-align:middle;border-top:1px solid #ffffff14;padding:12px 10px}.hands-table th{letter-spacing:.08em;text-transform:uppercase;color:#f6f2eb9e;font-size:.8rem}.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{align-items:center;gap:8px;display:flex}.card-image{border-radius:10px;width:42px;height:58px;box-shadow:0 10px 24px #00000038}.ranges-toolbar{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.ranges-toolbar-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.ranges-subnav{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.ranges-layout{grid-template-columns:220px minmax(0,1fr);gap:8px;margin-top:10px;display:grid}.ranges-single-panel{grid-template-columns:minmax(340px,420px) minmax(0,1fr);align-items:start;gap:12px;margin-top:10px;display:grid}.ranges-list-panel,.range-editor-panel{margin-top:0}.ranges-section-header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:12px;display:flex}.ranges-section-header .muted-text{margin:4px 0 0}.ranges-section-actions,.range-list-actions{flex-wrap:wrap;gap:8px;display:flex}.ranges-list{gap:12px;display:grid}.range-library-filters{gap:8px;margin-bottom:12px;display:grid}.modal-overlay{z-index:30;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#060a0fc7;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal-card{width:min(980px,100%);max-height:min(86vh,920px);margin-top:0;overflow:auto;box-shadow:0 28px 80px #0000006b}.modal-header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:12px;display:flex}.modal-copy{max-width:60ch;margin:0}.link-button{color:#f4ba56;font:inherit;cursor:pointer;background:0 0;border:0;padding:0}.link-button:hover{text-decoration:underline}.drawer-overlay{z-index:40;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#060a0fb8;position:fixed;inset:0}.drawer-card{border-radius:0;width:min(760px,100vw);height:100vh;max-height:none;margin-top:0;position:absolute;top:0;right:0;overflow-y:auto;box-shadow:-24px 0 72px #00000061}.drawer-header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px;display:flex}.drawer-title{margin:0;font-size:clamp(1.5rem,2vw,2rem)}.drawer-body{gap:18px;display:grid}.drawer-section{border-top:1px solid #ffffff14;gap:12px;padding-top:18px;display:grid}.drawer-section:first-of-type{border-top:0;padding-top:0}.drawer-meta-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 16px;display:grid}.drawer-meta-grid p{margin:0}.hand-board-row{margin-top:8px}.drawer-stack-list,.drawer-action-list{gap:10px;display:grid}.drawer-stack-item,.drawer-action-item{background:#ffffff0a;border:1px solid #ffffff14;border-radius:14px;gap:4px;padding:12px 14px;display:grid}.drawer-action-street{letter-spacing:.12em;text-transform:uppercase;color:#f4ba56d1;font-size:.76rem;font-weight:700}.drawer-action-item p,.drawer-stack-item span,.drawer-stack-item strong{margin:0}.drawer-raw-text{color:#f6f2ebe0;white-space:pre-wrap;word-break:break-word;background:#00000042;border:1px solid #ffffff14;border-radius:16px;margin:0;padding:14px;font-family:IBM Plex Mono,SFMono-Regular,monospace;font-size:.84rem;line-height:1.55}.range-coverage-panel{gap:16px;margin:10px 0 12px;display:grid}.range-coverage-header{justify-content:space-between;align-items:end;gap:16px;display:flex}.range-coverage-header h2{margin:4px 0 0;font-size:1.3rem}.range-coverage-header .muted-text{max-width:520px;margin:0}.range-coverage-legend{flex-wrap:wrap;gap:8px;display:flex}.range-coverage-stack-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.range-coverage-stack-card{background:radial-gradient(circle at top,#f4ba5614,#0000 42%),#ffffff08;border:1px solid #ffffff14;border-radius:18px;gap:12px;padding:14px;display:grid}.range-coverage-stack-header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.range-coverage-stack-header h3{margin:4px 0 0;font-size:1rem}.range-coverage-stack-totals{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}.range-coverage-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.range-coverage-summary-card{background:#ffffff08;border:1px solid #ffffff14;border-radius:12px;margin:0;padding:8px 10px}.range-coverage-summary-card .status-label{margin:0;font-size:.66rem}.range-coverage-summary-value{margin:6px 0 0;font-size:1.1rem;font-weight:700}.range-coverage-summary-value.is-validated{color:#93e0b0}.range-coverage-summary-value.is-draft{color:#f4ba56}.range-coverage-summary-value.is-missing{color:#f08e8e}.range-coverage-table-wrap{overflow-x:auto}.range-coverage-table{border-collapse:collapse;width:100%;font-size:.76rem}.range-coverage-table th,.range-coverage-table td{text-align:left;vertical-align:top;border-bottom:1px solid #ffffff14;padding:6px 4px}.range-coverage-chip{border-radius:999px;margin:0 6px 4px 0;padding:2px 6px;font-size:.66rem;font-weight:700;display:inline-flex}.range-coverage-chip.is-validated{color:#93e0b0;background:#1f9d552e}.range-coverage-chip.is-draft{color:#f4ba56;background:#f4ba562e}.range-coverage-chip.is-missing{color:#f08e8e;background:#d9485f2e}.range-coverage-matrix-wrap{overflow-x:auto}.range-coverage-matrix{border-collapse:separate;border-spacing:0;width:100%;min-width:620px}.range-coverage-matrix th,.range-coverage-matrix td{text-align:center;border-bottom:1px solid #ffffff14;padding:0}.range-coverage-matrix thead th{color:#f6f2ebb8;letter-spacing:.06em;text-transform:uppercase;padding:0 10px 10px;font-size:.72rem;font-weight:700}.range-coverage-matrix thead th:first-child{text-align:left}.range-coverage-matrix tbody th{color:#f6f2eb;text-align:left;padding:10px 10px 10px 0;font-size:.82rem;font-weight:700}.range-coverage-matrix tbody tr:last-child th,.range-coverage-matrix tbody tr:last-child td{border-bottom:0}.range-coverage-matrix-cell{color:#f6f2ebe0;background:#ffffff0a;border:1px solid #ffffff14;border-radius:12px;justify-content:center;align-items:center;min-width:38px;min-height:38px;margin:8px 6px;font-size:.78rem;font-weight:800;display:inline-flex}.range-coverage-matrix-cell.is-validated{color:#d9ffe7;background:#1f9d5538;border-color:#1f9d5557}.range-coverage-matrix-cell.is-draft{color:#fff0cc;background:#f4ba5638;border-color:#f4ba5657}.range-coverage-matrix-cell.is-missing{color:#ffd7d7;background:#d9485f38;border-color:#d9485f57}.range-coverage-matrix-cell.is-not_applicable{color:#ffffff6b;background:#080d1457;border-style:dashed}.range-library-search .text-input,.range-library-search .model-select{width:100%;min-width:0}.range-library-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.range-library-filter-grid .model-select,.range-library-filter-grid .text-input{width:100%;min-width:0}.range-library-toggle-row{flex-wrap:wrap;align-items:center;gap:8px 14px;display:flex}.range-list-item{width:100%;color:inherit;text-align:left;font:inherit;cursor:pointer;background:#ffffff08;border:1px solid #ffffff14;border-radius:16px;padding:10px}.range-list-select{width:100%;color:inherit;text-align:left;font:inherit;cursor:pointer;background:0 0;border:0;padding:0}.range-list-item.is-active{background:#f4ba5614;border-color:#f4ba5685;box-shadow:inset 0 0 0 1px #f4ba561f}.range-list-item p{margin:4px 0 0;font-size:.8rem}.range-variant-summary{flex-wrap:wrap;gap:6px;margin-top:10px;display:flex}.range-list-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.range-list-badges{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}.range-status-pill{color:#f6f2ebad;background:#ffffff0f;border-radius:999px;align-items:center;padding:4px 8px;font-size:.68rem;font-weight:700;display:inline-flex}.range-status-pill.is-active{color:#93e0b0;background:#1f9d552e}.range-status-pill.is-draft{color:#f4ba56;background:#f4ba562e}.range-status-pill.is-published{color:#8fb8ff;background:#428dff2e}.range-editor-form{gap:10px;display:grid}.range-draft-notice{color:#f7d48c;background:#f4ba561a;border:1px solid #f4ba5647;border-radius:12px;margin:0;padding:10px 12px}.range-variant-toolbar{background:#ffffff0a;border:1px solid #ffffff14;border-radius:14px;gap:8px;padding:10px;display:grid}.range-variant-tabs{flex-wrap:wrap;gap:6px;display:flex}.range-variant-actions{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.range-variant-pill{color:#f6f2eb8c;background:#ffffff08;border:1px solid #ffffff14;border-radius:999px;align-items:center;padding:4px 8px;font-size:.68rem;font-weight:700;display:inline-flex}button.range-variant-pill{cursor:pointer}.range-variant-pill.is-present{color:#f4d28a;background:#f4ba561f;border-color:#f4ba5647}.range-variant-pill.is-selected{background:#f4ba563d;border-color:#f4ba56b8;box-shadow:inset 0 0 0 1px #f4ba5629}.range-meta-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;display:grid}.range-title-field{grid-column:1/-1}.range-checkbox{align-content:start}.checkbox-row{align-items:center;gap:10px;min-height:48px;padding:0 2px;display:inline-flex}.range-textarea{color:#f6f2eb;min-height:48px;font:inherit;resize:vertical;background:#ffffff0d;border:1px solid #ffffff1f;border-radius:14px;padding:6px 8px}.range-workspace{grid-template-columns:minmax(0,1fr) 360px;gap:8px;display:grid}.range-matrix-wrap{background:#ffffff08;border-radius:10px;padding:2px;overflow:auto}.range-matrix{table-layout:fixed;border-collapse:separate;border-spacing:0;width:100%}.range-matrix th{color:#f6f2ebb3;letter-spacing:.08em;text-transform:uppercase;padding:0;font-size:.42rem}.range-matrix td{padding:0}.range-matrix-cell{aspect-ratio:1;color:#f6f2eb;width:100%;min-height:9px;font:inherit;cursor:pointer;-webkit-user-select:none;user-select:none;background:#ffffff0a;border:1px solid #ffffff14;border-radius:0;place-items:center;gap:0;padding:0;display:grid}.range-matrix-cell.is-selected{border-color:#f4ba56b3;box-shadow:inset 0 0 0 1px #f4ba563d}.range-cell-code{text-align:center;font-size:.62rem;font-weight:700;line-height:1}.range-brushbar{grid-template-columns:1fr 1fr;gap:6px;display:grid}.range-stats{flex-wrap:wrap;gap:4px;display:flex}.range-mix-mode{flex-wrap:wrap;gap:6px;display:flex}.is-active-mix-mode{background:#f4ba561f;border-color:#f4ba56b3}.range-mix-editor{gap:6px;display:grid}.range-mix-row{grid-template-columns:minmax(0,1fr) 88px;gap:6px;display:grid}.range-shortcuts{flex-wrap:wrap;gap:4px;display:flex}.range-main-panel{gap:6px;display:grid}.range-actions-panel{align-content:start;gap:8px;display:grid}.range-actions-header,.range-actions-buttons{justify-content:space-between;align-items:center;gap:6px;display:flex}.range-actions-list{gap:6px;display:grid}.range-action-row{grid-template-columns:12px minmax(0,1fr) 44px 40px 30px;align-items:center;gap:6px;display:grid}.range-inspector{background:#ffffff0a;border:1px solid #ffffff14;border-radius:10px;gap:6px;padding:8px;display:grid}.range-inspector-grid{grid-template-columns:1fr;align-items:start;gap:6px;display:grid}.range-inspector-note{min-width:0}.range-selected-hand{color:#f4ba56;letter-spacing:.08em;background:#f4ba561f;border-radius:8px;justify-content:center;align-items:center;width:fit-content;min-width:54px;min-height:30px;padding:4px 8px;font-size:.8rem;font-weight:800;display:inline-flex}.range-legend{flex-wrap:wrap;gap:4px 8px;margin-top:2px;display:flex}.range-legend-row{align-items:center;gap:6px;font-size:.68rem;display:flex}.range-legend-swatch{background:#ffffff24;border-radius:4px;width:16px;height:16px}.range-action-percentage{text-align:right;color:#f6f2ebb8;font-variant-numeric:tabular-nums;font-size:.72rem}.action-presentation-swatch{border-radius:999px;width:12px;height:12px}.action-presentation-swatch.is-empty{background:#ffffff2e}.action-color-input{background:0 0;border:0;border-radius:8px;width:44px;height:32px;padding:0}.range-form-actions{flex-wrap:wrap;gap:6px;display:flex}.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{border-radius:10px;min-width:0;padding:7px 8px;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{color:#ffb4a2;margin:0;font-size:.84rem;line-height:1.4}@media(max-width:640px){.hero-card{padding:24px}.topbar-row{flex-direction:column}.session-pill{justify-content:space-between;width:100%}}@media(max-width:1100px){.players-layout,.ranges-layout,.ranges-single-panel,.range-coverage-stack-grid,.range-library-filter-grid{grid-template-columns:1fr}.range-coverage-summary-grid,.range-meta-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.tournament-filter-grid{grid-template-columns:1fr 1fr}.range-workspace{grid-template-columns:1fr}.range-actions-panel{order:-1}}@media(max-width:860px){.range-coverage-header,.range-coverage-stack-header,.ranges-section-header,.player-history-header,.player-detail-hero,.player-card-header,.player-timeline-header{flex-direction:column;align-items:stretch}.player-filter-grid,.range-meta-grid,.tournament-filter-grid,.tournament-meta-grid,.player-stat-grid{grid-template-columns:1fr}.ranges-toolbar{flex-direction:column}.ranges-toolbar-actions{justify-content:flex-start}.range-library-toggle-row{align-items:stretch}.range-coverage-summary-grid{grid-template-columns:1fr 1fr}.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}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}
