*{box-sizing:border-box}:root{color:#f6f7f3;background:#080d10;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body,html{width:100%;min-width:320px;min-height:100%}body{margin:0}.sr-only,body{overflow:hidden}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;clip:rect(0,0,0,0);white-space:nowrap;border:0}button,input{font:inherit}button{border:0}.app-shell{--scene-accent:#f0dcc2;position:relative;width:100vw;height:100dvh;min-height:620px;overflow:hidden;background:#080d10;color:#fbfaf5;isolation:isolate}.scene-canvas{position:absolute;inset:0;z-index:0;width:100%;height:100%;display:block;pointer-events:none}.scene-shader-stage{overflow:hidden;background:var(--static-shade)}.scene-shader-fallback,.scene-webgl{position:absolute;inset:0;width:100%;height:100%}.scene-shader-fallback{z-index:0}.scene-webgl{z-index:1;display:block;opacity:0;transition:opacity 1s cubic-bezier(.22,1,.36,1)}.scene-webgl[data-active=true]{opacity:1}.static-scene-backdrop{background:radial-gradient(circle at 50% 42%,color-mix(in srgb,var(--static-accent) 8%,transparent) 0,transparent 42%),radial-gradient(ellipse at 50% 70%,color-mix(in srgb,var(--static-haze) 74%,transparent) 0,transparent 58%),linear-gradient(180deg,var(--static-background),var(--static-shade))}.scene-video-stage{overflow:hidden}.scene-video-fallback,.scene-video-stage{position:absolute;inset:0;z-index:0}.scene-video{position:absolute;inset:0;z-index:1;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity 1.1s ease,filter .9s ease}.scene-video[data-ready=true]{opacity:1}.scene-video[data-dim=true]{filter:saturate(.82) brightness(.78)}@media (prefers-reduced-motion:reduce){.scene-video,.scene-webgl{display:none}}.scene-vignette{position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(180deg,rgb(0 0 0/.34),transparent 28%),linear-gradient(0deg,rgb(0 0 0/.5),transparent 40%)}.top-controls{position:absolute;z-index:5;top:max(24px,env(safe-area-inset-top));right:max(26px,env(safe-area-inset-right));display:flex;align-items:center;gap:12px}.dock-button,.icon-control,.primary-play,.ring-scene-button,.scene-dot,.scene-step-button{color:rgb(255 255 255/.9);background:rgb(11 17 20/.38);border:1px solid rgb(255 255 255/.18);backdrop-filter:blur(18px) saturate(125%);-webkit-backdrop-filter:blur(18px) saturate(125%);cursor:pointer;transition:border-color .18s ease,background-color .18s ease,color .18s ease,box-shadow .22s ease,transform .18s ease}.ring-scene-button{transition:border-color .18s ease,background-color .18s ease,color .18s ease,box-shadow .22s ease}.icon-control{height:46px;min-width:46px;padding:0 14px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;gap:7px;font-size:13px;letter-spacing:0}.icon-only{width:46px;padding:0}.dock-button:hover,.icon-control:hover,.primary-play:hover,.scene-step-button:hover{border-color:color-mix(in srgb,var(--scene-accent) 68%,white 8%);background:rgb(255 255 255/.12)}.ring-scene-button:hover{box-shadow:none}.primary-play:hover,.ring-scene-button:hover{border-color:transparent;background:transparent}.dock-button:focus-visible,.icon-control:focus-visible,.primary-play:focus-visible,.ring-scene-button:focus-visible,.scene-dot:focus-visible,.scene-step-button:focus-visible{outline:2px solid var(--scene-accent);outline-offset:4px}.desktop-track-button:disabled,.dock-button:disabled,.track-next-button:disabled,.track-previous-button:disabled{cursor:default;opacity:.36}.desktop-player{position:absolute;z-index:4;inset:0;display:grid;place-items:center;padding:clamp(28px,8dvh,80px) 24px clamp(34px,10dvh,96px)}.ring-stage{--ring-button-size:76px;--ring-stage-size:clamp(300px,min(54vw,74dvh),560px);--ring-radius:clamp(-228px,max(calc(-27vw + 48px),calc(-37dvh + 48px)),-110px);position:relative;width:var(--ring-stage-size);aspect-ratio:1;display:grid;place-items:center}.ring-bloom,.ring-highlight,.ring-orbit,.ring-track{position:absolute;inset:8%;border-radius:50%;pointer-events:none}.ring-track{inset:7%;border:1px solid rgb(255 255 255/.05);background:radial-gradient(circle at 50% 50%,transparent 0,transparent 56%,rgb(255 255 255/.025) 58%,rgb(255 255 255/.025) 60%,transparent 62%);transition:opacity .6s ease;opacity:var(--ring-track-opacity,.55)}.ring-stage[data-open=false] .ring-track{--ring-track-opacity:0.25}.ring-bloom{inset:18%;background:radial-gradient(circle at 50% 50%,color-mix(in srgb,var(--scene-accent) 28%,transparent) 0,color-mix(in srgb,var(--scene-accent) 12%,transparent) 38%,transparent 72%);filter:blur(8px);opacity:.85;transition:opacity .7s ease,transform .7s ease;transform:scale(.94)}.ring-stage[data-open=true] .ring-bloom{opacity:1;transform:scale(1)}.ring-highlight{inset:6.5%;border:1px solid color-mix(in srgb,var(--scene-accent) 32%,transparent);filter:blur(.6px);opacity:0;transition:opacity .6s ease,border-color .9s ease;pointer-events:none}.ring-stage[data-open=true] .ring-highlight{opacity:.85}.ring-orbit{inset:6.5%;border:1px dashed color-mix(in srgb,var(--scene-accent) 22%,transparent);opacity:0;transition:opacity .8s ease}.ring-stage[data-open=true] .ring-orbit{opacity:.45}.ring-scene-button{--ring-angle:0deg;--ring-angle-inverse:0deg;--scene-button-accent:#f0dcc2;--reveal:0;position:absolute;left:50%;top:50%;width:var(--ring-button-size);height:var(--ring-button-size);display:grid;place-items:center;grid-gap:3px;gap:3px;border-color:transparent;border-radius:22px;background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;opacity:var(--reveal);transform:translate(-50%,-50%) rotate(var(--ring-angle)) translateY(calc(var(--ring-radius) * var(--reveal))) rotate(var(--ring-angle-inverse)) scale(calc(.45 + .55 * var(--reveal)));transition:color .32s ease,box-shadow .48s ease}.ring-scene-button span{max-width:66px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:rgb(255 255 255/.62);font-size:11px;font-weight:400;letter-spacing:.02em;line-height:1;transition:color .32s ease,transform .48s ease;transform:translateY(0)}.ring-scene-button[data-active=true]{color:var(--scene-button-accent);border-color:transparent;background:transparent;box-shadow:none}.ring-scene-button[data-active=true] svg{filter:drop-shadow(0 0 14px color-mix(in srgb,var(--scene-button-accent) 70%,transparent))}.ring-scene-button[data-active=true] span{color:rgb(255 255 255/.96);transform:translateY(-1px)}.primary-play{display:grid;place-items:center;border-radius:50%;color:#fff}.desktop-primary-play{position:relative;width:clamp(118px,10vw,156px);height:clamp(118px,10vw,156px);background:transparent;border-color:transparent;box-shadow:none;opacity:0;transform:scale(.92);pointer-events:none;transition:opacity .26s ease,transform .26s ease}.desktop-primary-play:focus-visible,.ring-stage:hover .desktop-primary-play,.ring-stage[data-open=true] .desktop-primary-play{opacity:1;transform:scale(1);pointer-events:auto}.desktop-primary-play:after,.mobile-primary-play:after{content:none}.desktop-track-button{position:absolute;top:50%;width:48px;height:48px;border-radius:50%;background:rgb(11 17 20/.2);opacity:0;transform:translate(-50%,-50%) scale(.92);pointer-events:none;transition:opacity .26s ease,transform .26s ease}.desktop-track-button:disabled{opacity:0}.desktop-track-previous{left:calc(50% - clamp(88px, 8vw, 128px))}.desktop-track-next{left:calc(50% + clamp(88px, 8vw, 128px))}.desktop-track-button:focus-visible,.ring-stage:hover .desktop-track-button:not(:disabled),.ring-stage[data-open=true] .desktop-track-button:not(:disabled){opacity:1;transform:translate(-50%,-50%) scale(1);pointer-events:auto}.ring-stage:hover .desktop-track-button:disabled,.ring-stage[data-open=true] .desktop-track-button:disabled{opacity:.36}.ring-scene-button{pointer-events:none}.ring-stage[data-open=true] .ring-scene-button{pointer-events:auto}.play-aura,.play-ripple{position:absolute;inset:0;border-radius:50%;pointer-events:none}.play-aura{background:radial-gradient(circle,color-mix(in srgb,var(--scene-accent) 46%,transparent) 0,transparent 70%);opacity:0;transform:scale(.8)}.play-ripple{background:color-mix(in srgb,var(--scene-accent) 22%,transparent);opacity:0}.play-glyph{position:relative;z-index:1;display:grid;place-items:center;filter:drop-shadow(0 10px 22px rgb(0 0 0/.46)) drop-shadow(0 0 18px color-mix(in srgb,var(--scene-accent) 18%,transparent));will-change:transform}.hover-hint{position:absolute;bottom:-2px;left:50%;transform:translate(-50%,130%);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:rgb(255 255 255/.5);white-space:nowrap;pointer-events:none;opacity:0}.mobile-dock,.mobile-player{display:none}@media (max-width:759px){.app-shell{min-height:560px}.scene-vignette{background:linear-gradient(180deg,rgb(0 0 0/.38),transparent 26%),linear-gradient(0deg,rgb(0 0 0/.68),transparent 54%)}.top-controls{top:max(16px,env(safe-area-inset-top));right:max(14px,env(safe-area-inset-right));gap:8px}.icon-control{height:40px;min-width:40px;padding:0 11px;font-size:12px}.icon-only{width:40px;padding:0}.desktop-player{display:none}.mobile-player{position:absolute;z-index:4;inset:auto 0 0;display:grid;justify-items:center;padding:0 16px max(22px,env(safe-area-inset-bottom))}.mobile-scene-switcher{width:min(100%,360px);min-height:42px;display:grid;grid-template-columns:42px minmax(0,1fr) 42px;align-items:center;grid-gap:8px;gap:8px;margin-bottom:8px}.scene-step-button{width:40px;height:40px;padding:0;border-radius:50%;display:grid;place-items:center;background:rgb(9 15 16/.26);border-color:rgb(255 255 255/.12)}.mobile-scene-label{min-width:0;display:inline-flex;align-items:center;justify-content:center;gap:8px;color:rgb(255 255 255/.82);font-size:13px;line-height:1;letter-spacing:0}.mobile-scene-label span{max-width:132px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.scene-dots{display:flex;align-items:center;justify-content:center;gap:12px;height:20px;margin-bottom:10px}.scene-dot{width:9px;height:9px;padding:0;border-radius:999px;background:rgb(255 255 255/.36);border-color:transparent;backdrop-filter:none;-webkit-backdrop-filter:none}.scene-dot[data-active=true]{width:10px;height:10px;background:var(--scene-accent);box-shadow:0 0 22px color-mix(in srgb,var(--scene-accent) 68%,transparent)}.mobile-dock{width:min(100%,390px);min-height:84px;padding:12px 16px;border:1px solid rgb(255 255 255/.14);border-radius:999px;display:grid;grid-template-columns:minmax(104px,1fr) 46px 68px 46px;align-items:center;justify-items:center;grid-gap:10px;gap:10px;background:rgb(9 15 16/.46);backdrop-filter:blur(22px) saturate(135%);-webkit-backdrop-filter:blur(22px) saturate(135%);box-shadow:0 22px 70px rgb(0 0 0/.42),inset 0 1px 0 rgb(255 255 255/.08)}.dock-button{width:46px;height:46px;display:grid;place-items:center;border-radius:50%}.dock-button,.mobile-primary-play{background:transparent;border-color:transparent}.mobile-primary-play{position:relative;width:62px;height:62px;box-shadow:none}.volume-control{width:100%;min-width:0;display:grid;grid-template-columns:24px minmax(54px,1fr);align-items:center;grid-gap:9px;gap:9px;color:rgb(255 255 255/.9)}.volume-control input{width:100%;accent-color:var(--scene-accent)}}@media (max-width:400px){.mobile-dock{grid-template-columns:minmax(82px,1fr) 40px 62px 40px;min-height:78px;padding:10px 12px}.mobile-scene-switcher{width:min(100%,330px);grid-template-columns:38px minmax(0,1fr) 38px}.scene-step-button{width:36px;height:36px}.dock-button{width:40px;height:40px}.mobile-primary-play{width:56px;height:56px}}@media (prefers-reduced-motion:reduce){*,:after,:before{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important}}.pomodoro{position:absolute;z-index:5;top:max(22px,env(safe-area-inset-top));left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:8px;padding:14px 20px;border-radius:22px;color:rgb(255 255 255/.92);background:rgb(11 17 20/.38);border:1px solid rgb(255 255 255/.18);backdrop-filter:blur(18px) saturate(125%);-webkit-backdrop-filter:blur(18px) saturate(125%);box-shadow:0 18px 40px rgb(0 0 0/.28)}.pomodoro[hidden]{display:none}.pomodoro-head{display:inline-flex;align-items:center;gap:7px;font-size:11px;letter-spacing:.16em;text-transform:uppercase;opacity:.78}.pomodoro-clock{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-size:42px;font-weight:600;line-height:1;letter-spacing:.02em;transition:color .2s ease}.pomodoro[data-phase=done] .pomodoro-clock{color:var(--scene-accent)}.pomodoro-actions{display:flex;align-items:center;gap:10px;margin-top:2px}.pomodoro-button{height:40px;min-width:40px;padding:0 16px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;gap:7px;font-size:13px;color:rgb(255 255 255/.9);background:rgb(255 255 255/.08);border:1px solid rgb(255 255 255/.18);cursor:pointer;transition:border-color .18s ease,background-color .18s ease}.pomodoro-button.is-primary{background:color-mix(in srgb,var(--scene-accent) 26%,rgb(11 17 20/.5))}.pomodoro-button:hover{border-color:color-mix(in srgb,var(--scene-accent) 68%,white 8%);background:rgb(255 255 255/.14)}.pomodoro-reset{width:40px;padding:0}.pomodoro-button:focus-visible{outline:2px solid var(--scene-accent);outline-offset:3px}.pomodoro-status{max-width:240px;text-align:center;font-size:12px;line-height:1.4;opacity:.82}.pomodoro-status:empty{display:none}@media (max-width:759px){.pomodoro{top:max(64px,calc(env(safe-area-inset-top) + 48px));padding:11px 16px;gap:6px}.pomodoro-clock{font-size:34px}.pomodoro-button{height:36px;min-width:36px;font-size:12px}.pomodoro-reset{width:36px}}