.model-viewer-page,.model-viewer-app{outline:none;flex:1;width:100%;height:100%;min-height:0;position:relative}.model-viewer-app:focus-visible{box-shadow:inset 0 0 0 2px var(--focus)}.model-viewer-stage{z-index:0;background:var(--background);position:absolute;inset:0;overflow:hidden}.model-viewer-hud-chrome{display:contents}.model-viewer-loading-underlay{z-index:2;pointer-events:none;position:absolute;inset:0;overflow:hidden}.model-viewer-context-banner{z-index:4;border:1px solid var(--color-border,#444);background:var(--color-bg,#f7f4ec);max-width:min(28rem,100% - 2rem);color:var(--color-fg,#1a1a1a);text-align:center;pointer-events:none;padding:.45rem .75rem;font-size:.85rem;position:absolute;top:.75rem;left:50%;transform:translate(-50%)}.model-viewer-load-error{z-index:4;border:1px solid var(--color-border,#444);background:var(--color-bg,#f7f4ec);max-width:min(28rem,100% - 2rem);color:var(--color-fg,#1a1a1a);text-align:center;pointer-events:auto;flex-wrap:wrap;justify-content:center;align-items:center;gap:.5rem .75rem;padding:.55rem .85rem;font-size:.85rem;display:flex;position:absolute;top:.75rem;left:50%;transform:translate(-50%)}.model-viewer-load-error-message{margin:0}.model-viewer-load-error-retry{appearance:none;cursor:pointer;border:1px solid var(--color-border,#444);color:inherit;font:inherit;background:0 0;padding:.25rem .65rem}.model-viewer-debug-overlay{z-index:5;color:var(--color-fg,#1a1a1a);background:color-mix(in srgb, var(--color-bg,#f7f4ec) 88%, transparent);pointer-events:none;white-space:pre;padding:.25rem .4rem;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.7rem;line-height:1.3;position:absolute;bottom:.5rem;right:.5rem}.model-viewer-canvas-layer{z-index:1;position:absolute;inset:0}.model-viewer-canvas{display:block;width:100%!important;height:100%!important}.model-viewer-hud{pointer-events:none;z-index:2;color:var(--text);text-shadow:0 1px 0 color-mix(in srgb, var(--background) 70%, transparent);flex-direction:column;justify-content:flex-start;padding:1rem 1.1rem 1.15rem;display:flex;position:absolute;inset:0}.model-viewer-hud--hidden .model-viewer-hud-chrome{opacity:0;visibility:hidden;pointer-events:none}.model-viewer-hud--hidden .model-viewer-hud-chrome a,.model-viewer-hud--hidden .model-viewer-hud-chrome button,.model-viewer-hud--hidden .model-viewer-hud-chrome .model-viewer-chip{pointer-events:none}.model-viewer-hud--fallback{pointer-events:auto;background:var(--background);justify-content:center;align-items:flex-start;gap:.75rem}.model-viewer-hud a,.model-viewer-hud button,.model-viewer-hud .model-viewer-chip{pointer-events:auto}.model-viewer-nameplate{border:1px solid color-mix(in srgb, var(--border) 80%, transparent);border-radius:var(--radius-medium);background:color-mix(in srgb, var(--surface) 90%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);max-width:16rem;text-shadow:none;padding:.55rem 2.15rem .7rem .75rem;position:relative}.model-viewer-eyebrow{letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);font-size:.65rem}.model-viewer-hud a.model-viewer-eyebrow-link{color:inherit;text-decoration:none}.model-viewer-hud a.model-viewer-eyebrow-link:hover,.model-viewer-hud a.model-viewer-eyebrow-link:focus-visible{color:var(--text);text-underline-offset:.12em;text-decoration:underline}.model-viewer-eyebrow-link:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.model-viewer-title{font-family:var(--font-source-serif), Georgia, serif;margin-top:.15rem;font-size:clamp(1.15rem,2vw,1.45rem);line-height:1.15}.model-viewer-blurb{color:var(--text-muted);margin-top:.25rem;font-size:.78rem;line-height:1.35}.model-viewer-controls{z-index:2;border:1px solid color-mix(in srgb, var(--border) 80%, transparent);background:color-mix(in srgb, var(--surface) 90%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);width:max-content;max-width:calc(100% - 2.2rem);text-shadow:none;border-radius:999px;flex-direction:column;gap:0;padding:.35rem;display:flex;position:absolute;top:1rem;right:1.1rem}.model-viewer-controls-actions{flex-wrap:nowrap;align-items:center;gap:.25rem;display:flex}.model-viewer-action{appearance:none;color:var(--text);font:inherit;white-space:nowrap;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:999px;margin:0;padding:.32rem .65rem;font-size:.72rem;line-height:1.2}.model-viewer-action:hover,.model-viewer-action:focus-visible{border-color:var(--border);background:color-mix(in srgb, var(--surface-muted) 80%, transparent);outline:none}.model-viewer-action:focus-visible{box-shadow:0 0 0 2px var(--focus)}.model-viewer-action[aria-pressed=true],.model-viewer-action[aria-expanded=true]{background:var(--surface-muted);border-color:var(--accent-muted)}.model-viewer-action-icon{justify-content:center;align-items:center;padding:.32rem .45rem;display:inline-flex}.model-viewer-action-icon svg{display:block}.model-viewer-settings-fieldset{border:0;min-inline-size:0;padding:0}.model-viewer-settings-options{flex-direction:column;gap:.45rem;margin-top:.65rem;display:flex}.model-viewer-settings-option{border:1px solid color-mix(in srgb, var(--border) 75%, transparent);cursor:pointer;border-radius:.55rem;align-items:flex-start;gap:.55rem;margin:0;padding:.45rem .55rem;display:flex}.model-viewer-settings-option:hover,.model-viewer-settings-option:focus-within{border-color:var(--accent-muted);background:color-mix(in srgb, var(--surface-muted) 70%, transparent)}.model-viewer-settings-option.is-disabled{opacity:.55;cursor:not-allowed}.model-viewer-settings-option input{margin-top:.15rem}.model-viewer-settings-option-copy{flex-direction:column;gap:.12rem;display:flex}.model-viewer-settings-option-label{font-size:.88rem;font-weight:600}.model-viewer-settings-option-hint{color:var(--text-muted);font-size:.75rem}.model-viewer-focus-bar{z-index:2;border:1px solid color-mix(in srgb, var(--border) 80%, transparent);background:color-mix(in srgb, var(--surface) 92%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:999px;flex-wrap:nowrap;align-items:center;gap:.2rem;width:max-content;max-width:calc(100% - 2.2rem);padding:.3rem;display:flex;position:absolute;bottom:1.15rem;right:1.1rem;overflow-x:auto}.model-viewer-chip{appearance:none;white-space:nowrap;color:var(--text);font:inherit;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:999px;flex:none;align-items:center;gap:.25rem;margin:0;padding:.3rem .55rem;font-size:.72rem;line-height:1.2;display:inline-flex}.model-viewer-chip:hover,.model-viewer-chip:focus-visible{border-color:var(--border);outline:none}.model-viewer-chip:focus-visible{box-shadow:0 0 0 2px var(--focus)}.model-viewer-chip.is-active{background:var(--surface-muted);border-color:var(--accent-muted)}.model-viewer-chip-key{border:1px solid var(--border);width:1rem;height:1rem;color:var(--text-muted);border-radius:.2rem;justify-content:center;align-items:center;font-size:.62rem;display:inline-flex}.model-viewer-credits{z-index:1;border:1px solid color-mix(in srgb, var(--border) 80%, transparent);border-radius:var(--radius-medium);background:color-mix(in srgb, var(--surface) 90%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);width:max-content;max-width:calc(100% - 16.2rem);text-shadow:none;color:var(--text-muted);padding:.4rem .6rem;font-size:.65rem;line-height:1.2;position:absolute;bottom:1.15rem;left:1.1rem}.model-viewer-credit-line{white-space:nowrap;margin:0}.model-viewer-info-btn{appearance:none;z-index:1;color:var(--text);cursor:pointer;background:0 0;border:0;border-radius:999px;justify-content:center;align-items:center;margin:0;padding:.15rem;line-height:0;display:inline-flex;position:absolute;bottom:.3rem;right:.35rem}.model-viewer-info-btn:hover,.model-viewer-info-btn:focus-visible{color:var(--text);outline:none}.model-viewer-info-btn:focus-visible{box-shadow:0 0 0 2px var(--focus)}.model-viewer-info-tip{z-index:2;border:1px solid color-mix(in srgb, var(--border) 80%, transparent);border-radius:var(--radius-medium);background:color-mix(in srgb, var(--surface) 96%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 4px 14px color-mix(in srgb, var(--text) 12%, transparent);color:var(--text);font:inherit;letter-spacing:.01em;white-space:nowrap;opacity:0;pointer-events:none;padding:.28rem .5rem;font-size:.68rem;font-weight:500;line-height:1.2;transition:opacity .14s,transform .14s;position:absolute;bottom:calc(100% + .4rem);right:0;transform:translateY(.15rem)}.model-viewer-info-tip:after{content:"";border:.28rem solid #0000;border-top-color:color-mix(in srgb, var(--surface) 96%, transparent);position:absolute;top:100%;right:.55rem}.model-viewer-info-btn:hover .model-viewer-info-tip,.model-viewer-info-btn:focus-visible .model-viewer-info-tip{opacity:1;transform:translateY(0)}@media (prefers-reduced-motion:reduce){.model-viewer-info-tip{transition:none}}@media (max-width:720px){.model-viewer-hud{padding-bottom:max(1.15rem, env(safe-area-inset-bottom,0px));justify-content:flex-start}.model-viewer-controls{align-self:flex-start;width:max-content;max-width:100%;margin-top:.55rem;position:static;inset:auto}.model-viewer-focus-bar{justify-content:center;align-self:center;width:max-content;max-width:100%;margin-top:auto;position:static;bottom:auto;left:auto;right:auto;overflow-x:auto}.model-viewer-credits{text-align:center;align-self:center;width:max-content;max-width:calc(100% - 2.2rem);margin-top:.55rem;padding:.3rem .55rem;position:static;bottom:auto;left:auto}.model-viewer-credit-line{white-space:normal;text-align:center}}.model-viewer-credits a{color:var(--text)}.model-viewer-loading{border:1px solid var(--border);border-radius:var(--radius-small);background:color-mix(in srgb, var(--surface) 92%, transparent);pointer-events:none;width:min(16rem,52vw);padding:.55rem .7rem;position:absolute;top:7.5rem;right:1.1rem}.model-viewer-loading-splash{width:100%;min-height:12rem;color:var(--text-muted);flex:1;justify-content:stretch;align-items:stretch;display:flex;position:relative;overflow:hidden}.model-viewer-loading-field{pointer-events:none;z-index:1;position:absolute;inset:0;overflow:hidden}.model-viewer-loading-field--hud{z-index:1}.model-viewer-loading-floater{border-radius:var(--radius-small);background:color-mix(in srgb, var(--surface) 78%, transparent);color:var(--text);letter-spacing:.01em;white-space:nowrap;will-change:transform, opacity;transform:translateY(-50%) translateX(var(--model-viewer-floater-x,50vw));animation:model-viewer-marquee var(--model-viewer-floater-life,3.4s) linear both;margin:0;padding:.2rem .55rem;font-size:clamp(.78rem,1.7vw,1rem);line-height:1.25;position:absolute;left:0}.model-viewer-loading-floater.is-static{opacity:.9;white-space:normal;text-align:center;animation:none;left:50%;transform:translate(-50%,-50%)}@keyframes model-viewer-marquee{0%{opacity:0;transform:translateY(-50%) translateX(var(--model-viewer-floater-x,50vw))}12%{opacity:1}78%{opacity:1}to{opacity:0;transform:translateY(-50%)translate(calc(-100% - 1.25rem))}}@media (prefers-reduced-motion:reduce){.model-viewer-loading-floater{opacity:.9;animation:none;left:50%;transform:translate(-50%,-50%)}}.model-viewer-loading-track{background:var(--surface-muted);border-radius:999px;height:.35rem;overflow:hidden}.model-viewer-loading-fill{background:var(--text);height:100%;transition:width .12s linear}.model-viewer-loading-label{color:var(--text-muted);margin-top:.35rem;font-size:.7rem}.model-viewer-dialog{pointer-events:auto;z-index:3;border:1px solid var(--border);border-radius:var(--radius-medium);background:var(--surface);width:min(28rem,100% - 2rem);max-height:min(70vh,34rem);text-shadow:none;padding:0;position:absolute;top:50%;left:50%;overflow:visible;transform:translate(-50%,-50%);box-shadow:0 12px 40px #0000002e}.model-viewer-dialog-body{border-radius:inherit;flex-direction:column;gap:.85rem;max-height:min(70vh,34rem);padding:1.1rem 1.15rem;display:flex;overflow:auto}.model-viewer-dialog-close{appearance:none;z-index:1;border:1px solid var(--border);background:var(--surface);width:2rem;height:2rem;color:var(--text);cursor:pointer;border-radius:999px;justify-content:center;align-items:center;margin:0;padding:0;line-height:0;display:inline-flex;position:absolute;top:-.7rem;right:-.7rem;box-shadow:0 4px 14px #00000024}.model-viewer-dialog-close:hover,.model-viewer-dialog-close:focus-visible{color:var(--text);outline:none}.model-viewer-dialog-close:focus-visible{box-shadow:0 0 0 2px var(--focus)}.model-viewer-dialog-close svg{width:1.05rem;height:1.05rem}.model-viewer-dialog h2{font-family:var(--font-source-serif), Georgia, serif;font-size:1.25rem}.model-viewer-dialog-lead{color:var(--text-muted);font-size:.9rem;line-height:1.45}.model-viewer-help-section{flex-direction:column;gap:.4rem;display:flex}.model-viewer-help-heading{letter-spacing:.07em;text-transform:uppercase;color:var(--text-muted);font-size:.68rem}.model-viewer-help-list{flex-direction:column;gap:.45rem;display:flex}.model-viewer-help-list>div{grid-template-columns:minmax(5.5rem,7.5rem) 1fr;align-items:baseline;gap:.55rem .85rem;display:grid}.model-viewer-help-list dt{color:var(--text);margin:0;font-size:.8rem;font-weight:600}.model-viewer-help-list dd{color:var(--text-muted);margin:0;font-size:.85rem;line-height:1.4}.model-viewer-help-list kbd{border:1px solid var(--border);font-family:var(--font-ibm-mono), ui-monospace, monospace;border-radius:.25rem;margin-right:.15rem;padding:.05rem .3rem;font-size:.7rem;display:inline-block}.model-viewer-then-now{flex-direction:column;gap:.65rem;margin-top:.15rem;display:flex}.model-viewer-then-now h3{letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted);font-size:.78rem;font-weight:600}.model-viewer-then-now-list{flex-direction:column;gap:.75rem;padding:0;list-style:none;display:flex}.model-viewer-then-now-list>li{border:1px solid color-mix(in srgb, var(--border) 85%, transparent);border-radius:var(--radius-medium);background:color-mix(in srgb, var(--background) 55%, transparent);flex-direction:column;gap:.35rem;padding:.55rem .65rem;display:flex}.model-viewer-then-now-row{grid-template-columns:3.25rem 1fr;align-items:start;gap:.45rem .55rem;font-size:.82rem;line-height:1.4;display:grid}.model-viewer-then-now-label{letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);padding-top:.12rem;font-size:.65rem;font-weight:600}.model-viewer-then{color:var(--text-muted)}.model-viewer-now{color:var(--text)}@media (prefers-reduced-motion:reduce){.model-viewer-loading-fill{transition:none}.model-viewer-hud--hidden{opacity:0}}
