@import"https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700&family=Montserrat+Alternates:wght@600;700&display=swap";.ui-btn{--btn-bg: var(--Surface-Primary, #313134);--btn-color: var(--Text-Primary, #ffffff);--btn-radius: var(--Radius-M, 16px);--btn-pad-y: var(--Space-M, 16px);--btn-pad-x: var(--Space-L, 20px);--btn-font-size: var(--Typography-Size-System, 18px);--btn-line: var(--Typography-Height-System, 24px);--btn-gap: var(--Space-XS, 8px);--btn-icon-size: 24px;--btn-font-weight: var(--font-weight-system, 500);--btn-spinner-size: var(--btn-icon-size);border:none;border-radius:var(--btn-radius);padding:var(--btn-pad-y) var(--btn-pad-x);font-weight:var(--btn-font-weight);font-size:var(--btn-font-size);line-height:var(--btn-line);cursor:pointer;transition:background-color .12s ease,color .12s ease,opacity .12s ease,outline-color .12s ease;display:inline-flex;align-items:center;justify-content:center;gap:var(--btn-gap);background:var(--btn-bg);color:var(--btn-color);outline:none}.ui-icon,.ui-icon path,.ui-icon circle,.ui-icon rect,.ui-icon line,.ui-icon polygon,.ui-icon polyline{color:currentColor;fill:currentColor;stroke:currentColor}.ui-btn:not(:disabled):hover{opacity:.88}.ui-btn:not(:disabled):active{opacity:.72}.ui-btn:focus-visible{outline:2px solid var(--Focus-Outline, var(--Border-Contrast, #ffffff));outline-offset:2px}.ui-btn:disabled{--btn-bg: var(--Surface-Secondary, #525255);--btn-color: var(--Text-Secondary, #b4b4bc);opacity:1;cursor:not-allowed}.ui-btn--cyan{--btn-bg: var(--Accent-Cyan, #26d0a0);--btn-color: var(--Text-Contrast, #0e0e0f)}.ui-btn--purple{--btn-bg: var(--Accent-Purple, #9547ed);--btn-color: var(--Text-Contrast, #0e0e0f)}.ui-btn--contrast{--btn-bg: var(--Surface-Contrast, #ffffff);--btn-color: var(--Text-Contrast, #0e0e0f)}.ui-btn--neutral{--btn-bg: var(--Surface-Primary, #313134);--btn-color: var(--Text-Primary, #ffffff)}.ui-btn--disabled{--btn-bg: var(--Surface-Secondary, #525255);--btn-color: var(--Text-Secondary, #b4b4bc)}.ui-btn--small{--btn-pad-y: var(--Space-XS, 8px);--btn-pad-x: var(--Space-S, 12px);--btn-font-size: var(--Typography-Size-Body, 14px);--btn-line: var(--Typography-Height-Body, 16px);--btn-radius: var(--Radius-S, 12px);--btn-icon-size: 16px}.ui-btn--medium{--btn-pad-y: var(--Space-S, 12px);--btn-pad-x: var(--Space-M, 16px);--btn-font-size: var(--Typography-Size-System, 18px);--btn-line: var(--Typography-Height-System, 24px);--btn-radius: var(--Radius-M, 16px);--btn-icon-size: 24px}.ui-btn--large{--btn-pad-y: var(--Space-M, 16px);--btn-pad-x: var(--Space-L, 20px);--btn-font-size: var(--Typography-Size-System, 18px);--btn-line: var(--Typography-Height-System, 24px);--btn-radius: var(--Radius-M, 16px);--btn-icon-size: 24px}.ui-btn--full{width:100%}.ui-btn__icon{display:inline-flex;font-size:1em;line-height:1;width:var(--btn-icon-size);height:var(--btn-icon-size);align-items:center;justify-content:center}.ui-btn--loading .ui-btn__label{opacity:.8}.ui-btn__spinner{width:var(--btn-spinner-size);height:var(--btn-spinner-size);border-radius:50%;border:2px solid currentColor;border-right-color:transparent;animation:ui-btn-spin .8s linear infinite}.ui-pill{padding:var(--Space-XS) var(--Space-S);border-radius:var(--Radius-Full);font-size:12px;display:inline-flex;align-items:center;gap:var(--Space-XS);border:1px solid var(--Border-Primary);color:var(--Text-Primary)}.ui-pill--positive{background:#5ade771f;border-color:#5ade7799;color:#9cf7db}.ui-pill--muted{background:#ffffff0a;color:var(--Text-Secondary)}.ui-pill--ghost{background:#ffffff0a;color:var(--Text-Primary)}.ui-pill--warning{background:#eccc4b24;border-color:#eccc4b99;color:#ffe9a6}@keyframes ui-btn-spin{to{transform:rotate(360deg)}}.ui-control{--ctrl-bg: var(--Surface-Primary, #313134);--ctrl-color: var(--Text-Primary, #ffffff);--ctrl-radius: 1000px;--ctrl-pad: var(--Space-M, 16px);--ctrl-gap: var(--Space-XS, 8px);--ctrl-icon-.size: 24px;border:none;display:inline-flex;align-items:center;justify-content:center;gap:var(--ctrl-gap);padding:var(--ctrl-pad);border-radius:var(--ctrl-radius);background:var(--ctrl-bg);color:var(--ctrl-color);cursor:pointer;transition:background-color .12s ease,color .12s ease,opacity .12s ease,outline-color .12s ease;outline:none}.ui-control:not(:disabled):hover{opacity:.88}.ui-control:not(:disabled):active{opacity:.72}.ui-control:focus-visible{outline:2px solid var(--Focus-Outline, var(--Border-Contrast, #ffffff));outline-offset:2px}.ui-control:disabled{--ctrl-bg: var(--Surface-Secondary, #525255);--ctrl-color: var(--Text-Secondary, #b4b4bc);opacity:1;cursor:not-allowed}.ui-control--cyan{--ctrl-bg: var(--Accent-Cyan, #26d0a0);--ctrl-color: var(--Text-Contrast, #0e0e0f)}.ui-control--purple{--ctrl-bg: var(--Accent-Purple, #9547ed);--ctrl-color: var(--Text-Contrast, #0e0e0f)}.ui-control--contrast{--ctrl-bg: var(--Surface-Contrast, #ffffff);--ctrl-color: var(--Text-Contrast, #0e0e0f)}.ui-control--neutral{--ctrl-bg: var(--Surface-Primary, #313134);--ctrl-color: var(--Text-Primary, #ffffff)}.ui-control--disabled{--ctrl-bg: var(--Surface-Secondary, #525255);--ctrl-color: var(--Text-Secondary, #b4b4bc)}.ui-control--small{--ctrl-pad: var(--Space-XS, 8px);--ctrl-icon-size: 16px}.ui-control--medium{--ctrl-pad: var(--Space-S, 12px);--ctrl-icon-size: 24px}.ui-control--large{--ctrl-pad: var(--Space-M, 16px);--ctrl-icon-size: 24px}.ui-control__icon{display:inline-flex;width:var(--ctrl-icon-size);height:var(--ctrl-icon-size);align-items:center;justify-content:center;color:currentColor}.ui-notification{--notif-bg: var(--Surface-Primary, #313134);--notif-color: var(--Text-Primary, #ffffff);--notif-icon-color: var(--Text-Primary, #ffffff);--notif-radius: var(--Radius-M, 16px);--notif-pad: var(--Space-S, 12px);--notif-gap: var(--Space-S, 8px);--notif-font-size: var(--Typography-Size-Body, 14px);--notif-line: var(--Typography-Height-Body, 16px);--notif-icon-size: 24px;display:inline-flex;align-items:center;gap:var(--notif-gap);padding:var(--notif-pad);border-radius:var(--notif-radius);background:var(--notif-bg);color:var(--notif-color);font-size:var(--notif-font-size);line-height:var(--notif-line);font-weight:var(--font-weight-body, 500);outline:none;transition:background-color .12s ease,color .12s ease,opacity .12s ease,outline-color .12s ease}.ui-notification--success{--notif-icon-color: var(--System-Success, #5ade77)}.ui-notification--warning{--notif-icon-color: var(--System-Warning, #eccc4b)}.ui-notification--error{--notif-icon-color: var(--System-Error, #ec4f1f)}.ui-notification--neutral{--notif-icon-color: var(--Text-Primary, #ffffff)}.ui-notification__icon{display:inline-flex;align-items:center;justify-content:center;width:var(--notif-icon-size);height:var(--notif-icon-size);color:var(--notif-icon-color)}.ui-notification__label{display:inline-flex;align-items:center}.ui-tag{--tag-bg: var(--Background-Secondary, #202123);--tag-color: #ffffff;--tag-radius: var(--Radius-M, 16px);--tag-pad-y: 8px;--tag-pad-x: 12px;--tag-gap: 4px;--tag-icon-size: 16px;--tag-font-size: 14px;--tag-line: 16px;display:inline-flex;align-items:center;gap:var(--tag-gap);padding:var(--tag-pad-y) var(--tag-pad-x);border-radius:var(--tag-radius);background:var(--tag-bg);color:var(--tag-color);font-size:var(--tag-font-size);line-height:var(--tag-line);font-weight:var(--font-weight-body, 500);cursor:default;transition:background-color .12s ease,color .12s ease,opacity .12s ease,outline-color .12s ease;outline:none}.ui-tag:not(:disabled):hover{opacity:1}.ui-tag--main{--tag-bg: var(--Background-Secondary, #202123);--tag-color: #ffffff}.ui-tag--neutral{--tag-bg: var(--Surface-Primary, #313134);--tag-color: #ffffff}.ui-tag--purple{--tag-bg: var(--Accent-Purple, #9547ed);--tag-color: #ffffff}.ui-tag--yellow{--tag-bg: var(--Accent-Yellow, #efde5b);--tag-color: var(--Text-Contrast, #0e0e0f)}.ui-tag--error{--tag-bg: var(--System-Error, #ec4f1f);--tag-color: #ffffff}.ui-tag--small{--tag-pad-y: 4px;--tag-pad-x: 8px;--tag-font-size: 12px;--tag-line: 14px;--tag-icon-size: 14px}.ui-tag__icon{display:inline-flex;width:var(--tag-icon-size);height:var(--tag-icon-size);align-items:center;justify-content:center;color:currentColor}.ui-tag__label{display:inline-flex;align-items:center;line-height:var(--tag-line)}.ui-input{--input-bg: var(--Surface-Primary, #313134);--input-border: var(--Border-Primary, #8e8e97);--input-color: var(--Text-Secondary, #b4b4bc);--input-radius: var(--Radius-M, 16px);--input-pad-y: var(--Space-S, 12px);--input-pad-x: var(--Space-M, 16px);--input-gap: var(--Space-S, 12px);--input-font-size: var(--Typography-Size-System, 18px);--input-line: var(--Typography-Height-System, 24px);--input-icon-size: 24px;width:100%;display:inline-flex;align-items:center;gap:var(--input-gap);padding:var(--input-pad-y) var(--input-pad-x);border-radius:var(--input-radius);border:1px solid var(--input-border);background:var(--input-bg);color:var(--input-color);transition:background-color .12s ease,color .12s ease,opacity .12s ease,outline-color .12s ease,border-color .12s ease;outline:none}.ui-input--filled{--input-border: var(--Border-Secondary, #b5b5b9);--input-color: var(--Text-Primary, #ffffff)}.ui-input--focused{--input-border: transparent}.ui-input--disabled{--input-bg: var(--Surface-Secondary, #525255);--input-color: var(--Text-Secondary, #b4b4bc);--input-border: var(--Border-Primary, #8e8e97);cursor:not-allowed;opacity:1}.ui-input__icon{width:var(--input-icon-size);height:var(--input-icon-size);display:inline-flex;align-items:center;justify-content:center;color:currentColor}.ui-input__field{flex:1;min-width:0;border:none!important;border-radius:0!important;background:transparent!important;color:inherit;font-size:var(--input-font-size);line-height:var(--input-line);font-weight:var(--font-weight-system, 500);outline:none;padding:0;appearance:none;-webkit-appearance:none;box-shadow:none!important}.ui-input__field::placeholder{color:var(--Text-Secondary, #b4b4bc)}.app-shell{max-width:1200px;margin:0 auto;padding:var(--Space-L) var(--Space-M) calc(var(--Space-L) * 2)}.app-shell--compact{max-width:402px;padding:0;background:var(--Background-Primary);min-height:100vh}.app-shell--compact .app-main{padding:0}.app-header{display:flex;align-items:center;justify-content:space-between;gap:var(--Space-S);margin-bottom:var(--Space-L)}.brand{display:flex;align-items:center;gap:var(--Space-S)}.brand-mark{width:44px;height:44px;border-radius:var(--Radius-M);display:grid;place-items:center;font-weight:var(--font-weight-bold);letter-spacing:.8px;border:1px solid var(--Border-Primary);background:linear-gradient(135deg,#26d0a026,#9547ed1a),var(--Surface-Primary);color:var(--Text-Primary)}.brand-text{display:flex;flex-direction:column;gap:2px}.brand-name{font-weight:var(--font-weight-bold);letter-spacing:.4px}.brand-subtitle{font-size:var(--Typography-Size-Note);color:var(--Text-Secondary);text-transform:uppercase;letter-spacing:1px}.header-actions{display:flex;align-items:center;gap:var(--Space-XS)}.ghost-button{border:1px solid var(--Border-Primary);background:transparent;color:var(--Text-Primary);padding:var(--Space-XS) var(--Space-S);border-radius:var(--Radius-M);text-decoration:none;transition:border-color .2s ease,transform .2s ease}.ghost-button:hover{border-color:var(--Accent-Cyan);transform:translateY(-2px)}.app-main,.page{display:flex;flex-direction:column;gap:var(--Space-M)}.panel{background:var(--Surface-Primary);border:1px solid var(--Border-Primary);border-radius:var(--Radius-L);padding:var(--Space-L);box-shadow:var(--Shadow-LG);color:var(--Text-Primary)}.hero{display:grid;grid-template-columns:1.4fr 1fr;gap:var(--Space-M)}.hero-copy h1{margin:var(--Space-S) 0 var(--Space-S);font-size:var(--Typography-Size-Headline);line-height:var(--Typography-Height-Headline);font-family:var(--font-family-display);font-weight:var(--font-weight-headline)}.hero-copy .lede{color:var(--Text-Secondary);margin:var(--Space-S) 0 var(--Space-M)}.eyebrow{text-transform:uppercase;letter-spacing:1.6px;font-size:var(--Typography-Size-Note);color:var(--Text-Secondary);margin:0}.lede{color:var(--Text-Secondary);margin:0}.accent-glow{display:block;font-weight:700;color:var(--Accent-Cyan)}.hero-actions{display:flex;gap:var(--Space-XS);margin:var(--Space-S) 0;flex-wrap:wrap}.feature-list{list-style:none;padding:0;margin:var(--Space-S) 0 0;display:grid;gap:var(--Space-XS);color:var(--Text-Secondary)}.feature-list li:before{content:"•";margin-right:var(--Space-XS);color:var(--Accent-Cyan)}.hero-status{display:flex;flex-direction:column;gap:var(--Space-S)}.status-row{display:flex;gap:var(--Space-XS);flex-wrap:wrap}.status-block{background:var(--Surface-Secondary);border-radius:var(--Radius-M);padding:var(--Space-S);border:1px solid var(--Border-Primary)}.status-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:var(--Space-S)}.status-title{margin:0;font-size:var(--Typography-Size-Note);color:var(--Text-Secondary);letter-spacing:.5px}.status-value{margin:2px 0;font-weight:700}.status-hint{margin:0;font-size:var(--Typography-Size-Note);color:var(--Text-Secondary)}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:var(--Space-M)}.panel-header{display:flex;justify-content:space-between;align-items:center;gap:var(--Space-XS);margin-bottom:var(--Space-S)}.panel-header h3{margin:var(--Space-XXS) 0 0;font-size:var(--Typography-Size-System);line-height:var(--Typography-Height-System)}.form{display:flex;flex-direction:column;gap:var(--Space-XS)}.form-row{display:flex;gap:var(--Space-S);align-items:center;flex-wrap:wrap}.form-row .ui-input{flex:1;min-width:220px}.form-label{font-weight:var(--font-weight-bold);margin-bottom:-4px}.form-hint{color:var(--Text-Secondary);font-size:var(--Typography-Size-Note);margin:0}.form-error{color:#ffb4c5;margin:0}.session-header{display:flex;align-items:flex-start;gap:var(--Space-S);justify-content:space-between}.session-actions{max-width:340px;display:flex;flex-direction:column;gap:var(--Space-XS)}.player-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:var(--Space-S)}.player-card{border:1px solid var(--Border-Primary);background:var(--Surface-Secondary);border-radius:var(--Radius-M);padding:var(--Space-S);display:flex;flex-direction:column;gap:var(--Space-XS)}.player-card--inactive{opacity:.7}.player-row{display:flex;gap:var(--Space-S);align-items:center}.avatar{width:42px;height:42px;border-radius:var(--Radius-M);background:linear-gradient(135deg,#72c8ff33,#7cf2c626);display:grid;place-items:center;font-weight:var(--font-weight-bold);border:1px solid var(--Border-Primary)}.player-name{margin:0;display:flex;gap:var(--Space-XS);align-items:center}.player-score{margin:0;color:var(--Text-Secondary);font-size:var(--Typography-Size-Note)}.player-tags{display:flex;flex-wrap:wrap;gap:var(--Space-XS)}.control-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:var(--Space-XS)}.loading-fallback{display:flex;justify-content:center;align-items:center;height:100%;width:100%;color:var(--Text-Secondary)}@media(max-width:900px){.hero{grid-template-columns:1fr}.session-header{flex-direction:column}.app-shell{padding:var(--Space-M) var(--Space-S) calc(var(--Space-L) * 2)}}.layout{max-width:480px;margin:0 auto;min-height:100vh;position:relative;background-color:var(--color-bg-dark, #1C1C1E);box-shadow:0 0 20px #00000080}:root{--font-family-display: "Montserrat Alternates", "Montserrat", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-family-body: "Montserrat", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-weight-display: 700;--font-weight-headline: 600;--font-weight-title: 600;--font-weight-title-long: 600;--font-weight-system: 500;--font-weight-body: 500;--font-weight-note: 500;--Background-Primary: #202022;--Background-Secondary: #0e0e0f;--Surface-Primary: #313134;--Surface-Secondary: #525255;--Surface-Contrast: #ffffff;--Text-Primary: #ffffff;--Text-Secondary: #b4b4bc;--Text-Contrast: #0e0e0f;--Border-Primary: #8e8e97;--Border-Secondary: #b5b5b9;--Border-Contrast: #ffffff;--Focus-Outline: var(--Border-Contrast);--Accent-Cyan: #26d0a0;--Accent-Purple: #9547ed;--Accent-Yellow: #efde5b;--System-Success: #5ade77;--System-Warning: #eccc4b;--System-Error: #ec4f1f;--Glass-Primary: #111112e0;--Glass-Secondary: #313134e0}:root[data-theme=dark],:root[data-theme=light]{--Background-Primary: #202022;--Background-Secondary: #0e0e0f;--Surface-Primary: #313134;--Surface-Secondary: #525255;--Surface-Contrast: #ffffff;--Text-Primary: #ffffff;--Text-Secondary: #b4b4bc;--Text-Contrast: #0e0e0f;--Border-Primary: #8e8e97;--Border-Secondary: #b5b5b9;--Border-Contrast: #ffffff;--Focus-Outline: var(--Border-Contrast);--Accent-Cyan: #26d0a0;--Accent-Purple: #9547ed;--Accent-Yellow: #efde5b;--System-Success: #5ade77;--System-Warning: #eccc4b;--System-Error: #ec4f1f;--Glass-Primary: #111112e0;--Glass-Secondary: #313134e0}:root,:root[data-platform=mobile]{--Typography-Size-Display: 48px;--Typography-Size-Headline: 32px;--Typography-Size-Title: 24px;--Typography-Size-Title-Long: 24px;--Typography-Size-System: 18px;--Typography-Size-Body: 14px;--Typography-Size-Note: 12px;--Typography-Height-Display: 48px;--Typography-Height-Headline: 32px;--Typography-Height-Title: 24px;--Typography-Height-Title-Long: 28px;--Typography-Height-System: 24px;--Typography-Height-Body: 16px;--Typography-Height-Note: 14px;--Space-XXS: 4px;--Space-XS: 8px;--Space-S: 12px;--Space-M: 16px;--Space-L: 20px;--Radius-S: 12px;--Radius-M: 16px;--Radius-L: 24px;--Radius-XL: 32px;--Radius-Full: 1000px}:root[data-platform=desktop]{--Typography-Size-Display: 48px;--Typography-Size-Headline: 28px;--Typography-Size-Title: 20px;--Typography-Size-Title-Long: 20px;--Typography-Size-System: 18px;--Typography-Size-Body: 14px;--Typography-Size-Note: 12px;--Typography-Height-Display: 48px;--Typography-Height-Headline: 32px;--Typography-Height-Title: 24px;--Typography-Height-Title-Long: 28px;--Typography-Height-System: 24px;--Typography-Height-Body: 16px;--Typography-Height-Note: 14px;--Space-XXS: 4px;--Space-XS: 8px;--Space-S: 12px;--Space-M: 16px;--Space-L: 20px;--Radius-S: 12px;--Radius-M: 16px;--Radius-L: 24px;--Radius-XL: 32px;--Radius-Full: 1000px}:root{--Typography-Display: var(--Typography-Size-Display) / var(--Typography-Height-Display) var(--font-family-display);--Typography-Headline: var(--Typography-Size-Headline) / var(--Typography-Height-Headline) var(--font-family-display);--Typography-Title: var(--Typography-Size-Title) / var(--Typography-Height-Title) var(--font-family-display);--Typography-Title-Long: var(--Typography-Size-Title-Long) / var(--Typography-Height-Title-Long) var(--font-family-display);--Typography-System: var(--Typography-Size-System) / var(--Typography-Height-System) var(--font-family-body);--Typography-Body: var(--Typography-Size-Body) / var(--Typography-Height-Body) var(--font-family-body);--Typography-Note: var(--Typography-Size-Note) / var(--Typography-Height-Note) var(--font-family-body)}:root{--Shadow-LG: 0 24px 70px rgba(0, 0, 0, .45);--Shadow-MD: 0 12px 30px rgba(0, 0, 0, .2);--Shadow-Soft: 0 6px 18px rgba(0, 0, 0, .12)}:root{font-family:var(--font-family-body);line-height:1.5;font-weight:var(--font-weight-normal);color:var(--Text-Primary);background:var(--Background-Primary);text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*,*:before,*:after{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(120% 120% at 10% 20%,rgba(38,208,160,.08),transparent),radial-gradient(90% 90% at 80% 0%,rgba(149,71,237,.12),transparent),var(--Background-Primary);color:var(--Text-Primary)}a{color:inherit;text-decoration:none}button,input{font:inherit}
