/* Route-first rendering: hide only the route workspace briefly, never the whole site.
   A bootstrap timeout marks the route ready if any later runtime module fails, so the
   user sees a usable fallback instead of a permanently blank page. */
html[data-initial-route="home"] .app{visibility:hidden}
html[data-initial-route="home"][data-route-ready] .app{visibility:visible}
html[data-initial-route="guides"] .app,
html[data-initial-route="templates"] .app,
html[data-initial-route="search"] .app{visibility:hidden}
html[data-initial-route="guides"][data-route-ready] .app,
html[data-initial-route="templates"][data-route-ready] .app,
html[data-initial-route="search"][data-route-ready] .app{visibility:visible}

/* Buttons in standalone sections must keep readable contrast regardless of legacy button rules. */
.section-route-page button,.section-route-page .primary-cta{background:#1768b5!important;color:#fff!important;border:1px solid #1768b5!important;text-shadow:none!important}
.section-route-page button:hover,.section-route-page .primary-cta:hover{background:#105491!important;border-color:#105491!important;color:#fff!important}
.section-route-page button:focus-visible,.section-route-page .primary-cta:focus-visible{outline:3px solid rgba(23,104,181,.25)!important;outline-offset:2px!important}
.section-route-page button:disabled{background:#9fb9d3!important;border-color:#9fb9d3!important;color:#fff!important;cursor:not-allowed!important}

.model-config-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 16px;margin-top:18px}.model-config-grid label{display:grid;grid-template-columns:1fr;gap:6px;margin:0;color:#334155;font-size:.88rem}.model-config-grid input,.model-config-grid select{width:100%;min-height:42px;border:1px solid #c6d0db;border-radius:9px;background:#fff;padding:8px 10px;color:#10233f}.code-loader{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:end;margin-top:18px;padding-top:18px;border-top:1px solid #e1e7ed}.code-loader label{display:grid;grid-template-columns:1fr;gap:6px;margin:0}.code-loader [data-load-status]{grid-column:1/-1;color:#526174;font-size:.84rem}.model-card code,.roller-parts code{display:block;margin:8px 0 12px;padding:8px;border-radius:8px;background:#eef5fb;color:#173a62;overflow:auto;font-size:.78rem;white-space:nowrap}.assembly-strip{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:14px 0;padding:13px 15px;border:1px solid #cfe0f2;border-radius:12px;background:#f2f8ff;color:#264e73}.assembly-axle{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.84rem}.model-code-box{margin:.65rem 0;padding:.8rem;border:1px solid #d9e3ee;border-radius:.65rem;background:#fff}.model-code-current,.model-code-search{display:flex;gap:.45rem;align-items:center;flex-wrap:wrap;margin:.45rem 0}.model-code-search input{min-width:12rem;flex:1}.sheet-code-chip{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;margin-top:10px;padding:8px 10px;border:1px solid #dce3ea;border-radius:10px;background:#fafbfd;color:#526174;font-size:11px}.sheet-code-chip code{font-size:10px;color:#173a62}

/* Search is a first-class navigation action, not a tiny utility. */
.workspace-nav .nav-search-link,.site-global-nav .nav-search-link{display:inline-flex;align-items:center;gap:6px!important;font-weight:700!important;color:#1359a5!important;background:#eef6ff!important;border:1px solid #d5e8fb!important}.nav-search-link svg,.header-search-link svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}.header-search-link{display:inline-flex!important;align-items:center!important;gap:7px!important;min-height:38px!important;padding:7px 11px!important;border-radius:9px!important;background:#eef6ff!important;color:#1359a5!important;border:1px solid #d5e8fb!important;font-size:11px!important;font-weight:750!important;text-decoration:none!important}.home-search-banner{display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;align-items:center;margin:16px 0 4px;padding:14px 16px;background:#fff;border:1px solid #dce3ea;border-radius:14px;box-shadow:0 2px 8px rgba(15,23,42,.04)}.home-search-banner svg{width:24px;height:24px;fill:none;stroke:#1768b5;stroke-width:2}.home-search-banner form{display:flex;gap:8px}.home-search-banner input{flex:1;min-width:0}.home-search-banner button{min-width:90px;background:#1768b5!important;color:#fff!important}

/* Shared navigation used on articles/about/privacy. */
.site-global-header{position:sticky;top:0;z-index:1800;display:grid;grid-template-columns:minmax(260px,1fr) auto minmax(260px,1fr);align-items:center;gap:18px;padding:9px 18px;background:rgba(255,255,255,.97);border-bottom:1px solid #dfe5eb;box-shadow:0 2px 10px rgba(15,23,42,.04);backdrop-filter:blur(10px)}.site-global-header .brand{display:flex;align-items:center;gap:10px;color:#10233f;text-decoration:none}.site-global-header .brand img{width:42px;height:42px}.site-global-header .brand strong{font-family:Georgia,'Times New Roman',serif;font-size:21px}.site-global-title{justify-self:center;font-size:12px;color:#667085}.site-global-tools{justify-self:end;display:flex;align-items:center;gap:8px}.site-global-nav{display:flex;align-items:center;gap:4px;padding:8px 18px;background:#fff;border-bottom:1px solid #dce3ea;overflow-x:auto;white-space:nowrap;position:sticky;top:61px;z-index:1700}.site-global-nav a{display:inline-flex;align-items:center;min-height:34px;padding:7px 10px;border-radius:8px;color:#10233f;text-decoration:none;font-size:11px}.site-global-nav a:hover{background:#f4f7fa}.site-global-nav a.active{background:#e9f2fc;color:#1359a5;font-weight:700}.site-global-lang{display:flex;gap:3px}.site-global-lang a{padding:6px 7px;color:#344054;text-decoration:none;font-size:11px;font-weight:700}

@media(max-width:900px){.model-config-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.site-global-header{grid-template-columns:minmax(0,1fr) auto}.site-global-title{display:none}.site-global-nav{top:61px}}
@media(max-width:640px){.model-config-grid{grid-template-columns:1fr}.code-loader{grid-template-columns:1fr}.home-search-banner{grid-template-columns:1fr}.home-search-banner form{flex-direction:column}.site-global-header{padding:7px 10px}.site-global-header .brand strong{font-size:17px}.site-global-header .brand img{width:34px;height:34px}.header-search-link span{display:none}.header-search-link{width:40px;justify-content:center!important;padding:0!important}.site-global-tools{gap:4px}.site-global-nav{padding:6px 9px}.site-global-nav a{font-size:10px;padding:6px 8px}}
