:root{color-scheme:light;--ink:#282b27;--muted:#6c6d65;--line:rgba(44,48,37,.12);--paper:rgba(255,254,249,.88);font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-synthesis:none}
*{box-sizing:border-box}
html,body{margin:0;width:100%;height:100%;overflow:clip;background:#e9e4da}
button,input,select{font:inherit}
button,a,input,select{-webkit-tap-highlight-color:transparent}
button{cursor:pointer;touch-action:manipulation}
a{color:inherit;text-decoration:none}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid #566949;outline-offset:4px}
#stage{position:relative;width:100%;height:100dvh;overflow:clip;color:var(--ink)}
#scene{display:block;width:100%;height:100%;touch-action:none;cursor:grab}
#scene:active{cursor:grabbing}
.masthead{position:absolute;inset:32px 38px auto;pointer-events:none}
.masthead a{pointer-events:auto}
.wordmark{font:400 45px/.9 Georgia,"Times New Roman",serif;letter-spacing:-2px}
.wordmark span{display:block;margin-top:13px;font:500 10px/1.6 -apple-system,BlinkMacSystemFont,sans-serif;letter-spacing:.3px}
.live{position:absolute;left:39px;top:140px;display:flex;align-items:center;gap:8px;font-size:11px;letter-spacing:.15px;color:var(--muted)}
.live i{width:5px;height:5px;border-radius:50%;background:#6c865b;box-shadow:0 0 0 4px #6c865b0c}
.segments{display:flex;padding:3px;background:#5a65580b;border-radius:7px;gap:2px}
.segments button{border:0;background:none;color:var(--muted);font-size:10px;min-height:38px;flex:1;white-space:nowrap;border-radius:5px;transition:background .15s,color .15s}
.segments button.selected{background:#fffffff0;color:var(--ink);box-shadow:0 1px 5px #00000008}
.quick-view{position:absolute;right:38px;top:32px;width:330px;background:var(--paper);border:1px solid #ffffff30;backdrop-filter:blur(14px)}
.quick-view button{min-height:38px}

/* Settings and the call action share one small bottom-left dock. */
.scene-actions{position:absolute;left:38px;bottom:max(20px,env(safe-area-inset-bottom));display:flex;align-items:center;gap:8px;z-index:4}
.scene-actions button{display:grid;place-items:center;width:44px;height:44px;padding:0;border:1px solid var(--line);border-radius:50%;background:var(--paper);color:var(--ink);backdrop-filter:blur(14px);box-shadow:0 4px 16px #272c2408}
.scene-actions button:hover,.customize[aria-expanded=true]{background:#f7f8f2;color:#536345}
.hello:active{transform:scale(.94)}
.panel{position:absolute;left:38px;bottom:calc(max(20px,env(safe-area-inset-bottom)) + 56px);width:300px;max-width:calc(100% - 36px);padding:12px 16px;border:1px solid rgba(255,255,255,.45);border-radius:13px;background:var(--paper);backdrop-filter:blur(18px);box-shadow:0 12px 50px #272c2410;z-index:5}
.panel[hidden]{display:none}
.panel-top{display:flex;justify-content:space-between;align-items:center;font-size:12px;font-weight:550;letter-spacing:.2px}
.panel-top button{display:grid;place-items:center;width:44px;height:44px;padding:0;flex-shrink:0;border:0;border-radius:50%;background:transparent;color:var(--muted)}
.panel-top button:hover{background:#697d5810}
.panel #settings{max-height:min(440px,calc(100dvh - 210px));overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;padding-right:3px}
#motion-settings,#scene-settings{margin-top:8px;border-top:1px solid var(--line);padding-top:2px}
#motion-settings summary,#scene-settings summary{font-size:11px;color:var(--muted);cursor:pointer;min-height:44px;align-content:center;padding:10px 0}
.control-label{font-size:8px;font-weight:600;letter-spacing:1.6px;color:var(--muted);margin:12px 0 8px}
.toggle-row,.quality-row{display:flex;justify-content:space-between;align-items:center;font-size:10px;margin-top:10px;gap:8px;min-height:32px}
.toggle-row label{display:flex;align-items:center;flex:1;min-height:34px}
.toggle-row input{appearance:none;width:32px;height:18px;border-radius:20px;background:#b9beb3;margin:0;cursor:pointer;position:relative;flex-shrink:0;transition:background .15s}
.toggle-row input:checked{background:#697d58}
.toggle-row input:after{content:"";position:absolute;top:3px;left:3px;width:12px;height:12px;border-radius:50%;background:#fff;transition:transform .15s}
.toggle-row input:checked:after{transform:translateX(14px)}
.quality-row select{border:1px solid var(--line);border-radius:5px;background:transparent;color:var(--ink);font-size:10px;min-height:34px;padding:5px}
#behaviors{margin-top:7px}
.reset{margin-top:12px;border:0;border-top:1px solid var(--line);padding:12px 0 0;display:flex;align-items:center;width:100%;min-height:44px;justify-content:space-between;color:var(--muted);background:transparent;font-size:10px}
.reset span{font-size:14px}
.hint{position:absolute;bottom:113px;left:50%;transform:translateX(-50%);font-size:11px;white-space:nowrap;color:var(--muted);pointer-events:none}
.hint span{margin:0 9px;opacity:.5}

.wishrig-footer{position:absolute;inset:auto 24px max(20px,env(safe-area-inset-bottom));display:flex;flex-direction:column;align-items:center;text-align:center;gap:3px;pointer-events:none;color:var(--muted);z-index:1}
.wishrig-footer::before{content:"";position:absolute;inset:-24px -24px -28px;z-index:-1;background:linear-gradient(transparent,rgba(242,239,231,.93) 60%);pointer-events:none}
.wishrig-footer #wishrig-link{display:flex;align-items:center;gap:6px;min-height:44px;padding:4px 8px;font:700 22px/1.2 Georgia,"Times New Roman",serif;letter-spacing:-.4px;color:var(--ink);pointer-events:auto}
.wishrig-footer #wishrig-link small{font:400 13px/1.2 Georgia,"Times New Roman",serif;letter-spacing:0;margin-top:4px}
.wishrig-footer #wishrig-link>span{font:14px/1 system-ui;color:var(--muted);transition:transform .15s}
.wishrig-footer #wishrig-link:hover>span{transform:translate(2px,-2px)}
.wishrig-footer>.wishrig-copy{display:block;min-height:44px;padding:7px 0;font-size:10px;line-height:1.5;letter-spacing:.05px;max-width:100%;pointer-events:auto}
.wishrig-footer>.wishrig-copy:hover{color:var(--ink)}
.credits-link{position:absolute;right:28px;bottom:max(20px,env(safe-area-inset-bottom));display:flex;align-items:center;min-height:44px;padding:12px 10px;font-size:10px;line-height:1.4;color:var(--muted);text-decoration:none;z-index:4}
.credits-link:hover{color:var(--ink)}

.loading{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:20px;background:#e9e4da;z-index:10;font-size:12px;color:var(--muted);transition:opacity .6s}
.loading.off{opacity:0;pointer-events:none}
.loading[hidden],.error[hidden]{display:none}
.spinner{width:24px;height:24px;border:1px solid #5d715533;border-top-color:#5d7155;border-radius:50%;animation:spin 1.2s linear infinite}
.error{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);padding:25px;background:#fff8ee;border-radius:12px;width:min(90%,420px);line-height:1.6;font-size:13px;z-index:20}
@keyframes spin{to{transform:rotate(360deg)}}
[data-theme=dark]{--ink:#eeeadf;--muted:#c0c0b8;--line:#fff2;--paper:rgba(31,35,32,.9)}
[data-theme=dark] .segments button.selected{background:#697d5855}
[data-theme=dark] .segments{background:#ffffff09}
[data-theme=dark] .toggle-row input{background:#64675f}
[data-theme=dark] .toggle-row input:checked{background:#82996c}
[data-theme=dark] .scene-actions button:hover,[data-theme=dark] .customize[aria-expanded=true]{background:#3c4836;color:#eeeadf}
[data-theme=dark] .wishrig-footer::before{background:linear-gradient(transparent,rgba(49,60,64,.93) 60%)}
@media(max-width:760px){
 .masthead{inset:24px 20px auto}
 .wordmark{font-size:34px}
 .wordmark span{max-width:110px;margin-top:10px;font-size:8px;letter-spacing:0;line-height:1.5}
 .live{left:21px;right:auto;top:111px;font-size:10px}
 .quick-view{top:142px;right:18px;width:calc(100% - 36px)}
 .quick-view button{min-height:40px}
 .scene-actions{left:18px;bottom:max(18px,env(safe-area-inset-bottom))}
 .panel{left:18px;bottom:calc(max(18px,env(safe-area-inset-bottom)) + 56px);width:320px;padding:10px 14px}
 .panel #settings{max-height:min(320px,calc(100dvh - 250px))}
 .panel-top{font-size:11px}
 .hint{display:none}
 .wishrig-footer{inset:auto 18px calc(max(18px,env(safe-area-inset-bottom)) + 60px);gap:1px}
 .wishrig-footer::before{bottom:-110px}
 .wishrig-footer #wishrig-link{font-size:20px;letter-spacing:-.5px}
 .wishrig-footer #wishrig-link small{font-size:12px}
 .wishrig-footer>.wishrig-copy{max-width:290px}
 .credits-link{right:8px;bottom:max(18px,env(safe-area-inset-bottom))}
}
@media(max-width:370px){.wordmark{font-size:30px}.wishrig-footer #wishrig-link{font-size:18px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}.spinner{animation:none}}
