@font-face{font-family:"Bad Script";src:url("assets/fonts/bad-script-signature.0533e098b553.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
:root{--canvas:#f5f5f7;--surface:#fff;--text:#1d1d1f;--muted:#68686d;--border:#d8d8dc;--focus:#0071e3;--orange:#b74500;--brand:#e25d00;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;color:var(--text);background:#0b0b0c;font-size:16px;line-height:1.5;scroll-padding-top:calc(var(--header-height,72px) + 16px)}
*{box-sizing:border-box}body{margin:8px}button,input,select{font:inherit}button,a,select{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}
[hidden]{display:none!important}button{cursor:pointer;border:1px solid var(--border);background:var(--surface);color:var(--text);padding:10px 16px;min-height:44px;border-radius:9px;line-height:1.35;max-width:100%;overflow-wrap:anywhere}
button:hover{background:#ebebee}button:active{background:#dedee3}button:disabled{opacity:.5;cursor:default}
a{color:inherit;text-underline-offset:3px;overflow-wrap:anywhere}a:hover{text-decoration-thickness:2px}
:focus-visible{outline:3px solid var(--focus);outline-offset:3px}h2[tabindex]:focus,h3[tabindex]:focus{outline:0}h2[tabindex],h3[tabindex]{scroll-margin-top:16px}
p{margin:0 0 16px;overflow-wrap:anywhere}h1,h2,h3,h4{margin:0;font-weight:650;line-height:1.2;overflow-wrap:anywhere}h1{font-size:clamp(36px,4.5vw,56px);letter-spacing:-.045em}h2{font-size:24px;letter-spacing:-.025em}h3{font-size:26px;margin-bottom:16px;letter-spacing:-.025em}h4{font-size:19px;margin-bottom:14px}
.canvas{min-height:calc(100vh - 16px);background:var(--canvas);border-radius:18px}
.topbar{position:sticky;top:0;z-index:10;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 16px;min-height:72px;padding:12px 32px;background:var(--canvas);border-bottom:1px solid var(--border);border-radius:18px 18px 0 0}
.brand{font-size:28px;font-weight:750;letter-spacing:-1.2px;text-decoration:none;white-space:nowrap}.brand span{color:var(--muted)}
.help-link{font-size:14px;font-weight:550;padding:10px 14px;background:var(--text);color:#fff;border-radius:9px;text-decoration:none}
main{max-width:1224px;margin:auto;padding:0 32px}
.intro{display:grid;grid-template-columns:minmax(0,1fr) 220px;gap:40px;align-items:center;max-width:950px;padding:36px 0 28px}

.signature{margin-top:16px;font-family:"Bad Script",cursive;font-size:24px;color:var(--orange);display:flex;align-items:center;gap:10px}.signature svg{width:17px;height:17px;fill:currentColor}
.portrait-stage{position:relative;isolation:isolate;width:220px;height:224px;overflow:hidden}
.portrait-disc{position:absolute;z-index:-1;left:10px;top:12px;width:200px;height:200px;border-radius:50%;background:#ffd8c2}
.portrait-stage img{position:absolute;width:180px;height:auto;left:20px;top:0}
.preparation{padding:20px 0 22px;border-bottom:1px solid var(--border)}.preparation h2{font-size:20px}
.software-list{padding-bottom:32px}
.software-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:20px;align-items:center;padding:24px 0}
.software-entry{border-bottom:1px solid var(--border)}.software-copy{min-width:0}.software-copy h3{font-size:22px;margin:0 0 7px}.version{font-size:16px;font-weight:400;color:var(--muted);letter-spacing:0;margin-left:6px}.software-copy p{margin:0;color:var(--muted)}
.primary{display:inline-flex;align-items:center;justify-content:center;gap:10px;background:var(--text);border:1px solid var(--text);color:#fff;min-height:44px;padding:11px 18px;border-radius:9px;text-decoration:none;font-weight:550;line-height:1.35;text-align:center;max-width:100%;overflow-wrap:anywhere}
.primary:hover{background:#38383b}.install-toggle{min-width:210px}.install-toggle[aria-expanded=true]{background:transparent;color:var(--text);border-color:var(--border)}
.install-panel{padding:26px 24px 32px;margin:0 0 24px;background:var(--surface);border-radius:12px;min-width:0}
.panel-title{margin-bottom:22px}.setup-controls{display:flex;flex-wrap:wrap;align-items:flex-start;gap:24px;margin-bottom:16px}.setup-controls>div{max-width:100%}.control-label{font-weight:550;margin-bottom:10px}.choice-group{display:flex;flex-wrap:wrap;gap:8px}.choice-group button[aria-pressed=true]{background:var(--text);color:#fff;border-color:var(--text)}
.reset{font-size:16px;margin-left:auto;align-self:center}

.download-info{padding:0 0 24px;border-bottom:1px solid var(--border)}.download-link{margin:0}
.chapter-nav{display:flex;flex-wrap:wrap;gap:8px;padding:24px 0}.chapter-nav button{border-color:transparent;background:var(--canvas)}.chapter-nav [aria-current=step]{background:var(--text);color:#fff}
.guide-layout{display:grid;grid-template-columns:minmax(170px,220px) minmax(0,1fr);gap:32px}.step-nav{display:flex;flex-direction:column;gap:3px;align-self:start}.step-nav button{text-align:left;font-size:16px;display:flex;gap:8px;background:none;border-color:transparent;padding:10px 9px}.step-nav button span{color:var(--muted);flex:0 0 auto;white-space:nowrap}.step-nav button[aria-current=step]{background:var(--canvas);font-weight:600}.step-content{min-width:0}.step-content>p{max-width:800px}.mobile-step{display:none}
.code-block{margin:22px 0;background:var(--canvas);padding:14px;display:flex;flex-wrap:wrap;align-items:center;gap:12px;justify-content:space-between}.code-block button{font-size:16px}#copy-status:empty{display:none}pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:14px;line-height:1.6;margin:0;font-family:ui-monospace,SFMono-Regular,Consolas,monospace}.expected{background:var(--canvas);padding:16px;margin:0 0 20px}.expected-label{font-weight:550;margin-bottom:8px}
figure{margin:22px 0}.image-zoom{display:block;width:100%;padding:0;min-height:0;border:0;background:none;border-radius:0;text-align:left;cursor:zoom-in}.image-zoom:hover{background:none}.annotated-image{position:relative;display:block;width:fit-content;max-width:100%;line-height:0}.annotated-image img{display:block;max-width:100%;height:auto}.annotated-image svg{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible}
.annotated-image svg rect,.annotated-image svg path{fill:none;stroke:var(--orange);stroke-width:3}.annotated-image svg circle{fill:var(--orange);stroke:#fff;stroke-width:2}.annotated-image svg text{fill:#fff;font-family:Arial,sans-serif;font-size:16px;font-weight:700;text-anchor:middle;stroke:none}.annotated-image svg .arrowhead{fill:var(--orange);stroke:none}.image-error{padding:16px;background:var(--canvas)}
.step-actions{display:flex;justify-content:space-between;gap:12px;margin-top:24px}.step-actions button{min-width:0}
.completion{border-top:1px solid var(--border);padding-top:22px;margin-top:24px}.check-result{display:flex;align-items:flex-start;gap:10px;margin:12px 0}.check-result input{width:20px;height:20px;flex:0 0 auto;margin-top:2px;accent-color:var(--text)}.completion [role=status]{margin-top:18px}.completion [role=status]:empty{display:none}
.fallback-downloads{display:flex;flex-wrap:wrap;gap:12px}
.fallback-guide{padding:0 0 24px}.fallback-guide summary{cursor:pointer;padding:12px 0;font-weight:550}.fallback-guide h4{margin-top:24px}.fallback-guide ol{padding-left:24px}.fallback-guide li{margin:12px 0}.is-enhanced .fallback-guide{display:none}.fallback-status{margin:16px 0}

.skip-link{position:fixed;top:10px;left:16px;background:var(--text);color:#fff;padding:12px;z-index:100;transform:translateY(-150%)}.skip-link:focus{transform:none}
.help-link{min-height:44px;display:inline-flex;align-items:center}
dialog{border:1px solid var(--border);border-radius:12px;padding:20px;max-width:calc(100vw - 32px);width:1100px;max-height:calc(100dvh - 32px);background:var(--surface);color:var(--text)}dialog::backdrop{background:#000a}.dialog-top{display:flex;align-items:center;justify-content:space-between;gap:16px}.dialog-top h2{font-size:20px}.dialog-scroll{margin-top:16px;overflow:auto;max-height:65dvh;overscroll-behavior:contain}.dialog-scroll .annotated-image{max-width:none}.dialog-scroll img{max-width:none}
@media(max-width:840px){.guide-layout{grid-template-columns:minmax(0,1fr)}.step-nav{display:none}.mobile-step{display:block;font-size:16px;color:var(--muted);margin-bottom:20px}.mobile-step select{display:block;width:100%;min-width:0;max-width:100%;min-height:44px;margin-top:6px;padding:8px;border:1px solid var(--border);border-radius:6px;background:var(--surface);color:var(--text);font-size:16px}.install-panel{padding:24px 20px}.reset{margin-left:0}.setup-controls{gap:16px}}
@media(max-width:700px){:root{scroll-padding-top:calc(var(--header-height,64px) + 16px)}body{margin:0}.canvas{border-radius:0;min-height:100vh}.topbar{min-height:64px;padding:10px 18px;border-radius:0}.brand{font-size:25px}.help-link{font-size:12px;padding:10px}.intro{grid-template-columns:minmax(0,1fr) 100px;gap:12px;padding:28px 0 22px;align-items:start}.intro h1{font-size:36px}.signature{font-size:20px;gap:8px}.signature svg{width:14px;height:14px}.portrait-stage{width:100px;height:144px;margin-top:6px}.portrait-disc{width:100px;height:100px;left:0;top:16px}.portrait-stage img{width:100px;left:0}main{padding:0 20px}.preparation{padding:8px 0 20px}.preparation h2{font-size:19px}.software-row{grid-template-columns:minmax(0,1fr);gap:16px;padding:22px 0}.software-copy h3{font-size:22px}.software-copy p{font-size:16px}.install-toggle{width:100%;min-width:0}.install-panel{padding:22px 14px;margin-bottom:20px}.panel-title{font-size:23px}.setup-controls{display:block}.setup-controls>div{margin-bottom:18px}.reset{margin:0}.chapter-nav{gap:6px}.chapter-nav button{font-size:14px;padding:9px 11px}.step-content h3{font-size:23px}.step-actions{flex-wrap:wrap}.step-actions .primary{flex:1}.dialog-top h2{font-size:18px}dialog{padding:14px;max-width:calc(100vw - 16px)}.dialog-top button{font-size:14px;padding:10px}.completion .primary{width:100%}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
