:root{--paper:#f4f4f2;--brand:#2a1c4a;--accent:#ffd166;--font:"DM Sans", "Helvetica Neue", Arial, sans-serif;--mono:"DM Mono", ui-monospace, monospace}:root,.board{--ink:color-mix(in oklab, var(--brand) 45%, #000);--muted:color-mix(in oklab, var(--ink) 74%, var(--paper));--surface-2:color-mix(in oklab, var(--paper) 90%, var(--brand));--brand-deep:color-mix(in oklab, var(--brand) 74%, #000);--brand-line:color-mix(in oklab, var(--brand) 80%, #fff);--brand-soft:color-mix(in oklab, var(--brand) 26%, #fff);--accent-ink:color-mix(in oklab, var(--accent) 72%, #000)}*{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--brand-deep);font-family:var(--font);margin:0}a{color:var(--accent-ink)}a:hover{color:var(--ink)}@keyframes tick{0%,to{opacity:1}50%{opacity:.2}}.board{--space:min(1vw, 1.8dvh);--heading-size:calc(var(--space) * 3.125);background:var(--paper);width:100%;height:100dvh;color:var(--ink);flex-direction:column;display:flex;overflow:hidden}.head{background:var(--brand);min-height:0;color:var(--paper);align-items:center;gap:calc(var(--space) * 1.875);padding:0 calc(var(--space) * 2.3);flex:0 0 12%;display:flex}.head img{object-fit:contain;flex-shrink:0;width:auto;max-width:20%;height:46%;display:block}.head .rule{width:max(1px, calc(var(--space) * .16));background:var(--brand-line);flex-shrink:0;height:50%}.head .store{min-width:0;font-weight:900;font-size:calc(var(--space) * 2.3);letter-spacing:-.02em;text-transform:uppercase;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.head .spacer{flex:auto}.overline{font-family:var(--mono);font-size:calc(var(--space) * 1.25);letter-spacing:.2em;text-transform:uppercase;color:var(--brand-soft);flex-shrink:0}.live{width:calc(var(--space) * .94);height:calc(var(--space) * .94);background:var(--accent);flex-shrink:0;animation:1.8s step-end infinite tick}.live--offline{background:var(--brand-soft);opacity:.5;animation:none}.app-controls{z-index:10;flex-shrink:0;font-size:14px;position:relative}.app-controls--floating{position:fixed;top:16px;right:16px}.app-controls-trigger{cursor:pointer;width:44px;height:44px;color:inherit;opacity:.5;border-radius:8px;justify-content:center;align-items:center;list-style:none;display:flex}.app-controls-trigger::-webkit-details-marker{display:none}.app-controls-trigger--status{opacity:1}.app-controls-trigger:hover,.app-controls-trigger:focus-visible,.app-controls[open] .app-controls-trigger{opacity:1;background:color-mix(in oklab, currentColor 10%, transparent)}.app-controls-trigger:focus-visible{outline-offset:2px;outline:2px solid}.app-controls-panel{border:1px solid var(--surface-2);background:var(--paper);width:260px;max-width:calc(100vw - 32px);max-height:calc(100dvh - 110px);color:var(--ink);border-radius:12px;padding:6px;position:absolute;top:calc(100% + 8px);right:0;overflow-y:auto;box-shadow:0 8px 30px #0003}.app-controls-panel button{width:100%;min-height:44px;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:7px;align-items:center;gap:12px;padding:10px 12px;display:flex}.app-controls-panel button svg{flex-shrink:0}.app-controls-panel button:hover,.app-controls-panel button:focus-visible{background:var(--surface-2)}.app-controls-panel button:focus-visible{outline:2px solid var(--brand);outline-offset:-2px}.app-controls-panel button:disabled{opacity:.5;cursor:not-allowed}.app-controls-panel p{margin:6px 12px 10px;font-size:12px;line-height:1.5}.app-controls-divider{background:var(--surface-2);height:1px;margin:4px 6px}.cols{flex:auto;grid-template-columns:minmax(0,1fr) minmax(0,2.1fr);min-height:0;display:grid}.prep,.ready{flex-direction:column;min-width:0;min-height:0;display:flex}.prep{--tile-columns:2;--tile-rows:9;--section-padding:calc(var(--space) * 1.65);--tile-gap:calc(var(--space) * .625);background:var(--surface-2);border-right:max(1px, calc(var(--space) * .42)) solid var(--brand)}.ready{--tile-columns:4;--tile-rows:6;--section-padding:calc(var(--space) * 2.3);--tile-gap:calc(var(--space) * .835)}.bar{min-width:0;padding:calc(var(--space) * 1.5) var(--section-padding) var(--space);align-items:center;gap:calc(var(--space) * 1.5);flex:none;display:flex}.bar h2{font-weight:900;font-size:var(--heading-size);letter-spacing:-.02em;text-transform:uppercase;white-space:nowrap;margin:0;line-height:1.1}.prep .bar{justify-content:space-between}.prep .count{font-family:var(--mono);font-size:calc(var(--space) * 1.565);color:var(--muted)}.grid{min-width:0;min-height:0;padding:0 var(--section-padding) calc(var(--space) * 1.25);grid-template-columns:repeat(var(--tile-columns), minmax(0, 1fr));grid-template-rows:repeat(var(--tile-rows), minmax(0, 1fr));gap:var(--tile-gap);flex:auto;display:grid;overflow:hidden}.tile{justify-content:center;align-items:center;min-width:0;min-height:0;display:flex;container-type:size}.tile span{letter-spacing:-.01em;white-space:nowrap;font-size:min(24cqw,62cqh);font-weight:900;line-height:1}.prep .tile{border:max(1px, calc(var(--space) * .21)) solid var(--ink);background:var(--paper)}.prep .more{padding:0 var(--section-padding) calc(var(--space) * 1.45);font-family:var(--mono);font-size:calc(var(--space) * 1.15);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);flex:none}.ready h2{color:var(--brand)}.ready .keyline{height:calc(var(--space) * 1.04);background:var(--accent-ink);flex:auto}.ready .hint{font-family:var(--mono);font-size:calc(var(--space) * 1.25);letter-spacing:.18em;text-transform:uppercase;color:var(--muted);flex-shrink:0}.ready .tile{border:max(1px, calc(var(--space) * .315)) solid var(--brand);background:var(--brand);color:var(--accent)}@media (aspect-ratio<=1){.board{--space:min(1.6vw, 1.3dvh)}.head{flex-basis:8%}.head img{max-width:30%}.overline{display:none}.cols{grid-template-rows:minmax(0,.42fr) minmax(0,.58fr);grid-template-columns:minmax(0,1fr)}.prep{--tile-columns:3;--tile-rows:6;border-right:0;border-bottom:max(1px, calc(var(--space) * .42)) solid var(--brand)}.ready{--tile-columns:3;--tile-rows:8;--section-padding:calc(var(--space) * 1.65)}}.login{box-sizing:border-box;background:var(--paper,#f4f4f2);width:100%;min-height:100vh;color:var(--brand,#2a1c4a);font-family:var(--font,"DM Sans", "Helvetica Neue", Arial, sans-serif);flex-direction:column;justify-content:center;align-items:center;gap:16px;padding:24px;display:flex}.login h1{text-align:center;margin:0;font-size:20px;font-weight:700}.login-card{box-sizing:border-box;background:#fff;border-radius:16px;flex-direction:column;gap:24px;width:100%;max-width:450px;padding:40px 32px;display:flex;box-shadow:0 10px 40px #00000014}.login-logo{width:auto;height:84px;margin:0 auto;display:block}.login-card form{flex-direction:column;gap:16px;display:flex}.login-field{flex-direction:column;gap:6px;display:flex}.login-field label{font-size:13px;font-weight:600}.login-field input{box-sizing:border-box;color:#1a1a1a;background:#fff;border:1px solid #d5d3da;border-radius:10px;width:100%;padding:12px 14px;font-family:inherit;font-size:16px}.login-field input:focus{border-color:var(--brand,#2a1c4a);box-shadow:0 0 0 3px color-mix(in oklab, var(--brand,#2a1c4a) 24%, transparent);outline:none}.login-card button{color:#fff;background:var(--brand,#2a1c4a);cursor:pointer;border:none;border-radius:10px;width:100%;padding:12px;font-size:16px;font-weight:600}.login-card button:disabled{opacity:.6;cursor:not-allowed}.login-error{color:#c62828;background:#fdecea;border:1px solid #f5c6cb;border-radius:10px;margin:0;padding:12px 14px;font-size:14px}.login-branches{flex-direction:column;gap:12px;display:flex}.login-branches a{text-align:center;color:inherit;border:1px solid #d5d3da;border-radius:10px;padding:14px 16px;font-size:16px;font-weight:600;text-decoration:none}.login-branches a:hover{border-color:var(--brand,#2a1c4a)}
