*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
:root{--bg:#0f0f23;--text:#e0e0ff;--accent:#ffd93d;--accent2:#ff6b6b;--glass:rgba(255,255,255,.06);--border:rgba(255,255,255,.1)}
[data-theme=light]{--bg:#f5f5ff;--text:#1a1a2e;--accent:#e6a800;--accent2:#d63031;--glass:rgba(0,0,20,.04);--border:rgba(0,0,30,.08)}
body{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;background:var(--bg);color:var(--text);min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;transition:background .4s,color .3s}
.container{text-align:center;padding:2rem}
.title{font-size:3rem;font-weight:800;background:linear-gradient(135deg,var(--accent),var(--accent2));-webkit-background-clip:text;-webkit-text-fill-color:transparent;margin-bottom:.3rem}
.subtitle{opacity:.6;margin-bottom:2.5rem;font-size:1.05rem}
.timer-circle{width:240px;height:240px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:3.5rem;font-weight:700;font-variant-numeric:tabular-nums;border:4px solid var(--accent);box-shadow:0 0 60px rgba(255,217,61,.15),inset 0 0 40px rgba(0,0,0,.2);margin:0 auto 2.5rem;cursor:pointer;user-select:none;transition:border-color .3s,box-shadow .3s;position:relative;overflow:hidden}
.timer-circle::before{content:'';position:absolute;inset:0;border-radius:50%;background:radial-gradient(circle at 35% 35%,rgba(255,217,61,.08),transparent 60%);pointer-events:none}
.timer-circle:hover{transform:scale(1.03);box-shadow:0 0 80px rgba(255,217,61,.25),inset 0 0 40px rgba(0,0,0,.2)}
.timer-circle.running{border-color:#6bcb77;box-shadow:0 0 60px rgba(107,203,119,.15),inset 0 0 40px rgba(0,0,0,.2)}
.controls{display:flex;gap:1rem;justify-content:center;margin-bottom:2rem}
.controls button{padding:.8rem 2rem;font-size:1rem;border:none;border-radius:12px;cursor:pointer;font-weight:600;transition:all .25s}
#startBtn{background:var(--accent);color:#1a1a2e}
#startBtn:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(255,217,61,.35)}
#resetBtn{background:var(--glass);color:var(--text);border:1px solid var(--border)}
#resetBtn:hover{background:var(--border)}
.mode-switch{display:flex;gap:.7rem;justify-content:center;flex-wrap:wrap}
.mode-btn{padding:.55rem 1.1rem;border:1px solid var(--border);border-radius:10px;background:var(--glass);color:var(--text);cursor:pointer;font-size:.88rem;transition:all .25s}
.mode-btn.active{border-color:var(--accent);background:rgba(255,217,61,.12);color:var(--accent)}
.mode-btn:hover{border-color:var(--accent);transform:translateY(-1px)}
footer{margin-top:auto;padding:2rem 1rem;text-align:center;opacity:.45;font-size:.82rem;width:100%}
@media(max-width:480px){.title{font-size:2.2rem}.timer-circle{width:190px;height:190px;font-size:2.8rem}.controls button{padding:.65rem 1.5rem;font-size:.92rem}}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.5}}
.pulse{animation:pulse 1s ease-in-out infinite}
