*{box-sizing:border-box}html,body{margin:0;background:#111827;color:#e5e7eb;font:16px/1.5 system-ui,-apple-system,Segoe UI,Roboto,sans-serif}
a{color:#5eead4}.top{display:flex;justify-content:space-between;align-items:center;padding:12px 20px;max-width:960px;margin:0 auto}.brand{color:#fff;text-decoration:none;font-weight:700}.brand span{opacity:.6}nav a{margin-left:16px;text-decoration:none}
.timer{max-width:520px;margin:0 auto;padding:8px 16px;text-align:center}.ringWrap{position:relative;width:min(80vw,340px);margin:0 auto}
.ring{width:100%;transform:rotate(-90deg)}.track{fill:none;stroke:#1f2937;stroke-width:8}.prog{fill:none;stroke:#2dd4bf;stroke-width:8;stroke-linecap:round;stroke-dasharray:565.49;stroke-dashoffset:0;transition:stroke-dashoffset .25s linear}
.center{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center}.time{font-size:clamp(2.6rem,12vw,4.2rem);font-variant-numeric:tabular-nums;font-weight:300}.label{opacity:.6}
button{background:#1f2937;color:#e5e7eb;border:1px solid #374151;border-radius:10px;padding:10px 16px;font:inherit;cursor:pointer}button.primary{background:#0d9488;border-color:#0d9488;color:#fff;min-width:110px}
.controls{display:flex;gap:10px;justify-content:center;margin:16px 0}.presets{display:flex;flex-wrap:wrap;gap:6px;justify-content:center}.presets button{padding:6px 10px;font-size:.9rem}.presets .on{border-color:#2dd4bf;color:#5eead4}
.settings{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:16px 0;text-align:left}label{font-size:.85rem;opacity:.85}input,select{width:100%;margin-top:2px;padding:8px;background:#1f2937;color:#e5e7eb;border:1px solid #374151;border-radius:8px;font:inherit}input[type=range]{padding:0}
.status{min-height:1.5em;color:#5eead4}.info{max-width:760px;margin:24px auto;padding:0 16px}.card{background:#1f2937;border-radius:12px;padding:16px;margin:16px 0}.badge{background:#78350f;color:#fde68a;font-size:.75rem;padding:2px 8px;border-radius:99px}
.faq details{border-bottom:1px solid #374151;padding:8px 0}.faq summary{cursor:pointer;font-weight:600}.foot{text-align:center;padding:24px;opacity:.7;font-size:.9rem}
.timer:fullscreen{background:#111827;display:flex;flex-direction:column;justify-content:center;max-width:none;height:100vh}.timer:fullscreen .settings,.timer:fullscreen .presets{display:none}
