:root{color:#f5f4ee;font-synthesis:none;background:#0d1118;font-family:Inter,Segoe UI,Microsoft YaHei,sans-serif}*{box-sizing:border-box}html,body,#root{min-width:320px;min-height:100%;margin:0}body{min-height:100vh;overflow-x:hidden}button{font:inherit}main{grid-template-rows:auto minmax(520px,1fr) auto;gap:18px;width:min(1440px,100%);min-height:100vh;margin:0 auto;padding:28px clamp(16px,4vw,64px) 22px;display:grid}.hero,footer{justify-content:space-between;align-items:end;gap:24px;display:flex}.hero h1{letter-spacing:-.055em;margin:4px 0 2px;font-size:clamp(30px,5vw,62px)}.eyebrow{color:#5cefe0;letter-spacing:.18em;margin:0;font-size:12px}.subtitle{color:#9da7b5;margin:0}.status{color:#c7ced8;white-space:nowrap;border:1px solid #2d3949;border-radius:999px;padding:10px 14px;font-size:13px}.status span{background:#51e0a2;border-radius:50%;width:8px;height:8px;margin-right:8px;display:inline-block;box-shadow:0 0 14px #51e0a2}.viewer{background:#151c25;border:1px solid #283241;border-radius:24px;min-height:520px;position:relative;overflow:hidden;box-shadow:0 22px 60px #0007}.viewer canvas,.fallback{width:100%;height:100%;display:block}.fallback{object-fit:cover;min-height:520px}.loading{color:#071016;background:#5cefe0;border-radius:999px;padding:10px 14px;font-weight:700}.controls{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#0a0e14d9;border:1px solid #ffffff1c;border-radius:18px;justify-content:space-between;align-items:end;gap:12px;padding:14px;display:flex;position:absolute;bottom:18px;left:18px;right:18px}.control-group{gap:8px;display:grid}.control-group>span{color:#93a0af;text-transform:uppercase;letter-spacing:.14em;font-size:11px}.button-row{flex-wrap:wrap;gap:7px;display:flex}.controls button{color:#d7dde6;cursor:pointer;background:#161e28;border:1px solid #354152;border-radius:10px;padding:8px 12px;transition:all .2s}.controls button:hover,.controls button:focus-visible,.controls button.active{color:#071016;background:#5cefe0;border-color:#5cefe0;outline:none}.compact{grid-template-columns:1fr 1fr}footer{color:#778394;align-items:center;font-size:12px}@media (max-width:640px){main{grid-template-rows:auto minmax(520px,72vh) auto;padding:18px 12px}.hero{align-items:flex-start}.status{display:none}.viewer{border-radius:18px;min-height:520px}.controls{display:grid;bottom:10px;left:10px;right:10px}.compact{grid-template-columns:1fr 1fr}footer{flex-direction:column;align-items:flex-start;gap:4px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important}}
