:root{--bg:#0f172a;--card:#1e293b;--ink:#f1f5f9;--muted:#94a3b8;--blue:#1d4ed8;--green:#16a34a;--red:#dc2626;--line:#334155;--pad: 16px}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--ink);font:16px/1.4 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;overscroll-behavior-y:none}.app{display:flex;flex-direction:column;height:100%;padding:env(safe-area-inset-top) env(safe-area-inset-right) 0 env(safe-area-inset-left)}header{display:flex;align-items:baseline;gap:10px;padding:var(--pad)}h1{font-size:1.25rem;margin:0}main{flex:1;overflow-y:auto;padding:0 var(--pad) var(--pad);-webkit-overflow-scrolling:touch}.muted{color:var(--muted)}.small{font-size:.85rem}.err{color:#fca5a5}.center{display:grid;place-items:center;height:100%}.num{text-align:right;font-variant-numeric:tabular-nums}.status{background:var(--card);border-radius:16px;padding:24px 16px;text-align:center;margin-bottom:16px}.status.on{border:2px solid var(--green)}.timer{font-size:clamp(2.5rem,14vw,4rem);font-weight:700;font-variant-numeric:tabular-nums;letter-spacing:-1px}.timer.off{font-size:clamp(1.25rem,6vw,1.75rem);color:var(--muted)}.clock{display:block;width:100%;min-height:22vh;margin-bottom:20px;border:0;border-radius:20px;color:#fff;font-size:clamp(1.5rem,7vw,2.25rem);font-weight:800;letter-spacing:.5px;cursor:pointer;touch-action:manipulation}.clock.in{background:var(--green)}.clock.out{background:var(--red)}.clock:active{transform:scale(.985);filter:brightness(.92)}.clock:disabled{opacity:.6}.cards{display:grid;gap:12px}.prog{background:var(--card);border-radius:14px;padding:14px}.prog-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:8px;gap:8px}.bar{height:12px;background:#0b1220;border-radius:99px;overflow:hidden}.fill{height:100%;background:linear-gradient(90deg,var(--blue),#3b82f6)}.btn{display:block;width:100%;min-height:56px;border:0;border-radius:12px;background:var(--card);color:var(--ink);font-size:1.05rem;font-weight:600;text-align:center;line-height:56px;text-decoration:none;cursor:pointer}.btn.primary{background:var(--blue)}.pin{width:100%;min-height:64px;font-size:2rem;text-align:center;letter-spacing:.4em;border-radius:12px;border:2px solid var(--line);background:#0b1220;color:var(--ink);margin:12px 0}.pair{display:grid;place-content:center;gap:6px;height:100%;padding:24px;text-align:center}.reg{width:100%;border-collapse:collapse;background:var(--card);border-radius:14px;overflow:hidden}.reg th,.reg td{padding:14px 12px;border-bottom:1px solid var(--line);text-align:left}.reg th{font-size:.8rem;text-transform:uppercase;color:var(--muted);letter-spacing:.05em}.reg tr:last-child td{border-bottom:0}.tabs{display:flex;border-top:1px solid var(--line);background:#0b1220;padding-bottom:env(safe-area-inset-bottom)}.tabs button{flex:1;min-height:60px;background:none;border:0;color:var(--muted);font-size:1rem;font-weight:600;cursor:pointer}.tabs button.on{color:#fff;box-shadow:inset 0 3px 0 var(--blue)}@media (min-width: 640px){.app{max-width:560px;margin:0 auto;border-inline:1px solid var(--line)}.clock{min-height:180px}}@media (prefers-reduced-motion: reduce){*{transition:none!important}}
