.atlas,#info-dialog,#toast{color-scheme:dark;--a-bg:#04142c;--a-scene:#071d3f;--a-panel:#0c294d;--a-line:#315781;--a-text:#f2f8ff;--a-muted:#bdd8ef;--a-accent:#8ccbff}*{box-sizing:border-box}[hidden]{display:none!important}h1,h2,h3,p{margin:0}:where(.atlas,#info-dialog) :is(button,input){font:inherit}:where(.atlas,#info-dialog) button{color:var(--a-text);background:#123763;border:1px solid #527eac;border-radius:7px;padding:10px 14px;min-height:44px;line-height:1.3;cursor:pointer}:where(.atlas,#info-dialog) button:hover{background:#1d4e81}:where(.atlas,#info-dialog) button:disabled{opacity:.45;cursor:default}:where(.atlas,#info-dialog) button[aria-pressed=true]{background:#1a5588;border-color:#8ccbff}button:focus-visible,input:focus-visible,a:focus-visible{outline:3px solid #8ccbff;outline-offset:3px}:where(.atlas,#info-dialog) a{color:#8ccbff;text-underline-offset:3px}:where(.atlas,#info-dialog) a:hover{color:white}.compact{font-size:14px;padding:7px 11px;min-height:40px}.quiet{background:transparent;border-color:transparent;color:var(--a-muted)}.muted{color:var(--a-muted)}.atlas{border:1px solid #315e8d;border-radius:12px;overflow:hidden;background:var(--a-scene)}.model-header{display:flex;align-items:center;gap:26px;min-height:96px;padding:18px 20px;border-bottom:1px solid var(--a-line);background:#0a2850}.model-switch{display:flex;background:#061a37;border:1px solid #37658e;border-radius:8px;padding:4px;gap:4px}.model-switch button{font-size:18px;min-width:106px;border-color:transparent;background:transparent}.model-switch button[aria-pressed=true]{background:var(--a-accent);border-color:var(--a-accent);color:var(--a-scene);font-weight:600}.model-info{flex:1}.model-info h2{font:500 24px Unbounded,"Golos Text",sans-serif;letter-spacing:-.02em}.model-info p{color:var(--a-muted);font-size:14px;margin-top:5px}.workspace{display:grid;grid-template-columns:225px minmax(400px,1fr) 320px;align-items:stretch}.parts-panel{padding:22px 12px 22px 16px;background:#0a2448;max-height:790px;overflow:auto;scrollbar-width:thin;scrollbar-color:#5186b9 transparent}.panel-heading{display:flex;justify-content:space-between;align-items:center;gap:8px;min-height:40px;margin-bottom:14px}.panel-heading h3{font-size:17px;font-weight:550}.panel-heading>span{font-size:14px;color:var(--a-muted)}.search-label{display:block;font-size:14px;margin:0 0 6px;color:var(--a-muted)}input[type=search]{width:100%;min-height:42px;border:1px solid #527eac;background:#061b38;color:white;border-radius:6px;padding:8px 10px;font-size:14px}#parts-count{font-size:13px;padding:12px 0 2px}.part-group h3{font-size:13px;font-weight:500;color:#9dc7ed;margin:20px 7px 7px}.part-item{width:100%;display:flex;align-items:center;justify-content:space-between;gap:4px;text-align:left;background:transparent;border-color:transparent;font-size:15px;padding:8px 9px;margin:2px 0;min-height:41px}.part-item[aria-pressed=true]{background:#174775;border-color:#8ccbff}.part-item.hovered{border-color:#4f91c9;background:#123760}.part-item .inside-mark{color:#8ccbff;font-size:16px}.empty-search{padding:16px 8px;font-size:14px;color:var(--a-muted)}.stage-column{min-width:0}.viewer{height:570px;position:relative;overflow:hidden;isolation:isolate;background:var(--a-scene)}#canvas-host{position:absolute;inset:0}#canvas-host canvas{display:block;width:100%;height:100%;touch-action:pan-y}#model-fallback{position:absolute;width:100%;height:100%;object-fit:contain}.viewer-top{position:absolute;top:14px;left:16px;right:16px;display:flex;align-items:center;justify-content:space-between;gap:8px;pointer-events:none}.viewer-top>*{pointer-events:auto}.viewer-top>span{font-size:14px;color:var(--a-muted);margin-right:auto;max-width:55%}.viewer-top button{background:#0b2c55ed}#parts-open,#parts-close{display:none}#viewer-loading{position:absolute;left:50%;top:45%;transform:translate(-50%,-50%);padding:18px;background:#0b2c55ee;border-radius:8px;white-space:nowrap}.loading-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#8ccbff;margin-right:10px}.view-presets{position:absolute;bottom:38px;left:16px;right:16px;display:flex;justify-content:center;gap:6px}.view-presets button{font-size:13px;padding:8px 10px;background:#0c305be8;min-height:36px}.zoom-controls{position:absolute;right:14px;top:68px;display:grid;gap:7px}.zoom-controls button{width:36px;min-height:36px;padding:4px;font-size:23px;background:#0c305be8}#viewer-hint{position:absolute;bottom:10px;left:10px;right:10px;font-size:12px;text-align:center;color:#a6c6e5;pointer-events:none}#hover-label{position:absolute;pointer-events:none;max-width:230px;border-radius:6px;padding:9px 13px;background:#eaf5ff;color:#071d3f;box-shadow:0 5px 24px #0006;font-size:14px;z-index:8}#touch-control{display:none}#viewer-error{position:absolute;bottom:12px;left:14px;right:14px;background:#0a2850f2;padding:16px;border:1px solid #6ca8d6;border-radius:8px;font-size:14px}#viewer-error button{margin-top:12px;font-size:14px}.model-controls{padding:16px 20px;border-block:1px solid var(--a-line);display:grid;grid-template-columns:1.08fr 1fr;gap:12px 20px;background:#0a2448}.assembly-switch,.toggle-row{display:flex;gap:6px}.assembly-switch button,.toggle-row button{flex:1;font-size:14px;padding:9px 10px}.toggle-row{grid-column:1/-1}.range-control{display:block;min-width:0;font-size:13px;color:var(--a-muted)}.range-control>span{display:flex;justify-content:space-between}.range-control input{width:100%;accent-color:#8ccbff;cursor:pointer;height:22px;margin:4px 0 0}.model-caption{font-size:13px;color:var(--a-muted);padding:14px 20px;line-height:1.5}.inspector{padding:22px 20px;border-left:1px solid var(--a-line);background:var(--a-panel);max-height:790px;overflow:auto;scrollbar-width:thin;scrollbar-color:#5186b9 transparent}.inspector h2{font:500 23px/1.35 Unbounded,"Golos Text",sans-serif;letter-spacing:-.025em;margin:12px 0 20px;overflow-wrap:anywhere}.inspector p{font-size:15px;color:#d1e3f5;margin-top:14px}.inspector .part-short{font-size:18px;color:white;line-height:1.45}.inspector .welcome-intro{font-size:18px}.welcome-steps{margin:24px 0;padding:0;list-style:none;color:var(--a-muted);display:grid;gap:14px;font-size:15px}.welcome-steps li{border-left:2px solid #8ccbff;padding-left:14px}.primary{background:var(--a-accent);border-color:var(--a-accent);color:var(--a-scene);font-weight:600;width:100%}.primary:hover{background:#b4deff}.detail-actions{display:flex;gap:8px;margin-top:22px;flex-wrap:wrap}.detail-actions button{font-size:14px;padding:9px 10px;flex:1}.facts{display:flex;flex-wrap:wrap;gap:7px;margin-top:18px}.facts span{font-size:12px;border:1px solid #507fad;padding:4px 7px;border-radius:4px}.source-box{border-top:1px solid #315781;margin-top:24px;padding-top:16px;font-size:13px}.source-box .source-author{color:#a6c6e5;font-size:12px;display:block}.source-box a{display:block;margin-top:8px;font-size:14px}.source-meta{font-size:12px;margin-top:7px;color:#b0cce6}.source-box .source-status{font-size:12px;color:#b0cce6;margin-top:6px}.inspector .detail-note{font-size:12px;color:#b0cce6}.below{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:14px 4px 24px;color:var(--a-muted);font-size:13px}.below p{max-width:70ch}.load-error{padding:16px 20px;background:#422b2c;color:#ffe5dc;border-bottom:1px solid #8c5e57}#info-dialog{max-width:min(660px,calc(100% - 28px));max-height:85vh;background:#0c294d;color:var(--a-text);padding:24px;border:1px solid #6196c4;border-radius:12px;line-height:1.6}#info-dialog::backdrop{background:#000a}#dialog-close{display:block;margin-left:auto}#info-dialog h2{font:500 24px/1.4 Unbounded,"Golos Text",sans-serif;margin:16px 0 22px}#info-dialog p{margin:16px 0}#info-dialog li{margin-block:10px}#toast{position:fixed;left:50%;bottom:18px;transform:translateX(-50%);max-width:90vw;z-index:50;background:#eaf5ff;color:#071d3f;border-radius:7px;padding:12px 18px;font-size:14px;box-shadow:0 6px 24px #0006}
@media(min-width:1600px){.workspace{grid-template-columns:250px minmax(400px,1fr) 360px}.viewer{height:650px}.parts-panel,.inspector{max-height:870px}.inspector p{font-size:16px}.part-item{font-size:16px}}
@media(max-width:1190px){.workspace{grid-template-columns:215px minmax(380px,1fr)}.inspector{grid-column:1/-1;max-height:none;border-left:0;border-top:1px solid var(--a-line);padding:24px}.inspector #part-detail{max-width:900px}.inspector .primary{width:auto}.inspector .detail-actions{max-width:400px}.viewer{height:550px}.parts-panel{max-height:770px}}
@media(max-width:760px){.model-header{padding:16px;flex-wrap:wrap;gap:14px}.model-switch{width:100%}.model-switch button{flex:1;font-size:18px}.model-info{min-width:190px}.model-info h2{font-size:22px}.model-info p{font-size:13px;max-width:33ch}.model-header>.quiet{font-size:13px;padding:6px;max-width:90px}.workspace{display:block;position:relative}.parts-panel{display:none;position:absolute;z-index:20;top:0;left:0;width:min(330px,100%);max-height:690px;height:690px;box-shadow:14px 8px 30px #0009;border-right:1px solid #4d84b7}.parts-panel.open{display:block}#parts-open,#parts-close{display:inline-flex}.viewer{height:480px}.viewer-top{left:10px;right:10px;gap:5px}.viewer-top>span{font-size:12px;max-width:35%}.viewer-top button{font-size:12px;padding:6px 9px}.zoom-controls{right:10px}.view-presets{bottom:68px;left:8px;right:8px;gap:5px}.view-presets button{font-size:12px;padding:7px 8px}#viewer-hint{display:none}#touch-control{display:block;position:absolute;bottom:14px;left:50%;transform:translateX(-50%);font-size:14px;white-space:nowrap;background:#174775}.model-controls{padding:14px;display:flex;flex-direction:column;gap:14px}.range-control{font-size:14px}.range-control input{height:26px}.model-caption{padding:14px;font-size:12px}.inspector{padding:20px 16px}.inspector h2{font-size:22px}.inspector p{font-size:16px}.below{align-items:flex-start;font-size:12px;gap:12px}.below button{font-size:12px;padding:8px;min-width:100px}.atlas{border-radius:10px}.part-item{font-size:16px;min-height:44px}}
@media(pointer:coarse){#viewer-hint{display:none}#touch-control{display:block;position:absolute;bottom:14px;left:50%;transform:translateX(-50%);font-size:14px;white-space:nowrap}.view-presets{bottom:68px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
.atlas,#info-dialog{font:16px/1.55 "Golos Text",Arial,sans-serif;color:var(--a-text)}
#info-dialog{margin:auto}
