/* Implements the user-supplied home, detail and studio reference frames. */
body:not(:has(.admin-layout,.admin-auth)) { --d-rule:var(--line); }
body:not(:has(.admin-layout,.admin-auth)) :is(.header,.footer) { background:transparent; border-color:var(--line); }
body:not(:has(.admin-layout,.admin-auth)) .header { height:64px; padding-inline:clamp(24px,3.6vw,64px); gap:52px; }
body:not(:has(.admin-layout,.admin-auth)) .brand { color:var(--ink); font-size:22px; font-weight:700; gap:12px; }
body:not(:has(.admin-layout,.admin-auth)) .brand svg { width:32px; height:36px; }
body:not(:has(.admin-layout,.admin-auth)) .header nav a { color:#bbd0db; font-size:14px; }
body:not(:has(.admin-layout,.admin-auth)) .header nav a.active { color:#f2f7fa; }
body:not(:has(.admin-layout,.admin-auth)) .header .actions>a { display:flex; align-items:center; gap:8px; }
body:not(:has(.admin-layout,.admin-auth)) .header .actions>a::before { content:''; width:20px; height:23px; background:currentColor; mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 28'%3E%3Cg fill='none' stroke='black' stroke-width='1.4'%3E%3Ccircle cx='12' cy='7' r='4'/%3E%3Cpath d='M3 25v-4a9 8 0 0 1 18 0v4Z'/%3E%3C/g%3E%3C/svg%3E") center/contain no-repeat; }
body:not(:has(.admin-layout,.admin-auth)) .container { width:auto; max-width:1600px; margin-inline:auto; padding-inline:clamp(24px,3.6vw,64px); }
body:not(:has(.admin-layout,.admin-auth)) :is(.btn,.search input,.field input,.field textarea,.field select) { border-color:var(--line); background:#11252e; color:var(--ink); border-radius:6px; }
body:not(:has(.admin-layout,.admin-auth)) .btn.primary { background:var(--accent); border-color:var(--accent); color:#03171a; font-weight:700; }
body:not(:has(.admin-layout,.admin-auth)) .btn.primary:hover { background:#80f8f9; border-color:#80f8f9; }
body:not(:has(.admin-layout,.admin-auth)) .btn:not(.primary):hover { background:#19363f; border-color:#47818b; }
body:not(:has(.admin-layout,.admin-auth)) :is(.panel,.price-card,.centered,.metric,.plan-option,.flow-summary,.resume-summary,.notice,dialog) { background:#0d2028; border-color:var(--line); color:var(--ink); }
body:not(:has(.admin-layout,.admin-auth)) :is(.price-card.featured,.plan-option:has(input:checked)) { background:#103037; border-color:#3c8a91; }
body:not(:has(.admin-layout,.admin-auth)) :is(.price-card ul,.field,.caption,.flow-caption,.google-mark) { color:var(--muted); }
body:not(:has(.admin-layout,.admin-auth)) :is(.startup-placeholder,.startup-line,.skeleton) { background:linear-gradient(110deg,#10232b,#1b333e,#10232b); background-size:200% 100%; }
body:not(:has(.admin-layout,.admin-auth)) .tag { background:#113238cc; color:#bdf6f5; border:1px solid #2a6870; border-radius:999px; font-size:11px; line-height:1.3; padding:5px 10px; }
.resource-library .platform-banner { display:block; position:relative; isolation:isolate; overflow:hidden; border-radius:0; min-height:0; height:clamp(405px,39vw,570px); margin:0 calc(-1 * clamp(24px,3.6vw,64px)) 0; border-bottom:1px solid var(--line); background:#07151d; }
.platform-banner .hero-copy { position:relative; z-index:2; width:60%; padding:clamp(36px,4vw,62px) 0 20px clamp(28px,4.7vw,74px); }
.platform-banner .hero-eyebrow { font-size:15px; color:var(--accent); font-weight:650; letter-spacing:1px; }
.platform-banner h2 { font-size:clamp(38px,4.8vw,68px); line-height:1.13; letter-spacing:-1.7px; font-weight:750; margin:13px 0 15px; }
.platform-banner .hero-description { font-size:clamp(12px,1.12vw,16px); color:#d1dce3; max-width:650px; line-height:1.8; }
 .platform-banner .hero-features { display:grid; grid-template-columns:repeat(4,max-content); list-style:none; padding:0; margin:34px 0 0; gap:clamp(18px,2.2vw,38px); }
.hero-features li { display:flex; align-items:flex-start; gap:12px; min-width:0; }
.hero-features svg { flex:none; width:29px; height:29px; color:#b9ccd5; margin-top:2px; }
.hero-features strong { display:block; font-size:15px; font-weight:600; white-space:nowrap; color:#dce8ed; }
.platform-banner .hero-features p { font-size:12px; line-height:1.6; margin-top:4px; color:#9eb4c1; white-space:nowrap; }
.platform-banner .hero-footnote { font-size:13px; color:#90e4e6; margin-top:24px; letter-spacing:1px; }
.hero-footnote span { padding:0 10px; }
.printer-scene { position:absolute; z-index:0; inset:0; background:url('/hero-printer.webp') right 57%/auto 145% no-repeat; }
.printer-scene::after { content:''; position:absolute; inset:0; background:linear-gradient(90deg,#061116 0%,#061116ed 27%,#061116b3 43%,#06111600 60%),linear-gradient(0deg,#06111688,transparent 23%); }
.printer-glow { position:absolute; left:71%; top:37%; width:14%; height:14%; border-radius:50%; background:radial-gradient(ellipse,#54efff40,transparent 65%); animation:print-glow 4s ease-in-out infinite; }
@keyframes print-glow { 0%,100%{opacity:.25} 50%{opacity:.9} }
.resource-library .toolbar { display:grid; grid-template-columns:minmax(0,1fr) 300px; gap:14px 20px; align-items:center; margin:24px 0 14px; }
.explore-heading { display:flex; gap:22px; align-items:baseline; }
.explore-heading h2 { color:var(--ink); font-size:28px; font-weight:700; white-space:nowrap; }
.explore-heading p { font-size:13px; color:#b0c7d5; }
.resource-library .search { width:100%; min-width:0; display:flex; align-items:center; gap:10px; height:43px; padding:0 13px; border:1px solid var(--line); border-radius:6px; background:linear-gradient(100deg,#0c1c24,#142932); }
.resource-library .search svg { width:18px; height:18px; position:static; color:#b3d2df; flex:none; fill:none; stroke:currentColor; stroke-width:1.5; }
.resource-library .search input { width:100%; padding:0; height:100%; border:0; background:transparent; font-size:13px; }
.resource-library .search input::placeholder { color:#a6c0ce; }
.resource-library .chips { grid-column:1/-1; gap:10px; display:flex; flex-wrap:wrap; }
.resource-library .chip { padding:7px 20px; border-radius:6px; color:#d2dee5; background:transparent; font-size:14px; border:1px solid transparent; }
.resource-library .chip.active { color:#022126; background:var(--accent); border-color:var(--accent); font-weight:700; }
.resource-library .chip:hover:not(.active) { background:#142b34; }
body:not(:has(.admin-layout,.admin-auth)) .cards { grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; margin-bottom:24px; }
body:not(:has(.admin-layout,.admin-auth)) .card { position:relative; border:1px solid #203c48; background:linear-gradient(120deg,#0e2027,#09171d); border-radius:8px; overflow:visible; padding:0; transition:border-color .18s,transform .18s; min-width:0; }
body:not(:has(.admin-layout,.admin-auth)) .card:hover { border-color:#40939a; transform:translateY(-2px); }
body:not(:has(.admin-layout,.admin-auth)) .card-art { background:#0e1f27; height:auto; aspect-ratio:1.58; border:0; border-radius:7px 7px 0 0; overflow:hidden; }
body:not(:has(.admin-layout,.admin-auth)) .card-art img { width:100%; height:100%; object-fit:cover; background:transparent; }
body:not(:has(.admin-layout,.admin-auth)) .card-art .tag { position:absolute; left:12px; top:12px; }
body:not(:has(.admin-layout,.admin-auth)) .card-meta { padding:8px 15px 12px; }
body:not(:has(.admin-layout,.admin-auth)) .card-meta h3 { font-size:16px; line-height:1.5; color:#eff5f8; font-weight:600; margin:0 0 3px; }
body:not(:has(.admin-layout,.admin-auth)) .dimensions { font-size:13px; color:#b5cbd9; }
body:not(:has(.admin-layout,.admin-auth)) .card-bottom { font-size:11px; margin-top:7px; gap:4px; color:#9bb5c5; }
.card-bottom i { font-style:normal; color:#345562; }
body:not(:has(.admin-layout,.admin-auth)) .card-bottom>span:last-child { color:var(--accent); font-weight:600; font-size:12px; }
body:not(:has(.admin-layout,.admin-auth)) .card>.hardware-parts { margin:0 14px 10px; }
body:not(:has(.admin-layout,.admin-auth)) .hardware-badge { color:#c6dfdf; font-size:10px; padding:3px 7px; background:#132c34; border-color:#315362; }
body:not(:has(.admin-layout,.admin-auth)) .hardware-tooltip { background:#102631; border-color:#3b6575; color:#e4f0f4; box-shadow:0 8px 32px #0008; }
body:not(:has(.admin-layout,.admin-auth)) .hardware-tooltip p { color:var(--muted); }
body:not(:has(.admin-layout,.admin-auth)) .model-statistics { border-color:var(--line); color:var(--muted); padding-inline:14px; }
.resource-library .card>.model-statistics { position:absolute; top:10px; right:8px; padding:3px 6px; min-height:0; gap:12px; border:0; border-radius:5px; background:#091b22e8; opacity:0; transition:opacity .15s; }
.resource-library .card:hover>.model-statistics,.resource-library .card:focus-within>.model-statistics { opacity:1; }
.resource-library .pagination { border:0; padding:4px 0 28px; }
.resource-library .pagination .btn { border-color:#28737c; color:var(--accent); background:transparent; min-width:112px; }
.resource-library .pagination [rel=next]::after { content:' →'; padding-left:8px; }
body:not(:has(.admin-layout,.admin-auth)) .footer { margin-top:0; padding-block:22px; }
body:not(:has(.admin-layout,.admin-auth)) .footer-links { color:var(--muted); font-size:13px; }
.model-detail { --d-rule:#294550; }
.model-detail .d-breadcrumb { font-size:13px; margin:16px 0 14px; color:#b3c9d5; }
.model-detail .d-hero { grid-template-columns:minmax(0,2.1fr) minmax(300px,1fr); gap:16px; row-gap:0; }
.model-detail .d-model-stage { border-radius:6px; border-color:var(--line); min-height:clamp(480px,47vw,680px); background:#0c1d25; }
.model-detail .d-decision-card { position:relative; padding:20px; border-radius:6px; background:linear-gradient(130deg,#0e2028,#07151b); }
.model-detail .d-decision-card .model-statistics { position:absolute; top:12px; right:10px; gap:12px; padding:0; margin:0; border:0; font-size:10px; opacity:0; }
.model-detail .d-decision-card:hover .model-statistics,.model-detail .d-decision-card:focus-within .model-statistics { opacity:1; }
.model-detail .d-action-heading { flex-direction:column; align-items:flex-start; gap:10px; margin-bottom:8px; }
.model-detail .d-resource-badge { order:0; padding:3px 10px; color:var(--accent); background:#0e2a31; border-color:#197e88; border-radius:5px; font-size:13px; }
.model-detail .d-action-heading h1 { font-size:clamp(26px,2.7vw,39px); font-weight:700; line-height:1.3; letter-spacing:-.8px; }
.model-detail .d-model-description { font-size:14px; margin-bottom:17px; color:#bfd2dd; line-height:1.75; }
.model-detail .d-size-label { font-size:13px; color:var(--muted); }
.model-detail .d-size { font-size:22px; color:#f4f8fa; }
.model-detail :is(.d-size-note,.d-content-line,.d-note) { color:#aec5d3; font-size:12px; }
.model-detail .d-decision-card .btn.primary { min-height:50px; font-size:16px; }
.model-detail .d-custom { margin-top:18px; padding-top:18px; }
.model-detail .d-custom h2 { font-size:22px; font-weight:650; }
.model-detail .d-capability-list span { background:#19313a; color:#c0d7e1; border:1px solid #2b4550; border-radius:5px; padding:3px 8px; }
.model-detail .d-custom>.btn { color:var(--ink); background:transparent; border-color:var(--accent); }
.model-detail .d-custom>.btn svg { color:var(--accent); }
.model-detail .d-context-meta { padding:10px 16px; background:#0a1920; border:1px solid var(--line); border-top:0; border-radius:0 0 6px 6px; gap:6px 20px; margin-top:-1px; color:#c0d3df; font-size:11px; }
@media(min-width:761px) {
  .model-detail .d-context-meta { grid-row:1; align-self:end; position:relative; z-index:2; }
  .model-detail .preview-dock { bottom:48px; }
}
.model-detail .d-key-notes { display:flex; gap:0; border:1px solid var(--line); border-radius:5px; padding:13px 0; margin-top:24px; background:#0c1c23; }
.model-detail .d-key-notes:empty { display:none; }
.model-detail .d-key-note { flex:1; display:flex; align-items:center; gap:12px; border:0; padding:0 18px; margin:0; font-size:12px; color:#bbd2df; }
.model-detail .d-key-note:not(:first-child) { border-left:1px solid var(--line); }
.model-detail .d-key-note::before { content:'◇'; color:#e3f3f6; font-size:25px; }
.model-detail .d-section-nav { margin-top:16px; border-top:0; gap:32px; }
.model-detail .d-section-nav a { min-height:48px; font-size:15px; }
.model-detail .d-section-nav a:first-child { color:var(--accent); border-bottom:2px solid var(--accent); font-weight:600; }
.model-detail .d-section { grid-template-columns:minmax(170px,.34fr) minmax(0,1fr); gap:40px; padding:28px 0; }
.model-detail .d-section-heading>small { color:#bad0de; font-size:11px; }
.model-detail .d-section h2 { font-size:27px; font-weight:650; }
.model-detail .d-section-heading>p { font-size:13px; margin-top:8px; }
.model-detail .d-section-body>p { font-size:14px; line-height:1.85; margin-bottom:14px; }
.model-detail .d-facts { gap:0 24px; margin-top:15px; }
.model-detail .d-facts>* { padding:13px 0; }
.model-detail .d-facts dd { color:#edf5f8; font-size:16px; font-weight:600; }
.model-detail .d-file-table { border:1px solid var(--line); border-radius:6px; overflow:hidden; }
.model-detail .d-file-table table { font-size:13px; }
.model-detail .d-file-table th { background:#17303b; color:#c8dee8; }
.model-detail .d-file-table :is(th,td) { padding:9px 15px; border-color:#203a46; }
.model-detail .d-file-table td { color:#c6dbe6; }
.model-detail .d-file-table tbody tr:nth-child(even) { background:#11252e; }
.model-detail .d-parameter-groups details { border:1px solid var(--line); border-radius:6px; background:#0c1c24; margin:0 0 12px; padding:0 16px; }
.model-detail .d-parameter-groups summary { padding:9px 0; color:#f0f7fa; font-size:14px; }
.model-detail .d-range-list { gap:0 25px; margin:0 0 8px; }
.model-detail .d-range-list>div { padding:8px 0; font-size:13px; }
.model-detail .d-steps { grid-template-columns:repeat(3,1fr); gap:20px; padding-top:14px; border-top:1px solid var(--line); margin-top:16px; }
.model-detail .d-steps article { position:relative; padding:0 0 0 51px; border:0; }
.model-detail .d-steps small { position:absolute; left:0; top:0; border:1px solid var(--accent); border-radius:50%; color:#f3ffff; width:38px; height:38px; display:grid; place-items:center; font-size:16px; font-weight:700; }
.model-detail .d-steps h3 { font-size:13px; margin-bottom:5px; }
.model-detail .d-steps p { font-size:11px; }
.model-detail .d-adjust-action { margin-top:18px; gap:18px; }
.model-detail .d-adjust-action>.btn { border-color:var(--accent); background:transparent; }
.model-detail .d-instructions { list-style:none; counter-reset:assembly; padding:0; }
.model-detail .d-instructions li { position:relative; padding-left:35px; margin-bottom:10px; font-size:13px; color:#bfd5e1; line-height:1.8; }
.model-detail .d-instructions li::before { counter-increment:assembly; content:counter(assembly,decimal-leading-zero); position:absolute; left:0; top:1px; width:23px; height:23px; border-radius:50%; background:var(--accent); color:#062126; font-size:11px; font-weight:650; display:grid; place-items:center; }
.model-detail .d-related { border:0; padding-top:28px; }
.model-detail .d-related .cards { gap:16px; }
.model-detail .d-mobile-actions { background:#0a1b23ec; border-color:var(--line); backdrop-filter:blur(12px); }
.model-detail .d-mobile-actions .btn:first-child { background:var(--accent); color:#032026; border-color:var(--accent); }
.model-detail .d-mobile-actions .btn:last-child { background:#142d35; color:var(--ink); border-color:#3a828b; }
.journey-studio .studio-bar { background:#09171def; border-color:var(--line); }
.journey-studio .studio-breadcrumb { color:#d0e0e9; }
.journey-studio .studio-current { background:#192f3a; border:1px solid #2d4b59; color:#f1f7fa; border-radius:6px; padding:7px 15px; }
.journey-studio .studio-account { color:#dbeaf1; }
.journey-studio .studio-account .btn { background:transparent; color:#dbeaf1; border-color:var(--line); }
.journey-studio :is(.studio-loading,.studio-shell-placeholder,.studio-unavailable) { background:#0a1a22; color:var(--muted); }
.journey-studio .studio-download-status { background:#102832; border-color:#2b5a69; color:var(--ink); }
@media(max-width:1100px) and (min-width:761px) {
  body:not(:has(.admin-layout,.admin-auth)) .header { height:44px; gap:34px; }
  body:not(:has(.admin-layout,.admin-auth)) .brand { font-size:18px; gap:9px; }
  body:not(:has(.admin-layout,.admin-auth)) .brand svg { width:27px; height:30px; }
  body:not(:has(.admin-layout,.admin-auth)) .header nav a,body:not(:has(.admin-layout,.admin-auth)) .header .actions>a { font-size:12px; }
  .resource-library .platform-banner { height:337px; }
  .platform-banner .hero-copy { padding-top:26px; width:58%; }
  .platform-banner .hero-eyebrow { font-size:13px; }
  .platform-banner h2 { font-size:46px; line-height:1.12; margin:8px 0; }
  .platform-banner .hero-description { font-size:12px; white-space:nowrap; }
  .platform-banner .hero-footnote { font-size:11px; margin-top:17px; }
  .printer-scene { background-size:auto 143%; }
  .resource-library .toolbar { grid-template-columns:minmax(0,1fr) 218px; margin:18px 0 9px; gap:10px 18px; }
  .explore-heading { display:flex; gap:16px; }.explore-heading h2 { font-size:25px; }.explore-heading p { margin:0; font-size:10px; }
  .resource-library .search { height:32px; min-height:0; padding-inline:10px; }.resource-library .search input { font-size:11px; }
  .resource-library .chip { height:28px; min-height:0; padding:3px 17px; font-size:12px; }
  body:not(:has(.admin-layout,.admin-auth)) .cards { gap:10px; }
  body:not(:has(.admin-layout,.admin-auth)) .card-art { aspect-ratio:1.65; }
  body:not(:has(.admin-layout,.admin-auth)) .card-meta { padding:4px 11px 6px; }
  body:not(:has(.admin-layout,.admin-auth)) .card-meta h3 { font-size:12px; line-height:1.4; margin-bottom:3px; }
  body:not(:has(.admin-layout,.admin-auth)) .dimensions { font-size:10px; line-height:14px; }
  body:not(:has(.admin-layout,.admin-auth)) .card-bottom { font-size:8px; margin-top:5px; white-space:nowrap; line-height:14px; }
  body:not(:has(.admin-layout,.admin-auth)) .card-bottom>span:last-child { font-size:10px; line-height:14px; }
  body:not(:has(.admin-layout,.admin-auth)) .card-art .tag { top:8px; left:8px; font-size:9px; padding:3px 7px; }
  .model-detail .d-hero { grid-template-columns:minmax(0,2.1fr) minmax(260px,1fr); gap:12px; }
  .model-detail .d-breadcrumb { margin:8px 0 10px; font-size:11px; height:18px; }.model-detail .d-breadcrumb a { min-height:18px; }
  .model-detail .d-model-stage { min-height:430px; }
  .model-detail .d-decision-card { padding:14px; }
  .model-detail .d-action-heading { gap:7px; }.model-detail .d-action-heading h1 { font-size:27px; }
  .model-detail .d-resource-badge { font-size:11px; padding:2px 8px; }
  .model-detail .d-decision-card .d-model-description { font-size:11px; line-height:1.7; margin-bottom:12px; }
  .model-detail .d-size-label { font-size:11px; }.model-detail .d-size { font-weight:600; font-family:inherit; font-size:16px; line-height:1.5; letter-spacing:0; }
  .model-detail :is(.d-size-note,.d-content-line,.d-note) { font-size:10px; }
  .model-detail .d-content-line { margin:7px 0; }.model-detail .d-decision-card .btn.primary { min-height:40px; padding:7px 10px; font-size:13px; }
  .model-detail .d-custom { margin-top:14px; padding-top:14px; }.model-detail .d-custom h2 { font-size:18px; }
  .model-detail .d-custom>p:not(.d-note):not(.d-fee) { font-size:11px; }
  .model-detail .d-capability-list { gap:4px; margin:8px 0 12px; }.model-detail .d-capability-list span { padding:2px 4px; font-size:9px; }
  .model-detail .d-custom>.btn { min-height:40px; padding:7px 12px; font-size:12px; }
  .model-detail .d-context-meta { font-size:10px; padding:5px 13px; }
  .model-detail .d-model-stage .viewport-tools { top:12px; right:10px; padding:3px; }.model-detail .viewport-tools button { width:27px; height:28px; }
  .model-detail .preview-dock { left:14px; right:10px; bottom:42px; }
  .model-detail .preview-dock .stage-footer { grid-template-columns:minmax(0,1fr) auto auto; gap:8px; }
  .model-detail .preview-dock .assembly-control { grid-column:2; grid-row:1; padding:5px 8px; gap:7px; min-height:32px; font-size:9px; }
  .model-detail .preview-dock .assembly-control input { width:60px; }
  .model-detail .preview-dock .zoom-controls { grid-column:3; min-height:32px; padding:0; }
  .model-detail .preview-dock .zoom-controls button { min-width:25px; height:30px; font-size:10px; }.model-detail .preview-dock .zoom-controls button:nth-child(2) { min-width:40px; }
  .model-detail .preview-dock .stage-hint { font-size:9px; white-space:nowrap; }.model-detail .preview-dock .preview-desktop-hint { font-size:0; }.model-detail .preview-dock .preview-desktop-hint::after { content:'拖动旋转 · 滚轮缩放'; font-size:9px; }
  .model-detail .preview-dock .stage-hint::before { width:10px; height:17px; margin-right:8px; }
  .model-detail .d-key-notes { padding:9px 0; margin-top:18px; }.model-detail .d-key-note { font-size:10px; gap:8px; padding-inline:12px; }
  .model-detail .d-section-nav { margin-top:10px; gap:28px; }.model-detail .d-section-nav a { min-height:40px; font-size:12px; }
  .model-detail .d-section { grid-template-columns:210px minmax(0,1fr); padding:22px 0; gap:24px; }.model-detail .d-section h2 { font-size:22px; }
  .model-detail .d-section-heading>small { font-size:9px; }.model-detail .d-section-heading>p { font-size:11px; }
  .model-detail .d-section-body>p { font-size:11px; margin-bottom:10px; }.model-detail .d-facts { grid-template-columns:repeat(3,minmax(0,1fr)); margin-top:10px; gap:0 18px; }
  .model-detail .d-facts>* { padding:8px 0; }.model-detail .d-facts dt { font-size:10px; }.model-detail .d-facts dd { font-size:13px; margin-top:2px; }
  .model-detail .d-file-table table { min-width:0; font-size:11px; }.model-detail .d-file-table :is(th,td) { padding:5px 10px; }
  .model-detail .d-parameter-groups details { padding-inline:12px; }.model-detail .d-parameter-groups summary { min-height:30px; padding:5px 0; font-size:11px; }
  .model-detail .d-range-list { gap:0 18px; }.model-detail .d-range-list>div { padding:5px 0; font-size:11px; gap:4px; }
  .model-detail .d-steps { grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }.model-detail .d-steps article { padding-left:44px; }.model-detail .d-steps small { width:32px; height:32px; font-size:13px; }
  .model-detail .d-steps h3 { font-size:10px; }.model-detail .d-steps p { font-size:9px; }.model-detail .d-adjust-action { gap:14px; }.model-detail .d-adjust-action>.btn { font-size:11px; min-height:32px; padding:5px 14px; }.model-detail .d-adjust-action p { font-size:10px; }
  .model-detail .d-instructions li { font-size:11px; line-height:1.7; margin-bottom:6px; padding-left:29px; }.model-detail .d-instructions li::before { width:20px; height:20px; font-size:9px; }
}
@media(max-width:760px) {
  body:not(:has(.admin-layout,.admin-auth)) .header { height:60px; padding-inline:18px; gap:18px; }
  body:not(:has(.admin-layout,.admin-auth)) .header nav { background:#10232c; border-color:var(--line); }
  body:not(:has(.admin-layout,.admin-auth)) .brand { font-size:18px; }
  body:not(:has(.admin-layout,.admin-auth)) .container { padding-inline:18px; }
  .resource-library .platform-banner { height:610px; margin-inline:-18px; }
  .platform-banner .hero-copy { width:100%; padding:30px 24px 0; }
  .platform-banner h2 { font-size:clamp(34px,7.7vw,54px); }
  .platform-banner .hero-description { font-size:12px; max-width:360px; }
  .platform-banner .hero-eyebrow { font-size:12px; }
  .platform-banner .hero-footnote { font-size:10px; margin-top:16px; }
  .printer-scene { top:250px; background-size:auto 110%; background-position:right center; }
  .printer-scene::after { background:linear-gradient(#061116,transparent 40%); }
  .resource-library .toolbar { grid-template-columns:1fr; gap:14px; margin-top:20px; }
  .explore-heading { display:block; }.explore-heading h2{font-size:25px}.explore-heading p{font-size:11px;margin-top:4px}
  .resource-library .chips { flex-wrap:nowrap; overflow:auto; gap:3px; margin-inline:-18px; padding-inline:18px; scrollbar-width:none; }
  .resource-library .chip { padding:7px 13px; font-size:12px; flex:none; }
  body:not(:has(.admin-layout,.admin-auth)) .cards { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
  body:not(:has(.admin-layout,.admin-auth)) .card-meta { padding:7px 10px 10px; }
  body:not(:has(.admin-layout,.admin-auth)) .card-meta h3 { font-size:13px; }
  body:not(:has(.admin-layout,.admin-auth)) .card-art .tag { left:7px; top:7px; font-size:9px; padding:3px 6px; }
  body:not(:has(.admin-layout,.admin-auth)) .card-art { aspect-ratio:1.2; }
  body:not(:has(.admin-layout,.admin-auth)) .dimensions { font-size:10px; }
  body:not(:has(.admin-layout,.admin-auth)) .card-bottom { flex-wrap:wrap; font-size:9px; }
  body:not(:has(.admin-layout,.admin-auth)) .card-bottom>span:last-child { font-size:11px; }
  body:not(:has(.admin-layout,.admin-auth)) .card>.hardware-parts { margin-inline:8px; }
  body:not(:has(.admin-layout,.admin-auth)) .model-statistics { padding-inline:10px; font-size:10px; }
  .resource-library .card>.model-statistics { position:static; opacity:1; background:transparent; }
  .model-detail .d-hero { grid-template-columns:1fr; gap:12px; }
  .model-detail .d-model-stage { height:380px; min-height:0; }
  .model-detail .d-decision-card { padding:20px; }
  .model-detail .d-context-meta { margin-top:0; }
  .model-detail .d-key-notes { flex-direction:column; gap:12px; }
  .model-detail .d-key-note:not(:first-child) { border-left:0; }
  .model-detail .d-section-nav { gap:0; }
  .model-detail .d-section-nav a { flex:1; font-size:12px; white-space:nowrap; }
  .model-detail .d-section { grid-template-columns:1fr; gap:20px; }
  .model-detail .d-facts { grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 18px; }
  .model-detail .d-file-table { padding:0 12px; }
  .model-detail .d-file-table tbody tr { gap:5px; padding:11px 0; }
  .model-detail .d-file-table td { padding:0; }
  .model-detail .d-range-list { grid-template-columns:1fr; }
  .model-detail .d-steps { grid-template-columns:1fr; gap:17px; }
  .model-detail .d-related .cards { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .model-detail .d-section h2 { font-size:24px; }
  body:not(:has(.admin-layout,.admin-auth)) .footer-links { font-size:11px; }
}
@media(prefers-reduced-motion:reduce) { .printer-glow { animation:none; }.card { transition:none!important; } }
.platform-banner .hero-copy>.hero-description { max-width:650px; }
/* SSR and hydrated search share the same leading magnifier. */
.resource-library .search:not(:has(svg))::before { content:''; display:block; flex:none; width:18px; height:18px; background:#b3d2df; mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cg fill='none' stroke='black' stroke-width='1.5'%3E%3Ccircle cx='10.5' cy='10.5' r='6.5'/%3E%3Cpath d='m16 16 4.5 4.5'/%3E%3C/g%3E%3C/svg%3E") center/contain no-repeat; }
.model-detail .d-instructions li::marker { content:''; }

/* Website navigation and model operations have separate, stable rows. */
.journey-studio .studio-bar { position:relative; inset:auto; width:100%; height:110px; padding:0; display:block; border:0; background:#081419; }
.journey-studio .studio-global { height:58px; display:flex; align-items:center; gap:40px; padding:0 24px; border-bottom:1px solid #1d343f; }
.journey-studio .studio-brand { display:flex; flex:none; font-size:20px; gap:10px; }
.journey-studio .studio-brand svg { width:28px; height:32px; }
.journey-studio .studio-site-nav { display:flex; gap:26px; align-items:center; font-size:13px; }
.journey-studio .studio-bar .text-link { text-decoration:none; color:#aec5d2; }
.journey-studio .studio-bar .text-link:hover { color:#80f8f9; }
.journey-studio .studio-bar .studio-account { display:flex; align-items:center; margin-left:auto; min-width:156px; justify-content:flex-end; gap:20px; font-size:13px; white-space:nowrap; }
.journey-studio .studio-account .btn { min-height:32px; border:0; padding:4px 0; background:transparent; color:#aec5d2; font-size:12px; }
.journey-studio .studio-bar .studio-toolbar { height:52px; display:flex; align-items:center; justify-content:space-between; padding:0 24px; gap:20px; background:#0f222b; border-bottom:1px solid #294652; }
.journey-studio .studio-breadcrumb { display:flex; align-items:center; gap:16px; white-space:nowrap; font-size:13px; }
.journey-studio .studio-current { display:inline; background:transparent; border:0; border-radius:0; padding:0; color:#f1f7fa; font-size:14px; font-weight:650; }
.journey-studio .studio-context-divider { color:#537380; }
.journey-studio .studio-tools { display:flex; align-items:center; gap:10px; }
.journey-studio .studio-tools .btn { min-height:34px; font-size:12px; padding:6px 12px; white-space:nowrap; }
.journey-studio .studio-tools .studio-default-download { border-color:#429299; background:#112b34; color:#e8fbfb; gap:8px; margin-left:8px; }
.studio-default-download small { font-size:10px; line-height:1.4; padding:2px 5px; border-radius:4px; background:var(--accent); color:#052025; font-weight:700; }
.journey-studio #studio-host,.journey-studio .studio-frame-loading { background:#061116; }
.journey-studio #studio-host iframe { position:absolute; inset:0; }
.journey-studio .studio-frame-loading { z-index:1; }
.journey-studio .startup-workspace { grid-template-columns:clamp(208px,15.5vw,260px) minmax(0,1fr) clamp(320px,26vw,400px); padding:18px 22px 24px; gap:16px; background:#061116; }
.journey-studio :is(.startup-library,.startup-inspector,.startup-viewport) { background:#0c1d25; border:1px solid var(--line); border-radius:9px; }
.journey-studio .startup-viewport { margin-bottom:105px; }
.journey-studio .startup-preview-note { color:var(--muted); }
.journey-studio .startup-viewport .startup-status:not(:empty) { position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); width:min(400px,calc(100% - 40px)); margin:0; text-align:center; }
.journey-studio .startup-viewport .startup-status:not(:empty)~.startup-preview-note { display:none; }
.journey-studio .startup-viewport .catalog-error { margin:0; padding:22px; background:#10252e; border-color:#365663; box-shadow:0 14px 42px #0005; }
.journey-studio .startup-viewport .catalog-error h2 { color:var(--ink); font-size:16px; }
.journey-studio .startup-viewport .catalog-error .btn { width:100%; margin-top:16px; min-height:44px; }
.journey-studio .startup-placeholder,.journey-studio .startup-line { animation:none; background:#172c36; }
@media(min-width:1000px) and (max-width:1250px) { .journey-studio .startup-workspace { grid-template-columns:196px minmax(0,1fr) 300px; padding:14px; gap:12px; } }
@media(max-width:999px) {
 .journey-studio .studio-bar { height:104px; }.journey-studio .studio-global { height:52px; padding-inline:16px; gap:25px; }
 .journey-studio .studio-brand { font-size:17px; }.journey-studio .studio-brand svg { width:23px; height:27px; }
 .journey-studio .studio-site-nav { gap:18px; font-size:12px; }.journey-studio .studio-bar .studio-account { min-width:0; font-size:12px; gap:15px; }
 .journey-studio .studio-bar .studio-toolbar { height:52px; padding-inline:16px; gap:12px; }
 .journey-studio .studio-breadcrumb { gap:10px; font-size:12px; }.journey-studio .studio-current { font-size:12px; }
 .journey-studio .studio-tools>.btn:not(.studio-default-download) { display:none; }
 .journey-studio .studio-tools .studio-default-download { margin:0; padding:6px 9px; }
 .journey-studio .startup-workspace { display:block; padding:12px; }.journey-studio .startup-viewport { height:100%; margin:0; }
 .journey-studio .startup-studio-tabs { background:#091820; height:48px; }.journey-studio .startup-studio-tabs>.active { color:var(--accent); border-color:var(--accent); }
}
@media(max-width:600px) { .journey-studio .studio-site-nav { display:none; }.journey-studio .studio-global { gap:12px; }.journey-studio .studio-default-download svg { display:none; } }
@media(max-width:1100px) { .platform-banner .hero-features { gap:16px; margin-top:25px; }.hero-features li { gap:7px; }.hero-features svg { width:24px; height:24px; }.hero-features strong { font-size:12px; }.platform-banner .hero-features p { font-size:10px; } }
@media(max-width:760px) { .platform-banner .hero-features { grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px 15px; max-width:350px; }.hero-features strong { font-size:13px; }.platform-banner .hero-features p { font-size:11px; } }
/* Explicit colors in every state prevent inherited light-theme hover rules. */
body:not(:has(.admin-layout,.admin-auth)) .btn:hover { filter:none; }
body:not(:has(.admin-layout,.admin-auth)) .btn.primary:hover:not(:disabled):not([aria-disabled=true]),
body:not(:has(.admin-layout,.admin-auth)) .model-detail .d-decision-card [data-download]:hover:not([aria-disabled=true]) { background:#80f8f9; border-color:#80f8f9; color:#03171a; }
body:not(:has(.admin-layout,.admin-auth)) .btn:not(.primary):hover:not(:disabled):not([aria-disabled=true]) { background:#1c3943; border-color:#57909a; color:#f3f7f8; }
body:not(:has(.admin-layout,.admin-auth)) :is(.btn,button):disabled,body:not(:has(.admin-layout,.admin-auth)) .btn[aria-disabled=true] { opacity:1; color:#8fa6b2; background:#162932; border-color:#2c4652; cursor:not-allowed; }
body:not(:has(.admin-layout,.admin-auth)) .period-picker { background:#132832; }body:not(:has(.admin-layout,.admin-auth)) .period-picker button { color:#bdd0dc; }body:not(:has(.admin-layout,.admin-auth)) .period-picker button.active { background:#43edf0; color:#03171a; }
body:not(:has(.admin-layout,.admin-auth)) .period-picker button:hover:not(.active) { background:#25434e; color:#f3f7f8; }
body:not(:has(.admin-layout,.admin-auth)) :is(.header a,.footer a,.text-link):hover { color:#80f8f9; }
body:not(:has(.admin-layout,.admin-auth)) .side-nav a.active { color:#71f3f3; background:#143039; box-shadow:inset 2px 0 #43edf0; }
body:not(:has(.admin-layout,.admin-auth)) .side-nav a:hover { color:#edfaff; background:#1c3943; }
body:not(:has(.admin-layout,.admin-auth)) .side-nav a.active:hover { color:#a5ffff; background:#1c4149; }

.journey-studio .studio-bar>.studio-download-status { top:118px; }
@media(max-width:999px) { .journey-studio .studio-bar>.studio-download-status { top:112px; } }

body:not(:has(.admin-layout,.admin-auth)) .search { background:#11252e; color:var(--ink); border-color:var(--line); }
body:not(:has(.admin-layout,.admin-auth)) .search input { background:transparent; color:var(--ink); }
body:not(:has(.admin-layout,.admin-auth)) .search input::placeholder { color:#9eb6c4; }
