:root{color:#f4ead5;font-synthesis:none;text-rendering:optimizelegibility;--ease-out:cubic-bezier(.22, 1, .36, 1);background:#050504;font-family:Avenir Next,Avenir,PingFang SC,sans-serif}*{box-sizing:border-box}html,body,#root{width:100%;min-width:320px;height:100%;min-height:100%;margin:0;overflow:hidden}button,input,select{font:inherit}button{color:inherit}.app{isolation:isolate;width:100%;height:100dvh;min-height:420px;color:var(--ink);background:radial-gradient(ellipse at 50% 48%, color-mix(in srgb, var(--accent) 14%, transparent), transparent 55%), linear-gradient(155deg, var(--bg-a), var(--bg-b) 58%, var(--bg-c));transition:background .42s var(--ease-out), color .28s ease;position:relative;overflow:hidden}.app:after{content:"";z-index:-1;opacity:.24;pointer-events:none;mix-blend-mode:soft-light;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.86' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.13'/%3E%3C/svg%3E");position:absolute;inset:0}.immersive-stage{width:100%;height:100%;padding:max(4px, env(safe-area-inset-top)) max(3px, env(safe-area-inset-right)) max(4px, env(safe-area-inset-bottom)) max(3px, env(safe-area-inset-left));cursor:pointer;touch-action:pan-y;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;outline:none;position:absolute;inset:0}.hourglass-canvas{pointer-events:none;width:100%;height:100%;display:block}.is-flipping .hourglass-canvas{animation:flip-reset .42s var(--ease-out)}@keyframes flip-reset{0%{filter:brightness();transform:scale(1)}42%{filter:brightness(1.55);transform:scale(.965)}to{filter:brightness();transform:scale(1)}}.sheet-layer{z-index:10;align-items:end;display:grid;position:fixed;inset:0}.sheet-backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#00000070;border:0;width:100%;animation:.18s ease-out both backdrop-in;position:absolute;inset:0}.scene-light .sheet-backdrop{background:#2a242d3d}.control-sheet{width:min(100%,720px);height:min(78dvh,760px);color:var(--ink);border:1px solid color-mix(in srgb, var(--ink) 12%, transparent);background:var(--panel);-webkit-backdrop-filter:blur(28px)saturate(1.3);backdrop-filter:blur(28px)saturate(1.3);animation:sheet-in .38s var(--ease-out) both;border-bottom:0;border-radius:28px 28px 0 0;grid-template-rows:18px auto auto 1fr;margin:0 auto;display:grid;position:relative;overflow:hidden;box-shadow:0 -28px 90px #00000052}@keyframes backdrop-in{0%{opacity:0}}@keyframes sheet-in{0%{opacity:.4;transform:translateY(36px)}}.sheet-handle{background:color-mix(in srgb, var(--ink) 18%, transparent);border-radius:999px;width:42px;height:4px;margin:8px auto 0}.sheet-header{justify-content:space-between;align-items:center;gap:16px;min-height:58px;padding:5px 18px 7px 20px;display:flex}.glass-identity{gap:1px;min-width:0;display:grid}.glass-identity>span{letter-spacing:.2em;opacity:.46;font-size:9px}.glass-identity input{width:min(230px,55vw);color:inherit;background:0 0;border:0;border-bottom:1px solid #0000;outline:0;padding:2px 0;font-family:Didot,Songti SC,serif;font-size:23px}.glass-identity input:focus{border-color:var(--accent)}.header-actions{gap:6px;display:flex}.header-actions button{border:1px solid color-mix(in srgb, var(--ink) 13%, transparent);background:color-mix(in srgb, var(--ink) 3%, transparent);cursor:pointer;border-radius:50%;width:44px;height:44px;font-size:24px;font-weight:300}.glass-tabs{border-bottom:1px solid color-mix(in srgb, var(--ink) 8%, transparent);justify-content:center;align-items:center;gap:4px;min-height:44px;display:flex}.glass-tabs button{cursor:pointer;background:0 0;border:0;width:44px;height:44px;padding:0;position:relative}.glass-tabs i{background:color-mix(in srgb, var(--ink) 18%, transparent);width:18px;height:3px;transition:width .24s var(--ease-out), background .24s;border-radius:3px;margin:auto;display:block}.glass-tabs button.is-active i{background:var(--accent);width:28px}.glass-tabs b{background:var(--accent);width:5px;height:5px;box-shadow:0 0 8px var(--accent);border-radius:50%;position:absolute;top:3px;right:2px}.sheet-scroll{overscroll-behavior:contain;min-height:0;padding:14px 18px max(28px, env(safe-area-inset-bottom));scrollbar-width:none;overflow:auto}.sheet-scroll::-webkit-scrollbar{display:none}.theme-strip::-webkit-scrollbar{display:none}.timer-block{border-bottom:1px solid color-mix(in srgb, var(--ink) 9%, transparent);gap:12px;padding-bottom:19px;display:grid}.sheet-time{justify-content:space-between;align-items:end;gap:12px;display:flex}.sheet-time span{letter-spacing:.18em;opacity:.52;padding-bottom:4px;font-size:10px}.sheet-time strong{letter-spacing:-.035em;font-variant-numeric:tabular-nums;font-family:Didot,"Bodoni 72",serif;font-size:clamp(42px,12vw,70px);font-weight:400;line-height:.86}.duration-control{grid-template-columns:48px 1fr 48px;align-items:center;gap:8px;display:grid}.duration-control>button{border:1px solid color-mix(in srgb, var(--ink) 15%, transparent);cursor:pointer;background:0 0;border-radius:50%;width:48px;height:48px;font-size:25px}.duration-control label{justify-content:center;align-items:baseline;gap:7px;display:flex}.duration-control input{width:76px;color:inherit;text-align:right;appearance:textfield;background:0 0;border:0;outline:0;padding:0;font-family:Didot,"Bodoni 72",serif;font-size:38px}.duration-control input::-webkit-inner-spin-button{appearance:none}.duration-control label span{opacity:.5;font-size:11px}.presets{grid-template-columns:repeat(6,1fr);gap:4px;display:grid}.presets button{border:0;border-bottom:1px solid color-mix(in srgb, var(--ink) 10%, transparent);opacity:.46;cursor:pointer;background:0 0;min-height:44px;font-size:12px}.presets button.is-active{color:var(--accent);border-color:var(--accent);opacity:1}.timer-actions{gap:8px;display:flex}.timer-actions button{border:1px solid color-mix(in srgb, var(--ink) 15%, transparent);letter-spacing:.12em;cursor:pointer;background:0 0;border-radius:999px;flex:1;min-height:50px;padding:0 18px;font-size:13px}.timer-actions .primary{color:color-mix(in srgb, var(--bg-b) 86%, #000);background:var(--accent);border-color:#0000;font-weight:650}.sheet-section{border-bottom:1px solid color-mix(in srgb, var(--ink) 9%, transparent);gap:13px;padding:22px 0;display:grid}.section-heading{justify-content:space-between;align-items:start;gap:12px;display:flex}.section-heading>div{gap:2px;display:grid}.section-heading span,.motion-row span{font-family:Didot,Songti SC,serif;font-size:18px}.section-heading small,.motion-row small,.texture-upload small{opacity:.46;font-size:10px;line-height:1.5;display:block}.section-heading em{border:1px solid color-mix(in srgb, var(--ink) 12%, transparent);letter-spacing:.12em;opacity:.65;border-radius:999px;padding:5px 8px;font-size:9px;font-style:normal}.theme-strip{scroll-snap-type:x proximity;gap:8px;margin:0 -18px;padding:2px 18px 7px;display:flex;overflow-x:auto}.theme-strip button{min-height:74px;color:inherit;cursor:pointer;scroll-snap-align:start;background:0 0;border:1px solid #0000;border-radius:16px;flex:0 0 64px;align-content:center;justify-items:center;gap:5px;padding:5px;display:grid}.theme-strip button.is-active{border-color:color-mix(in srgb, var(--accent) 66%, transparent);background:color-mix(in srgb, var(--accent) 8%, transparent)}.theme-strip i{border-radius:50%;width:40px;height:40px;display:block;box-shadow:inset 0 1px 4px #ffffff73,0 5px 16px #00000029}.theme-strip span{white-space:nowrap;opacity:.74;font-size:10px}.sand-sides{grid-template-columns:1fr 1fr;gap:8px;display:grid}.sand-sides label{border:1px solid color-mix(in srgb, var(--ink) 10%, transparent);border-radius:13px;gap:6px;min-width:0;padding:10px 11px;display:grid}.sand-sides span{letter-spacing:.12em;opacity:.5;font-size:9px}.sand-sides select{width:100%;min-height:28px;color:inherit;background:0 0;border:0;outline:0;padding:0;font-size:13px}.texture-upload{border:1px dashed color-mix(in srgb, var(--accent) 44%, transparent);background:color-mix(in srgb, var(--accent) 5%, transparent);cursor:pointer;border-radius:15px;grid-template-columns:46px 1fr auto;align-items:center;gap:11px;min-height:64px;padding:8px 12px;display:grid}.texture-upload img,.upload-mark{object-fit:cover;border-radius:10px;width:46px;height:46px}.upload-mark{color:var(--accent);background:color-mix(in srgb, var(--accent) 12%, transparent);place-items:center;font-size:23px;display:grid}.texture-upload>span{min-width:0}.texture-upload b{font-size:12px;font-weight:550;display:block}.texture-upload:after{content:"选择";color:var(--accent);font-size:10px}.texture-upload input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.todo-section form{grid-template-columns:1fr 64px;gap:7px;display:grid}.todo-section form input{border:1px solid color-mix(in srgb, var(--ink) 12%, transparent);min-width:0;min-height:46px;color:inherit;background:color-mix(in srgb, var(--ink) 3%, transparent);border-radius:13px;outline:0;padding:0 14px;font-size:14px}.todo-section form input:focus{border-color:var(--accent)}.todo-section form button{color:color-mix(in srgb, var(--bg-b) 86%, #000);background:var(--accent);cursor:pointer;border:0;border-radius:13px;font-size:12px;font-weight:650}.todo-list{gap:6px;display:grid}.todo-list>p{opacity:.38;margin:4px 0 0;font-size:11px}.todo-list>div{grid-template-columns:32px 1fr 36px;align-items:center;gap:4px;min-height:44px;display:grid}.todo-list>div>span{font-size:13px;line-height:1.45}.todo-list>div.is-done>span{opacity:.38;text-decoration:line-through}.todo-check{border:1px solid color-mix(in srgb, var(--ink) 19%, transparent);width:27px;height:27px;color:color-mix(in srgb, var(--bg-b) 86%, #000);cursor:pointer;background:0 0;border-radius:50%}.is-done .todo-check{border-color:var(--accent);background:var(--accent)}.todo-delete{opacity:.34;cursor:pointer;background:0 0;border:0;width:36px;height:36px;font-size:20px}.motion-row{border-bottom:1px solid color-mix(in srgb, var(--ink) 9%, transparent);justify-content:space-between;align-items:center;gap:14px;min-height:74px;padding:18px 0;display:flex}.motion-row>div{gap:2px;display:grid}.motion-row button{border:1px solid color-mix(in srgb, var(--ink) 14%, transparent);cursor:pointer;background:0 0;border-radius:999px;min-width:66px;min-height:38px;font-size:11px}.motion-row button.is-on{color:color-mix(in srgb, var(--bg-b) 86%, #000);background:var(--accent);border-color:#0000}.delete-glass{color:#d96d68;cursor:pointer;background:0 0;border:0;width:100%;min-height:50px;margin-top:18px;font-size:11px}button:active{transform:scale(.97)}button:focus-visible,input:focus-visible,select:focus-visible,.immersive-stage:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media (orientation:landscape) and (height<=650px){.control-sheet{grid-template-rows:18px 58px 1fr;grid-template-columns:230px 1fr;width:min(100%,820px);height:min(92dvh,560px)}.sheet-handle{grid-column:1/-1}.sheet-header{border-right:1px solid color-mix(in srgb, var(--ink) 8%, transparent);grid-column:1}.glass-tabs{border-right:1px solid color-mix(in srgb, var(--ink) 8%, transparent);border-bottom:0;flex-wrap:wrap;grid-area:3/1;align-content:start;padding:18px}.sheet-scroll{grid-area:2/2/4;padding-top:10px}.sheet-time strong{font-size:46px}}@media (width>=760px) and (orientation:portrait){.control-sheet{border-radius:32px 32px 0 0}.sheet-scroll{padding-left:36px;padding-right:36px}.theme-strip{margin-left:-36px;margin-right:-36px;padding-left:36px;padding-right:36px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
