:root{font-family:"Segoe UI","Microsoft YaHei",sans-serif;color:#f0eee7;background:#1b2637;font-synthesis:none;--sky-top:#a8c6cd;--sky-bottom:#e1e7d6;--panel:rgba(26,35,41,.91);--muted:#b5c0c0;--gold:#d5bd87}*{box-sizing:border-box}body{margin:0}main{height:100dvh;min-height:650px;position:relative;overflow:hidden;background:linear-gradient(var(--sky-top),var(--sky-bottom))}#scene{position:absolute;inset:0 0 195px}#scene canvas{display:block;width:100%;height:100%;touch-action:none}header{position:absolute;inset:28px 34px auto;display:flex;gap:15px;align-items:center;pointer-events:none;text-shadow:0 1px 15px #16242c77}h1{font-family:"Microsoft YaHei",serif;font-size:25px;font-weight:500;letter-spacing:4px;margin:7px 0}h1 span{font:14px "Segoe UI","Microsoft YaHei",sans-serif;letter-spacing:2px;margin-left:22px;padding-left:22px;border-left:1px solid #ffffff50}.eyebrow{font-size:12px;letter-spacing:2px;margin:0;color:inherit;opacity:.75}.seal{background:#855344;color:#eee1cb;width:43px;height:48px;display:grid;place-items:center;font-family:serif;font-size:28px;border:1px solid #e3bb7d99}.local{margin-left:auto;border:1px solid #ffffff40;padding:6px 12px;font-size:12px;border-radius:20px;background:#1a273422}.settings{position:absolute;right:30px;top:125px;width:195px;border:1px solid #ffffff1c;background:var(--panel);padding:22px;border-radius:12px;box-shadow:0 14px 40px #10152118}.settings .eyebrow{margin-bottom:20px}.switch-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px;font-size:14px;gap:12px}input[type=checkbox]{width:18px;height:18px;accent-color:var(--gold);cursor:pointer}.divider{border-top:1px solid #ffffff16;margin:20px 0}.settings>label{font-size:14px}select,button{font:inherit;color:inherit}select{background:#28353b;border:1px solid #ffffff23;border-radius:6px;padding:8px;font-size:13px;cursor:pointer}.settings select{width:100%;margin-top:10px}.hint{font-size:12px;line-height:1.9;color:var(--muted);margin:15px 0}.subtle{border:0;background:transparent;padding:0;color:var(--gold);font-size:13px;cursor:pointer}.scene-note{position:absolute;left:35px;bottom:217px;display:flex;gap:18px;font-size:12px;color:#f8f3e6;background:#22303988;padding:10px 14px;border-radius:7px}#phase{border-right:1px solid #ffffff44;padding-right:18px;color:#ead4a8}.timeline{position:absolute;bottom:0;left:0;right:0;background:var(--panel);border-top:1px solid #ffffff1c;padding:21px 35px 15px;backdrop-filter:blur(18px)}.timeline-top{display:flex;align-items:center;justify-content:space-between;gap:24px}.clock{display:flex;align-items:center;gap:18px;min-width:265px}.clock output{font-size:38px;letter-spacing:-1px;font-variant-numeric:tabular-nums;font-weight:300}.clock>span{font-size:13px;color:var(--muted)}button{cursor:pointer}.presets{display:flex;gap:8px}.presets button{border:1px solid #ffffff1b;border-radius:7px;background:#ffffff04;padding:9px 15px;font-size:14px;white-space:nowrap}.presets button small{display:block;font-size:11px;color:var(--muted);margin-top:3px;font-variant-numeric:tabular-nums}.presets button:hover,.presets button.active{border-color:#d5bd8777;background:#d5bd8718;color:#e8d3a3}.playback{display:flex;gap:10px;align-items:center}.playback button{border:1px solid #d5bd8780;background:#d5bd8720;border-radius:50%;height:39px;width:39px;color:#e6d1a0;font-size:14px}.range-wrap{margin-top:19px}#hour{appearance:none;width:100%;height:7px;border-radius:8px;display:block;margin:0;background:linear-gradient(90deg,#304262 0%,#576482 19%,#e5a680 26%,#d8dccc 40%,#d8dccc 60%,#e9a071 73%,#77718c 80%,#304262 100%);cursor:ew-resize}#hour::-webkit-slider-thumb{appearance:none;width:17px;height:17px;border:3px solid #f8edd6;background:#817963;border-radius:50%;box-shadow:0 0 0 4px #d5bd8719}#hour::-moz-range-thumb{width:12px;height:12px;border:3px solid #f8edd6;background:#817963;border-radius:50%}.ticks{display:flex;justify-content:space-between;margin-top:10px;color:var(--muted);font-size:12px;font-variant-numeric:tabular-nums}.ticks i{font-style:normal;color:#dac197;margin-left:7px}footer{display:flex;justify-content:space-between;gap:15px;margin-top:15px;border-top:1px solid #ffffff10;padding-top:12px;font-size:11px;color:#a0afb1}#status{position:absolute;left:50%;top:45%;transform:translate(-50%,-50%);padding:16px 25px;background:var(--panel);border-radius:8px;font-size:14px}#status[hidden]{display:none}button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid #f1d493;outline-offset:4px}
.settings{max-height:calc(100% - 350px);overflow-y:auto;scrollbar-width:thin;scrollbar-color:#73837c #253238}.water-controls{font-size:13px}.water-controls summary{cursor:pointer;color:var(--gold);margin-bottom:14px}.water-controls>label:not(.switch-row){display:flex;justify-content:space-between;gap:12px;font-size:12px}.water-controls output{color:var(--muted);font-variant-numeric:tabular-nums}.water-controls input[type=range]{width:100%;height:5px;display:block;margin:12px 0 19px;accent-color:var(--gold);cursor:pointer}.water-controls .switch-row{font-size:12px}.water-controls .subtle{font-size:12px}
@media(max-width:1000px){.clock{min-width:auto}.clock>span{display:none}.presets button{padding:8px 12px}.settings{right:20px;width:170px;padding:17px}.timeline{padding-left:23px;padding-right:23px}.playback select{width:100px}.timeline-top{gap:15px}}
@media(max-width:640px){main{min-height:720px}header{inset:20px 18px auto;gap:10px}.eyebrow{font-size:10px}h1{font-size:20px;letter-spacing:2px}h1 span{display:none}.seal{width:34px;height:40px}.local{font-size:10px}.settings{top:95px;right:12px;width:135px;padding:12px}.settings .eyebrow{margin-bottom:12px}.switch-row{font-size:12px;margin-bottom:10px}.settings .hint{display:none}.divider{margin:12px 0}.settings select{font-size:12px;padding:5px}.subtle{margin-top:12px}.timeline{padding:14px 17px}.timeline-top{flex-wrap:wrap;gap:10px}.clock output{font-size:30px}.presets{order:3;width:100%;justify-content:space-between}.presets button{flex:1;font-size:12px;padding:7px 8px}.presets button small{display:inline;margin-left:5px;font-size:10px}.playback select{width:auto}.playback button{height:32px;width:32px}.range-wrap{margin-top:18px}.ticks i{display:none}footer{font-size:10px}footer span:last-child{display:none}#scene{bottom:225px}.scene-note{left:15px;bottom:240px;font-size:10px}.settings>label{font-size:12px}}
