:root{color-scheme:dark;--bg:#07111f;--panel:#0d1a2b;--line:#26364b;--muted:#8c9ab0;--text:#f3f6fb;--accent:#ff5b35}*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:var(--bg);color:var(--text);font:14px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC",sans-serif}button,a{font:inherit}.topbar{height:82px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(20px,4vw,64px);border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:13px;color:inherit;text-decoration:none}.brand-mark{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:var(--accent);font-size:13px;font-weight:900;letter-spacing:.04em}.brand strong,.brand small{display:block}.brand strong{font-size:15px}.brand small{color:var(--muted);font-size:11px}.status{font-size:12px;color:#aab5c6}.status span{display:inline-block;width:7px;height:7px;margin-right:8px;border-radius:50%;background:#63d59b;box-shadow:0 0 12px #63d59b}.layout{min-height:calc(100vh - 140px);display:grid;grid-template-columns:minmax(280px,370px) 1fr;gap:22px;padding:24px clamp(20px,4vw,64px)}.catalog,.viewer-shell{border:1px solid var(--line);border-radius:22px;background:var(--panel)}.catalog{padding:34px;display:flex;flex-direction:column}.eyebrow{font-size:11px;letter-spacing:.12em;color:var(--accent);font-weight:700}.catalog h1{margin:15px 0 12px;font-size:32px;line-height:1.12}.catalog h1 span{font-size:18px;color:#aab5c6;font-weight:500}.intro{margin:0 0 28px;color:var(--muted)}.products{display:grid;gap:10px}.product{display:flex;align-items:center;gap:15px;width:100%;padding:15px;border:1px solid var(--line);border-radius:14px;background:#081321;color:var(--text);text-align:left;cursor:pointer;transition:.2s}.product:hover{border-color:#56657a;transform:translateY(-1px)}.product.active{border-color:var(--accent);background:#281a1b;box-shadow:inset 3px 0 var(--accent)}.product b{font-size:11px;color:var(--accent)}.product span,.product strong,.product small{display:block}.product strong{font-size:15px}.product small{color:var(--muted);font-size:11px}.logout{margin-top:auto;padding-top:26px;color:#8694a8;font-size:12px}.viewer-shell{position:relative;display:grid;grid-template-rows:auto minmax(390px,1fr) auto auto;overflow:hidden}.viewer-head{display:flex;justify-content:space-between;align-items:end;padding:24px 28px 0}.viewer-head span{color:var(--accent);font-size:11px}.viewer-head h2{margin:2px 0 0;font-size:24px}.viewer-head p{margin:0;color:var(--muted);font-size:11px}model-viewer{width:100%;height:100%;min-height:390px;background:radial-gradient(circle at 50% 42%,#1c2b3c 0,#0a1422 55%,#07111f 100%);--poster-color:transparent}.progress{position:absolute;left:15%;right:15%;bottom:24px;height:2px;background:#27364a;transform-origin:left}.progress i{display:block;width:100%;height:100%;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .15s}.model-error{padding:12px 15px;border-radius:10px;background:#401a22;color:#ffc2cb}.toolbar,.views{display:flex;align-items:center;justify-content:center;gap:8px;padding:0 24px 14px}.toolbar button,.views button{border:1px solid var(--line);border-radius:10px;background:#0a1524;color:#dfe5ef;padding:9px 15px;cursor:pointer}.toolbar button:hover,.toolbar button.active,.views button:hover{border-color:var(--accent);color:white}.views{padding-bottom:22px}.views span{margin-right:5px;color:var(--muted);font-size:11px}footer{display:flex;justify-content:space-between;padding:0 clamp(20px,4vw,64px) 20px;color:#65748a;font-size:11px}footer p{margin:0}@media(max-width:800px){.topbar{height:72px}.status{display:none}.layout{grid-template-columns:1fr;padding:14px}.catalog{padding:24px}.catalog h1{font-size:26px}.products{grid-template-columns:repeat(3,1fr)}.product{display:block;padding:12px}.product b{display:block;margin-bottom:4px}.product small{display:none}.logout{margin-top:18px}.viewer-shell{grid-template-rows:auto minmax(360px,58vh) auto auto}.viewer-head{padding:18px 18px 0}.views{overflow:auto;justify-content:flex-start;padding-inline:16px}.views button{white-space:nowrap}.toolbar{padding-inline:16px}.toolbar button{flex:1;padding-inline:8px}footer{padding:0 16px 18px;display:block}footer p+ p{margin-top:4px}}@media(max-width:480px){.brand small{display:none}.catalog{padding:20px}.intro{margin-bottom:18px}.product{border-radius:10px}.viewer-shell{border-radius:16px}.viewer-head p{display:none}}
