:root { --paper:#f5f3ef; --ink:#1d1e1c; --rust:#982e27; --line:#dcd9d1; --muted:#6c6b65; --white:#fff; --font:'Manrope',Arial,sans-serif; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-top:32px; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:var(--font); font-size:15px; -webkit-font-smoothing:antialiased; }
a { color:inherit; text-decoration:none; }
button,input { font:inherit; }
button,a,input,summary { -webkit-tap-highlight-color:transparent; }
button { cursor:pointer; }
button:focus-visible,a:focus-visible,summary:focus-visible { outline:3px solid #ba5948; outline-offset:4px; }
[hidden] { display:none!important; }
.visually-hidden { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.skip-link { position:fixed; top:-80px; left:20px; z-index:20; padding:14px 20px; background:var(--ink); color:var(--white); }
.skip-link:focus { top:15px; }
.guide-header { min-height:94px; padding:18px 4.5%; border-bottom:1px solid var(--line); display:flex; align-items:center; gap:30px; }
.guide-brand { display:inline-flex; align-items:center; min-height:44px; font-weight:800; font-size:27px; letter-spacing:-1.5px; white-space:nowrap; }
.header-label { font-size:13px; color:var(--muted); }
.guide-header nav { display:flex; align-items:center; gap:20px; margin-left:auto; }
.print-button { border:0; background:transparent; color:var(--ink); display:inline-flex; justify-content:center; align-items:center; gap:9px; min-height:44px; min-width:44px; padding:10px 4px; font-size:13px; font-weight:600; }
.print-button:hover { color:var(--rust); }
.print-button svg { width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:1.5; }
.workspace-link { display:inline-flex; align-items:center; justify-content:center; min-height:44px; background:var(--ink); color:var(--white); padding:13px 18px; border-radius:4px; font-size:13px; font-weight:600; }
.workspace-link:hover { background:#383a35; }
.guide-hero { max-width:1320px; margin:0 auto; padding:64px 4.5% 24px; }
h1 { font-size:clamp(38px,4vw,54px); font-weight:700; letter-spacing:-1.5px; line-height:1.2; margin:0 0 18px; }
.guide-intro { max-width:720px; }
.guide-intro p { font-size:15px; line-height:1.85; color:var(--muted); margin:0; }
.guide-search-wrap { position:relative; display:flex; align-items:center; margin-top:30px; padding:0 18px; min-height:58px; border:1px solid #c8c5bd; border-radius:4px; background:var(--white); max-width:850px; }
.guide-search-wrap svg { width:20px; height:20px; flex-shrink:0; fill:none; stroke:var(--muted); stroke-width:1.5; }
.guide-search-wrap input { width:100%; min-width:0; height:58px; padding:0 13px; border:0; outline:0; background:transparent; font-size:16px; color:var(--ink); }
.guide-search-wrap:focus-within { outline:3px solid #ba5948; outline-offset:3px; }
.guide-search-wrap input::placeholder { color:var(--muted); opacity:1; }
.search-status { min-height:20px; font-size:13px; line-height:1.6; color:var(--muted); margin:12px 0 0; }
.guide-layout { max-width:1320px; margin:0 auto; padding:12px 4.5% 80px; display:grid; grid-template-columns:220px minmax(0,1fr); gap:64px; }
.sidebar-inner { position:sticky; top:32px; max-height:calc(100vh - 64px); overflow-y:auto; padding:4px; margin:-4px; }
.small-label { color:var(--muted); font-size:13px; font-weight:600; padding:0 10px 12px; margin:0; }
.guide-contents { display:flex; flex-direction:column; }
.guide-contents a { display:flex; align-items:center; min-height:44px; font-size:13px; line-height:1.6; border-left:2px solid transparent; padding:10px 12px; }
.guide-contents a.active { color:var(--rust); border-left-color:var(--rust); background:#eeebe5; font-weight:700; }
.guide-contents a:hover { color:var(--rust); background:#eeebe5; }
.guide-articles { min-width:0; }
.guide-anchor { display:block; scroll-margin-top:32px; }
.guide-section { padding-bottom:48px; margin-bottom:48px; border-bottom:1px solid var(--line); scroll-margin-top:32px; }
.guide-section:last-child { border-bottom:0; margin-bottom:0; padding-bottom:0; }
h2 { font-size:clamp(26px,2.5vw,32px); letter-spacing:-.7px; font-weight:700; line-height:1.3; margin:0 0 18px; }
.section-lead { font-size:14px; line-height:1.85; color:var(--muted); max-width:720px; margin:0 0 24px; }
.quick-start-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin:24px 0 30px; }
.quick-start-grid a { padding:18px 16px; border:1px solid var(--line); border-radius:4px; background:var(--white); display:flex; flex-direction:column; }
.quick-start-grid a:hover { border-color:#b3afa6; }
.quick-start-grid strong { font-size:13px; line-height:1.6; font-weight:700; margin-bottom:8px; }
.quick-start-grid a>span:last-child { color:var(--muted); font-size:12px; line-height:1.85; }
details { border-top:1px solid var(--line); scroll-margin-top:32px; }
details:last-of-type { border-bottom:1px solid var(--line); }
summary { list-style:none; font-size:14px; font-weight:600; line-height:1.7; display:flex; justify-content:space-between; align-items:center; gap:20px; min-height:48px; padding:18px 0; cursor:pointer; }
summary::-webkit-details-marker { display:none; }
summary>span { flex-shrink:0; font-size:20px; font-weight:400; color:var(--muted); line-height:1; transition:transform .15s; }
details[open]>summary>span { transform:rotate(45deg); }
.detail-content { padding:0 0 24px; font-size:14px; line-height:1.9; color:#56574f; overflow-wrap:anywhere; }
.detail-content>p { margin:0 0 16px; }
.detail-content>p:last-child { margin-bottom:0; }
.detail-content strong { color:var(--ink); font-weight:600; }
.detail-content a:not(.text-link) { color:var(--rust); text-decoration:underline; text-underline-offset:3px; }
code { font-size:.9em; }
.steps { margin:0; padding:0 0 0 24px; }
.steps li { padding:0 0 0 8px; margin:0 0 20px; }
.steps li:last-child { margin-bottom:0; }
.steps li::marker { color:var(--muted); font-size:13px; font-weight:600; }
.steps li>strong { display:block; font-size:14px; line-height:1.7; margin-bottom:5px; }
.steps p { margin:0; line-height:1.9; font-size:14px; }
.guide-note { margin:24px 0 0; padding:18px; border-left:2px solid var(--rust); background:#eeebe5; }
.guide-note p { font-size:13px; color:#56574f; line-height:1.9; margin:0; }
.guide-note strong { color:var(--ink); font-weight:600; }
.section-footnote { font-size:13px; line-height:1.9; color:var(--muted); margin:22px 0 0; }
.text-link { display:inline-flex; align-items:center; min-height:44px; padding:10px 0; font-size:14px; color:var(--rust); margin-top:18px; }
.text-link:hover { text-decoration:underline; text-underline-offset:4px; }
.mini-example { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); margin-top:24px; padding:18px; background:#eeebe5; gap:6px 20px; }
.mini-example span { font-size:12px; line-height:1.6; grid-row:1; color:var(--muted); }
.mini-example strong { font-size:16px; line-height:1.5; font-weight:600; grid-row:2; }
.hardware-list { margin-top:24px; }
.hardware-list>div { display:grid; grid-template-columns:180px minmax(0,1fr); gap:24px; padding:22px 0; border-top:1px solid var(--line); }
.hardware-list>div:last-child { border-bottom:1px solid var(--line); }
.hardware-list h3 { font-weight:600; font-size:14px; margin:0; line-height:1.8; }
.hardware-list p { font-size:14px; color:#56574f; line-height:1.9; margin:0; }
.guide-end { margin-top:32px; }
.guide-end a { display:inline-flex; align-items:center; justify-content:center; min-height:44px; background:var(--ink); color:var(--white); padding:13px 18px; border-radius:4px; font-size:13px; font-weight:600; }
.guide-end a:hover { background:#383a35; }
.guide-footer { display:flex; flex-wrap:wrap; align-items:center; gap:12px 28px; padding:24px 4.5%; border-top:1px solid var(--line); }
.guide-footer .guide-brand { margin-right:auto; }
.guide-footer nav { display:flex; flex-wrap:wrap; gap:8px 24px; align-items:center; font-size:12px; line-height:1.8; color:var(--muted); }
.guide-footer a:not(.guide-brand) { display:inline-flex; align-items:center; min-height:44px; }
.guide-footer a:hover { color:var(--rust); }
.public-social-links { display:inline-flex; flex-wrap:wrap; gap:14px; }
.no-results { padding:28px; border:1px solid var(--line); border-radius:4px; background:var(--white); }
.no-results p { font-size:22px; font-weight:600; line-height:1.5; margin:0 0 12px; }
.no-results>span { font-size:14px; line-height:1.8; color:var(--muted); display:block; }
.no-results button { display:block; min-height:44px; padding:12px 18px; background:var(--ink); color:var(--white); border:0; border-radius:4px; margin-top:20px; font-size:13px; font-weight:600; }

#privacy-content .guide-eyebrow { display:flex; align-items:center; gap:10px; font-size:12px; line-height:1.7; margin-bottom:18px; color:var(--muted); }
#privacy-content .status-dot { width:6px; height:6px; border-radius:50%; background:var(--rust); }
#privacy-content h1 em { font-style:normal; }
#privacy-content .guide-intro { display:flex; justify-content:space-between; align-items:center; gap:24px; }
#privacy-content .edition { font-size:10px; line-height:1.8; text-align:right; color:var(--muted); }
#privacy-content .guide-contents a>span { min-width:24px; font-size:10px; color:var(--muted); }
#privacy-content .section-heading { margin-bottom:14px; }
#privacy-content .section-number { font-size:11px; line-height:1.7; color:var(--rust); }
.guide-footer>p,.guide-footer>span { font-size:12px; line-height:1.8; color:var(--muted); }

@media(max-width:1050px) {
    .guide-layout { grid-template-columns:190px minmax(0,1fr); gap:36px; }
    .quick-start-grid { grid-template-columns:1fr; }
    .hardware-list>div { grid-template-columns:1fr; gap:8px; }
}
@media(max-width:700px) {
    #privacy-content .edition { display:none; }
    .guide-header { min-height:78px; padding:12px 5%; gap:12px; }
    .guide-header .guide-brand { font-size:23px; }
    .header-label { display:none; }
    .guide-header nav { gap:10px; }
    .print-button { padding:10px; }
    .print-button span { display:none; }
    .workspace-link { padding:12px; font-size:12px; }
    .guide-hero { padding:40px 5% 20px; }
    h1 { font-size:38px; letter-spacing:-1px; margin-bottom:16px; }
    .guide-intro p { font-size:14px; }
    .guide-search-wrap { margin-top:24px; padding:0 14px; }
    .guide-search-wrap input { font-size:16px; padding-right:0; }
    .guide-layout { display:block; padding:0 5% 52px; }
    .guide-sidebar { margin-bottom:36px; }
    .sidebar-inner { position:static; max-height:none; overflow:visible; }
    .small-label { padding-left:0; }
    .guide-contents { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:2px 12px; }
    .guide-contents a { font-size:13px; padding:10px 9px; }
    .guide-section { padding-bottom:36px; margin-bottom:36px; }
    h2 { font-size:27px; }
    .quick-start-grid { gap:10px; }
    .guide-note { padding:16px; }
    .guide-note p,.section-footnote { font-size:14px; }
    .guide-footer { padding:22px 5%; gap:8px 20px; }
    .guide-footer .guide-brand { flex-basis:100%; }
    .no-results { padding:22px; }
}
@media(max-width:360px) {
    .guide-header { flex-wrap:wrap; }
    .guide-header nav { gap:8px; }
    .workspace-link { padding:12px 10px; font-size:11px; }
    .mini-example { gap:6px 10px; padding:14px; }
    .mini-example span { font-size:11px; }
    .mini-example strong { font-size:14px; }
}
@media(prefers-reduced-motion:reduce) {
    html { scroll-behavior:auto; }
    *,*::before,*::after { transition:none!important; animation:none!important; }
}
@media print {
    :root { --paper:#fff; --ink:#222; --rust:#222; --line:#ddd; }
    body { font-family:Arial,sans-serif; font-size:11pt; }
    .guide-header { color:#222; background:#fff; min-height:0; padding:0 0 14px; border-bottom:1px solid #ddd; }
    .guide-header nav,.guide-sidebar,.guide-search-wrap,.search-status,.no-results,.guide-footer,.quick-start-grid,.text-link,.guide-end,.skip-link { display:none!important; }
    .header-label { display:block; font-size:10pt; }
    .guide-hero { max-width:none; padding:24px 0; }
    h1 { font-size:28pt; letter-spacing:-1pt; margin:0 0 12px; }
    .guide-intro p { font-size:10pt; }
    .guide-layout { display:block; max-width:none; padding:0; }
    .guide-section { break-inside:auto; margin:0 0 24px; padding:0 0 24px; }
    h2 { font-size:19pt; break-after:avoid; }
    summary { break-after:avoid; min-height:0; padding:14px 0 10px; font-size:11pt; }
    summary>span { display:none; }
    .steps li { break-inside:avoid; }
    .steps li::marker { font-size:10pt; }
    .detail-content,.steps p,.steps li>strong,.hardware-list h3,.hardware-list p { font-size:10pt; }
    .guide-note { break-inside:avoid; background:#f5f5f5; }
    .guide-note p,.section-footnote { font-size:9pt; }
    .hardware-list>div { grid-template-columns:130px minmax(0,1fr); gap:20px; break-inside:avoid; }
    .hardware-list p { grid-column:2; }
    @page { margin:17mm; }
}

main[tabindex="-1"]:focus { outline:none; }
