.panorama-surface{position:fixed;right:var(--space-4, 16px);bottom:calc(var(--toolbar-height, 44px) + var(--space-4, 16px));z-index:40;display:flex;flex-direction:column;gap:var(--space-2, 8px);padding:var(--space-3, 12px);border:1px solid var(--line, #3b424b);border-radius:var(--radius, 4px);background:var(--panel, #181b1f);color:var(--text, #eff1f4);box-shadow:0 12px 32px #00000073;font-size:13px}.panorama-surface-heading,.panorama-toolbar{display:flex;align-items:center;gap:var(--space-2, 8px)}.panorama-surface-heading{justify-content:space-between;font-weight:600}.panorama-pose{margin-left:auto;padding:2px var(--space-2, 8px);border:1px solid var(--warning, #e6c477);border-radius:var(--radius, 4px);color:var(--warning, #e6c477)}.panorama-canvas{display:block;width:640px;height:400px;background:var(--bg, #101214);cursor:grab;touch-action:none}.panorama-canvas:active{cursor:grabbing}.panorama-canvas:focus-visible{outline:2px solid var(--focus, #8fc9ef);outline-offset:2px}.panorama-state,.panorama-empty{margin:0;color:var(--muted, #afb7c2)}.panorama-faces{display:grid;grid-template-columns:repeat(3,auto);gap:2px var(--space-3, 12px);margin:0;padding:0;list-style:none;font-family:var(--mono, monospace);font-size:12px}.published-panorama{margin-top:16px}.published-panorama label{display:grid;gap:8px}.published-panorama select{padding:8px;font:inherit}.published-panorama p{font-size:14px}@media(max-width:720px){.panorama-surface{right:8px;left:8px}.panorama-surface .panorama-canvas{width:min(640px,calc(100vw - 42px));height:min(400px,55vh)}}:root{font-family:system-ui,sans-serif;color:#dfe6f0;background:#101820}body{margin:0}main{max-width:760px;margin:auto;padding:32px}header{display:flex;justify-content:space-between;color:#8fd3cc}section{margin-top:60px;padding:32px;background:#192630;border-radius:12px}h1{font-size:28px}fieldset{border:0;padding:0}label{display:block;margin:18px 0}input{display:block;box-sizing:border-box;width:100%;padding:12px;margin-top:8px}button{padding:12px 18px;margin:8px 12px 8px 0;cursor:pointer}button:disabled{cursor:default}a{color:#8fd3cc}small,form p{color:#b5c5d3}.published-viewport iframe{border:0;width:100%;height:560px}
