:root{--bg:#f5f4f9;--surface:#fff;--surface-2:#f0eef7;--border:#e2dfec;--border-strong:#cbc6dc;--text:#1c1a24;--muted:#6b6880;--accent:#6d28d9;--accent-hover:#5b21b6;--accent-weak:#ede9fe;--on-accent:#fff;--ok:#15803d;--ok-bg:#dcfce7;--warn:#a16207;--warn-bg:#fef3c7;--err:#b91c1c;--err-bg:#fee2e2;--info:#1d4ed8;--info-bg:#dbeafe;--t-db:#2563eb;--t-r:#ea580c;--t-da:#059669;--t-step:#9333ea;--t-link:#64748b;--wave:#a78bfa;--shadow:0 1px 2px #140a280f, 0 2px 8px #140a280d;--radius:10px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root{--bg:#14121a;--surface:#1d1b25;--surface-2:#262330;--border:#322e3e;--border-strong:#4a4559;--text:#ece9f5;--muted:#9c97ad;--accent:#a78bfa;--accent-hover:#c4b5fd;--accent-weak:#2e2546;--on-accent:#16121f;--ok:#4ade80;--ok-bg:#12301f;--warn:#fbbf24;--warn-bg:#352a10;--err:#f87171;--err-bg:#3a1718;--info:#93c5fd;--info-bg:#172a46;--t-db:#60a5fa;--t-r:#fb923c;--t-da:#34d399;--t-step:#c084fc;--t-link:#94a3b8;--wave:#7c6bb5;--shadow:0 1px 2px #0006;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;font:14px/1.45 system-ui,-apple-system,Segoe UI,Roboto,sans-serif}h1,h2,h3{margin:0;line-height:1.2}h1{font-size:22px}h2{font-size:15px}h3{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-size:12px}input,select,textarea,button{font:inherit;color:inherit}input,select,textarea{background:var(--surface);border:1px solid var(--border-strong);border-radius:7px;min-width:0;padding:6px 9px}input:focus-visible,select:focus-visible,textarea:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:1px}textarea{resize:vertical;width:100%}input[type=checkbox]{accent-color:var(--accent);width:16px;height:16px;margin:0}code,.mono{font-family:ui-monospace,Consolas,monospace;font-size:12px}.muted{color:var(--muted)}.small-text{font-size:12px}.spacer{flex:1}.pad{padding:8px 4px}.loading{height:100%;color:var(--muted);place-items:center;display:grid}.btn{border:1px solid var(--border-strong);background:var(--surface);cursor:pointer;white-space:nowrap;border-radius:8px;align-items:center;gap:6px;padding:6px 12px;transition:background .12s,border-color .12s;display:inline-flex}.btn:hover:not(:disabled){background:var(--surface-2)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent);font-weight:600}.btn.primary:hover:not(:disabled){background:var(--accent-hover)}.btn.ghost{background:0 0;border-color:#0000}.btn.ghost:hover:not(:disabled){background:var(--surface-2)}.btn.danger{color:var(--err)}.btn.small{padding:4px 9px;font-size:13px}.btn.tiny{border-radius:6px;padding:2px 7px;font-size:12px}.btn.accent{color:var(--accent);border-color:var(--accent)}.btn.icon{padding:2px 8px;font-size:18px}.btn.block{justify-content:center;width:100%;margin-bottom:10px}.link{color:var(--accent);cursor:pointer;text-align:left;text-underline-offset:2px;background:0 0;border:none;padding:0;text-decoration:underline}.page{min-height:100%}.topbar{z-index:5;background:var(--surface);border-bottom:1px solid var(--border);align-items:center;gap:16px;padding:10px 24px;display:flex;position:sticky;top:0}.brand{cursor:pointer;background:0 0;border:none;align-items:center;gap:8px;padding:0;font-size:16px;font-weight:700;display:flex}.topnav{gap:4px;display:flex}.topnav button{cursor:pointer;color:var(--muted);background:0 0;border:none;border-radius:8px;padding:6px 12px}.topnav button.active{background:var(--accent-weak);color:var(--accent);font-weight:600}.topbar-extra{gap:6px;margin-left:auto;display:flex}.banner{border-radius:var(--radius);border:1px solid #0000;margin-bottom:16px;padding:10px 14px}.banner.warn{background:var(--warn-bg);color:var(--text);border-color:color-mix(in srgb, var(--warn) 30%, transparent)}.banner.info{background:var(--info-bg);justify-content:space-between;gap:12px;display:flex}.list-main,.catalog-main{max-width:1200px;margin:0 auto;padding:24px}.list-head{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.empty{text-align:center;background:var(--surface);border:1px dashed var(--border-strong);border-radius:var(--radius);padding:56px 24px}.empty p{margin:0 0 8px}.empty .btn{margin-top:12px}.empty.small{margin:12px;padding:32px 20px}.cards{grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:16px;display:grid}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);flex-direction:column;display:flex;overflow:hidden}.card-main{text-align:left;cursor:pointer;background:0 0;border:none;flex:1;padding:16px}.card-main:hover{background:var(--surface-2)}.card-main h2{margin:10px 0 2px;font-size:17px}.card-main p{margin:0}.card-top{justify-content:space-between;align-items:flex-start;display:flex}.card-score{font-variant-numeric:tabular-nums;color:var(--accent);font-size:26px;font-weight:700}.card-score small{color:var(--muted);margin-left:3px;font-size:12px}.card-meta{font-size:13px;margin-top:10px!important}.card-date{color:var(--muted);font-size:12px;margin-top:2px!important}.card-actions{border-top:1px solid var(--border);gap:2px;padding:6px 8px;display:flex}.chip{background:var(--surface-2);border:1px solid var(--border);border-radius:999px;align-items:center;gap:4px;padding:2px 10px;font-size:12px;font-weight:600;display:inline-flex}.new-form{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:20px;padding:16px;display:grid}.new-form label{color:var(--muted);flex-direction:column;gap:4px;font-size:12px;display:flex}.new-form label input,.new-form label select{color:var(--text);font-size:14px}.new-form-actions{grid-column:1/-1;justify-content:flex-end;gap:8px;display:flex}.editor{grid-template-rows:auto auto minmax(0,1fr);height:100vh;display:grid}.editor-bar{background:var(--surface);border-bottom:1px solid var(--border);align-items:center;gap:8px;padding:8px 16px;display:flex}.title-input{background:0 0;border-color:#0000;width:280px;font-size:17px;font-weight:700}.title-input:hover,.gymnast-input:hover{border-color:var(--border)}.gymnast-input{background:0 0;border-color:#0000;width:160px}.editor-cols{grid-template-columns:300px minmax(0,1fr) 330px;min-height:0;display:grid}.col{background:var(--surface);border-right:1px solid var(--border);flex-direction:column;min-height:0;display:flex}.col:last-child{border-right:none;border-left:1px solid var(--border)}.col.center{background:var(--bg);border-right:none}.panel-head{justify-content:space-between;align-items:baseline;gap:8px;padding:12px 14px 8px;display:flex}.center-scroll,.lib-scroll,.checker-scroll{flex:1;min-height:0;overflow-y:auto}.timeline{background:var(--surface);border-bottom:1px solid var(--border);padding:8px 16px 6px}.timeline-bar{align-items:center;gap:12px;min-height:34px;display:flex}.btn.play{background:var(--accent);border-color:var(--accent);width:38px;height:34px;color:var(--on-accent);border-radius:50%;justify-content:center;padding:0}.tl-time{font-variant-numeric:tabular-nums;min-width:120px;font-weight:600}.tl-rate,.tl-duration{color:var(--muted);align-items:center;gap:6px;font-size:12px;display:flex}.tl-rate select{padding:3px 6px}.tl-duration input{font-variant-numeric:tabular-nums;width:70px}.tl-duration.out input{border-color:var(--err);color:var(--err)}.tl-music{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;max-width:280px;font-size:13px;overflow:hidden}.tl-hint{font-size:13px}.tl-error{color:var(--err);margin:4px 0 0}.wave-wrap{margin-top:6px}.wave{background:var(--surface-2);cursor:pointer;touch-action:none;border-radius:8px;height:84px;position:relative;overflow:hidden}.wave-canvas{width:100%;height:100%;position:absolute;inset:0}.wave-over{background:repeating-linear-gradient(135deg, color-mix(in srgb, var(--err) 14%, transparent) 0 6px, transparent 6px 12px);pointer-events:none;position:absolute;top:0;bottom:0}.wave-limit{border-left:1px dashed var(--err);pointer-events:none;width:0;position:absolute;top:0;bottom:0}.marker{background:color-mix(in srgb, var(--mc) 30%, transparent);border-left:3px solid var(--mc);cursor:grab;border-radius:3px;min-width:4px;position:absolute;top:6px;bottom:6px;transform:translate(-2px)}.marker span{color:var(--mc);white-space:nowrap;pointer-events:none;font-size:10px;font-weight:700;position:absolute;top:-2px;left:2px}.marker.selected{outline:2px solid var(--text);z-index:2}.marker.invalid{background:repeating-linear-gradient(135deg, color-mix(in srgb, var(--err) 35%, transparent) 0 3px, transparent 3px 6px)}.marker:active{cursor:grabbing}.marker.type-DB{--mc:var(--t-db)}.marker.type-R{--mc:var(--t-r)}.marker.type-DA{--mc:var(--t-da)}.marker.type-step{--mc:var(--t-step)}.marker.type-link{--mc:var(--t-link)}.playhead{background:var(--text);pointer-events:none;z-index:3;width:2px;margin-left:-1px;position:absolute;top:0;bottom:0}.ticks{height:16px;position:relative}.ticks span{color:var(--muted);font-variant-numeric:tabular-nums;font-size:10px;position:absolute;transform:translate(-50%)}.ticks span:first-child{transform:none}.tabs{border-bottom:1px solid var(--border);gap:2px;padding:0 10px;display:flex}.tabs button{cursor:pointer;color:var(--muted);background:0 0;border:none;border-bottom:2px solid #0000;padding:7px 10px;font-weight:600}.tabs button.active{color:var(--accent);border-bottom-color:var(--accent)}.tabs.wide{margin:16px 0;padding:0}.filter-chips{flex-wrap:wrap;gap:4px;display:flex}.filter-chips button{border:1px solid var(--border);background:var(--surface);cursor:pointer;border-radius:999px;padding:2px 10px;font-size:12px}.filter-chips button.active{background:var(--accent-weak);border-color:var(--accent);color:var(--accent);font-weight:600}.library{flex-direction:column;height:100%;min-height:0;display:flex}.library .search{margin:10px 12px 0}.lib-hint{color:var(--muted);margin:8px 12px 4px;font-size:12px}.lib-scroll{padding:4px 12px 16px}.lib-scroll>.filter-chips{margin:6px 0 4px}.lib-group{margin-top:10px}.lib-group h3{margin:6px 0 4px}.lib-row{text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:7px;align-items:center;gap:8px;width:100%;padding:6px 8px;display:flex}.lib-row:hover{background:var(--surface-2);border-color:var(--border)}.lib-row.static{cursor:default}.lib-name{flex-wrap:wrap;flex:1;align-items:baseline;gap:2px 6px;min-width:0;display:flex}.lib-name small{width:100%;color:var(--muted);font-size:11px}.lib-actions{flex-shrink:0;gap:4px;display:flex}.value{font-variant-numeric:tabular-nums;color:var(--accent);font-weight:600}.tag{background:var(--warn-bg);color:var(--warn);border-radius:999px;padding:0 6px;font-size:10px;font-weight:600}.item-list{flex-direction:column;gap:6px;padding:0 14px 40px;display:flex}.list-note{color:var(--warn);margin:0 0 4px;font-size:12px}.item{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);border-left:4px solid var(--border)}.item.st-counted{border-left-color:var(--ok)}.item.st-valid-not-counted{border-left-color:var(--warn)}.item.st-invalid{border-left-color:var(--err)}.item.st-ignored{border-left-color:var(--muted)}.item.selected{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent), var(--shadow)}.item-row{text-align:left;cursor:pointer;background:0 0;border:none;grid-template-columns:26px 54px 52px minmax(0,1fr) auto;align-items:center;gap:8px;width:100%;padding:8px 12px 8px 8px;display:grid}.idx{color:var(--muted);text-align:right;font-variant-numeric:tabular-nums;font-size:12px}.time{font-variant-numeric:tabular-nums;color:var(--muted);font-size:13px}.type-badge{text-align:center;color:#fff;background:var(--tc);border-radius:6px;padding:2px 6px;font-size:11px;font-weight:700;display:inline-block}.type-DB{--tc:var(--t-db)}.type-R{--tc:var(--t-r)}.type-DA{--tc:var(--t-da)}.type-step{--tc:var(--t-step)}.type-link{--tc:var(--t-link)}.item-text{flex-direction:column;min-width:0;display:flex}.item-text strong,.item-text small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.item-text small{color:var(--muted)}.status{font-variant-numeric:tabular-nums;border-radius:999px;padding:2px 10px;font-size:12px;font-weight:700}.status-counted{background:var(--ok-bg);color:var(--ok)}.status-valid-not-counted{background:var(--warn-bg);color:var(--warn)}.status-invalid{background:var(--err-bg);color:var(--err)}.status-ignored{background:var(--surface-2);color:var(--muted)}.item-editor{border-top:1px solid var(--border);padding:12px 14px 12px 42px}.editor-form{flex-direction:column;gap:12px;display:flex}.reasons{border-radius:8px;margin:0;padding:8px 12px 8px 28px;font-size:13px}.reasons.status-counted{font-weight:400}.field-row{flex-wrap:wrap;align-items:flex-start;gap:12px;display:flex}.field{flex-direction:column;gap:4px;display:flex}.field>span,fieldset legend,.time-field>span{color:var(--muted);font-size:12px;font-weight:600}.field.grow{flex:1;min-width:240px}.field.narrow input{width:70px}.chips{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.chip.removable{background:var(--accent-weak);color:var(--text);border-color:#0000;padding-right:4px;font-weight:500}.chip.removable button{cursor:pointer;color:var(--muted);background:0 0;border:none;padding:0 4px;font-size:15px;line-height:1}.chip.removable button:disabled{opacity:.3;cursor:not-allowed}.add-select{color:var(--accent);border-style:dashed;padding:3px 8px;font-size:13px}fieldset{border:1px solid var(--border);border-radius:8px;min-width:160px;margin:0;padding:6px 12px 10px}.checks{flex-wrap:wrap;gap:6px 18px;display:flex}fieldset.checks{flex-direction:column}fieldset.checks.columns{flex-direction:row}.checks label{cursor:pointer;align-items:center;gap:6px;display:flex}.checks small{color:var(--muted)}.time-field{align-items:center;gap:6px;display:flex}.time-field input{font-variant-numeric:tabular-nums;width:84px}.time-field.invalid input{border-color:var(--err)}.editor-actions{border-top:1px dashed var(--border);gap:4px;padding-top:8px;display:flex}.checker{flex-direction:column;height:100%;min-height:0;display:flex}.checker-scroll{padding:0 14px 20px}.score{background:var(--accent-weak);border-radius:var(--radius);flex-direction:column;align-items:center;margin-bottom:12px;padding:14px;display:flex}.score-label{text-transform:uppercase;letter-spacing:.05em;color:var(--accent);font-size:12px;font-weight:700}.score-value{font-variant-numeric:tabular-nums;color:var(--accent);font-size:44px;font-weight:800;line-height:1.1}.breakdown{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%}.breakdown th{text-align:left;font-weight:600}.breakdown td{text-align:right}.breakdown td:last-child{width:60px;font-weight:700}.breakdown th,.breakdown td{border-bottom:1px solid var(--border);padding:5px 0}.breakdown tr.neg{color:var(--err)}.groups{flex-wrap:wrap;gap:6px;margin:12px 0;display:flex}.group-chip{background:var(--surface-2);border-radius:999px;padding:2px 10px;font-size:12px;font-weight:600}.group-chip.ok{background:var(--ok-bg);color:var(--ok)}.group-chip.missing{background:var(--err-bg);color:var(--err)}.duration{background:var(--surface-2);border-radius:8px;justify-content:space-between;padding:8px 10px;display:flex}.duration.ok{background:var(--ok-bg)}.duration.bad{background:var(--err-bg);color:var(--err)}.alerts-title{margin:16px 0 6px}.alerts{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.alert{border-radius:8px;align-items:flex-start;gap:8px;padding:7px 9px;font-size:13px;display:flex}.alert .link{color:inherit;-webkit-text-decoration-color:color-mix(in srgb, currentColor 40%, transparent);text-decoration-color:color-mix(in srgb, currentColor 40%, transparent)}.alert-icon{color:#fff;border-radius:50%;flex-shrink:0;place-items:center;width:18px;height:18px;font-size:11px;font-weight:800;display:grid}.alert.error{background:var(--err-bg)}.alert.error .alert-icon{background:var(--err)}.alert.warning{background:var(--warn-bg)}.alert.warning .alert-icon{background:var(--warn)}.alert.info{background:var(--info-bg)}.alert.info .alert-icon{background:var(--info)}.disclaimer{color:var(--muted);margin-top:18px;font-size:11px}.catalog-main{max-width:1300px}.catalog-meta{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);gap:12px;padding:12px 14px;display:flex}.table-tools{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:10px;display:flex}.table-tools .search{width:220px}.table-tools p{margin:0}.data-table{border-collapse:collapse;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);width:100%;overflow:hidden}.data-table th{text-align:left;color:var(--muted);background:var(--surface-2);padding:8px 10px;font-size:12px;font-weight:600}.data-table td{border-top:1px solid var(--border);padding:4px 10px}.data-table .num{text-align:right;font-variant-numeric:tabular-nums}.data-table .center{text-align:center}.cell-input{background:0 0;border-color:#0000;width:100%}.cell-input:hover{border-color:var(--border)}.num-input{text-align:right;font-variant-numeric:tabular-nums;width:70px}.num-input.invalid{border-color:var(--err)}.rules-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:18px}.rules-card p{margin:4px 0}.rules-list{grid-template-columns:60px 1fr;gap:8px 16px;margin:14px 0;display:grid}.rules-list dt{font-weight:700}.rules-list dd{margin:0}.print-page{min-height:100%;padding-bottom:40px}.print-toolbar{background:var(--surface);border-bottom:1px solid var(--border);align-items:center;gap:12px;padding:10px 24px;display:flex;position:sticky;top:0}.sheet{color:#1c1a24;background:#fff;border-radius:4px;width:210mm;max-width:calc(100% - 32px);margin:24px auto;padding:14mm;font-size:12px;box-shadow:0 4px 24px #00000026}.sheet-head{border-bottom:2px solid #6d28d9;justify-content:space-between;align-items:flex-start;padding-bottom:10px;display:flex}.sheet-kicker{text-transform:uppercase;letter-spacing:.08em;color:#6d28d9;margin:0 0 4px;font-size:10px;font-weight:700}.sheet h1{font-size:22px}.sheet-score{text-align:right}.sheet-score span{color:#6b6880;text-transform:uppercase;font-size:10px;display:block}.sheet-score strong{color:#6d28d9;font-size:30px}.sheet-meta{grid-template-columns:repeat(3,1fr);gap:6px 16px;margin:12px 0;display:grid}.sheet-meta dt{color:#6b6880;font-size:10px}.sheet-meta dd{margin:0;font-weight:600}.sheet-totals{background:#f0eef7;border-radius:4px;gap:18px;margin-bottom:12px;padding:8px 10px;display:flex}.sheet-table{border-collapse:collapse;width:100%}.sheet-table th{text-align:left;color:#6b6880;border-bottom:1px solid #cbc6dc;padding:4px;font-size:10px}.sheet-table td{vertical-align:top;border-bottom:1px solid #e2dfec;padding:5px 4px}.sheet-table .num{text-align:right;font-variant-numeric:tabular-nums;font-weight:700}.sheet-table tr.st-invalid td{color:#b91c1c}.sheet-table tr.st-valid-not-counted td,.sheet-table tr.st-ignored td{color:#6b6880}.sheet-table .type-badge{color:#fff}.sheet .type-DB{--tc:#2563eb}.sheet .type-R{--tc:#ea580c}.sheet .type-DA{--tc:#059669}.sheet .type-step{--tc:#9333ea}.sheet .type-link{--tc:#64748b}.sheet-note{color:#6b6880;font-style:italic}.sheet-alerts{margin-top:14px}.sheet-alerts h2{margin-bottom:4px;font-size:13px}.sheet-alerts ul{margin:0;padding-left:18px}.sheet-foot{color:#6b6880;border-top:1px solid #e2dfec;margin-top:18px;padding-top:6px;font-size:10px}.sheet-extra{break-inside:avoid;grid-template-columns:62mm 1fr;gap:8mm;margin-top:14px;display:grid}.sheet-extra h2{margin-bottom:6px;font-size:13px}.sheet-checklist p{margin:0 0 4px}.muted-print{color:#6b6880}.print-floor{--fp-floor:#f5f3fb;--fp-line:#d9d4ea;--fp-zone:#a99fcc;--fp-text:#6b6880;--fp-path:#6d28d9;width:62mm}.center-tabs{border-bottom:1px solid var(--border);align-items:center;gap:2px;margin-bottom:10px;padding:6px 14px 0;display:flex}.center-tabs button{cursor:pointer;color:var(--muted);white-space:nowrap;background:0 0;border:none;border-bottom:2px solid #0000;padding:8px 10px;font-weight:600}.center-tabs button.active{color:var(--accent);border-bottom-color:var(--accent)}.center-tabs .count{background:var(--surface-2);color:var(--muted);border-radius:999px;margin-left:2px;padding:1px 7px;font-size:11px;font-weight:600}.center-tabs button.active .count{background:var(--accent-weak);color:var(--accent)}.floor{--fp-floor:var(--surface);--fp-line:var(--border);--fp-zone:var(--border-strong);--fp-text:var(--muted);--fp-path:var(--accent);-webkit-user-select:none;user-select:none;width:100%;height:auto;display:block}.floor.editable{cursor:crosshair;touch-action:none}.fp-floor{fill:var(--fp-floor);stroke:var(--fp-zone);stroke-width:.06px}.fp-grid line{stroke:var(--fp-line);stroke-width:.02px}.fp-zone line{stroke:var(--fp-zone);stroke-width:.04px;stroke-dasharray:.2 .15}.fp-judges{fill:var(--fp-text);text-anchor:middle;letter-spacing:.05px;text-transform:uppercase;font-size:.42px;font-weight:700}.fp-path{fill:none;stroke:var(--fp-path);stroke-width:.07px;opacity:.55}.fp-arrow{fill:var(--fp-path)}.fp-point{cursor:grab}.fp-point circle{fill:var(--tc);stroke:var(--fp-floor);stroke-width:.06px}.fp-point.selected circle{stroke:var(--text);stroke-width:.1px}.fp-point text{fill:#fff;text-anchor:middle;pointer-events:none;font-size:.34px;font-weight:800}.floor-view{grid-template-columns:minmax(0,1fr) 280px;align-items:start;gap:16px;padding:0 14px 24px;display:grid}.col.center{container-type:inline-size}@container (width<=760px){.floor-view{grid-template-columns:minmax(0,1fr)}.floor-list{max-height:none}}.floor-canvas{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);width:100%;max-width:640px;padding:8px}.floor-side{flex-direction:column;gap:10px;display:flex}.floor-stats{grid-template-columns:repeat(3,1fr);gap:6px;display:grid}.floor-stats div{background:var(--surface);border:1px solid var(--border);text-align:center;border-radius:8px;flex-direction:column;align-items:center;padding:8px;display:flex}.floor-stats strong{font-variant-numeric:tabular-nums;font-size:18px}.floor-stats span{color:var(--muted);font-size:11px}.floor-help{margin:0;font-size:13px}.floor-warn{color:var(--warn);margin:0;font-size:13px}.floor-list{flex-direction:column;gap:3px;max-height:420px;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.floor-row{text-align:left;background:var(--surface);border:1px solid var(--border);cursor:pointer;border-radius:7px;grid-template-columns:20px 46px minmax(0,1fr) auto;align-items:center;gap:6px;width:100%;padding:4px 8px;font-size:13px;display:grid}.floor-row.selected{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.floor-row-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.floor-row .placed{color:var(--ok);font-weight:700}.floor-row .unplaced{color:var(--muted);font-size:11px}.floor-actions{justify-content:space-between;display:flex}.checklist{max-width:820px;padding:0 14px 32px}.checklist-intro{margin:0 0 14px;font-size:13px}.checklist-group{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:14px;padding:14px 16px}.checklist-group>p{margin:4px 0 10px}.checklist-head{align-items:center;gap:12px;display:flex}.progress{background:var(--surface-2);border-radius:999px;flex:1;max-width:200px;height:6px;overflow:hidden}.progress-bar{background:var(--ok);height:100%;transition:width .2s;display:block}.checklist-items{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.checklist-items li{border-top:1px solid var(--border)}.checklist-items label{cursor:pointer;align-items:flex-start;gap:10px;padding:9px 0;display:flex}.checklist-items input{margin-top:2px}.checklist-items label>span{flex-direction:column;gap:2px;display:flex}.checklist-items small{color:var(--muted)}.checklist-items li.checked strong{color:var(--ok)}.hint{border-radius:6px;align-self:flex-start;margin-top:2px;padding:2px 8px;font-size:12px}.hint.ok{background:var(--ok-bg);color:var(--ok)}.hint.warn{background:var(--warn-bg);color:var(--warn)}.hint.info{background:var(--info-bg);color:var(--info)}.video-view{flex-direction:column;gap:10px;padding:0 14px 24px;display:flex}.video-frame{border-radius:var(--radius);background:#000;justify-content:center;display:flex;position:relative;overflow:hidden}.video-frame video{max-width:100%;max-height:52vh;display:block}.video-overlay{pointer-events:none;flex-direction:column;align-items:flex-start;gap:4px;display:flex;position:absolute;top:10px;left:10px;right:10px}.video-now{color:#fff;background:#000000b8;border-radius:8px;align-items:center;gap:8px;padding:6px 10px;font-size:16px;font-weight:700;display:flex}.video-next,.muted-overlay{color:#ddd;background:#0009;border-radius:6px;padding:3px 8px;font-size:12px}.video-strip{background:var(--surface-2);cursor:pointer;border-radius:8px;height:34px;position:relative}.video-marker{color:#fff;background:var(--tc);cursor:pointer;opacity:.75;border:none;border-radius:5px;padding:2px 5px;font-size:10px;font-weight:700;position:absolute;top:5px;transform:translate(-50%)}.video-marker.current{opacity:1;outline:2px solid var(--text);z-index:1}.video-music{border-left:2px dashed var(--accent);position:absolute;top:0;bottom:0}.video-playhead{background:var(--text);pointer-events:none;width:2px;margin-left:-1px;position:absolute;top:0;bottom:0}.video-sync{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.auth-page{background:radial-gradient(circle at 20% 10%, var(--accent-weak), transparent 45%), var(--bg);place-items:center;min-height:100%;padding:24px 16px;display:grid}.auth-card{background:var(--surface);border:1px solid var(--border);width:100%;max-width:400px;box-shadow:var(--shadow);border-radius:16px;padding:28px 24px}.auth-brand{align-items:center;gap:10px;margin-bottom:18px;font-size:18px;font-weight:800;display:flex}.auth-card h1{margin-bottom:14px;font-size:20px}.auth-form{flex-direction:column;gap:12px;display:flex}.auth-form label{flex-direction:column;gap:4px;font-size:13px;font-weight:600;display:flex}.auth-form input{padding:9px 11px;font-size:16px}.auth-form p{margin:0}.auth-error{color:var(--err);background:var(--err-bg);border-radius:8px;padding:8px 10px;font-size:13px}.auth-ok{background:var(--ok-bg);border-radius:8px;padding:10px 12px}.auth-link{align-self:center;font-size:13px}.auth-foot{text-align:center;margin:18px 0 0;font-size:12px}.btn.block{justify-content:center;width:100%}.topbar-account{align-items:center;gap:8px;display:flex}.account-chip{background:var(--accent);width:32px;height:32px;color:var(--on-accent);cursor:pointer;border:none;border-radius:50%;font-weight:800}.sync-badge{color:var(--muted);white-space:nowrap;align-items:center;gap:6px;font-size:12px;display:inline-flex}.sync-dot{background:var(--ok);border-radius:50%;width:9px;height:9px}.sync-badge.syncing .sync-dot{background:var(--info);animation:1s infinite alternate pulse}.sync-badge.offline .sync-dot{background:var(--muted)}.sync-badge.error .sync-dot{background:var(--err)}@keyframes pulse{to{opacity:.3}}.list-main.narrow{max-width:640px}.list-main.narrow h1{margin-bottom:16px}.account-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:14px;padding:18px}.account-list{grid-template-columns:140px 1fr;gap:10px 16px;margin:0 0 16px;display:grid}.account-list dt{color:var(--muted);font-weight:600}.account-list dd{margin:0}.account-sync{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.account-actions{flex-wrap:wrap;justify-content:space-between;gap:8px;display:flex}fieldset.plain{border:none;min-width:0;margin:0;padding:0}fieldset.catalog-meta.plain{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);gap:12px;padding:12px 14px;display:flex}fieldset:disabled .cell-input,fieldset:disabled .num-input,fieldset:disabled select{color:var(--text);opacity:1;appearance:none;background:0 0;border-color:#0000}fieldset:disabled .btn.danger{display:none}.table-section{overflow-x:auto}.editor.phone{flex-direction:column;height:100dvh;display:flex}.editor.phone .editor-bar{gap:4px;padding:6px 8px}.editor.phone .title-input{flex:1;width:auto;font-size:16px}.score-pill{background:var(--accent);color:var(--on-accent);font-variant-numeric:tabular-nums;white-space:nowrap;cursor:pointer;border:none;border-radius:999px;padding:5px 12px;font-weight:800}.phone-menu{background:var(--surface);border-bottom:1px solid var(--border);flex-direction:column;gap:8px;padding:10px 12px;display:flex}.phone-menu .gymnast-input{border-color:var(--border-strong);background:var(--surface);width:100%;display:block}.phone-menu-row{align-items:center;gap:6px;display:flex}.phone-body{flex:1;min-height:0;padding-top:10px;overflow-y:auto;container-type:inline-size}.phone-body .library,.phone-body .checker{height:auto}.phone-tabs{background:var(--surface);border-top:1px solid var(--border);padding-bottom:env(safe-area-inset-bottom);grid-template-columns:repeat(6,1fr);display:grid}.phone-tabs button{color:var(--muted);cursor:pointer;background:0 0;border:none;border-top:2px solid #0000;flex-direction:column;align-items:center;gap:2px;padding:9px 2px 10px;font-size:12px;font-weight:600;display:flex}.phone-tabs button.active{color:var(--accent);border-top-color:var(--accent)}.phone-tabs .count{background:var(--surface-2);border-radius:999px;padding:0 6px;font-size:10px}.toast{left:50%;bottom:calc(64px + env(safe-area-inset-bottom));background:var(--text);color:var(--bg);text-overflow:ellipsis;white-space:nowrap;z-index:10;max-width:calc(100% - 32px);box-shadow:var(--shadow);border-radius:999px;padding:8px 14px;font-size:13px;position:fixed;overflow:hidden;transform:translate(-50%)}@media (width<=760px){body{font-size:15px}.topbar{gap:8px;padding:8px 12px}.brand span,.topbar-extra{display:none}.topnav button{padding:6px 8px}.list-main,.catalog-main{padding:16px 12px}.new-form{grid-template-columns:1fr}.banner.info{flex-direction:column;align-items:flex-start}.timeline{padding:6px 10px 4px}.timeline-bar{flex-wrap:wrap;gap:8px}.tl-music,.tl-hint,.tl-rate{display:none}.wave{height:64px}.item-list{padding:0 10px 24px}.item-row{grid-template-columns:22px 44px minmax(0,1fr) auto;gap:6px;padding:9px 10px 9px 6px}.item-row .time{display:none}.item-editor{padding:10px 12px}.field.grow{width:100%;min-width:0}.field-row{flex-direction:column;align-items:stretch}fieldset.checks.columns{flex-direction:column}.editor-actions{flex-wrap:wrap}.checklist,.video-view,.floor-view{padding-left:10px;padding-right:10px}.account-list{grid-template-columns:1fr;gap:2px}.account-list dd{margin-bottom:8px}fieldset.catalog-meta.plain{flex-direction:column}.table-tools .search{width:100%}.sheet{padding:16px}.sheet-meta{grid-template-columns:1fr 1fr}.sheet-extra{grid-template-columns:1fr}.print-floor{width:100%;max-width:320px}.print-toolbar .muted{display:none}}@media print{@page{size:A4;margin:10mm}body{background:#fff}.no-print{display:none!important}.sheet{width:auto;max-width:none;box-shadow:none;margin:0;padding:0}.sheet-table tr{break-inside:avoid}*{-webkit-print-color-adjust:exact;print-color-adjust:exact}}@media (width<=1180px){.editor-cols{grid-template-columns:260px minmax(0,1fr) 290px}.gymnast-input{display:none}}@media (width<=900px){.new-form{grid-template-columns:1fr 1fr}}
