:root{--ink:#1d1b18;--ink-soft:#5d574e;--paper:#faf7f1f0;--line:#1d1b1824;--accent:#2f5d50;color:var(--ink);font-family:Inter,Helvetica Neue,Helvetica,Arial,sans-serif}html,body{background:#14130f;height:100%;margin:0;overflow:hidden}#app,#app canvas{width:100%;height:100%;display:block;position:fixed;inset:0}#app canvas{cursor:grab}#app canvas:active{cursor:grabbing}.panel{background:var(--paper);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:14px;flex-direction:column;width:min(330px,100vw - 32px);max-height:calc(100dvh - 32px);display:flex;position:fixed;top:16px;left:16px;box-shadow:0 10px 40px #00000059}.panel__header{justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;display:flex}.panel__header h1{letter-spacing:-.01em;margin:0;font-size:16px;font-weight:650}.panel__collapse{color:var(--ink-soft);font:inherit;cursor:pointer;background:0 0;border:0;padding:4px 6px;font-size:13px}.panel__body{border-top:1px solid var(--line);padding:0 16px 14px;overflow-y:auto}.panel--collapsed .panel__body{display:none}.panel__section{border-bottom:1px solid var(--line);padding:14px 0}.panel__section h2{letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft);justify-content:space-between;align-items:baseline;margin:0 0 8px;font-size:12px;font-weight:650;display:flex}.panel__description,.panel__note,.panel__footer p{color:var(--ink-soft);margin:0 0 10px;font-size:13px;line-height:1.45}.panel__note{min-height:1em;margin:10px 0 0}.panel__note:empty{display:none}.panel__footer{padding-top:14px}.chips{flex-wrap:wrap;gap:6px;display:flex}.chip{border:1px solid var(--line);color:var(--ink);font:inherit;cursor:pointer;background:#fff;border-radius:999px;align-items:center;gap:7px;padding:7px 11px;font-size:13px;transition:background .15s,border-color .15s,color .15s;display:inline-flex}.chip:hover{border-color:var(--accent)}.chip--selected{background:var(--accent);border-color:var(--accent);color:#fff}.chip--wide{-webkit-user-select:none;user-select:none;touch-action:none;justify-content:center;width:100%}.chip:disabled{opacity:.45;cursor:default;border-color:var(--line)}.chip--quiet{background:0 0}.chip__swatch{border:1px solid #00000040;border-radius:50%;flex:none;width:14px;height:14px}.link{font:inherit;letter-spacing:0;text-transform:none;color:var(--accent);cursor:pointer;background:0 0;border:0;padding:0;font-size:12px;font-weight:500;text-decoration:underline}.loading{z-index:20;color:#f3efe6;background:#14130f;flex-direction:column;justify-content:center;align-items:center;gap:18px;transition:opacity .5s;display:flex;position:fixed;inset:0}.loading h1{margin:0;font-size:22px;font-weight:600}.loading__track{background:#ffffff29;border-radius:2px;width:min(320px,70vw);height:4px;overflow:hidden}.loading__bar{background:#d9c8a0;width:0;height:100%;transition:width .2s}.loading__label{color:#f3efe6b3;text-align:center;max-width:80vw;margin:0;font-size:14px}.loading--failed .loading__track{display:none}.loading--done{opacity:0;pointer-events:none}.vr-button{background:var(--paper);color:var(--ink);font:inherit;cursor:pointer;border:0;border-radius:999px;padding:11px 16px;font-size:14px;font-weight:600;position:fixed;bottom:16px;right:16px;box-shadow:0 6px 24px #00000059}.debug{color:#d7f5d0;white-space:pre;pointer-events:none;background:#000000b3;border-radius:8px;padding:8px 10px;font:12px/1.5 ui-monospace,Menlo,monospace;position:fixed;top:16px;right:16px}@media (max-width:640px){.panel{width:calc(100vw - 24px);max-height:46dvh;top:auto;bottom:12px;left:12px}.vr-button{top:12px;bottom:auto;right:12px}}
