.compo-layout{display:grid;grid-template-columns:minmax(280px,420px) 1fr;gap:1.25rem;align-items:start}.pitch-wrap{position:relative;width:100%;border-radius:16px;overflow:hidden;box-shadow:var(--shadow);background:#0f4d2c;aspect-ratio:3 / 4}.pitch-field{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,rgba(255,255,255,.06) 1px,transparent 1px) 0 0 / 12.5% 100%,linear-gradient(#1a6b3d,#0f4d2c 45%,#0a3a24);border:3px solid rgba(255,255,255,.35);box-sizing:border-box;pointer-events:none}.pitch-field:before,.pitch-field:after{content:"";position:absolute;left:8%;right:8%;height:2px;background:#ffffff47}.pitch-field:before{top:22%}.pitch-field:after{top:50%}.pitch-slot{position:absolute;transform:translate(-50%,-50%);width:22%;min-width:72px;max-width:110px;min-height:42px;height:auto;aspect-ratio:auto;border:1.5px dashed rgba(255,255,255,.55);border-radius:10px;background:#082a1a59;box-shadow:none;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;padding:.45rem .4rem .4rem;transition:background .15s ease,border-color .15s ease,transform .15s ease,box-shadow .15s ease;z-index:2;color:#fff;font:inherit}button.pitch-slot,button.sub-slot{cursor:pointer;-moz-appearance:none;appearance:none;-webkit-appearance:none}.pitch-slot.clickable:hover,.pitch-slot.clickable:focus-visible{background:#c45c26bf;border-color:#fffffff2;border-style:solid;transform:translate(-50%,-50%) scale(1.04);z-index:5;outline:none}.pitch-slot.filled{border-style:solid;border-color:#ffffffd9;background:#f2efe6;box-shadow:0 3px 10px #00000047;color:#010e1e;min-height:48px;padding:.5rem .55rem .45rem}.pitch-slot.filled:hover,.pitch-slot.filled:focus-visible{background:#fff8ef;border-color:#c9a227}.slot-pos{position:absolute;top:3px;left:5px;transform:none;font-size:.62rem;font-weight:800;letter-spacing:.02em;color:#ffffffbf;line-height:1;background:none;padding:0}.pitch-slot.filled .slot-pos{color:#010e1e;background:#0d3b241a;border-radius:4px;padding:1px 4px;top:4px;left:5px}.slot-label{font-size:.62rem;text-align:center;color:#ffffffd9;line-height:1.15;padding:0 2px;margin-top:6px}.slot-player{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;width:100%;padding:8px 2px 0;min-height:0}.slot-player-name{font-size:.72rem;font-weight:700;text-align:center;line-height:1.2;max-width:100%;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;word-break:break-word}.saving-badge{position:absolute;top:10px;right:10px;background:#0000008c;color:#fff;font-size:.75rem;padding:.35rem .6rem;border-radius:8px}.bench-panel{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:1rem;box-shadow:var(--shadow);min-height:320px}.bench-panel h3{margin:0 0 .35rem;font-family:var(--font-display);font-size:1.5rem;letter-spacing:.03em;color:var(--green-deep)}.bench-hint{margin:0 0 .75rem;color:var(--muted);font-size:.9rem}.subs-grid{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;margin-bottom:.5rem}.sub-slot{display:flex;align-items:center;gap:.5rem;min-height:48px;padding:.35rem .5rem;border:2px dashed var(--line);border-radius:10px;background:#ffffff8c;transition:border-color .15s ease,background .15s ease;text-align:left;color:inherit;width:100%}.sub-slot.clickable:hover,.sub-slot.clickable:focus-visible{border-color:var(--accent);background:#c45c261a;outline:none}.sub-slot.filled{border-style:solid;border-color:var(--green-mid)}.sub-pos{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;min-width:1.6rem;height:1.6rem;border-radius:6px;background:var(--accent);color:#fff;font-weight:700;font-size:.8rem}.sub-empty{color:var(--muted);font-size:.85rem}.sub-player{font-size:.88rem;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chip-num{display:inline-flex;align-items:center;justify-content:center;min-width:1.6rem;height:1.6rem;border-radius:6px;background:var(--green-deep);color:#fff;font-weight:700;font-size:.85rem}.slot-modal{width:min(480px,100%);max-height:min(85vh,720px);display:flex;flex-direction:column;overflow:hidden;margin:0}.slot-modal-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.75rem}.slot-modal-list{overflow:auto;display:flex;flex-direction:column;gap:.45rem;min-height:120px;padding-right:.15rem}.slot-pick{display:flex;align-items:center;gap:.65rem;width:100%;text-align:left;border:1px solid var(--line);border-radius:10px;padding:.55rem .7rem;background:#fff;cursor:pointer;font:inherit;color:inherit;transition:border-color .15s ease,background .15s ease}.slot-pick:hover,.slot-pick:focus-visible{border-color:var(--green-mid);background:#e8ecf2;outline:none}.slot-pick.current{border-color:var(--accent);background:#c45c2614}.slot-pick-info{display:flex;flex-direction:column;gap:.1rem;min-width:0}.slot-pick-info strong{font-size:.95rem}.slot-pick-info small{color:var(--muted);font-size:.78rem}.player-modal-form{display:flex;flex-direction:column;gap:.75rem;overflow:auto}.player-modal-form .field{flex:none;min-width:0}@media(max-width:800px){.compo-layout{grid-template-columns:1fr}.pitch-wrap{max-width:min(420px,100%);margin:0 auto}.bench-panel{min-height:0}.subs-grid{grid-template-columns:1fr}}.export-root{min-height:100%;overflow:visible}.export-toolbar{display:flex;gap:.75rem;justify-content:flex-end;margin-bottom:1rem}.export-sheet{background:#fff;color:#132018;border-radius:14px;border:1px solid rgba(19,32,24,.12);padding:1.5rem;box-shadow:0 12px 40px #0d3b241f;overflow:visible}.export-header{text-align:center;margin-bottom:1.25rem;padding-bottom:1rem;border-bottom:2px solid #010e1e}.export-brand{margin:0;font-family:Bebas Neue,sans-serif;letter-spacing:.06em;color:#010e1e;font-size:1.35rem}.export-header h1{margin:.2rem 0;font-family:Bebas Neue,sans-serif;font-size:2.2rem;letter-spacing:.03em;color:#010e1e}.export-meta{margin:0;color:#5a6b60}.export-pitch-section h2,.export-subs-section h2,.export-table-section h2{margin:0 0 .75rem;font-family:Bebas Neue,sans-serif;font-size:1.4rem;letter-spacing:.03em;color:#010e1e}.export-pitch{position:relative;width:min(520px,100%);margin:0 auto 1.25rem;aspect-ratio:3 / 4.2;border-radius:14px;overflow:visible;background:#0f4d2c;border:3px solid rgba(255,255,255,.35);box-sizing:border-box;-webkit-print-color-adjust:exact;print-color-adjust:exact}.export-pitch:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:11px;background:linear-gradient(#ffffff1f,#ffffff1f) center / 100% 2px no-repeat,linear-gradient(90deg,rgba(255,255,255,.07) 1px,transparent 1px) 0 0 / 12.5% 100%,linear-gradient(#1a6b3d,#0f4d2c 45%,#0a3a24);pointer-events:none;-webkit-print-color-adjust:exact;print-color-adjust:exact}.export-slot{position:absolute;transform:translate(-50%,-50%);z-index:1;width:15.5%;min-width:0;max-width:78px;min-height:2.1rem;border:1.5px solid rgba(255,255,255,.9);border-radius:8px;background:#0a301e8c;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:.35rem .25rem .3rem;color:#f4f7f5;box-sizing:border-box;-webkit-print-color-adjust:exact;print-color-adjust:exact}.export-slot.filled{background:#f2efe6;border-color:#fff;color:#010e1e;box-shadow:0 2px 6px #00000047}.export-slot-pos{position:absolute;top:2px;left:4px;font-size:.55rem;font-weight:800;line-height:1;opacity:.8}.export-slot-name{font-size:.58rem;font-weight:700;text-align:center;line-height:1.15;max-width:100%;margin-top:.45rem;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;word-break:break-word;-webkit-hyphens:auto;hyphens:auto}.export-slot-empty{opacity:.55;font-size:.75rem;margin-top:.35rem}.export-subs{display:grid;grid-template-columns:repeat(4,1fr);gap:.45rem;margin-bottom:1.5rem}.export-sub{display:flex;align-items:center;gap:.4rem;padding:.4rem .5rem;border:1px solid rgba(19,32,24,.15);border-radius:8px;font-size:.85rem;background:#f7f5ef;-webkit-print-color-adjust:exact;print-color-adjust:exact}.export-sub.filled{background:#e8ecf2;border-color:#1a2d45}.export-sub-pos{display:inline-flex;align-items:center;justify-content:center;min-width:1.4rem;height:1.4rem;border-radius:5px;background:#c9a227;color:#fff;font-weight:700;font-size:.75rem;-webkit-print-color-adjust:exact;print-color-adjust:exact}.export-table-section{overflow:visible}.export-table{width:100%;border-collapse:collapse;font-size:.95rem;table-layout:fixed}.export-table th,.export-table td{border:1px solid rgba(19,32,24,.18);padding:.4rem .55rem;text-align:left;word-wrap:break-word;overflow-wrap:anywhere}.export-table th:nth-child(1),.export-table td:nth-child(1){width:12%}.export-table th:nth-child(2),.export-table td:nth-child(2){width:28%}.export-table th:nth-child(3),.export-table td:nth-child(3){width:32%}.export-table th:nth-child(4),.export-table td:nth-child(4){width:28%}.export-table th{background:#010e1e;color:#fff;font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;-webkit-print-color-adjust:exact;print-color-adjust:exact}.export-table tbody tr:nth-child(2n){background:#f3f7f4;-webkit-print-color-adjust:exact;print-color-adjust:exact}.muted{color:#5a6b60}@media(max-width:700px){.export-subs{grid-template-columns:repeat(2,1fr)}.export-pitch{width:100%}.export-slot{width:17%;max-width:none}}@media print{@page{size:A4;margin:8mm}html,body,#root,.app,.main,.export-root,.export-sheet{overflow:visible!important;height:auto!important;max-height:none!important;background:#fff!important}.topbar,.no-print,.export-toolbar{display:none!important}.main{width:100%!important;max-width:none!important;padding:0!important;margin:0!important}.export-sheet{box-shadow:none;border:none;border-radius:0;padding:0}.export-header{margin-bottom:.45rem;padding-bottom:.4rem}.export-header h1{font-size:1.45rem}.export-brand{font-size:1.05rem}.export-meta{font-size:.85rem}.export-pitch-section h2,.export-subs-section h2,.export-table-section h2{font-size:1.05rem;margin-bottom:.35rem}.export-pitch{width:100%;max-width:170mm;aspect-ratio:3 / 3.6;margin-bottom:.55rem;break-inside:avoid;page-break-inside:avoid;overflow:visible}.export-slot{width:14.5%;max-width:22mm;min-height:7.5mm;padding:1.2mm .8mm 1mm;border-radius:2mm;box-shadow:none}.export-slot-pos{font-size:6.5pt;top:.6mm;left:1mm}.export-slot-name{font-size:7pt;margin-top:2.2mm;line-height:1.1}.export-subs{margin-bottom:.55rem;break-inside:avoid;page-break-inside:avoid;gap:.3rem}.export-sub{font-size:8.5pt;padding:.25rem .35rem}.export-subs-section{break-inside:avoid;page-break-inside:avoid}.export-table-section{break-inside:auto;page-break-inside:auto;overflow:visible!important}.export-table{font-size:9pt;break-inside:auto;page-break-inside:auto}.export-table thead{display:table-header-group}.export-table tr{break-inside:avoid;page-break-inside:avoid}.export-table th,.export-table td{padding:.2rem .3rem}}.live-page{max-width:42rem;margin:0 auto}.live-header{margin-bottom:1rem}.live-eyebrow{margin:0;font-size:.85rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.live-scoreboard{display:flex;align-items:center;justify-content:center;gap:1rem;margin-top:.75rem;padding:1rem 1.25rem;background:var(--green-deep);color:var(--cream);border-radius:var(--radius)}.live-score-side{display:flex;flex-direction:column;align-items:center;gap:.15rem;min-width:5rem}.live-score-label{font-size:.85rem;opacity:.85;text-align:center;max-width:8rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.live-score-value{font-family:var(--font-display);font-size:3rem;line-height:1}.live-score-sep{font-family:var(--font-display);font-size:2rem;opacity:.7}.live-timer{margin-bottom:1rem}.live-visitor-half{margin:0 0 .5rem;text-align:center;font-family:var(--font-display);font-size:1.45rem;color:var(--green-deep);letter-spacing:.03em}.live-clock{font-family:var(--font-display);font-size:clamp(3.5rem,16vw,5.5rem);line-height:1;text-align:center;color:var(--green-deep);letter-spacing:.04em}.live-clock.running{color:var(--accent)}.live-clock.ended{color:#a32020}.live-progress{height:6px;margin:.85rem 0 1rem;background:var(--line);border-radius:999px;overflow:hidden}.live-progress-bar{height:100%;background:var(--green-mid);transition:width .2s linear}.live-timer-actions{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:1rem}.live-duration{display:flex;flex-wrap:wrap;align-items:end;gap:.5rem;margin-bottom:.75rem}.live-duration label{width:100%;font-size:.85rem;color:var(--muted)}.live-duration input{width:5rem;padding:.45rem .55rem;border:1px solid var(--line);border-radius:8px;font:inherit}.live-actions h2,.live-timeline h2{margin:0 0 .75rem;font-family:var(--font-display);font-size:1.6rem;font-weight:400;color:var(--green-deep)}.live-actions{margin-bottom:1rem}.live-action-grid{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}.live-timeline-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}.live-event{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.65rem .75rem;border-radius:10px;border:1px solid var(--line);background:#ffffff8c}.live-event.home{border-left:4px solid var(--green-mid)}.live-event.away{border-left:4px solid var(--accent)}.live-event-main{display:flex;flex-wrap:wrap;gap:.35rem .75rem;align-items:baseline}.live-event-time{font-weight:700;color:var(--green-deep)}.live-event-type{font-weight:600}.live-event-who{color:var(--muted)}@media(max-width:520px){.live-action-grid{grid-template-columns:1fr}.live-score-value{font-size:2.4rem}}.visitor-home{max-width:44rem;margin:0 auto}.visitor-hero{margin-bottom:1.25rem;text-align:center}.visitor-logo{display:block;width:min(9rem,42vw);height:auto;margin:0 auto .85rem;object-fit:contain}.visitor-eyebrow{margin:0;font-size:.8rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.visitor-next h2,.visitor-home .panel>h2{margin:0 0 .85rem;font-family:var(--font-display);font-size:1.55rem;font-weight:400;color:var(--green-deep)}.visitor-next-card{display:flex;flex-wrap:wrap;gap:1rem;align-items:center;justify-content:space-between}.visitor-next-vs{margin:0;font-family:var(--font-display);font-size:2rem;color:var(--green-deep);line-height:1.1}.visitor-next-meta{margin:.25rem 0 0;color:var(--muted)}.visitor-next-actions{display:flex;flex-wrap:wrap;gap:.5rem}.visitor-pitch-wrap{margin-top:.5rem}.visitor-pitch{position:relative;width:100%;max-width:520px;margin:0 auto 1rem;aspect-ratio:3 / 4;border-radius:14px;background:#0f4d2c;border:3px solid rgba(255,255,255,.35);box-sizing:border-box}.visitor-pitch:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:11px;background:linear-gradient(#ffffff1f,#ffffff1f) center / 100% 2px no-repeat,linear-gradient(90deg,rgba(255,255,255,.07) 1px,transparent 1px) 0 0 / 12.5% 100%,linear-gradient(#1a6b3d,#0f4d2c 45%,#0a3a24);pointer-events:none}.visitor-slot{position:absolute;transform:translate(-50%,-50%);z-index:1;width:17%;min-width:4.2rem;max-width:5.6rem;min-height:2.6rem;padding:.35rem .3rem .3rem;border-radius:8px;border:1.5px solid rgba(255,255,255,.85);background:#0a301e8c;color:#f4f7f5;display:flex;flex-direction:column;align-items:center;justify-content:center;box-sizing:border-box}.visitor-slot.filled{background:#f2efe6;border-color:#fff;color:#010e1e;box-shadow:0 2px 6px #00000040}.visitor-slot-pos{position:absolute;top:3px;left:5px;font-size:.65rem;font-weight:800;line-height:1;opacity:.85}.visitor-slot-name{margin-top:.55rem;font-size:.72rem;font-weight:700;text-align:center;line-height:1.15;color:inherit;word-break:break-word;max-width:100%}.visitor-slot-empty{margin-top:.4rem;opacity:.6;font-size:.85rem}.visitor-subs-title{margin:.75rem 0 .5rem;font-family:var(--font-display);font-size:1.25rem;font-weight:400;color:var(--green-deep)}.visitor-subs{display:grid;grid-template-columns:repeat(auto-fill,minmax(9.5rem,1fr));gap:.45rem;margin-bottom:1rem}.visitor-sub{display:flex;align-items:center;gap:.4rem;padding:.45rem .55rem;border:1px solid rgba(19,32,24,.15);border-radius:8px;font-size:.9rem;background:#f7f5ef;color:var(--ink)}.visitor-sub.filled{background:#e8ecf2;border-color:#1a2d45}.visitor-sub-pos{display:inline-flex;align-items:center;justify-content:center;min-width:1.4rem;height:1.4rem;border-radius:5px;background:#c9a227;color:#fff;font-weight:700;font-size:.75rem}.visitor-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.35rem}.visitor-list li{display:grid;grid-template-columns:2rem 1fr;gap:.5rem;align-items:baseline;padding:.35rem .5rem;border-radius:8px;background:#ffffff8c;border:1px solid var(--line);font-size:.95rem}.visitor-list-pos{font-weight:800;color:var(--green-deep)}.visitor-list-name{color:var(--ink)}@media(max-width:520px){.visitor-slot{width:19%;min-width:3.6rem;max-width:none;min-height:2.35rem}.visitor-slot-name{font-size:.62rem}}.section-title{margin:0 0 .35rem;font-family:var(--font-display);font-size:1.55rem;letter-spacing:.03em;color:var(--green-deep)}.theme-chips{display:flex;flex-wrap:wrap;gap:.35rem;margin:.55rem 0}.theme-chip{display:inline-flex;align-items:center;padding:.25rem .65rem;border-radius:999px;background:#1a2d451a;color:var(--green-deep);font-size:.82rem;font-weight:700;text-transform:lowercase;border:1px solid transparent}.theme-chip-btn{cursor:pointer;background:#ffffffb3;border-color:var(--line)}.theme-chip-active{cursor:pointer;background:var(--green-deep);color:#fff;border-color:var(--green-deep)}.theme-chips-edit .theme-chip{font-family:inherit}.training-template-list,.period-list{display:flex;flex-direction:column;gap:1rem}.training-template-card,.period-card{border:1px solid var(--line);border-radius:12px;padding:1rem;background:#ffffff8c}.training-template-head,.period-card-head{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.75rem;align-items:flex-start}.training-template-head h2,.period-card h3{margin:0;font-family:var(--font-display);font-size:1.35rem;letter-spacing:.03em;color:var(--green-deep)}.training-desc{margin:.35rem 0 .75rem;color:var(--muted);white-space:pre-wrap}.exercise-preview{margin:0;padding-left:1.15rem}.exercise-preview li{margin-bottom:.55rem}.exercise-preview p{margin:.2rem 0 0;color:var(--muted);white-space:pre-wrap;font-size:.92rem}.exercise-time{margin-left:.45rem;color:var(--accent);font-weight:700;font-size:.85rem}.training-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;background:#13201873;display:grid;place-items:center;padding:1rem}.training-modal{width:min(1100px,96vw);max-height:min(94vh,960px);margin:0;display:flex;flex-direction:column;overflow:hidden;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:1.25rem;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.training-modal-head{display:flex;justify-content:space-between;align-items:flex-start;gap:.75rem;margin-bottom:.75rem;flex-shrink:0}.training-modal-head h2{margin:0;font-family:var(--font-display);font-size:1.55rem;letter-spacing:.03em;color:var(--green-deep)}.training-modal-body{flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;display:flex;flex-direction:column;gap:.75rem}.training-modal-actions{display:flex;flex-wrap:wrap;gap:.5rem;flex-shrink:0;margin-top:.85rem;padding-top:.75rem;border-top:1px solid var(--line)}.training-field{display:flex;flex-direction:column;gap:.3rem;flex:0 0 auto;width:100%}.training-field label{font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.training-field input,.training-field select,.training-field textarea{padding:.55rem .7rem;border:1px solid var(--line);border-radius:10px;background:#fff;font:inherit}.training-field textarea{resize:vertical;min-height:2.5rem}.training-field-row{display:flex;flex-wrap:wrap;gap:.65rem;align-items:end}.training-field-row .training-field{flex:1 1 200px;width:auto}.training-field-row .training-field-sm{flex:0 0 110px;max-width:120px}.training-field-row .training-field-full{flex:1 1 100%}.exercises-editor{margin-top:0;display:flex;flex-direction:column;gap:.75rem;flex:0 0 auto}.exercises-editor-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.exercises-editor-head h3{margin:0;font-family:var(--font-display);font-size:1.25rem;color:var(--green-deep)}.muted-inline{color:var(--muted);font-weight:600;font-size:.9rem}.exercise-edit-block{border:1px solid var(--line);border-radius:12px;padding:.85rem;background:#ffffffa6}.exercise-edit-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem;margin-bottom:.55rem}.exercise-index{font-weight:800;color:var(--green-deep);margin-right:.25rem}.field textarea{padding:.55rem .7rem;border:1px solid var(--line);border-radius:10px;background:#fff;font:inherit;resize:vertical;min-height:2.5rem}.slots-editor{display:flex;flex-direction:column;gap:.65rem}.slot-row{display:flex;flex-wrap:wrap;gap:.65rem;align-items:end;padding:.65rem;border:1px solid var(--line);border-radius:12px;background:#ffffff8c}.assignment-list{list-style:none;margin:.65rem 0 0;padding:0;display:flex;flex-direction:column;gap:.45rem}.assignment-list li{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.5rem;align-items:center;padding:.55rem .7rem;border-radius:10px;background:#1a2d450f}.slot-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;background:#13201873;display:grid;place-items:center;padding:1rem}.slot-modal{width:min(480px,100%);max-height:min(85vh,720px);display:flex;flex-direction:column;overflow:auto;margin:0}.slot-modal-head{display:flex;justify-content:space-between;align-items:flex-start;gap:.75rem;margin-bottom:.75rem}.slot-modal-head h2{margin:0;font-family:var(--font-display);font-size:1.55rem;letter-spacing:.03em;color:var(--green-deep)}.slot-modal-actions{display:flex;flex-wrap:wrap;gap:.5rem}.player-modal-form{display:flex;flex-wrap:wrap;gap:.75rem}.training-live-top{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1rem}.training-live-current{text-align:center;margin-bottom:1.25rem}.training-live-current h2{margin:.25rem 0 .5rem;font-family:var(--font-display);font-size:clamp(1.6rem,4vw,2.2rem);letter-spacing:.03em;color:var(--green-deep)}.training-live-step{margin:0;font-weight:700;text-transform:uppercase;letter-spacing:.06em;font-size:.8rem;color:var(--muted)}.training-live-clock{margin:.75rem 0 1rem;font-family:var(--font-display);font-size:clamp(3.5rem,14vw,5.5rem);letter-spacing:.04em;color:var(--green-deep);line-height:1}.training-live-clock-urgent{color:#8b2e2e;animation:training-pulse .8s ease-in-out infinite}.training-live-description{text-align:left;margin:0 auto 1.15rem;max-width:40rem;padding:.9rem 1rem;border-radius:12px;border:1px solid var(--line);background:#ffffffbf}.training-live-description-label{margin:0 0 .35rem;font-size:.75rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.training-live-description-text{margin:0;color:var(--ink);font-size:1.05rem;line-height:1.45;white-space:pre-wrap}@keyframes training-pulse{0%,to{opacity:1}50%{opacity:.55}}.training-live-controls{justify-content:center}.training-live-done{text-align:center;margin-bottom:1.25rem}.training-live-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.45rem}.training-live-item{display:flex;align-items:flex-start;gap:.75rem;padding:.65rem .75rem;border-radius:10px;border:1px solid var(--line);background:#ffffff8c}.training-live-item-status{flex:0 0 1.75rem;width:1.75rem;height:1.75rem;display:grid;place-items:center;border-radius:999px;font-weight:800;font-size:.85rem;background:#1a2d451a;color:var(--green-deep)}.training-live-item-running{border-color:var(--accent);background:#c9a2271f}.training-live-item-running .training-live-item-status{background:var(--accent);color:#fff}.training-live-item-done{opacity:.72}.training-live-item-done .training-live-item-status{background:var(--green-deep);color:#fff}.assignment-link{cursor:pointer;color:var(--green-mid);font-weight:700;background:none;border:none;padding:0;font:inherit;text-align:left}.assignment-link:hover{text-decoration:underline}.slots-summary{display:flex;flex-wrap:wrap;gap:.5rem;margin:.75rem 0 0}.slot-chip{display:inline-flex;align-items:center;gap:.35rem;padding:.4rem .75rem;border-radius:10px;background:#1a2d4514;font-weight:700;color:var(--green-deep);font-size:.92rem}.install-banner{position:sticky;bottom:0;z-index:40;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem;padding:.85rem 1rem;margin:0 -1rem -1rem;background:#010e1e;color:#f2efe6;border-top:1px solid rgba(242,239,230,.2)}.install-banner p{margin:0;flex:1 1 12rem;font-size:.95rem}.install-banner-actions{display:flex;gap:.5rem}.install-banner .btn{background:#f2efe6;color:#010e1e;border:none}.install-banner .btn-ghost{background:transparent;color:#f2efe6;border:1px solid rgba(242,239,230,.45)}:root{--green-deep: #010e1e;--green-mid: #1a2d45;--green-field: #2a4060;--cream: #f2efe6;--ink: #0a1220;--muted: #5a6573;--accent: #c9a227;--accent-soft: #e0c56a;--line: rgba(1, 14, 30, .12);--card: rgba(255, 255, 255, .72);--shadow: 0 12px 40px rgba(1, 14, 30, .18);--radius: 14px;--font-display: "Bebas Neue", sans-serif;--font-body: "Source Sans 3", sans-serif}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100%;overflow-x:hidden;max-width:100vw}body{font-family:var(--font-body);color:var(--ink);background:radial-gradient(ellipse 80% 50% at 10% -10%,rgba(201,162,39,.16),transparent),radial-gradient(ellipse 60% 40% at 90% 0%,rgba(26,45,69,.22),transparent),linear-gradient(160deg,#e8ecf2 0%,var(--cream) 45%,#dce2ea 100%);background-attachment:fixed}a{color:inherit;text-decoration:none}button,input,select{font:inherit}.app{min-height:100vh;display:flex;flex-direction:column;overflow-x:hidden;width:100%}.topbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.65rem 1rem;padding:1rem 1.5rem;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#f2efe6b3;position:sticky;top:0;z-index:20}.brand{display:inline-flex;align-items:center;gap:.55rem;font-family:var(--font-display);font-size:1.85rem;letter-spacing:.04em;color:var(--green-deep);flex:0 0 auto}.brand-logo{width:2.4rem;height:2.4rem;object-fit:contain;flex-shrink:0;border-radius:6px}.brand-text{line-height:1}.topbar nav{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem;min-width:0;flex:1 1 auto;justify-content:flex-end}.topbar nav a{padding:.45rem .9rem;border-radius:999px;color:var(--muted);font-weight:600}.topbar nav a.active{background:var(--green-deep);color:#fff}.main{flex:1;width:min(1100px,100%);margin:0 auto;padding:1.5rem}.page-title{font-family:var(--font-display);font-size:clamp(2rem,4vw,2.8rem);letter-spacing:.03em;margin:0 0 .25rem;color:var(--green-deep)}.page-sub{margin:0 0 1.5rem;color:var(--muted)}.panel{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:1.25rem;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);overflow:hidden;max-width:100%}.toolbar{display:flex;flex-wrap:wrap;gap:.75rem;align-items:end;margin-bottom:0}.field{display:flex;flex-direction:column;gap:.3rem;flex:1 1 140px;min-width:0}.field-sm{flex:1 1 120px}.field-xs{flex:1 1 90px;max-width:120px}.field label{font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.field input,.field select{padding:.55rem .7rem;border:1px solid var(--line);border-radius:10px;background:#fff}.btn{border:none;border-radius:10px;padding:.6rem 1rem;font-weight:700;cursor:pointer;transition:transform .15s ease,opacity .15s ease}.btn:hover{transform:translateY(-1px)}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn-primary{background:var(--green-deep);color:#fff}.btn-accent{background:var(--accent);color:#fff}.btn-ghost{background:transparent;border:1px solid var(--line);color:var(--ink)}.btn-danger{background:#8b2e2e;color:#fff}.btn-sm{padding:.35rem .65rem;font-size:.85rem}.table{width:100%;border-collapse:collapse}.table th,.table td{text-align:left;padding:.75rem .5rem;border-bottom:1px solid var(--line)}.table th{font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}.row-actions{display:flex;gap:.4rem;flex-wrap:wrap}.error{background:#fde8e8;color:#8b2e2e;padding:.75rem 1rem;border-radius:10px;margin-bottom:1rem}.success{background:#e4eaf2;color:var(--green-deep);padding:.75rem 1rem;border-radius:10px;margin-bottom:1rem}.empty{text-align:center;color:var(--muted);padding:2rem 1rem}.score{font-family:var(--font-display);font-size:1.4rem;letter-spacing:.05em}.linkish{color:var(--green-mid);font-weight:700}.linkish:hover{text-decoration:underline}.user-chip{display:inline-flex;align-items:center;gap:.4rem;margin-left:.2rem;padding-left:.55rem;border-left:1px solid var(--line);color:var(--muted);font-weight:600;text-transform:capitalize;flex:0 0 auto}.user-name{max-width:7rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.table-desktop{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.card-list{display:none;flex-direction:column;gap:.75rem}.data-card{border:1px solid var(--line);border-radius:12px;padding:.85rem;background:#ffffffa6}.data-card-head{display:flex;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.35rem}.data-card-meta{margin:0 0 .75rem;color:var(--muted);font-size:.9rem}.login-page{min-height:100vh;display:grid;place-items:center;padding:1.5rem}.login-card{width:min(420px,100%)}.login-logo{display:block;width:7.5rem;height:auto;margin:0 auto .85rem;object-fit:contain}.login-brand{margin:0;font-family:var(--font-display);font-size:1.6rem;letter-spacing:.04em;color:var(--green-deep);text-align:center}.login-card h1{margin:.15rem 0 0;font-family:var(--font-display);font-size:2.2rem;color:var(--green-deep);letter-spacing:.03em;text-align:center}.login-card .page-sub{text-align:center}@media(max-width:760px){.table-desktop{display:none}.card-list{display:flex}.main{padding:1rem;width:100%}.topbar{padding:.75rem .85rem}.brand{font-size:1.45rem}.brand-logo{width:2rem;height:2rem}.topbar nav{width:100%;justify-content:flex-start}.topbar nav a{padding:.4rem .7rem;font-size:.92rem}.user-chip{margin-left:auto;border-left:none;padding-left:0}.panel{padding:1rem}.field,.field-sm,.field-xs{flex:1 1 100%;max-width:none}.toolbar .btn,.row-actions{width:100%}.row-actions .btn,.row-actions a.btn{flex:1 1 auto;text-align:center}.page-sub{margin-bottom:1rem}}@media(max-width:640px){.main{padding:.85rem}}
