:root{font-family:Avenir Next,Segoe UI,sans-serif;color:#1d2940;color-scheme:light;background:radial-gradient(circle at top,rgba(193,215,255,.65),transparent 24%),radial-gradient(circle at bottom,rgba(255,231,214,.48),transparent 20%),linear-gradient(180deg,#f7f9ff,#eff3fb);line-height:1.5;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}html,body,#root{height:100%;-webkit-text-size-adjust:100%;text-size-adjust:100%}button,input,select{font:inherit}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}#root{min-height:100vh}.app-shell{min-height:100vh;min-height:100dvh;padding:1.25rem}.mobile-shell{display:flex;justify-content:center}.app-main{width:100%;max-width:28rem;display:flex;flex-direction:column}.mobile-main{display:flex;flex-direction:column;flex:1;justify-content:stretch}.entry-phone-card,.sheet-card,.auth-card,.management-card{border:1px solid rgba(132,150,185,.18);border-radius:2rem;background:linear-gradient(180deg,#fffffff5,#f8faffeb);box-shadow:0 30px 80px #596d992e,inset 0 1px #ffffffd1;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.brand-banner{display:block;width:100%;height:auto}.login-brand{margin:0 auto 1rem;max-width:18rem}.entry-brand-wrap{position:relative;display:flex;justify-content:center;width:100%}.entry-brand-frame{position:relative;display:flex;align-items:flex-start;justify-content:center;width:100%}.entry-brand{max-width:16.5rem}.entry-phone-card{display:flex;flex-direction:column;flex:1;gap:1rem;padding:1.15rem}.sheet-card,.auth-card,.management-card{padding:1.35rem}.preference-subcard{margin-top:1.15rem}.entry-header,.sheet-header,.section-header{display:flex;align-items:center;gap:.9rem}.sheet-header,.section-header{justify-content:space-between}.team-title-button{flex:1;display:flex;flex-direction:column;align-items:center;gap:.1rem;border:0;background:transparent;color:#1f2940;padding:0}.team-title{font-size:1.05rem;font-weight:700}.team-subtitle,.sheet-copy,.auth-copy,.auth-note,.header-copy{margin:0;color:#374362b8;font-size:.92rem}.eyebrow{margin:0 0 .2rem;color:#7b8cab;font-size:.74rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase}.auth-card h2,.management-card h2,.modal-card h2,.sheet-card h2{margin:0;font-size:1.45rem;line-height:1.1}.icon-circle,.back-pill{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:999px;background:linear-gradient(180deg,#fff,#f1f4fb);box-shadow:0 10px 24px #61749429,inset 0 1px #ffffffd9;color:#5f708e}.icon-circle{width:3.15rem;height:3.15rem;font-size:1rem;font-weight:700}.icon-circle:disabled{opacity:.45}.icon-circle-right{color:#b1606a;background:linear-gradient(180deg,#fffaf9,#fff0f3)}.back-pill{padding:.7rem 1rem;min-width:4.4rem}.icon-gear{position:relative;display:inline-flex;align-items:center;justify-content:center;width:1.45rem;height:1.45rem;color:transparent;font-size:0;overflow:hidden}.icon-gear:before{content:"";width:1.38rem;height:1.38rem;background:center / contain no-repeat url(/gear.png)}.swap-pill,.primary-button,.submit-button,.reset-button,.options-tab,.modal-player-button{border:0;border-radius:1rem;transition:transform .12s ease,box-shadow .12s ease,opacity .12s ease}.swap-pill,.submit-button,.reset-button,.primary-button{min-height:3.35rem}.swap-pill{align-self:center;min-width:8.6rem;padding:.7rem 1.4rem;background:linear-gradient(180deg,#bfe5ff,#73b3f0);color:#fff;font-weight:700;letter-spacing:.06em;box-shadow:0 14px 24px #4d91cf47}.swap-pill.active{background:linear-gradient(180deg,#6bb0f3,#3c88dd)}.position-grid,.action-grid,.modal-grid,.grid-two{display:grid;gap:.95rem}.position-grid,.action-grid{grid-template-columns:repeat(3,minmax(0,1fr));width:100%}.position-grid{margin-top:1.35rem}.action-grid{margin-top:2.1rem}.position-tile,.action-tile{width:100%;min-width:0;min-height:4.45rem;border-radius:1rem;border:2px solid rgba(222,110,110,.82);background:linear-gradient(180deg,#fffffffa,#f9fafff5);box-shadow:0 10px 24px #6174941f,inset 0 1px #ffffffe6;color:#244879;padding:.6rem .45rem}.position-tile{position:relative;display:flex;align-items:center;justify-content:center}.position-tile.selected{transform:translateY(-1px);border-color:#d54f4f;background:linear-gradient(180deg,#fff0f0,#ffd6d6);box-shadow:0 0 0 3px #d54f4f2e,0 18px 34px #d54f4f4d,inset 0 0 0 2px #ffffffb8}.action-tile.selected{transform:translateY(-1px) scale(1.01);box-shadow:0 0 0 3px #ffffffeb,inset 0 0 0 2px #ffffffb8}.position-number{position:absolute;top:.7rem;left:.7rem;display:block;font-size:1rem;font-weight:600;line-height:1;color:#244879b8}.position-player{display:block;width:100%;padding-top:.1rem;text-align:center;line-height:1.05;color:#183763}.position-tile.selected .position-number,.position-tile.selected .position-player,.action-tile.selected{color:#103a7b}.position-player-jersey,.position-player-initials{font-size:1.65rem;font-weight:800}.position-player-name{font-size:.88rem;font-weight:800}.position-player-empty{font-size:.82rem;font-weight:700;color:#3a435eb8}.action-tile{min-height:3.85rem;font-size:1rem;font-weight:700;letter-spacing:.03em}.action-error{border-color:#68b5f4b8;color:#2d89d3}.action-kill{border-color:#75cc97c7;color:#368c54}.action-in-play{border-color:#9f7be1b8;color:#7554bf}.action-error.selected{border-color:#1f89de;background:linear-gradient(180deg,#edf7ff,#d8eeff);box-shadow:0 0 0 3px #1f89de38,0 18px 34px #1f89de47,inset 0 0 0 2px #ffffffb8}.action-kill.selected{border-color:#2f9e57;background:linear-gradient(180deg,#eefcf3,#daf4e2);box-shadow:0 0 0 3px #2f9e5738,0 18px 34px #2f9e5747,inset 0 0 0 2px #ffffffb8}.action-in-play.selected{border-color:#7d58d2;background:linear-gradient(180deg,#f3efff,#e6dcff);box-shadow:0 0 0 3px #7d58d238,0 18px 34px #7d58d247,inset 0 0 0 2px #ffffffb8}.glossy-button{background:linear-gradient(135deg,#78d2ab,#43c0bb);color:#fff;font-size:1.15rem;font-weight:800;letter-spacing:.05em;box-shadow:0 16px 28px #42b5aa47}.subtle-button{background:linear-gradient(180deg,#fff,#f1f4fb);color:#7683a1;font-weight:700;box-shadow:0 12px 24px #6174941f}.entry-footer-stack{display:flex;flex-direction:column;justify-content:flex-end;gap:.6rem;margin-top:auto;padding-top:.85rem}.primary-button{background:linear-gradient(180deg,#eef5ff,#e2eeff);color:#3764b2;font-weight:700;padding:.85rem 1rem}.submit-button:disabled,.swap-pill:disabled,.primary-button:disabled,.reset-button:disabled,.position-tile:disabled,.action-tile:disabled{opacity:.5}.status-snackbar,.status-bar{min-height:3.25rem;border-radius:1rem;background:linear-gradient(180deg,#fffffff2,#eef2fbfa);box-shadow:inset 0 1px #ffffffd1,0 10px 22px #61749414;padding:.9rem 1rem;color:#4c5a76}.entry-status-snackbar{min-height:2.8rem;padding:.8rem 1rem}.sync-indicator-dot{position:absolute;top:-.05rem;right:-1.1rem;width:.9rem;height:.9rem;border:2px solid rgba(255,255,255,.9);border-radius:999px;box-shadow:0 0 0 3px #ffffff8c,0 8px 18px #3b4b6c2e}.sync-indicator-dot.synced{background:linear-gradient(180deg,#5ddf8c,#27b85d)}.sync-indicator-dot.out-of-sync{background:linear-gradient(180deg,#ff8e8e,#d94848)}.soft-backdrop{background:#28314757;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;padding:1rem}.polished-modal,.modal-card{width:min(100%,26rem);border-radius:1.6rem;background:linear-gradient(180deg,#fff,#f8faff);padding:1.35rem;box-shadow:0 30px 80px #242d433d}.modal-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.modal-close{width:2.6rem;height:2.6rem;border:0;border-radius:999px;background:linear-gradient(180deg,#f4f6fb,#eceff7);color:#6e7891}.modal-grid{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:1.2rem}.modal-player-button{min-height:4.3rem;background:linear-gradient(180deg,#fff,#f3f6fc);color:#28344d;box-shadow:0 10px 24px #61749424}.management-stack,.list-stack,.auth-form,.management-form{display:flex;flex-direction:column;gap:1rem}.management-form label,.auth-field{display:flex;flex-direction:column;gap:.35rem;font-weight:700}.soft-input,.auth-field input{width:100%;border:1px solid rgba(138,154,184,.32);border-radius:.95rem;background:#ffffffeb;padding:.9rem 1rem;color:#1f2940;box-shadow:inset 0 1px #ffffffb8}.grid-two{grid-template-columns:repeat(2,minmax(0,1fr))}.checkbox-row{display:flex;align-items:center;gap:.65rem}.checkbox-stack{display:grid;gap:.7rem}.button-row{display:flex;gap:.85rem}.list-card{display:flex;flex-direction:column;gap:.25rem;border-radius:1.15rem;border:1px solid rgba(138,154,184,.2);background:linear-gradient(180deg,#fffffffa,#f5f8fdf5);padding:.95rem 1rem;color:#1f2940;text-align:left}.list-card.static{cursor:default}.game-list-card{position:relative;padding-top:1.15rem}.game-list-card.active{border-color:#6f9aec57;box-shadow:0 18px 32px #6d80ab1f,inset 0 1px #ffffffe6}.game-card-active-badge{position:absolute;top:.15rem;right:.15rem;width:6.6rem;height:6.6rem;object-fit:contain}.compact-action{min-height:2.35rem;padding:.45rem .8rem;border-radius:.85rem;font-size:.84rem;line-height:1.1;white-space:nowrap}.code-card code{display:block;white-space:pre-wrap;word-break:break-word;margin-top:.5rem;color:#394869}.inline-action{margin-top:.75rem}.auth-error{border-radius:1rem;background:#ff6c6c1f;color:#b33a42;padding:.85rem 1rem}.options-tab-row{display:flex;gap:.5rem;overflow-x:auto;padding-bottom:.35rem;margin-bottom:1rem}.options-tab{padding:.72rem 1rem;background:linear-gradient(180deg,#fff,#eef2fa);color:#576887;white-space:nowrap}.options-tab.active{background:linear-gradient(180deg,#dfeeff,#bfd8ff);color:#244879}.options-menu-page{display:flex;flex-direction:column;gap:1.2rem}.options-menu-list{display:flex;flex-direction:column;gap:.85rem}.options-menu-button{width:100%;min-height:3.4rem;border:0;border-radius:1.35rem;background:linear-gradient(180deg,#7cb2ff,#4d8df2);box-shadow:0 16px 28px #4b7cd638,inset 0 1px #ffffff3d;color:#fff;font-size:1rem;font-weight:800;text-align:center;padding:.9rem 1rem}.options-section-page{gap:1.15rem}.options-section-header{padding-inline:.1rem}.options-section-copy h2{font-size:1.95rem}.teams-page{gap:1.2rem}.roster-page-header{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:1rem;padding:.15rem .2rem .35rem}.roster-back-button{width:3.3rem;height:3.3rem;border:0;border-radius:1.25rem;background:linear-gradient(180deg,#fffffffa,#f0f4fff0);color:#2f416c;box-shadow:0 10px 22px #6f80a91f,inset 0 1px #ffffffeb}.roster-back-icon{width:1.6rem;height:1.6rem;display:block;margin:0 auto}.roster-page-copy{min-width:0}.roster-page-copy h2{margin:0;font-size:1.75rem;line-height:1.06;letter-spacing:-.03em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.roster-page-copy p{margin:.18rem 0 0;color:#62729a;font-size:.94rem}.roster-form-card,.roster-list-panel,.team-settings-card{border-radius:2.35rem;padding:1.45rem;box-shadow:0 28px 68px #6575a024,inset 0 1px #ffffffeb}.roster-form-card{gap:1.35rem}.roster-form-head{display:flex;align-items:flex-start;justify-content:space-between;gap:.85rem}.roster-form-head h2{font-size:1.55rem;letter-spacing:-.03em}.roster-player-form{gap:1.15rem}.roster-form-grid{gap:1rem 1.1rem}.roster-input{min-height:3.15rem;border-radius:1.3rem;padding:.72rem .95rem;font-size:.95rem}.selector-field{gap:.45rem}.collapsed-selector{display:grid;grid-template-columns:minmax(4.8rem,auto) minmax(0,1fr);border:1px solid rgba(190,205,236,.88);border-radius:1.3rem;overflow:hidden;background:linear-gradient(180deg,#fffffff5,#f3f7fff2);box-shadow:inset 0 1px #ffffffd9,0 10px 20px #8697bf14}.selector-trigger,.selector-display,.starting-position-trigger{border:0;background:transparent;color:#325eae}.selector-trigger{min-height:3.15rem;padding:.68rem .9rem;background:linear-gradient(180deg,#e9effff5,#dce5ffe6);font-size:.92rem;font-weight:700;text-align:left}.selector-display{min-width:0;min-height:3.15rem;display:flex;align-items:center;justify-content:space-between;gap:.65rem;padding:.68rem .9rem;color:#384b77;font-size:.92rem;font-weight:700}.selector-display span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.selector-chevron{color:#7da3df;font-size:1.55rem;line-height:1}.starter-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:3.9rem}.starter-toggle-pill{position:relative;display:inline-flex;align-items:center;gap:.7rem;color:#24365d;font-size:.98rem;font-weight:800}.starter-toggle-input{position:absolute;opacity:0;pointer-events:none}.starter-toggle-switch{position:relative;width:2.6rem;height:1.52rem;flex-shrink:0;border-radius:999px;background:linear-gradient(180deg,#e1e8f7fa,#d3dceef0);box-shadow:inset 0 1px #ffffffeb,0 6px 14px #7d8fb31f;transition:background .14s ease,box-shadow .14s ease}.starter-toggle-switch:after{content:"";position:absolute;top:.16rem;left:.16rem;width:1.2rem;height:1.2rem;border-radius:999px;background:linear-gradient(180deg,#fffffffa,#f5f8fff2);box-shadow:0 4px 10px #62749829,inset 0 1px #ffffffeb;transition:transform .14s ease}.starter-toggle-input:checked+.starter-toggle-switch{background:linear-gradient(180deg,#79affffa,#568ceaf5);box-shadow:inset 0 1px #ffffff4d,0 8px 16px #5785dc2e}.starter-toggle-input:checked+.starter-toggle-switch:after{transform:translate(1.08rem)}.starting-position-field{min-width:10.5rem;display:flex;flex-direction:column;gap:.45rem;font-weight:700}.starting-position-trigger{min-height:2.95rem;display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.58rem .82rem;border-radius:1.2rem;background:linear-gradient(180deg,#fffffffa,#f3f7fff2);box-shadow:inset 0 1px #ffffffe0,0 10px 20px #8697bf14;color:#27457c;font-size:.92rem;font-weight:700}.roster-form-actions{display:flex;justify-content:flex-start;padding-top:.15rem}.roster-submit-button{min-width:11.5rem;min-height:3.1rem;border-radius:999px;background:linear-gradient(180deg,#7cb2ff,#4d8df2);color:#fff;font-size:.92rem;font-weight:800;box-shadow:0 12px 20px #4b7cd638}.roster-list-panel{padding-top:1.25rem}.roster-list-head{display:flex;justify-content:flex-end;margin-bottom:1rem}.roster-list-stack{gap:1rem}.roster-filter-toggle{min-height:2.75rem;padding:.45rem .85rem;border-radius:999px;background:linear-gradient(180deg,#f4f7fffa,#ebf1fcf0);box-shadow:inset 0 1px #ffffffe6,0 10px 20px #8697bf1a}.roster-card.polished{border-radius:1.8rem;padding:1.2rem 1.15rem;border-color:#c5d0eb99;box-shadow:0 20px 36px #7081a81f,inset 0 1px #ffffffe0}.roster-card.inactive{opacity:.82;border-color:#b0bcd48a}.roster-card-body{display:flex;align-items:flex-start;gap:1rem}.roster-card-copy{flex:1;display:flex;flex-direction:column;gap:.28rem;min-width:0}.roster-card-copy strong{font-size:1.08rem;letter-spacing:-.02em}.roster-card-copy span{color:#425173}.roster-action-stack{display:flex;flex-direction:column;gap:.65rem;align-items:stretch;margin-left:auto;flex:0 0 8rem}.polished-actions{width:8rem;min-width:8rem}.roster-card-action{min-height:3rem;border-radius:999px;font-size:.96rem;font-weight:800;white-space:nowrap;padding-inline:.9rem}.roster-card-action-danger{background:linear-gradient(180deg,#fff2f5fa,#f6e0e6f2);color:#aa5965;box-shadow:0 12px 22px #bf7c8c24,inset 0 1px #ffffffe0}.status-pill{align-self:flex-start;margin-top:.35rem;padding:.35rem .85rem;border-radius:999px;font-size:.86rem;font-weight:800}.status-pill.active{background:linear-gradient(180deg,#d7ece8f2,#cfe5e0eb);color:#5d8d8f}.status-pill.inactive{background:linear-gradient(180deg,#eee5ebf2,#e6dae2eb);color:#927184}.roster-empty-state{color:#5a6988}.team-settings-card{gap:1.35rem;background:linear-gradient(180deg,#fbfcfffa,#f4f7fdf0)}.team-settings-head h2{margin:0;font-size:1.55rem;letter-spacing:-.03em}.team-settings-form{gap:1.15rem}.team-settings-field{display:flex;flex-direction:column;gap:.5rem}.team-settings-field span{color:#24365d;font-size:.98rem;font-weight:800;letter-spacing:-.01em}.team-select-wrap{position:relative}.team-picker-input{max-width:none;width:100%;padding-right:3rem;appearance:none;-webkit-appearance:none;-moz-appearance:none}.team-settings-input{min-height:3.55rem;border-radius:1.45rem;padding:.8rem 1rem;font-size:.96rem;box-shadow:inset 0 1px #ffffffd9,0 10px 20px #8697bf14}.team-select-chevron{position:absolute;top:50%;right:1.05rem;width:.82rem;height:.82rem;transform:translateY(-62%) rotate(45deg);border-right:2px solid #7d95c5;border-bottom:2px solid #7d95c5;pointer-events:none}.team-settings-save-button{width:100%;min-height:3.45rem;margin-top:.2rem;border-radius:1.45rem;background:linear-gradient(180deg,#7cb2ff,#4d8df2);color:#fff;font-size:.96rem;font-weight:800;box-shadow:0 16px 28px #4b7cd638,inset 0 1px #ffffff3d}.roster-picker-modal{width:min(100%,23rem);gap:1rem}.selector-option-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.85rem;margin-top:1.15rem}.selector-option{min-height:3.1rem;border:1px solid rgba(194,207,236,.9);border-radius:1.15rem;background:linear-gradient(180deg,#fffffffa,#f3f7fff2);color:#314c7e;font-size:.95rem;font-weight:800;box-shadow:inset 0 1px #ffffffeb,0 10px 20px #8697bf14}.selector-option.selected{border-color:#5988e1f2;background:linear-gradient(180deg,#e4eefffa,#d0e0fff5);box-shadow:0 0 0 3px #6896e924,0 16px 28px #5988e12e,inset 0 1px #ffffffeb}.selector-modal-footer{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-top:1rem}@media (max-width: 540px){.roster-card-body{align-items:flex-start}.roster-action-stack{margin-left:auto;flex-basis:7.85rem}.polished-actions{width:7.85rem;min-width:7.85rem}.roster-card-action{width:100%}}@media (max-width: 360px){.app-shell{padding:.85rem}.grid-two{grid-template-columns:1fr}.roster-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.sheet-header,.section-header{flex-direction:column;align-items:stretch}.button-row{flex-direction:row;align-items:stretch}.roster-page-header{grid-template-columns:auto 1fr;align-items:start}.roster-page-copy h2{font-size:1.55rem}.starting-position-field,.team-picker-input{min-width:0;max-width:none;width:100%}.roster-card-body{flex-direction:column;align-items:stretch}.roster-action-stack{margin-left:0;flex-basis:auto;width:100%}.polished-actions{width:100%;min-width:0;max-width:none}.selector-modal-footer{flex-direction:column;align-items:stretch}.roster-list-head{justify-content:flex-start}}
