:root{--bg: #111;--card: #1b1b1b;--line: #2a2a2a;--text: #eee;--text-2: #9a9a9a;--gold: #c9a84c;--green: #3fa45b;--red: #d9534f;color-scheme:dark}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:16px/1.4 -apple-system,system-ui,Segoe UI,Roboto,sans-serif;overscroll-behavior:none;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}.head{display:flex;align-items:center;gap:12px;padding:12px 16px;border-bottom:1px solid var(--line);position:sticky;top:0;background:var(--bg);z-index:2}h1{font-size:18px;margin:0;flex:1}.conn{font-size:13px;color:var(--text-2);white-space:nowrap}.conn.is-on{color:var(--green)}.conn.is-off{color:var(--red)}.board{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px;padding:16px}.card{background:var(--card);border:1px solid var(--line);border-left:4px solid var(--line);border-radius:10px;padding:12px;display:flex;flex-direction:column;gap:8px}.card.is-warn{border-left-color:var(--gold)}.card.is-late{border-left-color:var(--red)}.card.is-ready{border-left-color:var(--green)}.name{font-size:18px;font-weight:600}.portion{font-size:14px;opacity:.75;margin-top:2px}.qty{color:var(--text-2)}.meta{display:flex;justify-content:space-between;font-size:13px;color:var(--text-2)}.timer{font-variant-numeric:tabular-nums}.row{display:flex;gap:8px;margin-top:4px;flex-wrap:wrap}button{flex:1;min-height:48px;min-width:110px;border:1px solid var(--line);border-radius:8px;background:#232323;color:var(--text);font-size:15px;font-weight:600;cursor:pointer}button.primary{background:var(--gold);border-color:var(--gold);color:#1a1a1a}button.done{background:var(--green);border-color:var(--green);color:#fff}button:disabled{opacity:.5}.empty,.pair{padding:40px 20px;text-align:center;color:var(--text-2)}.pair form{max-width:340px;margin:0 auto;display:flex;flex-direction:column;gap:12px}.pair input{width:100%;min-height:56px;text-align:center;font-size:28px;letter-spacing:6px;font-family:ui-monospace,monospace;text-transform:uppercase;background:var(--card);color:var(--text);border:1px solid var(--line);border-radius:10px}.pair h2{color:var(--text)}.err{color:var(--red)}.foot{padding:12px 16px 24px;text-align:center}.foot button{min-width:160px;flex:0 0 auto;font-weight:400;font-size:13px;min-height:36px}
