:root{color:#eeeaf4;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-synthesis:none;background:#111015;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif;line-height:1.55}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,a,input,select,summary{-webkit-tap-highlight-color:transparent}button,select{color:#eeeaf4;cursor:pointer;background:#211e29;border:1px solid #3c3748;border-radius:10px;min-height:46px;padding:.65rem 1rem}button:hover{background:#302939}button:disabled{opacity:.35;cursor:default}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline-offset:4px;outline:3px solid #bc9cff}button.primary{color:#1b132a;background:#baa0ef;border-color:#0000;font-weight:650}button.primary:hover{background:#ccb5fa}.quiet{background:0 0}.app{max-width:1440px;margin:auto;padding:0 20px 28px}.top{border-bottom:1px solid #2b2733;justify-content:space-between;align-items:center;gap:20px;min-height:86px;display:flex}.brand{color:#f1edf7;align-items:center;gap:12px;font-size:1.1rem;font-weight:700;text-decoration:none;display:flex}.brand-mark{color:#c3a5f5;font-size:32px}.top-meta{color:#938b9f;font-size:.8rem}.materials{max-width:740px;margin:48px auto}.eyebrow{letter-spacing:.16em;color:#b99adf;margin:0 0 12px;font-size:.7rem;font-weight:700}h1{letter-spacing:-.045em;margin:0 0 20px;font-size:clamp(2rem,5vw,3.6rem);line-height:1.15}h1 span{color:#a29aae}h2{letter-spacing:-.02em;margin:0 0 12px;font-size:1.15rem}p{margin:0 0 16px}.intro{color:#aaa3b5;max-width:600px}.section-heading{justify-content:space-between;align-items:center;margin-top:32px;display:flex}.section-heading span{color:#b0a5bf;font-size:.8rem}.checklist{border-top:1px solid #302a39}.check-row{cursor:pointer;border-bottom:1px solid #302a39;align-items:flex-start;gap:16px;padding:19px 4px;display:flex}.check-row input{accent-color:#bca1ee;flex:none;width:22px;height:22px;margin:3px 0}.check-row strong{font-size:.95rem;font-weight:550;display:block}.check-row small{color:#a79eb3;margin-top:5px;font-size:.83rem;display:block}.check-row:has(input:checked){color:#b9a7d5}.notice{color:#bfb3cc;background:#201a28;border:1px solid #44364e;border-radius:12px;margin:24px 0;padding:18px;font-size:.85rem}.notice strong{color:#e0ccef}.notice p{margin:8px 0 0}.start-actions{flex-direction:column;gap:10px;display:flex}.start-actions .primary{justify-content:space-between;align-items:center;min-height:56px;display:flex}.local-note{text-align:center;color:#93899f;margin-top:16px;font-size:.75rem}.guide-heading{justify-content:space-between;align-items:center;gap:16px;margin:26px 0 18px;display:flex}.guide-heading h1{margin:0;font-size:clamp(1.4rem,3vw,2rem)}.guide-heading .eyebrow{margin-bottom:6px}.guide-heading button{font-size:.8rem}progress{background:#30293b;border:none;border-radius:4px;width:100%;height:3px;margin-bottom:20px;display:block}progress::-webkit-progress-bar{background:#30293b}progress::-webkit-progress-value{background:#b698e4}progress::-moz-progress-bar{background:#b698e4}.guide-layout{gap:22px;display:grid}.viewer{background:#19171f;border:1px solid #302b3b;border-radius:16px;min-width:0;overflow:hidden}.scene__viewport{height:clamp(260px,43svh,540px);position:relative}.viewer-tools{border-top:1px solid #302b3b;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding:10px 14px;display:flex}.viewer-tools span{color:#a89eb6;font-size:.7rem}.viewer-tools button{min-height:44px;padding:.4rem .65rem;font-size:.75rem}.instruction{min-width:0}.instruction p{color:#c5bdcf;font-size:.92rem}.instruction .eyebrow{color:#b99adf;font-size:.7rem}.part-ids{font-family:ui-monospace,monospace;color:#93849f!important;font-size:.72rem!important}.measurements{flex-wrap:wrap;gap:6px;margin:16px 0;display:flex}.measurements span{color:#d3c2e7;background:#201b29;border:1px solid #3a3245;border-radius:6px;padding:5px 9px;font-size:.76rem}.result{border-top:1px solid #332c3e;gap:12px;padding:14px 0;display:flex}.result span{color:#bca3e6}.result p{margin:0;font-size:.85rem}.instruction-tools{flex-wrap:wrap;gap:8px;margin:14px 0;display:flex}.instruction-tools button{font-size:.8rem}.safety-note{margin-top:18px;color:#a99ab8!important;font-size:.75rem!important}.help{background:#292132;border-radius:10px;padding:16px}.help p:last-child{margin:0}summary{cursor:pointer;min-height:48px;padding:14px 0;font-size:.85rem}details{border-top:1px solid #3a3046}.cut{margin:0 0 12px}.cut svg{background:#ebe5db;border-radius:8px;width:100%;height:240px}.cut figcaption{color:#b4a5c2;margin:8px 0;font-size:.75rem}pre{max-height:200px;font-size:.7rem;overflow:auto}.step-nav{padding:14px 0 max(14px,env(safe-area-inset-bottom));z-index:5;background:#111015f5;border-top:1px solid #322b3d;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;margin-top:24px;display:grid;position:sticky;bottom:0}.step-nav select{text-overflow:ellipsis;width:100%}.step-nav label{min-width:0}.sr-only{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.preflight{pointer-events:none;text-align:center;background:#19171fcc;flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.preflight span{color:#bca0ee;font-size:36px}.preflight strong{margin:10px}.preflight p{color:#a89db7;font-size:.8rem}.loading{padding:24px}@media (width>=900px){.app{padding-inline:40px}.guide-layout{grid-template-columns:minmax(0,1.45fr) minmax(320px,1fr);align-items:start;gap:32px}.scene__viewport{height:min(60svh,620px)}.instruction{max-height:65svh;padding-right:10px;overflow:auto}.step-nav{margin-top:20px}.materials{margin-top:64px}}@media (width<=540px){.top-meta{display:none}.top{min-height:70px}.materials{margin-top:32px}.guide-heading{align-items:flex-start}.guide-heading button{max-width:150px}.step-nav{gap:6px}.step-nav button{padding:.6rem .75rem;font-size:.82rem}.step-nav select{padding:.6rem;font-size:.8rem}.viewer-tools span{max-width:160px}.guide-layout{gap:20px}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
