:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-synthesis:none;text-rendering:optimizelegibility;--background:#f3f1ec;--background-light:#f8f6f1;--dial-body:#eeeae2;--dial-highlight:#faf8f3;--dial-edge:#d8d2c7;--dial-gradient-start:#fbf9f4;--dial-gradient-middle:#eeeae2;--dial-gradient-end:#e6e1d7;--dial-shadow:#1e1c1829;--tick-primary:#292925;--tick-secondary:#77746d;--timer-red:#c9362b;--timer-red-dark:#aa2e26;--sector-red-light:#d9574b;--sector-red-mid:#c63a30;--sector-red-deep:#a72c26;--sector-recess-bed:#741f1b;--sector-occlusion:#641916;--sector-wall-shadow:#75241f;--sector-edge-highlight:#f2a095;--sector-contact-shadow:#49120f;--sector-contact-highlight:#f5aca1;--text-primary:#292925;--text-secondary:#66635d;--focus-ring:#c9362b7a;--page-glow:#ffffffb8;--page-gradient-end:#eeebe5;--panel-surface:#efebe2e0;--panel-border:#69625724;--panel-shadow:#312c2514;--control-surface:#ffffff6b;--control-border:#69625724;--control-active:#f8f5ef;--control-shadow:#302b241a;--divider:#60594e24;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,SF Pro Display,Segoe UI,Noto Sans TC,sans-serif}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--background:#1e1d1a;--background-light:#292722;--dial-body:#37342f;--dial-highlight:#4b4740;--dial-edge:#575249;--dial-gradient-start:#4a463f;--dial-gradient-middle:#37342f;--dial-gradient-end:#292722;--dial-shadow:#0006;--tick-primary:#f0ebe1;--tick-secondary:#9c978e;--timer-red:#ca493d;--timer-red-dark:#a9362e;--sector-red-light:#d1554a;--sector-red-mid:#bc3b33;--sector-red-deep:#902b26;--sector-recess-bed:#481512;--sector-occlusion:#2b0b09;--sector-wall-shadow:#210706;--sector-edge-highlight:#dd8279;--sector-contact-shadow:#170403;--sector-contact-highlight:#d98a81;--text-primary:#f1ede4;--text-secondary:#bdb6aa;--focus-ring:#da574a94;--page-glow:#f4e8d212;--page-gradient-end:#181714;--panel-surface:#302d28e0;--panel-border:#f4ede117;--panel-shadow:#00000042;--control-surface:#ffffff0b;--control-border:#f5eee11a;--control-active:#45413b;--control-shadow:#00000047;--divider:#f5eee117}*,:before,:after{box-sizing:border-box}html{background:var(--background);min-width:320px;min-height:100%}body{min-width:320px;min-height:100svh;color:var(--text-primary);background:radial-gradient(circle at 50% 5%, var(--page-glow), transparent 36rem), linear-gradient(160deg, var(--background-light) 0%, var(--background) 48%, var(--page-gradient-end) 100%);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;transition:color .18s,background-color .18s;overflow-x:hidden}button{font:inherit}button,[role=slider]{-webkit-tap-highlight-color:transparent}#root{min-height:100svh}.pomodoro-page{width:100%;min-height:100svh;padding:max(1rem, calc(env(safe-area-inset-top) + .75rem)) max(1rem, env(safe-area-inset-right)) max(1.5rem, calc(env(safe-area-inset-bottom) + 1rem)) max(1rem, env(safe-area-inset-left));flex-direction:column;align-items:center;display:flex}.timer-primary{flex-direction:column;align-items:center;width:100%;display:flex}.timer-stage{width:min(88vw,360px);margin-top:clamp(1rem,3svh,1.6rem)}.timer-dial{aspect-ratio:1;isolation:isolate;background:radial-gradient(circle at 36% 24%,#fffffff0,#0000 36%),linear-gradient(145deg,#f4f1ea,#e2ddd2);border:1px solid #6f685c47;border-radius:50%;width:100%;position:relative;box-shadow:0 1.55rem 2.5rem #2d282121,0 .48rem .9rem #2d28211c,inset 0 1px #ffffffe6,inset 0 -2px 3px #4c453a17;container-type:inline-size}.timer-dial:before,.timer-dial:after{z-index:-1;content:"";pointer-events:none;border-radius:50%;position:absolute}.timer-dial:before{border:1px solid #ffffffc7;inset:1.1%;box-shadow:inset 0 0 0 1px #655e520d}.timer-dial:after{border:1px solid #ffffff94;inset:-.9%;box-shadow:0 0 0 1px #544d420a}.timer-dial__edge{pointer-events:none;border-radius:50%;position:absolute;inset:.8%;box-shadow:inset .12rem .16rem .26rem #ffffffd1,inset -.18rem -.22rem .34rem #3e382f1a}.timer-dial__face{touch-action:none;-webkit-user-select:none;user-select:none;cursor:grab;border-radius:50%;outline:none;width:100%;height:100%;display:block;position:absolute;inset:0;overflow:visible}.timer-dial__face:active{cursor:grabbing}.timer-dial__face[aria-disabled=true]{cursor:default}.timer-dial__face:focus-visible{filter:drop-shadow(0 0 .32rem var(--focus-ring))}.dial-face-base{fill:url(#dial-face-gradient);stroke:#665f5324;stroke-width:1px}.dial-face-inset{fill:none;stroke:#ffffff94;stroke-width:1.2px}.dial-sector-stack{pointer-events:none}.dial-sector{vector-effect:non-scaling-stroke}.dial-sector__recess-bed{fill:var(--sector-recess-bed)}.dial-sector__material{fill:url(#timer-sector-material-gradient)}.dial-sector__ambient-occlusion{fill:url(#timer-sector-occlusion-gradient)}.dial-sector__inner-shadow{fill:none;stroke:url(#timer-sector-wall-gradient);stroke-width:5.4px;filter:url(#timer-sector-wall-soften);opacity:.78}.dial-sector__inner-bevel{fill:none;stroke:url(#timer-sector-edge-highlight-gradient);stroke-width:2.6px;opacity:.68}.dial-sector__edge-highlight{fill:none;stroke:url(#timer-sector-edge-highlight-gradient);stroke-width:.95px;opacity:.86}.dial-sector__contact-shadow,.dial-sector__contact-highlight{fill:none;vector-effect:non-scaling-stroke}.dial-sector__contact-shadow{stroke:url(#timer-sector-contact-shadow-gradient);stroke-width:9px;filter:url(#timer-sector-contact-soften);opacity:.9}.dial-sector__contact-highlight{stroke:url(#timer-sector-contact-highlight-gradient);stroke-width:1.3px;opacity:.7}.dial-tick{vector-effect:non-scaling-stroke;stroke-linecap:round}.dial-tick--minor{stroke:var(--tick-secondary);stroke-width:.72px;opacity:.78}.dial-tick--major{stroke:var(--tick-primary);stroke-width:1.55px}.dial-tick--origin{stroke:var(--timer-red);stroke-width:2.6px}.dial-numbers{fill:var(--tick-primary);font-variant-numeric:tabular-nums;letter-spacing:-.02em;font-size:15.2px;font-weight:430}.center-knob{z-index:3;aspect-ratio:1;width:45.5%;color:var(--text-primary);cursor:pointer;background:radial-gradient(circle at 35% 27%,#fffffffa,#0000 38%),radial-gradient(circle at 52% 48%,#f6f3ec 0%,#ebe7de 72%,#d8d2c6 100%);border:1px solid #776f616b;border-radius:50%;place-items:center;padding:0;transition:box-shadow .15s,transform .1s;display:grid;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 1.05rem 1.3rem #29241d38,0 .28rem .38rem #29241d30,inset 0 1px 1px #fffffff2,inset 0 -.18rem .32rem #4e463a1f}.center-knob:after{content:"";pointer-events:none;border:1px solid #ffffff8f;border-radius:50%;position:absolute;inset:3.2%}.center-knob:hover{box-shadow:0 1.08rem 1.36rem #29241d3d,0 .3rem .4rem #29241d33,inset 0 1px 1px #fffffff2,inset 0 -.18rem .32rem #4e463a1f}.center-knob:active{transform:translate(-50%,-49.4%)scale(.992);box-shadow:0 .72rem .9rem #29241d33,0 .2rem .28rem #29241d2e,inset 0 1px 1px #ffffffdb,inset 0 -.12rem .24rem #4e463a1f}.center-knob:focus-visible,.timer-controls__reset:focus-visible{outline:2px solid var(--focus-ring);outline-offset:4px}.center-knob__content{flex-direction:column;justify-content:center;align-items:center;width:69%;display:flex;transform:translateY(1.5%)}.center-knob__value{font-variant-numeric:tabular-nums;letter-spacing:-.055em;font-size:clamp(2rem,12.6cqi,3.35rem);font-weight:320;line-height:.9}.center-knob__value--time{letter-spacing:-.06em;font-size:clamp(1.55rem,9.3cqi,2.65rem);line-height:1}.center-knob__unit{color:var(--text-secondary);letter-spacing:.08em;margin-top:.32rem;font-size:clamp(.67rem,3.5cqi,.9rem);font-weight:420}.center-knob__divider{background:#5d574d45;width:78%;height:1px;margin:clamp(.48rem,3.2cqi,.78rem) 0 clamp(.35rem,2.1cqi,.58rem)}.center-knob__action,.center-knob__finished{letter-spacing:.1em;font-size:clamp(.76rem,4.15cqi,1.05rem);font-weight:470}.center-knob__finish-mark{aspect-ratio:1;background:var(--timer-red);border-radius:50%;width:clamp(.52rem,3cqi,.76rem);margin-bottom:clamp(.48rem,3cqi,.72rem);box-shadow:0 .18rem .32rem #aa2e264d}.center-knob__finished{font-size:clamp(.95rem,5.2cqi,1.35rem)}.dial-helper{width:min(88vw,360px);color:var(--text-secondary);letter-spacing:.045em;text-align:center;margin:1.25rem 0 0;font-size:.75rem;font-weight:430;line-height:1.45}.timer-controls{place-items:center;margin-top:.35rem;display:grid}.timer-controls__reset{color:var(--text-secondary);letter-spacing:.12em;cursor:pointer;background:0 0;border:0;padding:.52rem .85rem;font-size:.78rem;font-weight:470}.timer-controls__reset:hover{color:var(--text-primary)}.control-surface{border:1px solid var(--panel-border);width:min(92vw,420px);color:var(--text-primary);background:linear-gradient(145deg, #ffffff24, transparent 54%), var(--panel-surface);box-shadow:0 .8rem 2rem var(--panel-shadow), inset 0 1px 0 #ffffff38;border-radius:1.35rem;margin-top:.95rem;padding:1rem .95rem .65rem}.control-section{padding:.05rem 0 .95rem}.control-section+.control-section{border-top:1px solid var(--divider);padding-top:.9rem}.control-section--settings{padding-bottom:0}.control-section__label{color:var(--text-secondary);letter-spacing:.07em;margin:0 0 .62rem;font-size:.71rem;font-weight:560;line-height:1.35}.preset-group{grid-template-columns:repeat(5,minmax(0,1fr));gap:.45rem;display:grid}.preset-button,.theme-control__button,.setting-row{color:var(--text-secondary);cursor:pointer;background:0 0;border:0;position:relative}.preset-button:before,.theme-control__button:before{content:"";position:absolute;inset:-.15rem 0}.preset-button{border:1px solid var(--control-border);background:var(--control-surface);min-width:0;height:2.65rem;box-shadow:0 .16rem .38rem color-mix(in srgb, var(--control-shadow) 55%, transparent), inset 0 1px 0 #fff3;font-variant-numeric:tabular-nums;letter-spacing:-.01em;border-radius:.78rem;padding:0;font-size:.82rem;font-weight:530;transition:color .14s,background-color .14s,border-color .14s,box-shadow .14s,transform 90ms}.preset-button:hover:not(:disabled){color:var(--text-primary);border-color:color-mix(in srgb, var(--timer-red) 24%, var(--control-border))}.preset-button[aria-pressed=true]{border-color:color-mix(in srgb, var(--timer-red) 30%, transparent);color:#fff8f3;background:linear-gradient(145deg, var(--timer-red), var(--timer-red-dark));box-shadow:0 .26rem .55rem #8b271f38,inset 0 1px #ffffff2e}.preset-button:active:not(:disabled){transform:translateY(1px)scale(.985)}.preset-button:disabled{cursor:default;opacity:.38}.theme-control{border:1px solid var(--control-border);background:color-mix(in srgb, var(--control-surface) 66%, transparent);width:100%;height:2.65rem;box-shadow:inset 0 1px 3px var(--control-shadow);border-radius:.85rem;grid-template-columns:repeat(3,1fr);padding:3px;display:grid}.theme-control__button{letter-spacing:.025em;border-radius:.68rem;min-width:0;padding:0 .5rem;font-size:.76rem;font-weight:520;transition:color .14s,background-color .14s,box-shadow .14s}.theme-control__button[aria-pressed=true]{color:var(--text-primary);background:var(--control-active);box-shadow:0 1px 0 #ffffff2e, 0 .14rem .32rem var(--control-shadow)}.setting-list{display:grid}.setting-row{width:100%;min-height:3.5rem;color:var(--text-primary);letter-spacing:.04em;justify-content:space-between;align-items:center;padding:0 .15rem;font-size:.8rem;font-weight:500;transition:color .14s,opacity .14s;display:flex}.setting-row+.setting-row{border-top:1px solid var(--divider)}.setting-row__identity{align-items:center;gap:.62rem;display:flex}.setting-row__icon{width:1.3rem;height:1.3rem;color:var(--text-secondary);place-items:center;display:grid}.setting-row__icon svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.3px;width:1.15rem;height:1.15rem;display:block}.toggle-track{border:1px solid var(--control-border);background:color-mix(in srgb, var(--control-surface) 78%, var(--background));width:2.5rem;height:1.45rem;box-shadow:inset 0 1px 3px var(--control-shadow);border-radius:999px;flex:none;transition:background-color .15s,border-color .15s;display:block;position:relative}.toggle-thumb{background:var(--dial-highlight);border-radius:50%;width:1.05rem;height:1.05rem;transition:transform .15s cubic-bezier(.2,.75,.25,1);position:absolute;top:.14rem;left:.14rem;box-shadow:0 .12rem .28rem #28241e33,inset 0 1px #ffffff8a}.setting-row[aria-checked=true] .toggle-track{border-color:color-mix(in srgb, var(--timer-red) 72%, transparent);background:linear-gradient(145deg, var(--timer-red), var(--timer-red-dark));box-shadow:inset 0 1px #ffffff24,0 .14rem .34rem #8b271f2e}.setting-row[aria-checked=true] .toggle-thumb{transform:translate(1.03rem)}.preset-button:focus-visible,.theme-control__button:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.setting-row:focus-visible{outline:none}.setting-row:focus-visible .toggle-track{outline:2px solid var(--focus-ring);outline-offset:2px}:root[data-theme=dark] .timer-dial{background:radial-gradient(circle at 36% 24%,#fff7e721,#0000 36%),linear-gradient(145deg,#454139,#292722);border-color:#ded5c629;box-shadow:0 1.55rem 2.5rem #00000052,0 .48rem .9rem #00000047,inset 0 1px #fff7e724,inset 0 -2px 3px #0000002e}:root[data-theme=dark] .timer-dial:before{border-color:#fff7e721;box-shadow:inset 0 0 0 1px #0000002e}:root[data-theme=dark] .timer-dial:after{border-color:#fff7e71a;box-shadow:0 0 0 1px #0000002e}:root[data-theme=dark] .timer-dial__edge{box-shadow:inset .12rem .16rem .26rem #fff7e721,inset -.18rem -.22rem .34rem #0000003d}:root[data-theme=dark] .dial-face-base{stroke:#ece3d31f}:root[data-theme=dark] .dial-face-inset{stroke:#fff7e71f}:root[data-theme=dark] .center-knob{background:radial-gradient(circle at 35% 27%,#fff7e729,#0000 38%),radial-gradient(circle at 52% 48%,#48443d 0%,#37342f 72%,#292722 100%);border-color:#ded5c63d;box-shadow:0 1.05rem 1.3rem #00000061,0 .28rem .38rem #00000052,inset 0 1px 1px #fff7e729,inset 0 -.18rem .32rem #0003}:root[data-theme=dark] .center-knob:after{border-color:#fff7e71a}:root[data-theme=dark] .center-knob:hover{box-shadow:0 1.08rem 1.36rem #00000069,0 .3rem .4rem #00000057,inset 0 1px 1px #fff7e72b,inset 0 -.18rem .32rem #0003}:root[data-theme=dark] .center-knob__divider{background:#ebe3d529}.timer-dial[data-state=finished]{animation:.72s cubic-bezier(.22,.75,.22,1) finished-pulse}@keyframes finished-pulse{0%,to{transform:scale(1)}42%{transform:scale(1.018)}68%{transform:scale(.996)}}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (height<=700px) and (orientation:portrait){.pomodoro-page{padding-top:max(1rem, calc(env(safe-area-inset-top) + .5rem))}}@media (orientation:landscape) and (height<=600px){.pomodoro-page{padding-top:max(.8rem, calc(env(safe-area-inset-top) + .4rem));flex-direction:row;justify-content:center;align-items:center;gap:clamp(.85rem,2.4vw,1.4rem)}.timer-primary{flex:none;width:min(68svh,360px)}.timer-stage{width:100%;margin-top:0}.dial-helper{width:100%;margin-top:1rem}.control-surface{flex:none;width:min(42vw,420px);margin-top:0}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important}.timer-dial[data-state=finished]{animation:none}}
