:root{--bg: #fdfdfe;--bg-raised: #ffffff;--ink: #1B1B1B;--ink-muted: #5D5D5F;--ink-faint: #9E9FA1;--accent: #006fdc;--hairline: hsla(0, 0%, 0%, .12)}@media(prefers-color-scheme:dark){:root{--bg: #1a1a1c;--bg-raised: #242426;--ink: #dcdcde;--ink-muted: #98989d;--ink-faint: #4b4b4f;--accent: #409cff;--hairline: hsla(0, 0%, 100%, .11)}}*{box-sizing:border-box}html,body{margin:0;padding:0;height:100%}body{font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;color:var(--ink);background:var(--bg);display:flex;align-items:center;justify-content:center}.widget-content{box-sizing:border-box;width:100%;color:var(--ink);padding:0 1.25rem}.widget-label{font-size:.85rem;color:var(--ink-muted);margin:0 0 .85rem;padding-bottom:.85rem;border-bottom:1px solid var(--hairline)}.widget-accent{color:var(--accent)}.widget-button{font:inherit;font-weight:600;color:var(--bg);background:var(--accent);border:none;border-radius:8px;padding:.5rem 1rem;cursor:pointer}.widget-button:active{opacity:.85}.widget-button.secondary{color:var(--ink);background:transparent;border:1px solid var(--hairline)}.countdown-content{text-align:center}.countdown-clock{font-size:1.75rem;font-weight:600;font-variant-numeric:tabular-nums;letter-spacing:.02em}.pomodoro-content{text-align:center}.pomodoro-phase{font-size:.85rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--accent);margin:0 0 .25rem}.pomodoro-clock{font-size:2.5rem;font-weight:600;font-variant-numeric:tabular-nums;margin:.25rem 0 1rem}.pomodoro-controls{display:flex;justify-content:center;gap:.5rem}.weather-content{text-align:center}.weather-body{display:flex;justify-content:space-between;gap:.25rem}.weather-hour{display:flex;flex-direction:column;align-items:center;gap:.3rem;min-width:0;flex:1}.weather-hour-time{font-size:.8rem;color:var(--ink-muted);font-variant-numeric:tabular-nums}.weather-icon-svg{width:26px;height:26px;color:var(--accent)}.weather-hour-temp{font-weight:600;font-variant-numeric:tabular-nums}.weather-hour-precip{font-size:.75rem;color:var(--ink-muted);font-variant-numeric:tabular-nums}.timer-content [hidden]{display:none}.timer-content{align-self:stretch;height:100%;display:flex;align-items:center;justify-content:center;padding:.75rem 1rem;text-align:center}.timer-picker{display:flex;flex-direction:column;align-items:center;gap:.75rem;width:100%}.timer-presets{display:flex;flex-wrap:wrap;justify-content:center;gap:.6rem}.timer-preset{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.05rem;width:68px;height:68px;border-radius:50%;border:2px solid var(--accent);background:var(--bg-raised);color:var(--ink);font:inherit;line-height:1.1;cursor:pointer}.timer-preset:active{opacity:.75}.timer-preset-value{font-size:1.5rem;font-weight:600;font-variant-numeric:tabular-nums}.timer-preset-unit{font-size:.6rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--accent)}.timer-custom{display:flex;align-items:center;gap:.4rem;width:100%;max-width:320px}.timer-custom-input{flex:1;min-width:0;font:inherit;font-size:.9rem;color:var(--ink);background:var(--bg-raised);border:1px solid var(--hairline);border-radius:8px;padding:.35rem .6rem;outline:none}.timer-custom-input::placeholder{color:var(--ink-faint)}.timer-custom-input.is-invalid{border-color:#d1332e}@media(prefers-color-scheme:dark){.timer-custom-input.is-invalid{border-color:#ff6961}}.timer-custom .widget-button{font-size:.9rem;padding:.35rem .9rem}.timer-running{display:flex;flex-direction:column;align-items:center;gap:.6rem}.timer-dial{position:relative;width:148px;height:148px}.timer-ring{width:100%;height:100%;transform:rotate(-90deg)}.timer-ring circle{fill:none;stroke-width:5;stroke-linecap:round}.timer-ring-track{stroke:var(--hairline)}.timer-ring-progress{stroke:var(--accent)}.timer-readout{position:absolute;top:0;right:1rem;bottom:0;left:1rem;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.1rem}.timer-clock{font-size:2.1rem;font-weight:600;font-variant-numeric:tabular-nums;letter-spacing:-.01em;line-height:1.1}.timer-clock.is-long{font-size:1.55rem}.timer-clock.is-longest{font-size:1.3rem}.timer-total{font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--accent)}.timer-controls{display:flex;align-items:center;gap:.75rem}.timer-icon-button{display:flex;align-items:center;justify-content:center;width:38px;height:38px;padding:0;border:none;border-radius:50%;background:var(--bg-raised);color:var(--ink-muted);cursor:pointer}.timer-icon-button.primary{background:var(--accent);color:var(--bg)}.timer-icon-button:active{opacity:.75}.timer-icon-button svg{width:18px;height:18px;stroke:currentColor;stroke-width:2;stroke-linecap:round;fill:none}.timer-icon-button svg .filled{fill:currentColor;stroke-linejoin:round}.calc-content{align-self:stretch;width:100%;height:100%;box-sizing:border-box;margin:0;border:none;outline:none;resize:none;background:transparent;color:var(--ink);font:inherit;font-variant-numeric:tabular-nums;padding:.75rem 1rem}.calc-content::placeholder{color:var(--ink-faint)}.dummy-content{align-self:stretch;width:100%;height:100%;display:flex;flex-direction:column;gap:.6rem;padding:.75rem 1rem}.dummy-controls{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.dummy-field{display:flex;align-items:center;gap:.35rem;font-size:.8rem;color:var(--ink-muted)}.dummy-field input,.dummy-field select{font:inherit;font-size:.85rem;color:var(--ink);background:var(--bg-raised);border:1px solid var(--hairline);border-radius:6px;padding:.25rem .35rem}.dummy-field input{width:3.75rem}.dummy-controls .widget-button{font-size:.85rem;padding:.3rem .7rem}.dummy-controls .widget-button:first-of-type{margin-left:auto}.dummy-output{flex:1;min-height:0;width:100%;margin:0;border:1px solid var(--hairline);border-radius:6px;outline:none;resize:none;background:var(--bg-raised);color:var(--ink);font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,monospace;font-size:.8rem;line-height:1.5;padding:.5rem .6rem;white-space:pre;overflow:auto}
