:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI","Microsoft YaHei",sans-serif;color:#e7edf3;background:#0c1219;font-size:16px;color-scheme:dark}*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at 50% -15%,#22374a 0,#111a24 35%,#0c1219 70%);min-height:100vh}header{padding:18px max(16px,calc((100vw - 980px)/2));display:flex;gap:14px;align-items:center;justify-content:space-between;border-bottom:1px solid #2c3c4b;background:#101923e8;backdrop-filter:blur(12px)}.title-row{display:flex;align-items:center;gap:12px}.title-row div{min-width:0}.monogram{background:linear-gradient(145deg,#78b9dd,#3e739c);color:#071018;border-radius:10px;padding:8px 10px;font:800 16px/1 ui-sans-serif,system-ui}h1{font-size:19px;line-height:1.25;margin:0}.title-row p{font-size:13px;color:#91a5b7;margin:4px 0 0}.status{font-size:12px;color:#a9c5d8;border:1px solid #36516a;border-radius:999px;padding:7px 10px;white-space:nowrap}nav{position:sticky;top:0;z-index:5;display:flex;justify-content:center;gap:8px;padding:10px;background:#0c1219e8;backdrop-filter:blur(12px);border-bottom:1px solid #263746}button,a,input{-webkit-tap-highlight-color:transparent}button{min-height:44px;padding:10px 17px;border:1px solid #3c5265;border-radius:10px;background:#17232f;color:#dbe6ef;font-family:inherit;font-size:14px;font-weight:700;cursor:pointer}nav button{min-width:140px;font-size:16px}button[aria-pressed=true],button.active{background:#dce8f0;color:#101923;border-color:#dce8f0}main{max-width:980px;margin:auto;padding:14px 14px 32px}figure{margin:0 0 16px;background:#111b25;border:1px solid #2c3b48;border-radius:15px;overflow:hidden;box-shadow:0 18px 50px #0004}figure img{display:block;width:100%;height:auto;background:#0a1118}.photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.photo-grid figure{margin:0}.photo-grid figcaption{padding:12px 13px}figcaption{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;font-size:15px;gap:12px}a{color:#77b9df;font-size:14px;text-underline-offset:4px}.hint{font-size:14px;line-height:1.65;color:#91a4b5}.stage{height:67vh;max-height:680px;min-height:380px;background:radial-gradient(ellipse at 46% 38%,#e9f1f6 0,#aebdca 35%,#526474 72%,#293744 100%);position:relative;border:1px solid #415466;border-radius:16px;overflow:hidden;box-shadow:0 24px 60px #0006}#viewport{position:absolute;inset:0}canvas{display:block;touch-action:none}.gesture{position:absolute;bottom:14px;left:0;right:0;text-align:center;font-size:13px;color:#1e3343;pointer-events:none;font-weight:700}#loading,#error{position:absolute;left:8%;right:8%;top:43%;padding:15px;background:#101923ef;border:1px solid #445d70;border-radius:11px;text-align:center;font-size:14px;line-height:1.6}#error{color:#ffc3b5}.view-buttons{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin:11px 0}.view-buttons button{padding:9px 5px}.controls{background:#111b25;border:1px solid #2d3d4b;border-radius:14px;padding:14px}#parts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.part,.switch{display:flex;align-items:center;gap:9px;min-height:46px;font-size:14px}.part{border:1px solid #304351;border-radius:9px;padding:9px 11px;background:#16232e}.part input,.switch input{width:19px;height:19px;accent-color:#5ca4cf}.dot{width:9px;height:9px;flex:none;border-radius:50%}.switch{margin-top:8px}.range-label{display:flex;justify-content:space-between;font-size:14px;margin:13px 0 4px;color:#b7c8d5}input[type=range]{width:100%;height:34px;accent-color:#5ca4cf}.reset{width:100%;margin-top:8px}.specs{border-top:1px solid #273846;padding:17px 2px 0;margin-top:20px}.specs h2{font-size:17px;margin:0 0 12px}.spec-grid{display:grid;grid-template-columns:auto 1fr;gap:8px 15px;background:#111b25;border:1px solid #2c3e4c;border-radius:12px;padding:14px;font-size:14px}.spec-grid span{color:#8fa5b6}.spec-grid b{font-weight:650}[hidden]{display:none!important}:focus-visible{outline:3px solid #6ab0d7;outline-offset:3px}@media(max-width:650px){header{padding:14px 15px}h1{font-size:17px}.status{font-size:12px;padding:6px 8px}main{padding:10px 9px 24px}.photo-grid{grid-template-columns:1fr}.stage{height:59vh;min-height:360px}nav button{min-width:132px}.view-buttons{grid-template-columns:repeat(2,minmax(0,1fr))}.controls{padding:12px}.part{padding:8px}.title-row p{max-width:205px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}}
