:root{--color-bg:#f5f0e8;--color-text:#1a1a1a;--color-text-muted:#999;--color-text-light:#bbb;--color-accent:#d4f173;--color-accent-hover:#b8c83c;--color-sidebar-bg:#fff;--color-sidebar-border:#eee;--color-divider:#e8e3db;--font-sans:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-cormorant:"Cormorant Garamond", Georgia, serif;--font-prata:"Prata", "Bodoni MT", Georgia, serif;--sidebar-width:320px;--shadow-sidebar:-4px 0 24px #0000000f;--shadow-btn:0 4px 12px #0003;--shadow-btn-hover:0 6px 16px #00000026;--transition-fast:.15s ease;--transition-base:.25s ease}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{width:100%;height:100%}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility}body{font-family:var(--font-sans);color:var(--color-text);background-color:var(--color-bg);font-size:14px;font-weight:400;line-height:1.5;overflow:hidden}button{cursor:pointer;font-family:inherit;font-size:inherit;color:inherit;background:0 0;border:none}select{font-family:inherit;font-size:inherit}input{font-family:inherit;font-size:inherit;background:0 0;border:none;outline:none}.header{z-index:100;justify-content:space-between;align-items:center;width:100%;margin-bottom:40px;display:flex;position:relative}.logo{align-items:center;gap:14px;display:flex}.logo-icon{flex-shrink:0;display:block}.logo-text{align-items:baseline;gap:8px;display:flex}.logo-brand{font-family:var(--font-cormorant);letter-spacing:3px;text-transform:uppercase;font-size:2rem;font-weight:800}.logo-flow{font-family:var(--font-cormorant);font-size:1.9rem;font-style:italic;font-weight:400;line-height:1}.mode-tabs{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background-color:#ffffff8c;border:1px solid #0000001a;border-radius:50px;align-items:center;gap:0;width:fit-content;margin-bottom:36px;padding:4px;display:flex}.mode-tab{font-family:var(--font-sans);color:var(--color-text-muted);transition:background-color var(--transition-fast), color var(--transition-fast), box-shadow var(--transition-fast);border-radius:50px;padding:8px 20px;font-size:13px;font-weight:500}.mode-tab.active{background-color:var(--color-accent);color:var(--color-text);box-shadow:0 2px 8px #0000001a}.mode-tab:not(.active):hover{color:var(--color-text)}.mode-tab-divider{background-color:#0000001f;width:1px;height:18px;margin:0 2px}.timer-section{flex-direction:column;height:100%;display:flex}.timer-label{font-family:var(--font-cormorant);color:var(--color-text);letter-spacing:1px;margin-bottom:3px;font-size:1.7rem;font-weight:400}.timer-display{font-family:var(--font-prata);color:var(--color-text);-webkit-user-select:none;user-select:none;flex:1;width:100%;font-size:clamp(100px,10vw,150px);font-weight:400;line-height:1.2;display:flex}.digits{flex:1;display:flex}.digits-min{justify-content:flex-end}.digits-sec{justify-content:flex-start}.digit{text-align:center;width:1ch;display:inline-block}.timer-colon{text-align:center;letter-spacing:-1px;flex:none;margin:0 2px}.timer-text{font-size:clamp(3rem,5vw,5rem);font-weight:400}.work-complete-card{flex-direction:column;justify-content:center;align-items:flex-start;width:100%;height:100%;display:flex}.work-complete-title{font-family:var(--font-prata);color:var(--color-text);letter-spacing:2px;margin-bottom:1rem;font-size:clamp(50px,5vw,100px);font-weight:400;line-height:1}.work-complete-desc{font-family:var(--font-cormorant);color:var(--color-text);font-size:clamp(26px,2.5vw,38px);font-weight:300;line-height:1.25}.timer-divider{background-color:#00000026;width:100%;height:1px;margin-bottom:14px}.timer-breakdown{justify-content:space-between;align-items:center;width:100%;margin-bottom:40px;display:flex}.breakdown-item{cursor:pointer;transition:transform var(--transition-fast), color var(--transition-fast);background:0 0;border:none;border-radius:12px;outline:none;flex-direction:column;align-items:start;gap:2px;padding:8px 12px;display:flex;position:relative}.breakdown-item:before{content:"";background:radial-gradient(ellipse at 50% 60%, var(--color-secondary-trans) 0%, var(--color-secondary-trans-light) 40%, transparent 70%);opacity:0;filter:blur(6px);z-index:-1;pointer-events:none;border-radius:16px;transition:opacity .25s;position:absolute;inset:-4px}.breakdown-item:not(:disabled):hover:before{opacity:1}.breakdown-item:not(:disabled):hover{transform:translateY(-1px)}.breakdown-item:not(:disabled):active{transform:scale(.97)}.breakdown-item:disabled{cursor:default}.breakdown-item.active:after{content:"";background-color:var(--color-accent);border-radius:2px;width:40px;height:2px;position:absolute;bottom:0}.breakdown-label{font-family:var(--font-sans);letter-spacing:.5px;color:var(--color-text-muted);text-transform:uppercase;transition:color var(--transition-fast);font-size:10px;font-weight:500}.breakdown-item:not(:disabled):hover .breakdown-label{color:var(--color-text)}.breakdown-value{font-family:var(--font-cormorant);color:var(--color-text);font-size:20px;font-weight:500;line-height:1}.timer-container{flex-direction:column;width:30vw;min-width:300px;display:flex}.timer-display-wrapper{height:clamp(180px,15vw,250px);min-height:clamp(180px,15vw,250px);max-height:clamp(180px,15vw,250px);margin-bottom:20px;position:relative}.timer-stage{will-change:opacity, transform;flex-direction:column;display:flex;position:absolute;inset:0}.timer-stage-clock{opacity:1;transition:opacity .22s ease-in,transform .22s ease-in;transform:translateY(0)}.timer-stage-complete{opacity:0;pointer-events:none;transition:opacity .16s ease-out,transform .16s ease-out;transform:translateY(8px)scale(.985)}.timer-display-wrapper.show-work-complete .timer-stage-clock{opacity:0;pointer-events:none;transform:translateY(-6px)}.timer-display-wrapper.show-work-complete .timer-stage-complete{opacity:1;transition-delay:.18s;transform:translateY(0)scale(1)}@media (prefers-reduced-motion:reduce){.timer-stage-clock,.timer-stage-complete{transition-duration:1ms;transition-delay:0s}}.controls{align-items:center;gap:clamp(1rem,8vw,5rem);margin-top:15px;display:flex}.start-btn{background-color:var(--color-accent);width:clamp(120px,15vw,200px);height:clamp(120px,15vw,200px);box-shadow:var(--shadow-btn);transition:transform var(--transition-fast), box-shadow var(--transition-fast), background-color var(--transition-fast);border:1px solid #0000001a;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;gap:2px;display:flex}.start-btn:hover{box-shadow:0 0 28px var(--color-accent);background-color:var(--color-accent-hover);transform:scale(1.06)}.start-btn:active{transform:scale(.96)}.start-btn.pause .start-label,.start-btn.pause .start-arrow{color:var(--color-text)}.start-btn.pause:hover .start-arrow{transform:none}.start-label{font-family:var(--font-cormorant);letter-spacing:2px;text-transform:uppercase;color:var(--color-text);margin-top:1rem;font-size:clamp(1.2rem,2.2vw,2.1rem);font-weight:600;line-height:1.2}.start-arrow{font-size:clamp(1.5rem,2.5vw,2rem);font-family:var(--font-cormorant);color:var(--color-text);transition:transform var(--transition-fast);line-height:.9}.start-btn:hover .start-arrow{transform:translate(3px)}.reset-btn{color:var(--color-text-muted);transition:color var(--transition-fast);flex-direction:column;align-items:center;gap:5px;display:flex}.reset-btn:hover{color:var(--color-text)}.reset-icon{transition:transform var(--transition-base);font-size:26px;line-height:1;display:block}.reset-btn:hover .reset-icon{transform:rotate(-180deg)}.reset-label{font-family:var(--font-cormorant);letter-spacing:2px;text-transform:uppercase;font-size:15px;font-weight:500;line-height:1}.sidebar{background-color:var(--color-sidebar-bg);border-left:1px solid var(--color-sidebar-border);box-shadow:var(--shadow-sidebar);z-index:40;flex-direction:column;transition:opacity .3s,transform .35s cubic-bezier(.4,0,.2,1);display:flex;position:absolute;top:0;bottom:0;right:0;overflow:hidden}.sidebar.open{opacity:1;transform:translate(0)}.sidebar.closed{opacity:0;pointer-events:none;transform:translate(100%)}.sidebar-inner{flex-direction:column;width:300px;height:100%;display:flex;overflow:hidden auto}.sidebar-header{border-bottom:1px solid var(--color-divider);justify-content:space-between;align-items:center;padding:20px 20px 14px;display:flex}.sidebar-title{font-family:var(--font-sans);letter-spacing:2.5px;text-transform:uppercase;color:var(--color-text);font-size:10px;font-weight:600}.close-btn{width:26px;height:26px;color:var(--color-text-muted);transition:background-color var(--transition-fast), color var(--transition-fast);border-radius:6px;justify-content:center;align-items:center;font-size:14px;display:flex}.close-btn:hover{color:var(--color-text);background-color:#f0f0f0}.sidebar-section{border-bottom:1px solid var(--color-divider);padding:16px 20px}.section-label{font-family:var(--font-sans);letter-spacing:2px;text-transform:uppercase;color:var(--color-text-muted);margin-bottom:6px;font-size:9px;font-weight:700}.section-value{font-family:var(--font-sans);color:var(--color-text);font-size:14px;font-weight:500}.section-active{font-family:var(--font-sans);color:var(--color-accent-hover);margin-top:2px;font-size:12px;font-weight:400}.difficulty-options{border:1px solid var(--color-divider);background:#ffffff47;border-radius:8px;grid-template-columns:repeat(3,1fr);gap:4px;padding:3px;display:grid}.difficulty-option{font-family:var(--font-sans);letter-spacing:.8px;text-transform:uppercase;color:var(--color-text-muted);transition:color var(--transition-fast), background-color var(--transition-fast);border-radius:6px;padding:7px 4px;font-size:10px;font-weight:600}.difficulty-option:hover,.difficulty-option:focus-visible{color:var(--color-text);background:#ffffff8c}.difficulty-option.active{color:var(--color-text);background:var(--color-accent)}.difficulty-description{font-family:var(--font-sans);color:var(--color-text-muted);margin-top:7px;font-size:10px;line-height:1.4}.settings-row{justify-content:space-between;align-items:center;padding:3px 0;display:flex}.settings-key{font-family:var(--font-sans);color:var(--color-text);font-size:12px}.settings-val{font-family:var(--font-sans);color:var(--color-text);font-size:12px;font-weight:500}.settings-val-input-wrapper{align-items:center;gap:4px;display:flex}.settings-val-input{width:50px;font-family:var(--font-sans);color:var(--color-text);border:1px solid var(--color-divider);transition:border-color var(--transition-fast);background:#fff6;border-radius:4px;outline:none;padding:2px 4px;font-size:12px;font-weight:500}.settings-val-input:focus{border-color:var(--color-accent);background:#fffc}.settings-val-unit{font-family:var(--font-sans);color:var(--color-text-muted);font-size:12px}.music-collection-dropdown{width:100%;font-family:var(--font-sans);color:var(--color-text);cursor:pointer;margin-bottom:12px;font-size:13px;font-weight:500;position:relative}.dropdown-selected{border:1px solid var(--color-divider);transition:border-color var(--transition-fast), box-shadow var(--transition-fast);border-radius:8px;justify-content:space-between;align-items:center;padding:9px 12px;display:flex}.dropdown-selected:hover{border-color:var(--color-accent)}.dropdown-menu-container{background:var(--color-sidebar-bg);border:1px solid var(--color-gradient-start-trans);z-index:10;border-radius:8px;width:100%;margin-top:4px;position:absolute;top:100%;left:0;box-shadow:0 4px 12px #0003}.dropdown-menu{background:linear-gradient(135deg, var(--color-gradient-start-trans) 0%, var(--color-gradient-end-trans) 100%);border-radius:8px;list-style:none}.dropdown-item{transition:font-weight var(--transition-fast);padding:8px 12px;font-weight:300}.dropdown-item:hover{font-weight:400}.dropdown-item.active{font-weight:600}.track-info-row{align-items:center;gap:16px;margin-top:24px;margin-bottom:24px;padding:0 8px;display:flex}.track-credit{flex-direction:column;display:flex}.track-credit strong{font-family:var(--font-sans);color:var(--color-text);font-size:.8rem;font-style:italic;font-weight:700}.track-credit span{font-family:var(--font-sans);color:var(--color-text-muted);font-size:.65rem;font-style:italic}.audio-controls{justify-content:center;align-items:center;gap:24px;margin-bottom:24px;display:flex}.audio-btn{cursor:pointer;transition:opacity var(--transition-fast), transform var(--transition-fast);background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;padding:8px;display:flex}.audio-btn:hover{opacity:.7}.audio-btn:active{transform:scale(.95)}.audio-btn img{width:20px;height:20px}.play-pause-btn img{width:28px;height:28px}.volume-control{align-items:center;gap:12px;padding:0 12px;display:flex}.volume-icon-btn{cursor:pointer;transition:opacity var(--transition-fast);background:0 0;border:none;justify-content:center;align-items:center;padding:4px;display:flex}.volume-icon-btn:hover{opacity:.7}.volume-icon-btn img,.volume-icon-static img{width:20px;height:20px}.volume-icon-static{justify-content:center;align-items:center;padding:4px;display:flex}.volume-slider{appearance:none;border-radius:3px;outline:none;flex:1;height:6px}.volume-slider::-webkit-slider-thumb{appearance:none;background:var(--color-accent-hover);cursor:pointer;border-radius:50%;width:14px;height:14px;transition:transform .1s;box-shadow:0 1px 3px #0003}.volume-slider::-webkit-slider-thumb:hover{transform:scale(1.2)}.volume-slider::-moz-range-thumb{background:var(--color-accent-hover);cursor:pointer;border:none;border-radius:50%;width:14px;height:14px;box-shadow:0 1px 3px #0003}.music-bars{align-items:flex-end;gap:3px;height:24px;display:flex}.music-bars.paused .bar{animation-play-state:paused}.bar{background-color:var(--color-accent);border-radius:2px;width:4px;animation:1.2s ease-in-out infinite bar-bounce}.bar-1{height:12px;animation-delay:0s}.bar-2{height:24px;animation-delay:.15s}.bar-3{height:16px;animation-delay:.3s}.bar-4{height:20px;animation-delay:.45s}.bar-5{height:14px;animation-delay:.6s}@keyframes bar-bounce{0%,to{transform:scaleY(1)}50%{transform:scaleY(.4)}}.how-it-works-card{background:linear-gradient(135deg, var(--color-gradient-start-trans) 0%, var(--color-gradient-end-trans) 100%);border:1px solid var(--color-gradient-start-trans);border-radius:14px;margin:16px;padding:18px}.how-it-works-title{font-family:var(--font-sans);letter-spacing:2px;text-transform:uppercase;color:var(--color-text-muted);margin:0 0 12px;font-size:9px;font-weight:700}.how-it-works-list{flex-direction:column;gap:11px;margin:0;padding:0;list-style:none;display:flex}.how-it-works-list li{font-family:var(--font-sans);color:var(--color-text);font-size:12px;line-height:1.55}.how-it-works-list strong{font-weight:700}.transition-screen{z-index:50;justify-content:center;align-items:center;animation:.4s forwards fadeIn;display:flex;position:absolute;inset:0}.transition-content{text-align:center;flex-direction:column;align-items:center;gap:1rem;max-width:50vw;padding:40px;display:flex}.transition-alert{flex-direction:column;align-items:center;gap:1rem;display:flex}.transition-icon{margin-bottom:8px;font-size:48px}.transition-text{font-family:var(--font-cormorant);color:var(--color-text);font-size:3rem;font-weight:500;line-height:1.2}.transition-subtext{font-family:var(--font-sans);color:var(--color-text);margin-top:2.4rem;font-size:1rem}.transition-spinner{border:3px solid var(--color-text-light);border-top-color:var(--color-text-muted);border-right-color:var(--color-text-muted);border-radius:50%;width:40px;height:40px;margin-bottom:8px;animation:.8s linear infinite spin}.transition-retry-btn{background-color:var(--color-accent);font-family:var(--font-sans);color:var(--color-text);transition:background-color var(--transition-fast);border-radius:50px;margin-top:16px;padding:10px 28px;font-size:14px;font-weight:600;box-shadow:0 3px 12px #0003}.transition-retry-btn:hover{background-color:var(--color-accent-hover)}.transition-actions{flex-wrap:wrap;justify-content:center;gap:12px;display:flex}.transition-skip-btn{border:1px solid var(--color-text-light);color:var(--color-text);font-family:var(--font-sans);transition:background-color var(--transition-fast);-webkit-backdrop-filter:blur(10px);background:#ffffff40;border-radius:50px;margin-top:16px;padding:10px 28px;font-size:14px;font-weight:600;box-shadow:0 3px 12px #1a1a1a1f}.transition-skip-btn:hover{background:#ffffff0d}.transition-retry-btn:focus-visible,.transition-skip-btn:focus-visible{outline:3px solid var(--color-text);outline-offset:3px}.transition-model-status{margin-top:8px;font-size:.875rem;display:block}@keyframes spin{to{transform:rotate(360deg)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.body-detection-overlay{z-index:50;pointer-events:none;justify-content:flex-start;align-items:flex-start;display:flex;inset:0}.detection-card{-webkit-backdrop-filter:blur(14px);pointer-events:auto;transform-origin:0;background:#fff6;border:1px solid #d2ccbd9e;border-radius:18px;width:clamp(320px,24vw,400px);max-height:calc(100vh - 145px);padding:22px 24px 34px;transition:transform .1s cubic-bezier(.55,0,1,.45),opacity .1s ease-in;overflow:auto;box-shadow:0 10px 36px #463b2b0f}.detection-card.collapsing{opacity:0;transform:perspective(900px)rotateY(12deg)scaleX(.02)}.detection-title,.body-status-title{color:var(--color-text-muted);font-family:var(--font-cormorant);letter-spacing:.12em;text-transform:uppercase;font-weight:600}.detection-title{margin-bottom:14px;font-size:1rem}.detection-list{flex-direction:column;gap:7px;margin:0;padding:0;list-style:none;display:flex}.detection-list li{min-height:44px;color:var(--color-text-muted);font-family:var(--font-sans);transition:color var(--transition-base), border-color var(--transition-base), background-color var(--transition-base);background:#ffffff1a;border:1px solid #d6d1c6b8;border-radius:6px;align-items:center;gap:14px;padding:8px 16px;font-size:.92rem;display:flex}.detection-list li.checked{color:var(--color-text);background:#ffffff40;border-color:#beda5b61;font-weight:500}.detection-list .icon{color:#50504c8c;width:26px;height:26px;transition:color var(--transition-base), background-color var(--transition-base);background:#d2d2cda6;border-radius:50%;flex:0 0 26px;justify-content:center;align-items:center;font-size:.88rem;font-weight:700;display:inline-flex}.detection-list li.checked .icon{background:var(--color-accent);color:var(--color-text)}.detection-divider{background:var(--color-divider);height:1px;margin:26px 0 16px}.body-status-title{margin:0 0 20px;font-size:.7rem}.body-status-layout{grid-template-columns:minmax(128px,1fr) minmax(100px,.75fr);align-items:center;gap:18px;min-height:286px;display:grid}.body-guide{align-self:stretch;min-height:276px;position:relative}.body-guide img{object-fit:contain;width:100%;height:100%;position:absolute;inset:0}.body-guide-marker{--marker-color:#aaaf9b8c;background:linear-gradient(var(--marker-color), var(--marker-color)) left top / 10px 3px no-repeat, linear-gradient(var(--marker-color), var(--marker-color)) left top / 3px 10px no-repeat, linear-gradient(var(--marker-color), var(--marker-color)) right top / 10px 3px no-repeat, linear-gradient(var(--marker-color), var(--marker-color)) right top / 3px 10px no-repeat, linear-gradient(var(--marker-color), var(--marker-color)) left bottom / 10px 3px no-repeat, linear-gradient(var(--marker-color), var(--marker-color)) left bottom / 3px 10px no-repeat, linear-gradient(var(--marker-color), var(--marker-color)) right bottom / 10px 3px no-repeat, linear-gradient(var(--marker-color), var(--marker-color)) right bottom / 3px 10px no-repeat;opacity:.55;transition:opacity var(--transition-base), filter var(--transition-base);position:absolute}.body-guide-marker.active{--marker-color:var(--color-accent-hover);opacity:1;filter:drop-shadow(0 0 3px var(--color-accent))}.body-guide-marker:after{border-top:1px dashed var(--marker-color);content:"";position:absolute;top:50%;left:9px;right:9px}.marker-face{width:32%;height:19%;top:0;left:34%}.marker-shoulders{width:90%;height:12%;top:15%;left:5%}.marker-hips{width:82%;height:15%;top:35%;left:9%}.marker-left-hand,.marker-right-hand{width:30%;height:15%;top:45%}.marker-left-hand{left:5%}.marker-right-hand{right:5%}.body-status-copy{color:var(--color-text-muted);font-family:var(--font-sans);flex-direction:column;align-items:flex-start;gap:5px;font-size:.78rem;line-height:1.55;display:flex}.body-status-copy strong{color:var(--color-text);font-size:.82rem;font-weight:600}.body-ready-ring{--detection-progress:0deg;background:conic-gradient(var(--color-accent-hover) var(--detection-progress), #aaaf9b47 0);width:58px;height:58px;color:var(--color-text-muted);transition:background var(--transition-base), color var(--transition-base), transform var(--transition-base);border-radius:50%;justify-content:center;align-items:center;margin-top:12px;font-size:.76rem;font-weight:600;display:flex;position:relative}.body-ready-ring:before{content:"";background:#ffffffe0;border-radius:50%;position:absolute;inset:4px}.body-ready-ring span{z-index:1;position:relative}.body-ready-ring.detection-1{--detection-progress:90deg}.body-ready-ring.detection-2{--detection-progress:180deg}.body-ready-ring.detection-3{--detection-progress:270deg}.body-ready-ring.detection-4{--detection-progress:360deg}.body-ready-ring.complete{color:var(--color-text);animation:.5s ease-out both body-ring-light-up}@keyframes body-ring-light-up{0%{transform:scale(1);box-shadow:0 0 #0000}55%{box-shadow:0 0 0 7px var(--color-accent-shadow), 0 0 24px var(--color-accent);transform:scale(1.1)}to{box-shadow:0 0 14px var(--color-accent-shadow);transform:scale(1.03)}}@media (prefers-reduced-motion:reduce){.detection-card{transition-duration:1ms}.body-ready-ring.complete{animation-duration:1ms}}@media (width<=760px){.detection-card{width:100%;max-height:calc(100vh - 116px)}}@media (height<=720px){.detection-card{max-height:calc(100vh - 100px);padding-block:16px}.detection-list li{min-height:38px}.detection-divider{margin-block:18px 12px}.body-status-layout{min-height:230px}.body-guide{min-height:220px}}.game-intro-overlay{z-index:50;pointer-events:none;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.game-intro-countdown{color:var(--color-accent-hover);font-family:var(--font-prata);text-shadow:0 0 36px var(--color-accent);font-size:clamp(5rem,13vw,13rem);font-weight:400;line-height:1;animation:.8s ease-out both game-countdown-pulse}.game-intro-countdown.go{letter-spacing:.08em;font-size:clamp(3rem,10vw,10rem)}@keyframes game-countdown-pulse{0%{opacity:0;transform:scale(.72)}45%{opacity:1;transform:scale(1.08)}to{opacity:1;transform:scale(1)}}@media (prefers-reduced-motion:reduce){.game-intro-countdown{animation:none}}.completion-screen{z-index:50;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background-color:#fff6;flex-direction:column;justify-content:center;align-items:center;animation:.6s forwards fadeIn;display:flex;position:absolute;inset:0}.completion-text-large{font-family:var(--font-prata);color:var(--color-accent);text-shadow:0 4px 20px #0000001a;font-size:clamp(64px,8vw,120px);line-height:1;animation:.8s cubic-bezier(.34,1.56,.64,1) forwards scaleUp}.completion-text-small{font-family:var(--font-cormorant);color:var(--color-text);opacity:0;margin-top:16px;font-size:32px;animation:.6s .4s forwards fadeIn}@keyframes scaleUp{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.break-screen-wrapper{pointer-events:none;z-index:10;flex-direction:column;justify-content:center;align-items:center;gap:clamp(.8rem,1.6vw,1.7rem);display:flex;position:absolute;inset:0}.break-screen-wrapper .break-timer{font-family:var(--font-prata);color:#0000;-webkit-user-select:none;user-select:none;width:100%;text-shadow:0 0 1rem var(--color-accent-hover);flex:none;align-items:center;font-weight:400;display:flex}.break-screen-wrapper .break-timer .digits{font-size:clamp(4rem,18vw,22rem);line-height:1}.break-screen-wrapper .break-timer .timer-colon{margin:0 2vw;font-size:clamp(3rem,14vw,20rem)}.break-skip-btn{z-index:1;border:1px solid var(--color-text-muted);-webkit-backdrop-filter:blur(10px);min-width:120px;color:var(--color-text);font-family:var(--font-prata);letter-spacing:.32em;pointer-events:auto;transition:background-color var(--transition-fast), box-shadow var(--transition-fast), transform var(--transition-fast);background:#ffffff0d;border-radius:999px;justify-content:center;align-items:center;gap:10px;padding:clamp(9px,1.5vw,1rem) clamp(22px,2.7vw,1.8rem) clamp(9px,1.5vw,1rem) clamp(26px,3vw,2rem);font-size:clamp(.75rem,1.5vw,1.4rem);line-height:1;display:inline-flex;position:relative;top:100px;box-shadow:0 3px 12px #1a1a1a1a}.break-skip-btn:hover{background:#ffffff26;transform:translateY(-1px);box-shadow:0 5px 18px #1a1a1a1f}.break-skip-btn:active{transform:translateY(1px)}.break-skip-btn:focus-visible{outline:3px solid var(--color-accent);outline-offset:4px}.break-skip-icon{font-family:var(--font-sans);letter-spacing:0;font-size:1rem;font-weight:700}.stage-transition-overlay{z-index:10000;pointer-events:auto;cursor:wait;transform-origin:50%;background:radial-gradient(circle at 82% 46%, #fffff5fa 0 7%, transparent 27%), linear-gradient(102deg, var(--light-leak-color-1) 0%, var(--light-leak-color-3) 43%, var(--light-leak-color-2) 100%);filter:blur(30px)saturate(1.3);will-change:opacity, transform, filter;position:fixed;inset:0;overflow:hidden;transform:scale(1.12)}.stage-transition-overlay.idle{visibility:hidden;opacity:0;pointer-events:none}.stage-transition-overlay__canvas{width:100%;height:100%;display:block;position:absolute;inset:0}.stage-transition-overlay.shader-ready{filter:none;background:0 0;transform:none}.stage-transition-overlay.shader-ready.covering,.stage-transition-overlay.shader-ready.revealing{opacity:1;animation:none}.stage-transition-overlay.shader-ready:before,.stage-transition-overlay.shader-ready:after,.stage-transition-overlay.shader-ready .stage-transition-overlay__haze{animation:none;display:none}.stage-transition-overlay:before,.stage-transition-overlay:after{content:"";pointer-events:none;position:absolute;inset:-18%}.stage-transition-overlay:before{background:linear-gradient(90deg, transparent 3%, #fff8e2b8 24%, transparent 48%, color-mix(in srgb, var(--light-leak-color-2) 78%, transparent) 72%, transparent 94%), radial-gradient(circle at 76% 62%, #fff6daeb 0 5%, transparent 22%);mix-blend-mode:screen}.stage-transition-overlay:after{background:color-mix(in srgb, #fffef2 88%, var(--light-leak-color-3))}.stage-transition-overlay__haze{background:radial-gradient(ellipse at 18% 68%, color-mix(in srgb, var(--light-leak-color-1) 88%, transparent), transparent 42%), radial-gradient(ellipse at 88% 25%, color-mix(in srgb, var(--light-leak-color-2) 84%, transparent), transparent 45%);mix-blend-mode:screen;position:absolute;inset:-20%}.stage-transition-overlay.covering{animation:.9s ease-in-out forwards stage-light-leak-cover}.stage-transition-overlay.covering:before{animation:.9s ease-in-out forwards stage-light-leak-pane-in}.stage-transition-overlay.covering:after{animation:.9s ease-in forwards stage-light-leak-white-in}.stage-transition-overlay.covering .stage-transition-overlay__haze{animation:.9s ease-in-out forwards stage-light-leak-haze-in}.stage-transition-overlay.revealing{animation:.9s ease-in-out forwards stage-light-leak-reveal}.stage-transition-overlay.revealing:before{animation:.9s ease-in-out forwards stage-light-leak-pane-out}.stage-transition-overlay.revealing:after{animation:.9s ease-out forwards stage-light-leak-white-out}.stage-transition-overlay.revealing .stage-transition-overlay__haze{animation:.9s ease-in-out forwards stage-light-leak-haze-out}@keyframes stage-light-leak-cover{0%{opacity:0;filter:blur(42px)saturate(1.05);transform:scale(1.18)translate(-8%)}58%{opacity:.92}to{opacity:1;filter:blur(24px)saturate(1.32);transform:scale(1.12)translate(0)}}@keyframes stage-light-leak-reveal{0%{opacity:1;filter:blur(24px)saturate(1.32);transform:scale(1.12)translate(0)}38%{opacity:.9}to{opacity:0;filter:blur(46px)saturate(1.08);transform:scale(1.2)translate(8%)}}@keyframes stage-light-leak-pane-in{0%{opacity:.15;transform:translate(-34%)scaleX(.82)}to{opacity:1;transform:translate(8%)scaleX(1.08)}}@keyframes stage-light-leak-pane-out{0%{opacity:1;transform:translate(8%)scaleX(1.08)}to{opacity:0;transform:translate(38%)scaleX(.86)}}@keyframes stage-light-leak-white-in{0%,42%{opacity:0}to{opacity:1}}@keyframes stage-light-leak-white-out{0%{opacity:1}48%,to{opacity:0}}@keyframes stage-light-leak-haze-in{0%{opacity:0;transform:translate(-18%)scale(.9)}to{opacity:.92;transform:translate(6%)scale(1.08)}}@keyframes stage-light-leak-haze-out{0%{opacity:.92;transform:translate(6%)scale(1.08)}to{opacity:0;transform:translate(20%)scale(1.16)}}@media (prefers-reduced-motion:reduce){.stage-transition-overlay.covering,.stage-transition-overlay.revealing,.stage-transition-overlay.covering:before,.stage-transition-overlay.covering:after,.stage-transition-overlay.covering .stage-transition-overlay__haze,.stage-transition-overlay.revealing:before,.stage-transition-overlay.revealing:after,.stage-transition-overlay.revealing .stage-transition-overlay__haze{animation-duration:1ms}}.webgpu-canvas,.webgpu-fallback{z-index:0;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.webgpu-fallback{background-color:var(--color-bg);transition:background .6s}.webgpu-canvas{opacity:0;transition:opacity .3s}.webgpu-canvas.ready{opacity:1}.webgpu-canvas.unavailable{visibility:hidden}@media (prefers-reduced-motion:reduce){.webgpu-canvas,.webgpu-fallback{transition:none}}.canvas-container-wrapper{z-index:1;border-radius:0 0 0 120px;width:95%;height:100%;position:absolute;top:0;right:-5%;overflow:hidden;-webkit-mask-image:linear-gradient(270deg,#000 35%,#0000 100%);mask-image:linear-gradient(270deg,#000 35%,#0000 100%)}.app:not(.phase-landing):not(.phase-working):not(.phase-workComplete) .canvas-container-wrapper{z-index:5;border-radius:0;width:100%;right:0;-webkit-mask-image:none;mask-image:none}.p5-canvas-overlay{z-index:1;pointer-events:none;width:100%;height:100%;position:absolute;top:0;left:0}.app{width:100vw;height:100dvh;display:block;position:relative;overflow:hidden}.main-area{background-color:var(--color-bg);position:absolute;inset:0;overflow:hidden}.gear-toggle,.fullscreen-toggle{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);width:40px;height:40px;transition:background-color var(--transition-fast), transform var(--transition-fast), box-shadow var(--transition-fast), opacity var(--transition-fast);background-color:#ffffffb3;border-radius:50%;justify-content:center;align-items:center;display:flex;box-shadow:0 2px 12px #0000001a}.gear-toggle{z-index:30;flex-shrink:0}.gear-toggle:hover,.fullscreen-toggle:hover:not(:disabled){background-color:#fffffff2;box-shadow:0 4px 16px #00000026}.gear-toggle:hover{transform:rotate(30deg)}.gear-toggle img,.fullscreen-toggle img{opacity:.55;transition:opacity var(--transition-fast)}.gear-toggle:hover img,.fullscreen-toggle:hover:not(:disabled) img{opacity:.85}.fullscreen-toggle{z-index:30;background-color:#ffffff1a;position:absolute;bottom:36px;right:40px}.fullscreen-toggle:hover:not(:disabled){background-color:#fff3;transform:scale(1.08)}.fullscreen-toggle:disabled{cursor:not-allowed;opacity:.35}.fullscreen-toast{z-index:100;border:1px solid var(--color-gradient-start-trans);background:linear-gradient(135deg, var(--color-gradient-start-trans) 0%, var(--color-gradient-end-trans) 100%);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);max-width:min(430px,100vw - 80px);color:var(--color-text);border-radius:12px;align-items:center;gap:14px;padding:12px 12px 12px 18px;transition:right .35s cubic-bezier(.4,0,.2,1);animation:.22s ease-out both fullscreen-toast-in;display:flex;position:absolute;bottom:8vh;right:40px;box-shadow:0 8px 30px #0000001f}.app.sidebar-open .fullscreen-toast{right:calc(var(--sidebar-width) + 24px)}.fullscreen-toast__action{background:var(--color-accent);letter-spacing:1.2px;text-transform:uppercase;transition:background-color var(--transition-fast), transform var(--transition-fast);border-radius:8px;flex-shrink:0;padding:7px 10px;font-size:10px;font-weight:700}.fullscreen-toast__action:hover{background:var(--color-accent-hover);transform:translateY(-1px)}.fullscreen-toast__dismiss{width:28px;height:28px;color:var(--color-text-muted);transition:background-color var(--transition-fast), color var(--transition-fast);border-radius:50%;flex-shrink:0;font-size:19px;line-height:1}.fullscreen-toast__dismiss:hover{color:var(--color-text);background:#0000000f}@keyframes fullscreen-toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.main-content{flex-direction:column;align-items:flex-start;width:100%;height:100%;padding:36px 40px;display:flex;position:relative}.stage-content-layer{flex-direction:column;align-items:flex-start;width:100%;min-height:0;display:flex}.app.sidebar-open .header{z-index:30}.app.stage-transition-active .header,.app.stage-transition-active .fullscreen-toggle{z-index:10001}.app.stage-transition-active .sidebar.open{z-index:10002}.phase-container.hidden{opacity:0;pointer-events:none;display:none}.phase-container.active{z-index:10;flex-direction:column;align-items:flex-start;width:100%;display:flex;position:relative}.camera-video{object-fit:cover;z-index:5;width:100%;height:100%;position:absolute;top:0;left:0;transform:scaleX(-1)}.camera-video.hidden{opacity:0;pointer-events:none;width:1px;height:1px}.camera-video.visible{opacity:1}
