:root{color-scheme:dark;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.5;--accent: #22c55e;--accent-dim: rgba(34, 197, 94, .15);--bg: #0a0a0a;--card: #141414;--border: rgba(255, 255, 255, .08);--text-dim: rgba(255, 255, 255, .5)}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body,#root{margin:0;min-height:100dvh;background:var(--bg);color:#fafafa;overscroll-behavior:none;touch-action:manipulation}.app{min-height:100dvh;display:flex;flex-direction:column;align-items:center}.start-screen{min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem 1.5rem;text-align:center;gap:1rem}.start-icon{width:96px;height:96px;border-radius:24px;background:var(--accent-dim);color:var(--accent);display:grid;place-items:center;margin-bottom:.5rem}.start-screen h1{margin:0;font-size:1.75rem;font-weight:700;letter-spacing:-.03em}.start-sub{margin:0;color:var(--text-dim);font-size:.95rem;max-width:280px}.alert{font-size:.85rem;padding:.75rem 1rem;border-radius:.5rem;width:100%;max-width:300px}.alert--error{background:#ef44441f;color:#fca5a5;border:1px solid rgba(239,68,68,.25)}.btn-start{margin-top:.5rem;background:var(--accent);color:#000;font-weight:600;font-size:1rem;border:none;border-radius:1rem;padding:1rem 3rem;cursor:pointer;transition:transform .1s,opacity .2s}.btn-start:active{transform:scale(.96)}.btn-start:disabled{opacity:.3;cursor:not-allowed}.start-hint{margin:0;font-size:.75rem;color:var(--text-dim)}.top-bar{width:100%;display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem .5rem}.top-title{font-weight:600;font-size:1.05rem;letter-spacing:-.01em}.btn-reset{background:none;border:1px solid var(--border);color:var(--text-dim);border-radius:.5rem;width:36px;height:36px;display:grid;place-items:center;cursor:pointer;transition:background .15s}.btn-reset:active{background:#ffffff0f}.ring-container{position:relative;width:240px;height:240px;margin:1.5rem auto 0}.ring{width:100%;height:100%;transform:rotate(-90deg)}.ring-bg{stroke:#ffffff0f}.ring-progress{stroke:var(--accent);transition:stroke-dashoffset .3s ease-out;filter:drop-shadow(0 0 6px rgba(34,197,94,.35))}.ring-label{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center}.step-count{font-size:2.75rem;font-weight:700;letter-spacing:-.04em;font-variant-numeric:tabular-nums;line-height:1}.step-label{font-size:.85rem;color:var(--text-dim);margin-top:.15rem;text-transform:uppercase;letter-spacing:.1em}.goal-reached{font-size:.7rem;color:var(--accent);font-weight:600;margin-top:.35rem;background:var(--accent-dim);padding:.15rem .6rem;border-radius:1rem}.walking-indicator{font-size:.8rem;color:var(--accent);font-weight:500;margin-top:.5rem;animation:pulse 1.2s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}.stats-row{display:flex;align-items:center;gap:1rem;margin-top:1.75rem;padding:1rem 1.5rem;background:var(--card);border-radius:1rem;border:1px solid var(--border);width:calc(100% - 2.5rem);max-width:360px}.stat{flex:1;display:flex;flex-direction:column;align-items:center}.stat-value{font-size:1.25rem;font-weight:700;font-variant-numeric:tabular-nums;letter-spacing:-.02em}.stat-label{font-size:.7rem;color:var(--text-dim);text-transform:uppercase;letter-spacing:.08em}.stat-divider{width:1px;height:28px;background:var(--border)}.goal-section{margin-top:1rem}.btn-goal{background:none;border:1px solid var(--border);color:var(--text-dim);font-size:.8rem;padding:.5rem 1rem;border-radius:.5rem;cursor:pointer;transition:background .15s}.btn-goal:active{background:#ffffff0a}.goal-edit{display:flex;gap:.5rem}.goal-input{width:120px;background:var(--card);border:1px solid var(--border);color:#fafafa;font-size:.85rem;padding:.5rem .75rem;border-radius:.5rem;font-family:inherit;-moz-appearance:textfield}.goal-input::-webkit-outer-spin-button,.goal-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.btn-goal-ok{background:var(--accent);color:#000;font-weight:600;font-size:.8rem;border:none;border-radius:.5rem;padding:.5rem 1rem;cursor:pointer}@media(max-height:600px){.ring-container{width:180px;height:180px;margin-top:.75rem}.step-count{font-size:2rem}.stats-row{margin-top:1rem}}
