:root{--left: 380px;--gap: 12px;--v-accent: var(--accent);--v-canvas-bg: #444;--v-menu: #4d4e57;--v-menu-deep: #26272d;--v-text: #fdfdfd;--v-input-bg: #ffffff;--v-input-text: var(--ink);--v-divider: rgba(255, 255, 255, .26);--dark-blue: var(--panel);--dark-blue-transparent: var(--panel);--darker-blue: var(--bg);--border: var(--ink);--lighter-blue: var(--accent);--lightest-blue: var(--accent);--site-header-h: var(--header-h, 64px);--z-drawer: 950;--z-scrim: 900}html.dark-mode{--v-accent: var(--dm-accent);--v-menu: var(--dm-surface);--v-menu-deep: var(--dm-elevated);--v-text: var(--dm-text);--v-input-bg: var(--dm-bg-deep);--v-input-text: var(--dm-text);--v-divider: rgba(224, 228, 239, .16);--lighter-blue: var(--dm-accent);--lightest-blue: var(--dm-accent)}*{box-sizing:border-box}html,body{height:100%}body{margin:0;font-family:var(--ui-font)}body.viewport-shell{display:grid;grid-template-rows:1fr auto;min-height:100dvh}#page-main{min-height:0;overflow:hidden;z-index:auto}.viewer-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}#viewer-root{position:relative;height:100%;min-height:0;overflow:hidden;background:var(--dark-blue)}.left{position:absolute;top:var(--gap);right:var(--gap);bottom:var(--gap);width:var(--left);max-width:calc(100% - 2 * var(--gap));z-index:30;min-width:300px;overflow:auto;min-height:0;overscroll-behavior:contain;background:var(--v-menu);color:var(--v-text);border:3px solid var(--border);border-radius:var(--radius-md);box-shadow:0 6px 16px #0000002e;padding:.3rem .8rem}@media(min-width:801px){#sidebar:not([data-open]){display:none!important}}.left a{color:#fdfdfd;text-decoration:underline;text-underline-offset:2px}.left a:hover{opacity:.8}#stage{position:absolute;inset:0;background:var(--v-canvas-bg)}#stage>.r3f-root{width:100%!important;height:100%!important}#stage canvas{width:100%!important;height:100%!important;display:block}.viewer-actions{position:absolute;left:12px;bottom:12px;z-index:5;display:flex;gap:6px}.viewer-action-btn{width:38px;height:38px;display:inline-flex;align-items:center;justify-content:center;padding:0;color:var(--ink);background:var(--light-peach);border:3px solid var(--border);border-radius:var(--radius-sm);box-shadow:0 3px 0 var(--border);cursor:var(--cursor-pointer);transition:var(--transition-press)}.viewer-action-btn:hover{background:var(--accent);color:var(--offwhite)}.viewer-action-btn:active{transform:translateY(2px);box-shadow:0 1px 0 var(--border)}.viewer-action-btn[aria-pressed=true]{background:var(--accent);color:var(--offwhite)}.viewer-action-btn svg{width:20px;height:20px}html.dark-mode .viewer-action-btn{color:var(--dm-text)}.viewer-loading{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:6;display:flex;flex-direction:column;align-items:center;gap:8px;pointer-events:none}.viewer-loading[hidden]{display:none}.viewer-loading-track{width:180px;height:12px;background:#0000004d;border:2px solid var(--border);border-radius:var(--radius-pill);overflow:hidden}.viewer-loading-fill{height:100%;width:0%;background:var(--accent);transition:width .15s ease}.viewer-loading-text{font-family:var(--ui-font);font-weight:700;font-size:.85rem;color:var(--offwhite);text-shadow:0 1px 2px rgba(0,0,0,.6)}.panel{background:transparent;border:0;border-radius:0;box-shadow:none;padding:.55rem 0;margin:0}.panel+.panel{border-top:1px solid var(--v-divider)}.viewer-toc{position:sticky;top:var(--viewer-head-h, 3rem);z-index:4;display:flex;flex-wrap:wrap;gap:3px 14px;margin:0 -.8rem .2rem;padding:.35rem .8rem .45rem;background:var(--v-menu);border-bottom:1px solid var(--v-divider)}.viewer-toc .viewer-toc-item{font-size:.75rem;line-height:1.3;color:inherit;opacity:.8;text-decoration:none;cursor:var(--cursor-pointer);white-space:nowrap;transition:opacity var(--transition-fast, .15s)}.viewer-toc .viewer-toc-item:hover,.viewer-toc .viewer-toc-item:focus-visible{opacity:1;text-decoration:underline;text-underline-offset:2px}.left{scroll-padding-top:calc(var(--viewer-head-h, 3rem) + var(--viewer-toc-h, 3.4rem) + 8px)}.panel h2{margin:.1rem 0 .6rem;font-size:1.1rem;font-weight:600;color:var(--v-text);display:flex;align-items:center;gap:.5rem;cursor:var(--cursor-pointer, pointer);user-select:none}.panel h2:before{content:"\25be";display:inline-block;font-size:.75em;transition:transform .15s ease}.panel.collapsed h2{margin-bottom:0}.panel.collapsed h2:before{transform:rotate(-90deg)}.panel-body{overflow:hidden;transition:grid-template-rows .2s ease;display:grid;grid-template-rows:1fr}.panel.collapsed .panel-body{grid-template-rows:0fr}.panel-body>.panel-inner{overflow:hidden}.row{display:flex;align-items:center;gap:.5rem;margin:.4rem 0;flex-wrap:wrap}.row label{opacity:.9;min-width:78px}.left select,.left input[type=range],.left input[type=color],.left input[type=file],.left input[type=search],.left input[type=text],.left button{background:var(--v-input-bg);border:2px solid var(--border);color:var(--v-input-text);border-radius:var(--radius-sm);padding:.35rem .5rem;font:inherit;transition:background var(--transition-fast),color var(--transition-fast),border-color var(--transition-fast)}.left button:hover{background:var(--accent);color:#fff;border-color:var(--accent)}.left input[type=range]{width:220px;accent-color:var(--accent)}.left input[type=search]{flex:1 1 auto;min-width:0}.left input[type=search]::-webkit-search-cancel-button{cursor:var(--cursor-pointer)}.left input[type=checkbox]{accent-color:var(--v-menu-deep)}.value{font-variant-numeric:tabular-nums;opacity:.9;min-width:52px;text-align:right}.row-ctl{display:flex;flex-direction:column;align-items:stretch;gap:.1rem}.row-ctl>.ctl{display:flex;align-items:center;gap:.5rem}.row-ctl>.ctl>input[type=range]{flex:1 1 auto;min-width:0}.row-ctl>.ctl>.value{margin-left:auto;min-width:52px;text-align:right}.tabs button[data-active=true]{background:var(--v-menu-deep);border-color:var(--v-menu-deep);color:#fdfdfd}.muted{opacity:.75}.divider{height:1px;background:var(--v-divider);margin:.6rem 0;border-radius:var(--radius-xs)}.viewer-anim-notice{margin:.1rem 0 .4rem;font-size:.72rem;line-height:1.35;opacity:.7}.viewer-anim-notice[hidden]{display:none}#morphList{display:block}.morph-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0 .7rem}@media(max-width:520px){.morph-grid{grid-template-columns:1fr}}.anim-search-box{position:relative;flex:1 1 auto;min-width:0}.anim-search-box>input[type=search]{width:100%}.anim-search-results{position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:20;margin:0;padding:4px;list-style:none;max-height:244px;overflow-y:auto;background:var(--v-input-bg);color:var(--v-input-text);border:2px solid var(--border);border-radius:var(--radius-sm);box-shadow:0 8px 20px #00000059}.anim-search-results[hidden]{display:none}.anim-search-option{padding:.35rem .5rem;border-radius:var(--radius-xs);cursor:var(--cursor-pointer);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:.88rem}.anim-search-option:hover,.anim-search-option.is-active{background:var(--accent);color:#fff}.anim-search-empty{padding:.35rem .5rem;opacity:.7;font-size:.85rem}.viewer-clip-select{flex:1 1 auto;min-width:0}.viewer-playpause{flex:1 1 auto;font-weight:700}.morph-list-condensed .row.row-ctl{flex-direction:row;align-items:center;gap:.4rem;margin:.22rem 0}.morph-list-condensed .row.row-ctl>label{min-width:96px;font-size:.82rem;opacity:.9}.morph-list-condensed .row.row-ctl>.ctl{flex:1 1 auto;min-width:0}.morph-list-condensed .row.row-ctl .value{min-width:34px;font-size:.8rem}.morph-grid .row.row-ctl>label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}footer{padding:0 0 .5rem}.viewer-toast{position:fixed;top:1rem;left:50%;transform:translate(-50%);background:var(--offwhite);color:var(--ink);border:3px solid var(--ink);box-shadow:0 6px 0 var(--ink);padding:.6rem 1rem;border-radius:var(--radius-pill);z-index:99999;font-family:var(--ui-font);font-weight:600}html.dark-mode .viewer-toast{background:var(--dm-elevated);color:var(--dm-text)}.viewer-model-btns{display:contents}.viewer-help{display:inline-flex;align-items:center;margin-left:4px;color:var(--v-text);opacity:.45;cursor:help;vertical-align:middle}.viewer-help:hover,.viewer-help:focus-visible{opacity:.95;outline:none}.viewer-help svg{width:14px;height:14px}.viewer-help-pop{position:absolute;z-index:120;max-width:260px;padding:8px 10px;background:var(--v-menu-deep);color:var(--v-text);border:2px solid var(--ink);border-radius:var(--radius-sm);box-shadow:0 4px 0 var(--ink);font-size:12px;line-height:1.4}.viewer-help-pop[hidden]{display:none}.viewer-reset-all-row{display:flex;padding:.3rem 0 .2rem}#resetAll{flex:1 1 auto;font-weight:700;letter-spacing:.4px;background:var(--accent);color:#fff;border-color:var(--accent)}#resetAll:hover{background:var(--v-menu-deep);color:#fff;border-color:var(--v-menu-deep)}.panel h2 .panel-reset{margin-left:auto;font-size:.7rem;font-weight:700;padding:.12rem .5rem;letter-spacing:.3px}.row-spaced-sm{margin-top:.3rem}.row-spaced-xs{margin-top:.2rem}.row--wrap{flex-wrap:wrap}.viewer-color-swatch{width:46px;height:40px;padding:0;border:2px solid var(--ink);border-radius:6px;cursor:var(--cursor-pointer)}.viewer-color-mini{width:46px;height:34px;padding:0;border:2px solid var(--ink);border-radius:6px;cursor:var(--cursor-pointer)}.viewer-fullwidth-strong{min-width:100%}.viewer-pushright{margin-left:auto}.viewer-row-label--indent{margin-left:.5rem}.viewer-hint-small{font-size:.85rem}.viewer-hint-list{font-size:.75rem;margin:.2rem 0;padding-left:1.2rem;list-style:none}.viewer-bone-select{min-width:220px}.sidebar-tools{display:flex;justify-content:flex-end;align-items:center;padding:.15rem 0 .5rem;border-bottom:1px solid var(--v-divider)}.viewer-detach-btn{padding:.45rem 1.1rem;border:2px solid var(--border);border-radius:var(--radius-sm);background:var(--v-input-bg);color:var(--v-input-text);font-size:.8rem;font-weight:700;letter-spacing:.4px;cursor:var(--cursor-pointer);transition:background var(--transition-fast),color var(--transition-fast),transform var(--transition-fast)}.viewer-detach-btn:hover{background:var(--accent);color:#fff;border-color:var(--accent);transform:translateY(-1px)}.viewer-detach-btn:active{transform:translateY(1px)}.viewer-panel-bar{display:none;align-items:center;justify-content:center;height:24px;margin-bottom:8px;background:var(--v-menu-deep);border-radius:6px 6px 0 0;cursor:var(--cursor-grab);user-select:none;-webkit-user-select:none;touch-action:none}.viewer-panel-bar:active{cursor:var(--cursor-grabbing)}.viewer-panel-bar-label{font-size:.7rem;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:#fdfdfd}.left.floating{position:fixed;width:var(--left, 380px);max-height:calc(100dvh - 24px);z-index:1500;background:var(--v-menu);border:3px solid var(--border);border-radius:var(--radius-md);box-shadow:0 12px 28px #00000073;padding:8px 12px;overflow:auto}.left.floating .viewer-panel-bar{display:flex}.layout.panel-floating{grid-template-columns:1fr!important}.layout.panel-floating .left{display:block}body.viewport-shell footer,body.viewport-shell [data-append-footer]{font-size:.72rem;padding-top:0;padding-bottom:0}body.viewport-shell footer *{line-height:1.2}.panel-toggle{display:none}.scrim[hidden]{display:none!important}@media(max-width:800px){.panel-toggle{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;width:44px;height:40px;position:fixed;top:calc(var(--site-header-h) + 10px);right:12px;z-index:calc(var(--z-drawer) + 1);padding:0;background:var(--light-peach);border:3px solid var(--border);border-radius:var(--radius-sm);box-shadow:0 3px 0 var(--border);cursor:var(--cursor-pointer);transition:var(--transition-press)}.panel-toggle:active{transform:translateY(2px);box-shadow:0 1px 0 var(--border)}.panel-toggle-icon{width:22px;height:22px;color:var(--ink)}html.dark-mode .panel-toggle-icon{color:var(--dm-text)}.panel-toggle-close,body.menu-open .panel-toggle-open{display:none}body.menu-open .panel-toggle-close{display:block}.sidebar-tools{display:none}.layout{grid-template-columns:1fr!important;overflow:visible}.right{grid-column:1 / -1}.left#sidebar{position:fixed;top:calc(var(--site-header-h) + var(--gap));bottom:var(--gap);right:0;width:min(92vw,360px);max-width:92vw;z-index:var(--z-drawer);background:var(--v-menu);border:0;border-left:1px solid var(--border);box-shadow:-20px 0 40px #00000073;overflow:auto;transform:translate(100%);transition:transform .28s ease;border-radius:var(--radius-md) 0 0 var(--radius-md);padding:.3rem .9rem}.scrim{position:fixed;z-index:var(--z-scrim);left:0;right:0;top:var(--site-header-h);bottom:0;background:#00000080;opacity:0;pointer-events:none;transition:opacity var(--transition-medium)}body.menu-open .left#sidebar{transform:translate(0)}body.menu-open .scrim{opacity:1;pointer-events:auto}}.viewer-fs-settings,.fs-settings-close{display:none}body.viewer-fullscreen .viewer-fs-settings{display:inline-flex;align-items:center;justify-content:center;position:absolute;top:12px;right:12px;z-index:calc(var(--z-drawer) + 1);width:40px;height:40px;padding:0;color:var(--ink);background:var(--light-peach);border:3px solid var(--border);border-radius:var(--radius-sm);box-shadow:0 3px 0 var(--border);cursor:var(--cursor-pointer);transition:var(--transition-press)}body.viewer-fullscreen .viewer-fs-settings:active{transform:translateY(2px);box-shadow:0 1px 0 var(--border)}.viewer-fs-settings svg{width:22px;height:22px}html.dark-mode .viewer-fs-settings{color:var(--dm-text)}body.viewer-fullscreen.menu-open .fs-settings-open{display:none}body.viewer-fullscreen.menu-open .fs-settings-close{display:block}body.viewer-fullscreen .layout{grid-template-columns:1fr;overflow:visible;padding:0;gap:0}body.viewer-fullscreen #page-main{overflow:hidden}body.viewer-fullscreen .right{grid-column:1 / -1;border-radius:0}body.viewer-fullscreen #stage,body.viewer-fullscreen #stage canvas{border:0;border-radius:0}body.viewer-fullscreen .sidebar-tools{display:none}body.viewer-fullscreen .left#sidebar{position:fixed;top:var(--gap);bottom:var(--gap);right:0;width:min(92vw,380px);max-width:92vw;z-index:var(--z-drawer);background:var(--v-menu);border:0;border-left:1px solid var(--border);box-shadow:-20px 0 40px #00000073;overflow:auto;transform:translate(100%);transition:transform .28s ease;border-radius:var(--radius-md) 0 0 var(--radius-md);padding:.3rem .9rem}body.viewer-fullscreen.menu-open .left#sidebar{transform:translate(0)}body.viewer-fullscreen .scrim,body.viewer-fullscreen.menu-open .scrim{position:fixed;z-index:var(--z-scrim);inset:0;background:transparent;opacity:0;pointer-events:none}.capture-dialog{width:min(92vw,420px);border:3px solid var(--border);border-radius:var(--radius);box-shadow:0 10px 0 var(--border);background:var(--v-menu);color:var(--v-text);padding:18px;font-family:var(--ui-font)}.capture-dialog [hidden]{display:none!important}.capture-dialog select,.capture-dialog input[type=range]{background:var(--v-input-bg);color:var(--v-input-text);border:2px solid var(--border);border-radius:var(--radius-sm);font:inherit;padding:.3rem .45rem}.capture-dialog input[type=range]{padding:0;accent-color:var(--accent)}.capture-dialog input[type=checkbox]{accent-color:var(--v-menu-deep)}.capture-dialog::backdrop{background:#00000073}.capture-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.capture-head h2{margin:0;font-size:1.15rem}.capture-modes{display:flex;gap:6px}.capture-modes .btn[aria-pressed=true]{background:var(--accent);color:#fff}.capture-panel{display:flex;flex-direction:column;gap:10px;margin-bottom:12px}.capture-field{display:flex;align-items:center;gap:10px}.capture-field>span:first-child{flex:0 0 68px;font-weight:600}.capture-field select,.capture-field input[type=range]{flex:1 1 auto;min-width:0}.capture-val{flex:0 0 auto;font-variant-numeric:tabular-nums}#btnCustom:disabled{opacity:.45;cursor:not-allowed}.value-editable{cursor:var(--cursor-text, text);border-radius:4px;outline:none;transition:box-shadow var(--transition-fast, .15s)}.value-editable:hover{box-shadow:inset 0 -1px 0 currentColor}.value-editable:focus{box-shadow:0 0 0 2px var(--accent)}.capture-custom-size{display:flex;align-items:center;gap:6px;flex:1 1 auto}.capture-custom-size input[type=number]{width:5.5em;min-width:0}.capture-check{display:flex;align-items:flex-start;gap:8px;margin:4px 0 14px;cursor:var(--cursor-pointer)}.capture-note{font-size:.82rem;opacity:.7;margin:2px 0 0}em.capture-note{font-style:normal}.capture-error{color:var(--accent);font-size:.85rem;margin:0 0 12px}.capture-progress{display:flex;align-items:center;gap:10px;margin-bottom:12px}.capture-progress progress{flex:1 1 auto;height:12px}.capture-actions{display:flex;justify-content:flex-end;gap:8px}@media(min-width:801px){body:not(.menu-open) .viewer-fs-settings{display:inline-flex;align-items:center;justify-content:center;position:absolute;top:12px;right:12px;z-index:31;width:40px;height:40px;padding:0;color:var(--ink);background:var(--light-peach);border:2px solid var(--border);border-radius:var(--radius-circle);box-shadow:0 3px 0 var(--border);cursor:var(--cursor-pointer, pointer)}}.viewer-panel-head{position:sticky;top:0;z-index:3;background:var(--v-menu);align-items:center;gap:.5rem}.viewer-panel-close{flex:0 0 auto;align-self:stretch;aspect-ratio:1;display:inline-flex;align-items:center;justify-content:center;padding:0;color:var(--v-input-text);background:var(--v-input-bg)}.viewer-panel-close:hover{background:var(--accent);color:#fff;border-color:var(--accent)}.viewer-panel-close-icon{width:18px;height:18px}@media(max-width:800px){.viewer-panel-close{display:none}}body.viewer-fullscreen.menu-open .viewer-fs-settings{display:none}#captureDialog{position:absolute;left:var(--gap);top:var(--gap);margin:0;z-index:40;max-height:calc(100% - 2 * var(--gap));overflow:auto}@media(max-width:800px){#captureDialog{left:50%;transform:translate(-50%)}}.crop-overlay{position:absolute;inset:0;z-index:25;pointer-events:none;overflow:hidden}.crop-box{position:absolute;border:3px solid var(--ink);outline:2px solid rgba(255,255,255,.85);box-shadow:0 0 0 9999px #00000059;border-radius:2px}.crop-box--custom{pointer-events:auto;cursor:var(--cursor-grab, move);touch-action:none}.crop-badge{position:absolute;left:6px;top:6px;padding:.1em .5em;background:var(--ink);color:var(--offwhite);font-family:var(--ui-font);font-size:.8rem;border-radius:var(--radius-sm);white-space:nowrap;opacity:.85}.crop-handle{position:absolute;width:14px;height:14px;background:var(--offwhite);border:2px solid var(--ink);border-radius:3px;pointer-events:auto;touch-action:none}.crop-handle[data-h=nw]{left:-8px;top:-8px;cursor:nwse-resize}.crop-handle[data-h=n]{left:calc(50% - 7px);top:-8px;cursor:ns-resize}.crop-handle[data-h=ne]{right:-8px;top:-8px;cursor:nesw-resize}.crop-handle[data-h=e]{right:-8px;top:calc(50% - 7px);cursor:ew-resize}.crop-handle[data-h=se]{right:-8px;bottom:-8px;cursor:nwse-resize}.crop-handle[data-h=s]{left:calc(50% - 7px);bottom:-8px;cursor:ns-resize}.crop-handle[data-h=sw]{left:-8px;bottom:-8px;cursor:nesw-resize}.crop-handle[data-h=w]{left:-8px;top:calc(50% - 7px);cursor:ew-resize}

/*# sourceMappingURL=viewer.ecba7352.css.map */
