:root{--font-sans:'Inter',-apple-system,sans-serif;--font-mono:'JetBrains Mono',monospace;--radius:12px;--transition:0.25s ease}
[data-theme="dark"]{--bg:#0F0F1A;--bg2:#1A1A2E;--bg-card:rgba(26,26,46,0.9);--bg-input:rgba(99,102,241,0.05);--border:rgba(99,102,241,0.12);--text:#E8E4F0;--text2:#A0A0C0;--text3:#6060A0;--primary:#6366F1;--secondary:#A78BFA;--accent:#10B981;--gradient:linear-gradient(135deg,#6366F1,#8B5CF6)}
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--font-sans);background:var(--bg);color:var(--text);min-height:100vh}
.app{max-width:500px;margin:0 auto}.header{display:flex;align-items:center;justify-content:space-between;padding:16px 24px;border-bottom:1px solid var(--border)}
.logo{display:flex;align-items:center;gap:10px}.logo h1{font-size:1rem;font-weight:700;background:var(--gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.stats-badge{font-size:.75rem;font-weight:600;color:var(--accent);background:rgba(16,185,129,0.1);padding:4px 10px;border-radius:6px;font-family:var(--font-mono)}
.btn{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-sans);font-size:.82rem;font-weight:500;padding:8px 16px;border-radius:8px;border:none;cursor:pointer;transition:all var(--transition)}
.btn-primary{background:var(--gradient);color:#fff}.btn-primary:hover{transform:translateY(-1px)}
.btn-ghost{background:transparent;color:var(--text2)}.btn-ghost:hover{background:var(--bg-input);color:var(--text)}
.main{padding:24px;display:flex;flex-direction:column;gap:20px;align-items:center}
.timer-panel{position:relative;display:flex;align-items:center;justify-content:center}
.progress-ring{display:block}.timer-center{position:absolute;text-align:center}
.timer-display{font-family:var(--font-mono);font-size:3rem;font-weight:700;letter-spacing:.02em}
.timer-label{font-size:.78rem;color:var(--text2);margin-top:4px}
.controls{display:flex;gap:10px;align-items:center;flex-wrap:wrap;justify-content:center}
.opt-label{font-size:.72rem;font-weight:600;color:var(--text3);margin-bottom:4px;display:block;text-transform:uppercase;letter-spacing:.04em}
.duration-select select{padding:6px 10px;background:var(--bg-input);color:var(--text);border:1px solid var(--border);border-radius:6px;font-size:.82rem;outline:none;font-family:var(--font-sans)}
.ambient{text-align:center;width:100%}.ambient-btns{display:flex;gap:6px;justify-content:center;flex-wrap:wrap;margin-top:6px}
.amb{font-size:.78rem;padding:6px 12px;border:1px solid var(--border);border-radius:6px;background:transparent;color:var(--text2);cursor:pointer;transition:all var(--transition);font-family:var(--font-sans)}
.amb:hover{border-color:var(--primary)}.amb.active{background:var(--primary);color:#fff;border-color:var(--primary)}
.journal{width:100%}.journal input{width:100%;padding:10px;background:var(--bg-input);color:var(--text);border:1px solid var(--border);border-radius:8px;font-size:.85rem;outline:none;font-family:var(--font-sans);margin-top:4px}
.heatmap-section{width:100%;text-align:center}.heatmap-section h3{font-size:.85rem;font-weight:600;margin-bottom:10px;color:var(--text2)}
.heatmap{display:grid;grid-template-columns:repeat(7,1fr);gap:3px;max-width:250px;margin:0 auto}
.heat-cell{width:100%;aspect-ratio:1;border-radius:3px;background:var(--bg-input)}
.heat-1{background:rgba(99,102,241,0.2)}.heat-2{background:rgba(99,102,241,0.4)}.heat-3{background:rgba(99,102,241,0.6)}.heat-4{background:rgba(99,102,241,0.8)}.heat-5{background:#6366F1}
