@font-face{font-family:Lausanne;src:url(/fonts/Lausanne-Regular.otf) format("opentype");font-weight:400;font-style:normal;font-display:swap}:root{--bg: #0e0e0f;--bg-elevated: #141416;--surface: #1a1a1d;--surface-hover: #1f1f23;--border: rgba(255, 255, 255, .06);--border-strong: rgba(255, 255, 255, .1);--text: #f4f4f5;--text-secondary: #8b8b93;--text-muted: #5c5c64;--accent: #c45c5c;--accent-soft: rgba(196, 92, 92, .15);--accent-glow: rgba(196, 92, 92, .25);--ring-track: rgba(255, 255, 255, .08);--ring-progress: #c45c5c;--font: "Lausanne", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--ease-out: cubic-bezier(.22, 1, .36, 1);--ease-in-out: cubic-bezier(.65, 0, .35, 1);--duration-fast: .18s;--duration-normal: .32s;--duration-slow: .5s}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font);font-weight:400;background:var(--bg);color:var(--text);min-height:100dvh;line-height:1.5}strong,b,h1,h2,h3{font-weight:400}#root{min-height:100dvh}button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit}input{font-family:inherit}.app{min-height:100dvh;display:flex;flex-direction:column;align-items:center;padding:3rem 1.5rem 5rem;max-width:560px;margin:0 auto;position:relative}.app-header{text-align:center;margin-bottom:2rem;animation:fade-in .6s var(--ease-out) both}.app-title{font-size:1.75rem;font-weight:400;letter-spacing:-.03em;margin-bottom:.35rem}.app-subtitle{font-size:.875rem;color:var(--text-secondary);font-weight:400}.count-animate{display:inline-block;animation:count-pop .4s var(--ease-out)}.app-main{width:100%;display:flex;flex-direction:column;align-items:center;gap:2rem}.task-input{width:100%;max-width:400px;padding:.85rem 1.25rem;background:var(--surface);border:1px solid var(--border);border-radius:999px;color:var(--text);font-size:.9rem;outline:none;transition:border-color var(--duration-normal) var(--ease-out),background var(--duration-normal) var(--ease-out),box-shadow var(--duration-normal) var(--ease-out);animation:fade-in .6s var(--ease-out) .05s both}.task-input::placeholder{color:var(--text-muted)}.task-input:focus{border-color:var(--border-strong);background:var(--surface-hover);box-shadow:0 0 0 3px #ffffff08}.task-input:disabled{opacity:.6;cursor:not-allowed}.timer-section{display:flex;flex-direction:column;align-items:center;gap:1.25rem;animation:fade-in .7s var(--ease-out) .1s both}.timer-circle{position:relative;width:280px;height:280px;border-radius:50%;display:flex;align-items:center;justify-content:center;touch-action:manipulation;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;transition:transform .2s cubic-bezier(.34,1.56,.64,1),box-shadow .35s var(--ease-out)}.timer-circle:hover{transform:scale(1.03);box-shadow:0 0 48px #c45c5c14}.timer-circle--pressed{transform:scale(.94)!important;transition-duration:.08s;transition-timing-function:ease-in}.timer-circle--running{box-shadow:0 0 32px #c45c5c0f}.timer-circle--running:hover{transform:scale(1.02)}.timer-ring{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none}.timer-ring__track{stroke:var(--ring-track);transition:stroke .3s var(--ease-out)}.timer-circle--running .timer-ring__track{stroke:#ffffff1a}.timer-ring__progress{stroke:var(--ring-progress);opacity:1;transition:stroke-dashoffset .15s linear}.timer-circle--goal-met .timer-ring__progress{stroke:var(--accent)}.timer-circle__content{position:relative;display:flex;flex-direction:column;align-items:center;gap:.25rem;z-index:1;pointer-events:none}.timer-circle__time{font-size:3.25rem;font-weight:400;letter-spacing:-.04em;font-variant-numeric:tabular-nums;line-height:1}.timer-circle__label{font-size:.7rem;font-weight:400;letter-spacing:.14em;color:var(--text-secondary);text-transform:uppercase}.timer-circle__action{position:relative;margin-top:.5rem;height:20px;width:80px;display:flex;align-items:center;justify-content:center}.timer-circle__play{position:absolute;color:var(--accent);opacity:.85;transition:opacity .15s ease}.timer-circle__play--hidden{opacity:0;pointer-events:none}.timer-circle:hover .timer-circle__play:not(.timer-circle__play--hidden){transform:scale(1.1)}.timer-circle__stop-hint{position:absolute;font-size:.65rem;letter-spacing:.08em;color:var(--text-muted);text-transform:lowercase;opacity:.7;transition:opacity .15s ease}.timer-circle__stop-hint--hidden{opacity:0;pointer-events:none}.personal-best{display:flex;flex-direction:column;align-items:center;gap:.2rem;padding:.5rem 1rem;animation:fade-in .6s var(--ease-out) .15s both}.personal-best__label{font-size:.72rem;font-weight:400;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted)}.personal-best__value{font-size:1.1rem;font-weight:400;font-variant-numeric:tabular-nums;color:var(--text-secondary);transition:color .3s var(--ease-out)}.personal-best--record .personal-best__label{color:var(--accent)}.personal-best--record .personal-best__value{color:var(--accent);animation:count-pop .5s var(--ease-out)}.personal-best--empty .personal-best__value{color:var(--text-muted);font-weight:400}.quote{width:100%;max-width:400px;text-align:center;padding:0 .5rem;animation:fade-in .6s var(--ease-out) .18s both}.quote__text{font-size:.88rem;line-height:1.6;color:var(--text-secondary);font-style:italic;margin-bottom:.5rem}.quote__author{font-size:.75rem;color:var(--text-muted);font-style:normal;font-weight:400}.recent-sessions{width:100%;background:var(--bg-elevated);border:1px solid var(--border);border-radius:16px;padding:1.25rem 1.5rem;animation:fade-in .6s var(--ease-out) .2s both}.recent-sessions__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}.recent-sessions__title{font-size:.95rem;font-weight:400;letter-spacing:-.01em}.recent-sessions__badge{display:inline-flex;align-items:center;gap:.35rem;font-size:.75rem;font-weight:400;color:var(--accent);background:var(--accent-soft);padding:.25rem .65rem;border-radius:999px}.recent-sessions__today{font-size:.8rem;color:var(--text-secondary);margin-bottom:1rem}.recent-sessions__today strong{color:var(--text);font-weight:400}.recent-sessions__empty{display:flex;flex-direction:column;align-items:center;gap:.75rem;padding:2rem 1rem;color:var(--text-muted);font-size:.85rem}.recent-sessions__empty-icon{opacity:.35}.session-list{list-style:none;display:flex;flex-direction:column;gap:0}.session-item{padding:.85rem 0;border-top:1px solid var(--border);animation:slide-up .45s var(--ease-out) both}.session-item:first-child{border-top:none;padding-top:0}.session-item__row{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;margin-bottom:.2rem}.session-item__task{font-size:.9rem;font-weight:400;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.session-item__duration{font-size:.85rem;font-weight:400;color:var(--text);font-variant-numeric:tabular-nums;flex-shrink:0}.session-item__time{font-size:.78rem;color:var(--text-muted)}.fab{position:fixed;bottom:1.5rem;right:1.5rem;width:44px;height:44px;border-radius:50%;background:var(--surface);border:1px solid var(--border);color:var(--accent);display:flex;align-items:center;justify-content:center;transition:background var(--duration-normal) var(--ease-out),border-color var(--duration-normal) var(--ease-out),transform var(--duration-normal) var(--ease-out),box-shadow var(--duration-normal) var(--ease-out);z-index:10}.fab:hover{background:var(--surface-hover);border-color:var(--border-strong);transform:translateY(-2px);box-shadow:0 8px 24px #0000004d}.statistics{min-height:100dvh;max-width:560px;margin:0 auto;padding:2rem 1.5rem 3rem;animation:fade-in .5s var(--ease-out) both}.statistics__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:2rem}.statistics__title{font-size:1.25rem;font-weight:400;letter-spacing:-.02em}.nav-btn{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--surface);border:1px solid var(--border);color:var(--text-secondary);transition:background var(--duration-normal) var(--ease-out),color var(--duration-normal) var(--ease-out)}.nav-btn:hover{background:var(--surface-hover);color:var(--text)}.nav-btn--placeholder{visibility:hidden;pointer-events:none}.statistics__grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem;margin-bottom:2rem}.stat-card{background:var(--bg-elevated);border:1px solid var(--border);border-radius:12px;padding:1rem 1.15rem;display:flex;flex-direction:column;gap:.35rem;transition:border-color var(--duration-normal) var(--ease-out)}.stat-card:hover{border-color:var(--border-strong)}.stat-card__label{font-size:.75rem;color:var(--text-muted);font-weight:400;text-transform:uppercase;letter-spacing:.06em}.stat-card__value{font-size:1.35rem;font-weight:400;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.statistics__section-title{font-size:.85rem;font-weight:400;color:var(--text-secondary);margin-bottom:1rem;text-transform:uppercase;letter-spacing:.06em}.daily-bars{list-style:none;display:flex;flex-direction:column;gap:.65rem}.daily-bar{display:grid;grid-template-columns:72px 1fr 52px;align-items:center;gap:.75rem}.daily-bar__label{font-size:.78rem;color:var(--text-secondary)}.daily-bar__track{height:6px;background:var(--surface);border-radius:999px;overflow:hidden}.daily-bar__fill{height:100%;background:var(--accent);border-radius:999px;opacity:.75;transition:width .6s var(--ease-out);min-width:2px}.daily-bar__value{font-size:.75rem;color:var(--text-secondary);text-align:right;font-variant-numeric:tabular-nums}@keyframes fade-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes slide-up{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes count-pop{0%{transform:scale(1)}40%{transform:scale(1.12)}to{transform:scale(1)}}@media(max-width:480px){.app{padding:2rem 1.25rem 4.5rem}.app-title{font-size:1.5rem}.timer-circle{width:250px;height:250px}.timer-circle__time{font-size:2.75rem}.recent-sessions{padding:1rem 1.15rem}.statistics__grid{grid-template-columns:1fr 1fr}.daily-bar{grid-template-columns:60px 1fr 48px;gap:.5rem}}@media(min-width:768px){.app{padding-top:4rem}.timer-circle:hover:not(.timer-circle--pressed){transform:scale(1.03)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
