:root{font-family:Arial,Helvetica,sans-serif;color:#e6f0f2;background:#071a26}*{box-sizing:border-box}body{margin:0}button,a{font:inherit}button{cursor:pointer;color:inherit}button:focus-visible,a:focus-visible{outline:3px solid #cce477;outline-offset:3px}#viewer{height:100dvh;min-height:430px;position:relative;overflow:hidden;background:#0c2638}#scene{position:absolute;inset:0}#scene canvas{display:block;width:100%;height:100%;touch-action:none}.viewer-top{position:absolute;top:24px;left:25px;right:25px;display:flex;justify-content:space-between;align-items:center;gap:15px;pointer-events:none}.kicker{font-size:9px;letter-spacing:1.8px;color:#93bbca;display:block}h1{font-size:27px;letter-spacing:3px;font-weight:500;margin:8px 0 0}h1 small{font-size:9px;letter-spacing:1px;color:#94b3c1;display:inline-block;margin-left:10px}h2{font-weight:500;font-size:23px;margin:9px 0}.status-pill{font-size:8px;letter-spacing:1px;border:1px solid #46707f;border-radius:25px;padding:8px 10px;color:#b9d8e2}.viewer-subtitle{position:absolute;top:89px;left:25px;font-size:10px;color:#99b4be}.viewer-tools{position:absolute;top:130px;left:25px;display:flex;flex-direction:column;gap:6px}.viewer-tools button{background:#0b2334d9;border:1px solid #416175;border-radius:7px;min-width:39px;height:35px;font-size:11px}.viewer-tools button[aria-pressed=true]{background:#a8d8df;color:#163744}.viewer-bottom{position:absolute;bottom:0;left:0;right:0;padding:15px 25px 14px;background:linear-gradient(transparent,#061721e8 35%)}.camera-views{display:flex;justify-content:center;gap:5px;margin:0 auto 15px;max-width:450px}.camera-views button{flex:1;min-height:35px;background:#0e2939bf;border:1px solid #365766;padding:7px 10px;border-radius:6px;color:#b0cbd4;font-size:11px}.camera-views button.active{background:#c9e7ed;color:#123642;border-color:#c9e7ed}.bottom-row{display:flex;align-items:center;justify-content:space-between;gap:10px}.bottom-row p{font-size:10px;color:#86a7b7;margin:0}.bottom-row button{background:none;border:0;padding:8px 0;color:#c2e4eb;font-size:11px}.model-limit{font-size:9px;line-height:1.5;color:#789aa8;margin:8px 0 0;max-width:850px}.hotspot{position:absolute;width:26px;height:26px;border-radius:50%;border:1px solid #c0e7ea;background:#0d3b4cde;box-shadow:0 0 0 5px #7cc1cf14;color:#d9f2ef;font-size:10px;transform:translate(-50%,-50%);pointer-events:auto}.hotspot:hover{background:#bee7eb;color:#123743}#selection{position:absolute;right:24px;top:128px;background:#0a2436ed;border:1px solid #426b7c;border-radius:10px;padding:20px;max-width:260px;box-shadow:0 12px 30px #0003}#selection p{font-size:12px;line-height:1.6;color:#b0cad4}#selection-status{font-size:10px;color:#cadb9c;display:block;margin-top:14px}#close-selection,#close-photos{background:none;border:0;font-size:23px;color:#d0e8ec;padding:0 4px}#close-selection{float:right}#photo-panel{position:absolute;inset:0;background:#0a2233f7;padding:24px;overflow:auto;z-index:10}.photo-heading{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:20px}.references{display:grid;grid-template-columns:1fr 1fr;gap:20px}figure{margin:0}figure img{width:100%;height:320px;object-fit:contain;background:#061722;border:1px solid #355465;border-radius:8px}figcaption{padding:15px 0;font-size:11px;line-height:1.6;color:#9abac8}figcaption strong{font-size:9px;letter-spacing:1px;color:#d8e6e8}figcaption a,.rights a{color:#c5e5eb}.rights{font-size:10px;line-height:1.5;color:#799ba8}.rights a{display:inline}#loader{position:absolute;top:47%;left:20%;right:20%;text-align:center;font-size:14px;color:#d1e4ea}#hotspots{position:absolute;inset:0;pointer-events:none}.webgl-error{padding:20px;background:#0a2638;border:1px solid #527486;line-height:1.6;border-radius:10px}
@media(max-width:600px){.viewer-top{left:16px;right:16px;top:17px;align-items:flex-start}.viewer-top h1{font-size:23px}.viewer-top h1 small{display:block;margin:6px 0 0;font-size:8px}.kicker{font-size:7px;letter-spacing:1.1px}.status-pill{font-size:7px;padding:7px;max-width:95px;text-align:center;line-height:1.6}.viewer-subtitle{left:16px;top:100px;font-size:8px}.viewer-tools{top:132px;left:16px}.viewer-tools button{height:32px;min-width:34px;font-size:10px}.viewer-bottom{padding:14px 14px 12px}.camera-views{gap:4px;margin-bottom:10px}.camera-views button{font-size:10px;padding:7px 6px;min-height:36px}.bottom-row p{font-size:8px}.bottom-row button{font-size:10px}.model-limit{font-size:8px;max-width:360px}#selection{top:127px;right:12px;max-width:215px;padding:15px}#selection h2{font-size:19px}#selection p{font-size:11px}.references{grid-template-columns:1fr;gap:15px}#photo-panel{padding:20px}figure img{height:300px}.photo-heading h2{font-size:21px}.hotspot{width:25px;height:25px}}

/* DT-02: quiet drafting-paper study */
:root{color:#304b5c;background:#eff5f7}#viewer{background:#eff5f7}.kicker,h1 small,.viewer-subtitle{color:#6e8897}.status-pill{color:#75909d;border-color:#c6d9e2}.viewer-tools button{background:#f8fcfbe8;border-color:#c6d9e2}.viewer-bottom{background:linear-gradient(transparent,#eff5f7eb 35%)}.camera-views button{background:#f7fafbbf;border-color:#ccdee6;color:#6c8898}.camera-views button.active{background:white;color:#355e71;border-color:#b6cfdb}.bottom-row p,.model-limit{color:#7893a2}.bottom-row button{color:#4f7489}#selection,#photo-panel{background:#f7fbfcee;color:#35556a;border-color:#c7dce6}#selection p,#selection-status,.rights,figcaption{color:#6d899a}#close-selection,#close-photos{color:#456b80}figure img{background:#e8f1f5;border-color:#c6dce5}figcaption strong,figcaption a,.rights a{color:#40667b}#loader{color:#5d7c8d}
