:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#06100c;--bg-2:#091710;--panel:#0d1b14;--panel-2:#11231a;--panel-3:#193025;--border:#ffffff16;--border-strong:#ffffff29;--text:#f4f8f5;--muted:#8fa198;--muted-2:#687a70;--accent:#c8ff46;--accent-2:#a6e82a;--accent-soft:#c8ff461f;--danger:#ff7d7d;--danger-soft:#ff7d7d1a;--warning:#ffc75c;--shadow:0 24px 70px #00000047;--radius-xl:26px;--radius-lg:20px;--radius-md:15px}*{box-sizing:border-box}html{background:var(--bg);-webkit-text-size-adjust:100%}html,body{min-height:100%;margin:0}body{background:radial-gradient(circle at 50% -10%, #45875b2e, transparent 34rem), linear-gradient(180deg, #07120d 0%, var(--bg) 46%, #050c09 100%);min-height:100svh;color:var(--text);-webkit-font-smoothing:antialiased;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input,textarea,select{font:inherit}button{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button,a{touch-action:manipulation}input,textarea{outline:none}h1,h2,h3,p{margin-top:0}h1{letter-spacing:-.045em}h2{letter-spacing:-.03em}.app-shell{width:min(100%,1180px);min-height:100svh;padding:max(16px, env(safe-area-inset-top)) 14px calc(104px + env(safe-area-inset-bottom));margin:0 auto}.dashboard-content,.class-content,.public-section{width:100%}.eyebrow{color:var(--muted);letter-spacing:.15em;text-transform:uppercase;margin-bottom:5px;font-size:10px;font-weight:850;display:block}.topbar,.class-header,.public-header{justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.topbar{align-items:center;margin:1px 0 26px}.brand-lockup,.public-brand{align-items:center;gap:10px;display:flex}.brand-lockup strong{font-size:14px;display:block}.brand-mark{width:38px;height:38px;color:var(--accent);background:linear-gradient(145deg,#17301f,#0a1710);border:1px solid #c8ff4647;border-radius:12px;place-items:center;font-size:18px;font-weight:950;display:grid;box-shadow:inset 0 0 24px #c8ff460d}.avatar-button,.teacher-avatar,.student-avatar,.mini-avatar,.avatar-stack i,.public-participants i{border:1px solid var(--border-strong);color:var(--text);background:linear-gradient(145deg,#193326,#0c1812);border-radius:50%;flex:none;place-items:center;font-style:normal;font-weight:900;display:grid}.avatar-button{cursor:pointer;width:42px;height:42px}.teacher-avatar{width:44px;height:44px}.teacher-avatar.large{width:58px;height:58px;font-size:18px}.student-avatar{width:42px;height:42px;font-size:12px}.student-avatar.small{width:34px;height:34px;font-size:10px}.welcome-block{margin:0 2px 22px}.welcome-block h1,.page-heading h1{margin-bottom:7px;font-size:clamp(30px,9vw,43px)}.welcome-block p,.page-heading p{color:var(--muted);margin-bottom:0;font-size:14px;line-height:1.5}.today-hero{border-radius:var(--radius-xl);box-shadow:var(--shadow);background:radial-gradient(circle at 95% 4%,#c8ff4630,#0000 43%),linear-gradient(145deg,#13271d,#0a1710);border:1px solid #c8ff463d;padding:22px;position:relative;overflow:hidden}.today-hero:after{content:"";border:1px solid #c8ff461a;border-radius:50%;width:190px;height:190px;position:absolute;bottom:-76px;right:-54px}.hero-topline{color:var(--accent);letter-spacing:.14em;align-items:center;gap:8px;font-size:10px;font-weight:900;display:flex}.live-dot{background:var(--accent);width:7px;height:7px;box-shadow:0 0 16px var(--accent);border-radius:50%}.today-hero h2{margin:20px 0 5px;font-size:29px}.hero-date{color:#cbd6d0;margin-bottom:13px;font-size:13px}.hero-meta{flex-wrap:wrap;gap:7px;display:flex}.hero-meta span,.status-pill,.tiny-badge,.readonly-badge{border:1px solid var(--border);color:#d3dcd7;background:#0000001f;border-radius:999px;font-size:11px;font-weight:750}.hero-meta span{padding:7px 9px}.hero-students{margin:18px 0 0 4px;display:flex}.mini-avatar{width:34px;height:34px;margin-left:-4px;font-size:9px;box-shadow:0 0 0 3px #11241a}.mini-avatar.is-absent{opacity:.35}.hero-actions{z-index:1;gap:9px;margin-top:20px;display:grid;position:relative}.primary-button,.secondary-button,.danger-button,.text-button,.round-action,.icon-button,.undo-button,.attendance-button,.tab,.global-bottom-nav button,.class-bottom-nav button,.public-tabs button,.segmented-control button,.board-history-actions button{cursor:pointer;border:0;transition:transform .14s,background .14s,border-color .14s,color .14s,opacity .14s}.primary-button:active,.secondary-button:active,.danger-button:active,.round-action:active,.error-button:active,.student-select:active,.tool-button:active,.exercise-chip:active,.student-suggestion:active{transform:scale(.98)}.primary-button{background:var(--accent);color:#08100b;border-radius:14px;justify-content:center;align-items:center;min-height:47px;padding:11px 16px;font-weight:900;display:inline-flex}.secondary-button{border:1px solid var(--border);background:var(--panel-2);min-height:44px;color:var(--text);border-radius:14px;justify-content:center;align-items:center;padding:10px 14px;font-weight:800;display:inline-flex}.danger-button{background:var(--danger-soft);color:#ff9d9d;border:1px solid #ff7d7d33;border-radius:14px;min-height:44px;padding:10px 14px;font-weight:800}.text-button{color:var(--accent);background:0 0;padding:8px 0;font-weight:850}.compact-button{min-height:39px;padding:8px 12px;font-size:12px}.full-button{width:100%}.dashboard-section{margin-top:31px}.section-heading{justify-content:space-between;align-items:flex-end;gap:12px;margin-bottom:13px;display:flex}.section-heading h1,.section-heading h2{margin:0}.section-heading h2{font-size:23px}.page-heading{margin:4px 2px 20px}.page-heading.section-heading{align-items:center}.compact-heading{margin-top:2px}.activity-heading{margin-top:30px}.tiny-badge,.readonly-badge{color:var(--muted);flex:none;padding:7px 9px}.class-list,.agenda-list,.student-directory{gap:9px;display:grid}.class-card{border:1px solid var(--border);background:#0d1b14e6;border-radius:18px;grid-template-columns:75px minmax(0,1fr) auto auto;align-items:center;gap:10px;min-height:77px;padding:11px;display:grid}.class-date-box{flex-direction:column;gap:4px;display:flex}.class-date-box strong{color:var(--accent);font-size:11px}.class-date-box span{color:var(--muted);font-size:12px}.class-card-main{flex-direction:column;gap:5px;min-width:0;display:flex}.class-card-main strong{text-overflow:ellipsis;white-space:nowrap;font-size:14px;overflow:hidden}.class-card-main span{color:var(--muted);font-size:11px}.class-arrow{color:var(--muted-2);font-size:25px}.status-pill{padding:6px 8px;display:none}.status-pill.live{color:var(--accent);border-color:#c8ff462e}.agenda-card{border:1px solid var(--border);background:var(--panel);border-radius:20px;grid-template-columns:85px minmax(0,1fr) auto;align-items:center;gap:14px;min-height:100px;padding:14px;display:grid}.agenda-day{border-right:1px solid var(--border);flex-direction:column;justify-content:center;align-self:stretch;gap:5px;display:flex}.agenda-day span{color:var(--accent);font-size:11px;font-weight:850}.agenda-day strong{font-size:19px}.agenda-copy{flex-direction:column;gap:5px;min-width:0;display:flex}.agenda-copy>strong{font-size:15px}.agenda-copy>span{color:var(--muted);font-size:11px}.avatar-stack{margin:5px 0 0 3px;display:flex}.avatar-stack i{width:25px;height:25px;box-shadow:0 0 0 2px var(--panel);margin-left:-3px;font-size:8px}.input{border:1px solid var(--border);width:100%;min-height:47px;color:var(--text);caret-color:var(--accent);background:#0a1710;border-radius:14px;padding:11px 13px}.input:focus{border-color:#c8ff4673;box-shadow:0 0 0 3px #c8ff460f}.input::placeholder{color:#617268}.textarea{resize:vertical;min-height:82px;line-height:1.45}.search-row{margin-bottom:13px}.student-card,.student-row{border:1px solid var(--border);background:var(--panel);border-radius:17px;align-items:center;gap:11px;padding:12px;display:flex}.student-row{position:relative}.student-row.is-absent{opacity:.55}.student-row-copy{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.student-row-copy strong{text-overflow:ellipsis;white-space:nowrap;font-size:14px;overflow:hidden}.student-row-copy span{color:var(--muted);font-size:11px}.form-card,.settings-card,.board-card{border:1px solid var(--border);background:linear-gradient(145deg,#11231af0,#0a1710f0);border-radius:20px;margin-top:22px;padding:16px}.form-card h2,.settings-card h2{margin-bottom:8px}.form-card>.input{margin:7px 0 10px}.settings-card{justify-content:space-between;align-items:center;gap:16px;display:flex}.settings-card.vertical{display:block}.settings-card p{color:var(--muted);margin-bottom:0;font-size:12px;line-height:1.55}.settings-card.vertical p{margin-bottom:15px}.settings-error-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.settings-error-grid span{border:1px solid var(--border);background:#0000001f;border-radius:13px;align-items:center;gap:8px;padding:10px;font-size:12px;display:flex}.settings-error-grid b{color:var(--accent);font-size:18px}.segmented-control{border:1px solid var(--border);background:#00000029;border-radius:14px;grid-template-columns:repeat(2,1fr);gap:6px;margin:10px 0;padding:4px;display:grid}.segmented-control.three{grid-template-columns:repeat(3,1fr)}.segmented-control button{min-height:38px;color:var(--muted);background:0 0;border-radius:10px;padding:7px;font-size:11px;font-weight:800}.segmented-control button.active{background:var(--panel-3);color:var(--text);box-shadow:0 4px 15px #0000002e}.global-bottom-nav,.class-bottom-nav{z-index:40;left:10px;right:10px;bottom:max(10px, env(safe-area-inset-bottom));border:1px solid var(--border-strong);-webkit-backdrop-filter:blur(18px);background:#08130de6;border-radius:22px;gap:4px;padding:6px;display:grid;position:fixed;box-shadow:0 18px 50px #00000073}.global-bottom-nav{grid-template-columns:repeat(4,1fr)}.class-bottom-nav{grid-template-columns:repeat(3,1fr)}.global-bottom-nav button,.class-bottom-nav button{min-height:55px;color:var(--muted);background:0 0;border-radius:16px;flex-direction:column;justify-content:center;align-items:center;gap:4px;font-size:10px;font-weight:800;display:flex}.global-bottom-nav button span,.class-bottom-nav button span{font-size:18px;line-height:1}.global-bottom-nav button.active,.class-bottom-nav button.active{background:var(--accent-soft);color:var(--accent)}.class-header{margin:2px 0 15px}.header-copy{min-width:0}.back-link{color:var(--muted);margin-bottom:9px;font-size:12px;font-weight:750;display:inline-block}.class-header h1{margin:2px 0 5px;font-size:clamp(26px,8vw,35px)}.class-header p{color:var(--muted);margin:0;font-size:13px}.header-actions{gap:7px;display:flex}.round-action{border:1px solid var(--border);background:var(--panel);width:41px;height:41px;color:var(--text);border-radius:13px;place-items:center;font-size:17px;display:grid}.round-action.completed{background:var(--accent-soft);color:var(--accent);border-color:#c8ff4640}.class-kpis{grid-template-columns:repeat(3,1fr);gap:7px;margin-bottom:19px;display:grid}.class-kpis div{border:1px solid var(--border);background:#0d1b14d6;border-radius:14px;flex-direction:column;gap:2px;padding:11px 12px;display:flex}.class-kpis strong{font-size:19px}.class-kpis span{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:9px;font-weight:800}.error-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.error-button{border:1px solid var(--border);min-height:105px;color:var(--text);text-align:left;cursor:pointer;background:linear-gradient(145deg,#11231a,#0b1912);border-radius:18px;padding:13px}.error-button b{color:var(--accent);margin-bottom:12px;font-size:25px;font-weight:500;display:block}.error-button span{margin-bottom:3px;font-weight:900;display:block}.error-button small{color:var(--muted);font-size:9px;line-height:1.35;display:block}.activity-feed{gap:7px;display:grid}.activity-row{border:1px solid var(--border);background:var(--panel);border-radius:16px;grid-template-columns:40px minmax(0,1fr) auto 30px;align-items:center;gap:9px;min-height:63px;padding:8px 8px 8px 10px;display:grid}.event-icon{background:var(--accent-soft);width:37px;height:37px;color:var(--accent);border-radius:12px;place-items:center;font-size:18px;font-weight:900;display:grid}.event-icon.small{border-radius:10px;width:32px;height:32px;font-size:15px}.event-copy{flex-direction:column;gap:2px;min-width:0;display:flex}.event-copy strong{font-size:13px}.event-copy span{color:var(--muted);font-size:11px}.activity-row time{color:var(--muted-2);font-size:10px}.delete-event{color:#77897f;cursor:pointer;background:0 0;border:0;border-radius:10px;place-items:center;width:30px;height:30px;font-size:19px;display:grid}.delete-event:hover{background:var(--danger-soft);color:var(--danger)}.undo-button{background:var(--accent-soft);color:var(--accent);border-radius:12px;padding:8px 10px;font-size:11px;font-weight:850}.exercise-strip,.student-filter-strip,.board-toolbar{scrollbar-width:none;-webkit-overflow-scrolling:touch;gap:8px;display:flex;overflow-x:auto}.exercise-strip::-webkit-scrollbar{display:none}.student-filter-strip::-webkit-scrollbar{display:none}.board-toolbar::-webkit-scrollbar{display:none}.exercise-strip{margin:0 -14px 13px;padding:1px 14px 3px}.exercise-chip{border:1px solid var(--border);background:var(--panel);min-width:140px;max-width:175px;color:var(--muted);text-align:left;cursor:pointer;border-radius:14px;padding:10px 12px}.exercise-chip span{text-transform:uppercase;letter-spacing:.08em;margin-bottom:3px;font-size:9px;font-weight:850;display:block}.exercise-chip small{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-weight:800;display:block;overflow:hidden}.exercise-chip.active{background:var(--accent-soft);border-color:#c8ff466b}.exercise-chip.active span{color:var(--accent)}.board-card{margin-top:0;padding:13px}.board-fields{gap:9px;margin-bottom:12px;display:grid}.board-fields label{gap:5px;display:grid}.board-fields label>span{color:var(--muted);font-size:10px;font-weight:800}.board-title-input{font-weight:850}.board-actions{grid-template-columns:repeat(2,1fr);gap:7px;margin-top:12px;display:grid}.board-actions .primary-button{grid-column:1/-1}.court-editor{width:100%}.board-toolbar{margin:0 -13px 8px;padding:2px 13px 4px}.tool-button{border:1px solid var(--border);min-height:57px;color:var(--muted);cursor:pointer;background:#0a1710;border-radius:13px;flex-direction:column;flex:0 0 67px;justify-content:center;align-items:center;gap:3px;display:flex}.tool-button b{font-size:17px;font-weight:700;line-height:1}.tool-button span{font-size:8px;font-weight:800}.tool-button.active{background:var(--accent-soft);color:var(--accent);border-color:#c8ff4666}.board-history-actions{justify-content:flex-end;gap:5px;margin-bottom:8px;display:flex}.board-history-actions button{border:1px solid var(--border);color:var(--muted);background:#0000001f;border-radius:10px;padding:6px 9px;font-size:9px;font-weight:800}.board-history-actions button:disabled{opacity:.3;cursor:default}.court{aspect-ratio:1/1.72;touch-action:none;-webkit-user-select:none;user-select:none;background:linear-gradient(#0000000a,#0000000a),#245d43;border:3px solid #e2ffe8cc;border-radius:12px;width:min(100%,430px);margin:0 auto;position:relative;overflow:hidden;box-shadow:inset 0 0 42px #0000002e,0 12px 30px #0003}.court:after{content:"";pointer-events:none;background:linear-gradient(90deg,#0000,#ffffff06,#0000);position:absolute;inset:0}.court-grid{pointer-events:none;position:absolute;inset:0}.court-net{z-index:2;background:#eef6f0e6;height:3px;position:absolute;top:50%;left:0;right:0;box-shadow:0 2px 7px #0000003d}.court-service{background:#ebf5eeba;height:2px;position:absolute;left:0;right:0}.court-center{background:#ebf5eeba;width:2px;position:absolute;left:50%;transform:translate(-50%)}.court-paths{z-index:4;width:100%;height:100%;color:var(--accent);pointer-events:none;position:absolute;inset:0;overflow:visible}.court-path{fill:none;stroke:currentColor;stroke-width:1.25px;vector-effect:non-scaling-stroke;stroke-linecap:round;stroke-linejoin:round;pointer-events:stroke}.court-path.draw{color:#f5fff6;stroke-width:2.2px}.court-path.arrow{color:var(--accent);stroke-width:2.3px}.board-item{z-index:8;cursor:grab;touch-action:none;border:0;place-items:center;padding:0;display:grid;position:absolute;transform:translate(-50%,-50%)}.board-item.dragging{cursor:grabbing;scale:1.08}.board-item.player{color:#fff;background:#14251d;border:3px solid #fffffff2;border-radius:50%;width:34px;height:34px;box-shadow:0 6px 14px #00000047}.board-item.player span{font-size:11px;font-weight:950}.board-item.cone{filter:drop-shadow(0 4px 4px #00000040);background:0 0;border-bottom:21px solid #ff9c44;border-left:10px solid #0000;border-right:10px solid #0000;width:0;height:0}.board-item.ball{background:#dcff38;border:2px solid #ffffffbf;border-radius:50%;width:16px;height:16px;box-shadow:0 3px 8px #00000040}.court-readonly .board-item{cursor:default;pointer-events:none}.board-hint{color:var(--muted);text-align:center;margin:8px 2px 0;font-size:9px;line-height:1.45}.empty-state{border:1px dashed var(--border-strong);color:var(--muted);text-align:center;background:#ffffff04;border-radius:18px;padding:22px 16px;font-size:12px;line-height:1.5}.empty-state.compact{padding:15px}.empty-state a{color:var(--accent);font-weight:800}.empty-action{cursor:pointer;flex-direction:column;justify-content:center;align-items:center;gap:7px;width:100%;min-height:190px;display:flex}.empty-action b{color:var(--accent);font-size:28px;font-weight:400}.empty-action strong{color:var(--text);font-size:14px}.empty-action span{max-width:280px}.student-list{gap:8px;display:grid}.attendance-button{border-radius:10px;flex:none;min-width:64px;padding:7px 8px;font-size:9px;font-weight:850}.attendance-button.present{background:var(--accent-soft);color:var(--accent)}.attendance-button.absent{background:var(--danger-soft);color:#ff9b9b}.icon-button{border:1px solid var(--border);background:var(--panel);width:38px;height:38px;color:var(--muted);border-radius:12px;place-items:center;font-size:20px;display:grid}.icon-button.small{border-radius:9px;width:31px;height:31px;font-size:16px}.helper-copy{color:var(--muted);margin:-2px 0 12px;font-size:11px;line-height:1.5}.suggestion-list{gap:6px;margin:10px 0;display:grid}.student-suggestion{border:1px solid var(--border);min-height:53px;color:var(--text);text-align:left;cursor:pointer;background:#0000001a;border-radius:14px;align-items:center;gap:10px;padding:8px 10px;display:flex}.student-suggestion>span:nth-child(2){flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.student-suggestion small{color:var(--muted);font-size:9px}.student-suggestion>b{color:var(--accent);font-size:19px}.modal-backdrop{z-index:80;-webkit-backdrop-filter:blur(5px);background:#000000a1;justify-content:center;align-items:flex-end;padding:12px;display:flex;position:fixed;inset:0}.bottom-sheet{width:min(100%,560px);max-height:min(88svh,760px);padding:10px 15px calc(18px + env(safe-area-inset-bottom));border:1px solid var(--border-strong);background:#0c1a13;border-radius:25px;overflow-y:auto;box-shadow:0 -20px 60px #00000080}.sheet-grabber{background:#3a4c42;border-radius:999px;width:38px;height:4px;margin:0 auto 14px}.sheet-title-row{justify-content:space-between;align-items:center;gap:12px;margin-bottom:13px;display:flex}.sheet-title-row h2{margin:0}.student-select-grid{grid-template-columns:repeat(2,1fr);gap:8px;display:grid}.student-select{border:1px solid var(--border);background:var(--panel);min-height:104px;color:var(--text);cursor:pointer;border-radius:18px;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:11px;display:flex;position:relative}.student-select.recent{background:var(--accent-soft);border-color:#c8ff4659}.student-select strong{font-size:13px}.student-select small{background:var(--accent);color:#08100b;border-radius:999px;padding:3px 6px;font-size:7px;font-weight:900;position:absolute;top:7px;right:7px}.form-grid{gap:10px;margin-bottom:13px;display:grid}.form-grid label{color:var(--muted);gap:5px;font-size:10px;font-weight:800;display:grid}.two-columns{grid-template-columns:1fr 1fr;gap:8px;display:grid}.toast{z-index:100;left:50%;bottom:calc(90px + env(safe-area-inset-bottom));max-width:calc(100% - 28px);color:var(--accent);text-align:center;background:#12261bf5;border:1px solid #c8ff4638;border-radius:999px;padding:10px 14px;font-size:11px;font-weight:850;position:fixed;transform:translate(-50%);box-shadow:0 12px 32px #00000059}.public-shell{padding-bottom:40px}.public-header{align-items:center;margin:2px 0 26px}.public-brand span{font-size:12px;font-weight:900;display:block}.public-brand small{color:var(--muted);margin-top:2px;font-size:9px;display:block}.public-hero{margin-bottom:21px}.public-hero h1{margin:4px 0 7px;font-size:clamp(30px,9vw,42px)}.public-hero>p{color:var(--muted);font-size:12px;line-height:1.5}.public-participants{flex-wrap:wrap;gap:6px;margin-top:14px;display:flex}.public-participants>span{border:1px solid var(--border);background:var(--panel);color:#d6dfda;border-radius:999px;align-items:center;gap:5px;padding:5px 8px 5px 5px;font-size:9px;font-weight:750;display:flex}.public-participants i{width:24px;height:24px;font-size:7px}.public-tabs{border:1px solid var(--border);background:#00000024;border-radius:15px;grid-template-columns:repeat(2,1fr);gap:5px;margin-bottom:17px;padding:4px;display:grid}.public-tabs button{min-height:42px;color:var(--muted);background:0 0;border-radius:11px;font-weight:850}.public-tabs button.active{background:var(--panel-3);color:var(--text)}.public-board-card{margin-top:0}.board-public-title{margin:2px 2px 13px}.board-public-title h2{margin-bottom:5px;font-size:22px}.board-public-title p{color:var(--muted);margin-bottom:0;font-size:11px;line-height:1.5}.student-filter-strip{margin:0 -14px 14px;padding:1px 14px 3px}.student-filter{border:1px solid var(--border);background:var(--panel);min-height:37px;color:var(--muted);cursor:pointer;border-radius:999px;flex:none;align-items:center;gap:6px;padding:5px 10px;font-size:10px;font-weight:800;display:flex}.student-filter span{color:#fff;background:#193326;border-radius:50%;place-items:center;width:23px;height:23px;font-size:7px;display:grid}.student-filter.active{background:var(--accent-soft);color:var(--accent);border-color:#c8ff4659}.stats-grid{grid-template-columns:repeat(2,1fr);gap:8px;margin-bottom:18px;display:grid}.stat-card{border:1px solid var(--border);background:var(--panel);border-radius:17px;grid-template-rows:1fr auto;grid-template-columns:auto 1fr;align-items:center;gap:0 10px;min-height:102px;padding:13px;display:grid;position:relative}.stat-card>span{color:var(--accent);grid-row:1/3;font-size:22px}.stat-card strong{align-self:end;font-size:28px}.stat-card small{color:var(--muted);align-self:start;font-size:10px}.full-span{grid-column:1/-1}.public-feed{gap:7px;display:grid}.public-feed-row{border:1px solid var(--border);background:var(--panel);border-radius:15px;grid-template-columns:36px minmax(0,1fr) auto;align-items:center;gap:9px;min-height:55px;padding:8px;display:grid}.public-feed-row>div{flex-direction:column;gap:2px;display:flex}.public-feed-row strong{font-size:12px}.public-feed-row small{color:var(--muted);font-size:10px}.public-feed-row time{color:var(--muted-2);font-size:9px}.public-footer{border-top:1px solid var(--border);color:var(--muted-2);justify-content:space-between;gap:10px;margin-top:28px;padding-top:17px;font-size:9px;display:flex}.public-footer a{color:var(--muted);font-weight:800}.loading-card{color:var(--muted);text-align:center;margin-top:30vh;font-size:12px}@media (min-width:620px){.app-shell{padding-left:24px;padding-right:24px}.hero-actions{grid-template-columns:1.5fr 1fr}.error-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.error-button{min-height:125px}.stats-grid,.settings-error-grid,.student-select-grid{grid-template-columns:repeat(4,1fr)}.student-select{min-height:116px}.status-pill{display:inline-flex}.global-bottom-nav,.class-bottom-nav{width:min(100% - 28px,580px);left:50%;right:auto;transform:translate(-50%)}}@media (min-width:900px){.app-shell{padding-top:28px;padding-bottom:120px}.dashboard-content{width:min(100%,900px);margin:0 auto}.topbar{width:min(100%,900px);margin-left:auto;margin-right:auto}.class-shell{width:min(100%,930px)}.class-content{width:min(100%,820px);margin:0 auto}.class-header,.class-kpis{width:min(100%,820px);margin-left:auto;margin-right:auto}.public-shell{width:min(100%,820px)}.today-hero{padding:28px}.today-hero h2{font-size:34px}.class-card{grid-template-columns:95px minmax(0,1fr) auto auto;padding:13px 16px}.agenda-list,.student-directory{grid-template-columns:repeat(2,minmax(0,1fr))}.form-card{max-width:620px}.board-actions{grid-template-columns:1.5fr 1fr 1fr 1fr}.board-actions .primary-button{grid-column:auto}.court{width:430px}.public-board-card{padding:20px}}.hero-actions.single-action{grid-template-columns:1fr}.auth-shell{background:radial-gradient(circle at 50% -10%, #c8ff461f, transparent 34%), var(--bg);place-items:center;min-height:100svh;padding:24px 16px;display:grid}.auth-brand-mark{background:var(--accent);color:#07110d;border-radius:17px;place-items:center;width:54px;height:54px;margin-bottom:22px;font-size:26px;font-weight:950;display:grid}.auth-card h1{margin:5px 0 8px;font-size:34px}.auth-card>p{color:var(--muted);margin:0 0 22px;font-size:12px;line-height:1.55}.auth-form{gap:12px;display:grid}.auth-form label>span,.settings-form label>span{color:var(--muted);font-size:10px;font-weight:850}.auth-error{color:#ff9e9e;background:#ff464614;border:1px solid #ff646447;border-radius:12px;padding:10px 12px;font-size:11px;font-weight:800}.demo-credentials{border:1px solid var(--border);color:var(--muted);background:#00000026;border-radius:15px;gap:3px;margin-top:18px;padding:13px;font-size:10px;display:grid}.demo-credentials strong{color:var(--text);margin-bottom:3px;font-size:11px}.demo-credentials b{color:var(--accent)}.demo-credentials small{color:var(--muted-2);margin-top:5px;line-height:1.4}.level-sections{gap:24px;display:grid}.level-section{gap:9px;display:grid}.level-heading{justify-content:space-between;align-items:center;padding:0 2px;display:flex}.level-heading>div{align-items:center;gap:8px;display:flex}.level-heading h2{margin:0;font-size:17px}.level-heading>span{border:1px solid var(--border);min-width:27px;height:27px;color:var(--muted);border-radius:999px;place-items:center;font-size:9px;font-weight:900;display:grid}.level-dot{background:var(--muted);border-radius:50%;width:8px;height:8px;box-shadow:0 0 0 4px #ffffff08}.level-dot.novato{background:#7fd6ff}.student-level-pill{border:1px solid var(--border);color:var(--muted);border-radius:999px;flex:none;padding:5px 8px;font-size:8px;font-weight:900}.settings-form{gap:10px;width:100%;display:grid}.security-note{background:#c8ff460f;border-radius:13px;padding:10px 12px;line-height:1.45;color:var(--muted-2)!important;font-size:9px!important}.create-student-inline{gap:9px;margin-top:10px;display:grid}.match-entry-button{width:100%;color:var(--text);text-align:left;cursor:pointer;background:linear-gradient(135deg,#c8ff4629,#102419e0);border:1px solid #c8ff4647;border-radius:18px;grid-template-columns:46px minmax(0,1fr) auto;align-items:center;gap:12px;margin-bottom:20px;padding:12px 14px;display:grid}.match-entry-button:disabled{opacity:.45;cursor:not-allowed}.match-entry-icon{background:var(--accent);color:#07110d;border-radius:14px;place-items:center;width:44px;height:44px;font-size:15px;display:grid}.match-entry-button>span:nth-child(2){flex-direction:column;gap:3px;min-width:0;display:flex}.match-entry-button b{font-size:14px}.match-entry-button small{color:var(--muted);font-size:9px}.match-entry-button>strong{color:var(--accent);font-size:23px}.match-mode{z-index:300;height:100dvh;color:var(--text);touch-action:manipulation;background:radial-gradient(circle at 50% 0,#c8ff4614,#0000 34%),#06100b;grid-template-rows:auto minmax(0,1fr) auto;display:grid;position:fixed;inset:0;overflow:hidden}.match-header{min-height:68px;padding:calc(8px + env(safe-area-inset-top)) 12px 8px;border-bottom:1px solid var(--border);background:#06100bf0;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;display:grid}.match-exit{border:1px solid var(--border);background:var(--panel);min-height:40px;color:var(--text);border-radius:12px;padding:0 12px;font-size:10px;font-weight:850}.match-header-copy{text-align:center;flex-direction:column;align-items:center;gap:2px;min-width:0;display:flex}.match-header-copy strong{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:13px;overflow:hidden}.match-counter{background:var(--accent-soft);min-width:40px;height:40px;color:var(--accent);border-radius:12px;place-items:center;font-size:13px;font-weight:950;display:grid}.match-stage{grid-template-rows:auto minmax(0,1fr);gap:10px;min-height:0;padding:10px 10px 8px;display:grid}.match-stage.players-stage{grid-template-rows:auto minmax(0,1fr) auto}.match-instruction{align-items:center;gap:10px;padding:4px 2px;display:flex}.match-instruction>span{background:var(--accent);color:#07110d;border-radius:50%;place-items:center;width:28px;height:28px;font-size:11px;font-weight:950;display:grid}.match-instruction>div{flex-direction:column;gap:1px;display:flex}.match-instruction strong{font-size:12px}.match-instruction small{color:var(--muted);font-size:8px}.match-error-grid{grid-template-rows:repeat(4,minmax(0,1fr));grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;min-height:0;display:grid}.match-error-button{border:1px solid var(--border);min-height:0;color:var(--text);cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;background:linear-gradient(145deg,#12251b,#09170f);border-radius:17px;flex-direction:column;justify-content:center;align-items:center;gap:7px;padding:8px;display:flex}.match-error-button:active{background:var(--accent-soft);transform:scale(.985)}.match-error-button b{color:var(--accent);font-size:clamp(23px,7vw,35px);font-weight:600;line-height:1}.match-error-button span{font-size:clamp(12px,3.7vw,18px);font-weight:950}.match-player-grid{grid-template-rows:repeat(2,minmax(0,1fr));grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;min-height:0;display:grid}.match-player-button{border:1px solid var(--border);min-height:0;color:var(--text);cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;background:linear-gradient(145deg,#102219,#0a1711);border-radius:20px;flex-direction:column;justify-content:center;align-items:center;gap:7px;padding:10px;display:flex;position:relative}.match-player-button:active{background:var(--accent-soft);border-color:#c8ff4673;transform:scale(.988)}.match-player-button.empty-slot{opacity:.3;cursor:default}.match-player-position{border:1px solid var(--border);width:25px;height:25px;color:var(--muted);border-radius:8px;place-items:center;font-size:9px;font-weight:900;display:grid;position:absolute;top:9px;left:10px}.match-player-avatar{background:var(--accent);color:#07110d;border-radius:50%;place-items:center;width:clamp(54px,16vw,82px);height:clamp(54px,16vw,82px);font-size:clamp(15px,5vw,23px);font-weight:950;display:grid}.match-player-button strong{text-align:center;text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:clamp(15px,4.7vw,23px);overflow:hidden}.match-player-button small{color:var(--muted);font-size:9px;font-weight:800}.match-back-error{border:1px solid var(--border);background:var(--panel);min-height:43px;color:var(--text);border-radius:13px;font-size:10px;font-weight:900}.match-footer{min-height:38px;padding:7px 12px calc(7px + env(safe-area-inset-bottom));border-top:1px solid var(--border);color:var(--muted);justify-content:space-between;align-items:center;gap:10px;font-size:8px;font-weight:800;display:flex}@media (min-width:700px){.auth-card{padding:34px}.level-sections{gap:30px}.match-mode{background-color:#06100b;padding-left:max(0px,50vw - 380px);padding-right:max(0px,50vw - 380px)}.match-error-button b{font-size:34px}.match-error-button span{font-size:18px}.match-player-button strong{font-size:23px}}.match-counter{cursor:pointer;border:1px solid #c8ff4638;grid-auto-flow:row;gap:0;min-width:54px;height:44px;padding:5px 8px;line-height:1}.match-counter strong{font-size:14px;font-weight:950}.match-counter small{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;margin-top:2px;font-size:7px;font-weight:850}.match-counter:active{background:#c8ff462e;transform:scale(.97)}.match-history-backdrop{z-index:380;padding-top:max(20px, env(safe-area-inset-top));-webkit-backdrop-filter:blur(8px);background:#010704a8;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.match-history-sheet{width:min(100%,620px);max-height:min(82dvh,760px);padding:8px 12px calc(14px + env(safe-area-inset-bottom));border:1px solid var(--border-strong);background:linear-gradient(#102119 0%,#07110c 100%);border-bottom:0;border-radius:26px 26px 0 0;grid-template-rows:auto auto minmax(0,1fr);display:grid;box-shadow:0 -20px 70px #00000073}.match-history-grabber{background:#ffffff2e;border-radius:999px;width:42px;height:4px;margin:2px auto 10px}.match-history-header{justify-content:space-between;align-items:flex-start;gap:14px;padding:4px 2px 12px;display:flex}.match-history-header h2{margin:0 0 5px;font-size:22px}.match-history-header p{color:var(--muted);margin:0;font-size:10px;line-height:1.45}.match-history-header>button{border:1px solid var(--border);background:var(--panel);width:38px;height:38px;color:var(--text);cursor:pointer;border-radius:12px;font-size:20px}.match-history-summary{border:1px solid var(--border);background:#ffffff06;border-radius:15px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;margin-bottom:10px;padding:10px 11px;display:grid}.match-history-summary>strong{color:var(--accent);font-size:20px}.match-history-summary>span{color:var(--muted);font-size:9px;font-weight:800}.match-history-summary>button{background:var(--accent-soft);color:var(--accent);cursor:pointer;border:0;border-radius:10px;padding:8px 9px;font-size:8px;font-weight:900}.match-history-list{overscroll-behavior:contain;align-content:start;gap:7px;min-height:0;padding-bottom:4px;display:grid;overflow-y:auto}.match-history-row{border:1px solid var(--border);background:#ffffff06;border-radius:14px;grid-template-columns:39px minmax(0,1fr) 38px;align-items:center;gap:9px;padding:9px;display:grid}.match-history-icon{background:var(--accent-soft);width:39px;height:39px;color:var(--accent);border-radius:12px;place-items:center;font-size:18px;font-weight:900;display:grid}.match-history-row>div{flex-direction:column;gap:2px;min-width:0;display:flex}.match-history-row strong{text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.match-history-row small{color:var(--muted);font-size:9px}.match-history-delete{width:36px;height:36px;color:var(--muted);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:11px;font-size:20px}.match-history-delete:active{background:var(--danger-soft);color:var(--danger);border-color:#ff7d7d38}.match-history-empty{color:var(--muted);text-align:center;padding:28px 16px;font-size:11px}.board-card{overflow:visible}.court-editor{width:100%;position:relative}.board-editor-topline{justify-content:space-between;align-items:center;gap:12px;margin-bottom:9px;display:flex}.board-editor-topline>div:first-child{flex-direction:column;gap:2px;min-width:0;display:flex}.board-editor-topline strong{font-size:12px}.board-editor-topline small{color:var(--muted);font-size:8px}.board-top-actions{gap:5px;display:flex}.board-utility-button{border:1px solid var(--border);width:35px;height:35px;color:var(--text);cursor:pointer;background:#00000024;border-radius:10px;place-items:center;font-size:14px;font-weight:900;display:grid}.board-utility-button:disabled{opacity:.28;cursor:default}.board-utility-button.expand{color:var(--accent)}.board-toolbar.professional{margin:0 -13px 10px;padding:2px 13px 5px}.board-toolbar.professional .tool-button{flex-basis:72px;min-height:59px}.board-toolbar.professional .tool-button b{font-size:18px}.board-toolbar.professional .tool-button span{font-size:7.5px}.court-workspace{grid-template-columns:minmax(0,1fr) 220px;align-items:start;gap:10px;display:grid;position:relative}.court-workspace.is-readonly{grid-template-columns:minmax(0,1fr)}.court{aspect-ratio:1/1.86;background:radial-gradient(circle at 50% 46%,#ffffff0b,#0000 44%),linear-gradient(#07392a38,#0000000f),#245d43;border:4px solid #e2ffe8c2;border-radius:10px;width:100%;min-width:0;box-shadow:inset 0 0 60px #00000029,0 16px 38px #0000003d}.court-glass{z-index:1;pointer-events:none;border:1px solid #d7f7eb38;border-radius:5px;position:absolute;inset:1.7%;box-shadow:inset 0 0 20px #dcfff106}.court:before{content:"";z-index:1;pointer-events:none;opacity:.6;background:repeating-linear-gradient(90deg,#0000 0 9.5%,#ffffff04 9.5% 10%);position:absolute;inset:0}.court-net{background:#f0f8f3e6;height:4px;box-shadow:0 2px 8px #00000052}.court-net span{background:#ffffffd6;width:2px;height:11px;position:absolute;top:-4px;left:50%;transform:translate(-50%)}.court-service.top{top:35%}.court-service.bottom{bottom:35%}.court-center.top{height:35%;top:0}.court-center.bottom{height:35%;bottom:0}.court-paths{z-index:5}.court-path{stroke-width:2.1px}.court-path.movement{color:#f5faf7f0;stroke-width:2.1px;stroke-dasharray:4.5 3.2}.court-path.shot{color:var(--accent);stroke-width:2.6px}.court-path.note,.court-path.draw{color:#fff;stroke-width:2.1px;opacity:.92}.court.erase-mode .court-path{pointer-events:stroke;cursor:crosshair}.board-item{z-index:10;transition:box-shadow .12s,scale .12s,border-color .12s}.board-item.player{border-width:3px;width:38px;height:38px}.board-item.player.team-a{color:#07110d;background:linear-gradient(145deg,#c8ff46,#96d61f);border-color:#ffffffe6}.board-item.player.team-b{color:#051117;background:linear-gradient(145deg,#6dd8ff,#3fa8d2);border-color:#ffffffeb}.board-item.player span{text-overflow:ellipsis;white-space:nowrap;max-width:30px;font-size:10px;overflow:hidden}.board-item.selected{scale:1.06;box-shadow:0 0 0 4px #ffffff29,0 0 0 7px #c8ff464d,0 9px 20px #00000052}.board-item.cone.selected{filter:drop-shadow(0 0 7px #c8ff46bf)}.board-item.ball.selected{box-shadow:0 0 0 4px #ffffff2b,0 0 0 7px #c8ff464d}.board-inspector{border:1px solid var(--border);background:linear-gradient(145deg,#11231af7,#08140ef7);border-radius:16px;grid-area:1/2;min-width:0;min-height:162px;padding:12px;position:sticky;top:12px;box-shadow:0 12px 30px #0000002e}.board-inspector-title{justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px;display:flex}.board-inspector-title>div{flex-direction:column;gap:2px;display:flex}.board-inspector-title span{color:var(--muted);text-transform:uppercase;letter-spacing:.1em;font-size:8px;font-weight:850}.board-inspector-title strong{font-size:12px}.board-inspector-title>button{width:30px;height:30px;color:var(--muted);cursor:pointer;background:#ffffff0b;border:0;border-radius:9px;font-size:17px}.board-inspector-field{gap:5px;margin-bottom:9px;display:grid}.board-inspector-field>span,.board-team-picker>span{color:var(--muted);font-size:8px;font-weight:850}.board-inspector-field input{border:1px solid var(--border);width:100%;min-height:39px;color:var(--text);background:#00000029;border-radius:11px;outline:none;padding:8px 10px}.board-inspector-field input:focus{border-color:#c8ff4666}.board-team-picker{justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px;display:flex}.board-team-picker>div{gap:6px;display:flex}.board-team-picker button{border:1px solid var(--border);min-width:38px;height:34px;color:var(--muted);cursor:pointer;background:#00000024;border-radius:10px;font-weight:900}.board-team-picker button.active.team-a{color:var(--accent);background:#c8ff4621;border-color:#c8ff468c}.board-team-picker button.active.team-b{color:#78dbff;background:#6dd8ff1f;border-color:#6dd8ff8c}.board-inspector-actions{grid-template-columns:1fr 1fr;gap:7px;display:grid}.board-inspector-actions button{border:1px solid var(--border);min-height:38px;color:var(--text);cursor:pointer;background:#ffffff09;border-radius:11px;font-size:9px;font-weight:850}.board-inspector-actions button.danger{color:#ff9b9b}.board-inspector-empty{flex-direction:column;justify-content:center;gap:6px;min-height:136px;padding:4px 2px;display:flex}.board-inspector-empty span{color:var(--muted-2);text-transform:uppercase;letter-spacing:.12em;font-size:7px;font-weight:900}.board-inspector-empty strong{font-size:11px;line-height:1.25}.board-inspector-empty p{color:var(--muted);margin:0;font-size:8px;line-height:1.45}.board-legend{border:1px solid var(--border);background:#0000001c;border-radius:13px;flex-wrap:wrap;gap:7px 12px;margin-top:9px;padding:9px 10px;display:flex}.board-legend span{color:var(--muted);align-items:center;gap:5px;font-size:7.5px;font-weight:800;display:flex}.legend-line{border-top:2px solid var(--accent);width:18px;height:0}.legend-line.movement{border-top-style:dashed;border-top-color:#f5faf7e6}.legend-player{background:var(--accent);border-radius:50%;width:9px;height:9px}.legend-player.team-b{background:#6dd8ff}.court-editor.is-expanded{z-index:420;padding:calc(10px + env(safe-area-inset-top)) 10px calc(10px + env(safe-area-inset-bottom));background:radial-gradient(circle at 50% -10%,#468c5f29,#0000 34rem),#06100b;grid-template-rows:auto auto minmax(0,1fr) auto;display:grid;position:fixed;inset:0;overflow:hidden}.court-editor.is-expanded .board-editor-topline{margin-bottom:7px}.court-editor.is-expanded .board-toolbar.professional{margin:0 -10px 8px;padding-left:10px;padding-right:10px}.court-editor.is-expanded .court-workspace{grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(0,1fr);place-items:center;min-height:0;display:grid;overflow:hidden}.court-editor.is-expanded .court{aspect-ratio:1/1.86;grid-area:1/1;width:auto;max-width:100%;height:100%;max-height:100%}.court-editor.is-expanded .board-inspector{z-index:30;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);width:min(250px,100% - 24px);max-height:calc(100% - 24px);position:absolute;top:12px;right:12px;overflow-y:auto;box-shadow:0 18px 48px #00000075}.court-editor.is-expanded .board-legend{margin-top:7px}@media (max-width:699px){.court-workspace.has-sidebar{grid-template-columns:minmax(0,1fr) 136px;gap:8px}.court-workspace.is-readonly{grid-template-columns:minmax(0,1fr)}.court-workspace .court{grid-area:1/1;width:100%;margin:0;transform:none}.court-workspace .board-inspector{border-radius:14px;grid-area:1/2;align-self:start;padding:10px;position:sticky;top:8px}.board-inspector-title{gap:6px;margin-bottom:8px}.board-inspector-title strong{font-size:10px}.board-inspector-title span{font-size:7px}.board-inspector-title>button{border-radius:8px;width:27px;height:27px}.board-inspector-field>span,.board-team-picker>span{font-size:7px}.board-inspector-field input{min-height:35px;padding:7px 8px;font-size:11px}.board-team-picker{flex-direction:column;align-items:flex-start;gap:6px}.board-team-picker>div{width:100%}.board-team-picker button{flex:1;min-width:0;height:32px}.board-inspector-actions{grid-template-columns:1fr;gap:6px}.board-inspector-actions button{min-height:34px;padding:6px;font-size:8px}.board-inspector-empty{min-height:118px}.court-editor.is-expanded .court-workspace,.court-editor.is-expanded .court-workspace.has-sidebar{grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(0,1fr);overflow:hidden}.court-editor.is-expanded .court{place-self:center;width:auto;max-width:100%;height:100%;max-height:100%}.court-editor.is-expanded .board-inspector{width:min(180px,100% - 20px);max-height:min(62vh,430px);padding:10px;top:10px;right:10px}}@media (min-width:700px){.match-history-backdrop{align-items:center;padding:30px}.match-history-sheet{border-bottom:1px solid var(--border-strong);border-radius:26px}.court-workspace.has-sidebar{grid-template-columns:minmax(0,1fr) 220px}.court-editor.is-expanded{padding-left:max(16px,50vw - 450px);padding-right:max(16px,50vw - 450px)}}.luxury-landing{min-height:100svh;padding:max(20px, env(safe-area-inset-top)) clamp(18px, 5vw, 72px) max(24px, env(safe-area-inset-bottom));background:radial-gradient(circle at 62% 18%,#c8ff461c,#0000 25rem),radial-gradient(circle at 10% 80%,#41735a29,#0000 34rem),#050a07;position:relative;overflow:hidden}.landing-noise{opacity:.13;pointer-events:none;background-image:linear-gradient(#ffffff05 1px,#0000 1px),linear-gradient(90deg,#ffffff05 1px,#0000 1px);background-size:34px 34px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000,#0000 75%);mask-image:linear-gradient(#000,#0000 75%)}.landing-glow{filter:blur(80px);pointer-events:none;opacity:.4;border-radius:50%;position:absolute}.glow-a{background:#c8ff461f;width:28rem;height:28rem;top:5rem;right:-10rem}.glow-b{background:#47896624;width:32rem;height:32rem;bottom:-12rem;left:-18rem}.landing-header,.landing-footer{z-index:3;justify-content:space-between;align-items:center;gap:20px;display:flex;position:relative}.landing-header{margin-bottom:18px}.landing-brand{letter-spacing:.18em;align-items:center;gap:9px;font-size:12px;display:flex}.brand-dot{color:var(--accent);filter:drop-shadow(0 0 8px #c8ff4699);font-size:11px}.landing-version{color:var(--muted-2);letter-spacing:.16em;font-size:10px}.landing-hero{z-index:2;grid-template-columns:minmax(280px,.9fr) minmax(320px,1.1fr);align-items:center;gap:clamp(24px,5vw,80px);max-width:1300px;min-height:54vh;margin:0 auto;display:grid;position:relative}.landing-copy{opacity:0;transition:opacity .8s .25s,transform .8s cubic-bezier(.2,.8,.2,1) .25s;transform:translateY(18px)}.is-ready .landing-copy{opacity:1;transform:none}.landing-kicker{color:var(--accent);letter-spacing:.25em;font-size:10px;font-weight:850}.landing-copy h1{letter-spacing:-.065em;max-width:720px;margin:16px 0 18px;font-size:clamp(52px,8vw,108px);font-weight:800;line-height:.88}.landing-copy h1 em{color:#0000;-webkit-text-stroke:1px #f4f8f58c;font-style:normal}.landing-copy p{color:#9caf9f;max-width:580px;margin:0;font-size:clamp(14px,1.8vw,18px);line-height:1.7}.racket-stage{perspective:900px;opacity:0;place-items:center;min-height:430px;transition:opacity .9s,transform 1.1s cubic-bezier(.2,.8,.2,1);display:grid;position:relative;transform:scale(.9)}.is-ready .racket-stage{opacity:1;transform:none}.racket-object{filter:drop-shadow(0 28px 34px #00000080);width:210px;height:390px;animation:5.5s ease-in-out infinite racketFloat;position:relative;transform:rotate(-18deg)rotateY(-14deg)}.racket-head{background:radial-gradient(circle at 35% 28%,#26362d 0,#121b16 48%,#080d0a 100%);border:10px solid #111a15;border-radius:48% 48% 44% 44%;width:205px;height:245px;position:absolute;top:0;left:50%;transform:translate(-50%);box-shadow:inset 0 0 0 2px #c8ff4666,inset 0 0 60px #c8ff460d}.racket-head:after{content:"PC";text-align:center;color:#c8ff46b8;letter-spacing:.12em;font-size:20px;font-weight:950;position:absolute;inset:auto 0 25px}.racket-hole-grid{grid-template-columns:repeat(5,1fr);align-content:center;justify-items:center;gap:11px;display:grid;position:absolute;inset:28px 29px 58px}.racket-hole-grid i{background:#030604;border-radius:50%;width:9px;height:9px;box-shadow:inset 0 0 0 1px #ffffff14}.racket-throat{clip-path:polygon(18% 0,82% 0,66% 100%,34% 100%);background:linear-gradient(90deg,#0e1712,#223126,#0c130f);width:45px;height:58px;position:absolute;top:225px;left:50%;transform:translate(-50%)}.racket-handle{background:#101713;border-radius:7px 7px 12px 12px;width:38px;height:116px;position:absolute;top:274px;left:50%;overflow:hidden;transform:translate(-50%)rotate(1deg);box-shadow:inset 0 0 0 2px #ffffff0d}.racket-handle i{border-bottom:4px solid #c8ff4630;height:20px;display:block;transform:skewY(-8deg)}.racket-shadow{filter:blur(18px);background:#0000008c;border-radius:50%;width:210px;height:46px;position:absolute;transform:translate(12px,175px)}.racket-orbit{border:1px solid #c8ff4624;border-radius:50%;position:absolute}.orbit-one{width:340px;height:340px;animation:4s ease-in-out infinite orbitPulse}.orbit-two{border-color:#ffffff0d;width:460px;height:460px;animation:5s ease-in-out infinite reverse orbitPulse}@keyframes racketFloat{0%,to{transform:rotate(-18deg)rotateY(-14deg)translateY(0)}50%{transform:rotate(-15deg)rotateY(-9deg)translateY(-14px)}}@keyframes orbitPulse{0%,to{opacity:.38;transform:scale(.96)}50%{opacity:.75;transform:scale(1.02)}}.entry-split{z-index:4;grid-template-columns:1fr 1fr;gap:12px;max-width:1300px;margin:0 auto 28px;display:grid;position:relative}.entry-card{background:linear-gradient(145deg,#111f17f0,#070e0af5);border:1px solid #ffffff14;border-radius:24px;grid-template-columns:auto 1fr auto;align-items:end;gap:18px;min-height:190px;padding:26px;transition:transform .25s,border-color .25s,background .25s;display:grid;position:relative;overflow:hidden}.entry-card:before{content:"";background:radial-gradient(circle,#c8ff4614,#0000 65%);height:220px;position:absolute;inset:auto -25% -80% 35%}.entry-card:hover{border-color:#c8ff4640;transform:translateY(-3px)}.student-entry{background:linear-gradient(145deg,#161c19eb,#090c0af5)}.entry-number{color:#4c5d53;letter-spacing:.13em;align-self:start;font-size:11px}.entry-card h2{margin:3px 0 7px;font-size:clamp(22px,3vw,34px)}.entry-card p{max-width:540px;color:var(--muted);margin:0;line-height:1.55}.entry-arrow{border:1px solid var(--border-strong);width:48px;height:48px;color:var(--accent);border-radius:50%;place-items:center;font-size:20px;display:grid}.landing-footer{color:var(--muted-2);letter-spacing:.1em;font-size:10px}.landing-footer a{color:#b9c7be}.auth-shell{min-height:100svh;padding:max(22px,env(safe-area-inset-top)) 16px max(22px,env(safe-area-inset-bottom));background:radial-gradient(circle at 50% -10%,#c8ff461a,#0000 28rem),#060c08;place-items:center;display:grid}.premium-auth-shell{position:relative}.floating-back{top:max(18px,env(safe-area-inset-top));color:var(--muted);z-index:5;font-size:13px;position:fixed;left:18px}.auth-card{border:1px solid var(--border);background:#0a140ef0;border-radius:28px;width:min(100%,500px);padding:28px;box-shadow:0 34px 100px #00000061}.auth-card-centered{text-align:center}.premium-auth-card{background:linear-gradient(160deg,#0f1b13fa,#060c08fa);width:min(100%,520px)}.register-card{width:min(100%,620px);margin:48px 0}.auth-brand-row{align-items:center;gap:12px;margin-bottom:38px;display:flex}.auth-brand-row>div:last-child{letter-spacing:.2em;color:var(--muted);flex-direction:column;font-size:9px;display:flex}.auth-brand-row strong{color:var(--text);font-size:13px}.brand-symbol{width:46px;height:46px;color:var(--accent);background:#0f2117;border:1px solid #c8ff4642;border-radius:15px;place-items:center;font-size:22px;display:grid}.premium-auth-card h1{margin:8px 0 13px;font-size:clamp(38px,9vw,58px);line-height:.95}.premium-auth-card>p{color:var(--muted);line-height:1.6}.auth-form{gap:15px;margin-top:26px;display:grid}.auth-form label,.settings-form label{gap:7px;display:grid}.auth-form label>span,.settings-form label>span{color:#aab9b0;letter-spacing:.04em;font-size:11px;font-weight:800}.auth-submit{min-height:55px;margin-top:4px}.inline-error{color:#ffc0c0;background:#ff7d7d14;border:1px solid #ff7d7d3b;border-radius:13px;padding:12px 14px;font-size:12px}.auth-switch{text-align:center;font-size:12px;margin:22px 0 0!important}.auth-switch a{color:var(--accent);font-weight:800}.demo-credentials{color:var(--muted);justify-content:center;align-items:center;gap:12px;margin-top:16px;font-size:11px;display:flex}.demo-credentials span{background:var(--accent-soft);color:var(--accent);border-radius:99px;padding:3px 7px;font-weight:900}.demo-credentials i{font-style:normal}.profile-input-wrap{border:1px solid var(--border);background:#09130e;border-radius:14px;align-items:center;gap:3px;min-height:48px;padding:0 12px;display:flex}.profile-input-wrap:focus-within{border-color:#c8ff4666}.profile-input-wrap b{color:var(--muted)}.profile-input-wrap input{min-width:0;color:var(--text);background:0 0;border:0;outline:0;flex:1}.profile-input-wrap i{color:var(--muted);font-size:10px;font-style:normal}.profile-input-wrap.available i{color:var(--accent)}.profile-input-wrap.taken{border-color:#ff7d7d59}.profile-input-wrap.taken i{color:var(--danger)}.auth-divider{color:var(--muted);letter-spacing:.15em;text-transform:uppercase;align-items:center;gap:12px;margin:8px 0 0;font-size:10px;display:flex}.auth-divider:before,.auth-divider:after{content:"";background:var(--border);flex:1;height:1px}.club-picker{gap:8px;max-height:235px;padding-right:2px;display:grid;overflow:auto}.club-picker button{border:1px solid var(--border);width:100%;color:var(--text);text-align:left;cursor:pointer;background:#09140e;border-radius:14px;justify-content:space-between;align-items:center;gap:12px;padding:14px;display:flex}.club-picker button.selected{background:var(--accent-soft);border-color:#c8ff4666}.club-picker span{flex-direction:column;gap:3px;display:flex}.club-picker small{color:var(--muted)}.club-picker i{color:var(--accent);font-style:normal}.new-club-box{border:1px solid var(--border);background:#ffffff05;border-radius:16px;gap:13px;padding:15px;display:grid}.student-shell{width:min(100%,920px);min-height:100svh;padding:max(18px,env(safe-area-inset-top)) 16px calc(48px + env(safe-area-inset-bottom));margin:0 auto}.student-topbar{color:var(--muted);letter-spacing:.15em;justify-content:space-between;align-items:center;margin-bottom:30px;font-size:10px;display:flex}.student-intro{max-width:680px;margin:36px 0 28px}.student-intro h1,.club-hero h1,.player-profile-hero h1{margin:5px 0 10px;font-size:clamp(38px,9vw,66px);line-height:.98}.student-intro p,.club-hero p,.player-profile-hero p{color:var(--muted);line-height:1.6}.student-search{border:1px solid var(--border);background:#0a1610;border-radius:17px;align-items:center;gap:10px;min-height:54px;margin-bottom:20px;padding:0 16px;display:flex}.student-search.compact{min-height:46px;margin-bottom:12px}.student-search span{color:var(--accent);font-size:20px}.student-search input{min-width:0;color:var(--text);background:0 0;border:0;outline:0;flex:1}.club-browser{gap:10px;display:grid}.club-browser-card{border:1px solid var(--border);background:linear-gradient(145deg,#0c1a13,#08110c);border-radius:20px;grid-template-columns:auto 1fr auto;align-items:center;gap:16px;padding:19px;transition:all .2s;display:grid}.club-browser-card:hover{border-color:#c8ff463d;transform:translate(3px)}.club-card-index{color:#53655a;letter-spacing:.12em;font-size:10px}.club-card-main{flex-direction:column;gap:3px;display:flex}.club-card-main strong{font-size:17px}.club-card-main span{color:#b2c1b7;font-size:12px}.club-card-main small{color:var(--muted-2);font-size:10px}.club-browser-card>i{color:var(--accent);font-size:21px;font-style:normal}.student-tip{border:1px solid var(--border);background:#ffffff05;border-radius:16px;align-items:flex-start;gap:12px;margin:24px 0;padding:15px;display:flex}.student-tip>span{background:var(--accent);color:#07100b;border-radius:7px;padding:4px 7px;font-size:9px;font-weight:950}.student-tip p{color:var(--muted);margin:0;font-size:11px;line-height:1.55}.club-hero{align-items:center;gap:18px;margin:12px 0 24px;display:flex}.club-monogram{width:72px;height:72px;color:var(--accent);background:linear-gradient(145deg,#173321,#0a1710);border:1px solid #c8ff4640;border-radius:22px;flex:none;place-items:center;font-size:20px;font-weight:950;display:grid}.club-hero h1{font-size:clamp(32px,7vw,52px)}.club-hero p{margin:0;font-size:12px}.student-tabs{border:1px solid var(--border);top:max(8px,env(safe-area-inset-top));z-index:10;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#08110c;border-radius:15px;grid-template-columns:repeat(3,1fr);gap:4px;padding:4px;display:grid;position:sticky}.student-tabs button{min-height:42px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:11px;font-size:11px;font-weight:850}.student-tabs button.active{color:var(--text);background:#17261e;box-shadow:inset 0 0 0 1px #ffffff0d}.student-tab-content{padding-top:26px}.student-section-heading{justify-content:space-between;align-items:end;gap:16px;margin-bottom:14px;display:flex}.student-section-heading h2{margin:0;font-size:27px}.student-class-list,.player-browser-list,.profile-session-list{gap:9px;display:grid}.student-class-card{border:1px solid var(--border);background:#0b1811;border-radius:18px;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;padding:16px;display:grid}.class-time-block{flex-direction:column;min-width:70px;display:flex}.class-time-block strong{color:var(--accent);font-size:19px}.class-time-block span{color:var(--muted-2);font-size:9px}.student-class-copy{flex-direction:column;gap:3px;display:flex}.student-class-copy span{color:#a9b9af;font-size:11px}.student-class-copy small{color:var(--muted-2);font-size:9px}.status-dot{background:#526258;border-radius:50%;width:9px;height:9px}.status-dot.live{background:var(--accent);box-shadow:0 0 12px #c8ff4680}.status-dot.completed{background:#557065}.teacher-browser-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.teacher-browser-card{border:1px solid var(--border);color:var(--text);text-align:left;cursor:pointer;background:#0a1710;border-radius:18px;flex-direction:column;align-items:flex-start;padding:18px;display:flex}.teacher-browser-avatar,.player-avatar,.profile-avatar-xl{border:1px solid var(--border-strong);background:linear-gradient(145deg,#1b3628,#0b1710);border-radius:50%;place-items:center;font-weight:900;display:grid}.teacher-browser-avatar{width:46px;height:46px;margin-bottom:14px}.teacher-browser-card span,.teacher-browser-card small{color:var(--muted);margin-top:4px}.teacher-browser-card i{color:var(--accent);margin-top:16px;font-size:10px;font-style:normal;font-weight:900}.teacher-filter-row{scrollbar-width:none;gap:7px;padding-bottom:12px;display:flex;overflow:auto}.teacher-filter-row button{border:1px solid var(--border);color:var(--muted);background:#0a1510;border-radius:99px;flex:none;padding:8px 11px;font-size:10px;font-weight:800}.teacher-filter-row button.active{background:var(--accent);color:#07100a;border-color:var(--accent)}.player-browser-card{border:1px solid var(--border);background:#0a1710;border-radius:17px;grid-template-columns:auto 1fr auto;align-items:center;gap:13px;padding:14px;display:grid}.player-avatar{width:43px;height:43px;font-size:11px}.player-browser-card>div:nth-child(2){flex-direction:column;gap:2px;display:flex}.player-browser-card span{color:#a9b8af;font-size:11px}.player-browser-card small{color:var(--muted-2);font-size:9px}.player-browser-card>i{color:var(--accent);font-style:normal}.player-profile-hero{grid-template-columns:auto 1fr auto;align-items:center;gap:16px;margin:20px 0 22px;display:grid}.profile-avatar-xl{width:76px;height:76px;color:var(--accent);font-size:20px}.player-profile-hero h1{font-size:clamp(34px,8vw,54px)}.player-profile-hero p{margin:0;font-size:11px}.profile-qr-stub{width:54px;height:54px;color:var(--accent);border:1px dashed #c8ff4659;border-radius:13px;place-items:center;display:grid}.profile-qr-stub span{font-size:11px;font-weight:950}.profile-qr-stub small{color:var(--muted);font-size:8px}.profile-summary-grid{grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:10px;display:grid}.profile-summary-grid>div{border:1px solid var(--border);background:#0a1710;border-radius:16px;padding:15px}.profile-summary-grid span{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:9px;display:block}.profile-summary-grid strong{margin-top:7px;font-size:22px;display:block}.profile-highlight-card{background:radial-gradient(circle at 90% 10%,#c8ff4614,#0000 45%),#0b1811;border:1px solid #c8ff4629;border-radius:22px;margin:10px 0 24px;padding:23px}.profile-highlight-card>strong{color:var(--accent);letter-spacing:-.05em;margin:7px 0 0;font-size:46px;display:block}.profile-highlight-card>strong.negative{color:var(--warning)}.profile-highlight-card h2{margin:0 0 8px;font-size:21px}.profile-highlight-card p{color:var(--muted);margin:0;font-size:11px;line-height:1.55}.profile-section{margin:26px 0}.error-progress-list{gap:12px;display:grid}.error-progress-row{grid-template-columns:auto 1fr;align-items:center;gap:11px;display:grid}.error-progress-icon{border:1px solid var(--border);width:38px;height:38px;color:var(--accent);background:#0d1c14;border-radius:12px;place-items:center;display:grid}.error-progress-copy{justify-content:space-between;gap:10px;margin-bottom:7px;font-size:11px;display:flex}.error-progress-copy span{color:var(--muted)}.progress-track{background:#16231c;border-radius:99px;height:5px;overflow:hidden}.progress-track i{border-radius:inherit;background:linear-gradient(90deg,var(--accent),#77a928);height:100%;display:block}.profile-session-row{border-bottom:1px solid var(--border);grid-template-columns:75px 1fr auto;align-items:center;gap:12px;padding:14px 0;display:grid}.profile-session-row>div{flex-direction:column;gap:2px;display:flex}.profile-session-row span{color:var(--muted);font-size:10px}.profile-session-row i{color:var(--accent);font-style:normal}.profile-share-card{border:1px solid var(--border);background:#09140e;border-radius:18px;gap:13px;padding:20px;display:grid}.profile-share-card h2{margin:0 0 6px}.profile-share-card p{color:var(--muted);margin:0;font-size:11px;line-height:1.55}.profile-share-card code{color:var(--accent);background:#050a07;border-radius:12px;padding:12px;font-size:10px;display:block;overflow:auto}.public-teacher-line{color:#9eafa4;margin-top:10px;font-size:11px;line-height:1.55}@media (max-width:760px){.luxury-landing{padding-inline:16px}.landing-header{margin-bottom:0}.landing-hero{grid-template-columns:1fr;gap:0;min-height:auto}.racket-stage{order:0;min-height:300px;margin:-8px 0 -24px;transform:scale(.78)}.racket-object{width:165px;height:310px;transform:rotate(-15deg)rotateY(-8deg)}.racket-head{border-width:8px;width:165px;height:198px}.racket-hole-grid{gap:8px;inset:24px 26px 50px}.racket-hole-grid i{width:7px;height:7px}.racket-throat{width:37px;height:47px;top:181px}.racket-handle{width:31px;height:92px;top:222px}.orbit-one{width:250px;height:250px}.orbit-two{width:320px;height:320px}.landing-copy{text-align:left;padding:0 3px 23px}.landing-copy h1{font-size:clamp(48px,15vw,72px)}.landing-copy p{font-size:13px}.entry-split{grid-template-columns:1fr;gap:8px}.entry-card{grid-template-columns:auto 1fr auto;min-height:142px;padding:18px}.entry-card h2{font-size:22px}.entry-card p{font-size:11px}.entry-arrow{width:39px;height:39px}.landing-footer{margin-top:24px}.teacher-browser-grid{grid-template-columns:1fr}.club-hero{align-items:flex-start}.club-monogram{border-radius:18px;width:58px;height:58px}.player-profile-hero{grid-template-columns:auto 1fr}.profile-qr-stub{grid-column:1/-1;grid-auto-flow:column;justify-content:center;gap:8px;width:100%;height:40px}.profile-summary-grid>div{padding:12px}.profile-summary-grid strong{font-size:18px}}.textarea-input{resize:vertical;min-height:86px;padding-top:12px!important}.button-link{cursor:pointer;font:inherit;background:0 0;border:0;padding:0}.student-onboarding-shell{max-width:760px}.onboarding-intro{margin-bottom:18px}.onboarding-progress{grid-template-columns:repeat(3,1fr);gap:7px;margin:0 0 22px;display:grid}.onboarding-progress i{background:#ffffff14;border-radius:999px;height:3px;transition:background .25s,box-shadow .25s}.onboarding-progress i.done{background:var(--accent);box-shadow:0 0 16px #c8ff463d}.onboarding-select-card{width:100%;color:var(--text);text-align:left;cursor:pointer;font:inherit}.teacher-onboarding-grid,.player-onboarding-list{gap:10px;display:grid}.teacher-onboarding-card,.player-onboarding-card{border:1px solid var(--border);width:100%;min-height:78px;color:var(--text);text-align:left;cursor:pointer;background:linear-gradient(145deg,#0c1912,#08110c);border-radius:18px;grid-template-columns:auto 1fr auto;align-items:center;gap:13px;padding:13px 14px;transition:transform .16s,border-color .16s,background .16s;display:grid}.teacher-onboarding-card:active,.player-onboarding-card:active,.onboarding-select-card:active{transform:scale(.988)}.teacher-onboarding-card:hover,.player-onboarding-card:hover{background:linear-gradient(145deg,#102118,#09140e);border-color:#c8ff463d}.teacher-onboarding-card>div:nth-child(2),.player-onboarding-card>div:nth-child(2){flex-direction:column;gap:3px;min-width:0;display:flex}.teacher-onboarding-card strong,.player-onboarding-card strong{font-size:14px}.teacher-onboarding-card span,.player-onboarding-card span{color:#aab9b0;font-size:10px}.teacher-onboarding-card small,.player-onboarding-card small{color:var(--muted-2);font-size:9px}.teacher-onboarding-card>i,.player-onboarding-card>i{color:var(--accent);font-size:11px;font-style:normal;font-weight:900}.player-onboarding-card .player-avatar{width:46px;height:46px}.persistent-tip{margin-top:18px}.persistent-tip b{color:var(--text)}.onboarding-footer{border-top:1px solid var(--border);color:var(--muted-2);letter-spacing:.08em;justify-content:space-between;gap:16px;margin-top:34px;padding-top:18px;font-size:9px;display:flex}.onboarding-footer a{color:var(--muted);font-weight:900}.profile-topbar{gap:12px}.student-top-actions{align-items:center;gap:8px;display:flex}.profile-current-pill,.current-device-pill{color:var(--accent);letter-spacing:.08em;background:#c8ff4612;border:1px solid #c8ff4638;border-radius:999px;padding:5px 8px;font-size:8px;font-weight:950}.settings-icon-link{border:1px solid var(--border);width:34px;height:34px;color:var(--text);background:#0a1510;border-radius:50%;place-items:center;font-size:14px;display:grid}.student-profile-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:10px 0 24px;display:grid}.student-profile-actions a{border:1px solid var(--border);background:#0a1710;border-radius:16px;flex-direction:column;justify-content:center;gap:4px;min-height:84px;padding:14px 38px 14px 14px;display:flex;position:relative}.student-profile-actions span{color:var(--muted);text-transform:uppercase;letter-spacing:.1em;font-size:8px}.student-profile-actions strong{font-size:11px;line-height:1.3}.student-profile-actions i{color:var(--accent);font-style:normal;position:absolute;right:14px}.settings-student-intro{margin-top:26px}.current-student-card{background:radial-gradient(circle at 90% 0,#c8ff4612,#0000 45%),#0a1710;border:1px solid #c8ff462e;border-radius:20px;grid-template-columns:auto 1fr;align-items:center;gap:14px;padding:18px;display:grid;position:relative}.current-student-card h2{margin:3px 0 4px;font-size:22px}.current-student-card p{color:var(--muted);margin:0;font-size:10px}.compact-avatar{width:58px;height:58px;font-size:15px}.current-device-pill{position:absolute;top:13px;right:13px}.student-settings-list{border:1px solid var(--border);background:#08130d;border-radius:18px;margin:12px 0 24px;display:grid;overflow:hidden}.student-settings-list>div{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:16px;min-height:54px;padding:12px 15px;display:flex}.student-settings-list>div:last-child{border-bottom:0}.student-settings-list span{color:var(--muted);font-size:10px}.student-settings-list strong{text-align:right;overflow-wrap:anywhere;max-width:62%;font-size:11px}.change-user-card{border:1px solid var(--border);background:#0a1510;border-radius:20px;padding:20px}.change-user-card h2{margin:5px 0 8px;font-size:24px}.change-user-card p{color:var(--muted);margin:0 0 16px;font-size:11px;line-height:1.6}.danger-outline-button{color:#ff9b9b;cursor:pointer;background:#ff7d7d0b;border:1px solid #ff7d7d47;border-radius:14px;width:100%;min-height:48px;font-weight:900}.settings-empty{margin-top:100px}.settings-empty h2{margin:0 0 8px}.settings-empty p{color:var(--muted);margin:0 0 18px}.inline-button{justify-content:center;align-items:center;width:auto;padding:0 18px;display:inline-flex}@media (max-width:520px){.student-profile-actions{grid-template-columns:1fr 1fr}.teacher-onboarding-card,.player-onboarding-card{min-height:72px;padding:11px 12px}.current-device-pill{grid-column:1/-1;width:max-content;position:static}}.student-profile-app{padding-bottom:calc(58px + env(safe-area-inset-bottom))}.compact-profile-hero{margin-bottom:14px}.student-profile-nav{top:max(8px,env(safe-area-inset-top));z-index:20;border:1px solid var(--border);-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px);background:#07110ce6;border-radius:17px;grid-template-columns:repeat(3,1fr);gap:4px;margin:0 0 16px;padding:4px;display:grid;position:sticky;box-shadow:0 14px 34px #00000038}.student-profile-nav button{min-height:48px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:13px;justify-content:center;align-items:center;gap:7px;font-size:11px;font-weight:850;display:flex}.student-profile-nav button span{color:var(--muted-2);font-size:15px}.student-profile-nav button.active{color:var(--text);background:#17261e;box-shadow:inset 0 0 0 1px #ffffff0f}.student-profile-nav button.active span{color:var(--accent)}.profile-summary-grid.no-session-count .summary-text-value,.history-stat-strip .summary-text-value{word-break:break-word;font-size:14px;line-height:1.2}.student-next-class-card{box-shadow:var(--shadow);background:radial-gradient(circle at 100% 0,#c8ff461a,#0000 40%),linear-gradient(145deg,#10241a,#09150f);border:1px solid #c8ff4633;border-radius:22px;margin:10px 0 24px;padding:20px;position:relative;overflow:hidden}.next-class-kicker{color:var(--accent);letter-spacing:.13em;align-items:center;gap:7px;font-size:9px;font-weight:900;display:flex}.next-class-main{grid-template-columns:auto 1fr;align-items:center;gap:16px;margin:16px 0 12px;display:grid}.next-class-date{border-right:1px solid var(--border);min-width:70px;padding-right:14px}.next-class-date strong{letter-spacing:-.04em;font-size:25px;display:block}.next-class-date span{color:var(--muted);font-size:9px}.next-class-main h2{margin:0 0 4px;font-size:20px}.next-class-main p,.next-class-note{color:var(--muted);margin:0;font-size:11px;line-height:1.55}.next-class-note{border-top:1px solid var(--border);padding:12px 0}.next-class-meta{flex-wrap:wrap;gap:7px;margin:0 0 14px;display:flex}.next-class-meta span{border:1px solid var(--border);color:#cbd6d0;border-radius:999px;padding:6px 8px;font-size:9px;font-weight:750}.profile-empty-card{margin:12px 0 22px}.student-profile-panel{padding-top:4px}.student-profile-panel .student-section-heading p{max-width:580px;color:var(--muted);margin:7px 0 0;font-size:11px;line-height:1.55}.student-upcoming-list{gap:11px;display:grid}.upcoming-class-card{border:1px solid var(--border);background:linear-gradient(145deg,#0c1a13,#08110d);border-radius:20px;padding:18px;transition:transform .15s,border-color .15s;display:block}.upcoming-class-card:active{transform:scale(.99)}.upcoming-class-header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.upcoming-class-header strong{letter-spacing:-.04em;font-size:23px;display:block}.upcoming-class-card h3{margin:15px 0 7px;font-size:19px}.upcoming-class-card>p{min-height:34px;color:var(--muted);margin:0;font-size:11px;line-height:1.55}.class-state-pill{border:1px solid var(--border);color:var(--muted);letter-spacing:.08em;border-radius:999px;justify-content:center;align-items:center;padding:6px 8px;font-size:8px;font-weight:900;display:inline-flex}.class-state-pill.live{color:var(--accent);background:#c8ff4614;border-color:#c8ff4640}.class-state-pill.completed{color:#aebbb4}.upcoming-class-footer{border-top:1px solid var(--border);color:var(--muted);align-items:center;gap:7px;margin-top:15px;padding-top:12px;font-size:9px;display:flex}.upcoming-class-footer span{white-space:nowrap}.upcoming-class-footer i{color:var(--accent);margin-left:auto;font-size:16px;font-style:normal}.history-stat-strip{grid-template-columns:repeat(3,1fr);gap:8px;margin:12px 0 22px;display:grid}.history-stat-strip>div{border:1px solid var(--border);background:#0a1710;border-radius:16px;min-height:82px;padding:14px}.history-stat-strip span{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:8px;line-height:1.3;display:block}.history-stat-strip strong{margin-top:7px;font-size:22px;display:block}.history-errors-section{border:1px solid var(--border);background:#08140e;border-radius:20px;padding:18px}.history-class-row{border-bottom:1px solid var(--border);grid-template-columns:82px 1fr auto;align-items:center;gap:13px;padding:15px 0;display:grid}.history-class-date strong,.history-class-copy strong{font-size:11px;display:block}.history-class-date span,.history-class-copy span,.history-class-copy small{color:var(--muted);margin-top:3px;font-size:9px;display:block}.history-class-copy small{color:#b9c6bf}.history-class-row i{color:var(--accent);font-style:normal}.student-profile-bottom-actions{color:var(--muted);justify-content:center;gap:14px;margin:30px 0 0;font-size:10px;display:flex}.student-profile-bottom-actions a{border:1px solid var(--border);border-radius:999px;padding:9px 11px}.student-class-detail-shell{max-width:860px}.class-detail-hero{margin-bottom:10px}.class-detail-status-row{color:var(--muted);justify-content:space-between;align-items:center;gap:10px;margin-bottom:16px;font-size:10px;display:flex}.class-brief-card{background:linear-gradient(145deg,#102017,#09150f);border:1px solid #c8ff4626;border-radius:20px;margin:10px 0 18px;padding:19px}.class-brief-card h2{margin:4px 0 11px;font-size:20px}.class-brief-card>p{color:#c1cec7;margin:0;font-size:12px;line-height:1.65}.class-brief-meta{flex-wrap:wrap;gap:7px;margin-top:15px;display:flex}.class-brief-meta span{border:1px solid var(--border);color:var(--muted);border-radius:999px;padding:6px 8px;font-size:9px}.class-plan-empty{flex-direction:column;gap:6px;display:flex}.class-plan-empty strong{color:var(--text)}.class-plan-empty span{color:var(--muted);font-size:11px}.future-participant-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;display:grid}.future-participant{border:1px solid var(--border);background:#0a1710;border-radius:16px;align-items:center;gap:10px;padding:13px;display:flex;position:relative}.future-participant i{border:1px solid var(--border-strong);background:#13261c;border-radius:50%;place-items:center;width:36px;height:36px;font-size:9px;font-style:normal;font-weight:900;display:grid}.future-participant strong,.future-participant span{display:block}.future-participant strong{font-size:11px}.future-participant span{color:var(--muted);margin-top:2px;font-size:9px}.future-participant b{color:var(--accent);letter-spacing:.1em;font-size:7px;position:absolute;top:8px;right:8px}.future-participant.is-me{background:#c8ff460b;border-color:#c8ff4638}@media (max-width:560px){.student-profile-app{padding-left:12px;padding-right:12px}.student-profile-nav{margin-left:-2px;margin-right:-2px}.profile-summary-grid.no-session-count>div,.history-stat-strip>div{padding:11px}.profile-summary-grid.no-session-count .summary-text-value,.history-stat-strip .summary-text-value{font-size:11px}.history-stat-strip strong{font-size:18px}.upcoming-class-card{padding:15px}.upcoming-class-footer{flex-wrap:wrap}.future-participant-grid{grid-template-columns:1fr}.history-class-row{grid-template-columns:70px 1fr auto;gap:9px}}.field-hint{color:var(--muted);margin-top:6px;font-size:9px;line-height:1.45;display:block}.auth-submit:disabled{opacity:.55;cursor:not-allowed}.court.select-mode .court-path{cursor:grab}.court.select-mode .court-path.dragging{cursor:grabbing}.court-path.selected{stroke-width:3.5px;filter:drop-shadow(0 0 4px #c8ff46e6)drop-shadow(0 0 10px #c8ff4659)}.court-path.movement.selected{color:#fff}.court-path.shot.selected,.court-path.draw.selected,.court-path.note.selected{color:#d8ff78}.board-inspector-field select{border:1px solid var(--border);appearance:none;background:linear-gradient(45deg, transparent 50%, var(--muted) 50%) calc(100% - 15px) 16px / 5px 5px no-repeat, linear-gradient(135deg, var(--muted) 50%, transparent 50%) calc(100% - 10px) 16px / 5px 5px no-repeat, #00000029;width:100%;min-height:39px;color:var(--text);font:inherit;border-radius:11px;outline:none;padding:8px 30px 8px 10px}.board-inspector-field select:focus{border-color:#c8ff4666}.board-path-help{background:#ffffff06;border:1px solid #ffffff0e;border-radius:11px;grid-template-columns:31px 1fr;align-items:center;gap:8px;margin:2px 0 11px;padding:9px;display:grid}.board-path-help>span{background:var(--accent-soft);width:31px;height:31px;color:var(--accent);border-radius:9px;place-items:center;font-size:15px;font-weight:900;display:grid}.board-path-help p{color:var(--muted);margin:0;font-size:8px;line-height:1.4}.teacher-entry.primary-entry{background:radial-gradient(circle at 82% 18%,#c8ff4621,#0000 16rem),linear-gradient(145deg,#162d1ffa,#07120bfa);border-color:#c8ff464d;box-shadow:inset 0 0 0 1px #c8ff4609,0 22px 65px #00000038}.teacher-entry.primary-entry .entry-arrow{background:var(--accent);color:#07100a;border-color:#c8ff4661;box-shadow:0 0 28px #c8ff4624}.teacher-register-cta{z-index:4;max-width:1300px;color:var(--muted);justify-content:flex-start;align-items:center;gap:10px;margin:-12px auto 28px;font-size:11px;display:flex;position:relative}.teacher-register-cta a{border:1px solid var(--border-strong);color:#dce7df;background:#ffffff08;border-radius:999px;justify-content:center;align-items:center;min-height:36px;padding:0 14px;font-weight:850;text-decoration:none;display:inline-flex}.teacher-register-cta a:hover{color:var(--accent);border-color:#c8ff4647}@media (max-width:699px){.board-inspector-field select{background-position:calc(100% - 13px) 14px,calc(100% - 8px) 14px,0 0;min-height:35px;padding:7px 27px 7px 8px;font-size:10px}.board-path-help{grid-template-columns:27px 1fr;gap:6px;padding:7px}.board-path-help>span{width:27px;height:27px;font-size:13px}.board-path-help p{font-size:7px}.teacher-register-cta{flex-direction:column;align-items:stretch;gap:8px;margin:2px 0 22px}.teacher-register-cta a{width:100%;min-height:42px}}.court-path-hit{fill:none;stroke:#fff0;stroke-width:12px;vector-effect:non-scaling-stroke;stroke-linecap:round;stroke-linejoin:round;pointer-events:stroke;touch-action:none}.court-path{pointer-events:none}.court.select-mode .court-path-hit{cursor:grab}.court.select-mode .court-path-hit.dragging{cursor:grabbing}.court.erase-mode .court-path-hit{cursor:crosshair}.directory-dashboard{gap:18px;display:grid}.directory-panel{background:linear-gradient(#0c1f18eb,#071611eb);border:1px solid #8eab9d2e;border-radius:24px;overflow:hidden}.directory-panel-head{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:14px;display:grid}.directory-panel-toggle{min-width:0;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;justify-content:space-between;align-items:center;gap:14px;padding:8px 6px;display:flex}.directory-panel-toggle>span{align-items:baseline;gap:10px;display:flex}.directory-panel-toggle strong{font-size:1.15rem}.directory-panel-toggle small{min-width:28px;height:28px;color:var(--muted,#9fb2a8);background:#ffffff12;border-radius:999px;place-items:center;padding:0 8px;font-weight:800;display:inline-grid}.directory-panel-toggle b,.group-directory-summary>b{color:var(--muted,#9fb2a8);font-size:1.15rem;transition:transform .18s}.directory-panel-toggle b.open,.group-directory-summary>b.open{transform:rotate(180deg)}.group-directory-list,.students-directory-content{border-top:1px solid #8eab9d1f;padding:10px 14px 16px}.group-directory-card{background:#ffffff06;border:1px solid #8eab9d24;border-radius:18px;margin-top:10px;overflow:hidden}.group-directory-card.is-open{border-color:#b4ff3542}.group-directory-summary{width:100%;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;grid-template-columns:36px minmax(0,1fr) auto 24px;align-items:center;gap:11px;padding:14px;display:grid}.group-level-orb{background:#ffffff0b;border-radius:12px;place-items:center;width:36px;height:36px;display:grid}.group-directory-copy{gap:4px;min-width:0;display:grid}.group-directory-copy strong{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.group-directory-copy span{color:var(--muted,#9fb2a8);white-space:nowrap;text-overflow:ellipsis;font-size:.82rem;overflow:hidden}.group-student-count{background:#ffffff0f;border-radius:999px;place-items:center;min-width:30px;height:30px;font-size:.8rem;font-weight:800;display:grid}.group-directory-detail{border-top:1px solid #8eab9d1f;gap:14px;padding:14px;display:grid}.group-schedule-box{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.group-schedule-box>span{background:#ffffff09;border-radius:14px;gap:4px;padding:11px;display:grid}.group-schedule-box small,.group-member small{color:var(--muted,#9fb2a8)}.group-schedule-box strong{font-size:.82rem}.group-member-list{gap:8px;display:grid}.group-member{align-items:center;gap:10px;padding:8px 0;display:flex}.group-member>div{gap:2px;display:grid}.group-actions-row{flex-wrap:wrap;gap:8px;display:flex}.compact-level-sections{margin-top:12px}.recurring-callout{background:radial-gradient(circle at 100% 0,#b4ff3517,#0000 34%),#071611e0;border:1px solid #b4ff3530;border-radius:22px;justify-content:space-between;align-items:center;gap:18px;margin-bottom:18px;padding:18px;display:flex}.recurring-callout h2{margin:5px 0 6px;font-size:1.15rem}.recurring-callout p{color:var(--muted,#9fb2a8);max-width:650px;margin:0}.class-mode-control{margin-bottom:16px}.recurring-summary-card,.student-target-group{background:#b4ff350e;border:1px solid #b4ff352e;border-radius:17px;gap:5px;padding:14px;display:grid}.recurring-summary-card>span,.student-target-group>span,.student-target-group>small{color:var(--muted,#9fb2a8);font-size:.82rem}.recurring-summary-card p{color:var(--muted,#9fb2a8);margin:2px 0 0}.recurring-count{background:#ffffff0a;border-radius:17px;align-items:baseline;gap:10px;padding:13px 15px;display:flex}.recurring-count strong{color:#b4ff35;font-size:1.55rem}.recurring-count span{color:var(--muted,#9fb2a8);font-size:.85rem}.field-block{gap:8px;display:grid}.field-label{color:var(--muted,#9fb2a8);font-size:.82rem;font-weight:700}.weekday-picker{grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;display:grid}.weekday-picker button{min-width:0;height:42px;color:var(--muted,#9fb2a8);cursor:pointer;background:#ffffff08;border:1px solid #8eab9d2e;border-radius:12px;font-weight:800}.weekday-picker button.active{color:#d7ff88;background:#b4ff351f;border-color:#b4ff35a6}.inline-level-select{gap:8px;display:grid}.level-dot.iniciacion{background:#9ce7c3}.level-dot.principiante{background:#b4ff35}.level-dot.basico{background:#f6dd7e}.level-dot.intermedio{background:#79c9ff}.level-dot.avanzado{background:#bf95ff}.level-dot.competicion{background:#ff8e8e}.dashboard-toast{z-index:180;max-width:min(90vw,440px);position:fixed;bottom:92px;left:50%;transform:translate(-50%)}@media (max-width:700px){.directory-panel-head{grid-template-columns:minmax(0,1fr) auto;padding:10px}.group-directory-summary{grid-template-columns:32px minmax(0,1fr) auto 18px;gap:8px;padding:12px 10px}.group-level-orb{width:32px;height:32px}.group-directory-copy span{font-size:.74rem}.group-schedule-box{grid-template-columns:1fr}.group-actions-row{grid-template-columns:1fr;display:grid}.recurring-callout{flex-direction:column;align-items:stretch}.weekday-picker{grid-template-columns:repeat(4,minmax(0,1fr))}.recurring-sheet,.group-create-sheet,.student-create-sheet{max-height:92dvh;overflow-y:auto}}.club-team-settings{gap:16px}.club-code-form,.club-invite-form{gap:14px;display:grid}.club-code-form label,.club-invite-form label{gap:8px;display:grid}.club-team-area{border-top:1px solid var(--border,#ffffff18);gap:16px;padding-top:22px;display:grid}.club-team-area header,.club-actions{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.club-confirm-box{background:#bed99412;border:1px solid #bed99444;border-radius:18px;gap:12px;padding:18px;display:grid}.club-invite-list{gap:12px;display:grid}.club-invite-row{background:#ffffff04;border:1px solid #ffffff18;border-radius:18px;gap:12px;padding:16px;display:grid}.club-invite-row>div:first-child{gap:5px;display:grid}.club-invite-row span,.club-invite-row small{color:var(--muted,#a0afa5);overflow-wrap:anywhere}.club-invite-row code{letter-spacing:.04em;overflow-wrap:anywhere;-webkit-user-select:all;user-select:all;font-size:14px;line-height:1.8}.club-invite-row.is-revoked{opacity:.6}.admin-attendance-row{border-bottom:1px solid #ffffff18;justify-content:space-between;align-items:center;gap:16px;padding:14px 0;display:flex}.admin-attendance-row>div{flex-wrap:wrap;gap:10px;display:flex}.admin-attendance-row>div:first-child{flex-direction:column;gap:5px}.admin-attendance-row span{color:var(--muted,#a0afa5);font-size:13px}@media (min-width:760px){.club-code-form{grid-template-columns:1fr auto;align-items:end}.club-invite-row{grid-template-columns:1fr auto;align-items:center}.club-invite-row code{grid-area:2/1/auto/-1}}.student-login-form{text-align:left;gap:18px;max-width:520px;margin:28px auto;display:grid}.student-login-form .input{width:100%;min-height:54px;font-size:16px}.delete-student{border-top:1px solid var(--border,#dce3dc);margin-top:24px;padding-top:20px}.delete-student-confirm{background:var(--danger-soft);color:var(--text);border-radius:16px;margin-top:16px;padding:18px}.place-request{border:1px solid var(--border-strong);background:#171e1a;border-radius:22px;gap:12px;margin:16px 0;padding:20px;display:grid}.place-request.accepted{background:#162919;border-color:#456340}.waiting-player{align-items:center;gap:12px;min-width:0;display:flex}.waiting-player>div{gap:5px;min-width:0;display:grid}.waiting-player strong{overflow-wrap:anywhere}.waiting-player small{color:#acb5ad}.waiting-avatar{filter:grayscale();border:1px solid #515952;border-radius:50%;flex:0 0 46px;place-items:center;width:46px;height:46px;font-weight:650;display:grid;color:#bec5bf!important;background:#303632!important}.accepted .waiting-avatar{filter:none;color:#d5ead0!important;background:#3a5038!important}.teacher-waitlist{border-top:1px solid var(--border);margin-top:24px;padding-top:20px}.waitlist-row{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:14px;padding:16px 0;display:flex}.waitlist-actions{flex-shrink:0;align-items:center;gap:8px;display:flex}.accept-place{color:#fff;min-height:44px;font:inherit;cursor:pointer;background:#294936;border:0;border-radius:14px;align-items:center;gap:6px;padding:10px 14px;display:flex}.accept-place:disabled{opacity:.5;cursor:wait}.waitlist-count{background:#34432d;border-radius:20px;place-items:center;min-width:25px;padding:3px 8px;font-size:13px;display:inline-grid}@media (max-width:440px){.waitlist-actions .accept-place span{display:none}.waiting-player{gap:9px}.place-request{padding:17px}}
:root{--muted:#a6b5ac;--muted-2:#87998d;--border:#d6e7dc1f;--border-strong:#d6e7dc38;--champagne:#c9bc94}::selection{color:#08100b;background:#c8ff46}:where(a,button,input,select,textarea,[tabindex]):focus-visible{outline:2px solid var(--accent);outline-offset:4px}:where(button,input,select,textarea,a){scroll-margin-block:24px 110px}:where(button):disabled{cursor:not-allowed}:where(h1,h2,h3){text-wrap:balance}:where(p){text-wrap:pretty}.input::placeholder{color:#87988d;opacity:1}:where(.student-search,.profile-input-wrap):focus-within{border-color:#c8ff468c;box-shadow:0 0 0 3px #c8ff4614}.luxury-landing{background:radial-gradient(at 21% 32%,#5a755329,#0000 42%),radial-gradient(at 88% 6%,#c9bc940e,#0000 38%),#060d09}.landing-header,.landing-footer{max-width:1300px;margin-inline:auto}.landing-header{border-bottom:1px solid #c9bc942e;padding-block:8px 22px}.landing-brand{letter-spacing:.22em;font-size:11px}.brand-dot{filter:none}.landing-version{border:1px solid var(--border);color:#a6b5ac;border-radius:999px;padding:7px 10px;font-size:9px}.landing-noise{opacity:.28;background-size:64px 64px}.landing-glow{opacity:.17}.landing-hero{min-height:480px;padding-block:32px 44px}.landing-copy,.racket-stage{opacity:1;transform:none}.landing-kicker{color:var(--champagne);letter-spacing:.23em;font-size:10px}.landing-copy h1{letter-spacing:-.06em;font-size:clamp(56px,7.4vw,100px);font-weight:750;line-height:.99}.landing-copy h1 em{-webkit-text-stroke:1px #e6ebdbb8}.landing-copy p{color:#acbbb0;max-width:460px;font-size:16px;line-height:1.75}.racket-stage{isolation:isolate;min-height:420px}.racket-stage:before{content:"";z-index:-1;background:radial-gradient(#adc27d17,#0000 68%);border-radius:50%;position:absolute;inset:8% 10%}.racket-head{background:repeating-linear-gradient(125deg,#0000 0 3px,#ffffff06 3px 4px),radial-gradient(circle at 32% 20%,#354337,#141f17 48%,#080e0a);border-color:#1a261d;box-shadow:inset 0 0 0 1px #c8ff468c,inset 5px 3px 12px #eef2d914,1px 0 #c9bc9480}.racket-object{animation:5.5s ease-in-out infinite racketShowcase}@keyframes racketShowcase{0%,to{transform:translate(-7px,9px)rotate(-23deg)rotateY(-19deg)}50%{transform:translate(9px,-20px)rotate(-10deg)rotateY(8deg)}}.racket-orbit{border-color:#c9bc9430;animation:none}.orbit-two{border-color:#c9bc9414}.entry-split{gap:18px}.entry-card{border-color:#c9bc9433;border-radius:20px;gap:16px;min-height:206px;padding:28px;box-shadow:inset 0 1px #ffffff0a,0 16px 40px #0000001f}.entry-card>div:nth-child(2){min-width:0}.entry-number{color:var(--champagne);font-variant-numeric:tabular-nums;padding-top:2px}.entry-card .eyebrow{letter-spacing:.19em;font-size:9px}.entry-card h2{letter-spacing:-.035em;overflow-wrap:anywhere;font-size:clamp(23px,2.4vw,30px);line-height:1.15}.entry-card p{font-size:13px;line-height:1.7}.entry-arrow{width:42px;height:42px;transition:transform .2s,border-color .2s}.teacher-entry.primary-entry{background:radial-gradient(at 100% 0,#c8ff460e,#0000 65%),linear-gradient(145deg,#14261a,#0a160e);border-color:#c8ff4642;box-shadow:inset 0 1px #e0f7cc12,0 18px 48px #0003}.teacher-entry.primary-entry .entry-arrow{box-shadow:0 5px 20px #c8ff461a}.teacher-register-cta{margin-top:-6px;margin-bottom:30px;line-height:1.6}.teacher-register-cta a{min-height:44px}.landing-footer{letter-spacing:.15em;border-top:1px solid #c9bc9426;padding-top:22px;font-size:9px}.primary-button{background:linear-gradient(135deg,#d4ff70,#bdf13f);box-shadow:inset 0 1px #ffffff4d,0 4px 16px #00000024}:where(.form-card,.settings-card,.board-card,.directory-panel,.premium-auth-card){border-color:#c9bc942e;box-shadow:inset 0 1px #ffffff09,0 12px 36px #0000001f}.premium-auth-shell{padding-top:max(86px,env(safe-area-inset-top));padding-bottom:max(36px,env(safe-area-inset-bottom))}.premium-auth-card{padding:clamp(24px,5vw,40px)}.auth-form{gap:18px}.auth-form .input{min-height:51px}.auth-switch{line-height:1.7}.auth-switch a{padding-block:7px;display:inline-block}.floating-back{align-items:center;min-height:44px;display:inline-flex}:where(.class-kpis,.profile-summary-grid,.history-stat-strip) strong{font-variant-numeric:tabular-nums}.global-bottom-nav,.class-bottom-nav{background:#09150ef5;border-color:#c9bc943b}.bottom-sheet{overscroll-behavior-y:contain;scrollbar-width:thin;scrollbar-color:#425549 transparent}.student-search input{min-width:0}.student-topbar .back-link{align-items:center;min-height:44px;margin-bottom:0;display:inline-flex}.onboarding-intro h1{line-height:1.08}.onboarding-select-card,.teacher-onboarding-card,.player-onboarding-card{transition:border-color .2s,background .2s}@media (hover:hover) and (pointer:fine){.primary-button:not(:disabled):hover{background:#dbff88;box-shadow:0 6px 22px #c8ff461f}.secondary-button:not(:disabled):hover{background:#1b3022;border-color:#c9bc9466}:where(a.class-card,a.agenda-card,.onboarding-select-card,.teacher-onboarding-card,.player-onboarding-card):hover{background-color:#13241a;border-color:#c8ff4659}.entry-card:hover .entry-arrow{transform:translate(3px)}}@media (min-width:761px) and (max-width:1000px){.entry-card{grid-template-columns:minmax(0,1fr) auto;padding:22px}.entry-number{grid-column:1/-1}.landing-hero{gap:24px}}@media (max-width:760px){.luxury-landing{padding-inline:20px}.landing-header{padding-block:3px 17px}.landing-hero{padding-block:18px 28px}.racket-stage,.is-ready .racket-stage{min-height:270px;margin:0 0 12px;transform:none}.racket-object{scale:.76}.racket-shadow{width:150px;transform:translate(12px,118px)}.orbit-one{width:210px;height:210px}.orbit-two{width:265px;height:265px}.landing-copy{padding:0}.landing-kicker{letter-spacing:.2em;font-size:8px}.landing-copy h1{margin-block:14px 18px;font-size:clamp(44px,12.5vw,72px);line-height:1.03}.landing-copy p{font-size:14px;line-height:1.7}.entry-split{gap:12px;margin-bottom:24px}.entry-card{grid-template-columns:minmax(0,1fr) 38px;gap:14px 12px;min-height:168px;padding:20px}.entry-number{grid-column:1/-1;font-size:10px}.entry-card h2{font-size:24px}.entry-card p{font-size:12px}.entry-arrow{width:38px;height:38px}.teacher-register-cta{flex-direction:column;align-items:stretch;gap:10px;margin:0 0 26px;font-size:12px}.teacher-register-cta a{width:100%}.landing-footer{margin-top:0}}@media (max-width:1024px),(any-pointer:coarse){input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=hidden]),textarea,select{font-size:max(16px,1rem)!important}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.student-profile-nav{background:#08140df7;border-color:#c9bc9433}.student-profile-nav button{font-size:12px}.student-profile-nav button.active{background:#1a3021;box-shadow:inset 0 0 0 1px #c8ff461f}.settings-icon-link{min-width:44px;min-height:44px}.student-profile-bottom-actions a{align-items:center;min-height:44px;padding:11px 16px;font-size:12px;display:inline-flex}.profile-highlight-card,.class-brief-card,.history-errors-section{border-color:#c9bc9433;box-shadow:inset 0 1px #ffffff09,0 12px 30px #0000001f}.profile-highlight-card{background:radial-gradient(at 100% 0,#c9bc9413,#0000 65%),#0d1d14}.profile-highlight-card p,.student-profile-panel .student-section-heading p{font-size:13px;line-height:1.7}.profile-summary-grid span,.history-stat-strip span{letter-spacing:.06em;font-size:10px;line-height:1.5}.profile-summary-grid.no-session-count .summary-text-value,.history-stat-strip .summary-text-value{font-size:13px;line-height:1.4}.student-section-heading{flex-wrap:wrap;row-gap:8px}.student-section-heading .text-button{min-height:44px}.history-class-row{min-height:78px}.history-class-copy span,.history-class-copy small,.history-class-date span{font-size:11px;line-height:1.5}.profile-summary-grid>div,.history-stat-strip>div{background:linear-gradient(155deg,#102017,#0a1710)}@media (max-width:360px){.profile-summary-grid.no-session-count>div,.history-stat-strip>div{padding:10px 8px}.profile-summary-grid span,.history-stat-strip span{font-size:9px}}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.topbar-tools{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.person-avatar{cursor:pointer;touch-action:manipulation;flex-shrink:0;padding:0;transition:box-shadow .15s}.person-avatar:hover{box-shadow:0 0 0 3px #c8ff462e}.mini-avatar.person-avatar{z-index:2;width:36px;height:36px;position:relative}.person-dialog,.quick-board-dialog{color:var(--text);overscroll-behavior:contain;background:#0b1911;border:1px solid #c9bc9440;border-radius:24px;width:min(560px,100vw - 24px);max-height:calc(100dvh - 32px);padding:24px;overflow-y:auto;box-shadow:0 25px 90px #0009}.person-dialog::backdrop,.quick-board-dialog::backdrop{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#000703c2}.person-dialog-header,.quick-board-header{justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px;display:flex}.person-dialog-header .eyebrow{margin:0}.person-dialog-identity{align-items:center;gap:16px;margin-bottom:24px;display:flex}.person-dialog-identity h2{overflow-wrap:anywhere;margin:0 0 6px;font-size:28px}.person-dialog-identity p{color:var(--muted);margin:0}.person-dialog h3{margin:24px 0 12px;font-size:17px}.person-error-list>div{border-bottom:1px solid var(--border);justify-content:space-between;gap:16px;padding:12px 0;display:flex}.person-session{border-bottom:1px solid var(--border);gap:5px;padding:12px 0;display:grid}.person-session span{color:var(--muted);font-size:12px}.person-dialog .full-button{margin-top:24px}.quick-board-dialog{width:min(980px,100vw - 24px)}.quick-board-header h2{margin:0}.quick-board-fields{grid-template-columns:1fr 1fr;gap:12px;display:grid}.quick-board-fields label{color:var(--muted);gap:7px;font-size:12px;display:grid}.quick-board-status{color:var(--muted);margin-block:12px 22px;font-size:12px}.quick-board-button{white-space:nowrap;font-size:12px}.profile-action-row{align-items:center;gap:10px;display:flex}.plain-person-action{min-width:0;min-height:44px;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;flex:1;justify-content:space-between;align-items:center;gap:12px;display:flex}.plain-person-action strong,.plain-person-action small,.plain-person-action>span>span,.person-card-copy>*{display:block}.plain-person-action small,.plain-person-action>span>span,.person-card-copy span,.person-card-copy small{color:var(--muted);margin-top:4px;font-size:12px}:is(.teacher-onboarding-card:has(.plain-person-action),.player-onboarding-card:has(.plain-person-action)){grid-template-columns:auto minmax(0,1fr)}.student-select-with-profile{border:1px solid var(--border);background:var(--panel);border-radius:18px;flex-direction:column;align-items:center;padding:14px 8px 4px;display:flex}.student-select-with-profile .student-select{border:0;width:100%;min-height:62px}.student-select-with-profile .student-select small{color:var(--muted);background:0 0;font-size:10px;position:static}.match-register-action{width:100%;min-height:64px;color:var(--text);cursor:pointer;background:#ffffff0a;border:0;border-radius:14px;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:8px;display:flex}.match-player-with-profile{cursor:default}.match-player-with-profile .person-avatar{z-index:1;position:relative}.match-error-grid{grid-auto-rows:minmax(90px,1fr);align-content:start;overflow-y:auto}.group-errors-editor{margin-top:20px}.group-errors-editor fieldset{border:0;min-width:0;margin:0;padding:0}.error-config-row{border:1px solid var(--border);background:#0000001f;border-radius:16px;margin-bottom:12px;padding:16px}.error-config-fields{grid-template-columns:76px minmax(0,1fr);gap:10px;display:grid}.error-config-fields label{min-width:0;color:var(--muted);gap:6px;font-size:12px;display:grid}.error-description-field{grid-column:1/-1}.error-config-actions{justify-content:flex-end;gap:8px;margin-top:12px;display:flex}.error-config-actions button:disabled{opacity:.35}.group-errors-save{border:1px solid var(--border);z-index:2;background:#11251a;border-radius:16px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:16px;padding:12px;display:flex;position:sticky;bottom:85px}.group-errors-save span,.save-feedback{color:var(--muted);font-size:12px;line-height:1.6}.save-feedback{margin-top:16px}.board-shortcuts{flex-wrap:wrap;gap:8px;margin-bottom:10px;display:flex}.board-shortcuts button:disabled{opacity:.35}.board-toolbar.professional{grid-template-columns:repeat(8,minmax(0,1fr));margin-inline:0;padding-inline:0;display:grid;overflow:visible}.board-toolbar.professional .tool-button{min-width:0;min-height:56px}.board-toolbar.professional .tool-button span{font-size:10px}.path-endpoint{fill:#f4f8f5;stroke:#183a25;stroke-width:1.5px;vector-effect:non-scaling-stroke;pointer-events:all;cursor:crosshair}.court-path-hit{stroke-width:22px}.court-readonly{touch-action:pan-y}.court-readonly .board-item{cursor:default}.board-inspector-title>button,.board-team-picker button,.board-inspector-actions button{min-height:44px}.board-inspector-title strong{font-size:13px}.board-inspector-field>span,.board-team-picker>span,.board-inspector-empty p,.board-path-help p{font-size:12px;line-height:1.5}.board-inspector-actions button{font-size:12px}.court-editor.is-expanded{grid-template-rows:auto auto auto minmax(0,1fr) auto}.court-editor.is-expanded .board-inspector{width:min(240px,42%)}@media (max-width:699px){.topbar{flex-wrap:wrap}.topbar-tools{margin-left:auto}.class-header,.header-actions{flex-wrap:wrap}.quick-board-dialog{padding:16px}.quick-board-fields{grid-template-columns:1fr}.board-toolbar.professional{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.court-workspace.has-sidebar{grid-template-columns:minmax(0,1fr)}.court-workspace .court{justify-self:center;max-width:400px}.court-workspace .board-inspector{grid-area:2/1;width:100%;min-height:0;position:static}.board-inspector.is-empty{display:none}.board-inspector-actions{grid-template-columns:1fr 1fr}.board-inspector-title strong,.board-inspector-field>span,.board-team-picker>span{font-size:12px}.board-team-picker{flex-direction:row;align-items:center}.board-team-picker>div{width:auto}.board-team-picker button{min-width:44px}.court-editor.is-expanded{display:block;overflow-y:auto}.court-editor.is-expanded .court-workspace.has-sidebar{grid-template-columns:1fr;display:grid;overflow:visible}.court-editor.is-expanded .court{width:min(100%,350px);height:auto;max-height:none}.court-editor.is-expanded .board-inspector{grid-area:2/1;width:100%;max-height:none;position:static}}.court-workspace.has-sidebar>.court{justify-self:center;max-width:420px}.court-editor.is-expanded .court-workspace>.court{max-width:100%}@media (max-width:699px){.court-workspace.has-sidebar>.court{max-width:360px}}.match-error-grid{grid-template-rows:none}.quick-board-header{z-index:25;background:#0b1911;padding-block:8px;position:sticky;top:-16px}.court-readonly .board-item:not(:disabled){cursor:pointer}.court{touch-action:pan-y pinch-zoom}.court.drawing-mode,.court .board-item,.court .court-path-hit,.court .path-endpoint{touch-action:none}.court-readonly .board-item,.court-readonly .court-path-hit{touch-action:pan-y pinch-zoom}.court-readonly .board-item:not(:disabled){pointer-events:auto}.board-item.player .board-player-label{color:#fff;white-space:normal;overflow-wrap:anywhere;text-overflow:clip;pointer-events:none;background:#04140deb;border:1px solid #ffffff38;border-radius:7px;width:max-content;max-width:130px;padding:4px 7px;font-size:12px;font-weight:750;line-height:1.3;position:absolute;bottom:calc(100% + 8px);left:50%;overflow:visible;transform:translate(-50%);box-shadow:0 2px 8px #0003}.board-item.player .board-player-label.label-left{left:-8px;transform:none}.board-item.player .board-player-label.label-right{left:auto;right:-8px;transform:none}.board-item.player .board-player-label.label-below{top:calc(100% + 8px);bottom:auto}.error-editor-heading{justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px;display:flex}.error-editor-heading>div{gap:5px;display:grid}.error-editor-heading>div>span{color:var(--muted);font-size:12px;line-height:1.5}.error-editor-heading button{flex-shrink:0;font-size:12px}.error-composer{grid-template-columns:minmax(0,1fr) 210px 120px;align-items:start;gap:14px;display:grid}.visual-error-editor:not(.is-editing) .error-composer{max-width:600px;display:block}.error-layout-grid{grid-column:1;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(var(--error-rows),minmax(76px,1fr));border:1px solid var(--border);background:#08150e;border-radius:22px;gap:8px;min-height:340px;padding:10px;transition:border-color .2s;display:grid}.error-layout-tile{min-width:0;color:var(--text);cursor:grab;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;transform-origin:0 0;background:linear-gradient(155deg,#1b3022,#102017);border:1px solid #d1e8da24;border-radius:16px;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:12px 8px;display:flex;position:relative;box-shadow:inset 0 1px #ffffff07,0 5px 16px #0002}.error-layout-tile.wide,.error-drop-slot.wide{grid-column:1/-1}.error-layout-tile b{color:var(--accent);font-size:24px;font-weight:500;line-height:1}.error-layout-tile>span{overflow-wrap:anywhere;text-align:center;font-size:12px;font-weight:750;line-height:1.3}.error-layout-tile>i{color:var(--muted-2);font-size:14px;font-style:normal;position:absolute;top:5px;right:7px}.error-layout-tile:disabled{cursor:default}.error-layout-tile.selected{border-color:var(--accent);background:#263c23}.error-layout-tile.is-dragging{opacity:.25}.error-layout-tile.drop-before{box-shadow:inset 0 3px 0 var(--accent)}.error-layout-grid.is-drop-target{border-color:#c8ff4680}.error-library-rail{background:#0a1710;border:1px dashed #c9bc9442;border-radius:20px;grid-area:1/3;min-width:0;padding:12px 8px;transition:background .2s,border-color .2s}.error-library-rail.is-drop-target{border-color:var(--accent);background:#233621}.error-rail-heading{text-align:center;gap:4px;display:grid}.error-rail-heading strong{font-size:13px}.error-rail-heading span,.error-library-rail>p{color:var(--muted);text-align:center;font-size:10px;line-height:1.5}.error-library-rail>p{margin:12px 0}.error-library-scroll{overscroll-behavior:contain;gap:8px;max-height:420px;padding:2px;display:grid;overflow-y:auto}.error-library-scroll .error-layout-tile{background:#16221b;min-height:76px}.error-library-scroll .error-layout-tile>span{font-size:11px}.empty-error-rail{min-height:220px;color:var(--muted);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:6px;display:flex}.empty-error-rail>span{color:var(--champagne);font-size:28px}.empty-error-rail small{font-size:10px;line-height:1.6}.error-create-panel{border:1px solid var(--border);background:#ffffff06;border-radius:20px;grid-area:1/2;min-width:0;padding:14px}.error-create-tabs{background:#06120b;border-radius:11px;gap:3px;margin-bottom:20px;padding:3px;display:flex}.error-create-tabs button{color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:8px;flex:1;min-height:40px;font-size:10px;font-weight:750}.error-create-tabs button.active{color:var(--text);background:#243528}.error-create-panel form{gap:12px;display:grid}.error-create-panel h3{overflow-wrap:anywhere;margin:0;font-size:17px}.error-create-panel label{color:var(--muted);gap:7px;font-size:12px;display:grid}.error-create-panel .icon-input{text-align:center;width:70px}.error-icon-picker{grid-template-columns:repeat(6,minmax(0,1fr));gap:4px;display:grid}.error-icon-picker button{border:1px solid var(--border);min-height:34px;color:var(--text);cursor:pointer;background:0 0;border-radius:8px;font-size:16px}.error-icon-picker button[aria-pressed=true]{color:var(--accent);border-color:var(--accent);background:var(--accent-soft)}.error-create-panel .primary-button,.error-create-panel .secondary-button{font-size:12px}.selected-error-actions{gap:10px;display:grid}.selected-error-actions>div{gap:6px;display:flex}.selected-error-actions>div button{border:1px solid var(--border);min-height:40px;color:var(--text);cursor:pointer;background:0 0;border-radius:10px;flex:1;font-size:11px}.selected-error-actions button:disabled{opacity:.4}.error-composer-help>span{color:var(--champagne);margin-bottom:16px;font-size:32px;display:block}.error-composer-help h3{margin-bottom:12px}.error-composer-help p{color:var(--muted);font-size:12px;line-height:1.7}.error-drop-slot{border:1px dashed var(--accent);background:var(--accent-soft);min-height:76px;color:var(--accent);border-radius:16px;place-items:center;font-size:11px;display:grid}.error-drag-ghost{z-index:900;pointer-events:none;border:1px solid var(--accent);background:#253b28;border-radius:18px;flex-direction:column;justify-content:center;align-items:center;gap:8px;width:116px;min-height:84px;padding:12px;display:flex;position:fixed;transform:translate(-50%,-55%)rotate(-3deg);box-shadow:0 16px 35px #0008}.error-drag-ghost b{color:var(--accent);font-size:24px}.error-drag-ghost span{color:var(--text);text-align:center;font-size:12px}.visual-error-editor .group-errors-save>div{flex-wrap:wrap;gap:8px;display:flex}@media (max-width:1000px){.error-composer{grid-template-columns:minmax(0,1fr) 112px}.error-library-rail{grid-column:2}.error-create-panel{grid-area:2/1/auto/-1}.error-create-panel form{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.error-create-panel form>h3,.error-create-panel form>.error-icon-picker,.error-create-panel form>button,.selected-error-actions{grid-column:1/-1}.error-create-panel form>label:has(input[maxlength="160"]){grid-column:1/-1}}@media (max-width:480px){.group-errors-settings{padding:12px}.error-editor-heading{align-items:flex-start;gap:8px}.error-editor-heading strong{font-size:14px}.error-editor-heading>div>span{font-size:11px}.error-editor-heading button{padding-inline:10px;font-size:11px}.error-composer{grid-template-columns:minmax(0,1fr) 94px;gap:8px}.error-layout-grid{border-radius:17px;gap:6px;padding:6px}.error-layout-tile{border-radius:12px;padding:14px 4px 8px}.error-layout-tile>span{font-size:10px}.error-layout-tile b{font-size:22px}.error-layout-tile>i{font-size:11px;top:2px;right:4px}.error-library-rail{border-radius:17px;padding:10px 5px}.visual-error-editor .group-errors-save{position:static}.visual-error-editor .group-errors-save>div{width:100%}.visual-error-editor .group-errors-save>div>.primary-button{flex:1;font-size:12px}}.error-editor-heading>.error-editor-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.error-library-scroll{touch-action:pan-y pinch-zoom;scrollbar-width:thin;scrollbar-color:#52674c transparent}.error-library-scroll .error-layout-tile{cursor:grab}.error-library-scroll .error-layout-tile.is-dragging{cursor:grabbing}.error-show-library{width:100%;min-height:44px;color:var(--accent);background:var(--accent-soft);cursor:pointer;border:1px solid #c8ff4645;border-radius:11px;margin:10px 0;font-size:12px;font-weight:700;display:block}.error-placement-bar{border:1px solid var(--accent);outline-offset:4px;background:#243621;border-radius:16px;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:12px;padding:14px;display:flex}.error-placement-bar>div{flex:220px;gap:5px;display:grid}.error-placement-bar span{color:var(--muted);font-size:12px;line-height:1.5}.error-placement-bar button{font-size:12px}.error-layout-grid.is-placing .error-layout-tile{cursor:copy;border-style:dashed;border-color:#c8ff4670}.error-layout-grid.is-placing .error-layout-tile:is(:hover,:focus-visible){box-shadow:inset 0 4px 0 var(--accent);background:#30462a}.error-gallery-dialog{width:min(760px,100vw - 24px);max-height:calc(100dvh - 32px);color:var(--text);overscroll-behavior:contain;background:#0b1911;border:1px solid #c9bc9440;border-radius:24px;padding:24px;overflow-y:auto;box-shadow:0 30px 100px #0009}.error-gallery-dialog::backdrop{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#000a}.error-gallery-header{justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px;display:flex}.error-gallery-header h3{margin:8px 0;font-size:24px}.error-gallery-header p{color:var(--muted);margin:0;font-size:12px}.error-gallery-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px;margin-top:18px;display:grid}.error-gallery-card{border:1px solid var(--border);min-height:115px;color:var(--text);cursor:pointer;touch-action:pan-y pinch-zoom;background:linear-gradient(145deg,#1b3022,#102017);border-radius:17px;flex-direction:column;justify-content:center;align-items:center;gap:10px;padding:16px 10px;display:flex}.error-gallery-card b{color:var(--accent);font-size:26px;font-weight:500}.error-gallery-card strong{overflow-wrap:anywhere;font-size:13px}.error-gallery-card span{color:var(--muted);font-size:11px;line-height:1.4}.error-gallery-card:is(:hover,:focus-visible){border-color:var(--accent);background:#263c23}@media (prefers-reduced-motion:no-preference){.error-gallery-dialog[open]{animation:.22s ease-out error-gallery-in}@keyframes error-gallery-in{0%{opacity:0;transform:translateY(14px)scale(.98)}to{opacity:1;transform:none}}}@media (max-width:480px){.error-editor-heading{flex-wrap:wrap}.error-editor-heading>.error-editor-actions{justify-content:flex-start;width:100%}.error-gallery-dialog{padding:16px}.error-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.error-gallery-header h3{font-size:20px}}.visual-error-editor .group-errors-save{position:static}.error-gallery-header{z-index:1;background:#0b1911;margin-top:-8px;padding-block:8px 16px;position:sticky;top:-24px}@media (max-width:480px){.error-gallery-header{top:-16px}}.sync-status-banner{color:var(--text);background:#252a18;border:1px solid #c9bc9455;border-radius:16px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px;padding:14px 16px;display:flex}.sync-status-banner span{flex:240px;font-size:13px;line-height:1.6}.sync-status-banner button{font-size:12px}.nova-ball-stage{z-index:2;pointer-events:none;width:94px;height:180px;position:absolute;bottom:24px;left:73%}.nova-ball-bounce{aspect-ratio:1;transform-origin:50% 100%;width:100%;animation:3.8s infinite novaBallBounce;position:absolute;bottom:10px}.nova-padel-ball{filter:drop-shadow(2px 4px 3px #0003);width:100%;height:100%;display:block;overflow:visible}.nova-ball-print{transform-origin:80px 80px;animation:7.6s ease-in-out infinite novaBallTurn}.nova-ball-shadow{filter:blur(5px);background:#0009;border-radius:50%;width:84%;height:13px;animation:3.8s infinite novaBallShadow;position:absolute;bottom:2px;left:8%}@keyframes novaBallBounce{0%,to{animation-timing-function:cubic-bezier(.2,.65,.4,1);transform:translateY(0)scale(1.05,.95)}28%{animation-timing-function:cubic-bezier(.55,0,.85,.45);transform:translateY(-72px)scale(.98,1.02)}53%{animation-timing-function:cubic-bezier(.2,.65,.4,1);transform:translateY(0)scale(1.08,.92)}69%{animation-timing-function:cubic-bezier(.55,0,.85,.45);transform:translateY(-25px)scale(.99,1.01)}85%{transform:translateY(0)scale(1.04,.96)}92%{transform:translateY(-4px)scale(1)}}@keyframes novaBallTurn{0%,to{transform:rotate(-18deg)}50%{transform:rotate(32deg)}}@keyframes novaBallShadow{0%,53%,85%,to{opacity:.7;transform:scale(1)}28%{opacity:.25;transform:scale(.6)}69%{opacity:.45;transform:scale(.82)}}@media (max-width:600px){.nova-ball-stage{width:72px;bottom:35px;left:74%}}@media (prefers-reduced-motion:reduce){.nova-ball-bounce,.nova-ball-print,.nova-ball-shadow{animation:none}}.landing-powered{color:var(--muted);letter-spacing:.01em;white-space:nowrap;border-left:1px solid #c9bc9440;margin-left:3px;padding-left:12px;font-size:10px;font-weight:400;line-height:1.4}.landing-powered b{color:var(--champagne);font-weight:600}.landing-version{color:var(--champagne);background:#c9bc940e;border-color:#c9bc9447;flex-shrink:0}@media (max-width:600px){.landing-header{gap:10px}.landing-brand{letter-spacing:.12em;gap:6px;font-size:9px}.landing-powered{margin-left:1px;padding-left:7px;font-size:8px}.landing-powered b{font-size:9px;display:block}.landing-version{padding:6px 8px;font-size:8px}}.animated-player-hero,.animated-teacher-welcome{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:20px;display:grid}.animated-player-identity{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:16px;min-width:0;display:grid}.animated-player-name,.animated-teacher-copy{min-width:0}.animated-player-name h1,.animated-teacher-copy h1{overflow-wrap:anywhere}.nova-ball-stage.nova-ball-compact{align-self:center;width:88px;height:124px;position:relative;bottom:auto;left:auto}.nova-ball-compact .nova-ball-bounce{animation-name:novaBallWelcomeBounce;animation-duration:5s}.nova-ball-compact .nova-ball-shadow{animation-duration:5s}.nova-ball-compact .nova-ball-print{animation-duration:10s}@keyframes novaBallWelcomeBounce{0%,53%,85%,to{transform:translateY(0)scale(1.02,.98)}28%{transform:translateY(-22px)scale(.99,1.01)}69%{transform:translateY(-9px)}}@media (max-width:600px){.animated-player-hero,.animated-teacher-welcome{gap:10px}.animated-player-identity{grid-template-columns:auto minmax(0,1fr);gap:10px}.animated-player-identity .profile-avatar-xl{width:52px;height:52px;font-size:16px}.animated-player-name h1{font-size:clamp(25px,6.5vw,34px);line-height:1.08}.nova-ball-stage.nova-ball-compact{width:54px;height:90px}}@media (prefers-reduced-motion:reduce){.nova-ball-compact .nova-ball-bounce,.nova-ball-compact .nova-ball-shadow,.nova-ball-compact .nova-ball-print{animation:none}}.add-group-dialog{width:min(540px,100vw - 24px);max-height:calc(100dvh - 32px);color:var(--text);overscroll-behavior:contain;background:#0b1911;border:1px solid #c9bc9440;border-radius:24px;padding:24px;overflow-y:auto;box-shadow:0 25px 90px #0009}.add-group-dialog::backdrop{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#000a}.add-group-dialog header,.add-group-dialog footer{justify-content:space-between;align-items:center;gap:14px;display:flex}.add-group-dialog h2{margin:8px 0 0;font-size:24px}.add-group-dialog>p{color:var(--muted);font-size:13px;line-height:1.6}.existing-student-list{overscroll-behavior:contain;gap:8px;max-height:42dvh;margin-block:16px;display:grid;overflow-y:auto}.existing-student-option{border:1px solid var(--border);cursor:pointer;background:#13241a;border-radius:14px;align-items:center;gap:12px;padding:12px;display:flex}.existing-student-option.selected{border-color:var(--accent);background:#243621}.existing-student-option>span:nth-child(2){flex:1;gap:5px;min-width:0;display:grid}.existing-student-option strong{overflow-wrap:anywhere;font-size:14px}.existing-student-option small,.add-group-dialog footer>span{color:var(--muted);font-size:12px}.existing-student-option input{width:22px;height:22px;accent-color:var(--accent);flex-shrink:0}@media (max-width:480px){.add-group-dialog{padding:16px}.add-group-dialog footer .primary-button{font-size:13px}}.remove-member-button{border:1px solid var(--border);width:40px;min-height:40px;color:var(--muted);cursor:pointer;background:#ffffff06;border-radius:12px;flex-shrink:0;place-items:center;font-size:23px;display:grid}.remove-member-button:hover{color:#ffb6ac;border-color:#ffb6ac66}.group-member>div{flex:1;min-width:0}.class-roster-editor{border:1px solid var(--border);background:#0b1911;border-radius:18px;gap:12px;padding:16px;display:grid}.class-roster-editor p{margin:0}.class-roster-list{gap:8px;display:grid}.class-roster-row,.class-roster-choice{border:1px solid var(--border);border-radius:12px;justify-content:space-between;align-items:center;gap:12px;padding:10px;display:flex}.class-roster-row strong{font-size:14px}.class-roster-row small,.class-roster-choice small{color:var(--muted);margin-top:4px;font-size:12px;display:block}.class-roster-picker{gap:8px;max-height:300px;display:grid;overflow-y:auto}.class-roster-choice{color:var(--text);text-align:left;cursor:pointer;background:#14271b;width:100%}.student-code-card,.attendance-panel,.teacher-attendance-panel{border:1px solid var(--border);background:#102118;border-radius:20px;margin-block:20px;padding:20px}.student-code-card h3,.attendance-panel h2,.teacher-attendance-panel h3{margin:8px 0 12px;font-size:20px}.student-code-card p,.attendance-panel p,.teacher-attendance-panel p{color:var(--muted);font-size:13px;line-height:1.6}.student-code-card code{color:var(--accent);letter-spacing:.05em;text-align:center;-webkit-user-select:all;user-select:all;overflow-wrap:anywhere;background:#07140c;border:1px solid #c8ff4640;border-radius:12px;margin-block:14px;padding:14px 8px;font-size:clamp(12px,3.2vw,18px);display:block}.student-code-actions{flex-wrap:wrap;gap:8px;display:flex}.student-code-actions button{font-size:12px}.attendance-panel header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.attendance-panel form{gap:12px;display:grid}.attendance-panel form label{color:var(--muted);gap:8px;font-size:13px;display:grid}.access-code-input{text-transform:uppercase;font-family:monospace;font-size:16px}.attendance-class,.attendance-vacancy{border:1px solid var(--border);background:#081810;border-radius:16px;gap:10px;margin-block:12px;padding:14px;display:grid}.attendance-class>div:first-child{gap:6px;display:grid}.attendance-class span,.attendance-class small,.attendance-vacancy span,.attendance-vacancy small{color:var(--muted);font-size:12px;line-height:1.5}.attendance-choices{grid-template-columns:1fr 1fr;gap:8px;display:grid}.attendance-choices button{border:1px solid var(--border);min-height:46px;color:var(--text);cursor:pointer;background:#142a1c;border-radius:12px;font-size:13px}.attendance-choices .selected.yes{border-color:var(--accent);color:var(--accent);background:#304922}.attendance-choices .selected.no{color:#ffcdc5;background:#44241e;border-color:#ffaba0}.attendance-choices button:disabled{opacity:.5}.teacher-reply-row{border-bottom:1px solid var(--border);justify-content:space-between;gap:12px;padding-block:10px;font-size:13px;display:flex}@media (max-width:480px){.attendance-panel,.student-code-card,.teacher-attendance-panel{padding:14px}.attendance-panel h2{font-size:18px}}.attendance-level{color:var(--muted);gap:8px;margin-bottom:12px;font-size:12px;display:grid}
