:root{--bg-color: #000000;--text-color: #ffffff;--accent-color: #3b82f6;--danger-color: #ef4444;--font-family: "Inter", system-ui, -apple-system, sans-serif;--timer-font-family: "Roboto Condensed", sans-serif}*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}html,body{height:100%;overflow:hidden;background-color:var(--bg-color);color:var(--text-color);font-family:var(--font-family);transition:background-color .1s ease,color .1s ease}#app{height:100%;width:100%;display:flex;flex-direction:column}.mode{display:none;height:100%;width:100%;padding:2rem;flex-direction:column}.mode.active{display:flex}#config-mode{overflow-y:auto;justify-content:flex-start;align-items:center;max-width:600px;margin:0 auto}header h1{font-size:3rem;margin-bottom:3rem;text-align:center}.settings-grid{width:100%;display:flex;flex-direction:column;gap:2rem;margin-bottom:3rem}.setting-item{display:flex;flex-direction:column;gap:.5rem}label{font-size:1rem;text-transform:uppercase;letter-spacing:.1rem;opacity:.7}input[type=text]{background:#ffffff1a;border:1px solid rgba(255,255,255,.2);color:inherit;padding:1rem;font-size:2rem;border-radius:8px;text-align:center;outline:none}.quick-sets{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1rem;justify-content:center}.quick-btn{padding:.6rem 1rem;background:#8080801a;border:1px solid rgba(128,128,128,.2);color:var(--text-color);border-radius:6px;font-size:1rem;cursor:pointer;transition:all .2s}.quick-btn:hover{background:#80808033;border-color:var(--accent-color)}.theme-toggles{display:flex;gap:.5rem}.theme-btn{flex:1;padding:.75rem;background:#80808033;border:2px solid rgba(128,128,128,.4);color:var(--text-color);border-radius:4px;font-weight:600;cursor:pointer;transition:all .2s}.theme-btn.active{background:var(--accent-color);border-color:var(--accent-color);color:#fff}.color-inputs{display:flex;gap:1rem}input[type=color]{flex:1;height:50px;border:none;border-radius:4px;cursor:pointer}.primary-btn{width:100%;padding:1.5rem;font-size:1.5rem;font-weight:700;background:var(--accent-color);color:#fff;border:none;border-radius:12px;cursor:pointer;transition:opacity .2s}.primary-btn:active{opacity:.8}.config-footer{margin-top:1.5rem;font-size:.8rem;opacity:.6;text-align:center;color:var(--text-color);flex-shrink:0}.config-footer a{color:var(--accent-color);text-decoration:none}.config-footer a:hover{text-decoration:underline}#focus-mode{padding:0;position:relative;justify-content:center;align-items:center}.timer-text{font-family:var(--timer-font-family);font-size:35vw;font-weight:900;line-height:1;padding:0 5vw;font-variant-numeric:tabular-nums;cursor:default;-webkit-user-select:none;user-select:none;text-align:center;width:100%;display:flex;justify-content:center;align-items:center;white-space:nowrap;transform:scaleY(1.5);transition:font-size .2s ease}body.overtime .timer-text{font-size:28vw}.digit-slot{display:inline-block;overflow:hidden;position:relative;line-height:1;vertical-align:top}.digit-value{display:block;line-height:1}.digit-exit,.digit-enter{position:absolute;left:0;right:0;top:0;line-height:1}.digit-exit{animation:slide-out-up var(--digit-duration, .3s) cubic-bezier(.4,0,.2,1) forwards}.digit-enter{transform:translateY(100%);animation:slide-in-up var(--digit-duration, .3s) cubic-bezier(.4,0,.2,1) forwards}@keyframes slide-out-up{0%{transform:translateY(0)}to{transform:translateY(-100%)}}@keyframes slide-in-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}.digit-slot[data-pos=s-ones]{--digit-duration: .25s}.digit-slot[data-pos=s-tens],.digit-slot[data-pos=m-ones]{--digit-duration: .3s}.digit-slot[data-pos=m-tens]{--digit-duration: .35s}.digit-colon{display:inline-block;line-height:1}.overtime-prefix{display:inline-block;line-height:1;opacity:0;transition:opacity .3s ease;margin-right:.05em}.overtime-prefix.visible{opacity:1}.icon-btn{position:absolute;top:1rem;background:#80808033;border:none;color:var(--text-color);width:48px;height:48px;border-radius:50%;font-size:1.5rem;display:flex;justify-content:center;align-items:center;cursor:pointer;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}#exit-btn{right:1rem}#fullscreen-btn{left:1rem}.hidden{display:none!important}body.flash{filter:invert(1)}body.flash-continuous,body.overtime-flash{animation:flash-anim 2s infinite}@keyframes flash-anim{0%{filter:invert(0)}49.9%{filter:invert(0)}50%{filter:invert(1)}99.9%{filter:invert(1)}to{filter:invert(0)}}body.overtime{background-color:var(--danger-color)!important;color:#fff!important}
