:root{color-scheme:dark;font-family:ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#f4f4ed;background:#000;font-synthesis:none}*{box-sizing:border-box}html,body,main{width:100%;height:100%;margin:0;overflow:hidden}body{height:100dvh}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid #eedc8c;outline-offset:5px}button:disabled{opacity:.4;cursor:default}#scene{display:block;width:100%;height:100%}body.idle,body.idle #scene{cursor:none}#loading{position:fixed;inset:0;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:14px;background:#123d58;z-index:10;transition:opacity .4s}#loading.loaded{opacity:0;pointer-events:none}.loading-island{font-family:Georgia,serif;font-size:clamp(22px,3vw,36px);letter-spacing:-.5px}#loading-detail{font-size:12px;color:#abc8d6}#chrome{position:fixed;bottom:max(27px,env(safe-area-inset-bottom));left:max(32px,env(safe-area-inset-left));right:max(32px,env(safe-area-inset-right));display:flex;align-items:center;justify-content:flex-end;gap:20px;opacity:0;transition:opacity .6s;pointer-events:none;z-index:5}#chrome.visible,#chrome:has(:focus-visible){opacity:1;pointer-events:auto}.controls{display:flex;align-items:center;gap:3px;padding:6px;border:1px solid #ffffff26;border-radius:14px;background:#162b30b8;box-shadow:0 5px 24px #0002;backdrop-filter:blur(18px)}.controls button{border:0;background:transparent;width:42px;height:42px;border-radius:9px;display:grid;place-items:center;transition:background .15s}.controls button:hover{background:#ffffff1c}.controls svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.divider{height:20px;width:1px;background:#ffffff20;margin:0 4px}#toast{position:fixed;left:50%;top:32px;transform:translateX(-50%);padding:11px 17px;border-radius:30px;background:#18333de6;font-size:12px;z-index:20;opacity:0;transition:opacity .2s;pointer-events:none}#toast.visible{opacity:1}.message{position:fixed;inset:0;display:grid;align-content:center;justify-items:center;background:#123d58;padding:32px;text-align:center;z-index:25}.message h1{font-family:Georgia,serif;font-weight:400}.message p{max-width:520px;line-height:1.6}.message button,.confirm-actions button{padding:10px 17px;background:#e1d39e;color:#182c31;border:0;border-radius:7px}[hidden]{display:none!important}dialog{width:min(440px,calc(100vw - 32px));max-height:calc(100dvh - 40px);overflow-y:auto;padding:30px;border:1px solid #a5bbb029;border-radius:18px;background:#142d34f5;color:#edf0e7;box-shadow:0 30px 120px #0006}dialog::backdrop{background:#031a2855;backdrop-filter:blur(5px)}.panel-top{display:flex;justify-content:space-between;align-items:flex-start}.eyebrow{font-size:9px;letter-spacing:1.7px;color:#a9bcaf}h1{font:36px Georgia,serif;letter-spacing:-1px;margin:9px 0 0}.close{font-size:26px;line-height:1;background:none;border:0;padding:0 0 10px 16px;color:#adc1ba}.intro{font-size:12px;line-height:1.7;color:#adc1ba;margin:12px 0 22px}.setting{min-height:61px;display:flex;justify-content:space-between;align-items:center;gap:15px;border-top:1px solid #ffffff10;font-size:13px}.detail{display:block;color:#93ada7;font-size:10px;margin-top:5px}.setting select{max-width:160px;font-size:12px;border:1px solid #ffffff19;border-radius:6px;color:inherit;padding:7px 8px;background:#203c42}.setting input[type=range]{width:130px;accent-color:#e6d498}.setting input[type=checkbox]{appearance:none;width:35px;height:20px;background:#436062;border:0;border-radius:20px;position:relative;flex:none;cursor:pointer}.setting input[type=checkbox]:before{content:'';position:absolute;width:14px;height:14px;top:3px;left:3px;background:#d1dad2;border-radius:50%;transition:transform .15s}.setting input:checked{background:#bbab74}.setting input:checked:before{transform:translateX(15px);background:#fff7d9}.story-note{margin-top:16px;padding:17px;border-radius:8px;background:#ffffff04;border:1px solid #ffffff0b}.story-note p{font-size:11px;line-height:1.7;margin:8px 0 0;color:#adc1ba}.text-button{background:none;border:0;padding:16px 0;color:#dccc97;font-size:11px}.confirm-actions{display:flex;gap:10px;margin:14px 0}.confirm-actions button{font-size:11px}#restart-confirm p{font-size:12px}.shortcuts{display:flex;flex-wrap:wrap;gap:16px;border-top:1px solid #ffffff10;padding-top:20px;margin:3px 0 0}.shortcuts div{display:flex;align-items:center;gap:5px}.shortcuts dd{margin:0;font-size:9px;color:#9bb1a8}.shortcuts kbd{font-size:9px;min-width:17px;padding:3px 4px;background:#ffffff09;border:1px solid #ffffff15;border-radius:3px}.credits{font-size:9px;line-height:1.8;color:#7f9c94;margin:23px 0 0}.credits a{color:#aabcb1;text-underline-offset:3px}@media(max-width:540px){#chrome{left:18px;right:18px;bottom:18px;gap:10px}.controls button{width:34px;height:36px}.controls{padding:4px;border-radius:11px}.controls svg{width:18px;height:18px}dialog{padding:24px}.shortcuts{gap:12px}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}

/* This corner credit remains visible when the screensaver controls fade. */
#chrome{bottom:calc(48px + env(safe-area-inset-bottom,0px))}
.acknowledgements-button{position:fixed;right:0;bottom:0;z-index:30;display:block;padding:10px max(14px,env(safe-area-inset-right,0px)) max(10px,env(safe-area-inset-bottom,0px)) 14px;border:1px solid #ffffff26;border-right:0;border-bottom:0;border-radius:8px 0 0 0;background:#142d34ee;color:#d5dfd8;font-size:11px;line-height:1.3;letter-spacing:.2px;cursor:pointer}
.acknowledgements-button:hover{background:#203c42;color:#fff5d3}
.acknowledgements-button:focus-visible{outline-offset:-4px}
#acknowledgements{width:min(560px,calc(100vw - 32px));cursor:auto}
#acknowledgements h1{font-size:clamp(24px,5vw,32px);letter-spacing:-.7px}
.acknowledgements-thanks{font-size:14px;line-height:1.8;color:#e1e6d9;margin:20px 0 24px}
.acknowledgements-section{border-top:1px solid #ffffff15;padding-top:18px;margin-top:20px}
.acknowledgements-section h2{font-size:13px;font-weight:600;color:#e7d9aa;margin:0 0 10px}
.acknowledgements-section p,.preservation-thanks{font-size:12px;line-height:1.8;color:#b8cac0;margin:8px 0}
.creator-credits{font-size:12px;line-height:1.6;margin:14px 0}
.creator-credits div{display:flex;gap:12px;padding:3px 0}
.creator-credits dt{flex:0 0 112px;color:#eef0e7}
.creator-credits dd{margin:0;color:#b8cac0}
.history-links{list-style:none;padding:0;margin:14px 0 0;display:grid;gap:15px}
#acknowledgements a{color:#e7d9aa;text-decoration-color:#e7d9aa66;text-underline-offset:3px}
#acknowledgements a:hover{color:#fff2bf;text-decoration-color:currentColor}
.history-links a{font-size:13px;line-height:1.6}
.history-links>li>span{display:block;color:#9fb9ae;font-size:11px;line-height:1.7;margin-top:3px}
.preservation-thanks{margin:24px 0 0;padding-top:18px;border-top:1px solid #ffffff15;font-size:11px}
@media(max-width:380px){.creator-credits div{display:block;padding:5px 0}.creator-credits dd{margin-top:2px}}
.fan-project-notice{margin-top:22px;padding:17px 18px;border:1px solid #e7d9aa44;border-radius:9px;background:#e7d9aa0a}
.fan-project-notice h2{font-size:13px;font-weight:600;line-height:1.6;color:#e7d9aa;margin:0 0 9px}
.fan-project-notice p{font-size:12px;line-height:1.8;color:#c6d4ca;margin:10px 0 0}
.fan-project-notice strong{font-weight:600;color:#f0ead6}
