*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: #1a1a2e;--surface: #16213e;--border: #2a2a4a;--text: #e8e8f0;--text-muted: #8888aa;--work: #dc2626;--short-break: #16a34a;--long-break: #2563eb;--current: var(--work)}[data-theme=light]{--bg: #f0f0f5;--surface: #ffffff;--border: #d0d0e0;--text: #1a1a2e;--text-muted: #6666aa}.phase-short-break{--current: var(--short-break)}.phase-long-break{--current: var(--long-break)}body{background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif;min-height:100dvh;display:flex;align-items:center;justify-content:center}.app{width:min(440px,100vw);padding:2rem 1.5rem 2.5rem;text-align:center}.app-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:2rem}.app-header h1{font-size:1rem;font-weight:600;color:var(--text-muted);letter-spacing:.12em;text-transform:uppercase}.header-actions{display:flex;gap:.25rem;align-items:center}.settings-btn{background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:1.5rem;line-height:1;padding:.2rem;border-radius:6px;transition:color .2s}.settings-btn:hover{color:var(--text)}.settings-btn:focus-visible{outline:2px solid var(--current);outline-offset:2px}.timer-display{margin-bottom:1.75rem}.phase-label{font-size:.85rem;font-weight:600;color:var(--current);letter-spacing:.15em;text-transform:uppercase;margin-bottom:1rem;transition:color .4s}.timer-ring-wrapper{position:relative;display:inline-flex;align-items:center;justify-content:center}.timer-ring{width:min(280px,80vw);height:min(280px,80vw)}.ring-bg{fill:none;stroke:var(--border);stroke-width:8}.ring-progress{fill:none;stroke:var(--current);stroke-width:8;stroke-linecap:round;transform:rotate(-90deg);transform-origin:50% 50%;transition:stroke-dashoffset 1s linear,stroke .4s}.time{position:absolute;font-size:clamp(3.5rem,14vw,5.5rem);font-weight:700;font-variant-numeric:tabular-nums;letter-spacing:-.02em;line-height:1;color:var(--text)}.controls{display:flex;gap:.75rem;justify-content:center;margin-bottom:1.25rem}.btn{border:none;border-radius:12px;cursor:pointer;font-size:1rem;font-weight:600;padding:.75rem 2rem;min-width:110px;transition:opacity .15s,transform .1s}.btn:active{transform:scale(.96)}.btn:focus-visible{outline:3px solid var(--current);outline-offset:2px}.btn-start{background:var(--current);color:#fff;transition:background .4s,opacity .15s,transform .1s}.btn-pause{background:var(--text-muted);color:#fff}.btn-reset{background:var(--surface);color:var(--text-muted);border:1px solid var(--border)}.btn:hover{opacity:.85}.cycle-info{font-size:.875rem;color:var(--text-muted)}.cycle-info strong{color:var(--text)}.settings{text-align:left}.settings h2{font-size:1rem;font-weight:700;color:var(--text);margin-bottom:1.5rem;letter-spacing:.05em;text-transform:uppercase}.setting-group{display:flex;flex-direction:column;gap:.4rem;margin-bottom:1rem}.setting-group label{font-size:.8rem;font-weight:600;color:var(--text-muted);letter-spacing:.05em;text-transform:uppercase}.setting-group input{background:var(--surface);border:1px solid var(--border);border-radius:8px;color:var(--text);font-size:1rem;padding:.65rem .8rem;width:100%;transition:border-color .2s;-moz-appearance:textfield}.setting-group input::-webkit-outer-spin-button,.setting-group input::-webkit-inner-spin-button{-webkit-appearance:none}.setting-group input:focus{border-color:var(--current);outline:none}.settings-actions{display:flex;gap:.75rem;margin-top:1.75rem}.settings-actions .btn{flex:1}
