:root{--bg:#f4f7f8;--card:#fff;--ink:#1f2d33;--muted:#6b7c85;--accent:#197278;--accent-dark:#0f4c5c;--line:#d9e4e7;--bad:#b3261e;--ok:#1f7a4d;color:var(--ink);font-family:system-ui,-apple-system,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif}*{box-sizing:border-box}body{background:var(--bg);margin:0}.app{max-width:1100px;margin:0 auto;padding:24px 20px 64px}.app-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px;display:flex}.app-header h1{color:var(--accent-dark);margin:0;font-size:22px}.muted{color:var(--muted)}.layout{grid-template-columns:320px 1fr;align-items:start;gap:18px;display:grid}@media (width<=820px){.layout{grid-template-columns:1fr}}.col{flex-direction:column;gap:18px;display:flex}.card{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:16px 18px}.card h2{color:var(--accent-dark);margin:0 0 12px;font-size:16px}.subcard{border-top:1px solid var(--line);margin-top:14px;padding-top:12px}.subcard h3{color:var(--accent);margin:0 0 8px;font-size:14px}.badge{color:var(--muted);background:#e7eef0;border-radius:999px;padding:4px 10px;font-size:13px;display:inline-block}.badge-ok{color:var(--ok);background:#e0f0e8}.badge-bad{color:var(--bad);background:#f6e1df}.row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.row.wrap{flex-wrap:wrap}.app-shell{min-height:100vh;display:flex}.sidebar{background:var(--card);border-right:1px solid var(--line);flex-direction:column;flex:0 0 200px;gap:18px;width:200px;height:100vh;padding:18px 14px;display:flex;position:sticky;top:0}.sidebar .brand h1{color:var(--accent-dark);margin:0;font-size:20px}.sidebar .nav{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.sidebar .nav button{text-align:left;cursor:pointer;width:100%;color:var(--ink);background:0 0;border:1px solid #0000;border-radius:8px;flex-direction:column;gap:2px;padding:10px 12px;display:flex}.sidebar .nav button:hover{background:#eef3f4}.sidebar .nav button.active{background:var(--accent);color:#fff}.sidebar .nav button strong{font-size:15px}.sidebar .nav button span{font-size:11px}.sidebar .nav button.active span{color:#ffffffd9}.sidebar-foot{margin-top:auto}.content{flex:1;min-width:0;max-width:1180px;padding:22px 24px 64px}.library{grid-template-columns:300px 1fr;align-items:start;gap:18px;display:grid}@media (width<=900px){.library{grid-template-columns:1fr}}.library input,.library select{border:1px solid var(--line);background:#fff;border-radius:6px;padding:6px 8px}.team-list{flex-direction:column;gap:6px;margin:0 0 14px;padding:0;list-style:none;display:flex}.team-list button{text-align:left;border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:8px;flex-direction:column;gap:2px;width:100%;padding:8px 10px;display:flex}.team-list button.active{border-color:var(--accent);background:#eef6f6}.stack{flex-direction:column;gap:8px;display:flex}.staff-list{flex-direction:column;gap:6px;margin:0 0 10px;padding:0;list-style:none;display:flex}.staff-list li{align-items:center;gap:8px;display:flex}.badge.coach{color:var(--accent-dark);background:#e7eef0}.badge.manager{color:#6b3b8a;background:#efe7f2}.badge.role{color:var(--ok);background:#e0f0e8;margin-right:4px;padding:2px 8px;font-size:12px}.danger-link{color:var(--bad);cursor:pointer;background:0 0;border:none;font-size:13px}.x{color:var(--muted);cursor:pointer;background:0 0;border:none;padding:0 4px;font-size:16px;line-height:1}.x:hover{color:var(--bad)}.player-form{border-top:1px solid var(--line);margin-top:12px;padding-top:12px}.player-form .grid{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}@media (width<=720px){.player-form .grid{grid-template-columns:repeat(2,1fr)}}.player-form .flags{gap:14px;margin-top:10px}.player-form .flags label{align-items:center;gap:4px;display:flex}.boot{text-align:center;padding:96px 24px}.home{width:100%}.home-hero{color:#fff;background:linear-gradient(135deg,#0f4c5c,#197278);padding:56px 24px}.hero-inner{grid-template-columns:1.25fr .9fr;align-items:center;gap:32px;max-width:1080px;margin:0 auto;display:grid}@media (width<=860px){.hero-inner{grid-template-columns:1fr}}.logo-row{align-items:center;gap:10px;margin-bottom:6px;display:flex}.logo-mark{color:var(--accent-dark);background:#fff;border-radius:8px;padding:3px 9px;font-weight:800}.logo-name{letter-spacing:.04em;font-weight:700}.hero-text h1{margin:8px 0 12px;font-size:30px;line-height:1.25}.hero-text .lead{opacity:.95;max-width:46ch;font-size:15px;line-height:1.75}.auth-card{color:var(--ink)}.auth-tabs{gap:8px;margin-bottom:12px;display:flex}.auth-tabs button{border:1px solid var(--line);cursor:pointer;background:#f4f7f8;border-radius:8px;flex:1;padding:8px}.auth-tabs button.active{background:var(--accent);color:#fff;border-color:var(--accent)}.auth-card input{border:1px solid var(--line);border-radius:6px;width:100%;padding:8px}.home-sections{grid-template-columns:repeat(3,1fr);gap:18px;max-width:1080px;margin:28px auto 0;padding:0 24px;display:grid}@media (width<=860px){.home-sections{grid-template-columns:1fr}}.home-card h3{color:var(--accent-dark);margin:0 0 8px}.home-card p{color:#33474e;margin:0;line-height:1.75}.home-foot{max-width:1080px;margin:24px auto 0;padding:0 24px;font-size:12px}.small{font-size:12px}.sidebar .user-row{flex-direction:column;gap:4px;margin-top:10px;font-size:12px;display:flex}.history-group,.code-area,.member-group{margin-top:14px}.history-group h3,.code-area h3,.member-group h3{color:var(--accent-dark);margin:0 0 6px;font-size:14px}.history-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.history-list li{border:1px solid var(--line);border-radius:8px;justify-content:space-between;align-items:center;gap:12px;padding:8px 12px;display:flex}.code-list,.member-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.code-list li{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.code-list .path{color:var(--accent-dark);background:#eef3f4;border-radius:4px;padding:1px 6px;font-size:12px}.member-list li{align-items:center;gap:8px;display:flex}.home-features{grid-template-columns:repeat(3,1fr);gap:14px;max-width:1080px;margin:24px auto 0;padding:0 24px;display:grid}@media (width<=860px){.home-features{grid-template-columns:1fr}}.feature-card{border:1px solid var(--line);background:#fff;border-radius:10px;padding:14px 16px}.feature-card h4{color:var(--accent-dark);margin:0 0 6px;font-size:14px}.feature-card p{color:#44565d;margin:0;font-size:13px;line-height:1.6}.code-row input{flex:1}.ghost{border:1px solid var(--accent);color:var(--accent-dark);cursor:pointer;white-space:nowrap;background:#fff;border-radius:6px;padding:8px 10px}.dev-login{background:#0f1b22;justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.dev-login .auth-card{width:360px;max-width:100%}.dev-badge{letter-spacing:.08em;color:var(--accent-dark);margin-bottom:4px;font-weight:800}.app-shell.dev .sidebar{background:#10323d}.app-shell.dev .sidebar .brand h1{color:#fff}.app-shell.dev .sidebar .muted{color:#9fb6bf}.app-shell.dev .nav button{color:#dfeaee}.app-shell.dev .nav button:hover{background:#ffffff14}.app-shell.dev .nav button.active{background:var(--accent);color:#fff}.app-shell.dev .nav button.active .muted{color:#ffffffd9}.dev-tag{font-weight:600;color:#ffd27a!important}input,select,button{font:inherit}input,select{border:1px solid var(--line);background:#fff;border-radius:6px;min-width:0;padding:6px 8px}button{border:1px solid var(--accent);background:var(--accent);color:#fff;cursor:pointer;border-radius:6px;padding:6px 12px}button:disabled{opacity:.6;cursor:default}button{-webkit-tap-highlight-color:transparent;transition:transform .12s cubic-bezier(.2,.8,.3,1),background-color .18s,box-shadow .18s,border-color .18s,color .16s,opacity .16s}button:active:not(:disabled){transform:scale(.96)}.mobile-chip,.mobile-list-item,.mobile-segment button,.teaching-card-head,.preset-buttons button,.mobile-primary,.teacher-edit-summary,.round-icon-button{transition:transform .13s cubic-bezier(.2,.8,.3,1),background-color .18s,box-shadow .18s,border-color .18s,color .16s}.mobile-list-item:active:not(:disabled),.preset-buttons button:active:not(:disabled),.teacher-edit-summary:active{transform:scale(.985)}@media (prefers-reduced-motion:reduce){button,.mobile-chip,.mobile-list-item,.mobile-segment button,.teaching-card-head,.preset-buttons button,.mobile-primary{transition:none!important}button:active:not(:disabled),.mobile-list-item:active,.preset-buttons button:active,.teacher-edit-summary:active{transform:none!important}}button.link{color:var(--accent-dark);cursor:pointer;text-align:left;background:0 0;border:none;padding:4px 0}button.link.selected{font-weight:700;text-decoration:underline}.match-list,.plain{margin:10px 0 0;padding:0;list-style:none}.plain li{padding:3px 0;font-size:14px}.error{color:var(--bad);font-size:13px}.error.banner{background:#f6e1df;border-radius:6px;margin:0 0 14px;padding:8px 12px}.ok{color:var(--ok);font-size:13px}code{color:var(--accent-dark);background:#eef4f5;border-radius:4px;padding:1px 5px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.9em}.meta-grid{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:6px 16px;margin:8px 0;font-size:14px;display:grid}.taxonomy-groups{flex-direction:column;gap:10px;max-height:360px;display:flex;overflow:auto}.taxonomy-group h3{color:var(--accent);text-transform:capitalize;margin:0 0 4px;font-size:13px}.taxonomy-group ul{margin:0;padding-left:16px;font-size:13px}.grid-form{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;display:grid}.grid-form label{color:var(--muted);flex-direction:column;gap:4px;font-size:13px;display:flex}.grid-form .full{grid-column:1/-1}.timeline{margin:8px 0 0;padding-left:18px;font-size:14px}.timeline-rally{color:var(--accent-dark);margin-top:6px;margin-left:-18px;font-weight:600;list-style:none}.timeline-event{color:var(--ink)}.code-input{border:1px solid var(--line);resize:vertical;border-radius:6px;width:100%;padding:8px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px}.import-result{margin-top:8px;font-size:13px}.import-result ul{margin:4px 0 0;padding-left:18px}.stat-team{margin-top:10px}.stat-team h4{color:var(--accent-dark);margin:0 0 2px;font-size:13px}.table-scroll{overflow-x:auto}.stat-table{border-collapse:collapse;width:100%;margin-top:6px;font-size:13px}.stat-table th,.stat-table td{border-bottom:1px solid var(--line);text-align:right;white-space:nowrap;padding:4px 8px}.stat-table th:nth-child(2),.stat-table td:nth-child(2){text-align:left}.stat-table thead th{color:var(--muted);font-weight:600}.row-between{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.btn-link{color:var(--accent-dark);border:1px solid var(--line);white-space:nowrap;border-radius:6px;padding:4px 10px;font-size:13px;font-weight:600;text-decoration:none}.btn-link:hover{background:var(--accent);color:#fff;border-color:var(--accent)}.rot-details{margin-top:8px}.rot-details summary{cursor:pointer;font-size:12px}.stat-sets{margin-top:14px}.stat-sets h4{color:var(--accent-dark);margin:0 0 2px;font-size:13px}.review-list{flex-direction:column;gap:6px;max-height:320px;margin:8px 0 0;padding:0;list-style:none;display:flex;overflow:auto}.review-row{border-bottom:1px solid var(--line);flex-direction:column;gap:4px;padding:6px 0;font-size:13px;display:flex}.review-actions{flex-wrap:wrap;align-items:center;gap:6px;display:flex}button.danger{background:var(--bad);border-color:var(--bad)}.evidence-picker{border:1px solid var(--line);border-radius:6px;flex-direction:column;gap:4px;max-height:160px;padding:8px 10px;display:flex;overflow:auto}.evidence-picker legend{color:var(--muted);padding:0 4px;font-size:12px}label.checkbox{color:var(--ink);flex-direction:row;align-items:center;gap:6px}.feedback-list{flex-direction:column;gap:6px;margin:10px 0 0;padding:0;font-size:13px;list-style:none;display:flex}.feedback-list li{border-left:3px solid var(--accent);padding:2px 0 2px 8px}.segment-list li{border-left:3px solid var(--accent);padding:4px 0 4px 8px}.segment-list li div{margin-top:2px}.court-reference-list{gap:14px;margin-top:10px;display:grid}.court-reference-item{border:1px solid var(--line);background:#fbfcfd;border-radius:10px;gap:10px;padding:12px;display:grid}.court-reference-item .status-pill,.subcard>.row .status-pill{color:var(--muted);background:#edf2f4;border-color:#d7e0e5;margin-left:7px;font-size:11px;display:inline-block}.court-reference-item .status-pill.pending{color:#855b08;background:#fff7df;border-color:#f1d18b}.court-reference-item .status-pill.accepted,.court-reference-item .status-pill.corrected,.subcard>.row .status-pill.ok{color:var(--ok);background:#e8f6f0;border-color:#b8decf}.court-reference-item .status-pill.rejected{color:var(--bad);background:#fff0f0;border-color:#edc3c3}.court-reference-overlay{background:#182f3c;border-radius:9px;width:100%;min-height:190px}.court-reference-frame{fill:#19333e}.court-reference-polygon{fill:#3bb98d38;stroke:#7de2bd;stroke-width:.65px}.court-reference-boundary{stroke:#f8fafc;stroke-width:.55px}.court-reference-net{stroke:#f6bd4f;stroke-width:1px;stroke-dasharray:2 1}.court-reference-antenna{stroke:#ef5d62;stroke-width:1.35px}.court-reference-side-label{fill:#ffffffbf;font-size:3.1px}.court-reference-colours{color:var(--muted);flex-wrap:wrap;gap:8px 18px;font-size:12px;display:flex}.court-reference-colours span{align-items:center;gap:6px;display:inline-flex}.court-reference-colours i{border:1px solid #cbd5e1;border-radius:50%;width:15px;height:15px}.court-reference-advanced{border:1px solid var(--line);background:#fff;border-radius:8px;padding:9px 10px}.court-reference-advanced summary{color:var(--accent);cursor:pointer;font-size:12px;font-weight:650}.court-reference-advanced label{color:var(--muted);gap:4px;margin-top:8px;font-size:12px;display:grid}.court-reference-advanced textarea{resize:vertical;min-height:62px}.roster-list{flex-direction:column;gap:4px;margin:10px 0 0;padding:0;font-size:13px;list-style:none;display:flex}.roster-list li{padding:2px 0}.coachbot h2{margin-bottom:4px}.coachbot-layout{grid-template-columns:minmax(0,1fr) 320px;align-items:start;gap:18px;margin-top:14px;display:grid}@media (width<=900px){.coachbot-layout{grid-template-columns:1fr}}.coachbot-main,.coachbot-side{flex-direction:column;gap:14px;display:flex}.coachbot-form label{color:var(--muted);flex-direction:column;gap:6px;font-size:13px;display:flex}.quick-prompts{border:1px solid var(--line);background:#f8fbfb;border-radius:10px;padding:12px}.quick-prompts p{margin:0 0 8px}.coachbot-answer-box{border-left:4px solid var(--accent);background:#f8fbfb;border-radius:8px;padding:12px 14px}.coachbot-answer-box h3,.coachbot-side h3{color:var(--accent-dark);margin:0 0 8px;font-size:14px}.coachbot-answer{white-space:pre-wrap;margin:0;font-family:inherit;font-size:14px;line-height:1.7}.coachbot-reminder{border-top:1px solid var(--line);color:#44565d;margin-top:12px;padding-top:10px;font-size:13px;line-height:1.6}.coachbot-empty{border:1px dashed var(--line);background:#fff;border-radius:10px;padding:18px}.source-list{flex-direction:column;gap:10px;display:flex}.source-card{border:1px solid var(--line);background:#fff;border-radius:10px;padding:10px 12px}.source-card h4{color:var(--accent-dark);margin:8px 0 4px;font-size:14px}.source-card p{color:#44565d;margin:0 0 8px;font-size:13px;line-height:1.55}.source-card code{overflow-wrap:anywhere;max-width:100%;display:inline-block}.next-actions{border-top:1px solid var(--line);padding-top:10px}.next-actions h4{color:var(--accent-dark);margin:0 0 6px;font-size:14px}.next-actions ul{margin:0;padding-left:18px;font-size:13px;line-height:1.65}.modal-backdrop,.dialog-backdrop{padding:12px max(12px, env(safe-area-inset-right)) max(12px, env(safe-area-inset-bottom)) max(12px, env(safe-area-inset-left));z-index:80;-webkit-backdrop-filter:blur(12px)saturate(120%);background:#0c142270;justify-content:center;align-items:flex-end;animation:.18s ease-out both dialogBackdropIn;display:flex;position:fixed;inset:0}.modal,.dialog-sheet{color:#15233b;background:#fffffff7;border:1px solid #ffffffc2;border-radius:26px 26px 22px 22px;flex-direction:column;width:min(560px,100%);max-height:min(88dvh,760px);animation:.24s cubic-bezier(.2,.8,.25,1) both dialogSheetIn;display:flex;overflow:hidden;box-shadow:0 24px 72px #0a182d3d}.modal{gap:14px;padding:18px;overflow-y:auto}.dialog-handle{background:#d4dce6;border-radius:999px;flex:none;width:38px;height:5px;margin:9px auto 2px}.dialog-header{justify-content:space-between;align-items:flex-start;gap:16px;padding:16px 18px 10px;display:flex}.dialog-header h2{color:#101827;letter-spacing:-.025em;margin:0;font-size:20px;line-height:1.25}.dialog-header p{color:#708096;margin:6px 0 0;font-size:13px;line-height:1.55}.dialog-close{color:#53657b;background:#f0f4f8;border:0;border-radius:50%;flex:none;place-items:center;width:44px;height:44px;padding:0;font-size:20px;display:grid}.dialog-body{color:#53657b;overscroll-behavior:contain;min-height:0;padding:4px 18px 18px;font-size:13px;line-height:1.6;overflow-y:auto}.dialog-body>:first-child{margin-top:0}.dialog-body>:last-child{margin-bottom:0}.dialog-actions{padding:12px 18px max(16px, env(safe-area-inset-bottom));background:#fffffff5;border-top:1px solid #edf1f5;flex:none;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:10px;display:grid}.dialog-actions button{border-radius:16px;min-height:48px;padding:10px 14px;font-weight:760}.dialog-secondary{color:#43566d;background:#f4f7fa;border:1px solid #d9e1ea}.dialog-primary{color:#fff;background:#1769e0;border:1px solid #1769e0;box-shadow:0 9px 22px #1769e033}.dialog-danger{color:#fff;background:#bd3442;border:1px solid #bd3442;box-shadow:0 9px 22px #bd34422e}@keyframes dialogBackdropIn{0%{opacity:0}to{opacity:1}}@keyframes dialogSheetIn{0%{opacity:0;transform:translateY(22px)scale(.985)}to{opacity:1;transform:none}}@media (width>=640px){.modal-backdrop,.dialog-backdrop{align-items:center;padding:24px}.modal,.dialog-sheet{border-radius:26px}.dialog-handle{display:none}}.modal label{flex-direction:column;gap:4px;display:flex}.modal label.checkbox{flex-direction:row;align-items:flex-start;gap:8px;line-height:1.5}.modal label.checkbox input{flex:none;width:auto;margin-top:3px}.donate-box{border:1px solid #cbd5e1;border-radius:16px;flex-direction:column;gap:8px;padding:12px 14px;display:flex}.donate-box legend{padding:0 6px;font-size:.92rem;font-weight:600}.donate-box .ack{border-top:1px dashed #cbd5e1;padding-top:10px}.warn{color:#9a3412;background:#fff7ed;border:1px solid #fed7aa;border-radius:14px;padding:10px 12px;line-height:1.6}small.warn{background:0 0;border:0;padding:0;display:block}.modal-actions{padding:12px 18px max(16px, env(safe-area-inset-bottom));background:#fffffff7;border-top:1px solid #edf1f5;justify-content:flex-end;gap:10px;margin:2px -18px -18px;display:flex;position:sticky;bottom:-18px}.modal-actions button{border-radius:16px;min-height:48px;padding-inline:18px}.account-delete-dialog.modal{gap:0;padding:0;overflow:hidden}.account-delete-dialog .dialog-body label:not(.checkbox){color:#43566d;gap:6px;margin-top:14px;font-size:13px;font-weight:700}.account-delete-dialog .dialog-body label:not(.checkbox) input{border:1px solid #d9e2ec;border-radius:13px;min-height:46px;padding:9px 11px}.account-delete-dialog .dialog-actions.modal-actions{margin:0;display:grid;position:static;bottom:auto}button.danger{color:#fff;background:#b91c1c;border-color:#b91c1c}button.danger:hover:not(:disabled){background:#991b1b}.mobile-entry{color:var(--accent-dark);background:#f4f9ff;border:1px solid #b9d6f8;border-radius:8px;flex-direction:column;gap:3px;padding:10px 12px;text-decoration:none;display:flex}.mobile-entry strong{font-size:14px}.mobile-entry span{color:var(--muted);font-size:11px}.mobile-app-shell{--mobile-blue:#2472c8;--mobile-ink:#15233b;min-height:100dvh;color:var(--mobile-ink);padding-bottom:calc(76px + env(safe-area-inset-bottom));background:#f5f7fa}.mobile-topbar{height:calc(62px + env(safe-area-inset-top));padding:env(safe-area-inset-top) 20px 0;z-index:2;background:#fff;border-bottom:1px solid #e8edf3;justify-content:space-between;align-items:center;display:flex;position:sticky;top:0}.mobile-brand,.mobile-icon-button,.mobile-round-add,.mobile-text-button{color:var(--mobile-ink);cursor:pointer;background:0 0;border:0}.mobile-brand{align-items:center;gap:9px;padding:4px 0;font-size:17px;font-weight:760;display:flex}.mobile-ball{color:var(--mobile-blue);font-size:34px;font-weight:900;line-height:1;transform:rotate(-22deg)}.mobile-icon-button{color:#667991;padding:8px;font-size:25px}.mobile-main{width:min(100%,560px);margin:0 auto;padding:22px 18px 18px}.mobile-screen{animation:.18s ease-out mobile-fade}@keyframes mobile-fade{0%{opacity:.25;transform:translateY(3px)}to{opacity:1;transform:translateY(0)}}.mobile-eyebrow{color:var(--mobile-blue);letter-spacing:.08em;margin:0 0 7px;font-size:12px;font-weight:750}.mobile-screen h1{letter-spacing:-.03em;margin:0;font-size:clamp(27px,8vw,36px)}.mobile-lead{color:#64748b;margin:12px 0 21px;font-size:14px;line-height:1.65}.mobile-heading{justify-content:space-between;align-items:end;margin-bottom:16px;display:flex}.mobile-round-add{background:var(--mobile-blue);color:#fff;border-radius:50%;width:40px;height:40px;font-size:28px;line-height:1;box-shadow:0 7px 15px #2472c844}.mobile-stat-grid{grid-template-columns:1fr 1fr;gap:10px;margin-bottom:13px;display:grid}.mobile-stat{text-align:left;cursor:pointer;color:var(--mobile-ink);background:#fff;border:1px solid #e4eaf1;border-radius:16px;padding:16px}.mobile-stat strong{color:var(--mobile-blue);font-size:28px;display:block}.mobile-stat span{color:#718198;font-size:13px}.mobile-primary{border:1px solid var(--mobile-blue);background:var(--mobile-blue);color:#fff;cursor:pointer;border-radius:16px;width:100%;min-height:50px;padding:10px 15px;font-size:16px;font-weight:700}.mobile-primary span{float:right;font-size:20px;line-height:.8}.mobile-primary:disabled,.mobile-outline-button:disabled{cursor:not-allowed;opacity:.56}.mobile-primary{box-shadow:0 10px 24px #2472c838}.mobile-primary:active:not(:disabled){transform:scale(.985);box-shadow:0 4px 12px #2472c82e}.mobile-primary:disabled{box-shadow:none}.mobile-panel{background:#fff;border:1px solid #e3eaf2;border-radius:16px;margin-top:18px;padding:15px}.mobile-panel h2{color:var(--mobile-ink);margin:0;font-size:16px}.mobile-panel-title{justify-content:space-between;align-items:center;gap:10px;margin:19px 0 10px;display:flex}.mobile-panel-title h2{margin:0;font-size:16px}.mobile-panel-title p,.mobile-panel-title span{color:#7c8ca0;margin:3px 0 0;font-size:12px}.mobile-text-button{min-height:44px;color:var(--mobile-blue);border-radius:999px;padding:7px 10px;font-weight:650}.mobile-message{border-radius:10px;margin:0 0 13px;padding:9px 11px;font-size:13px;line-height:1.45}.mobile-message.error{color:var(--bad);background:#fff0f0}.mobile-message[role=alert]{border:1px solid #ffd9dc;border-radius:16px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:5px 10px;padding:12px 13px;display:grid}.mobile-message[role=alert] strong,.mobile-message[role=alert] span{display:block}.mobile-message[role=alert] span{color:#7d4650;grid-column:1;font-size:11px}.mobile-message-action{color:#a5303d;background:#fff;border:0;border-radius:999px;grid-area:1/2/span 2;min-width:70px;min-height:44px;box-shadow:0 4px 12px #661e2814}.mobile-message.ok{color:var(--ok);background:#eaf7ef;animation:.4s cubic-bezier(.2,.9,.3,1.35) both mobileCelebratePop}@keyframes mobileCelebratePop{0%{opacity:0;transform:translateY(7px)scale(.96)}55%{transform:translateY(0)scale(1.025)}to{opacity:1;transform:translateY(0)scale(1)}}@media (prefers-reduced-motion:reduce){.mobile-message.ok{animation:none}}.mobile-empty{color:#7b899a;margin:14px 0;font-size:14px;line-height:1.55}.mobile-segment{background:#eaf0f6;border-radius:13px;grid-auto-columns:1fr;grid-auto-flow:column;gap:5px;padding:4px;display:grid}.mobile-segment button{color:#64758b;min-height:44px;font:inherit;background:0 0;border:0;border-radius:12px;padding:0 8px;font-size:13px;font-weight:700}.mobile-segment button.active{color:var(--mobile-blue);background:#fff;box-shadow:0 1px 4px #59718d24}.lesson-plan-view .lp-field{margin-top:11px;display:block}.lesson-plan-view .lp-field>span{color:#55657a;margin-bottom:5px;font-size:12.5px;font-weight:650;display:block}.lesson-plan-view .lp-field input,.lesson-plan-view .lp-field select{box-sizing:border-box;width:100%;color:var(--mobile-ink);font:inherit;background:#fff;border:1px solid #dbe3ec;border-radius:11px;padding:9px 11px}.lesson-plan-view .lp-field-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.lesson-collapse-hint{color:#8290a4;margin:15px 3px 8px;font-size:11px;line-height:1.5}.lesson-week-list{gap:9px;display:grid}.lesson-week-card{background:#fff;border:1px solid #e1e8f0;border-radius:16px;overflow:hidden}.lesson-week-card>summary{cursor:pointer;grid-template-columns:34px 1fr 20px;align-items:center;gap:10px;min-height:48px;padding:10px 12px;list-style:none;display:grid}.lesson-week-card>summary::-webkit-details-marker{display:none}.lesson-week-card>summary>span{color:var(--mobile-blue);font-variant-numeric:tabular-nums;font-size:12px;font-weight:800}.lesson-week-card>summary strong,.lesson-week-card>summary small{display:block}.lesson-week-card>summary strong{color:var(--mobile-ink);font-size:14px;line-height:1.35}.lesson-week-card>summary small{color:#8491a3;margin-top:3px;font-size:10px}.lesson-week-card>summary>b{color:#8b98aa;font-size:16px;transition:transform .2s}.lesson-week-card[open]>summary>b{transform:rotate(180deg)}.lesson-week-content{border-top:1px solid #edf1f5;padding:12px}.lesson-week-content>p{color:#617087;margin:0 0 8px;font-size:11px;line-height:1.55}.lesson-session-actions{flex-wrap:wrap;gap:7px;margin:11px 0 3px;display:flex}.lesson-session-actions button{color:#2f4d78;background:#f7f9fc;border:1px solid #cfd9e7;border-radius:11px;padding:8px 10px;font-size:11px;font-weight:730}.lesson-session-actions button:disabled{opacity:.5}.single-lesson-card{background:#fbfcff;border:1px solid #d8e1ef;border-radius:17px;margin-top:13px;padding:13px;box-shadow:0 8px 24px #2339580f}.single-lesson-card>header{justify-content:space-between;align-items:start;gap:10px;display:flex}.single-lesson-card>header small{color:#8a5f13;letter-spacing:.08em;font-size:8px;font-weight:850}.single-lesson-card>header h3{color:#1d2b41;margin:4px 0 0;font-size:15px;line-height:1.4}.single-lesson-card>header>span{color:#35669c;background:#eaf2ff;border-radius:999px;flex:none;padding:5px 7px;font-size:8px}.single-lesson-review{color:#745514;background:#fff6db;border-radius:10px;margin:10px 0;padding:8px 9px;font-size:9px;line-height:1.55}.single-lesson-grid{gap:7px;display:grid}.single-lesson-grid>div{background:#f0f4f9;border-radius:11px;padding:9px}.single-lesson-grid b{color:#3d5779;font-size:9px}.single-lesson-grid p{color:#334258;margin:3px 0 0;font-size:10px;line-height:1.5}.lesson-detail-block{background:#fff;border:1px solid #e2e8f0;border-radius:12px;margin-top:8px}.lesson-detail-block>summary{color:#33445d;cursor:pointer;justify-content:space-between;align-items:center;gap:8px;padding:10px;font-size:10.5px;font-weight:760;list-style:none;display:flex}.lesson-detail-block>summary::-webkit-details-marker{display:none}.lesson-detail-block>summary:after{content:"+";color:#8491a3;font-size:14px}.lesson-detail-block[open]>summary:after{content:"−"}.lesson-detail-block>summary em{color:#8491a3;margin-left:auto;font-size:9px;font-style:normal;font-weight:600}.lesson-detail-content,.lesson-objectives{border-top:1px solid #edf1f5;padding:10px}.lesson-detail-content p,.lesson-detail-content li,.lesson-objectives p,.lesson-objectives small{color:#5c6b80;font-size:9.5px;line-height:1.55}.lesson-detail-content p{margin:0 0 7px}.lesson-detail-content ul{margin:6px 0 0;padding-left:17px}.lesson-objectives{gap:8px;display:grid}.lesson-objectives>div{background:#f6f8fb;border-radius:9px;padding:8px}.lesson-objectives b{color:#365374;font-size:9px}.lesson-objectives p{margin:3px 0}.lesson-objectives small{color:#7b8799;display:block}.lesson-activity{background:#f6f8fb;border-radius:11px;margin-top:9px;padding:9px}.lesson-activity:first-of-type{margin-top:0}.lesson-activity>header{justify-content:space-between;gap:8px;margin-bottom:6px;display:flex}.lesson-activity>header b{color:#29496f;font-size:10px}.lesson-activity>header span{color:#7f8b9d;font-size:8px}.lesson-activity p{margin-bottom:4px}.lesson-activity .lesson-safety{color:#8a4d3e}.single-lesson-card>footer{color:#8a96a8;flex-wrap:wrap;gap:5px;margin-top:10px;font-size:8px;display:flex}.single-lesson-card>footer a{color:#506682;background:#eef2f7;border-radius:7px;padding:4px 6px;text-decoration:none}.feedback-card .feedback-faces{grid-template-columns:repeat(5,1fr);gap:6px;margin-top:11px;display:grid}.feedback-card .feedback-faces button{cursor:pointer;background:#fff;border:1px solid #e3eaf2;border-radius:13px;flex-direction:column;align-items:center;gap:3px;padding:9px 2px;display:flex}.feedback-card .feedback-faces button span{font-size:24px;line-height:1}.feedback-card .feedback-faces button small{color:#8b97a8;font-size:10.5px}.feedback-card .feedback-faces button.active{border-color:var(--mobile-blue);background:#eef5ff}.feedback-card .feedback-note{box-sizing:border-box;width:100%;color:var(--mobile-ink);font:inherit;background:#fff;border:1px solid #dbe3ec;border-radius:12px;margin-top:10px;padding:10px 12px}.feedback-card .mobile-primary{margin-top:10px}.mobile-list{flex-direction:column;gap:8px;display:flex}.mobile-list-item{text-align:left;width:100%;color:var(--mobile-ink);cursor:pointer;background:#fff;border:1px solid #e1e8f0;border-radius:14px;grid-template-columns:44px 1fr 16px;align-items:center;gap:11px;padding:11px;display:grid}.mobile-list-item.selected{background:#f7fbff;border-color:#8cbeef}.mobile-list-item strong,.mobile-list-item small,.mobile-player-row strong,.mobile-player-row small{display:block}.mobile-list-item strong,.mobile-player-row strong{font-size:15px}.mobile-list-item small,.mobile-player-row small{color:#75869b;margin-top:3px;font-size:12px}.mobile-list-item b{color:#8090a3;font-size:24px;font-weight:400}.mobile-result{width:42px;height:42px;color:var(--mobile-blue);background:#edf5ff;border-radius:12px;place-items:center;font-size:12px;font-weight:750;display:grid}.mobile-form{flex-direction:column;gap:10px;display:flex}.mobile-form input,.mobile-form select,.mobile-match-select,.mobile-note input,.mobile-rally-controls input{width:100%;min-height:46px;color:var(--mobile-ink);font:inherit;background:#fff;border:1px solid #dce5ef;border-radius:13px;padding:9px 11px}.mobile-form-row{grid-template-columns:1fr 1fr;gap:9px;display:grid}.mobile-chip-row{scrollbar-width:none;gap:8px;padding:3px 0 9px;display:flex;overflow-x:auto}.mobile-chip{white-space:nowrap;color:#5d7086;cursor:pointer;background:#fff;border:1px solid #dce5ef;border-radius:999px;min-height:44px;padding:8px 13px}.mobile-chip.active{border-color:var(--mobile-blue);color:var(--mobile-blue);background:#eaf3ff;font-weight:700}.mobile-outline-button{color:var(--mobile-blue);cursor:pointer;white-space:nowrap;background:#ffffffeb;border:1px solid #a9cdf8;border-radius:14px;min-height:44px;padding:8px 12px;font-weight:700}.mobile-player-row{background:#fff;border-bottom:1px solid #ebeff4;align-items:center;gap:12px;padding:12px 2px;display:flex}.mobile-jersey{background:var(--mobile-blue);color:#fff;border-radius:50%;place-items:center;width:38px;height:38px;font-weight:750;display:grid}.mobile-match-select{margin:16px 0 11px}.mobile-rally-card{justify-content:space-between;align-items:center;gap:12px;display:flex}.mobile-rally-card>div:first-child{flex-direction:column;gap:3px;min-width:0;display:flex}.mobile-rally-card span,.mobile-rally-card small{color:#718198;font-size:12px}.mobile-rally-card strong{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.mobile-rally-controls{align-items:end;gap:6px;display:flex}.mobile-rally-controls label{color:#718198;width:48px;font-size:11px}.mobile-rally-controls input{text-align:center;min-height:38px;margin-top:4px;padding:4px}.mobile-hint{color:#748399;margin:13px 1px;font-size:13px;line-height:1.55}.mobile-note{color:#61748a;flex-direction:column;gap:6px;font-size:12px;display:flex}.mobile-event-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:13px;display:grid}.mobile-event-grid button{min-height:66px;color:var(--mobile-ink);text-align:left;cursor:pointer;background:#fff;border:1px solid #dce7f3;border-radius:12px;padding:9px;font-weight:700}.mobile-event-grid button:enabled:active{border-color:var(--mobile-blue);background:#eaf3ff}.mobile-event-grid button:disabled{color:#91a0b0;cursor:not-allowed;background:#f8fafc}.mobile-event-grid button span{color:#7c8fa5;margin-bottom:4px;font-size:10px;font-weight:600;display:block}.mobile-bottom-nav{height:calc(64px + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);z-index:3;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffffff5;border-top:1px solid #e5ebf1;grid-template-columns:repeat(4,1fr);display:grid;position:fixed;bottom:0;left:0;right:0}.mobile-bottom-nav button{color:#8090a4;cursor:pointer;background:0 0;border:0;flex-direction:column;justify-content:center;align-items:center;gap:2px;font-size:11px;display:flex}.mobile-bottom-nav button span{font-size:21px;line-height:1}.mobile-bottom-nav button.active{color:var(--mobile-blue);font-weight:750}.live-mobile-shell{background:#f5f8fc}.live-status{color:#61748a;align-items:center;gap:6px;font-size:12px;font-weight:700;display:inline-flex}.live-status i{background:#19a66a;border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 3px #dff5e9}.live-home h1{max-width:330px}.live-info-grid{grid-template-columns:repeat(3,1fr);gap:9px;margin:16px 0;display:grid}.live-info-grid article{text-align:center;background:#fff;border:1px solid #e2e9f2;border-radius:14px;padding:14px 9px}.live-info-grid strong,.live-info-grid span{display:block}.live-info-grid strong{color:var(--mobile-blue);font-size:23px}.live-info-grid span{color:#748399;margin-top:3px;font-size:11px}.live-start-card{padding:19px}.live-match-strip{color:#fff;background:#102f57;border-radius:14px;justify-content:space-between;align-items:center;gap:12px;margin:12px 0;padding:12px 13px;display:flex}.live-match-strip small,.live-match-strip strong{display:block}.live-match-strip small{opacity:.72;white-space:nowrap;text-overflow:ellipsis;max-width:220px;font-size:11px;overflow:hidden}.live-match-strip strong{margin-top:4px;font-size:15px}.live-match-strip label{opacity:.85;font-size:10px}.live-match-strip select{color:#102f57;min-width:48px;font:inherit;border:0;border-radius:8px;margin-top:3px;padding:5px;display:block}.live-scoreboard{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.live-scoreboard article{background:#fff;border:1px solid #dfe8f2;border-radius:14px;min-width:0;padding:12px}.live-scoreboard small,.live-scoreboard strong{display:block}.live-scoreboard small{color:#8190a3;font-size:10px}.live-scoreboard strong{text-overflow:ellipsis;white-space:nowrap;min-height:33px;margin-top:3px;font-size:13px;overflow:hidden}.live-scoreboard article>div{grid-template-columns:44px 1fr 44px;align-items:center;gap:5px;display:grid}.live-scoreboard button{height:44px;color:var(--mobile-blue);cursor:pointer;background:#f6faff;border:1px solid #b9d4f5;border-radius:13px;font-size:20px}.live-scoreboard button:disabled{color:#aab6c4;background:#fafbfd;border-color:#e4eaf1}.live-scoreboard b{text-align:center;font-size:26px}.live-scoreboard article{border-top:4px solid #0000}.live-scoreboard .rally-point-control{grid-template-columns:1fr 76px;margin-top:5px}.live-scoreboard .rally-point-control button{color:#fff;background:#15243a;border:0;border-radius:15px;height:48px;padding:0 9px;font-size:12px;font-weight:800;box-shadow:0 7px 16px #15243a29}.live-scoreboard .rally-point-control b{text-align:left;font-size:32px}.live-rally-actions{align-items:center;gap:9px;margin:10px 1px 2px;display:flex}.live-rally-actions button{color:#334155;min-height:44px;font:inherit;background:#ffffffeb;border:1px solid #cbd5e1;border-radius:14px;padding:8px 12px;font-size:12px;font-weight:750}.live-rally-actions button:disabled{opacity:.45}.live-rally-actions span{color:#8090a3;font-size:10px;line-height:1.35}.live-score-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:10px 0;display:grid}.live-score-summary>div{background:#ffffffe6;border:1px solid #dfe7f0;border-radius:17px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:2px 10px;padding:12px 13px;display:grid}.live-score-summary span,.live-score-summary strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;display:block;overflow:hidden}.live-score-summary span{color:#73849a;font-size:10px}.live-score-summary strong{font-size:13px}.live-score-summary b{font-variant-numeric:tabular-nums;grid-area:1/2/span 2;font-size:30px}.live-open-scoreboard{margin:8px 0 12px}.live-rotation-setup{background:#ffffffe6;border:1px solid #dfe6ef;border-radius:14px;margin-top:11px;padding:12px}.live-rotation-setup>label{color:#52657c;grid-template-columns:1fr 140px;align-items:center;gap:8px;font-size:11px;font-weight:750;display:grid}.live-rotation-setup select{color:#24364c;background:#f8fafc;border:1px solid #d7e0ea;border-radius:13px;min-height:44px;padding:7px 9px}.live-rotation-setup>div{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:9px;display:grid}.live-rotation-setup>div label{color:#718096;border:1px solid #e5eaf0;border-radius:10px;justify-content:space-between;align-items:center;gap:8px;padding:7px 9px;font-size:10px;display:flex}.live-rotation-setup input[type=color]{background:0 0;border:0;border-radius:8px;width:34px;height:28px;padding:0}.live-permission-note{color:#77889b;margin:8px 2px;font-size:11px;line-height:1.45}.live-team-picker{align-items:center;gap:7px;padding:11px 0;display:flex;overflow-x:auto}.live-team-picker span{color:#718198;flex:none;font-size:11px}.live-team-picker button{color:#637489;min-height:44px;font:inherit;background:#fff;border:1px solid #dbe5ee;border-radius:999px;flex:none;padding:8px 13px;font-size:12px}.live-team-picker button.active{border-color:var(--mobile-blue);color:var(--mobile-blue);background:#eaf3ff;font-weight:700}.live-tech-tabs{background:#eaf0f6;border-radius:15px;grid-template-columns:repeat(5,1fr);gap:5px;padding:4px;display:grid}.live-tech-tabs button{color:#64758b;background:0 0;border:0;border-radius:12px;min-height:44px;font-size:12px;font-weight:700}.live-tech-tabs button.active{color:var(--mobile-blue);background:#fff;box-shadow:0 3px 10px #59718d1c}.live-effect-panel{background:#fff;border:1px solid #dce7f3;border-radius:16px;margin-top:12px;padding:15px}.live-effect-panel>div:first-child{justify-content:space-between;align-items:baseline;gap:9px;display:flex}.live-effect-panel h2{margin:0;font-size:17px}.live-effect-panel>div:first-child span{color:#7c8ea3;font-size:11px}.live-effect-panel>p{color:#86601d;background:#fff7e8;border-radius:10px;margin:10px 0;padding:9px;font-size:12px;line-height:1.45}.live-effect-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:13px;display:grid}.live-effect-grid button{color:#195a9f;min-height:62px;font:inherit;cursor:pointer;background:#f8fbff;border:1px solid #bfd9f7;border-radius:12px;font-weight:780}.live-effect-grid button:enabled:active{background:var(--mobile-blue);color:#fff;transform:scale(.98)}.live-effect-grid button:disabled{color:#a4b0bd;background:#fafbfd;border-color:#e5ebf1}.live-members{background:#fff;border:1px solid #e0e8f0;border-radius:17px;margin-top:12px;padding:12px}.live-members summary{color:#506681;cursor:pointer;font-size:13px;font-weight:750}.live-members p{color:#2e4058;justify-content:space-between;margin:10px 0;font-size:13px;display:flex}.live-members p span{color:#8190a2;font-size:11px}.live-members form{grid-template-columns:minmax(0,1fr) 120px;gap:8px;margin-top:10px;display:grid}.live-members input,.live-members select,.live-members form button{min-width:0;min-height:44px;font:inherit;background:#fff;border:1px solid #dbe5ee;border-radius:13px;padding:7px 9px;font-size:11px}.live-members form button{color:#fff;border-color:var(--mobile-blue);background:var(--mobile-blue);grid-column:1/-1;font-weight:760}.live-member-row{border-bottom:1px solid #edf1f5;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:9px;display:grid}.live-member-row:last-child{border-bottom:0}.live-member-row>p{min-width:0}.live-member-row>button{color:#276bb0;min-height:36px;font:inherit;background:#f5f9ff;border:1px solid #c7dcf5;border-radius:999px;padding:6px 10px;font-size:10px;font-weight:750}.live-member-row>button:disabled{opacity:.5}body.live-scoreboard-open{overscroll-behavior:none;background:#07111f;overflow:hidden}.landscape-scoreboard{--team-color:#2775e5;z-index:1000;box-sizing:border-box;min-width:100vw;min-height:100dvh;padding:max(8px, env(safe-area-inset-top)) max(10px, env(safe-area-inset-right)) max(8px, env(safe-area-inset-bottom)) max(10px, env(safe-area-inset-left));color:#f8fbff;background:radial-gradient(circle at 50% -25%,#1a3559,#07111f 58%);grid-template-rows:auto minmax(0,1fr) auto;gap:clamp(6px,1.8vh,14px);font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,PingFang SC,sans-serif;display:grid;position:fixed;inset:0;overflow:hidden}.landscape-scoreboard>header{grid-template-columns:auto auto 1fr auto;align-items:center;gap:9px;min-height:42px;display:grid}.landscape-scoreboard-brand{align-items:center;gap:7px;font-weight:800;display:flex}.landscape-scoreboard-brand img{border-radius:10px;width:34px;height:34px}.landscape-scoreboard label{color:#aebed2;align-items:center;gap:6px;font-size:11px;display:flex}.landscape-scoreboard select,.landscape-scoreboard button{min-height:38px;font:inherit;border-radius:12px;font-weight:720}.landscape-scoreboard select{color:#fff;background:#12243b;border:1px solid #3a526f;padding:0 9px}.landscape-scoreboard-undo,.landscape-scoreboard-exit{color:#e7eff9;background:#12243b;border:1px solid #3a526f;padding:0 12px}.landscape-scoreboard-undo{justify-self:end}.landscape-scoreboard button:disabled{opacity:.38}.landscape-scoreboard-teams{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(8px,1.4vw,16px);min-height:0;display:grid}.landscape-scoreboard-teams article{border:1px solid #29405d;border-top:clamp(5px, 1.3vh, 10px) solid var(--team-color);-webkit-user-select:none;user-select:none;background:linear-gradient(155deg,#ffffff1a,#ffffff09);border-radius:clamp(18px,3vw,32px);grid-template-rows:auto minmax(0,1fr) auto;min-width:0;min-height:0;padding:clamp(12px,2.5vw,28px);display:grid;position:relative;overflow:hidden;box-shadow:0 20px 55px #00000038}.landscape-scoreboard-teams article.serving:after{content:"发球";background:var(--team-color);color:#fff;border-radius:999px;padding:5px 9px;font-size:10px;font-weight:800;position:absolute;top:13px;right:15px}.landscape-team-name span,.landscape-team-name strong{display:block}.landscape-team-name span{color:#91a4bb;font-size:clamp(9px,1.7vw,13px)}.landscape-team-name strong{text-overflow:ellipsis;white-space:nowrap;max-width:78%;margin-top:3px;font-size:clamp(15px,3vw,24px);overflow:hidden}.landscape-scoreboard-plus{min-width:0;min-height:0;color:inherit;cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;background:0 0;border:0;place-self:stretch stretch;place-items:center;display:grid}.landscape-scoreboard-plus:enabled:active{background:#ffffff0f;transform:scale(.985)}.landscape-scoreboard-plus>b{font-variant-numeric:tabular-nums;letter-spacing:-.06em;text-shadow:0 8px 28px #00000040;font-size:clamp(70px,22vmin,190px);font-weight:790;line-height:.9}.landscape-scoreboard-announcement{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.landscape-team-actions{grid-template-columns:auto 1fr;align-items:center;gap:10px;display:grid}.landscape-team-actions button{color:#fff;background:#ffffff17;border:1px solid #fff3;min-width:64px;font-size:18px}.landscape-team-actions span{color:#9eafc3;justify-self:end;font-size:clamp(9px,1.7vw,12px)}.landscape-scoreboard>footer{color:#91a5bc;justify-content:space-between;gap:14px;font-size:10px;line-height:1.3;display:flex}.landscape-scoreboard-rotate-hint{display:none}.landscape-scoreboard-entry{z-index:1010;box-sizing:border-box;color:#f7fbff;text-align:center;background:radial-gradient(circle at 50% 28%,#18385f,#07111f 64%);flex-direction:column;justify-content:center;align-items:center;padding:28px;display:flex;position:fixed;inset:0}.landscape-scoreboard-entry img{border-radius:24px;width:84px;height:84px;box-shadow:0 18px 45px #00000047}.landscape-scoreboard-entry p{color:#74b9ff;letter-spacing:.18em;margin:18px 0 5px;font-size:12px;font-weight:800}.landscape-scoreboard-entry h1{margin:0;font-size:clamp(25px,6vw,42px)}.landscape-scoreboard-entry span{color:#9db0c6;max-width:430px;margin:12px 0 24px;font-size:13px;line-height:1.65}.landscape-scoreboard-entry button{color:#fff;background:linear-gradient(135deg,#38a2ff,#1c64dc);border:0;border-radius:17px;width:min(340px,86vw);min-height:52px;font-size:15px;box-shadow:0 12px 30px #1367dd47}.landscape-scoreboard-entry .landscape-scoreboard-entry-back{color:#aebfd2;box-shadow:none;background:0 0;border:1px solid #314964;margin-top:9px}@media (orientation:portrait){.landscape-scoreboard>header{grid-template-columns:auto 1fr auto}.landscape-scoreboard-brand span,.landscape-scoreboard-undo{display:none}.landscape-scoreboard-teams{grid-template-columns:1fr 1fr}.landscape-scoreboard-teams article{padding:12px 8px}.landscape-scoreboard-plus>b{font-size:clamp(62px,25vw,120px)}.landscape-team-actions{grid-template-columns:1fr}.landscape-team-actions span{justify-self:center}.landscape-scoreboard-rotate-hint{inset:auto 50% max(44px, env(safe-area-inset-bottom));color:#dbe8f7;background:#060f1cdb;border-radius:999px;width:max-content;max-width:80vw;padding:8px 12px;font-size:10px;display:block;position:absolute;transform:translate(50%)}}.live-field{color:#64778d;flex-direction:column;gap:5px;font-size:12px;font-weight:700;display:flex}.live-field input,.live-field select{min-height:43px;color:var(--mobile-ink);font:inherit;background:#fff;border:1px solid #dce5ef;border-radius:10px;padding:9px 10px}.court-simulation{color:#fff;background:radial-gradient(circle at 50% -5%,#326aa6,#0b2342 70%);border:1px solid #183e69;border-radius:20px;margin:17px 0 4px;padding:13px;overflow:hidden;box-shadow:0 18px 35px #102e4c2c}.court-simulation-head{grid-template-columns:1fr auto 1fr;align-items:center;margin-bottom:7px;display:grid}.court-simulation-head span{color:#bcd8f5;letter-spacing:.14em;font-size:9px;font-weight:800}.court-simulation-head strong{font-size:14px}.court-simulation-head i{color:#a9c9e9;justify-self:end;font-size:10px;font-style:normal}.court-perspective{perspective:540px;height:210px;margin:0 -14px -30px;overflow:hidden}.court-floor{transform-origin:top;background:repeating-linear-gradient(90deg,#d68539 0 11%,#c97934 11% 22%),linear-gradient(#dc9144,#ba622c);border:2px solid #e6f5ff;width:114%;height:260px;margin-left:-7%;position:relative;transform:rotateX(53deg);box-shadow:inset 0 0 0 1px #ffffff50,0 17px 25px #0008}.court-floor:before,.court-floor:after{content:"";border-top:2px solid #fff9e5;position:absolute;left:0;right:0}.court-floor:before{top:34%}.court-floor:after{top:67%}.court-net{z-index:1;border-left:4px solid #f9fcff;position:absolute;top:-3%;bottom:-3%;left:50%;box-shadow:-1px 0 #123}.court-net:after{content:"";background:repeating-linear-gradient(0deg,#fff8 0 3px,#0000 3px 7px);width:8px;position:absolute;top:0;bottom:0;left:-4px}.court-player{z-index:3;transform-origin:50%;border-radius:50%;place-items:center;width:28px;height:28px;display:grid;position:absolute;transform:translate(-50%,-50%)rotateX(-53deg);box-shadow:0 4px 8px #0007}.court-player span{font-size:11px;font-weight:900}.court-player small{color:#fff;text-align:center;text-overflow:ellipsis;white-space:nowrap;text-shadow:0 1px 2px #000;min-width:42px;font-size:9px;line-height:1;position:absolute;top:30px;overflow:hidden}.court-player.home{background:linear-gradient(145deg,#60a7ff,#1765b5);border:2px solid #fff}.court-player.away{background:linear-gradient(145deg,#f17c87,#bf3448);border:2px solid #fff}.court-legend{z-index:4;justify-content:center;gap:13px;margin-top:-9px;display:flex;position:relative}.court-legend span{font-size:10px}.court-legend span:before{content:"";border-radius:50%;width:7px;height:7px;margin-right:4px;display:inline-block}.court-legend .home:before{background:#54a1ff}.court-legend .away:before{background:#f16677}.live-lineups{background:#fff;border:1px solid #d7e3ef;border-radius:17px;margin-top:12px;padding:12px}.live-lineups summary{cursor:pointer;color:#295f9a;font-size:14px;font-weight:800}.live-lineups section{margin-top:13px}.live-lineups h3{color:#3a526e;margin:0 0 7px;font-size:12px}.live-lineups section>div{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;display:grid}.live-lineups label{color:#71839a;flex-direction:column;gap:3px;font-size:10px;display:flex}.live-lineups select{color:#344a64;background:#f9fbfd;border:1px solid #dce6f0;border-radius:13px;min-width:0;min-height:44px;padding:7px;font-size:11px}.live-lineups>p{color:#8796a8;margin:11px 0 0;font-size:11px;line-height:1.45}.avatar-library{background:#fff;border:1px solid #e0e8f0;border-radius:14px;margin-top:14px;padding:12px}.avatar-library summary{cursor:pointer;color:#295f9a;font-size:14px;font-weight:800}.avatar-library>p{color:#78899d;font-size:11px;line-height:1.45}.avatar-library section{border-top:1px solid #edf1f5;padding:11px 0}.avatar-row{color:#31465e;grid-template-columns:35px 1fr auto;align-items:center;gap:8px;min-height:42px;font-size:12px;display:grid}.avatar-row.player{margin-left:12px}.avatar-row img,.avatar-row b{object-fit:cover;color:#2769ac;background:#dbeafd;border-radius:50%;place-items:center;width:32px;height:32px;font-size:13px;display:grid}.avatar-row label{color:#2971bb;cursor:pointer;font-size:10px;font-weight:750}.avatar-row input{color:#0000;width:88px;margin-top:3px;font-size:8px;display:block}.match-roster-setup{background:#fff;border:1px solid #dae5f0;border-radius:17px;margin:8px 0 12px;padding:13px}.match-roster-setup summary{color:#2c67a3;cursor:pointer;font-size:13px;font-weight:800}.match-roster-setup p{color:#77899d;margin:8px 0;font-size:11px;line-height:1.45}.match-roster-setup form{grid-template-columns:minmax(0,1fr) 92px;gap:8px;margin-top:10px;display:grid}.match-roster-setup form+form{grid-template-columns:minmax(0,1fr) 84px}.match-roster-setup form+form select{grid-column:1/-1}.match-roster-setup input,.match-roster-setup select,.match-roster-setup button{color:#3d5570;min-width:0;min-height:44px;font:inherit;background:#fff;border:1px solid #dbe5ee;border-radius:13px;padding:7px 9px;font-size:11px}.match-roster-setup button{color:#fff;background:#2b70b5;border-color:#2b70b5;grid-column:1/-1;font-weight:760}.match-roster-setup>summary,.live-lineups>summary,.live-members>summary,.avatar-library>summary{justify-content:space-between;align-items:center;gap:10px;min-height:44px;padding:0 2px;list-style:none;display:flex}.match-roster-setup>summary::-webkit-details-marker{display:none}.live-lineups>summary::-webkit-details-marker{display:none}.live-members>summary::-webkit-details-marker{display:none}.avatar-library>summary::-webkit-details-marker{display:none}.match-roster-setup>summary:after,.live-lineups>summary:after,.live-members>summary:after,.avatar-library>summary:after{content:"⌄";color:#91a0b2;font-size:16px;transition:transform .18s}.match-roster-setup[open]>summary:after,.live-lineups[open]>summary:after,.live-members[open]>summary:after,.avatar-library[open]>summary:after{transform:rotate(180deg)}.fitness-panel{background:linear-gradient(135deg,#f7fbff,#fff);border:1px solid #cfe0f0;border-radius:14px;margin:18px 0;padding:15px}.fitness-panel h3{margin:0}.fitness-panel .player-form{margin-top:10px}@media (width>=700px){.mobile-app-shell{max-width:560px;margin:0 auto;box-shadow:0 0 0 1px #dce4ec}.mobile-topbar{max-width:560px}}.ecosystem-shell{--mobile-blue:#1769e0;--mobile-ink:#101827;--mobile-card:#ffffffe0;--mobile-hairline:#162a4517;--control-height:44px;--control-radius:14px;--control-radius-large:17px;--control-shadow:0 8px 22px #1d3e671a;background:radial-gradient(circle at 100% 0,#6aa4ff29,#0000 28rem),linear-gradient(#f8faff 0,#f3f6fa 35%,#f5f7fa 100%);font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,PingFang SC,Segoe UI,sans-serif}.ecosystem-shell button:not(.board-player):not(.board-ball):not(.court-player){min-height:var(--control-height);border-radius:var(--control-radius)}.ecosystem-shell :where(button,input,select,textarea,summary):focus-visible,.dialog-sheet :where(button,input,select,textarea):focus-visible,.modal :where(button,input,select,textarea):focus-visible{outline-offset:2px;outline:3px solid #1769e040}.ecosystem-shell button:active:not(:disabled):not(.board-player):not(.board-ball){transform:scale(.985)}.ecosystem-shell .mobile-topbar{height:calc(66px + env(safe-area-inset-top));-webkit-backdrop-filter:saturate(180%)blur(20px);background:#f8faffd6;border-bottom-color:#15305412;padding-inline:18px}.ecosystem-shell .mobile-main{padding:24px 17px 28px}.ecosystem-shell .mobile-brand{letter-spacing:-.025em}.ecosystem-shell .mobile-brand>span:last-child{font-size:18px}.ecosystem-shell .mobile-ball{border:1.6px solid #3581ee;border-radius:50%;width:33px;height:33px;display:block;position:relative;transform:none}.ecosystem-shell .mobile-ball i{border-top:1.6px solid #3581ee;border-radius:50%;width:15px;height:7px;display:block;position:absolute}.ecosystem-shell .mobile-ball i:first-child{top:5px;left:8px;transform:rotate(34deg)}.ecosystem-shell .mobile-ball i:nth-child(2){top:14px;right:1px;transform:rotate(94deg)}.ecosystem-shell .mobile-ball i:nth-child(3){bottom:5px;left:2px;transform:rotate(-22deg)}.mobile-profile-button{color:#5b6d83;cursor:pointer;background:#ffffffc2;border:1px solid #345b8b1f;border-radius:999px;align-items:center;gap:4px;min-width:50px;height:44px;padding:4px 7px;display:flex;box-shadow:0 5px 18px #19395c0f}.mobile-profile-button span{color:#1769e0;background:#e9f2ff;border-radius:50%;place-items:center;width:24px;height:24px;font-size:12px;font-weight:800;display:grid}.mobile-profile-button.active{color:#1769e0;border-color:#8ebcf6}.ecosystem-shell .mobile-bottom-nav{height:calc(69px + env(safe-area-inset-bottom));-webkit-backdrop-filter:saturate(180%)blur(22px);background:#fcfdffe6;border-top-color:#18345914}.ecosystem-shell .mobile-bottom-nav button{color:#8c9bae;letter-spacing:.01em;gap:4px;font-size:10px}.ecosystem-shell .mobile-bottom-nav button span{place-items:center;height:25px;display:grid}.ecosystem-shell .mobile-bottom-nav button.active{color:#1769e0}.home-welcome{padding:5px 2px 18px}.home-welcome>p{color:#1769e0;margin:0 0 7px;font-size:13px;font-weight:720}.home-welcome h1{color:#111a2a;letter-spacing:-.045em;max-width:420px;margin:0;font-size:clamp(28px,8.2vw,39px);line-height:1.13}.home-welcome>span{color:#68788c;max-width:440px;margin-top:12px;font-size:13px;line-height:1.65;display:block}.continue-card{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#ffffffdb;border:1px solid #2d5b951c;border-radius:21px;grid-template-columns:48px minmax(0,1fr) 38px;align-items:center;gap:12px;margin:4px 0 23px;padding:15px;display:grid;box-shadow:0 16px 38px #223e6314}.continue-icon{color:#1769e0;background:linear-gradient(145deg,#dceaff,#eef5ff);border-radius:16px;place-items:center;width:48px;height:48px;display:grid}.continue-card small,.continue-card strong,.continue-card span{display:block}.continue-card small{color:#7b899a;letter-spacing:.04em;font-size:10px;font-weight:720}.continue-card strong{color:#172033;text-overflow:ellipsis;white-space:nowrap;margin-top:3px;font-size:14px;overflow:hidden}.continue-card span{color:#8190a1;margin-top:4px;font-size:10px}.continue-card>button{color:#fff;cursor:pointer;background:#1769e0;border:0;border-radius:50%;place-items:center;width:44px;height:44px;display:grid;box-shadow:0 8px 18px #1769e03d}.home-section-heading,.insight-heading{justify-content:space-between;align-items:end;gap:12px;display:flex}.home-section-heading{margin:0 2px 12px}.home-section-heading small,.insight-heading small{color:#8a98aa;letter-spacing:.13em;margin-bottom:3px;font-size:9px;font-weight:760;display:block}.home-section-heading h2,.insight-heading h2{color:#172033;letter-spacing:-.02em;margin:0;font-size:17px}.home-section-heading>span,.home-section-heading>button,.insight-heading>span,.insight-heading>button{color:#748397;background:0 0;border:0;font-size:10px}.home-section-heading>button,.insight-heading>button{color:#1769e0;cursor:pointer;font-weight:720}.core-module-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.core-module-card{border:1px solid var(--mobile-hairline);text-align:left;cursor:pointer;color:#172033;border-radius:24px;min-height:184px;padding:17px;position:relative;overflow:hidden;box-shadow:0 12px 30px #1d385b12}.core-module-card:first-child{grid-column:1/-1;min-height:176px}.core-module-card:after{content:"";opacity:.055;background:currentColor;border-radius:50%;width:150px;height:150px;position:absolute;bottom:-55px;right:-45px}.core-module-card.module-statistics{color:#1262d0;background:linear-gradient(145deg,#fff 0%,#eaf3ff 100%)}.core-module-card.module-tactics{color:#b06d0a;background:linear-gradient(145deg,#fff 0%,#fff1d9 100%)}.core-module-card.module-teacher{color:#6b52c6;background:linear-gradient(145deg,#fff 0%,#eeeaff 100%)}.module-index{color:currentColor;letter-spacing:.12em;opacity:.48;font-size:10px;font-weight:800;position:absolute;top:16px;right:17px}.core-module-card>i{color:currentColor;background:#ffffffb8;border-radius:16px;place-items:center;width:48px;height:48px;display:grid;box-shadow:inset 0 0 0 1px #ffffffb3}.core-module-card h3{color:#182235;letter-spacing:-.025em;margin:18px 0 6px;font-size:19px}.core-module-card p{color:#66778c;min-height:35px;margin:0;font-size:11px;line-height:1.55}.core-module-card>small{color:currentColor;justify-content:space-between;align-items:center;gap:8px;margin-top:13px;font-size:10px;font-weight:760;display:flex}.core-module-card:first-child>i{width:52px;height:52px}.core-module-card:first-child p{max-width:280px;min-height:0}.court-home-heading{margin-top:26px}.trust-strip{color:#6c7a8d;background:#ffffffb3;border:1px solid #e2e8f1;border-radius:17px;align-items:flex-start;gap:12px;margin:18px 1px 4px;padding:14px;display:flex}.trust-strip svg{color:#6b52c6;flex:none}.trust-strip p{margin:0;font-size:10px;line-height:1.6}.trust-strip strong{color:#35445a}.module-screen .module-title-row{justify-content:space-between;align-items:center;gap:14px;display:flex}.module-screen .module-title-row h1{font-size:clamp(28px,7.5vw,36px)}.module-subtitle{color:#68788c;max-width:460px;margin:10px 0 17px;font-size:12px;line-height:1.6}.round-icon-button{color:#597089;cursor:pointer;background:#ffffffc7;border:1px solid #1f406b1a;border-radius:50%;place-items:center;width:43px;height:43px;display:grid;box-shadow:0 8px 22px #1d375612}.module-select{color:#33445a;width:100%;height:44px;font:inherit;background:#ffffffdb;border:1px solid #dce5ef;border-radius:13px;margin-bottom:12px;padding:0 12px;font-size:12px}.empty-state-card{text-align:center;background:#ffffffd9;border:1px solid #dfe7f1;border-radius:24px;margin-top:12px;padding:30px 22px 22px;box-shadow:0 16px 34px #1f3d6312}.empty-state-card>span{color:#1769e0;background:#eaf3ff;border-radius:19px;place-items:center;width:58px;height:58px;margin:0 auto 15px;display:grid}.empty-state-card h2{margin:0;font-size:19px}.empty-state-card p{color:#708096;margin:8px 0 18px;font-size:12px;line-height:1.6}.match-hero-card{color:#fff;background:linear-gradient(145deg,#1d73e8,#1357be 64%,#0d438f);border-radius:25px;padding:18px;overflow:hidden;box-shadow:0 20px 44px #185cb940}.match-hero-heading{justify-content:space-between;align-items:start;gap:10px;display:flex}.match-hero-heading small{color:#ffffffa8;letter-spacing:.08em;font-size:9px;font-weight:720}.match-hero-heading h2{text-overflow:ellipsis;white-space:nowrap;max-width:315px;margin:4px 0 0;font-size:16px;overflow:hidden}.status-pill{color:#ffffffb8;background:#ffffff1a;border:1px solid #ffffff2e;border-radius:999px;padding:5px 8px;font-size:9px}.status-pill.active:before{content:"";background:#83f0bd;border-radius:50%;width:5px;height:5px;margin-right:5px;display:inline-block;box-shadow:0 0 0 3px #83f0bd29}.match-score-line{grid-template-columns:repeat(2,minmax(0,1fr));gap:46px;margin:20px 0 17px;display:grid;position:relative}.score-team{text-align:center;min-width:0}.score-team span,.score-team strong,.score-team small{display:block}.score-team span{color:#ffffffd1;text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.score-team strong{letter-spacing:-.05em;margin:3px 0;font-size:40px}.score-team small{color:#ffffff75;letter-spacing:.15em;font-size:8px}.match-score-line>i{color:#ffffff8c;font-size:26px;font-style:normal;position:absolute;top:22px;left:50%;transform:translate(-50%)}.glass-action{color:#fff;width:100%;min-height:43px;font:inherit;text-align:left;cursor:pointer;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1f;border:1px solid #ffffff29;border-radius:14px;grid-template-columns:20px 1fr 20px;align-items:center;gap:8px;padding:8px 11px;font-size:12px;font-weight:720;display:grid}.glass-action svg:last-child{justify-self:end}.approved-metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:12px;display:grid}.approved-metrics article{background:#ffffffd6;border:1px solid #e2e8f1;border-radius:17px;min-width:0;padding:13px 10px}.approved-metrics small,.approved-metrics strong,.approved-metrics span{display:block}.approved-metrics small{color:#77879a;text-overflow:ellipsis;white-space:nowrap;font-size:9px;overflow:hidden}.approved-metrics strong{color:#1769e0;letter-spacing:-.04em;margin:5px 0 4px;font-size:24px}.approved-metrics span{color:#9aa5b2;font-size:7px}.insight-card,.preset-card,.recent-match-list{background:#ffffffd9;border:1px solid #e0e7f0;border-radius:21px;margin-top:12px;padding:16px;box-shadow:0 10px 28px #203c5e0d}.observation-bars{gap:10px;margin:17px 0 11px;display:grid}.observation-bars>div{color:#65758a;grid-template-columns:34px 1fr 18px;align-items:center;gap:8px;font-size:9px;display:grid}.observation-bars i{background:#edf1f6;border-radius:999px;height:7px;overflow:hidden}.observation-bars i b{border-radius:inherit;background:linear-gradient(90deg,#73aaff,#1769e0);height:100%;display:block}.observation-bars strong{color:#31445c;text-align:right}.insight-card>p,.preset-card>p{color:#8995a5;margin:8px 0 0;font-size:9px;line-height:1.5}.data-boundary-note{color:#55708f;background:#f0f6fe;border:1px solid #dbe7f5;border-radius:14px;margin:12px 0 0;padding:12px 13px;font-size:10px;line-height:1.55}.recent-match-list>button{color:#4f6076;text-align:left;cursor:pointer;background:0 0;border:0;border-top:1px solid #edf1f5;grid-template-columns:36px 1fr 18px;align-items:center;gap:10px;width:100%;margin-top:10px;padding:10px 0 0;display:grid}.recent-match-list>button>span{color:#1769e0;background:#edf4ff;border-radius:11px;place-items:center;width:34px;height:34px;font-size:12px;font-weight:800;display:grid}.recent-match-list>button strong,.recent-match-list>button small{display:block}.recent-match-list>button strong{color:#29384d;text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.recent-match-list>button small{color:#8995a4;margin-top:3px;font-size:9px}.recent-match-list>button.selected>span{color:#fff;background:#1769e0}.tactics-team-strip{color:#52657c;justify-content:space-between;align-items:center;gap:9px;margin-bottom:10px;font-size:10px;display:flex}.tactics-team-strip span{text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:5px;min-width:0;max-width:40%;display:flex;overflow:hidden}.tactics-team-strip i{border-radius:50%;flex:none;width:8px;height:8px}.tactics-team-strip .home i{background:#2c75ff}.tactics-team-strip .away i{background:#ff6577}.tactics-team-strip b{color:#9a7b44;font-size:9px;font-weight:700}.tactics-toolbar{background:#ffffffd1;border:1px solid #e1e7ee;border-radius:15px;grid-template-columns:1fr 1fr 40px 40px;gap:6px;margin-bottom:9px;padding:5px;display:grid}.tactics-toolbar button{color:#788799;min-height:38px;font:inherit;cursor:pointer;background:0 0;border:0;border-radius:11px;font-size:10px;font-weight:720}.tactics-toolbar button.active{color:#fff;background:#182438;box-shadow:0 7px 16px #17233530}.tactics-toolbar button:disabled{cursor:not-allowed;opacity:.35}.tactics-board{aspect-ratio:.78;touch-action:none;cursor:crosshair;background:repeating-linear-gradient(90deg,#ffffff09 0 10%,#0000 10% 20%),linear-gradient(145deg,#e5a761,#cf7d39 52%,#bd6b31);border:8px solid #162034;border-radius:28px;width:100%;position:relative;overflow:hidden;box-shadow:inset 0 0 0 2px #fffae1e6,0 24px 48px #2a303f2e}.tactics-board:before{content:"";pointer-events:none;border:1.5px solid #ffffffe6;position:absolute;inset:3.5%}.tactics-board-glow{pointer-events:none;background:radial-gradient(circle at 50% 30%,#ffe6ba3b,#0000 46%);position:absolute;inset:0}.tactics-net,.tactics-attack-line{z-index:1;pointer-events:none;background:#ffffffeb;height:2px;position:absolute;left:3.5%;right:3.5%}.tactics-net{background:repeating-linear-gradient(90deg,#fff 0 4px,#28344a 4px 7px);height:5px;top:50%;box-shadow:0 -2px #1d273ab8,0 2px #1d273ab8}.tactics-attack-line.top{top:35%}.tactics-attack-line.bottom{top:65%}.court-label{z-index:1;color:#4c2a106b;letter-spacing:.1em;pointer-events:none;font-size:8px;font-weight:800;position:absolute;left:50%;transform:translate(-50%)}.court-label.top{top:6%}.court-label.bottom{bottom:6%}.board-player,.board-ball{z-index:4;cursor:pointer;touch-action:none;position:absolute;transform:translate(-50%,-50%)}.board-player{color:#fff;border:2px solid #fff;border-radius:50%;place-items:center;width:39px;height:39px;display:grid;box-shadow:0 5px 12px #241c1559}.board-player.home{background:linear-gradient(145deg,#4b91ff,#145cc8)}.board-player.away{background:linear-gradient(145deg,#ff7a8b,#ce344c)}.board-player.selected{outline-offset:3px;outline:3px solid #ffe47c;transform:translate(-50%,-50%)scale(1.08)}.board-player strong{font-size:13px}.board-player small{color:#fff;text-align:center;text-shadow:0 1px 3px #41230f;white-space:nowrap;min-width:52px;font-size:8px;font-weight:700;position:absolute;top:43px}.board-ball{background:conic-gradient(#f5ca22 0 33%, #2d6ede 0 66%, #fff 0);color:#0000;border:2px solid #fff;border-radius:50%;place-items:center;width:30px;height:30px;display:grid;box-shadow:0 4px 10px #2e261a66}.board-ball.selected{outline-offset:2px;outline:3px solid #182438}.tactics-routes{z-index:3;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.tactics-routes line{vector-effect:non-scaling-stroke;fill:none;stroke-width:3px;stroke-linecap:round;stroke-dasharray:7 5;opacity:.88}.tactics-routes line.home{stroke:#2c75ff}.tactics-routes line.away{stroke:#ff6577}.tactics-routes .route-start{fill:#fff;stroke:#172238;stroke-width:.6px}.tactics-selection{justify-content:space-between;align-items:center;gap:14px;margin:11px 2px 0;display:flex}.tactics-selection small,.tactics-selection strong{display:block}.tactics-selection small{color:#8b98a7;font-size:8px}.tactics-selection strong{color:#25364c;margin-top:2px;font-size:11px}.tactics-selection p{color:#8491a1;text-align:right;max-width:68%;margin:0;font-size:9px;line-height:1.45}.preset-buttons{grid-template-columns:repeat(3,1fr);gap:7px;margin-top:14px;display:grid}.preset-buttons button{color:#8f5f20;min-height:39px;font:inherit;cursor:pointer;background:#fffaf1;border:1px solid #e5d4b9;border-radius:12px;font-size:10px;font-weight:720}.teacher-greeting-card{color:#fff;background:linear-gradient(145deg,#6f59cc,#4f3eab);border-radius:24px;grid-template-columns:62px 1fr;align-items:center;gap:13px;margin-bottom:12px;padding:18px;display:grid;box-shadow:0 20px 44px #5340b238}.teacher-greeting-card.is-muted{background:linear-gradient(145deg,#687083,#535a6a);box-shadow:0 16px 36px #464d5d29}.teacher-greeting-card.is-muted .teacher-avatar{filter:grayscale(.55);opacity:.72}.teacher-avatar{background:#ffffff21;border-radius:21px;place-items:center;width:62px;height:62px;display:grid}.teacher-avatar svg{filter:drop-shadow(0 7px 12px #261a5038);display:block}.teacher-greeting-card small{color:#ffffffa3;font-size:9px;font-weight:720}.teacher-greeting-card h2{margin:5px 0 6px;font-size:16px;line-height:1.42}.teacher-greeting-card p{color:#ffffffad;margin:0;font-size:9px;line-height:1.5}.today-class-card{background:#ffffffdb;border:1px solid #e2e6ef;border-radius:21px;padding:16px}.class-context-grid{grid-template-columns:repeat(3,1fr);gap:7px;margin-top:14px;display:grid}.class-context-grid article{text-align:center;background:#f6f4ff;border-radius:14px;min-width:0;padding:11px 8px}.class-context-grid span{color:#6b52c6;background:#ebe7ff;border-radius:9px;place-items:center;width:26px;height:26px;margin:0 auto 6px;display:grid}.class-context-grid strong,.class-context-grid small{display:block}.class-context-grid strong{color:#30284e;font-size:14px}.class-context-grid small{color:#8a829e;text-overflow:ellipsis;white-space:nowrap;margin-top:3px;font-size:8px;overflow:hidden}.teaching-hint{color:#665f76;background:#f8f7fb;border-radius:13px;margin:13px 0 8px;padding:11px 12px;font-size:10px;line-height:1.55}.service-state{color:#8b96a5;margin:0;font-size:8px;line-height:1.45}.service-state.waiting{color:#887032}.fitness-demo-card{background:linear-gradient(155deg,#fffffff5,#f5f7ffe6);margin-top:12px}.fitness-demo-boundary{color:#6e6582;background:#f4f1ff;border-radius:12px;margin:12px 0;padding:9px 10px;font-size:8.5px;line-height:1.55}.fitness-demo-list{gap:9px;display:grid}.fitness-demo-athlete{background:#ffffffe0;border:1px solid #e4e7f0;border-radius:15px;padding:11px}.fitness-demo-athlete>header{justify-content:space-between;align-items:start;gap:12px;display:flex}.fitness-demo-athlete>header strong,.fitness-demo-athlete>header small{display:block}.fitness-demo-athlete>header strong{color:#2e3950;font-size:11px}.fitness-demo-athlete>header small{color:#8993a2;margin-top:3px;font-size:8px}.fitness-demo-athlete>header time{color:#78869a;font-variant-numeric:tabular-nums;flex:none;font-size:8.5px}.fitness-demo-metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin-top:10px;display:grid}.fitness-demo-metrics>div{text-align:center;background:#f5f7fb;border-radius:10px;min-width:0;padding:7px 5px}.fitness-demo-metrics small,.fitness-demo-metrics strong{display:block}.fitness-demo-metrics small{color:#8994a4;text-overflow:ellipsis;white-space:nowrap;font-size:7.5px;overflow:hidden}.fitness-demo-metrics strong{color:#33445d;font-variant-numeric:tabular-nums;margin-top:3px;font-size:11px}.fitness-demo-metrics i{color:#929cab;margin-left:2px;font-size:7px;font-style:normal;font-weight:550}.teacher-profile-form{background:#ffffffe6;border:1px solid #e2e6ef;border-radius:22px;gap:11px;margin-top:12px;padding:17px;display:grid;box-shadow:0 12px 30px #2b2f440f}.form-section-heading{justify-content:space-between;align-items:end;gap:12px;margin-bottom:2px;display:flex}.form-section-heading small{color:#9388bb;letter-spacing:.12em;font-size:8px;font-weight:780}.form-section-heading h2{margin:3px 0 0;font-size:17px}.form-section-heading button{color:#6b52c6;font:inherit;cursor:pointer;background:0 0;border:0;font-size:10px}.teacher-profile-form>label,.teacher-field-grid label{color:#6c7888;gap:5px;font-size:9px;font-weight:720;display:grid}.teacher-profile-form input,.teacher-profile-form select{color:#2e3d51;width:100%;min-width:0;height:42px;font:inherit;background:#fbfcfe;border:1px solid #dde3ec;border-radius:11px;padding:0 10px;font-size:11px}.teacher-field-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;display:grid}.teacher-profile-form fieldset{border:1px solid #e2e6ef;border-radius:14px;margin:0;padding:11px}.teacher-profile-form legend{color:#596a7e;padding:0 5px;font-size:10px;font-weight:740}.assessment-chips{flex-wrap:wrap;gap:6px;display:flex}.assessment-chips button{color:#70768c;min-height:31px;font:inherit;cursor:pointer;background:#fafaff;border:1px solid #dddff0;border-radius:999px;padding:5px 9px;font-size:9px}.assessment-chips button.selected{color:#604bb9;background:#eeeaff;border-color:#8e7cdc;font-weight:760}.teacher-profile-form fieldset>small{color:#9a9fab;margin-top:8px;font-size:8px;line-height:1.45;display:block}.teacher-profile-form .eva-avatar-fieldset{background:linear-gradient(145deg,#fcfbff,#f7f4ff);border-color:#ddd7f5}.eva-avatar-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.eva-avatar-options button{color:#675e78;min-width:0;min-height:70px;font:inherit;text-align:left;cursor:pointer;background:#ffffffdb;border:1px solid #e6e1f8;border-radius:16px;grid-template-columns:53px minmax(0,1fr);align-items:center;gap:6px;padding:4px 7px 4px 1px;transition:border-color .16s,box-shadow .16s,transform .16s;display:grid;overflow:hidden}.eva-avatar-options button:hover{border-color:#a99ae4;transform:translateY(-1px)}.eva-avatar-options button.selected{background:#f0ecff;border-color:#7660cc;box-shadow:inset 0 0 0 1px #7660cc,0 7px 16px #5944a41a}.eva-avatar-options button svg{width:58px;height:58px;display:block}.eva-avatar-options button span,.eva-avatar-options button strong,.eva-avatar-options button small{min-width:0;display:block}.eva-avatar-options button strong{color:#423958;text-overflow:ellipsis;white-space:nowrap;font-size:9px;overflow:hidden}.eva-avatar-options button small{color:#9a8fb3;text-overflow:ellipsis;white-space:nowrap;margin-top:3px;font-size:7.5px;overflow:hidden}.preference-row{border-top:1px solid #edf0f4;justify-content:space-between;align-items:center;gap:12px;padding:11px 0;display:flex}.preference-row strong,.preference-row small{display:block}.preference-row strong{color:#344357;font-size:11px}.preference-row small{color:#939daa;margin-top:3px;font-size:8px}.switch{cursor:pointer;background:#d9dee6;border:0;border-radius:999px;flex:none;width:46px;height:27px;transition:background .16s;position:relative}.switch i{background:#fff;border-radius:50%;width:21px;height:21px;transition:transform .16s;position:absolute;top:3px;left:3px;box-shadow:0 2px 6px #242b3640}.switch.on{background:#725bd0}.switch.on i{transform:translate(19px)}.teacher-edit-summary{color:#657388;text-align:left;cursor:pointer;background:#ffffffd1;border:1px solid #e3e6ee;border-radius:16px;justify-content:space-between;align-items:center;gap:12px;width:100%;margin-top:10px;padding:12px 14px;display:flex}.teacher-edit-summary small,.teacher-edit-summary strong{display:block}.teacher-edit-summary small{color:#969fad;font-size:8px}.teacher-edit-summary strong{color:#344157;margin-top:3px;font-size:10px}.module-assistant{background:#ffffffe6;border:1px solid #e1e6ee;border-radius:23px;margin-top:16px;padding:17px;box-shadow:0 13px 32px #1e38590f}.assistant-heading{grid-template-columns:48px 1fr auto;align-items:center;gap:10px;display:grid}.assistant-orb{color:#1769e0;background:#eaf3ff;border-radius:15px;place-items:center;width:43px;height:43px;display:grid}.assistant-tactics .assistant-orb{color:#ab6c13;background:#fff1da}.assistant-teacher .assistant-orb{color:#6b52c6;background:#eeeaff}.assistant-orb.has-mascot{background:0 0;width:48px;height:48px;overflow:visible}.assistant-orb.has-mascot img{object-fit:contain;filter:drop-shadow(0 5px 9px #2c4b7824);width:48px;height:48px;display:block}.assistant-teacher .assistant-orb.has-eva{background:0 0;width:48px;height:48px;overflow:visible}.assistant-teacher .assistant-orb.has-eva svg{filter:drop-shadow(0 5px 9px #4c368e24);display:block}.assistant-heading small{color:#8d99a8;letter-spacing:.11em;font-size:8px;font-weight:780}.assistant-heading h2{color:#26364a;margin:3px 0 0;font-size:14px}.assistant-version{color:#8995a4;white-space:nowrap;background:#f0f3f7;border-radius:999px;padding:5px 7px;font-size:7px}.assistant-intro{color:#728196;margin:11px 0;font-size:10px;line-height:1.5}.assistant-role-scope{background:#fafbfd;border:1px solid #e8edf3;border-radius:12px;grid-template-columns:auto 1fr;gap:3px 8px;margin:0 0 11px;padding:9px 10px;display:grid}.assistant-role-scope strong{color:#8793a2;letter-spacing:.08em;text-transform:uppercase;font-size:7px}.assistant-role-scope span{color:#25344a;font-size:9px;font-weight:700}.assistant-role-scope small{color:#7b8796;grid-column:1/-1;font-size:7.5px;line-height:1.45}.assistant-conversation-actions{gap:6px;margin:-2px 0 9px;display:flex}.assistant-conversation-actions button{color:#6f7d90;font:inherit;cursor:pointer;background:#fff;border:1px solid #e0e5ec;border-radius:999px;padding:5px 9px;font-size:8px}.assistant-conversation-actions button:disabled{opacity:.48;cursor:not-allowed}.assistant-history{background:#f8fafc;border:1px solid #e5e9ef;border-radius:13px;gap:5px;max-height:180px;margin:0 0 9px;padding:7px;display:grid;overflow-y:auto}.assistant-history>small{color:#8d98a7;padding:7px;font-size:8px}.assistant-history>div{grid-template-columns:1fr auto;gap:5px;display:grid}.assistant-history button{color:#5b6b80;font:inherit;text-align:left;cursor:pointer;background:#fff;border:0;border-radius:9px;padding:7px 8px;font-size:8px}.assistant-history button:last-child{color:#a45b58;align-self:stretch}.assistant-history strong,.assistant-history small{display:block}.assistant-history strong{text-overflow:ellipsis;white-space:nowrap;max-width:220px;font-size:9px;overflow:hidden}.assistant-history small{color:#9aa4b1;margin-top:2px;font-size:7px}.assistant-learning{background:#f8fafc;border:1px solid #e2e8f0;border-radius:15px;gap:8px;margin:0 0 10px;padding:12px;display:grid}.assistant-learning>strong,.assistant-learning-consent strong{color:#304258;font-size:10px}.assistant-learning small{color:#758397;font-size:8px;line-height:1.55}.assistant-learning textarea{resize:vertical;color:#33465d;min-height:76px;font:inherit;background:#fff;border:1px solid #dce3ec;border-radius:11px;padding:10px;font-size:9px;line-height:1.55}.assistant-learning>button,.assistant-learning-consent button{color:#fff;font:inherit;cursor:pointer;background:#26384d;border:0;border-radius:10px;padding:9px 11px;font-size:9px;font-weight:720}.assistant-learning-consent{border-top:1px solid #e5eaf0;grid-template-columns:1fr auto;align-items:center;gap:12px;padding-top:5px;display:grid}.assistant-learning-consent div{gap:3px;display:grid}.assistant-learning-consent button[aria-checked=true]{background:#16725d}.assistant-learning-consent button:disabled{opacity:.48;cursor:not-allowed}.assistant-learning .assistant-learning-warning{color:#9b5d39}.assistant-prompts{gap:6px;display:grid}.assistant-prompts button{color:#52647a;min-height:38px;font:inherit;text-align:left;cursor:pointer;background:#fafbfd;border:1px solid #e6eaf0;border-radius:12px;grid-template-columns:1fr 16px;align-items:center;gap:5px;padding:7px 9px;font-size:9px;display:grid}.assistant-prompts button svg{color:#8f9bab}.assistant-form{grid-template-columns:1fr 37px;gap:6px;margin-top:8px;display:grid}.assistant-form input{color:#33445a;min-width:0;height:39px;font:inherit;background:#fff;border:1px solid #dfe5ec;border-radius:12px;padding:0 10px;font-size:10px}.assistant-form button{color:#fff;cursor:pointer;background:#1769e0;border:0;border-radius:12px;place-items:center;display:grid}.assistant-form button:disabled,.assistant-prompts button:disabled{cursor:not-allowed;opacity:.48}.assistant-tactics .assistant-form button{background:#9a6417}.assistant-teacher .assistant-form button{background:#6650bd}.assistant-error{color:#b3261e;margin:9px 0 0;font-size:9px}.assistant-answer{color:#4a5c73;background:#f4f7fb;border-radius:14px;margin-top:10px;padding:12px}.assistant-answer p{white-space:pre-wrap;margin:0;font-size:10px;line-height:1.65}.assistant-answer ul{margin:8px 0;padding-left:17px;font-size:9px;line-height:1.5}.assistant-answer small{color:#8a96a5;font-size:7px}.assistant-handoff{background:#fff;border:1px solid #dce7f5;border-radius:12px;gap:5px;margin-top:10px;padding:10px;display:grid}.assistant-handoff strong{color:#314964;font-size:9px}.assistant-handoff span{color:#60748b;font-size:8.5px;line-height:1.45}.assistant-handoff small{color:#8a96a5;font-size:7.5px;line-height:1.4}.assistant-handoff button{color:#fff;min-height:34px;font:inherit;cursor:pointer;background:#1769e0;border:0;border-radius:10px;justify-content:center;align-items:center;gap:5px;margin-top:2px;font-size:8.5px;font-weight:750;display:flex}.assistant-handoff button:disabled{cursor:not-allowed;opacity:.48}.assistant-boundary{color:#9aa4b1;margin:10px 0 0;font-size:7.5px;line-height:1.45}.assistant-privacy{color:#8a95a5;margin:7px 2px 0;font-size:8px;line-height:1.45;display:block}.court-simulation.compact{margin-top:0}.court-simulation.compact .court-perspective{height:180px}.court-simulation.compact .court-floor{height:225px}.court-empty-label{z-index:2;color:#ffffffbd;text-align:center;text-shadow:0 1px 2px #0008;width:190px;font-size:9px;line-height:1.5;position:absolute;top:51%;left:50%;transform:translate(-50%,-50%)rotateX(-53deg)}@media (width<=370px){.core-module-card{padding:14px}.core-module-card h3{font-size:17px}.approved-metrics article{padding-inline:7px}.approved-metrics strong{font-size:21px}.tactics-board{border-width:6px}.board-player{width:35px;height:35px}.board-player small{top:39px}.assistant-version{display:none}.eva-avatar-options{grid-template-columns:1fr}}.scout-pad{flex-direction:column;gap:10px;margin:12px 0;display:flex}.scout-status{align-items:center;gap:10px;min-height:28px;font-size:13px;display:flex}.scout-step{color:#0f172a;font-weight:700}.scout-last{color:#15803d;font-weight:600}.scout-pending{color:#92400e;background:#fef3c7;border-radius:999px;margin-left:auto;padding:2px 8px;font-weight:600}.scout-grid{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.scout-grid.effects{grid-template-columns:repeat(2,1fr)}.scout-key{color:#0f172a;touch-action:manipulation;-webkit-tap-highlight-color:transparent;background:#fff;border:1px solid #cbd5e1;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:2px;min-height:64px;font-size:16px;font-weight:600;display:flex}.scout-key:active{background:#eff6ff;transform:scale(.97)}.scout-key.player b{font-size:26px;line-height:1}.scout-key.player small{color:#64748b;font-weight:500}.scout-key.effect.good{background:#f0fdf4;border-color:#86efac}.scout-key.effect.mid{background:#fffbeb;border-color:#fcd34d}.scout-key.effect.bad{background:#fef2f2;border-color:#fca5a5}.scout-key.back{color:#64748b;background:#f8fafc;min-height:48px;font-weight:500}.scout-undo{color:#b91c1c;touch-action:manipulation;background:#fff1f2;border:1px solid #fca5a5;border-radius:12px;min-height:56px;font-size:16px;font-weight:700}.scout-undo:disabled{opacity:.4}.scout-note{color:#64748b;margin:0;font-size:12px;line-height:1.6}.session-retry-card{text-align:center;background:#fff;border:1px solid #1f2d461f;border-radius:24px;width:min(360px,100% - 32px);margin:auto;padding:24px;box-shadow:0 18px 50px #1928421a}.session-retry-card strong{color:#172033;font-size:20px}.session-retry-card p{color:#68758a;margin:10px 0 18px;font-size:13px;line-height:1.6}.session-retry-card button{color:#fff;font:inherit;background:#2867e8;border:0;border-radius:14px;padding:11px 20px;font-weight:750}
