:root{color-scheme:light;--bg: #f7faf8;--surface: #ffffff;--surface-muted: #eef4f1;--text: #10201c;--muted: #52645e;--primary: #12614f;--primary-strong: #083c34;--accent: #c9f43d;--court: #12614f;--court-deep: #083c34;--court-blue: #12614f;--danger: #bd2638;--urgent: #ef5b67;--line: #d6e1dc;--shadow: 0 4px 8px rgba(8, 60, 52, .1);--space-xs: 4px;--space-sm: 8px;--space-md: 12px;--space-lg: 16px;--space-xl: 24px;--space-2xl: 32px;--space-3xl: 48px;font-family:ui-rounded,Avenir Next,Avenir,Segoe UI,system-ui,-apple-system,BlinkMacSystemFont,sans-serif;font-kerning:normal}*{box-sizing:border-box}html,body{min-height:100%;margin:0;background:var(--bg);color:var(--text)}body{font-size:16px;background:var(--bg);line-height:1.5}button,input,select,textarea{font:inherit}a{color:inherit}.page{min-height:100vh;padding:max(16px,env(safe-area-inset-top)) 16px calc(92px + env(safe-area-inset-bottom))}.shell{max-width:1120px;margin:0 auto}.topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:var(--space-2xl);border-bottom:1px solid var(--line);padding:8px 0 16px;background:transparent}.brand{display:flex;align-items:center;gap:10px;font-weight:800;color:var(--primary-strong);text-decoration:none}.brand-mark{width:38px;height:38px;border-radius:10px;object-fit:cover;overflow:hidden}.hero{position:relative;display:grid;gap:16px;margin-bottom:var(--space-xl);border-bottom:1px solid var(--line);padding:var(--space-xl) 0 var(--space-2xl);background:transparent}.hero:not(.home-hero):before{display:none}.hero:not(.home-hero):after{display:none}.hero:not(.home-hero)>*{position:relative;z-index:1}.home-hero{position:relative;min-height:430px;align-items:end;margin-bottom:16px;overflow:hidden;border:1px solid rgba(255,255,255,.48);border-radius:8px;padding:28px;background:linear-gradient(150deg,#073d36f2,#0e6f5cd6,#175d86e0),radial-gradient(circle at 70% 18%,rgba(215,255,72,.28),transparent 24%);box-shadow:0 28px 70px #073d3647;color:#fff}.home-hero:before{position:absolute;inset:0;content:"";background:linear-gradient(90deg,rgba(255,255,255,.13) 1px,transparent 1px),linear-gradient(rgba(255,255,255,.08) 1px,transparent 1px);background-size:44px 44px;-webkit-mask-image:linear-gradient(to bottom,rgba(0,0,0,.75),transparent 72%);mask-image:linear-gradient(to bottom,rgba(0,0,0,.75),transparent 72%)}.home-hero:after{position:absolute;right:clamp(18px,6vw,70px);bottom:clamp(22px,7vw,68px);width:clamp(116px,30vw,230px);aspect-ratio:1;border:12px solid rgba(215,255,72,.54);border-radius:50%;content:"";box-shadow:inset 0 0 0 2px #ffffff57,0 18px 44px #00000038}.home-hero-copy{position:relative;z-index:2;display:grid;max-width:650px;gap:12px}.home-hero .eyebrow{color:var(--accent)}.home-hero h1{color:#fff}.home-hero .lead{color:#ffffffd1}.court-backdrop{position:absolute;inset:auto 22px 16px auto;width:min(46vw,420px);min-width:230px;aspect-ratio:1.58;transform:rotate(-7deg) skew(-7deg);border:3px solid rgba(255,255,255,.56);border-radius:8px;background:linear-gradient(135deg,#0c745e85,#0d443c7a);box-shadow:0 24px 55px #0000003d}.court-line{position:absolute;display:block;background:#ffffff9e}.court-line.net{top:0;bottom:0;left:50%;width:3px}.court-line.service{top:50%;width:50%;height:3px}.court-line.service-left{left:0}.court-line.service-right{right:0}.home-logo{width:min(210px,56vw);height:auto;border-radius:18px;justify-self:center}.home-hero .home-logo{width:min(184px,48vw);justify-self:start;border-radius:8px;background:#ffffffeb;box-shadow:0 16px 36px #0000003d}.eyebrow{margin:0;color:var(--primary-strong);font-size:.78rem;font-weight:800;letter-spacing:0;text-transform:uppercase}h1,h2,h3,p{margin-top:0}h1{max-width:720px;margin-bottom:8px;font-size:2.5rem;line-height:1.05;letter-spacing:-.025em;text-wrap:balance}h2{margin-bottom:12px;font-size:1.5rem;letter-spacing:0}h3{margin-bottom:6px;font-size:1rem;letter-spacing:0}.lead{max-width:640px;color:var(--muted);font-size:1.05rem;line-height:1.55}.stack,.grid{display:grid;gap:14px}.card{border:1px solid var(--line);border-radius:12px;background:var(--surface)}.panel{padding:18px}.stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.stat{min-height:96px;padding:14px;background:linear-gradient(180deg,#fffffff0,#f6fbf8f0),linear-gradient(90deg,var(--primary),var(--court-blue))}.stat strong{display:block;font-size:1.6rem;color:var(--primary-strong)}.stat span,.muted{color:var(--muted)}.button-row{display:flex;flex-wrap:wrap;gap:10px}.button,button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;border:0;border-radius:8px;padding:0 16px;background:var(--primary-strong);color:#fff;cursor:pointer;font-weight:800;text-decoration:none;transition:background-color .18s ease-out,color .18s ease-out,transform .18s ease-out}.home-hero .button{box-shadow:0 12px 28px #0000003d}.button.secondary,button.secondary{border:1px solid var(--line);background:var(--surface);color:var(--text)}.button.hero-secondary{border-color:#ffffff6b;background:#ffffff24;color:#fff}.button.warn,button.warn{background:var(--accent);color:#241706}.button.lime{border:1px solid #9fca09;background:var(--accent);color:var(--text)}.button:hover,button:hover:not(:disabled){background:var(--primary);color:#fff}.button.secondary:hover,button.secondary:hover:not(:disabled){background:var(--surface-muted);color:var(--primary-strong)}.button.lime:hover{background:#b6e525}.button:active,button:active:not(:disabled){transform:translateY(1px)}:where(a,button,input,select,textarea,summary):focus-visible{outline:3px solid var(--accent);outline-offset:3px}button.danger{background:var(--danger);color:#fff}button:disabled{cursor:not-allowed;background:#d8e2dd;color:#53635e;opacity:1}.field{display:grid;gap:6px}.field label,.field span{color:var(--muted);font-size:.88rem;font-weight:700}.field input,.field select,.field textarea{width:100%;min-height:46px;border:1px solid var(--line);border-radius:8px;padding:0 12px;background:#ffffffdb;color:var(--text);box-shadow:inset 0 1px #ffffffb8}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--primary);outline:3px solid rgba(19,115,95,.14)}.field select{cursor:pointer}.field textarea{padding:12px;resize:vertical}.privacy-policy{border:1px solid rgba(19,115,95,.18);border-radius:8px;padding:14px;background:#e6f3ecb8}.privacy-policy p{margin-bottom:0;color:var(--muted);line-height:1.5}.danger-zone{border-color:#fecaca}.checkbox-field{display:grid;grid-template-columns:20px minmax(0,1fr);gap:10px;align-items:start;color:var(--text);font-weight:700;line-height:1.4}.checkbox-field input{width:18px;height:18px;margin-top:2px;accent-color:var(--primary)}.privacy-document{display:grid;gap:12px;line-height:1.62}.privacy-document h2{margin:12px 0 0;font-size:1.18rem}.privacy-document p,.privacy-document ul{margin:0}.privacy-document ul{padding-left:22px}.toolbar{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between}.segmented{display:flex;flex-wrap:wrap;gap:8px;border-radius:8px}.segmented.vertical{display:grid}.segmented button{min-height:38px;padding:0 12px}.segmented button.active{border-color:var(--primary);background:linear-gradient(135deg,#e6f3ecf5,#d7ff4838);color:var(--primary-strong)}.alert{border:1px solid rgba(19,115,95,.16);border-radius:8px;padding:12px;background:var(--surface-muted);color:var(--primary-strong);font-weight:700}.alert.error{border-color:#fecaca;background:#fee2e2;color:var(--danger)}.list{display:grid;gap:10px}.list-item{position:relative;display:grid;gap:4px;padding:14px;border-bottom:1px solid var(--line);background:var(--surface)}.list-item:before{display:none}.player-item{gap:12px}.player-heading{display:flex;gap:12px;align-items:flex-start;justify-content:space-between}.player-meta{display:flex;flex-wrap:wrap;gap:8px 14px;color:var(--muted)}.preserve-lines{white-space:pre-line}.team-members{display:flex;flex-wrap:wrap;gap:8px}.team-members span{border:1px solid var(--line);border-radius:999px;padding:6px 10px;background:var(--surface-muted);color:var(--primary-strong);font-size:.86rem;font-weight:800}.status-pill{border-radius:999px;padding:5px 9px;background:var(--surface-muted);color:var(--primary-strong);font-size:.76rem;font-weight:900;text-transform:uppercase}.status-pill.rejected{background:#fee2e2;color:var(--danger)}.rank-row{display:grid;grid-template-columns:42px 1fr auto;gap:10px;align-items:center}.challenge-block-reason{max-width:240px;text-align:right;font-size:.84rem;font-weight:700;line-height:1.25}.ladder-editor-row{grid-template-columns:42px minmax(0,1fr) auto}.button-row.compact{gap:6px}.button-row.compact button{min-height:36px;padding:0 10px}.rank-number{display:grid;width:34px;height:34px;place-items:center;border-radius:8px;background:linear-gradient(135deg,var(--surface-muted),rgba(215,255,72,.22));color:var(--primary-strong);font-weight:900}.challenge-poster-preview{width:auto;max-width:min(100%,360px);max-height:min(62vh,620px);aspect-ratio:1 / 1.414;justify-self:center;border:1px solid var(--line);border-radius:8px;background:var(--surface-muted);object-fit:contain;box-shadow:0 18px 44px #12231f1f}.challenge-poster-placeholder{position:relative;display:grid;width:min(100%,360px);max-height:min(62vh,620px);aspect-ratio:1 / 1.414;justify-self:center;place-items:center;gap:10px;overflow:hidden;border:1px dashed rgba(19,115,95,.34);border-radius:8px;padding:22px;background:linear-gradient(160deg,rgba(215,255,72,.95) 0 24%,transparent 24%),linear-gradient(145deg,rgba(255,79,109,.9) 25% 42%,transparent 42%),linear-gradient(135deg,#073d36f5,#175d86e6),var(--court);color:#fff;text-align:center}.challenge-poster-placeholder:before{position:absolute;inset:16px;border:2px solid rgba(255,255,255,.24);border-radius:8px;content:"";transform:rotate(-5deg)}.challenge-poster-placeholder:after{position:absolute;right:-38px;bottom:52px;width:118px;aspect-ratio:1;border:12px solid rgba(215,255,72,.72);border-radius:50%;content:""}.challenge-poster-placeholder strong{position:relative;z-index:1;max-width:100%;overflow-wrap:anywhere;font-size:clamp(1.35rem,6vw,2.2rem);line-height:1}.challenge-poster-placeholder span{position:relative;z-index:1;color:var(--accent);font-weight:900;text-transform:uppercase}.challenge-poster-placeholder .poster-date{border-radius:999px;padding:8px 12px;background:#12231f;color:#fff}.home-rhythm{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;margin:14px 0;overflow:hidden;border:1px solid var(--line);border-radius:8px;background:var(--line);box-shadow:var(--shadow)}.home-rhythm span{display:grid;min-height:48px;place-items:center;background:#ffffffdb;color:var(--primary-strong);font-size:.82rem;font-weight:900;text-transform:uppercase}.home-actions{margin-top:14px}.action-card{position:relative;overflow:hidden}.action-card:before{position:absolute;top:0;right:0;left:0;height:4px;content:"";background:linear-gradient(90deg,var(--primary),var(--court-blue),var(--accent))}.primary-action{background:linear-gradient(180deg,#fff,#f1f8f4)}.app-credit{display:grid;gap:4px;margin:28px auto 0;padding:18px 0 0;border-top:1px solid rgba(19,115,95,.14);color:var(--muted);text-align:center}.app-credit span{color:var(--primary-strong);font-size:.78rem;font-weight:900;text-transform:uppercase}.app-credit strong{font-size:.86rem;font-weight:700}.bottom-nav{position:fixed;right:0;bottom:0;left:0;z-index:30;display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid rgba(213,225,220,.9);padding-bottom:env(safe-area-inset-bottom);background:var(--surface)}.bottom-nav a{display:grid;min-height:62px;place-items:center;color:var(--muted);font-size:.8rem;font-weight:800;text-decoration:none;gap:2px}.bottom-nav a span{font-size:1.15rem;line-height:1}.bottom-nav a.active{color:var(--primary-strong);box-shadow:inset 0 3px 0 var(--accent);background:var(--surface-muted)}.context-label{margin:0 0 6px;color:var(--primary);font-size:.875rem;font-weight:800}.dashboard-intro,.page-heading{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:32px}.dashboard-intro h1,.page-heading h1{margin-bottom:6px}.dashboard-logo{width:136px;height:auto;border-radius:8px}.home-layout{display:grid;gap:20px}.home-summary{display:grid;align-content:start;gap:24px}.position-callout{padding:4px 0 24px;border-bottom:1px solid var(--line)}.position-callout>span{color:var(--muted);font-size:.875rem}.position-callout strong{display:block;margin:4px 0;font-size:1.5rem}.position-callout p{margin-bottom:12px;color:var(--muted)}.text-link{color:var(--primary);font-weight:800;text-decoration:none}.text-link:hover{text-decoration:underline;text-underline-offset:4px}.quick-links{display:grid}.quick-links a{display:grid;gap:2px;padding:14px 0;border-bottom:1px solid var(--line);color:var(--text);text-decoration:none}.quick-links span{color:var(--muted);font-size:.875rem}.next-move{border-radius:12px;padding:24px;background:var(--primary-strong);box-shadow:var(--shadow);color:#fff}.next-move-heading,.section-heading{display:flex;align-items:start;justify-content:space-between;gap:16px}.next-move h2{margin-bottom:4px;font-size:1.75rem}.next-move>p{max-width:62ch;color:#dbeae5}.next-move .context-label{color:var(--accent)}.live-badge{display:inline-flex;align-items:center;gap:7px;border:1px solid rgba(255,255,255,.32);border-radius:999px;padding:6px 10px;font-size:.78rem;font-weight:800;white-space:nowrap}.live-badge i{width:8px;height:8px;border-radius:50%;background:var(--accent)}.match-progress{display:grid;grid-template-columns:repeat(4,1fr);margin:28px 0;padding:0;list-style:none}.match-progress li{position:relative;display:grid;gap:7px;justify-items:center;color:#bcd0ca;font-size:.78rem;text-align:center}.match-progress li:not(:last-child):after{position:absolute;top:16px;left:calc(50% + 22px);width:calc(100% - 44px);height:1px;background:#ffffff47;content:""}.match-progress span{z-index:1;display:grid;width:34px;height:34px;place-items:center;border:1px solid rgba(255,255,255,.4);border-radius:50%;background:var(--primary-strong)}.match-progress .current{color:#fff}.match-progress .current span{border-color:var(--accent);background:var(--accent);color:var(--text)}.next-move-actions{display:flex;flex-wrap:wrap;align-items:center;gap:16px}.inverse{color:#fff}.community-section{margin-top:48px}.section-heading{align-items:end;margin-bottom:12px}.activity-list{border-top:1px solid var(--line)}.activity-list a{display:grid;grid-template-columns:44px 1fr auto;gap:12px;align-items:center;min-height:76px;border-bottom:1px solid var(--line);color:var(--text);text-decoration:none}.activity-list a span:nth-child(2){display:grid}.activity-list small{color:var(--muted);font-size:.875rem}.activity-list b{color:var(--primary);font-size:.875rem}.activity-mark{display:grid;width:38px;height:38px;place-items:center;border-radius:50%;background:var(--surface-muted);color:var(--primary);font-weight:900}.activity-mark.movement{background:var(--accent);color:var(--text)}.auth-layout{display:grid;gap:24px}.auth-intro{align-self:start;padding:8px 0 24px}.auth-logo{width:150px;height:auto;margin-bottom:24px;border-radius:8px}.auth-intro h1{max-width:10ch;margin-bottom:16px}.auth-intro>p:not(.context-label){max-width:52ch;color:var(--muted)}.auth-steps{display:grid;gap:10px;margin-top:24px}.auth-steps span{display:flex;gap:10px;align-items:center;color:var(--primary-strong);font-weight:700}.auth-steps span:before{display:grid;flex:0 0 24px;width:24px;height:24px;place-items:center;border-radius:50%;background:var(--surface-muted);color:var(--primary);content:"\2713"}.auth-form-panel{border:1px solid var(--line);border-radius:12px;padding:20px;background:var(--surface)}.auth-switch{display:grid;grid-template-columns:1fr 1fr;margin-bottom:28px;border-bottom:1px solid var(--line)}.auth-switch a{min-height:44px;color:var(--muted);font-weight:800;text-align:center;text-decoration:none}.auth-switch a.active{box-shadow:inset 0 -3px 0 var(--accent);color:var(--text)}.auth-form-heading{margin-bottom:20px}.auth-form-heading p{margin-bottom:0;color:var(--muted)}.privacy-policy{border:0;padding:0;background:transparent}.privacy-policy a{color:var(--primary)}.page-heading>p{max-width:48ch;margin-bottom:4px;color:var(--muted)}.rank-row.is-you{border-radius:8px;background:var(--primary-strong);color:#fff}.rank-row.is-you .rank-number,.rank-row.is-you .status-pill{background:var(--accent);color:var(--text)}.challenge-status{justify-self:start;border:1px solid color-mix(in srgb,var(--urgent) 44%,white);border-radius:999px;padding:6px 10px;background:#fff3f4;color:#a33340;font-size:.8rem;font-weight:800}.setting-row{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 0;border-top:1px solid var(--line)}.setting-row p{max-width:62ch;margin:4px 0 0}.rules-note{border:1px solid var(--line);border-radius:8px;padding:12px 14px;background:var(--surface-muted)}.rules-note summary{cursor:pointer;color:var(--primary-strong);font-weight:800}.rules-note p{margin:8px 0 0;color:var(--muted)}.skeleton-lines{display:grid;gap:12px}.skeleton-lines span{display:block;height:44px;border-radius:8px;background:linear-gradient(90deg,var(--surface-muted),#fff,var(--surface-muted));background-size:200% 100%;animation:skeleton 1.2s linear infinite}@keyframes skeleton{to{background-position:-200% 0}}@media(min-width:760px){.page{padding:32px 28px 104px}.home-layout{grid-template-columns:minmax(220px,.72fr) minmax(0,1.7fr);gap:40px}.auth-layout{grid-template-columns:minmax(0,1fr) minmax(360px,.82fr);gap:clamp(48px,8vw,96px);align-items:start}.auth-form-panel{padding:28px}.grid.two{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.admin-workspace{align-items:start}.stat-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.home-actions{grid-template-columns:1.2fr 1fr 1fr}}@media(max-width:620px){h1{font-size:2rem}.topbar{margin-bottom:20px}.topbar .brand span{font-size:.9rem}.dashboard-intro,.page-heading{display:grid;gap:8px;margin-bottom:24px}.dashboard-logo{display:none}.page-heading>p{margin:0}.next-move{padding:20px 16px}.next-move-heading{display:grid}.live-badge{justify-self:start}.next-move-actions .button{width:100%}.community-section{margin-top:36px}.activity-list a{grid-template-columns:40px 1fr;padding:8px 0}.activity-list b{display:none}.auth-intro{padding-bottom:8px}.auth-logo{display:none}.auth-intro h1{max-width:14ch;margin-bottom:0;font-size:1.75rem}.auth-intro .context-label{margin-bottom:4px}.auth-intro>p:not(.context-label),.auth-steps{display:none}.auth-form-panel{padding:16px}.match-progress strong{font-size:.7rem}.app-credit{display:none}.home-hero{min-height:520px;padding:22px}.court-backdrop{inset:34px auto auto 28px;width:74vw;opacity:.74}.home-hero:after{right:-34px;bottom:96px}.home-rhythm{grid-template-columns:repeat(2,minmax(0,1fr))}.rank-row{grid-template-columns:42px minmax(0,1fr)}.rank-row>.button,.rank-row>button,.rank-row>.status-pill,.rank-row>.challenge-block-reason{grid-column:2;justify-self:start}.challenge-block-reason{max-width:100%;text-align:left}.setting-row{display:grid;align-items:start}}@media(min-width:980px){.page{padding-top:92px;padding-bottom:48px}.bottom-nav{inset:0 0 auto;grid-template-columns:repeat(4,minmax(100px,140px));justify-content:center;border-top:0;border-bottom:1px solid var(--line);padding:0}.bottom-nav a{display:flex;min-height:60px;gap:8px}.bottom-nav a.active{box-shadow:inset 0 -3px 0 var(--accent);background:transparent}}@media(hover:hover){.quick-links a:hover,.activity-list a:hover{color:var(--primary)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
