.filters{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.card-grid{grid-template-columns:repeat(auto-fill,minmax(min(290px,100%),1fr));gap:28px 22px;display:grid}.drill-card{color:var(--ink);flex-direction:column;gap:10px;text-decoration:none;display:flex}.drill-card:hover{color:var(--ink)}.drill-card:hover .drill-card-title{text-decoration:underline}.drill-thumb{position:relative}.drill-thumb .mini-floor{border-width:5px;border-radius:14px;box-shadow:0 1px #c4d2dc,0 10px 22px #13283d1a}.steps-badge{color:#fff;background:#13283ddb;border-radius:999px;align-items:center;gap:5px;padding:5px 10px 5px 8px;font-size:13px;font-weight:600;display:flex;position:absolute;bottom:10px;right:10px}.drill-card-body{flex-direction:column;gap:6px;padding:0 2px;display:flex}.drill-card-title{letter-spacing:-.01em;font-size:19px}.hero{border-radius:var(--radius-stage);background:var(--stage);color:#fff;grid-template-columns:repeat(auto-fit,minmax(min(380px,100%),1fr));align-items:center;gap:24px;padding:24px;display:grid}.hero-kicker{color:var(--sun);font-weight:600}.hero h2{letter-spacing:-.03em;font-size:40px;line-height:1.05}.hero .meta{color:#c9d6e2;font-size:17px}.hero .mini-floor{box-shadow:var(--shadow-board);border-width:6px;border-radius:18px}.hero .btn:not(.btn-sun){color:#fff;background:0 0;border-color:#ffffff59}.two-col{grid-template-columns:repeat(auto-fit,minmax(min(380px,100%),1fr));align-items:start;gap:22px;display:grid}.section-title{letter-spacing:-.01em;font-size:22px;font-weight:700}.session-row{background:var(--surface);border:1px solid var(--line);color:var(--ink);border-radius:16px;grid-template-columns:82px minmax(0,1fr) auto;align-items:center;gap:14px;padding:12px 14px;text-decoration:none;display:grid}.session-row:hover{color:var(--ink);border-color:#a9bbc9}.date-tile{background:var(--soft);border-radius:12px;flex-direction:column;justify-content:center;align-items:center;padding:8px 4px;line-height:1;display:flex}.date-tile .day{font-family:var(--font-num);font-size:30px;font-weight:700}.date-tile .month{text-transform:lowercase;color:var(--muted-strong);font-size:13px}.list{flex-direction:column;gap:10px;display:flex}.planner-grid{flex-wrap:wrap;align-items:flex-start;gap:24px;display:flex}.planner-main{flex-direction:column;flex:999 600px;gap:14px;min-width:0;display:flex}.planner-side{flex:340px;max-width:440px}.time-panel .bar{background:var(--soft);border-radius:7px;gap:3px;height:14px;display:flex;overflow:hidden}.timeline{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.block{align-items:stretch;gap:14px;display:flex}.block-clock{width:58px;font-family:var(--font-num);flex:none;justify-content:flex-end;padding-top:14px;font-size:20px;font-weight:700;display:flex}.block-card{background:var(--surface);border:1px solid var(--line);border-radius:18px;flex-wrap:wrap;flex:1;align-items:center;gap:14px 18px;min-width:0;padding:12px 14px 12px 8px;display:flex}.block-card.dragging{box-shadow:var(--shadow-lift);border-color:var(--blue)}.grip{color:#8a9cad;cursor:grab;touch-action:none;background:0 0;border:0;justify-content:center;align-items:center;width:30px;min-height:44px;display:flex}.block-thumb{flex:none;width:190px}.block-info{flex-direction:column;flex:200px;gap:6px;min-width:0;display:flex}.block-info b{font-size:19px}.stepper{align-items:center;gap:8px;display:flex}.stepper button{background:var(--soft);border:0;border-radius:50%;width:38px;height:38px;font-size:20px;font-weight:600}.stepper .num{text-align:center;min-width:64px;font-size:22px}.drop-hint{min-height:76px;color:var(--muted-strong);text-align:center;border:2px dashed #a9bbc9;border-radius:18px;flex:1;justify-content:center;align-items:center;padding:0 16px;font-size:15px;display:flex}.picker-item{border-radius:14px;align-items:center;gap:12px;padding:8px;display:flex}.picker-item:nth-child(2n){background:#f5f8fa}.picker-item .mini-floor{border-width:2px;flex:none;width:104px}.template-pick{border:1.5px solid var(--line);background:var(--surface);text-align:left;border-radius:14px;flex-direction:column;gap:8px;width:100%;padding:12px;display:flex}.segments{gap:3px;width:100%;height:8px;display:flex}.segments span{border-radius:4px}.prepare{flex-direction:column;gap:16px;padding:20px 24px 32px;display:flex}.prepare-head{flex-wrap:wrap;align-items:center;gap:14px 18px;display:flex}.drill-tabs{flex:420px;gap:10px;max-width:620px;margin-left:auto;display:flex}.drill-tab{text-align:left;min-width:0;color:var(--muted-strong);background:0 0;border:0;flex-direction:column;flex:1;gap:6px;min-height:44px;padding:0;font-size:14px;display:flex}.drill-tab .bar{background:#d5dfe6;border-radius:3px;height:6px}.drill-tab.done .bar{background:var(--blue)}.drill-tab.on{color:var(--ink);font-weight:700}.drill-tab.on .bar{background:var(--sun)}.drill-tab span:last-child{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.prepare-body{flex-wrap:wrap;align-items:flex-start;gap:20px;display:flex}.prepare-player{flex:999 560px;min-width:0}.prepare-side{flex-direction:column;flex:280px;gap:14px;max-width:340px;display:flex}.caption-card{background:var(--ink);color:#fff;border-radius:24px;flex-direction:column;gap:10px;min-height:180px;padding:22px;display:flex}.caption-card .num{color:var(--sun);font-size:22px}.caption-card p{text-wrap:pretty;font-size:21px;font-weight:500;line-height:1.35}.fact-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.fact{background:var(--surface);border:1px solid var(--line);border-radius:18px;flex-direction:column;gap:2px;padding:14px;display:flex}.fact .num{font-size:26px}.howto-rules{grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr));gap:12px;display:grid}.rule{background:var(--surface);border:1px solid var(--line);border-radius:18px;align-items:flex-start;gap:12px;padding:16px;display:flex}.rule-ic{background:var(--ground);border-radius:10px;flex:none;justify-content:center;align-items:center;width:34px;height:34px;display:flex}.howto-grid{flex-wrap:wrap;align-items:flex-start;gap:24px;display:flex}.howto-video{flex-direction:column;flex:560px;gap:14px;min-width:0;display:flex}.chain{color:#c9d6e2;flex-wrap:wrap;align-items:center;gap:8px;font-size:14px;display:flex}.chain-item{color:#c9d6e2;white-space:nowrap;background:#ffffff1a;border-radius:999px;align-items:center;padding:7px 12px;font-weight:600;display:inline-flex}.chain-item.on{background:var(--sun);color:var(--ink)}.howto-steps{flex-direction:column;flex:480px;gap:12px;min-width:0;display:flex}.howto-card{background:var(--surface);border:2px solid var(--line);border-radius:20px;grid-template-columns:200px minmax(0,1fr);gap:16px;padding:14px;transition:border-color .2s,box-shadow .2s;display:grid}.howto-card.on{border-color:var(--blue);box-shadow:0 0 0 5px #1f5bd01f}.howto-card .label{color:var(--muted);font-size:13px;font-weight:700}.do{align-items:flex-start;gap:10px;font-size:15px;line-height:1.4;display:flex}.do .do-ic{background:var(--ground);border-radius:8px;flex:none;justify-content:center;align-items:center;width:40px;height:28px;display:flex}@media (width<=560px){.howto-card{grid-template-columns:1fr}.page-title{font-size:34px}}.private-badge{color:var(--ink);background:#fff;border-radius:999px;padding:4px 10px;font-size:12.5px;font-weight:700;position:absolute;top:10px;left:10px;box-shadow:0 1px 4px #13283d33}.private-badge.team{background:var(--stage);color:var(--sun)}.row-inline{flex-wrap:wrap;align-items:flex-end;gap:10px;display:flex}.template-card{border:1.5px solid var(--line);background:var(--surface);border-radius:14px;overflow:hidden}.template-card .template-pick{border:0;border-radius:0}.template-card .template-pick:hover{background:#f7fafc}.template-footer{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:8px;min-height:44px;padding:0 8px 0 12px;font-size:12.5px;display:flex}.template-trash{width:36px;height:36px;color:var(--muted);background:0 0;border:0;border-radius:10px;justify-content:center;align-items:center;display:flex}.template-trash:hover,.template-trash:focus-visible{color:var(--danger);background:#fdf1ef}.template-confirm-text{margin-right:auto;font-size:13.5px;font-weight:600}.template-small{min-height:32px;padding:0 12px;font-size:13.5px}.team-start{gap:28px;max-width:1040px;padding-top:56px}.team-start-head{flex-direction:column;gap:10px;max-width:640px;display:flex}.team-cards{grid-template-columns:repeat(auto-fill,minmax(min(230px,100%),1fr));gap:16px;display:grid}.team-card{border-radius:var(--radius-panel);background:var(--stage);color:#fff;min-height:150px;font:inherit;text-align:left;cursor:pointer;box-shadow:var(--shadow-lift);border:2px solid #0000;flex-direction:column;align-items:flex-start;gap:6px;padding:22px;transition:transform .15s,border-color .15s;display:flex}.team-card:hover{border-color:var(--sun);transform:translateY(-2px)}.team-card-name{font-family:var(--font-num);color:var(--sun);margin-bottom:auto;font-size:46px;font-weight:700;line-height:1}.team-card-name.long{font-size:34px}.team-card-meta{color:inherit;opacity:.82;font-size:14px}.session-row.unplanned{border-style:dashed;border-color:var(--line-strong);background:0 0}.session-row.unplanned .date-tile{background:var(--soft);color:var(--muted-strong)}.focus-strip{background:var(--sun-tint);color:var(--ink);border-radius:16px;flex-wrap:wrap;align-items:baseline;gap:6px 14px;padding:14px 18px;font-size:16px;display:flex}.focus-strip b{color:var(--muted-strong);font-size:13px}.focus-strip .btn-link{min-height:0;margin-left:auto;font-size:14px}.team-fixed{border-radius:var(--radius-control);background:var(--stage);min-height:44px;color:var(--sun);font-family:var(--font-num);white-space:nowrap;align-items:center;padding:0 14px;font-size:20px;font-weight:700;display:inline-flex}.squad-warn{color:#9a3a0c;background:#fde7dc;border-radius:999px;align-items:center;padding:2px 8px;font-size:12.5px;font-weight:600;display:inline-flex}.team-grid{grid-template-columns:minmax(0,1fr) 320px;align-items:start;gap:20px;display:grid}.team-main{flex-direction:column;gap:16px;display:flex}.slot-list{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.slot-row{background:var(--ground);border-radius:14px;grid-template-columns:150px 120px 120px minmax(0,1fr) 44px;align-items:end;gap:10px;padding:12px;display:grid}.slot-remove{color:var(--danger)}.field-label{color:var(--muted-strong);font-size:13px}.coach-chips{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.coach-chips .chip{background:var(--soft);align-items:center;gap:6px;display:inline-flex}.team-preview{position:sticky;top:16px}.preview-list{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.preview-list li{border-bottom:1px solid var(--line);color:var(--muted-strong);flex-direction:column;gap:2px;padding-bottom:10px;font-size:14px;display:flex}.preview-list li b{color:var(--ink);font-size:15px}@media (width<=900px){.team-grid{grid-template-columns:minmax(0,1fr)}.team-preview{position:static}.slot-row{grid-template-columns:repeat(2,minmax(0,1fr))}.slot-place{grid-column:1/-1}}.team-color-dot{border-radius:50%;flex:none;width:10px;height:10px;display:inline-block;box-shadow:inset 0 0 0 1px #13283d33}.team-color-dot.large{width:16px;height:16px}.team-card{border-top:6px solid var(--sun)}.team-card .team-color-dot.large{margin-bottom:4px}.team-fixed{gap:8px}.team-page-title{align-items:center;gap:14px;display:flex}.color-swatches{flex-wrap:wrap;gap:10px;display:flex}.color-swatch{background:var(--stage);cursor:pointer;border:3px solid #0000;border-radius:50%;justify-content:center;align-items:center;width:48px;height:48px;padding:0;display:inline-flex}.color-swatch span{border-radius:50%;width:26px;height:26px}.color-swatch.on{box-shadow:0 0 0 3px var(--blue);border-color:#fff}.color-preview{display:flex}.club-band{border-radius:var(--radius-panel);border-bottom:6px solid var(--sun);box-shadow:var(--shadow-lift);align-items:center;gap:18px;padding:18px 22px;display:flex}.club-band-logo{object-fit:contain;box-sizing:border-box;background:#fff;border-radius:14px;flex:none;width:64px;height:64px;padding:6px}.club-band-initial{width:64px;height:64px;font-family:var(--font-num);border-radius:14px;flex:none;justify-content:center;align-items:center;font-size:34px;font-weight:700;display:inline-flex}.club-band-text{flex-direction:column;gap:2px;min-width:0;display:flex}.club-band-name{letter-spacing:-.02em;font-size:26px;font-weight:700}.club-band-sub{opacity:.85;font-size:14px}.team-group{flex-direction:column;gap:12px;display:flex}.team-group-title{align-items:center;gap:10px;font-size:18px;font-weight:700;display:flex}.club-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:16px;display:grid}.logo-row{align-items:center;gap:18px;display:flex}.logo-preview{background:var(--ground);border:1px solid var(--line);border-radius:18px;flex:none;justify-content:center;align-items:center;width:120px;height:120px;display:flex}.logo-preview img{object-fit:contain;max-width:100px;max-height:100px}.brand-rings{flex-wrap:wrap;gap:18px;display:flex}.brand-ring{font:inherit;color:var(--ink);cursor:pointer;background:0 0;border:none;border-radius:18px;flex-direction:column;align-items:center;gap:6px;padding:10px 14px;display:flex}.brand-ring:hover{background:var(--ground)}.brand-ring-swatch{width:84px;height:84px;box-shadow:0 0 0 2px var(--line-strong), 0 6px 16px #13283d2e;border:5px solid #fff;border-radius:50%}.brand-ring:hover .brand-ring-swatch{box-shadow:0 0 0 2px var(--ink), 0 6px 16px #13283d2e}.brand-ring-label{font-size:14px;font-weight:600}.brand-ring-hex{color:var(--muted);font-size:15px}.color-dialog{max-width:600px}.color-dialog-body{flex-wrap:wrap;align-items:center;gap:22px;display:flex}.color-compare{height:40px;box-shadow:inset 0 0 0 1px var(--line);border-radius:12px;display:flex;overflow:hidden}.color-compare span{flex:1}.quick-colors{flex-wrap:wrap;gap:6px;display:flex}.quick-color{width:28px;height:28px;box-shadow:0 0 0 1px var(--line-strong);cursor:pointer;border:2px solid #fff;border-radius:50%}.wheel{touch-action:none;cursor:crosshair;border-radius:50%;flex:none;width:240px;height:240px;position:relative}.wheel-disc,.wheel-shade{border-radius:50%;position:absolute;inset:0}.wheel-disc{background:radial-gradient(circle closest-side,#fff,#fff0),conic-gradient(red,#ff0,#0f0,#0ff,#00f,#f0f,red);box-shadow:inset 0 0 0 1px #13283d26}.wheel-shade{pointer-events:none;background:#000}.wheel-marker{width:26px;height:26px;font-family:var(--font-num);color:#fff;text-shadow:0 0 3px #000c;pointer-events:none;border:3px solid #fff;border-radius:50%;justify-content:center;align-items:center;margin:-13px 0 0 -13px;font-size:13px;font-weight:700;display:flex;position:absolute;box-shadow:0 0 0 1px #13283d80,0 4px 10px #0000004d}.wheel-marker.on{width:34px;height:34px;box-shadow:0 0 0 3px var(--blue), 0 4px 10px #0000004d;margin:-17px 0 0 -17px}.wheel-controls{flex-direction:column;flex:220px;gap:14px;min-width:0;display:flex}.wheel-controls input[type=range]{accent-color:var(--blue)}.swatch-dot{vertical-align:-2px;border-radius:50%;width:14px;height:14px;margin-right:6px;display:inline-block;box-shadow:inset 0 0 0 1px #13283d40}.hex-field .input{width:120px;font-family:var(--font-num);letter-spacing:.04em;font-size:18px}.level-list{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.level-row{background:var(--ground);border-radius:14px;grid-template-columns:minmax(120px,180px) minmax(0,1fr) auto 44px;align-items:end;gap:10px;padding:12px;display:grid}.level-colors{flex-wrap:wrap;gap:4px;display:flex}.color-swatch.small{border-width:2px;width:32px;height:32px}.color-swatch.small span{width:16px;height:16px}.level-used{padding-bottom:12px;font-size:13px}@media (width<=1000px){.club-grid{grid-template-columns:minmax(0,1fr)}.level-row{grid-template-columns:minmax(0,1fr) 44px}.level-colors{grid-column:1/-1}}.brand-toggle{background:var(--ground);cursor:pointer;border-radius:14px;align-items:flex-start;gap:12px;padding:14px 16px;display:flex}.brand-toggle input{width:20px;height:20px;accent-color:var(--blue);flex:none;margin-top:2px}.brand-toggle>span{flex-direction:column;gap:4px;font-size:14px;line-height:1.4;display:flex}.brand-toggle b{font-size:15px}.level-chip{background:var(--surface);box-shadow:inset 0 0 0 1px var(--line-strong);align-items:center;gap:7px;display:inline-flex}.level-chip.on{background:var(--ink);color:#fff;box-shadow:none}.card-levels{flex-wrap:wrap;gap:6px;margin-top:2px;display:flex}.card-level{color:var(--muted-strong);align-items:center;gap:5px;font-size:12.5px;display:inline-flex}.color-swatch.light{background:var(--soft)}.level-chip.on .team-color-dot{box-shadow:0 0 0 2px #fff}.club-band-sports{flex-wrap:wrap;gap:12px;display:flex}.club-band-sport{align-items:center;gap:6px;display:inline-flex}.sport-options{flex-wrap:wrap;gap:10px;display:flex}.sport-option{border:2px solid var(--line);background:var(--surface);min-height:52px;color:var(--ink);font:inherit;cursor:pointer;border-radius:14px;align-items:center;gap:10px;padding:0 16px 0 12px;font-size:16px;font-weight:600;display:inline-flex}.sport-option.on{border-color:var(--blue);background:var(--blue-tint)}.club-fieldset{border:0;min-width:0;margin:0;padding:0}.member-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.member-row{background:var(--ground);border-radius:14px;grid-template-columns:minmax(0,1fr) 170px 44px;align-items:center;gap:12px;padding:10px 12px;display:grid}.member-name{flex-direction:column;gap:2px;min-width:0;font-size:15px;display:flex}.member-name .muted{overflow-wrap:anywhere;font-size:13.5px}.member-add{border-top:1px solid var(--line);grid-template-columns:minmax(0,1fr) minmax(0,1.2fr) 160px auto;align-items:end;gap:10px;padding-top:12px;display:grid}.login-page{justify-content:center;padding:72px 16px;display:flex}.login-card{background:var(--surface);width:100%;max-width:420px;box-shadow:var(--shadow-lift);border-radius:24px;flex-direction:column;gap:16px;padding:32px;display:flex}.login-title{letter-spacing:-.02em;font-size:28px}.login-error{color:#8a2f0b;background:#fde7dc;border-radius:12px;margin:0;padding:12px 14px;font-size:14.5px;line-height:1.45}.club-logo{object-fit:contain;border-radius:10px;flex:none}.club-logo-initial{background:var(--stage);color:var(--sun);font-family:var(--font-num);justify-content:center;align-items:center;font-weight:700;display:inline-flex}.club-card{background:var(--surface);color:var(--ink);border:1px solid var(--line);border-top:6px solid var(--sun);gap:10px}.club-card .team-card-meta{color:var(--muted)}.club-card-name{margin-bottom:auto;font-size:22px;font-weight:700}@media (width<=760px){.member-row{grid-template-columns:minmax(0,1fr) 44px}.member-role{grid-column:1/-1}.member-add{grid-template-columns:minmax(0,1fr)}}.admin-page .panel{gap:14px}.admin-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.admin-row{background:var(--ground);border-radius:14px;grid-template-columns:40px minmax(0,1fr) auto;align-items:center;gap:14px;padding:10px 12px;display:grid}.admin-row.user{grid-template-columns:minmax(0,1fr) minmax(0,1.4fr) auto}.admin-clubs{color:var(--muted-strong);font-size:14px}.admin-add{border-top:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:10px;padding-top:12px;display:grid}.admin-add.user{border-top:0;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr) auto;padding-top:0}.admin-sub{border-top:1px solid var(--line);margin:4px 0 -4px;padding-top:12px;font-size:15px;font-weight:700}@media (width<=760px){.admin-row,.admin-row.user,.admin-add,.admin-add.user{grid-template-columns:minmax(0,1fr)}}.club-team-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.club-team-row{border:1px solid var(--line);border-radius:14px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 16px;padding:10px 12px;display:flex}.club-team-name{align-items:center;gap:10px;font-weight:700;display:inline-flex}.coach-picker-button{border:1px solid var(--line);background:var(--surface);max-width:min(360px,100%);min-height:44px;color:var(--ink);font:inherit;cursor:pointer;border-radius:12px;align-items:center;gap:8px;padding:0 14px;font-size:15px;display:inline-flex}.coach-picker-summary{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.coach-picker-summary.unset{color:var(--muted)}.coach-menu{max-height:360px;overflow-y:auto}.coach-option{cursor:pointer;border-radius:12px;align-items:center;gap:12px;min-height:48px;padding:4px 10px;display:flex}.coach-option:hover{background:var(--ground)}.coach-option input{flex:none;width:20px;height:20px}.coach-option-text{flex-direction:column;min-width:0;font-size:15px;display:flex}.coach-option-text .muted{overflow-wrap:anywhere;font-size:13px}.color-menu-anchor{display:inline-flex;position:relative}.color-menu{z-index:60;background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-lift);border-radius:16px;grid-template-columns:repeat(4,36px);gap:10px;padding:14px;display:grid;position:absolute;top:calc(100% + 8px);left:0}.color-menu-swatch{width:36px;height:36px;color:var(--ink);cursor:pointer;background:0 0;border:2px solid #0000;border-radius:50%;justify-content:center;align-items:center;padding:0;display:inline-flex}.color-menu-swatch span{border-radius:50%;width:28px;height:28px;box-shadow:inset 0 0 0 1px #13283d38}.color-menu-swatch:hover{border-color:var(--line-strong)}.color-menu-swatch.on{border-color:var(--blue)}.level-color-button{border:1px solid var(--line);background:var(--surface);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;padding:0;display:inline-flex}.level-color-swatch{border-radius:50%;width:24px;height:24px;box-shadow:inset 0 0 0 1px #13283d38}.club-team-pickers{flex-wrap:wrap;gap:8px;display:inline-flex}.level-menu{width:min(360px,100vw - 32px)}.level-options{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.level-option{border-radius:12px;align-items:center;gap:8px;padding:2px 4px;display:flex}.level-option.on{background:var(--soft)}.level-option-name{min-height:44px;color:var(--ink);font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;border-radius:10px;flex:1;align-items:center;gap:8px;padding:0 8px;font-weight:600;display:flex}.level-option-name .muted{margin-left:auto;font-size:13px;font-weight:500}.level-remove{width:36px;height:36px}.level-add{border-top:1px solid var(--line);align-items:center;gap:8px;margin-top:6px;padding-top:10px;display:flex}.level-add .input{flex:1;min-width:0}.admin-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:inline-flex}.admin-confirm{flex-wrap:wrap;align-items:center;gap:8px;font-size:14px;display:inline-flex}.club-team-confirm{flex-basis:100%;justify-content:flex-end}.editor-page{flex-direction:column;gap:12px;padding:20px 24px 32px;display:flex}.title-input{letter-spacing:-.025em;background:0 0;border:1.5px solid #0000;border-radius:12px;width:100%;min-width:0;margin-left:-8px;padding:2px 8px;font-size:34px;font-weight:700;line-height:1.15}.title-input:hover:not([readonly]),.title-input:focus{border-color:var(--line-strong);background:var(--surface)}.row{align-items:center;display:flex}.col{flex-direction:column;display:flex}.row-between{justify-content:space-between;align-items:center;gap:10px;display:flex}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.template-banner{background:var(--sun-tint);border:1px solid #f3dc8f;border-radius:16px;padding:14px 18px;line-height:1.45}.toolbox{background:var(--soft-2);border-radius:22px;flex-direction:column;flex:272px;gap:2px;max-width:288px;padding:12px 10px;display:flex}.grp{padding:10px 4px 4px;font-size:13px;font-weight:700;display:block}.tg{grid-template-columns:repeat(3,minmax(0,1fr));gap:2px;display:grid}.tile{text-align:center;touch-action:none;-webkit-user-select:none;user-select:none;background:0 0;border:1.5px solid #0000;border-radius:12px;flex-direction:column;align-items:center;gap:5px;min-height:76px;padding:7px 2px 6px;font-size:12.5px;font-weight:500;line-height:1.15;display:flex}.tile:hover{background:var(--surface);border-color:#d5dfe6}.tile.on{background:var(--blue-tint);border-color:var(--blue)}.tile.armed{background:var(--surface);border-style:dashed}.ic{background:var(--surface);border-radius:10px;flex:none;justify-content:center;align-items:center;width:46px;height:34px;display:flex;box-shadow:0 1px #d5dfe6}.help-card{background:var(--ink);color:#fff;border-radius:16px;flex-direction:column;gap:8px;margin-top:10px;padding:14px;font-size:14px;line-height:1.45;display:flex}.help-card b{color:var(--sun);font-size:16px}.help-card .how{color:#c9d6e2;font-size:13px}.editor-main{flex-direction:column;flex:999 560px;gap:12px;min-width:0;display:flex}.toolbar{flex-wrap:wrap;align-items:center;gap:10px 12px;display:flex}.toolbar .zoom{align-items:center;margin-left:auto}.toolbar .zoom .num{text-align:center;min-width:48px;font-size:15px}.edit-stage{flex-direction:column;display:flex}.stage-scroll{overflow:auto}.rink-floor.armed{cursor:crosshair}.legend{background:#fff;border-radius:16px;flex-wrap:wrap;align-items:center;gap:8px 22px;margin-top:16px;padding:10px 16px;font-size:13px;display:flex}.lg{color:var(--muted-strong);white-space:nowrap;align-items:center;gap:8px;display:inline-flex}.step-label{white-space:nowrap;font-size:20px}.stepcard{background:var(--surface);text-align:left;border:2px solid #0000;border-radius:14px;flex-direction:column;gap:6px;min-width:0;padding:8px;display:flex}.stepcard.on{border-color:var(--blue);box-shadow:0 0 0 4px #1f5bd01f}.stepcard .mini-floor{border-width:2px;border-radius:9px}.stepcard-text{color:var(--muted);flex-direction:column;gap:1px;min-width:0;font-size:13px;display:flex}.stepcard-text span{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.stepcard-text .num{color:var(--ink);font-size:16px}.editor-side{flex-direction:column;flex:280px;gap:14px;max-width:340px;display:flex}.note{background:var(--sun-tint);border-radius:12px;padding:10px 12px;font-size:13.5px;line-height:1.45}.materials{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.mat{align-items:center;gap:10px;font-size:14px;display:flex}.mat b{font-family:var(--font-num);margin-left:auto;font-size:18px}.mat-ic{justify-content:center;align-items:center;width:34px;height:26px;display:inline-flex;transform:scale(.8)}.points{flex-direction:column;gap:6px;margin:0;padding:0 0 0 18px;font-size:15px;line-height:1.4;display:flex}.points li span{margin-right:6px}.point-remove{color:var(--muted);background:0 0;border:0;padding:0 4px;font-size:18px;line-height:1}.video-wrap{width:100%;max-width:1440px;margin:0 auto}.tile-ghost{pointer-events:none;z-index:70;align-items:center;gap:8px;display:flex;position:fixed;transform:translate(-50%,-50%)}.tile-ghost .ic{transform:rotate(-6deg);box-shadow:0 12px 24px #13283d4d}.tile-ghost-tip{background:var(--ink);color:#fff;white-space:nowrap;border-radius:10px;padding:6px 10px;font-size:13px}@media print{.toolbox,.editor-main,.editor-side,.drill-head,.part-tabs,.about-main,.template-banner,.about-side>:not([data-testid=materials]){display:none!important}}.panel-selected{border-color:var(--blue);box-shadow:0 0 0 4px #1f5bd01a}.changes{background:var(--blue-tint);border-radius:12px;flex-direction:column;gap:6px;padding:10px 12px;display:flex}.changes ul{flex-direction:column;gap:4px;margin:0;padding-left:18px;font-size:14.5px;font-weight:600;display:flex}.start-hint{background:var(--sun);color:var(--ink);border-radius:10px;padding:8px 10px;font-size:13px;font-weight:600}.share-options{flex-direction:column;gap:10px;display:flex}.share-option{border:2px solid var(--line);cursor:pointer;border-radius:16px;align-items:flex-start;gap:12px;padding:14px 16px;display:flex}.share-option input{width:18px;height:18px;accent-color:var(--blue);flex:none;margin-top:3px}.share-option.on{border-color:var(--blue);background:var(--blue-tint)}.share-option.disabled{cursor:not-allowed;opacity:.6}.share-option-text{color:var(--muted-strong);flex-direction:column;gap:3px;font-size:14px;line-height:1.4;display:flex}.share-option-text b{color:var(--ink);font-size:16px}.drill-link{border:1px dashed var(--line-strong);min-height:44px;color:var(--muted-strong);border-radius:999px;align-items:center;gap:8px;padding:0 14px 0 6px;font-size:14px;font-weight:600;text-decoration:none;display:inline-flex}.drill-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;display:flex}.drill-head-main{flex-direction:column;flex:360px;gap:4px;min-width:0;display:flex}.drill-meta{font:inherit;color:var(--muted);cursor:pointer;text-align:left;background:0 0;border:none;flex-wrap:wrap;align-self:flex-start;gap:4px 0;padding:2px 0;font-size:14px;display:flex}.drill-meta>span+span:before{content:"";background:var(--line-strong);border-radius:50%;width:4px;height:4px;margin:0 10px 3px;display:inline-block}.drill-meta:hover>span:not(.drill-unsaved){color:var(--ink)}.drill-unsaved{color:var(--orange);font-weight:600}.drill-actions{align-items:center;gap:8px;display:flex}.popover-anchor{position:relative}.popover-anchor.push{margin-left:auto}.popover-menu{background:var(--surface);border:1px solid var(--line);min-width:240px;box-shadow:var(--shadow-lift);z-index:30;border-radius:16px;flex-direction:column;gap:2px;padding:8px;display:flex;position:absolute;top:calc(100% + 8px);right:0}.popover-menu>button,.popover-menu>a{min-height:44px;color:var(--ink);font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;border-radius:10px;align-items:center;gap:10px;padding:0 12px;font-size:15px;text-decoration:none;display:flex}.popover-menu>button:hover,.popover-menu>a:hover{background:var(--ground)}.popover-menu>.danger{color:var(--danger);margin-top:4px;position:relative}.popover-menu>.danger:before{content:"";border-top:1px solid var(--line);position:absolute;top:-3px;left:12px;right:12px}.popover-note{color:var(--muted);margin:6px 12px 4px;font-size:13px;line-height:1.4}.q-mini{background:var(--sun);width:18px;height:18px;color:var(--ink);border-radius:50%;justify-content:center;align-items:center;font-size:12px;font-weight:700;display:inline-flex}.part-tabs{border-bottom:1px solid var(--line);gap:8px;display:flex}.part-tab{min-height:52px;color:var(--muted-strong);font:inherit;cursor:pointer;background:0 0;border:none;border-bottom:3px solid #0000;align-items:center;gap:10px;margin-bottom:-1px;padding:0 18px 0 6px;font-size:16px;font-weight:600;display:flex}.part-tab.on{color:var(--ink);border-bottom-color:var(--blue)}.part-tab-num{background:var(--soft);width:28px;height:28px;font-family:var(--font-num);border-radius:50%;justify-content:center;align-items:center;font-size:16px;font-weight:700;display:inline-flex}.part-tab.on .part-tab-num{background:var(--blue);color:#fff}.part-tab-sub{color:var(--muted);font-size:13px;font-weight:500}.drill-grid{grid-template-columns:220px minmax(0,1fr) 300px;align-items:start;gap:20px;display:grid}.drill-toolbox{gap:14px;max-width:none}.dt-section{flex-direction:column;gap:8px;display:flex}.dt-title{font-size:15px;font-weight:700}.dt-hint{color:var(--muted);margin:-4px 0 2px;font-size:13px;line-height:1.4}.drill-toolbox .tg{grid-template-columns:repeat(3,minmax(0,1fr))}.dt-more{border:1px solid var(--line);background:var(--surface);min-height:40px;color:var(--muted-strong);font:inherit;cursor:pointer;border-radius:12px;justify-content:center;align-items:center;gap:6px;font-size:14px;font-weight:600;display:flex}.dt-more:hover{border-color:var(--line-strong);color:var(--ink)}.dt-moves{flex-direction:column;gap:4px;display:flex}.dt-move{background:var(--surface);min-height:44px;color:var(--ink);font:inherit;text-align:left;cursor:pointer;touch-action:none;border:2px solid #0000;border-radius:12px;align-items:center;gap:10px;padding:0 10px 0 6px;font-size:14px;font-weight:600;display:flex}.dt-move:hover{border-color:var(--line)}.dt-move.on{border-color:var(--blue);background:var(--blue-tint)}.dt-move .ic{width:36px;height:30px}.drill-toolbar{align-items:center}.btn-quiet{background:0 0;border-color:#0000}.view-menu{min-width:260px;padding:10px}.view-option{cursor:pointer;border-radius:10px;align-items:center;gap:10px;min-height:40px;padding:0 8px;font-size:15px;display:flex}.view-option:hover{background:var(--ground)}.view-option input{width:18px;height:18px;accent-color:var(--blue)}.view-zoom{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:10px;margin-top:6px;padding:10px 8px 0;font-size:15px;display:flex}.legend-toggle{color:#dbe5ee;font:inherit;cursor:pointer;background:#ffffff14;border:none;border-radius:999px;align-self:center;margin-top:10px;padding:6px 14px;font-size:13.5px}.legend-toggle:hover{color:#fff;background:#ffffff29}.drill-page .edit-stage{flex-direction:column;display:flex}.drill-steps{flex-direction:column;gap:10px;display:flex}.drill-steps-head{justify-content:space-between;align-items:center;display:flex}.drill-strip{scroll-snap-type:x proximity;gap:10px;padding:2px 2px 8px;display:flex;overflow-x:auto}.drill-strip .stepcard,.drill-strip .add-step{scroll-snap-align:start;flex:0 0 132px}.drill-side{max-width:none}.drill-tip{border:1px dashed var(--line-strong);color:var(--muted);border-radius:16px;margin:0;padding:14px 16px;font-size:14px;line-height:1.45}.about-grid{grid-template-columns:minmax(0,1fr) 340px;align-items:start;gap:20px;display:grid}.about-main,.about-side{flex-direction:column;gap:16px;display:flex}.about-form{gap:26px}.af-block{flex-direction:column;gap:10px;display:flex}.af-q{letter-spacing:-.01em;color:var(--ink);font-size:18px;font-weight:700}.af-help{color:var(--muted);margin:-6px 0 0;font-size:14px}.af-chips{flex-wrap:wrap;gap:8px;display:flex}.af-chip{min-height:40px;font:inherit;cursor:pointer;border:none;font-size:15px}.af-chip.on{font-weight:700}.af-row{flex-wrap:wrap;gap:18px;display:flex}.af-field{flex-direction:column;gap:6px;display:flex}.af-label{color:var(--muted-strong);font-size:13.5px}.stepper{border:1px solid var(--line-strong);background:var(--surface);border-radius:12px;align-items:center;display:inline-flex;overflow:hidden}.stepper-btn{width:44px;height:44px;color:var(--ink);cursor:pointer;background:0 0;border:none;font-size:20px}.stepper-btn:hover:not(:disabled){background:var(--ground)}.stepper-btn:disabled{color:var(--line-strong);cursor:default}.stepper-input{border:none;border-left:1px solid var(--line);border-right:1px solid var(--line);text-align:center;width:52px;height:44px;color:var(--ink);-moz-appearance:textfield;background:0 0;font-size:22px}.stepper-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.stepper-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.af-description{min-height:140px;line-height:1.5}.af-count{color:var(--muted);align-self:flex-end;font-size:12.5px}.about-preview{gap:10px}.readiness{color:var(--muted-strong);flex-direction:column;gap:10px;margin:0;padding:0;font-size:15px;list-style:none;display:flex}.readiness li{align-items:center;gap:10px;display:flex}.readiness li.done{color:var(--ink)}.readiness-mark{border:2px solid var(--line-strong);border-radius:50%;flex:none;justify-content:center;align-items:center;width:22px;height:22px;display:inline-flex}.readiness li.done .readiness-mark{color:#fff;background:#2e9e65;border-color:#2e9e65}@media (width<=1180px){.drill-grid{grid-template-columns:200px minmax(0,1fr)}.drill-side{grid-column:1/-1;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px;display:grid}}@media (width<=860px){.drill-grid,.about-grid{grid-template-columns:minmax(0,1fr)}}.step-caption-input{min-height:138px}:root{--ground:#f2f5f7;--surface:#fff;--ink:#13283d;--muted:#50637a;--muted-strong:#3e5268;--line:#dce4ea;--line-strong:#c9d5de;--soft:#e6edf2;--soft-2:#e8eef2;--floor:#cfe0e8;--blue:#1f5bd0;--blue-dark:#163f94;--blue-tint:#dce7fb;--orange:#e8692a;--sun:#ffc21a;--sun-shadow:#d49c00;--sun-tint:#fff6d9;--goal:#d23b2e;--danger:#b4321f;--danger-line:#f0c3bb;--stage:#0f2236;--stage-chip:#13283de0;--font-ui:"Familjen Grotesk", "Helvetica Neue", Arial, sans-serif;--font-num:"Barlow Condensed", "Arial Narrow", sans-serif;--radius-board:34px;--radius-stage:28px;--radius-panel:20px;--radius-control:12px;--shadow-board:0 30px 70px #00000073;--shadow-lift:0 18px 40px #13283d29}*,:before,:after{box-sizing:border-box}html,body{background:var(--ground);color:var(--ink);font-family:var(--font-ui);-webkit-font-smoothing:antialiased;margin:0;font-size:16px}h1,h2,h3,p{margin:0}a{color:var(--blue)}a:hover{color:var(--blue-dark)}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}:focus-visible{outline:3px solid var(--blue);outline-offset:2px}.num{font-family:var(--font-num);font-weight:700}.muted{color:var(--muted)}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.app{flex-direction:column;min-height:100vh;display:flex}.app-header{background:var(--surface);border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:12px 24px;padding:10px 24px;display:flex}.brand{color:var(--ink);letter-spacing:-.02em;align-items:center;gap:10px;font-size:21px;font-weight:700;text-decoration:none;display:flex}.brand:hover{color:var(--ink)}.nav{flex-wrap:wrap;gap:4px;display:flex}.nav a{color:var(--muted-strong);border-radius:999px;padding:8px 14px;font-weight:500;text-decoration:none}.nav a.active{color:var(--ink);background:var(--soft);font-weight:600}.header-right{align-items:center;gap:10px;margin-left:auto;display:flex}.who{color:var(--muted-strong);align-items:center;gap:10px;font-size:14px;display:flex}.avatar{background:var(--ink);color:#fff;border-radius:50%;flex:none;justify-content:center;align-items:center;width:40px;height:40px;font-size:15px;font-weight:600;display:flex}.page{flex-direction:column;gap:22px;width:100%;max-width:1360px;margin:0 auto;padding:28px 24px 56px;display:flex}.page-title{letter-spacing:-.03em;font-size:44px;font-weight:700;line-height:1.05}.page-lead{color:var(--muted-strong);max-width:640px;font-size:17px;line-height:1.5}.title-row{flex-wrap:wrap;align-items:flex-end;gap:16px 24px;display:flex}.title-row>.push{margin-left:auto}.crumb{color:var(--muted);font-size:14px;text-decoration:none}.btn{border:1.5px solid var(--line-strong);background:var(--surface);min-height:44px;color:var(--ink);white-space:nowrap;border-radius:14px;justify-content:center;align-items:center;gap:8px;padding:0 18px;font-size:15px;font-weight:600;text-decoration:none;display:inline-flex}.btn:hover{color:var(--ink);border-color:#a9bbc9}.btn-primary{background:var(--blue);border-color:var(--blue);color:#fff}.btn-primary:hover{background:var(--blue-dark);border-color:var(--blue-dark);color:#fff}.btn-sun{background:var(--sun);color:var(--ink);box-shadow:0 3px 0 var(--sun-shadow);border:0;font-weight:700}.btn-sun:hover{color:var(--ink);background:#ffcd45}.btn-dark{background:var(--stage);color:#fff;border:0;border-radius:999px;padding:0 16px 0 8px}.btn-dark:hover{color:#fff;background:#1a3350}.btn-dark .q{background:var(--sun);width:30px;height:30px;color:var(--ink);font-family:var(--font-num);border-radius:50%;justify-content:center;align-items:center;font-size:18px;font-weight:700;display:inline-flex}.btn-danger{border-color:var(--danger-line);color:var(--danger)}.btn-danger:hover{color:var(--danger);border-color:var(--danger)}.btn-link{color:var(--blue);text-align:left;background:0 0;border:0;min-height:36px;padding:0;font-weight:600}.btn-icon{border-radius:var(--radius-control);width:44px;height:44px;padding:0}.btn-round{background:var(--soft);width:44px;height:44px;color:var(--ink);border:0;border-radius:50%;justify-content:center;align-items:center;display:inline-flex}.chip{background:var(--soft);color:var(--ink);white-space:nowrap;border:0;border-radius:999px;align-items:center;gap:6px;padding:6px 12px;font-size:14px;font-weight:600;text-decoration:none;display:inline-flex}.chip-plain{font-weight:400}button.chip,a.chip{min-height:36px}.chip.on{background:var(--ink);color:#fff}.chip-row{flex-wrap:wrap;gap:8px;display:flex}.seg-group{background:var(--soft);border-radius:999px;gap:2px;padding:3px;display:inline-flex}.seg{color:var(--muted-strong);white-space:nowrap;background:0 0;border:0;border-radius:999px;align-items:center;gap:6px;min-height:36px;padding:8px 12px;font-size:14px;font-weight:600;display:inline-flex}.seg.on{background:var(--ink);color:#fff}.chk{border:1.5px solid var(--line-strong);background:var(--surface);border-radius:999px;align-items:center;gap:8px;min-height:36px;padding:0 12px;font-size:14px;font-weight:500;display:inline-flex}.chk.on{border-color:var(--blue);background:var(--blue-tint)}.panel{background:var(--surface);border-radius:var(--radius-panel);border:1px solid var(--line);flex-direction:column;gap:12px;padding:18px;display:flex}.panel-title{font-size:16px;font-weight:700}.panel-title-num{font-family:var(--font-num);font-size:22px;font-weight:700}.field{color:var(--muted-strong);flex-direction:column;gap:5px;font-size:13px;display:flex}.input,.textarea,.select{border-radius:var(--radius-control);border:1.5px solid var(--line-strong);min-height:42px;color:var(--ink);background:var(--surface);width:100%;padding:0 12px;font-size:16px;font-weight:500}.textarea{resize:vertical;min-height:72px;padding:10px 12px;line-height:1.45}.search{border:1.5px solid var(--line-strong);background:var(--surface);min-height:46px;color:var(--muted);border-radius:14px;align-items:center;gap:10px;padding:0 14px;display:flex}.search input{min-width:0;color:var(--ink);background:0 0;border:0;outline:none;flex:1;font-size:15px}.empty{border-radius:var(--radius-panel);color:var(--muted-strong);text-align:center;border:2px dashed #a9bbc9;flex-direction:column;align-items:center;gap:12px;padding:28px;display:flex}.rink-board{border-radius:var(--radius-board);background:#fff;width:100%;margin:0 auto;padding:10px}.rink-floor{background:var(--floor);border-radius:26px;position:relative;overflow:hidden}.rink-floor svg{width:100%;height:100%;display:block;position:absolute;inset:0}.rink-floor.interactive svg{touch-action:none}.mini-floor{background:var(--floor);border:3px solid #fff;border-radius:12px;position:relative;overflow:hidden;box-shadow:0 1px #c4d2dc}.mini-floor svg{width:100%;height:100%;display:block;position:absolute;inset:0}.stage{border-radius:var(--radius-stage);background:var(--stage);padding:22px}.stage .rink-board{box-shadow:var(--shadow-board)}.overlay-chip{background:var(--stage-chip);color:#fff;z-index:3;border-radius:999px;align-items:center;gap:8px;padding:6px 12px;font-size:14px;font-weight:600;display:flex;position:absolute;top:4%;left:2.5%}.overlay-chip .num{color:var(--sun);font-size:16px}.subtitle{background:var(--stage-chip);color:#fff;text-align:center;z-index:3;border-radius:14px;width:max-content;max-width:84%;padding:10px 18px;font-size:clamp(15px,1.5vw,21px);font-weight:500;line-height:1.35;position:absolute;bottom:4%;left:50%;transform:translate(-50%)}.video-controls{color:#fff;flex-direction:column;gap:10px;padding:16px 4px 0;display:flex}.video-row{flex-wrap:wrap;align-items:center;gap:12px 16px;display:flex}.chapters{gap:4px;display:flex}.chapter{text-align:left;color:#c9d6e2;background:0 0;border:0;flex-direction:column;flex:1;min-width:0;padding:0;font-size:13px;display:flex}.chapter .bar{background:#ffffff2e;border-radius:4px;height:8px;overflow:hidden}.chapter .fill{background:var(--sun);border-radius:4px;height:100%}.chapter .name{white-space:nowrap;text-overflow:ellipsis;min-height:34px;padding-top:6px;overflow:hidden}.chapter.on .name{color:var(--sun);font-weight:700}.light .chapter{color:var(--muted-strong)}.light .chapter .bar{background:var(--line)}.light .chapter.on .name{color:var(--ink)}.play-big{background:var(--sun);width:68px;height:68px;color:var(--ink);box-shadow:0 3px 0 var(--sun-shadow);border:0;border-radius:50%;flex:none;justify-content:center;align-items:center;display:inline-flex}.vbtn{color:#fff;background:#ffffff1f;border:0;border-radius:50%;flex:none;justify-content:center;align-items:center;width:48px;height:48px;display:inline-flex}.light .vbtn{background:var(--surface);color:var(--ink);box-shadow:0 1px #c4d2dc}.vseg-group{background:#ffffff1f;border-radius:999px;gap:2px;padding:3px;display:inline-flex}.light .vseg-group{background:var(--surface);box-shadow:0 1px #c4d2dc}.vseg{color:#c9d6e2;background:0 0;border:0;border-radius:999px;min-height:40px;padding:8px 12px;font-size:14px;font-weight:600}.vseg.on{color:var(--ink);background:#fff}.light .vseg{color:var(--muted-strong)}.light .vseg.on{background:var(--ink);color:#fff}.time{font-family:var(--font-num);letter-spacing:.02em;font-size:22px;font-weight:700}.dialog-backdrop{z-index:50;background:#0f22368c;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.dialog{background:var(--surface);width:100%;max-width:440px;box-shadow:var(--shadow-board);border-radius:24px;flex-direction:column;gap:16px;padding:28px;display:flex}.toast-host{z-index:60;flex-direction:column;gap:8px;width:max-content;max-width:calc(100vw - 32px);display:flex;position:fixed;bottom:24px;left:50%;transform:translate(-50%)}.toast{background:var(--ink);color:#fff;box-shadow:var(--shadow-lift);border-radius:14px;padding:12px 18px;font-size:15px}.toast.error{background:var(--danger)}.loading{text-align:center;color:var(--muted);padding:40px}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}@media print{.app-header,.no-print{display:none!important}}.light .video-controls{color:var(--ink)}.video-dialog{max-width:720px}.video-preview{background:var(--stage);aspect-ratio:16/9;border-radius:14px;width:100%}.progress{background:var(--soft);border-radius:6px;height:12px;overflow:hidden}.progress span{background:var(--sun);border-radius:6px;height:100%;transition:width .1s linear;display:block}.team-switch{position:relative}.team-switch-button{border:1px solid var(--line);background:var(--surface);min-height:44px;color:var(--ink);font:inherit;cursor:pointer;border-radius:999px;align-items:center;gap:8px;padding:0 14px;font-size:15px;font-weight:600;transition:border-color .15s,background .15s;display:flex}.team-switch-button:hover,.team-switch-button[aria-expanded=true]{border-color:var(--line-strong);background:var(--ground)}.team-dot{background:var(--line-strong);border-radius:50%;flex:none;width:9px;height:9px}.team-dot.on{background:var(--sun);box-shadow:0 0 0 3px var(--sun-tint)}.team-switch-label{white-space:nowrap;align-items:baseline;gap:5px;display:inline-flex}.team-switch-prefix{color:var(--muted);font-weight:500}.team-chevron{color:var(--muted);transition:transform .15s}.team-switch-button[aria-expanded=true] .team-chevron{transform:rotate(180deg)}.team-menu{background:var(--surface);border:1px solid var(--line);width:min(300px,100vw - 32px);box-shadow:var(--shadow-lift);z-index:40;border-radius:18px;flex-direction:column;gap:4px;padding:12px;display:flex;position:absolute;top:calc(100% + 8px);right:0}.team-menu-lead{color:var(--muted);margin:2px 8px 8px;font-size:13.5px;line-height:1.45}.team-rows{flex-direction:column;gap:2px;max-height:264px;display:flex;overflow-y:auto}.team-row{min-height:44px;color:var(--ink);font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;border-radius:12px;justify-content:space-between;align-items:center;padding:0 12px;font-size:15px;font-weight:600;display:flex}.team-row:hover{background:var(--ground)}.team-row.on{background:var(--blue-tint);color:var(--blue-dark)}.team-row.all{color:var(--muted-strong);margin-top:4px;padding-top:0;font-weight:500;position:relative}.team-row.all:before{content:"";border-top:1px solid var(--line);position:absolute;top:-3px;left:12px;right:12px}.team-row.all.on{color:var(--blue-dark);font-weight:600}.team-add{border-top:1px solid var(--line);gap:8px;margin-top:8px;padding:10px 0 0;display:flex}.team-add .input{flex:1;min-width:0}@media (width<=640px){.team-switch-prefix{display:none}}.team-row-name{align-items:center;gap:10px;display:inline-flex}.team-row-name .team-color-dot{border-radius:50%;width:10px;height:10px;display:inline-block}.club-chip{min-height:44px;color:var(--ink);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:12px;align-items:center;gap:8px;padding:0 6px;font-size:14px;font-weight:600;text-decoration:none;display:inline-flex}.club-chip:hover{background:var(--ground);color:var(--ink)}.club-chip-logo{object-fit:contain;border-radius:8px;width:32px;height:32px}.club-chip-initial{width:32px;height:32px;font-family:var(--font-num);border-radius:8px;justify-content:center;align-items:center;font-size:18px;font-weight:700;display:inline-flex}.crumb-sep{color:var(--line-strong);margin:0 -4px;font-size:20px}@media (width<=1240px){.club-chip-name,.who>span:first-child,.account-name,.account-button>.account-role{display:none}}:root[data-brand=club] .app-header{background:var(--brand-bg);color:var(--brand-fg);border-bottom:4px solid var(--brand-accent)}:root[data-brand=club] .brand,:root[data-brand=club] .brand:hover,:root[data-brand=club] .club-chip,:root[data-brand=club] .club-chip:hover,:root[data-brand=club] .who,:root[data-brand=club] .who .btn-link,:root[data-brand=club] .nav a{color:var(--brand-fg)}:root[data-brand=club] .club-chip:hover,:root[data-brand=club] .nav a:hover{background:color-mix(in srgb, var(--brand-fg) 12%, transparent)}:root[data-brand=club] .nav a.active{background:var(--brand-accent);color:var(--brand-accent-fg)}:root[data-brand=club] .crumb-sep{color:var(--brand-fg);opacity:.5}:root[data-brand=club] .btn-primary,:root[data-brand=club] .btn-primary:hover{background:var(--brand-bg);border-color:var(--brand-bg);color:var(--brand-fg)}:root[data-brand=club] .btn-primary:hover{filter:brightness(1.15)}:root[data-brand=club] .btn-sun,:root[data-brand=club] .btn-sun:hover{background:var(--brand-accent);color:var(--brand-accent-fg);box-shadow:0 3px 0 color-mix(in srgb, var(--brand-accent) 70%, #000)}:root[data-brand=club] .btn-sun:hover{filter:brightness(1.06)}.account-button{border:1px solid var(--line);background:var(--surface);min-height:44px;color:var(--ink);font:inherit;cursor:pointer;border-radius:999px;align-items:center;gap:10px;padding:3px 12px 3px 3px;font-size:15px;font-weight:600;display:inline-flex}.account-button:hover,.account-button[aria-expanded=true]{box-shadow:0 0 0 3px var(--blue-tint)}.account-button .avatar{width:36px;height:36px;font-size:14px}.account-role{background:var(--blue-tint);color:#1747a8;white-space:nowrap;border-radius:999px;padding:2px 10px;font-size:12.5px;font-weight:600}.user-menu{gap:10px;width:min(300px,100vw - 32px)}.user-menu-line{flex-wrap:wrap;align-items:center;gap:6px 8px;display:flex}.user-menu-items{border-top:1px solid var(--line);border-bottom:1px solid var(--line);flex-direction:column;gap:2px;padding:8px 0;display:flex}.user-menu-item{min-height:44px;color:var(--ink);font:inherit;text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:12px;align-items:center;gap:12px;padding:0 12px;font-size:15px;font-weight:600;text-decoration:none;display:flex}.user-menu-item:hover{background:var(--ground);color:var(--ink)}.user-menu-item.on{border-color:var(--blue);background:var(--blue-tint)}.user-menu-who{overflow-wrap:anywhere;flex-direction:column;gap:3px;font-size:15px;display:flex}.user-menu-who .muted{font-size:13.5px}.team-menu{color:var(--ink)}:root[data-brand=club] .stage{background:var(--brand-stage)}:root[data-brand=club] .part-tab.on{border-bottom-color:var(--brand-marker)}:root[data-brand=club] .part-tab.on .part-tab-num{background:var(--brand-accent);color:var(--brand-accent-fg)}:root[data-brand=club] .stepcard.on{border-color:var(--brand-marker)}.club-badge{color:inherit;white-space:nowrap;background:#ffffff1a;border-radius:999px;align-items:center;gap:8px;padding:4px 10px 4px 4px;font-size:13.5px;font-weight:600;display:inline-flex}.light .club-badge{background:var(--soft)}.club-badge img{object-fit:contain;background:#fff;border-radius:8px;width:28px;height:28px}.app-header img.club-logo{box-sizing:border-box;background:#fff;border-radius:8px;padding:3px}.club-chip.static,.club-chip.static:hover{cursor:default;background:0 0}:root{--chrome-edit:420px;--chrome-video:300px;--chrome-prepare:330px}.tabbar,.rotate-hint,.picker-jump{display:none}@media (width<=640px){:root{--chrome-edit:200px;--chrome-video:200px;--chrome-prepare:200px}.app{padding-bottom:calc(64px + env(safe-area-inset-bottom))}.app-header{padding:8px max(12px, env(safe-area-inset-right)) 8px max(12px, env(safe-area-inset-left));flex-wrap:nowrap;gap:8px}.app-header .brand-name,.app-header .nav,.app-header .crumb-sep,.club-chip-name{display:none}.app-header .brand svg{width:36px;height:36px}.header-right{gap:6px;min-width:0}.team-switch-button{min-width:0;max-width:52vw;padding:0 10px 0 12px}.team-switch-label{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.tabbar{z-index:60;padding:4px max(4px, env(safe-area-inset-right)) calc(4px + env(safe-area-inset-bottom)) max(4px, env(safe-area-inset-left));background:var(--surface);border-top:1px solid var(--line);display:grid;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -6px 18px #13283d14}.tabbar a{min-height:52px;color:var(--muted-strong);border-radius:14px;flex-direction:column;justify-content:center;align-items:center;gap:2px;font-size:11.5px;font-weight:600;text-decoration:none;display:flex}.tabbar a.active{color:var(--ink);background:var(--soft)}:root[data-brand=club] .tabbar{background:var(--brand-bg);border-top:3px solid var(--brand-accent)}:root[data-brand=club] .tabbar a{color:color-mix(in srgb, var(--brand-fg) 78%, transparent)}:root[data-brand=club] .tabbar a.active{background:var(--brand-accent);color:var(--brand-accent-fg)}.page{padding:18px 16px 32px}.editor-page{padding:14px 16px 28px}.page-title{font-size:30px}.title-input{font-size:26px}.drill-head{align-items:stretch}.drill-actions{flex-wrap:wrap;width:100%}.drill-actions>.btn{flex:auto}.popover-menu{max-width:calc(100vw - 32px)}.drill-grid{grid-template-columns:minmax(0,1fr);gap:14px}.drill-grid>.editor-main{display:contents}.drill-grid>.editor-main>.drill-toolbar{order:1}.drill-grid>.editor-main>.stage{order:2}.drill-grid>.drill-toolbox{order:3}.drill-grid>.editor-main>:not(.drill-toolbar):not(.stage):not(.rotate-hint){order:4}.drill-grid>.drill-side{flex-direction:column;order:5;display:flex}.stage{border-radius:22px;padding:10px}.rink-board{border-radius:18px;padding:5px}.rink-floor{border-radius:14px}.rotate-hint{color:var(--muted-strong);justify-content:center;align-items:center;gap:8px;margin:0;font-size:14px;display:flex}.picker-jump{display:inline-flex}.search input,.admin-page .input,input.input,textarea,select{font-size:16px}}@media (width<=640px) and (orientation:landscape){.rotate-hint{display:none}}@media (height<=500px) and (width>=641px){:root{--chrome-edit:36px;--chrome-video:96px;--chrome-prepare:96px}.app-header{padding:6px max(16px, env(safe-area-inset-right)) 6px max(16px, env(safe-area-inset-left));flex-wrap:nowrap;gap:10px}.app-header .brand-name,.app-header .crumb-sep,.club-chip-name,.team-switch-prefix{display:none}.app-header .brand svg{width:34px;height:34px}.app-header .nav{scrollbar-width:none;flex-wrap:nowrap;min-width:0;overflow-x:auto}.app-header .nav a{white-space:nowrap;padding:7px 11px;font-size:14.5px}.header-right{gap:6px}.team-switch-button{min-height:40px}.avatar{width:36px;height:36px}.page{padding:14px max(20px, env(safe-area-inset-right)) 28px max(20px, env(safe-area-inset-left))}.editor-page{padding:10px max(16px, env(safe-area-inset-right)) 24px max(16px, env(safe-area-inset-left))}.drill-grid{grid-template-columns:172px minmax(0,1fr);gap:12px}.drill-grid>.drill-toolbox{overscroll-behavior:contain;max-height:calc(100dvh - 16px);position:sticky;top:8px;overflow-y:auto}.drill-grid>.drill-side{grid-column:1/-1}.drill-toolbox .tg{grid-template-columns:repeat(2,minmax(0,1fr))}.stage{border-radius:20px;padding:8px}.rink-board{border-radius:18px;padding:5px}.rink-floor{border-radius:14px}.search input,input.input,textarea,select{font-size:16px}}@media (width<=640px){.drill-grid>.editor-main>.rotate-hint{order:2}.dt-moves{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;display:grid}.overlay-chip{gap:6px;padding:3px 9px;font-size:12px}}@media (height<=500px) and (width>=641px){.drill-page .edit-stage .rink-board{max-width:calc((100dvh - var(--chrome-edit)) * 2)}}@media (width<=640px){.drop-hint{text-align:center;flex-direction:column;gap:12px;padding:16px}.planner-side .picker-jump{align-self:flex-start}#practice-plan,#drill-picker{scroll-margin-top:12px}}@media (height<=500px) and (width>=641px){:root{--chrome-video:40px;--chrome-prepare:40px}.prepare-player,[data-testid=video-stage]{grid-template-columns:minmax(0,1fr) 236px;align-items:center;gap:14px;display:grid}.prepare-player>.rink-board,[data-testid=video-stage]>.rink-board{margin:0}.drill-toolbox .help-card .btn{white-space:normal;font-size:15px}.video-controls .club-badge{display:none}.video-controls{padding-top:0}}@media (width<=640px){.drill-actions{position:relative}.drill-actions>.popover-anchor{position:static}.drill-actions .popover-menu{min-width:0;max-width:none;left:0;right:0}.coach-menu,.level-menu{left:0;right:auto}}@media (width<=640px),(height<=500px){.account-name,.account-button>.account-role,.account-button .team-chevron{display:none}.account-button{background:0 0;border:0;padding:0}}.field{min-width:0}input.input,select.select{height:44px}input.input[type=date],input.input[type=time]{appearance:none;width:100%;min-width:0;max-width:100%}input.input[type=date]::-webkit-date-and-time-value{text-align:left}input.input[type=time]::-webkit-date-and-time-value{text-align:left}@media (width<=640px){.app-header{position:relative}.app-header .team-switch{position:static}.app-header .team-menu{width:auto;top:calc(100% + 6px);left:12px;right:12px}.member-row{grid-template-columns:minmax(0,1fr) 44px;grid-template-areas:"name name""role trash"}.member-row>.member-name{grid-area:name}.member-row>.member-role,.member-row>.chip{grid-area:role}.member-row>:last-child{grid-area:trash}.club-team-pickers{flex-wrap:nowrap;width:100%;min-width:0}.club-team-pickers>.coach-picker{flex:auto;min-width:0}.club-team-pickers .coach-picker .coach-picker-button{width:100%;max-width:none}.club-team-pickers>.btn-icon{flex:none}.slot-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 44px;grid-template-areas:"day start trash""length place place";align-items:start}.slot-row>:first-child{grid-area:day}.slot-row>:nth-child(2){grid-area:start}.slot-row>:nth-child(3){grid-area:length}.slot-row>.slot-place{grid-area:place}.slot-row>.slot-remove{grid-area:trash;place-self:end}.season-dates>.field{flex:1 1 0}}
