*,:before,:after{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--bg);color:var(--ink);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;margin:0;font-size:15px;line-height:1.4}h1,h2,p{margin:0}a{color:var(--accent)}.num{font-variant-numeric:tabular-nums}.page-title{font-size:28px;font-weight:900}.subtitle{color:var(--ink-muted);margin-top:var(--space-4);font-size:14px}.eyebrow{color:var(--ink-subtle);letter-spacing:2px;text-transform:uppercase;font-size:12px}.panel{background:var(--surface);border-radius:var(--radius-16);padding:var(--space-20)}.button{text-align:center;font:inherit;letter-spacing:1px;text-transform:uppercase;cursor:pointer;white-space:nowrap;border:0;border-radius:12px;padding:10px 16px;font-size:13px;font-weight:800;text-decoration:none;transition:transform 80ms ease-out,background-color 80ms ease-out;display:inline-block}.button-wide{width:100%;padding:14px 16px}.button-primary{background:var(--accent);color:var(--on-accent)}.button-secondary{background:var(--surface-control);color:var(--ink-control);border:1px solid var(--border)}@media (hover:hover){.button-primary:hover{background:var(--accent-hover)}.button-secondary:hover{background:var(--surface-control-hover)}}.button-primary:active{background:var(--accent-pressed);transform:scale(.98)}.button-secondary:active{background:var(--surface-control-pressed);transform:scale(.98)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.field{flex-direction:column;gap:6px;display:flex}.field label{color:var(--ink-detail);font-size:14px}.field input{font:inherit;color:var(--ink);background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:12px 14px;font-size:16px}.field input::placeholder{color:var(--ink-subtle)}.stack{gap:var(--space-12);flex-direction:column;display:flex}.page-header{justify-content:space-between;align-items:flex-end;gap:var(--space-16);flex-wrap:wrap;display:flex}.page-actions{gap:var(--space-10);flex-wrap:wrap;display:flex}.solo{justify-content:center;align-items:center;min-height:100%;padding:32px 16px;display:flex}.solo-card{gap:var(--space-12);flex-direction:column;width:100%;max-width:420px;display:flex}.solo-header{align-items:center;gap:var(--space-12);margin-bottom:var(--space-20);text-align:center;flex-direction:column;display:flex}.solo-header .subtitle{margin-top:0}.solo-title{font-size:24px;font-weight:800}.solo-or{align-items:center;gap:var(--space-12);color:var(--ink-subtle);margin:var(--space-8) 0;font-size:12px;display:flex}.solo-or span{background:var(--border);flex-grow:1;height:1px}.solo-footer{text-align:center;margin-top:var(--space-20)}.notice{font-size:14px}.notice-ok{color:var(--ink-detail)}.notice-error{color:var(--rest)}.loading{margin-top:0}.link-button{font:inherit;color:var(--accent);cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.button:disabled{cursor:default;opacity:.6}.table{border-collapse:collapse;width:100%}.table th{text-align:left;color:var(--ink-subtle);letter-spacing:2px;text-transform:uppercase;padding:0 12px 10px;font-size:12px;font-weight:400}.table td{border-top:1px solid var(--surface-row);vertical-align:middle;padding:14px 12px}.table .cell-actions{text-align:right;white-space:nowrap}.cell-actions .button+.button{margin-left:var(--space-8)}.cell-detail{color:var(--ink-subtle);margin-top:2px;font-size:13px}.empty{color:var(--ink-subtle);padding:14px 12px 0}.chip{background:var(--surface-control);color:var(--ink-subtle);border-radius:var(--radius-full);white-space:nowrap;padding:4px 10px;font-size:12px;font-weight:700;display:inline-block}.chip-strong{color:var(--ink-control)}.chip-live{background:var(--surface-accent);color:var(--accent)}.chip-rest{background:var(--rest-surface);color:var(--rest)}.code{letter-spacing:2px;font-variant-numeric:tabular-nums;font-size:32px;font-weight:800}.invite-link{color:var(--ink-detail);word-break:break-all;font-size:14px}.row{align-items:center;gap:var(--space-10);flex-wrap:wrap;display:flex}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.grow{flex-grow:1}.align-end{align-self:flex-end}.columns{gap:var(--space-16);grid-template-columns:minmax(0,1fr) 320px;align-items:start;display:grid}.row-link{color:var(--ink);font-weight:700;text-decoration:none}@media (hover:hover){.row-link:hover{text-decoration:underline}}.field select{font:inherit;color:var(--ink);background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:12px 14px;font-size:16px}.field input[type=datetime-local],.field input[type=date],.field input[type=time]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}.shell{min-height:100%;display:flex}.shell-sidebar{border-right:1px solid var(--surface-row);flex-direction:column;flex-shrink:0;gap:4px;width:248px;padding:24px 16px;display:flex}.shell-brand{align-items:center;gap:10px;padding:0 12px 24px;display:flex}.shell-brand-text{min-width:0}.shell-gym{text-overflow:ellipsis;white-space:nowrap;font-size:15px;font-weight:700;overflow:hidden}.shell-switch{font:inherit;color:var(--ink-subtle);cursor:pointer;background:0 0;border:0;max-width:100%;padding:0;font-size:12px}.shell-caption{color:var(--ink-subtle);font-size:12px}.shell-nav{flex-direction:column;gap:4px;display:flex}.shell-item{color:var(--ink-detail);border-radius:12px;align-items:center;gap:12px;padding:10px 12px;font-size:15px;text-decoration:none;display:flex}.shell-icon{color:var(--ink-subtle);flex-shrink:0}@media (hover:hover){.shell-item:hover{background:var(--surface-row)}}.shell-item-active{color:var(--ink);background:var(--surface)}.shell-item-active .shell-icon{color:var(--accent)}.shell-user{align-items:center;gap:10px;margin-top:auto;padding:12px;display:flex}.shell-avatar{border-radius:var(--radius-full);background:var(--surface);flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:12px;font-weight:700;display:flex}.shell-user-text{flex-grow:1;min-width:0}.shell-user-name{text-overflow:ellipsis;white-space:nowrap;font-size:14px;overflow:hidden}.shell-user-role{color:var(--ink-subtle);font-size:12px}.shell-sign-out{padding:8px 10px;font-size:12px}.shell-content{flex-direction:column;flex-grow:1;gap:24px;min-width:0;padding:32px 40px;display:flex}.sign-in{justify-content:center;align-items:center;min-height:100%;padding:32px 16px;display:flex}.sign-in-card{flex-direction:column;gap:12px;width:100%;max-width:390px;display:flex}.sign-in-header{text-align:center;flex-direction:column;align-items:center;gap:16px;margin-bottom:28px;display:flex}.sign-in-title{font-size:24px;font-weight:800}.sign-in-text{margin-top:0}.sign-in-or{color:var(--ink-subtle);align-items:center;gap:12px;margin:8px 0;font-size:12px;display:flex}.sign-in-or span{background:var(--border);flex-grow:1;height:1px}.sign-in-form{flex-direction:column;gap:12px;display:flex}.sign-in-form .button-primary{border-radius:var(--radius-14);padding:16px;font-size:16px;font-weight:900}.sign-in-card .button-secondary.button-wide{border-radius:var(--radius-14);padding:16px;font-size:14px;font-weight:700}.sign-in-notice{text-align:center;margin-top:4px;font-size:14px}.sign-in-notice-ok{color:var(--ink-detail)}.sign-in-notice-error{color:var(--rest)}.class-fields{align-items:flex-start}.class-fields input,.group-start select,.group-students select{font:inherit;color:var(--ink);background:var(--surface);border:1px solid var(--border);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;border-radius:12px;padding:12px 14px}.section-title{font-size:20px;font-weight:800}.class-layout{gap:var(--space-16);grid-template-columns:minmax(0,1fr) 300px;align-items:start;display:grid}.groups{gap:var(--space-16);grid-template-columns:repeat(auto-fill,minmax(280px,1fr));display:grid}.group-head{align-items:center;gap:var(--space-12);flex-wrap:wrap;display:flex}.group-title{flex-grow:1;margin:0;font-size:18px;font-weight:800}.group-start{align-items:center;gap:var(--space-8);color:var(--ink-detail);font-size:14px;display:flex}.group-start select,.group-students select{background:var(--bg);padding:6px 10px;font-size:14px}.group-students,.pool{gap:var(--space-4);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.group-students li{align-items:center;gap:var(--space-8);border-top:1px solid var(--surface-row);padding:6px 0;display:flex}.pool{max-height:480px;overflow-y:auto}.pool label{align-items:center;gap:var(--space-10);cursor:pointer;padding:6px 0;display:flex}.pool input{width:18px;height:18px;accent-color:var(--accent)}.form-problems{color:var(--rest);margin:0;padding-left:18px;font-size:14px}.editor{gap:var(--space-20);grid-template-columns:minmax(0,1fr) 320px;align-items:start;display:grid}.editor-side{top:var(--space-20);position:sticky}.editor-fields{gap:var(--space-16);flex-wrap:wrap;display:flex}.step select,.step input,.cycle-header input,.cycle-rounds input,.editor-transition input{font:inherit;color:var(--ink);background:var(--surface);border:1px solid var(--border);border-radius:10px;min-width:0;padding:10px 12px}[aria-invalid=true]{border-color:var(--rest)!important}.editor-total{font-size:48px;font-weight:800}.editor-problems{color:var(--rest);flex-direction:column;gap:4px;margin:0;padding-left:18px;font-size:14px;display:flex}.editor-transition{align-items:center;gap:var(--space-10);flex-direction:row}.editor-transition input{width:96px}.cycle-header{align-items:center;gap:var(--space-12);display:flex}.cycle-title{white-space:nowrap;font-size:20px;font-weight:800}.cycle-name{flex-grow:1;background:var(--bg)!important}.cycle-rounds{align-items:center;gap:var(--space-8);color:var(--ink-detail);white-space:nowrap;font-size:14px;display:flex}.cycle-rounds input{background:var(--bg);width:72px}.cycle-length{color:var(--ink-detail);font-size:14px}.steps{gap:var(--space-8);flex-direction:column;display:flex}.step{gap:var(--space-8);grid-template-columns:112px minmax(120px,1fr) 56px 84px 72px 52px 72px 92px;align-items:center;display:grid}.step input,.step select{background:var(--bg);padding:8px 10px;font-size:14px}.step-head{color:var(--ink-subtle);letter-spacing:1px;font-size:12px}.step-rest input:first-of-type{color:var(--rest)}.step-target-empty{grid-column:span 4}.step-actions{justify-content:flex-end;gap:2px;display:flex}.step-actions .icon-button{width:28px}.icon-button{width:32px;height:32px;color:var(--ink-subtle);cursor:pointer;background:0 0;border:0;border-radius:8px;justify-content:center;align-items:center;display:inline-flex}@media (hover:hover){.icon-button:hover:not(:disabled){background:var(--surface-control);color:var(--ink)}}.icon-button:disabled{opacity:.3;cursor:default}.live-cards{gap:var(--space-16);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.live-figure{font-size:56px;font-weight:800;line-height:1.1}.live-rest{background:var(--rest-surface)}.live-rest .eyebrow,.live-rest .live-figure{color:var(--rest)}.live-groups{gap:var(--space-16);grid-template-columns:repeat(auto-fit,minmax(360px,1fr));align-items:start;display:grid}.live-group-head{justify-content:space-between;align-items:baseline;gap:var(--space-12);margin-bottom:var(--space-4);display:flex}.live-where{color:var(--accent);font-size:14px;font-weight:700}.live-line{align-items:center;gap:var(--space-12);border-top:1px solid var(--surface-row);padding:12px 0;display:flex}.live-name{text-overflow:ellipsis;white-space:nowrap;flex-shrink:0;width:150px;font-weight:600;overflow:hidden}.live-what{min-width:0;color:var(--ink-detail);flex-grow:1;font-size:14px}.live-timer{text-align:right;width:72px;font-size:18px;font-weight:700}.line-work .live-timer{color:var(--accent)}.line-rest .live-what,.line-rest .live-timer{color:var(--rest)}.line-muted .live-what,.line-muted .live-timer{color:var(--ink-subtle)}
