@import "https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700&display=swap";:root{--bg-color:#0b0f19;--bg-gradient:radial-gradient(circle at top left, #1a1f35, #0b0f19);--primary-glow:#0fa6;--focus-color:#ff4757;--break-color:#2ed573;--long-break-color:#1e90ff;--glass-bg:#ffffff08;--glass-border:#ffffff0d;--glass-shadow:0 8px 32px 0 #0000005e;--text-primary:#fff;--text-secondary:#94a3b8}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg-gradient);background-color:var(--bg-color);color:var(--text-primary);background-attachment:fixed;justify-content:center;align-items:center;min-height:100vh;font-family:Outfit,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;display:flex;position:relative;overflow:hidden}body:before,body:after{content:"";filter:blur(100px);z-index:-1;opacity:.5;border-radius:50%;transition:background 1s;position:absolute}body:before{background:var(--focus-color);opacity:.15;width:400px;height:400px;top:-100px;right:-100px}body:after{background:var(--break-color);opacity:.1;width:500px;height:500px;bottom:-200px;left:-100px}#root{justify-content:center;align-items:center;width:100%;height:100vh;display:flex}button{cursor:pointer;background:0 0;border:none;outline:none;font-family:inherit}.glass-panel{background:var(--glass-bg);-webkit-backdrop-filter:blur(16px);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow);border-radius:24px}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in{animation:.8s forwards fadeIn}.app-container{z-index:10;flex-direction:column;justify-content:center;align-items:center;width:100%;max-width:480px;padding:2rem;display:flex}.main-content{flex-direction:column;align-items:center;gap:3rem;width:100%;display:flex}.mode-selector{border-radius:9999px;justify-content:space-between;gap:.5rem;width:100%;padding:.5rem;display:flex}.mode-btn{color:var(--text-secondary);white-space:nowrap;border-radius:9999px;flex:1;padding:.75rem 1rem;font-size:.9rem;font-weight:500;transition:all .3s cubic-bezier(.4,0,.2,1)}.mode-btn:hover{color:var(--text-primary);background:#ffffff0d}.mode-btn.active{color:var(--text-primary);background:#ffffff1a;box-shadow:0 4px 12px #0000001a}.app-container.focus .mode-btn.active{color:var(--focus-color);background:#ff47571a}.app-container.shortBreak .mode-btn.active{color:var(--break-color);background:#2ed5731a}.app-container.longBreak .mode-btn.active{color:var(--long-break-color);background:#1e90ff1a}.timer-wrapper{justify-content:center;align-items:center;display:flex;position:relative}.timer-display{border-radius:50%;justify-content:center;align-items:center;width:320px;height:320px;display:flex;position:relative;box-shadow:0 0 40px #0000004d,inset 0 0 20px #ffffff05}.timer-svg{position:absolute;top:0;left:0;transform:rotate(-90deg)}.timer-circle-bg{fill:none;stroke:#ffffff0d}.timer-circle-progress{fill:none;filter:drop-shadow(0 0 10px);transition:stroke-dashoffset 1s linear,stroke .5s}.timer-text{flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute}.time{letter-spacing:-2px;color:var(--text-primary);font-variant-numeric:tabular-nums;text-shadow:0 4px 12px #0000004d;font-size:5.5rem;font-weight:300}.timer-controls{border-radius:9999px;justify-content:center;align-items:center;gap:2rem;padding:1.5rem 3rem;display:flex}.control-btn{color:var(--text-secondary);border-radius:50%;justify-content:center;align-items:center;padding:1rem;transition:all .2s;display:flex}.control-btn:hover{color:var(--text-primary);background:#ffffff0d;transform:scale(1.1)}.play-btn{background:var(--text-primary);width:72px;height:72px;color:var(--bg-color);box-shadow:0 4px 20px #fff3}.play-btn:hover{background:var(--text-primary);color:var(--bg-color);transform:scale(1.05);box-shadow:0 8px 30px #fff6}.play-btn.active{color:var(--text-primary);box-shadow:none;background:#ffffff1a;border:1px solid #fff3}.play-icon{margin-left:4px}body{transition:background-color 1s}.app-container.focus~:before{opacity:.2}.app-container.shortBreak~:after{opacity:.2;background:var(--break-color)}.app-container.longBreak~:after{opacity:.2;background:var(--long-break-color)}
