:root{--bg-canvas:#F0EEE9;--bg-primary:#fff;--bg-raised:#FBFAF5;--accent:#2F3FA8;--accent-soft:#E4E7F5;--text-primary:#1A1A1A;--text-secondary:#555;--border-soft:#E5E1D6;--font-sans:Inter,"Noto Sans JP",-apple-system,BlinkMacSystemFont,"Segoe UI","Yu Gothic UI",sans-serif;--font-mono:Consolas,monospace}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--bg-canvas);color:var(--text-primary);font:16px/1.85 var(--font-sans);overflow-wrap:anywhere}a{color:var(--accent);text-underline-offset:4px}a:hover{text-decoration-thickness:2px}button{font:inherit}img{display:block;max-width:100%;height:auto}.wrap{max-width:1160px;margin:auto;padding-left:32px;padding-right:32px}.skip{position:absolute;left:20px;top:-100px;background:#fff;padding:10px;z-index:50}.skip:focus{top:8px}:focus-visible{outline:3px solid #9A6214;outline-offset:4px}.intent-nav{background:#F0EEE9F5;position:sticky;top:0;z-index:10;border-bottom:1px solid var(--border-soft)}.nav-row{display:flex;align-items:center;justify-content:space-between;padding-top:14px;padding-bottom:14px;gap:16px}.brand{display:flex;gap:10px;align-items:center;color:var(--text-primary);font-weight:650;text-decoration:none;white-space:nowrap}.brand-mark{display:grid;place-items:center;width:25px;height:25px;border-radius:5px;background:var(--accent);color:white;font:13px var(--font-mono)}nav{display:flex;align-items:center;gap:24px;flex-wrap:wrap}nav a{font-size:14px}.button{display:inline-flex;justify-content:center;align-items:center;min-height:48px;padding:11px 22px;border:1px solid var(--border-soft);border-radius:7px;color:var(--accent);background:var(--bg-primary);font-weight:600;text-decoration:none;font-size:14px}.button.primary{background:var(--accent);border-color:var(--accent);color:#fff}.button:hover{filter:brightness(.94)}.button.small{min-height:40px;padding:7px 16px}.breadcrumbs{font-size:12px;color:var(--text-secondary);padding-top:24px}.hero{padding-top:54px;padding-bottom:66px;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:42px}.eyebrow{font-size:12px;font-weight:650;letter-spacing:.12em;color:var(--accent);margin:0 0 16px}h1{font-size:clamp(29px,3.15vw,42px);line-height:1.5;letter-spacing:-.03em;margin:0 0 24px}h2{font-size:clamp(23px,2.4vw,29px);line-height:1.6;margin:0 0 22px;letter-spacing:-.02em}h3{font-size:19px;margin:0 0 10px;line-height:1.6}p{margin:0 0 18px}.lead{font-size:16px;color:var(--text-secondary);line-height:1.95}.actions{display:flex;flex-wrap:wrap;gap:12px;margin:26px 0 16px}.fine,figcaption{font-size:12px;line-height:1.8;color:var(--text-secondary)}figure{margin:0}.product-shot img{border:1px solid var(--border-soft);border-radius:8px;box-shadow:0 20px 45px #21254419}.product-shot figcaption{margin-top:16px}.copy-row output{display:block;font-size:12px;min-height:1em}.text-button{border:0;padding:0;background:none;color:var(--accent);text-decoration:underline;cursor:pointer;font-size:12px}.band{background:var(--bg-raised);border-top:1px solid var(--border-soft);border-bottom:1px solid var(--border-soft)}.answer{max-width:900px;padding-top:40px;padding-bottom:32px}.answer p:last-child{font-size:17px}.body-grid{display:grid;grid-template-columns:220px minmax(0,1fr);gap:64px;padding-top:60px;padding-bottom:60px}.toc{align-self:start;position:sticky;top:110px;font-size:13px;border-left:2px solid var(--border-soft);padding-left:20px}.toc p{font-weight:600}.toc a{display:block;margin-bottom:12px}.article section{margin-bottom:56px;scroll-margin-top:96px}.article section:last-child{margin-bottom:0}.table-scroll{overflow-x:auto}table{border-collapse:collapse;width:100%;background:#ffffff70;font-size:14px}th,td{padding:18px;text-align:left;border-bottom:1px solid var(--border-soft);vertical-align:top}th{width:30%;font-weight:600}.steps{padding:0;list-style:none;counter-reset:steps}.steps li{position:relative;padding:0 0 24px 58px;counter-increment:steps}.steps li:before{content:"0" counter(steps);position:absolute;left:0;top:0;color:var(--accent);font:24px/1.5 var(--font-mono)}.steps p{color:var(--text-secondary);margin:0}.example{padding:28px;border:1px solid #D2D7ED;border-radius:10px;background:#E8EBF750}.query{background:#fff;padding:18px;border-radius:6px;display:grid;grid-template-columns:65px 1fr;gap:12px;font-size:14px}.query dt{font-weight:600}.query dd{margin:0}.query code{color:var(--accent);font-size:17px}ul{padding-left:1.3em}li{margin-bottom:12px}.checklist li::marker{color:var(--accent)}.faq-item{border-bottom:1px solid var(--border-soft);padding:18px 0}.faq-item summary{font-weight:600;cursor:pointer}.faq-item .answer{padding:18px 0 0;font-size:14px;color:var(--text-secondary)}.closing{padding-top:64px;padding-bottom:54px;text-align:center}.closing .actions{justify-content:center}.related{padding-top:48px;padding-bottom:48px}.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:24px}.card{display:block;padding:26px;border:1px solid var(--border-soft);background:var(--bg-raised);border-radius:8px;color:var(--text-primary);text-decoration:none}.card:hover{border-color:var(--accent)}.card .number{font:12px var(--font-mono);color:var(--accent);margin-bottom:20px}.card p{font-size:13px;color:var(--text-secondary);margin:0}.footer{padding-top:28px;padding-bottom:40px;border-top:1px solid var(--border-soft);font-size:12px;color:var(--text-secondary)}.footer nav{gap:16px}.footer nav a{font-size:12px}.hub-head{padding-top:64px;padding-bottom:32px;max-width:840px;margin:0}.hub-cards{padding-bottom:50px}.hub-cards .cards{grid-template-columns:repeat(2,minmax(0,1fr))}.hub-head h1{font-size:clamp(32px,4vw,48px)}
@media(max-width:800px){.wrap{padding-left:22px;padding-right:22px}.hero{grid-template-columns:1fr;padding-top:32px;gap:28px}.product-shot{max-width:640px}.body-grid{grid-template-columns:1fr;gap:32px;padding-top:32px}.toc{position:static;display:flex;flex-wrap:wrap;gap:8px 16px}.toc p{width:100%;margin:0}.toc a{margin:0}.cards{grid-template-columns:1fr}.nav-row nav{gap:12px}.nav-row nav>a:first-child{display:none}.article section{margin-bottom:40px}.hub-cards .cards{grid-template-columns:1fr}.closing{padding-top:40px;padding-bottom:32px}.example{padding:20px}.steps li{padding-left:44px}.actions .button{flex:1 1 auto}.intent-nav nav a{font-size:12px}th,td{padding:12px}h1 br{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
