@font-face{font-family:Archivo;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/archivo-latin-400-normal-C81ewxNO.woff2)format("woff2"),url(/assets/archivo-latin-400-normal-Bl602Mgc.woff)format("woff")}@font-face{font-family:Archivo;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/archivo-latin-600-normal-3BBy0ZsW.woff2)format("woff2"),url(/assets/archivo-latin-600-normal-DwYieO8P.woff)format("woff")}@font-face{font-family:Archivo;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/archivo-latin-700-normal-D9cHMWGj.woff2)format("woff2"),url(/assets/archivo-latin-700-normal-lT5TFe7H.woff)format("woff")}@font-face{font-family:Archivo;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/archivo-latin-800-normal-cB6v3kRN.woff2)format("woff2"),url(/assets/archivo-latin-800-normal-DZa_k145.woff)format("woff")}@font-face{font-family:Big Shoulders Display;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/big-shoulders-display-latin-800-normal-DDUD9Xuh.woff2)format("woff2"),url(/assets/big-shoulders-display-latin-800-normal-CI0lhnTM.woff)format("woff")}@font-face{font-family:Big Shoulders Display;font-style:normal;font-display:swap;font-weight:900;src:url(/assets/big-shoulders-display-latin-900-normal-CW8trzgu.woff2)format("woff2"),url(/assets/big-shoulders-display-latin-900-normal-DMT-1gsg.woff)format("woff")}*,:before,:after{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--bg);color:var(--ink);font:var(--text-body);-webkit-font-smoothing:antialiased;margin:0}h1,h2,p{margin:0}a{color:var(--ink)}@media (hover:hover){a:hover{color:var(--action-pressed)}}.num{font-variant-numeric:tabular-nums}.page-title{font:var(--text-page-title);letter-spacing:var(--tracking-page-title);text-transform:uppercase;align-items:center;gap:14px;display:flex}.page-title:before{content:"";background:var(--signal);flex-shrink:0;width:13px;height:30px;transform:skew(-14deg)}.page-title-chalk:before{background:var(--ink)}.figure{font:var(--text-figure);letter-spacing:var(--tracking-figure);font-variant-numeric:tabular-nums}.panel-title{font:var(--text-panel-title);letter-spacing:var(--tracking-panel-title);text-transform:uppercase}.time{font:var(--text-time);letter-spacing:var(--tracking-time);font-variant-numeric:tabular-nums}.time-box{font:var(--text-time-box);letter-spacing:var(--tracking-time-box);font-variant-numeric:tabular-nums}.section-title{font:var(--text-section-title);letter-spacing:var(--tracking-section-title)}.subtitle{font:var(--text-caption);color:var(--ink-muted);margin-top:10px}.eyebrow,.label{font:var(--text-label);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--ink-muted)}.label-strong{color:var(--ink)}.muted{color:var(--ink-muted)}.mark{background:var(--signal);flex-shrink:0;width:8px;height:18px;display:inline-block;transform:skew(-14deg)}.mark-big{width:13px;height:30px}.mark-chalk{background:var(--ink)}.mark-muted{background:var(--ink-muted)}.marked{align-items:center;gap:var(--space-8);display:flex}svg.lucide{stroke-linecap:square;stroke-linejoin:miter}.panel{background:var(--surface);border-radius:var(--radius-10);padding:var(--space-20)}.button{text-align:center;font:var(--text-button);letter-spacing:var(--tracking-button);text-transform:uppercase;border-radius:var(--radius-4);cursor:pointer;white-space:nowrap;border:0;padding:11px 16px;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(--action);color:var(--on-action)}.button-secondary{background:var(--control);color:var(--on-control)}.button-dashed{font:var(--text-button-small);letter-spacing:var(--tracking-button-small);color:var(--ink-muted);border:1px dashed var(--border);background:0 0;padding:10px}@media (hover:hover){.button-primary:hover{background:var(--action-pressed)}.button-secondary:hover{background:var(--control-pressed)}a.button-primary:hover{color:var(--on-action)}a.button-secondary:hover{color:var(--on-control)}.button-dashed:hover{color:var(--ink)}}.button-primary:active{background:var(--action-pressed);transform:scale(.98)}.button-secondary:active{background:var(--control-pressed);transform:scale(.98)}:focus-visible{outline:2px solid var(--signal);outline-offset:3px}.field{flex-direction:column;gap:6px;display:flex}.field label,.field .label{font:var(--text-label);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--ink-muted)}.field input,.field select{font:var(--text-input);color:var(--ink);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-4);padding:12px 14px}.panel .field input,.panel .field select{background:var(--bg)}.field input::placeholder{color:var(--ink-muted)}.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-heading{align-items:center;gap:14px;display:flex}.page-actions{flex-wrap:wrap;gap:10px;display:flex}.solo{min-height:100%;padding:var(--space-32) var(--space-16);justify-content:center;align-items:center;display:flex}.solo-card{gap:var(--space-12);flex-direction:column;width:100%;max-width:390px;display:flex}.solo-header{gap:var(--space-20);margin-bottom:var(--space-32);flex-direction:column;display:flex}.solo-header .subtitle{font:var(--text-lead);margin-top:0}.solo-title{font:var(--text-entry-title);letter-spacing:var(--tracking-entry-title);text-transform:uppercase}.solo-or{align-items:center;gap:var(--space-12);color:var(--ink-muted);font:var(--text-detail);margin:var(--space-8) 0;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:var(--text-caption)}.notice-ok{color:var(--ink-muted)}.notice-error{color:var(--ink)}.loading{margin-top:0}.link-button{font:inherit;color:var(--ink);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;font:var(--text-label);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--ink-muted);padding:0 12px 10px}.table td{border-top:1px solid var(--border);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-muted);font:var(--text-detail);margin-top:2px}.empty{color:var(--ink-muted);padding:14px 12px 0}.class-table th:first-child{width:110px}.class-table th:nth-child(3){width:180px}.class-table th:nth-child(4){width:200px}.class-table th:nth-child(5),.class-table th:nth-child(6){width:170px}.chip,.chip-strong,.chip-live{background:var(--control);color:var(--on-control);border-radius:var(--radius-4);font:var(--text-chip);letter-spacing:var(--tracking-chip);text-transform:uppercase;white-space:nowrap;padding:5px 9px;display:inline-block}.ruler{gap:4px;display:flex}.ruler-compact{gap:3px}.ruler-dense{gap:2px}.ruler-denser{gap:1px}.ruler-b{border-radius:2px;flex:1;height:10px}.ruler-compact .ruler-b{height:8px}.ruler-work{background:var(--ink-muted)}.ruler-run{border:1.5px solid var(--ink-muted)}.ruler-rest{background:var(--concrete)}.ruler-done.ruler-work{background:var(--ink)}.ruler-done.ruler-run{border-color:var(--ink)}.ruler-hot{background:var(--signal);border-color:var(--signal)}.code{font:var(--text-code);letter-spacing:var(--tracking-code);font-variant-numeric:tabular-nums}.code-box .code{white-space:nowrap;font-size:46px}.code-box{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-4);padding:var(--space-16);gap:var(--space-8);flex-direction:column;display:flex}.invite-text{font:var(--text-lead);margin-top:0}.invite-link{font:var(--text-caption);color:var(--ink-muted);word-break:break-all}.row{flex-wrap:wrap;align-items:center;gap:10px;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:var(--text-row);text-decoration:none}@media (hover:hover){.row-link:hover{color:var(--ink);text-decoration:underline}}.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(--border);flex-direction:column;flex-shrink:0;gap:4px;width:248px;padding:28px 16px 24px;display:flex}.shell-brand{padding:0 12px 8px}.shell-brand .logo{display:block}.shell-gym{font:var(--text-caption-small);color:var(--ink-muted);text-overflow:ellipsis;white-space:nowrap;padding:0 12px 24px;overflow:hidden}.shell-switch{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;max-width:100%;padding:0}.shell-nav{flex-direction:column;gap:4px;display:flex}.shell-item{border-radius:var(--radius-4);font:var(--text-nav);letter-spacing:var(--tracking-nav);text-transform:uppercase;color:var(--ink-muted);align-items:center;gap:12px;padding:10px 12px;text-decoration:none;display:flex}.shell-icon{flex-shrink:0;display:block}@media (hover:hover){.shell-item:hover{color:var(--ink)}}.shell-item-active{color:var(--ink);background:var(--surface)}.shell-user{align-items:center;gap:10px;margin-top:auto;padding:12px;display:flex}.shell-avatar{border-radius:var(--radius-full);background:var(--surface);width:32px;height:32px;font:var(--text-avatar);flex-shrink:0;justify-content:center;align-items:center;display:flex}.shell-user-text{flex-grow:1;min-width:0}.shell-user-name{font:var(--text-caption);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.shell-user-role{color:var(--ink-muted);font:var(--text-detail)}.shell-sign-out{padding:8px 10px}.shell-content{flex-direction:column;flex-grow:1;gap:24px;min-width:0;padding:36px 40px;display:flex}.sign-in{min-height:100%;padding:var(--space-32) var(--space-16);justify-content:center;align-items:center;display:flex}.sign-in-card{gap:var(--space-12);flex-direction:column;width:100%;max-width:390px;display:flex}.sign-in-header{gap:var(--space-20);flex-direction:column;margin-bottom:48px;display:flex}.sign-in-title{font:var(--text-entry-title);letter-spacing:var(--tracking-entry-title);text-transform:uppercase}.sign-in-text{font:var(--text-lead);margin-top:0}.sign-in-or{align-items:center;gap:var(--space-12);color:var(--ink-muted);font:var(--text-detail);margin:var(--space-8) 0;display:flex}.sign-in-or span{background:var(--border);flex-grow:1;height:1px}.sign-in-form{gap:var(--space-12);flex-direction:column;display:flex}.sign-in-card .button-wide{padding:var(--space-16);font-size:15px}.sign-in-notice{font:var(--text-caption);text-align:center;margin-top:var(--space-4)}.sign-in-notice-ok{color:var(--ink-muted)}.sign-in-notice-error{color:var(--ink)}.class-fields{align-items:flex-start}.class-fields input,.group-start select{font:var(--text-input);color:var(--ink);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-4);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;padding:12px 14px}.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-fit,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}.group-start{align-items:center;gap:var(--space-8);font:var(--text-caption-small);color:var(--ink-muted);display:flex}.group-start select{font:var(--text-caption);background:var(--bg);padding:6px 10px}.group-order-letters{align-items:center;gap:var(--space-8);font:var(--text-order);letter-spacing:var(--tracking-order);display:inline-flex}.mark-order{width:9px;height:20px}.group-students{gap:var(--space-8);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.group-students li{background:var(--control);border-radius:var(--radius-4);font:var(--text-caption-small);color:var(--ink);align-items:center;gap:6px;padding:4px 4px 4px 10px;display:inline-flex}.group-students select{font:var(--text-detail);color:var(--ink-muted);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background:0 0;border:0;padding:2px}.group-students .icon-button{width:24px;height:24px}.pool{gap:var(--space-4);flex-direction:column;max-height:480px;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.pool label{cursor:pointer;align-items:center;gap:10px;padding:6px 0;display:flex}.pool input{width:18px;height:18px;accent-color:var(--action)}.form-problems{color:var(--ink);font:var(--text-caption);margin:0;padding-left:18px}.class-note{align-items:center;gap:var(--space-8);display:flex}.editor{gap:var(--space-16);grid-template-columns:minmax(0,1fr) 300px;align-items:start;display:grid}.editor-side{top:var(--space-20);position:sticky}.editor-fields{gap:var(--space-16);flex-wrap:wrap;display:flex}.editor-fields .field:last-child{width:300px}.step select,.step input,.cycle-header input,.cycle-rounds input,.cycle-rest input,.editor-transition input{font:var(--text-caption);color:var(--ink);background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-4);min-width:0;padding:8px 10px}.box{font-variant-numeric:tabular-nums;text-align:center;font:var(--text-time-box)!important}[aria-invalid=true]{border-color:var(--ink)!important}.editor-side .figure{margin-top:var(--space-8)}.editor-align{background:var(--concrete);border-radius:var(--radius-4);font:var(--text-caption);flex-direction:column;gap:6px;padding:14px;display:flex}.editor-problems{color:var(--ink);font:var(--text-caption);flex-direction:column;gap:4px;margin:0;padding-left:18px;display:flex}.editor-transition{flex-direction:row;align-items:center;gap:10px}.editor-transition input{width:96px}.cycle-header{align-items:center;gap:var(--space-12);display:flex}.cycle-header .panel-title{white-space:nowrap}.cycle-name{flex-grow:1}.cycle-rounds,.cycle-rest{align-items:center;gap:var(--space-8);white-space:nowrap;display:flex}.cycle-rounds input,.cycle-rest input{width:72px;padding:4px 10px}.cycle-rest{font:var(--text-caption-small);color:var(--ink-muted)}.cycle-footer{align-items:center;gap:10px;margin-top:2px;display:flex}.cycle-total{font:var(--text-cycle-total);letter-spacing:var(--tracking-cycle-total);font-variant-numeric:tabular-nums}.cycle .button-dashed,.panel .button-dashed{justify-content:center;align-items:center;gap:6px;display:flex}.steps{flex-direction:column;display:flex}.step{gap:var(--space-8);border-top:1px solid var(--border);grid-template-columns:112px minmax(120px,1fr) 56px 84px 72px 52px 72px 92px;align-items:center;padding:9px 0;display:grid}.step-head{padding:0 0 var(--space-8);font:var(--text-label);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--ink-muted);border-top:0}.step .box{padding:4px 6px}.step-rest input:first-of-type{color:var(--ink-muted)}.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{border-radius:var(--radius-4);width:32px;height:32px;color:var(--ink-muted);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;display:inline-flex}@media (hover:hover){.icon-button:hover:not(:disabled){background:var(--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-cards .figure{margin-top:var(--space-8)}.live-next .figure{color:var(--signal)}.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:center;gap:var(--space-12);margin-bottom:var(--space-12);display:flex}.live-ruler{margin-bottom:var(--space-12)}.live-line{align-items:center;gap:var(--space-12);border-top:1px solid var(--border);padding:11px 0;display:flex}.live-name{width:140px;font:var(--text-row);text-overflow:ellipsis;white-space:nowrap;flex-shrink:0;overflow:hidden}.live-what{min-width:0;font:var(--text-caption);color:var(--ink-muted);flex-grow:1}.live-timer{text-align:right;width:56px;font:var(--text-time);letter-spacing:var(--tracking-time);font-variant-numeric:tabular-nums;color:var(--ink-muted)}.line-work .live-timer{color:var(--ink)}
