:root{color-scheme:light;font-family:Inter,Helvetica Neue,Arial,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--paper: #e9e5dd;--bg: var(--paper);--ink-fallback: black;--ink: var(--ink-fallback);--muted: color-mix(in srgb, var(--ink) 60%, var(--bg));--nav-font-size: clamp(13.333px, .9vw, 20px)}@supports (color: contrast-color(red)){:root{--ink: contrast-color(var(--bg))}}*{box-sizing:border-box}html,body{width:100%;height:100%;margin:0}body{overflow:hidden;color:var(--ink);background:var(--bg);transition:background-color .6s ease,color .6s ease}.viewer{position:relative;width:100%;height:100%;height:100dvh;touch-action:none}#scene{position:absolute;top:0;right:0;bottom:0;left:0;display:block;width:100%;height:100%;touch-action:none}.footer{position:absolute;z-index:4;top:max(16px,env(safe-area-inset-top));right:max(24px,env(safe-area-inset-right));display:flex;justify-content:flex-end;align-items:center;pointer-events:auto}.actions{display:flex;gap:8px}.about-overlay{position:absolute;z-index:3;top:0;right:0;bottom:0;left:0;display:flex;align-items:flex-start;justify-content:center;overflow-y:auto;padding:max(16px,env(safe-area-inset-top)) 16px max(16px,env(safe-area-inset-bottom));color:#fff;background:#0000007f;cursor:pointer;touch-action:manipulation;overscroll-behavior:contain}.about-overlay[hidden]{display:none}.viewer[data-help=true] .footer button{color:#fff}#about-toggle[aria-expanded=true] .when-closed,#about-toggle[aria-expanded=false] .when-open{display:none}#about-toggle{width:36px;padding:0;text-align:center}.about-content{width:min(100%,640px);margin:auto;font-size:var(--nav-font-size);line-height:1.5;text-align:center}.about-content img{display:inline-block;max-width:100%;max-height:18dvh;object-fit:contain;image-rendering:pixelated}.about-content p{margin:0 0 .65em}.hints{display:grid;grid-template-columns:auto auto auto;column-gap:.5em;row-gap:.2em;width:max-content;max-width:100%;margin:0 auto .65em}.hints div{display:contents}.hints dt{font-weight:700;text-align:right}.hints dd{margin:0;text-align:left}.hints .leader{overflow:hidden;white-space:nowrap;opacity:.6}.hints .leader:before{content:"・・・・・・・・"}.touch-only{display:none}@media(pointer:coarse){.touch-only{display:block}.mouse-only{display:none}}.about-content p:last-child{margin-bottom:0}.about-content small{font-size:inherit}.model-navigation{position:absolute;z-index:1;bottom:max(20px,env(safe-area-inset-bottom));left:50%;display:flex;flex-direction:column;align-items:center;gap:0;transform:translate(-50%)}.viewer[data-help=true] .model-navigation{opacity:0;pointer-events:none}.model-navigation-buttons{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:16px}.model-navigation-buttons>button:first-child{justify-self:end}.model-navigation-buttons>button:last-child{justify-self:start}.model-name{min-height:42px;margin:0;padding:0 10px;line-height:42px;font-size:var(--nav-font-size);letter-spacing:.08em}.model-name:empty:before{content:var(--model-name, "")}button{min-height:42px;padding:0 10px;border:0;font-size:var(--nav-font-size);color:var(--ink);background:transparent;cursor:pointer;letter-spacing:.08em;touch-action:manipulation;transition:color .6s ease}button:hover{opacity:.65}.icon{display:block;width:1.15em;height:1.15em;fill:currentColor}@media(prefers-reduced-motion:reduce){body,button{transition:none}}button[aria-pressed=true]{font-weight:800}#gallery-toggle{display:grid;place-items:center;width:42px;height:42px;padding:0}#gallery-toggle .gallery-icon{display:block;width:1.25em;height:1.25em;background-color:currentColor;-webkit-mask:url(../assets/images/thumbnails.svg) center / contain no-repeat;mask:url(../assets/images/thumbnails.svg) center / contain no-repeat}.model-navigation .model-name,.model-navigation #previous-model,.model-navigation #next-model{transition:opacity .5s ease,visibility .5s,color .6s ease}.viewer[data-gallery=true] .model-name,.viewer[data-gallery=true] #previous-model,.viewer[data-gallery=true] #next-model{opacity:0;visibility:hidden}#motion[data-playing=true] .icon-play,#motion[data-playing=false] .icon-pause,#sound[data-sound=true] .icon-sound-off,#sound[data-sound=false] .icon-sound-on,#sound[data-loading=true] .icon-sound-off,#sound[data-loading=true] .icon-sound-on,#sound[data-loading=false] .icon-loading{display:none}#sound[data-loading=true]{opacity:1}.icon-loading{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.icon-loading{animation:none}}.sound-wrap{position:relative;display:flex;align-items:center}.sound-tip{position:absolute;top:calc(100% + 8px);right:50%;padding:6px 10px;border:1.5px solid currentColor;border-radius:6px;font-size:var(--nav-font-size);letter-spacing:.04em;white-space:nowrap;transform:translate(50%) scale(0);transform-origin:50% -8px;visibility:hidden;pointer-events:none}.sound-tip:before{content:"";position:absolute;top:-5.5px;left:50%;width:8px;height:8px;border-top:1.5px solid currentColor;border-left:1.5px solid currentColor;background:var(--bg);transform:translate(-50%) rotate(45deg)}.sound-tip[data-visible=true]{visibility:visible;animation:tip-in .35s steps(5,jump-end) forwards}.sound-tip[data-visible=false]{visibility:visible;animation:tip-out .3s steps(4,jump-end) forwards}@keyframes tip-in{0%{transform:translate(50%) scale(0)}to{transform:translate(50%) scale(1)}}@keyframes tip-out{0%{transform:translate(50%) scale(1);visibility:visible}to{transform:translate(50%) scale(0);visibility:hidden}}button:disabled{cursor:wait;opacity:.55}button:focus-visible{outline:2px solid var(--ink);outline-offset:3px}.status{position:absolute;z-index:2;top:50%;left:50%;width:min(88vw,380px);transform:translate(-50%,-50%);text-align:center;color:var(--muted);font-size:12px;line-height:1.5;letter-spacing:.04em;pointer-events:none}.status[data-error=true]{color:#9b382a}.status-dots{display:none;font-family:ui-monospace,Menlo,Consolas,monospace;font-size:22px;letter-spacing:.15em;text-align:left}.status[data-loading=true] .status-dots{display:inline-block}.status[data-loading=true] .status-text{display:none}.status-dots i{font-style:normal;animation:1.2s steps(1,end) infinite}.status-dots i:nth-child(2){animation-name:dot-2}.status-dots i:nth-child(3){animation-name:dot-3}@keyframes dot-2{0%{opacity:0}25%,to{opacity:1}}@keyframes dot-3{0%,25%{opacity:0}50%{opacity:1}75%,to{opacity:0}}@media(prefers-reduced-motion:reduce){.status-dots i{animation:none}}@media(max-width:600px){:root{--nav-font-size: 12px}.footer{top:max(10px,env(safe-area-inset-top));right:max(12px,env(safe-area-inset-right))}.about-overlay{padding-right:12px;padding-left:12px}.about-content{line-height:1.35}.about-content img{max-height:12dvh}.about-content p{margin-bottom:.35em}.model-navigation{bottom:max(14px,env(safe-area-inset-bottom))}.model-navigation-buttons{gap:12px}.model-navigation-buttons>button,.model-name{padding-right:8px;padding-left:8px;letter-spacing:.04em}}.stats{position:absolute;z-index:2;top:max(12px,env(safe-area-inset-top));left:max(12px,env(safe-area-inset-left));margin:0;font:11px/1.5 ui-monospace,Menlo,Consolas,monospace;color:var(--ink);opacity:.85;cursor:pointer;touch-action:manipulation;user-select:none;-webkit-user-select:none}.tweak-pane{position:fixed;z-index:2;top:max(16px,env(safe-area-inset-top));left:max(16px,env(safe-area-inset-left));width:300px;max-height:calc(100dvh - 32px);overflow-y:auto}.tweak-swatch{display:inline-block;width:10px;height:10px;margin-right:8px;border-radius:2px;vertical-align:-1px;box-shadow:0 0 0 1px #ffffff40}
