:root{--bg: #e8e6e1;--bg-deep: #d4d1ca;--ink: #1a1a1a;--ink-muted: #5c5a55;--accent: #d62828;--surface: #faf9f6;--border: rgba(26, 26, 26, .12);--font-display: "DM Sans", system-ui, sans-serif;--font-mono: "IBM Plex Mono", ui-monospace, monospace}*,*:before,*:after{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{font-family:var(--font-display);color:var(--ink);background:var(--bg);background-image:radial-gradient(ellipse 120% 80% at 50% -20%,rgba(255,255,255,.7),transparent),linear-gradient(165deg,var(--bg) 0%,var(--bg-deep) 100%)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.app{min-height:100vh;display:flex;flex-direction:column;align-items:center;padding:1.25rem 1rem 2rem}body.timer-focus-active{background:#ebe9e4;background-image:none}.app--focus{padding:0;min-height:100dvh;background:#ebe9e4;background-image:none}.app--focus .app-chrome{display:none!important}.app--focus .main{flex:1;width:100%;min-height:100dvh;margin:0;gap:0;justify-content:center;align-items:center;padding:clamp(.5rem,3vmin,1.5rem)}.app--focus .timer-stage{width:min(96vmin,96vw);max-width:720px;padding:0;background:transparent;border:none;border-radius:0;box-shadow:none;cursor:pointer}.app--focus .timer-stage:focus-visible{outline:3px solid color-mix(in srgb,var(--timer-accent, var(--accent)) 55%,transparent);outline-offset:6px;border-radius:20px}.app--focus .clock-digits{font-size:clamp(28px,6vmin,40px)}.top-bar{width:min(520px,100%);display:flex;align-items:flex-start;gap:1rem;margin-bottom:1.5rem}.home-link{font-size:.875rem;color:var(--ink-muted);text-decoration:none;padding:.35rem 0;flex-shrink:0}.home-link:hover{color:var(--ink)}.brand h1{margin:0;font-size:1.35rem;font-weight:700;letter-spacing:-.02em}.brand p{margin:.2rem 0 0;font-size:.85rem;color:var(--ink-muted)}.main{flex:1;display:flex;flex-direction:column;align-items:center;gap:1.75rem;width:100%}.timer-stage{width:min(92vw,420px);aspect-ratio:1;background:var(--surface);border-radius:24px;padding:1rem;box-shadow:0 1px #fffc inset,0 12px 40px #1a1a1a1f,0 2px 8px #1a1a1a0f;border:1px solid var(--border)}.timer-stage:fullscreen{width:100vw;height:100vh;max-width:none;border-radius:0;display:flex;align-items:center;justify-content:center;padding:2rem;background:#111}.timer-stage:fullscreen .timer-face{width:min(85vmin,640px);height:min(85vmin,640px)}.timer-face{width:100%;height:100%;display:block}.minute-label{font-size:15px;font-weight:600;font-family:var(--font-display)}.clock-digits{font-size:28px;font-weight:700;font-family:var(--font-mono);font-variant-numeric:tabular-nums}.status-caption{font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;font-family:var(--font-display)}.theme-picker-wrap{position:relative}.theme-trigger{display:inline-flex;align-items:center;gap:.35rem;padding:.25rem .5rem;border:1px solid var(--border);border-radius:8px;background:var(--surface);cursor:pointer;font:inherit;font-size:.85rem;color:var(--ink-muted)}.theme-trigger:hover:not(:disabled){color:var(--ink);border-color:var(--ink-muted)}.theme-trigger:disabled{opacity:.55;cursor:not-allowed}.theme-trigger-swatch{display:grid;grid-template-columns:repeat(3,5px);gap:2px;width:19px}.theme-trigger-swatch span{width:5px;height:14px;border-radius:2px}.theme-trigger-label{font-weight:600}.theme-panel{position:absolute;bottom:calc(100% + .5rem);right:0;z-index:30;width:min(22rem,calc(100vw - 2rem));max-height:min(52vh,20rem);overflow-y:auto;padding:.75rem .85rem .85rem;background:var(--surface);border:1px solid var(--border);border-radius:12px;box-shadow:0 8px 32px #1a1a1a24,0 2px 8px #1a1a1a14}.theme-panel-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.5rem}.theme-panel-title{margin:0;font-size:.85rem;font-weight:700;color:var(--ink)}.theme-panel-close{width:1.75rem;height:1.75rem;padding:0;border:none;border-radius:6px;background:transparent;font-size:1.25rem;line-height:1;color:var(--ink-muted);cursor:pointer}.theme-panel-close:hover{background:#1a1a1a0f;color:var(--ink)}.theme-panel-hint{margin:0 0 .5rem;font-size:.75rem;color:var(--ink-muted)}.theme-group+.theme-group{margin-top:.85rem}.theme-group-label{margin:0 0 .45rem;font-size:.78rem;color:var(--ink-muted)}.theme-grid{display:flex;flex-wrap:wrap;gap:.5rem}.theme-option{display:flex;flex-direction:column;align-items:center;gap:.3rem;padding:.35rem .45rem .4rem;border:2px solid transparent;border-radius:10px;background:var(--surface);cursor:pointer;font:inherit;font-size:.68rem;color:var(--ink-muted);min-width:4.5rem;max-width:5.5rem}.theme-option:hover:not(:disabled){border-color:var(--border);color:var(--ink)}.theme-option.selected{border-color:var(--ink);color:var(--ink);box-shadow:0 2px 8px #1a1a1a1a}.theme-option:disabled{opacity:.55;cursor:not-allowed}.theme-option-name{line-height:1.2;text-align:center}.theme-swatch{position:relative;width:2.75rem;height:2.75rem;border-radius:8px;overflow:hidden;box-shadow:inset 0 0 0 1px #00000014}.theme-swatch-frame{position:absolute;top:0;right:0;bottom:0;left:0}.theme-swatch-face{position:absolute;left:14%;top:14%;width:72%;height:72%;border-radius:50%}.theme-swatch-disk{position:absolute;left:22%;top:8%;width:38%;height:44%;border-radius:50% 50% 0 0;transform:rotate(-12deg);opacity:.95}.theme-swatch-check{position:absolute;right:2px;bottom:1px;font-size:.65rem;font-weight:800;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.5)}.controls{width:min(480px,100%);display:flex;flex-direction:column;gap:1rem}.preset-row{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center;justify-content:center}.preset-btn{min-width:2.5rem;padding:.45rem .55rem;border:1px solid var(--border);border-radius:8px;background:var(--surface);font:inherit;font-size:.9rem;font-weight:600;cursor:pointer;color:var(--ink)}.preset-btn:hover:not(:disabled){border-color:var(--ink-muted)}.preset-btn.active{background:var(--ink);color:#fff;border-color:var(--ink)}.preset-btn:disabled{opacity:.5;cursor:not-allowed}.preset-unit{font-size:.8rem;color:var(--ink-muted);margin-left:.25rem}.adjust-row{display:flex;align-items:center;justify-content:center;gap:1rem}.adjust-btn,.primary-btn,.secondary-btn,.ghost-btn{font:inherit;cursor:pointer;border-radius:10px;transition:background .15s,transform .1s}.adjust-btn{width:3rem;height:2.5rem;border:1px solid var(--border);background:var(--surface);font-weight:700;font-size:1.1rem}.adjust-btn:hover:not(:disabled){background:#fff}.adjust-btn:disabled{opacity:.4;cursor:not-allowed}.duration-readout{font-size:.95rem;font-weight:600;min-width:7rem;text-align:center}.action-row{display:flex;gap:.75rem;justify-content:center}.primary-btn{padding:.75rem 2.25rem;background:var(--timer-accent, var(--accent));color:#fff;border:none;font-weight:700;font-size:1rem;box-shadow:0 4px 14px color-mix(in srgb,var(--timer-accent, var(--accent)) 35%,transparent)}.primary-btn:hover{filter:brightness(1.05)}.primary-btn:active{transform:scale(.98)}.secondary-btn{padding:.75rem 1.5rem;background:transparent;border:1px solid var(--border);font-weight:600;color:var(--ink)}.secondary-btn:hover:not(:disabled){background:var(--surface)}.secondary-btn:disabled{opacity:.4;cursor:not-allowed}.options-row{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:.75rem 1.25rem;font-size:.85rem;color:var(--ink-muted)}.toggle{display:flex;align-items:center;gap:.4rem;cursor:pointer}.ghost-btn{padding:.35rem .75rem;border:none;background:transparent;color:var(--ink-muted);text-decoration:underline;text-underline-offset:2px}.ghost-btn:hover{color:var(--ink)}.footer{margin-top:2rem;font-size:.78rem;color:var(--ink-muted);text-align:center;max-width:28rem;line-height:1.5}.footer a{color:var(--ink)}
