:root{font-family:DM Sans,sans-serif;color:#fffef4;background:#91cbe9;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0}button,a{-webkit-tap-highlight-color:transparent}main{height:100svh;min-height:560px;position:relative;overflow:hidden}.world{position:absolute;inset:0}.vignette{position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(26,58,41,.22),transparent 65%),linear-gradient(0deg,rgba(29,54,31,.32),transparent 30%)}header{position:absolute;top:38px;left:4.5%;right:4.5%;display:flex;align-items:center;justify-content:space-between}.wordmark{color:inherit;text-decoration:none;letter-spacing:2.5px;font-size:12px;font-weight:700;display:flex;align-items:center;gap:12px}.sun-mark{font-size:34px;font-weight:400}.edition{font-size:9px;letter-spacing:2px;display:flex;align-items:center;gap:14px}.edition i{width:5px;height:5px;border-radius:50%;background:#fff2b9}.welcome{position:absolute;top:26%;left:9%;max-width:620px}.eyebrow{display:flex;align-items:center;gap:12px;font-size:10px;letter-spacing:3px;font-weight:600}.eyebrow span{width:29px;height:1px;background:#fff9d7}h1{font-family:Libre Caslon Display,Georgia,serif;font-size:clamp(68px,7.5vw,112px);line-height:.98;font-weight:400;letter-spacing:-3px;margin:27px 0 24px}h1 em{font-weight:400;color:#fff0c5}.intro{font-size:14px;line-height:1.9;color:#f3f5e8;margin-bottom:30px}button{border:1px solid #fffae7;background:#fff9e9;color:#345240;padding:18px 23px;border-radius:3px;font:600 12px DM Sans,sans-serif;cursor:pointer;box-shadow:0 7px 30px #234b3020;display:flex;align-items:center;gap:38px;transition:background .2s,transform .2s}button:hover{background:#fff;transform:translateY(-2px)}button:focus-visible,a:focus-visible{outline:3px solid #ffe899;outline-offset:5px}button span{font-size:20px}.hint{font-size:8px;letter-spacing:1.6px;margin-top:16px;color:#f1f4df}.error{max-width:330px;font-size:12px;line-height:1.6;background:#284635d9;padding:10px;border-radius:4px}footer{position:absolute;bottom:32px;left:4.5%;right:4.5%;display:flex;align-items:center;justify-content:space-between;gap:25px}.location{display:flex;gap:12px;align-items:center;font-size:9px;letter-spacing:1.7px}.location-icon{font-size:28px}.location small{display:block;font-size:10px;letter-spacing:.2px;opacity:.75;margin-top:7px}.controls{display:flex;gap:24px;font-size:10px;color:#f7f8e6;align-items:center}.controls>span{display:flex;align-items:center;gap:5px}kbd{font-family:inherit;font-size:9px;border:1px solid #ffffff60;border-radius:3px;padding:4px;min-width:20px;text-align:center;background:#ffffff0a}.milestone{font-size:8px;letter-spacing:2px;opacity:.7}.crosshair{position:absolute;top:50%;left:50%;width:5px;height:5px;background:#fff9;border-radius:50%;pointer-events:none}.walking-label{position:absolute;top:110px;width:100%;text-align:center;font:italic 24px Georgia,serif;color:#fff9e9aa;pointer-events:none}.fallback{padding:150px 10%;line-height:2}@media(max-width:750px){header{top:25px}.edition,.milestone{display:none}.welcome{left:7%;top:24%}h1{font-size:76px}footer{align-items:flex-start;bottom:23px}.controls{gap:10px;flex-wrap:wrap;max-width:180px;justify-content:flex-end}.location{font-size:8px}.location small{font-size:9px}}@media(max-height:700px){.welcome{top:20%}h1{font-size:70px;margin:18px 0}.intro{margin-bottom:18px}.hint{margin-top:10px}}.welcome[hidden]{display:none}.settings-toggle{position:absolute;right:4.5%;top:94px;gap:10px;padding:10px 13px;background:#fffaf0dd;border:1px solid #ffffffb3;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);font-size:11px;border-radius:6px;box-shadow:0 4px 20px #234b3010;z-index:3}.settings-toggle kbd{border-color:#54705a33;font-size:8px}.settings-panel{position:absolute;right:4.5%;top:147px;width:326px;padding:24px;border-radius:12px;color:#334c3b;background:#fffaf0f5;box-shadow:0 18px 70px #173e3330;border:1px solid #ffffffb3;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);z-index:3}.settings-panel[hidden]{display:none}.settings-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.settings-eyebrow{font-size:7px;letter-spacing:2px;margin:1px 0 10px;color:#7d8366}.settings-panel h2{font:400 27px Georgia,serif;letter-spacing:-.8px;margin:0}.settings-panel .icon-button{border:0;background:transparent;box-shadow:none;padding:0 2px;font:24px Georgia,serif;color:#6a765c;line-height:20px}.settings-description{font-size:11px;line-height:1.8;margin:15px 0 27px;color:#7b836f}.brightness-label{display:flex;justify-content:space-between;font-size:11px;gap:12px;font-weight:600}.brightness-label output{font-variant-numeric:tabular-nums;color:#907541}.settings-panel input[type=range]{display:block;accent-color:#829b63;width:100%;margin:20px 0 10px;cursor:pointer;height:18px}.settings-panel input:focus-visible{outline:2px solid #a4b787;outline-offset:5px;border-radius:4px}.range-endpoints{display:flex;justify-content:space-between;font-size:9px;color:#8a8e7a}.settings-actions{display:flex;justify-content:space-between;align-items:center;margin:23px 0 25px;padding-bottom:20px;border-bottom:1px solid #87997525;gap:12px}.settings-actions .reset-light{background:none;box-shadow:none;padding:0;border:0;font-size:10px;color:#536b43;text-decoration:underline;text-underline-offset:3px}.settings-actions>span{font-size:8px;color:#99947f}.settings-resume{width:100%;justify-content:space-between;padding:13px 16px;background:#647d50;border-color:#647d50;color:#fffaf0;font-size:11px;gap:10px}.settings-resume:hover{background:#526c40}.settings-footnote{font-size:8px;text-align:center;color:#8b907c;margin:15px 0 0}.welcome.paused h1{font-size:76px}.controls{gap:15px}@media(max-width:750px){.settings-toggle{top:80px}.settings-panel{top:128px;width:min(326px,91vw)}.settings-toggle kbd{display:none}.controls{max-width:210px;font-size:9px;gap:8px}}@media(max-height:680px){.settings-panel{top:120px;padding:18px}.settings-description{margin:12px 0 18px}.settings-actions{margin:15px 0}.settings-toggle{top:75px}.settings-panel h2{font-size:24px}.welcome.paused h1{font-size:64px}}
