:root{--bg:#0e0f12;--fg:#e8ebf0;--muted:#a8b0bd;--brand:#6aa7ff;--accent:#7ee787;--danger:#ff6b6b;--card:#151821;--ring:#1f2330}
*{box-sizing:border-box}html,body{height:100%}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Inter,Arial,sans-serif;background:var(--bg);color:var(--fg);display:flex;min-height:100%}
.wrap{max-width:960px;margin:auto;padding:20px;flex:1}
header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}
.logo{display:flex;align-items:center;gap:10px;font-weight:700;letter-spacing:.3px}
.logo .dot{width:10px;height:10px;border-radius:50%;background:linear-gradient(135deg,var(--brand),#9b7dff)}
.card{background:linear-gradient(180deg,var(--card),#12151d);border:1px solid #222734;border-radius:16px;box-shadow:0 10px 30px rgba(0,0,0,.35);padding:16px}
.display{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;min-height:clamp(180px,40vh,420px)}
.time{font-variant-numeric:tabular-nums;line-height:1;letter-spacing:1px;font-weight:800;font-size:clamp(72px,22vw,200px)}
.bar{position:relative;height:14px;border-radius:999px;background:var(--ring);border:1px solid #2b3344;overflow:hidden;margin:14px 0 6px}
.bar__fill{height:100%;width:0%;background:linear-gradient(90deg,var(--accent),var(--brand));transition:width .2s ease;border-radius:inherit}
.bar__label{position:absolute;inset:0;display:grid;place-items:center;font-size:12px;color:var(--muted);pointer-events:none}
.controls{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}
.controls button{appearance:none;border:1px solid #2b3344;background:#1a2030;color:var(--fg);padding:12px 14px;border-radius:12px;font-weight:700;cursor:pointer;transition:transform .05s ease,background .2s}
.controls button:active{transform:translateY(1px)}
.controls .start{background:linear-gradient(180deg,#1f283b,#172033);border-color:#2e3a56}
.controls .reset{background:linear-gradient(180deg,#2a1e22,#20161a);border-color:#44323a}
.inputs{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:12px 0}
.field{display:flex;flex-direction:column;gap:6px}
label{font-size:12px;color:var(--muted)}
input[type=number],select{width:100%;border-radius:12px;border:1px solid #2b3344;background:#111622;color:var(--fg);padding:10px 12px}
input[type=range]{width:100%}
.preset{display:flex;flex-wrap:wrap;gap:8px}
.chip{border:1px solid #2b3344;background:#121828;color:var(--fg);padding:8px 10px;border-radius:999px;font-size:13px;cursor:pointer}
.options{display:grid;grid-template-columns:1fr;gap:10px}
@media (min-width:740px){.options{grid-template-columns:1fr 1fr}}
.opt{border:1px dashed #2b3344;border-radius:12px;padding:10px}
.row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.row input[type=checkbox]{transform:scale(1.2)}
footer{margin-top:18px;color:var(--muted);font-size:12px;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}
a{color:var(--brand);text-decoration:none}
@media (max-width:480px){header .logo span{font-size:14px}.inputs{grid-template-columns:1fr 1fr}}
.fs .wrap{max-width:100vw;padding:20px}
.focus header .logo{opacity:.6}
.focus .inputs,.focus .controls,.focus .options,.focus footer{display:none}
.focus .card{background:transparent;border-color:transparent;box-shadow:none;padding:8px}
.focus .display{min-height:clamp(220px,50vh,560px)}
.focus .time{font-size:clamp(120px,28vw,280px)}
.focus .bar{height:20px}
.focus .wrap{max-width:1400px}
@keyframes flash{0%,100%{opacity:1}50%{opacity:.2}}
.card.flash .time{animation:flash .8s step-end infinite;color:var(--danger)}
.card.flash .bar__fill{animation:flash 1.2s ease-in-out infinite}
.mt-12{margin-top:12px}