:root{color-scheme:dark;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC",sans-serif;color:#dbe4de;background:#0c1620;font-synthesis:none}
*{box-sizing:border-box}body{margin:0}button,input,a{font:inherit}button{border:1px solid #48615370;border-radius:7px;background:#172a22;color:#ccddd2;padding:8px 12px;font-size:12px;cursor:pointer;white-space:nowrap}button:hover:not(:disabled){background:#294235}button:disabled,input:disabled{opacity:.35;cursor:default}button:focus-visible,a:focus-visible,input:focus-visible,canvas:focus-visible{outline:2px solid #bcd598;outline-offset:3px}a{color:#aac9b4;text-decoration:none}a:hover{text-decoration:underline}[hidden]{display:none!important}
.viewer{height:100dvh;min-height:510px;position:relative;overflow:hidden}.stage{position:absolute;inset:0 0 124px}.stage canvas{width:100%;height:100%;display:block;touch-action:none;cursor:grab}.stage canvas.dragging{cursor:grabbing}header{position:absolute;top:18px;left:22px;right:22px;z-index:2;display:flex;justify-content:space-between;align-items:center;gap:16px}nav{display:flex;gap:3px;padding:3px;background:#0f211bc9;border:1px solid #37513c66;border-radius:9px}nav a{font-size:11px;white-space:nowrap;padding:7px 10px;border-radius:6px}nav a[aria-current]{background:#2c4434;color:#e0e8d8}.quiet{font-size:11px;background:#11211bd9}.empty{position:absolute;inset:90px 20px 45px;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;pointer-events:none}.empty h1{font-size:24px;font-weight:350;letter-spacing:.03em;color:#c1d1c8;margin:0 0 14px}.empty p{font-size:12px;color:#88a594;max-width:380px;line-height:1.7}.scene-label{position:absolute;left:23px;bottom:13px;display:flex;flex-direction:column;gap:5px;pointer-events:none;font-size:10px;color:#8eaaa0}.scene-label span:last-child{font-size:9px;color:#718d84}.message{position:absolute;top:63px;left:23px;right:23px;z-index:2;max-width:620px;margin:0;font-size:11px;line-height:1.7;color:#bacaae;pointer-events:none;overflow-wrap:anywhere}
.dock{position:absolute;left:50%;bottom:29px;transform:translateX(-50%);width:min(610px,calc(100% - 32px));padding:12px 15px;border:1px solid #4c694859;border-radius:13px;background:#12241fea;box-shadow:0 12px 38px #0005}.actions{display:flex;align-items:center;justify-content:center;gap:6px}.actions .primary{background:#bed0aa;color:#213223}.parameters{display:flex;align-items:center;justify-content:space-between;gap:30px;margin-top:12px;color:#99b19f;font-size:10px}.zoom{display:grid;grid-template-columns:1fr auto;flex:1;gap:4px 10px}.zoom input{grid-column:1/-1;width:100%;height:15px;margin:0;accent-color:#b7cc9f}.zoom output{font-variant-numeric:tabular-nums}.markers{display:flex;align-items:center;gap:5px;white-space:nowrap}.markers input{accent-color:#d9bc73}footer{position:absolute;bottom:8px;left:16px;right:16px;display:flex;justify-content:center;gap:14px;font-size:9px;color:#6f8c7b}
dialog{background:#111e19;color:#d3dfd5;border:1px solid #3d5445;border-radius:13px 0 0 13px;width:min(460px,calc(100vw - 18px));max-width:none;height:100dvh;max-height:none;margin:0 0 0 auto;padding:0}dialog::backdrop{background:#030806b0}.drawer-head{position:sticky;top:0;display:flex;justify-content:space-between;align-items:center;padding:18px 23px;background:#111e19f5;border-bottom:1px solid #2c4234}.drawer-head h2{font-size:16px;font-weight:500;margin:0}.drawer-content{padding:7px 23px 25px;font-size:12px;line-height:1.9;color:#a6baa9}.drawer-content h3{font-size:13px;color:#d4e2cd;border-top:1px solid #2c4032;padding-top:18px;margin-top:23px;font-weight:500}.drawer-content dl{display:grid;grid-template-columns:72px 1fr;gap:8px 12px}.drawer-content dt{color:#7f9b86}.drawer-content dd{margin:0;overflow-wrap:anywhere}.drawer-content a{overflow-wrap:anywhere}.revision{font-size:10px;color:#78917f}
@media(max-width:530px){header{top:12px;left:13px;right:13px;gap:8px}nav a{padding:7px 8px;font-size:10px}.quiet{padding:8px}.dock{padding:10px;width:calc(100% - 22px)}.actions{gap:4px;flex-wrap:wrap}.actions button{font-size:10px;padding:8px 9px}.parameters{gap:15px}.message{top:59px;left:15px;right:15px}.scene-label{left:16px}.stage{bottom:125px}footer{font-size:8px;gap:8px}.drawer-head{padding:16px}.drawer-content{padding:7px 17px 23px}}
@media(max-width:350px){.viewer{min-height:550px}.actions #export{order:5}.stage{bottom:153px}.dock{bottom:35px}footer{flex-direction:column;align-items:center;gap:2px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto}}
