@font-face{font-family:'Roboto Mono';src:url('./assets/roboto-mono-latin-400-normal.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
:root{color-scheme:dark;font-family:'DIN Mono','DIN Next Mono','Roboto Mono',monospace;font-size:12px;font-weight:400;background:#092b22;color:#d5ded6}
*{box-sizing:border-box}body{margin:0}button{font:inherit;color:inherit}#viewer{position:relative;width:100%;height:100svh;min-height:440px;overflow:hidden;background:#092b22}#model{display:block;width:100%;height:100%;touch-action:none;outline:none}#model:focus-visible{outline:1px solid #becfc0;outline-offset:-6px}header{position:absolute;inset:24px 28px auto;display:flex;align-items:center;justify-content:space-between;pointer-events:none;letter-spacing:.08em}button{cursor:pointer;-webkit-tap-highlight-color:transparent}#reset{pointer-events:auto;border:0;background:none;padding:12px 0 12px 16px;letter-spacing:.05em;opacity:.7}#reset:hover{opacity:1}button:focus-visible{outline:1px solid #e2ebe3;outline-offset:4px}.part-info,.details{position:absolute;bottom:85px;pointer-events:none;line-height:1.65}.part-info{left:28px}.details{right:28px;text-align:right;color:#a1b4a6}h1,p{margin:0;font-size:1rem;font-weight:400}h1{margin-bottom:5px;letter-spacing:.07em}.part-info p{color:#a1b4a6}.carousel{position:absolute;left:50%;bottom:69px;transform:translateX(-50%);display:flex;gap:12px}.part{position:relative;width:112px;padding:5px 7px 10px;border:1px solid transparent;border-radius:2px;background:transparent;text-align:left;color:#9daf9e;transition:border-color .18s,color .18s}.part.active{border-color:#6a8571;color:#e0e8de}.part:hover{border-color:#46644f}.part img{display:block;object-fit:contain;width:96px;height:72px}.part span{font-size:10px;letter-spacing:.04em;display:block;text-align:center}footer{position:absolute;inset:auto 28px 24px;display:flex;justify-content:space-between;gap:16px;color:#90a896;font-size:10px;letter-spacing:.035em;pointer-events:none}.touch-help{display:none}#loading,#error{position:absolute;left:50%;top:45%;transform:translate(-50%,-50%);font-size:11px;letter-spacing:.06em;text-align:center}#error{width:min(80%,400px);line-height:1.7;color:#e9dbba}[hidden]{display:none!important}
@media(pointer:coarse){.desktop-help{display:none}.touch-help{display:inline}}
@media(max-width:700px){header{inset:16px 18px auto}.part-info{left:18px;bottom:181px}.details{right:18px;bottom:181px;font-size:10px}.details p{font-size:10px}.carousel{bottom:58px;gap:10px}.part{width:102px;padding:3px 2px 9px}.part img{margin:auto}.part-info h1,.part-info p{font-size:11px}footer{inset:auto 18px 20px;font-size:9px;letter-spacing:0}#reset{font-size:10px}.part-info{line-height:1.6}}
@media(max-width:365px){.details p{font-size:9px}.part-info p{font-size:10px}header{font-size:11px}}
@media(max-height:550px) and (min-width:701px){.part-info,.details{bottom:62px}.carousel{bottom:44px}.part img{height:56px}.part{padding-bottom:6px}footer{bottom:16px}header{top:10px}}
@media(prefers-reduced-motion:reduce){.part{transition:none}}

.viewer-tools{display:flex;align-items:center;gap:22px;pointer-events:auto}#lighting-panel{display:flex;align-items:center;gap:9px;font-size:11px;letter-spacing:.025em}#lighting-panel label{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}#luminosity{width:132px;height:32px;margin:0;accent-color:#c2d1c4;cursor:pointer;touch-action:pan-y}#light-toggle{display:none;background:none;border:0;padding:12px;color:inherit}.lighting-end{font-size:10px;color:#a1b4a6}#luminosity:focus-visible{outline:1px solid #d5ded6;outline-offset:3px}
@media(max-width:700px){.viewer-tools{gap:4px}#light-toggle{display:flex;align-items:center;justify-content:center;width:44px;height:44px}#lighting-panel{display:none;position:fixed;top:76px;left:0;right:0;width:100%;padding:12px 20px;background:#0b3027f2;border-top:1px solid #355348;border-bottom:1px solid #355348;box-shadow:0 8px 20px #0002;z-index:5;gap:14px}#lighting-panel.open{display:flex}#luminosity{flex:1;min-width:0;width:auto;height:36px}.lighting-end{font-size:11px}}
