:root{--bg:#f4f6f8;--bg-raised:#ffffff;--bg-soft:#edf1f4;--surface:#ffffff;--surface-muted:#f8fafb;--text:#14202b;--text-soft:#5d6a77;--text-faint:#82909b;--line:#dce3e8;--line-strong:#c8d2da;--primary:#c9342f;--primary-strong:#a82724;--primary-soft:#fbe9e7;--gold:#b5811c;--gold-soft:#fff3d5;--blue:#316f9f;--green:#2f805d;--green-soft:#e4f3eb;--amber:#a66a13;--amber-soft:#fff2d6;--danger:#b52e2a;--danger-soft:#fbe8e7;--ring:#4a90c2;--shadow-sm:0 1px 2px rgb(17 32 43/6%);--shadow-md:0 12px 30px rgb(17 32 43/8%);--radius-md:16px;--radius-lg:24px;--ease-out:cubic-bezier(0.23,1,0.32,1);--ease-in-out:cubic-bezier(0.77,0,0.175,1);font-family:ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:var(--bg);color:var(--text)}:root[data-theme=dark]{--bg:#0d1118;--bg-raised:#111822;--bg-soft:#171f2b;--surface:#151d28;--surface-muted:#1b2531;--text:#eef3f6;--text-soft:#a7b4bf;--text-faint:#7c8b98;--line:#293643;--line-strong:#3a4a59;--primary:#ed625b;--primary-strong:#ff8178;--primary-soft:#3a1f22;--gold:#e7b84f;--gold-soft:#3a2d18;--blue:#73b4df;--green:#5bc28d;--green-soft:#173528;--amber:#e3aa46;--amber-soft:#3b2d17;--danger:#ff8076;--danger-soft:#3e2223;--ring:#77b8e4;--shadow-sm:0 1px 2px rgb(0 0 0/30%);--shadow-md:0 16px 36px rgb(0 0 0/28%);color-scheme:dark}*{box-sizing:border-box}body,html{min-width:320px;background:var(--bg);transition:background-color .18s ease-out,color .18s ease-out}body{margin:0;color:var(--text)}a,button,input,select,textarea{font:inherit}a,button,select{-webkit-tap-highlight-color:transparent}button,select{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--ring);outline-offset:3px}a{color:inherit;text-decoration:none}.shell{width:min(100% - 2rem,1180px);margin:0 auto;padding:1.5rem 0}.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}.app-frame{min-height:100dvh;display:grid;grid-template-columns:248px minmax(0,1fr);background:var(--bg)}.app-rail{position:-webkit-sticky;position:sticky;top:0;display:flex;min-height:100dvh;flex-direction:column;gap:1.5rem;border-right:1px solid var(--line);background:var(--bg-raised);padding:1.35rem 1rem 1rem}.brand-lockup{display:inline-flex;align-items:center;gap:.65rem;padding:.35rem .5rem;font-weight:750;letter-spacing:-.03em}.brand-mark,.mobile-brand-mark{display:grid;place-items:center;width:34px;height:34px;border-radius:11px;background:var(--primary);color:#fff;font-size:.76rem;font-weight:800;letter-spacing:-.08em;box-shadow:0 6px 14px rgb(201 52 47/24%)}.brand-wordmark{font-size:1.08rem}.rail-club{padding:.95rem;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface-muted)}.eyebrow,.topbar-kicker{display:block;color:var(--text-faint);font-size:.68rem;font-weight:750;letter-spacing:.12em;line-height:1.2;text-transform:uppercase}.club-picker{position:relative;display:flex;align-items:center;gap:.45rem;margin-top:.55rem;color:var(--text)}.club-picker select{width:100%;min-height:40px;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;border-radius:9px;background:transparent;color:inherit;font-weight:700;outline:0;padding:.25rem 1.4rem .25rem 0}.club-picker>svg{position:absolute;right:.15rem;pointer-events:none;color:var(--text-soft)}.club-picker-empty{justify-content:space-between;min-height:40px;color:var(--primary);font-weight:750}.nav-list{display:grid;grid-gap:.3rem;gap:.3rem}.nav-link{display:flex;min-height:46px;align-items:center;gap:.75rem;border-radius:11px;color:var(--text-soft);padding:.65rem .75rem;font-size:.92rem;font-weight:650;transition:background-color .16s ease-out,color .16s ease-out,transform .16s ease-out}.nav-link:hover{background:var(--bg-soft);color:var(--text)}.nav-link:active{transform:scale(.97)}.nav-link.is-active{background:var(--primary-soft);color:var(--primary)}.nav-link svg{flex:0 0 auto}.nav-link-admin-entry{margin-top:.75rem;border:1px solid var(--primary);background:var(--primary-soft);color:var(--primary)}.rail-footer{display:grid;grid-gap:.65rem;gap:.65rem;margin-top:auto}.connection-status{display:inline-flex;align-items:center;gap:.5rem;color:var(--text-faint);font-size:.74rem}.connection-dot{width:7px;height:7px;border-radius:50%;background:var(--green);box-shadow:0 0 0 3px var(--green-soft)}.connection-stale .connection-dot{background:var(--amber);box-shadow:0 0 0 3px var(--amber-soft)}.connection-offline .connection-dot{background:var(--danger);box-shadow:0 0 0 3px var(--danger-soft)}.avatar-button,.icon-button,.theme-button{min-height:44px;border:1px solid var(--line);border-radius:11px;background:var(--surface);color:var(--text-soft);transition:background-color .16s ease-out,color .16s ease-out,border-color .16s ease-out,transform .16s ease-out}.theme-button{display:inline-flex;align-items:center;justify-content:center;gap:.55rem;padding:.55rem .7rem;font-size:.78rem;font-weight:700;line-height:1}.theme-button>svg{display:block;flex:0 0 auto}.avatar-button:hover,.icon-button:hover,.theme-button:hover{border-color:var(--line-strong);color:var(--text);background:var(--bg-soft)}.avatar-button:active,.icon-button:active,.theme-button:active{transform:scale(.97)}.theme-button-compact{width:44px;padding:0;place-items:center}.app-main{min-width:0}.app-topbar{position:-webkit-sticky;position:sticky;z-index:5;top:0;justify-content:space-between;min-height:72px;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--bg) 92%,transparent);padding:.85rem clamp(1rem,3vw,2.5rem);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.app-topbar,.topbar-title{display:flex;align-items:center}.topbar-title{gap:.7rem}.mobile-brand-mark{display:none;width:30px;height:30px;border-radius:9px}.topbar-title p{margin:.25rem 0 0;color:var(--text);font-size:.96rem;font-weight:700}.topbar-actions{display:flex;align-items:center;gap:.5rem}.avatar-button,.icon-button{display:grid;width:44px;place-items:center}.avatar-button{border:0;background:var(--primary);color:#fff;font-weight:800}.app-content{width:min(100% - 3rem,1180px);margin:0 auto;padding:clamp(1.5rem,3vw,3rem) 0 5rem}.mobile-nav{display:none}.dashboard-stack{display:grid;grid-gap:2rem;gap:2rem}.dashboard-hero{position:relative;display:flex;min-height:250px;align-items:center;justify-content:space-between;overflow:hidden;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);padding:clamp(1.5rem,5vw,3.4rem);box-shadow:var(--shadow-sm)}.dashboard-hero:after{position:absolute;right:-12%;bottom:-55%;width:420px;height:420px;border:1px solid var(--line);border-radius:50%;content:"";opacity:.5}.auth-gate h1,.dashboard-hero h1,.error-panel h1{max-width:720px;margin:.6rem 0 .8rem;color:var(--text);font-size:clamp(2.1rem,5vw,4.5rem);font-weight:820;letter-spacing:-.065em;line-height:.95}.hero-lede{max-width:540px;margin:0;color:var(--text-soft);font-size:clamp(1rem,2vw,1.2rem);line-height:1.55}.hero-mark{position:relative;z-index:1;display:grid;width:144px;height:144px;flex:0 0 auto;place-items:center;border:1px solid var(--line-strong);border-radius:42px;background:var(--bg-soft);color:var(--primary);transform:rotate(6deg)}.hero-mark span{font-size:2.2rem;font-weight:850;letter-spacing:-.12em;transform:rotate(-6deg)}.hero-mark i{position:absolute;right:22px;bottom:23px;width:12px;height:12px;border-radius:50%;background:var(--gold);box-shadow:0 0 0 5px var(--gold-soft)}.dashboard-section{display:grid;grid-gap:1rem;gap:1rem}.points-dashboard-card{grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:1rem;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface);padding:1.15rem 1.25rem;box-shadow:var(--shadow-sm)}.points-dashboard-card h2{margin:.35rem 0 .25rem;font-size:1.15rem}.points-dashboard-card p{margin:0;color:var(--text-soft);font-size:.82rem}.points-dashboard-card>strong{color:var(--primary);font-size:clamp(1.65rem,4vw,2.35rem);letter-spacing:-.06em}.dashboard-admin-entry{display:flex;align-items:center;justify-content:space-between;gap:1rem;border:1px solid color-mix(in srgb,var(--primary) 34%,var(--line));border-radius:var(--radius-md);background:color-mix(in srgb,var(--primary-soft) 72%,var(--surface));padding:1.1rem 1.25rem}.dashboard-admin-entry h2{margin:.35rem 0 .25rem;font-size:1.15rem}.dashboard-admin-entry p{margin:0;color:var(--text-soft);font-size:.84rem}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem}.section-heading h2{margin:.35rem 0 0;font-size:clamp(1.25rem,2.5vw,1.7rem);letter-spacing:-.035em}.section-count{color:var(--text-faint);font-size:.8rem;font-weight:700}.quick-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:.75rem;gap:.75rem}.quick-action{display:flex;min-height:150px;flex-direction:column;align-items:flex-start;justify-content:space-between;gap:1rem;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface);padding:1rem;box-shadow:var(--shadow-sm);transition:border-color .16s ease-out,background-color .16s ease-out,transform .16s ease-out,box-shadow .16s ease-out}.quick-action:hover{border-color:var(--line-strong);background:var(--bg-raised);box-shadow:var(--shadow-md);transform:translateY(-2px)}.quick-action:active{transform:scale(.98)}.quick-action>svg{align-self:end;color:var(--text-faint)}.quick-icon{display:grid;width:38px;height:38px;place-items:center;border-radius:12px}.quick-action-red .quick-icon{background:var(--primary-soft);color:var(--primary)}.quick-action-blue .quick-icon{background:color-mix(in srgb,var(--blue) 14%,transparent);color:var(--blue)}.quick-action-gold .quick-icon{background:var(--gold-soft);color:var(--gold)}.quick-action-green .quick-icon{background:var(--green-soft);color:var(--green)}.quick-copy{display:grid;grid-gap:.3rem;gap:.3rem}.quick-copy strong{font-size:.98rem}.quick-copy small{color:var(--text-soft);font-size:.78rem;line-height:1.35}.dashboard-note{display:flex;align-items:center;gap:.9rem;border-top:1px solid var(--line);padding-top:1.2rem}.note-icon{display:grid;width:36px;height:36px;flex:0 0 auto;place-items:center;border-radius:50%;background:var(--gold-soft);color:var(--gold)}.dashboard-note h2{margin:0 0 .25rem;font-size:.95rem}.dashboard-note p{margin:0;color:var(--text-soft);font-size:.82rem;line-height:1.45}.dashboard-note .text-button{margin-left:auto;white-space:nowrap}.auth-gate,.empty-dashboard,.error-panel,.form-panel{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-sm)}.empty-dashboard{display:grid;grid-template-columns:170px minmax(0,620px);align-items:center;justify-content:center;grid-gap:clamp(1.5rem,5vw,4rem);gap:clamp(1.5rem,5vw,4rem);min-height:440px;padding:clamp(1.5rem,6vw,4rem)}.empty-visual{display:grid;width:150px;height:150px;place-items:center;border:1px solid var(--line-strong);border-radius:48px;background:var(--bg-soft);color:var(--primary);transform:rotate(-8deg)}.empty-visual span{font-size:2.5rem;font-weight:850;letter-spacing:-.13em;transform:rotate(8deg)}.empty-copy h2{margin:.55rem 0 .7rem;font-size:clamp(1.75rem,4vw,3rem);letter-spacing:-.055em}.auth-gate p,.empty-copy p,.error-panel p,.form-intro{max-width:560px;margin:0;color:var(--text-soft);line-height:1.6}.action-row,.form-actions{display:flex;flex-wrap:wrap;gap:.65rem;margin-top:1.5rem}.button{display:inline-flex;min-height:46px;align-items:center;justify-content:center;gap:.5rem;border:1px solid transparent;border-radius:11px;padding:.7rem 1rem;font-size:.88rem;font-weight:750;transition:background-color .16s ease-out,border-color .16s ease-out,color .16s ease-out,transform .16s ease-out,opacity .16s ease-out}.button:active{transform:scale(.97)}.button:disabled{cursor:not-allowed;opacity:.55}.button-primary{background:var(--primary);color:#fff;box-shadow:0 7px 15px rgb(201 52 47/18%)}.button-primary:hover{background:var(--primary-strong)}.button-secondary{border-color:var(--line-strong);background:var(--surface);color:var(--text)}.button-secondary:hover{background:var(--bg-soft)}.text-button{display:inline-flex;align-items:center;gap:.35rem;border:0;background:transparent;color:var(--primary);padding:.35rem 0;font-size:.8rem;font-weight:750}.text-button:hover{color:var(--primary-strong)}.form-panel{width:min(100%,620px);margin:0 auto;padding:clamp(1.25rem,4vw,2.5rem)}.form-panel h2{margin:.55rem 0 .7rem;font-size:clamp(1.75rem,4vw,2.7rem);letter-spacing:-.055em}.form-panel form{display:grid;grid-gap:1rem;gap:1rem;margin-top:1.5rem}.form-panel label{display:grid;grid-gap:.42rem;gap:.42rem;color:var(--text);font-size:.82rem;font-weight:700}.label-optional{color:var(--text-faint);font-size:.75rem;font-weight:500}.form-panel input,.form-panel select,.form-panel textarea{width:100%;border:1px solid var(--line-strong);border-radius:10px;background:var(--surface-muted);color:var(--text);padding:.75rem .8rem}.form-panel textarea{resize:vertical}.form-panel input::placeholder,.form-panel textarea::placeholder{color:var(--text-faint)}.form-panel input:focus,.form-panel select:focus,.form-panel textarea:focus{border-color:var(--ring);box-shadow:0 0 0 3px color-mix(in srgb,var(--ring) 18%,transparent);outline:none}.form-panel .form-actions{justify-content:flex-end}.wizard-panel{width:min(100%,760px)}.wizard-panel .form-intro h1,.wizard-panel>h1{margin:.55rem 0 .7rem;font-size:clamp(1.9rem,5vw,3.2rem);letter-spacing:-.06em}.wizard-steps{display:flex;flex-wrap:wrap;gap:.45rem;margin-top:1.5rem;border-bottom:1px solid var(--line);padding-bottom:1rem}.wizard-steps span{border:1px solid var(--line);border-radius:999px;color:var(--text-faint);padding:.38rem .65rem;font-size:.72rem;font-weight:750}.wizard-steps span.is-active{border-color:var(--primary);background:var(--primary-soft);color:var(--primary)}.wizard-steps span.is-done{border-color:var(--green);color:var(--green)}.wizard-fields{display:grid;grid-gap:1rem;gap:1rem;margin-top:1.5rem}.wizard-fields label{display:grid;grid-gap:.4rem;gap:.4rem;color:var(--text);font-size:.83rem;font-weight:700}.wizard-fields input,.wizard-fields select{width:100%;border:1px solid var(--line-strong);border-radius:10px;background:var(--surface-muted);color:var(--text);padding:.76rem .82rem}.form-hint,.wizard-fields small{color:var(--text-soft);font-size:.76rem;font-weight:500;line-height:1.45}.check-row{display:flex!important;grid-template-columns:none;align-items:center;gap:.65rem!important;border:1px solid var(--line);border-radius:10px;padding:.8rem}.check-row input{width:18px;height:18px;flex:0 0 auto}.wizard-review{display:grid;grid-gap:0;gap:0;margin-top:1.5rem;overflow:hidden;border:1px solid var(--line);border-radius:var(--radius-md)}.wizard-review-row{display:flex;justify-content:space-between;gap:1rem;border-bottom:1px solid var(--line);padding:.85rem 1rem}.wizard-review-row:last-child{border-bottom:0}.wizard-review-row span{color:var(--text-soft)}.form-feedback{margin-top:1rem!important;font-size:.82rem}.form-feedback-error{color:var(--danger)!important}.auth-gate,.error-panel{max-width:760px;margin:clamp(2rem,8vw,7rem) auto;padding:clamp(1.5rem,6vw,4rem)}.auth-gate-meta{display:inline-flex;align-items:center;gap:.55rem;margin-top:1.5rem;color:var(--text-soft);font-size:.82rem}.error-panel{border-color:var(--danger)}.error-panel .button{margin-top:1.5rem}.page-loading{display:grid;min-height:55vh;place-items:center;align-content:center;grid-gap:1rem;gap:1rem;color:var(--text-soft)}.loading-orb{width:34px;height:34px;border:3px solid var(--line);border-top-color:var(--primary);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.projection-stack{display:grid;grid-gap:1.25rem;gap:1.25rem}.projection-intro{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;border-bottom:1px solid var(--line);padding-bottom:1.35rem}.projection-intro h1{margin:.4rem 0 .45rem;font-size:clamp(1.9rem,4vw,3.3rem);letter-spacing:-.06em}.projection-intro p{max-width:640px;margin:0;color:var(--text-soft);line-height:1.5}.status-badge{display:inline-flex;align-items:center;min-height:30px;border-radius:999px;padding:.35rem .65rem;font-size:.7rem;font-weight:800;white-space:nowrap}.status-neutral{background:var(--bg-soft);color:var(--text-soft)}.status-ready{background:var(--green-soft);color:var(--green)}.projection-empty{display:grid;justify-items:start;grid-gap:.65rem;gap:.65rem;border:1px dashed var(--line-strong);border-radius:var(--radius-md);background:var(--surface-muted);padding:clamp(1.4rem,4vw,2.2rem)}.projection-empty .empty-line{width:54px;height:4px;border-radius:999px;background:var(--primary)}.projection-empty h2{margin:0;font-size:1.2rem;letter-spacing:-.03em}.projection-empty p{max-width:560px;margin:0;color:var(--text-soft);line-height:1.5}.projection-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:.75rem;gap:.75rem}.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:.75rem;gap:.75rem}.data-list,.standings-list{display:grid;grid-gap:.55rem;gap:.55rem;margin:0;padding:0;list-style:none}.data-list-row,.standing-row{display:flex;min-height:72px;align-items:center;justify-content:space-between;gap:1rem;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface);padding:.9rem 1rem;transition:border-color .16s ease-out,transform .16s ease-out,background-color .16s ease-out}.data-list-row:hover,.standing-row:hover{border-color:var(--line-strong);background:var(--bg-raised);transform:translateY(-1px)}.data-list-row>svg{flex:0 0 auto;color:var(--text-faint)}.data-list-leading{display:grid;min-width:0;grid-gap:.3rem;gap:.3rem}.data-list-title{overflow:hidden;color:var(--text);font-weight:750;text-overflow:ellipsis;white-space:nowrap}.data-list-title a{color:var(--primary)}.data-list-meta{color:var(--text-soft);font-size:.78rem}.profile-card{display:flex;align-items:center;gap:1rem;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);padding:clamp(1.25rem,4vw,2rem)}.profile-card h1{margin:.4rem 0 .35rem;font-size:clamp(1.8rem,4vw,3rem);letter-spacing:-.06em}.profile-card p{margin:0;color:var(--text-soft);line-height:1.45}.profile-avatar{display:grid;width:72px;height:72px;flex:0 0 auto;place-items:center;border-radius:22px;background:var(--primary-soft);color:var(--primary);font-size:1.25rem;font-weight:850}.standing-row{display:grid;grid-template-columns:48px minmax(0,1fr) auto}.standing-rank{color:var(--primary);font-size:1.25rem;font-weight:850}.standing-player{overflow:hidden;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.standing-row strong{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.standing-row small{color:var(--text-soft);font-size:.7rem;font-weight:650}.data-stat{display:grid;grid-gap:.45rem;gap:.45rem;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface);padding:1rem}.points-balance-card{display:grid;grid-gap:.35rem;gap:.35rem;border:1px solid color-mix(in srgb,var(--primary) 35%,var(--line));border-radius:var(--radius-lg);background:linear-gradient(135deg,var(--primary-soft),var(--surface));padding:clamp(1.4rem,5vw,2.4rem)}.points-balance-card small,.points-balance-card span{color:var(--text-soft)}.points-balance-card strong{color:var(--primary);font-size:clamp(2.5rem,8vw,5rem);letter-spacing:-.08em;line-height:1}.action-card{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:.8rem 1rem;gap:.8rem 1rem;align-items:center;border:1px solid color-mix(in srgb,var(--primary) 24%,var(--line));border-radius:var(--radius-md);background:var(--surface);padding:1rem}.action-card strong{font-size:1rem}.action-card p{margin:.35rem 0 0;color:var(--text-soft);line-height:1.45}.action-card .form-feedback{grid-column:1/-1;margin:0}.admin-phase-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:.75rem;gap:.75rem}.operator-tabs{display:flex;gap:.45rem;overflow-x:auto;border-bottom:1px solid var(--line);padding-bottom:.65rem}.operator-tab{min-height:42px;flex:0 0 auto;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--text-soft);padding:.55rem .75rem;font-weight:700}.operator-tab.is-active{border-color:var(--primary);background:var(--primary-soft);color:var(--primary)}.operator-tab:disabled{cursor:not-allowed;opacity:.55}.data-stat span{color:var(--text-faint);font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.data-stat strong{font-size:1rem}.admin-shortcuts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:.75rem;gap:.75rem}.admin-shortcut{display:grid;grid-gap:.45rem;gap:.45rem;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface);padding:1.2rem;transition:border-color .16s ease-out,transform .16s ease-out}.admin-shortcut:hover{border-color:var(--primary);transform:translateY(-2px)}.admin-shortcut>span:last-child{color:var(--text-soft);font-size:.8rem}.shortcut-icon{display:grid;width:40px;height:40px;place-items:center;border-radius:12px;background:var(--primary-soft);color:var(--primary)}.settings-page{display:grid;grid-gap:1rem;gap:1rem}.settings-panel{display:grid;grid-gap:1.35rem;gap:1.35rem}.preference-list{display:grid;grid-gap:.55rem;gap:.55rem}.preference-row{display:flex;min-height:72px;align-items:center;justify-content:space-between;gap:1rem;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface);padding:.9rem 1rem}.preference-row>span{display:grid;grid-gap:.3rem;gap:.3rem}.preference-row strong{font-size:.9rem}.preference-row small{color:var(--text-soft);font-size:.78rem;line-height:1.35}.preference-row input[type=checkbox]{width:22px;height:22px;accent-color:var(--primary)}.quiet-hours{display:grid;grid-gap:.8rem;gap:.8rem;margin:0;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface);padding:1rem}.quiet-hours legend{padding:0 .35rem;color:var(--text);font-size:.9rem;font-weight:800}.quiet-hours-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:.75rem;gap:.75rem}.quiet-hours-grid label{display:grid;grid-gap:.4rem;gap:.4rem;color:var(--text-soft);font-size:.78rem;font-weight:700}.quiet-hours-grid input,.quiet-hours-grid select{min-height:42px;border:1px solid var(--line-strong);border-radius:10px;background:var(--surface-muted);color:var(--text);padding:.55rem .65rem}.settings-panel .form-actions{align-items:center}.settings-panel .form-feedback{margin:0!important;color:var(--green)!important}.projector-page{min-height:100dvh;background:#0b0e14;color:#edf3f6;padding:clamp(1rem,3vw,2rem)}.projector-header{display:flex;align-items:center;gap:.8rem;border-bottom:1px solid #26303a;padding-bottom:1rem;color:#8d9aa3}.projector-brand{display:grid;width:34px;height:34px;place-items:center;border-radius:10px;background:#d44943;color:#fff;font-size:.72rem;font-weight:800}.projector-live{color:#d9aa4c;font-size:.72rem;font-weight:800;letter-spacing:.14em}.projector-connection{margin-left:auto;font-size:.72rem}.projector-stage{display:grid;min-height:calc(100dvh - 100px);place-items:center;align-content:center;text-align:center}.projector-stage h1{margin:.6rem 0 .8rem;font-size:clamp(2rem,7vw,6rem);letter-spacing:-.07em}.projector-stage p{max-width:560px;color:#9aa9b3;line-height:1.55}.projector-snapshot{display:grid;justify-items:center;grid-gap:.8rem;gap:.8rem}.projector-timer{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-size:clamp(5rem,18vw,15rem);font-weight:800;letter-spacing:-.08em;line-height:.9}.projector-level{color:#d9aa4c;font-size:clamp(1.2rem,3vw,2.4rem);font-weight:750}@media (max-width:760px){.app-frame{display:block}.app-rail{display:none}.app-topbar{min-height:64px;padding:.7rem 1rem}.mobile-brand-mark{display:grid}.topbar-kicker{font-size:.62rem}.topbar-title p{font-size:.88rem}.app-content{width:min(100% - 1.25rem,680px);padding:1.25rem 0 calc(5.75rem + env(safe-area-inset-bottom))}.mobile-nav{position:fixed;z-index:10;right:0;bottom:0;left:0;display:grid;grid-template-columns:repeat(5,1fr);grid-gap:.1rem;gap:.1rem;border-top:1px solid var(--line);background:color-mix(in srgb,var(--bg-raised) 94%,transparent);padding:.45rem .45rem calc(.45rem + env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.mobile-nav-admin{grid-template-columns:repeat(4,1fr)}.nav-link-compact{min-height:48px;flex-direction:column;justify-content:center;gap:.18rem;padding:.25rem .1rem;font-size:.63rem}.nav-link-compact svg{width:19px;height:19px}.theme-button-compact{display:grid}.dashboard-hero{min-height:280px;align-items:flex-start;padding:1.4rem}.hero-mark{position:absolute;right:-20px;bottom:-20px;width:125px;height:125px;opacity:.72}.quick-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.points-dashboard-card{grid-template-columns:1fr auto}.points-dashboard-card>.button{grid-column:1/-1}.dashboard-admin-entry{align-items:flex-start;flex-direction:column}.quick-action{min-height:138px}.dashboard-note{align-items:flex-start;flex-wrap:wrap}.dashboard-note .text-button{width:100%;margin-left:2.75rem}.empty-dashboard{grid-template-columns:1fr;min-height:0;justify-items:start;padding:1.4rem}.empty-visual{width:94px;height:94px;border-radius:30px}.empty-visual span{font-size:1.7rem}.projection-intro{align-items:flex-start;flex-direction:column}.admin-phase-grid,.admin-shortcuts,.metric-grid,.projection-grid{grid-template-columns:1fr}.profile-card{align-items:flex-start}.action-card{grid-template-columns:1fr}.profile-avatar{width:58px;height:58px;border-radius:18px}.quiet-hours-grid{grid-template-columns:1fr 1fr}.quiet-hours-grid label:last-child{grid-column:1/-1}}@media (prefers-reduced-motion:reduce){*,:after,:before{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}:root{--color-bg:#f4f6f8;--color-bg-raised:#ffffff;--color-bg-soft:#edf1f4;--color-surface:#ffffff;--color-surface-muted:#f8fafb;--color-text:#14202b;--color-text-soft:#5d6a77;--color-text-faint:#82909b;--color-border:#dce3e8;--color-border-strong:#c8d2da;--color-primary:#c9342f;--color-primary-dark:#a82724;--color-primary-soft:#fbe9e7;--color-gold:#b5811c;--color-gold-soft:#fff3d5;--color-blue:#316f9f;--color-blue-soft:#e8f2f9;--color-green:#2f805d;--color-green-soft:#e4f3eb;--color-amber:#a66a13;--color-amber-soft:#fff2d6;--color-danger:#b52e2a;--color-danger-soft:#fbe8e7;--color-ring:#4a90c2;--shadow-xs:0 1px 2px rgb(17 32 43/5%);--shadow-sm:0 2px 4px rgb(17 32 43/6%);--shadow-md:0 10px 24px rgb(17 32 43/8%);--shadow-lg:0 18px 36px rgb(17 32 43/12%);--shadow-xl:0 24px 48px rgb(17 32 43/16%);--radius-xs:6px;--radius-sm:10px;--radius-md:14px;--radius-lg:20px;--radius-full:9999px;--ease-out-cubic:cubic-bezier(0.23,1,0.32,1);--ease-in-out-cubic:cubic-bezier(0.77,0,0.175,1);--duration-fast:150ms;--duration-normal:220ms;--duration-slow:350ms;--safe-area-top:env(safe-area-inset-top,0px);--safe-area-bottom:env(safe-area-inset-bottom,0px);--safe-area-left:env(safe-area-inset-left,0px);--safe-area-right:env(safe-area-inset-right,0px);color-scheme:light}[data-theme=dark]{--color-bg:#0d1118;--color-bg-raised:#111822;--color-bg-soft:#171f2b;--color-surface:#151d28;--color-surface-muted:#1b2531;--color-text:#eef3f6;--color-text-soft:#a7b4bf;--color-text-faint:#7c8b98;--color-border:#293643;--color-border-strong:#3a4a59;--color-primary:#ed625b;--color-primary-dark:#ff8178;--color-primary-soft:#3a1f22;--color-gold:#e7b84f;--color-gold-soft:#3a2d18;--color-blue:#73b4df;--color-blue-soft:#142838;--color-green:#5bc28d;--color-green-soft:#173528;--color-amber:#e3aa46;--color-amber-soft:#3b2d17;--color-danger:#ff8076;--color-danger-soft:#3e2223;--color-ring:#77b8e4;--shadow-xs:0 1px 2px rgb(0 0 0/25%);--shadow-sm:0 2px 4px rgb(0 0 0/30%);--shadow-md:0 12px 28px rgb(0 0 0/35%);--shadow-lg:0 20px 42px rgb(0 0 0/42%);--shadow-xl:0 28px 56px rgb(0 0 0/50%);color-scheme:dark}.cs-btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;font-weight:600;border-radius:var(--radius-sm);border:1px solid transparent;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;touch-action:manipulation;transition:transform var(--duration-fast) var(--ease-out-cubic),background-color var(--duration-fast) var(--ease-out-cubic),border-color var(--duration-fast) var(--ease-out-cubic),opacity var(--duration-fast) var(--ease-out-cubic),box-shadow var(--duration-fast) var(--ease-out-cubic)}.cs-btn:active:not(:disabled){transform:scale(.97)}.cs-btn:focus-visible{outline:3px solid var(--color-ring);outline-offset:2px}.cs-btn:disabled{opacity:.5;cursor:not-allowed}.cs-btn-primary{background-color:var(--color-primary);color:#ffffff}.cs-btn-primary:hover:not(:disabled){background-color:var(--color-primary-dark)}.cs-btn-secondary{background-color:var(--color-bg-soft);color:var(--color-text);border-color:var(--color-border)}.cs-btn-secondary:hover:not(:disabled){background-color:var(--color-surface-muted)}.cs-btn-outline{background-color:transparent;color:var(--color-text);border-color:var(--color-border-strong)}.cs-btn-outline:hover:not(:disabled){background-color:var(--color-bg-soft)}.cs-btn-ghost{background-color:transparent;color:var(--color-text-soft)}.cs-btn-ghost:hover:not(:disabled){background-color:var(--color-bg-soft);color:var(--color-text)}.cs-btn-danger{background-color:var(--color-danger);color:#ffffff}.cs-btn-danger:hover:not(:disabled){background-color:var(--color-primary-dark)}.cs-btn-sm{height:36px;padding:0 .75rem;font-size:.875rem}.cs-btn-md{min-height:44px;padding:0 1rem;font-size:.9375rem}.cs-btn-lg{min-height:50px;padding:0 1.375rem;font-size:1.0625rem}.cs-btn-full{width:100%}.cs-spinner{display:inline-block;width:1.125rem;height:1.125rem;border:2px solid;border-top:2px solid transparent;border-radius:50%;animation:cs-spin .65s linear infinite}@keyframes cs-spin{to{transform:rotate(1turn)}}.cs-field{display:flex;flex-direction:column;gap:.375rem}.cs-label{font-size:.875rem;font-weight:600;color:var(--color-text)}.cs-input-wrapper{position:relative;display:flex;align-items:center}.cs-input,.cs-select{width:100%;min-height:44px;padding:.5rem .875rem;font-size:.9375rem;color:var(--color-text);background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);transition:border-color var(--duration-fast) var(--ease-out-cubic),box-shadow var(--duration-fast) var(--ease-out-cubic)}.cs-input:focus,.cs-select:focus{outline:none;border-color:var(--color-ring);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-ring) 25%,transparent)}.cs-input-error,.cs-select-error{border-color:var(--color-danger)}.cs-field-error{font-size:.8125rem;color:var(--color-danger);font-weight:500}.cs-field-helper{font-size:.8125rem;color:var(--color-text-soft)}.cs-badge{display:inline-flex;align-items:center;gap:.375rem;font-size:.75rem;font-weight:600;line-height:1;padding:.3125rem .625rem;border-radius:var(--radius-full)}.cs-badge-dot{width:6px;height:6px;border-radius:50%;background-color:currentColor}.cs-badge-success{background-color:var(--color-green-soft);color:var(--color-green)}.cs-badge-warning{background-color:var(--color-amber-soft);color:var(--color-amber)}.cs-badge-danger{background-color:var(--color-danger-soft);color:var(--color-danger)}.cs-badge-info{background-color:var(--color-blue-soft);color:var(--color-blue)}.cs-badge-neutral{background-color:var(--color-bg-soft);color:var(--color-text-soft)}.cs-badge-primary{background-color:var(--color-primary-soft);color:var(--color-primary)}.cs-card{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:1.25rem;transition:transform var(--duration-fast) var(--ease-out-cubic),box-shadow var(--duration-fast) var(--ease-out-cubic),border-color var(--duration-fast) var(--ease-out-cubic)}.cs-card-elevated{box-shadow:var(--shadow-sm)}.cs-card-interactive{cursor:pointer}.cs-card-interactive:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:var(--color-border-strong)}.cs-modal-backdrop{position:fixed;inset:0;background-color:rgba(0,0,0,.55);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:1rem;z-index:1000;animation:cs-fade-in var(--duration-fast) var(--ease-out-cubic)}.cs-modal-panel{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);width:100%;max-width:540px;max-height:calc(100dvh - 2rem);overflow-y:auto;display:flex;flex-direction:column;animation:cs-modal-scale var(--duration-normal) var(--ease-out-cubic)}@keyframes cs-fade-in{0%{opacity:0}to{opacity:1}}@keyframes cs-modal-scale{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.cs-drawer-backdrop{position:fixed;inset:0;background-color:rgba(0,0,0,.55);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:flex-end;justify-content:center;z-index:1000;animation:cs-fade-in var(--duration-fast) var(--ease-out-cubic)}.cs-drawer-panel{background-color:var(--color-surface);border-top:1px solid var(--color-border);border-radius:var(--radius-lg) var(--radius-lg) 0 0;box-shadow:var(--shadow-xl);width:100%;max-width:640px;max-height:calc(90dvh);padding-bottom:max(1rem,var(--safe-area-bottom));overflow-y:auto;animation:cs-slide-up var(--duration-normal) var(--ease-out-cubic)}@keyframes cs-slide-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}.cs-tabs-list{display:flex;gap:.5rem;border-bottom:1px solid var(--color-border);overflow-x:auto;scrollbar-width:none}.cs-tabs-list::-webkit-scrollbar{display:none}.cs-tab{display:inline-flex;align-items:center;gap:.5rem;padding:.625rem 1rem;font-weight:600;font-size:.9375rem;color:var(--color-text-soft);background:transparent;border:none;border-bottom:2px solid transparent;cursor:pointer;white-space:nowrap;transition:color var(--duration-fast) var(--ease-out-cubic),border-color var(--duration-fast) var(--ease-out-cubic)}.cs-tab:hover:not(:disabled){color:var(--color-text)}.cs-tab-active{color:var(--color-primary);border-bottom-color:var(--color-primary)}.cs-table-container{width:100%;overflow-x:auto;border:1px solid var(--color-border);border-radius:var(--radius-md);background-color:var(--color-surface)}.cs-table{width:100%;border-collapse:collapse;text-align:left;font-size:.875rem}.cs-table th{background-color:var(--color-surface-muted);color:var(--color-text-soft);font-weight:600}.cs-table td,.cs-table th{padding:.75rem 1rem;border-bottom:1px solid var(--color-border)}.cs-table td{color:var(--color-text)}.cs-table tr:last-child td{border-bottom:none}.cs-skeleton{background:linear-gradient(90deg,var(--color-bg-soft) 25%,var(--color-surface-muted) 50%,var(--color-bg-soft) 75%);background-size:200% 100%;animation:cs-skeleton-shimmer 1.5s infinite;border-radius:var(--radius-xs)}@keyframes cs-skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}