:root{--ink:#182131;--ink-hover:#0f1622;--text:#3b414c;--muted:#637083;--line:#d8dee6;--line-warm:#ddd5c8;--line-control:#7a8494;--paper:#faf9f6;--surface:#f3f5f8;--mint:#e6f1ee;--brand:#176b60;--brand-dark:#0f5048;--warm:#faf5ec;--warm-ink:#6b4e16;--danger:#9b2f2a;--danger-bg:#fdf0ee;--white:#fff;--radius-card:4px;--radius-control:4px;--focus:#b0620f;--container:1160px;--gutter:24px;--measure-body:720px;--rail:300px;--rail-gap:48px;--font:-apple-system, BlinkMacSystemFont, "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Noto Sans JP", "Noto Sans CJK JP", Meiryo, sans-serif}@media (width<=899px){:root{--gutter:16px}}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--white);color:var(--text);font-family:var(--font);margin:0;font-size:16px;line-height:1.8}a{color:var(--brand);text-underline-offset:4px;text-decoration-thickness:1px}a:hover{color:var(--brand-dark)}h1,h2,h3,h4{color:var(--ink);letter-spacing:.01em;margin:0 0 12px;font-weight:600;line-height:1.45}h1{font-size:clamp(26px,1.5rem + .7vw,34px);line-height:1.4}h2{margin-top:44px;font-size:22px}h3{margin-top:26px;font-size:18px}h4{margin-top:20px;font-size:16px}p{margin:0 0 16px}ul,ol{margin:0 0 16px;padding-left:1.4em}li{margin-bottom:6px}small,.small{font-size:14px}.muted{color:var(--muted)}img{max-width:100%;height:auto}code{background:var(--surface);border-radius:3px;padding:1px 5px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.92em}pre{background:var(--paper);color:var(--text);border:1px solid var(--line);border-radius:var(--radius-card);padding:16px 18px;font-size:13px;line-height:1.7;overflow:auto}pre code{color:inherit;background:0 0;padding:0}hr{border:0;border-top:1px solid var(--line);margin:28px 0}table{border-collapse:collapse;width:100%;font-size:15px}th,td{text-align:left;border-bottom:1px solid var(--line);vertical-align:top;padding:10px 12px}th{background:var(--paper);color:var(--text);font-size:13px;font-weight:600}.table-wrap{margin:0 0 20px;overflow-x:auto}dl{margin:0 0 16px}dd{margin:0}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--focus);outline-offset:3px}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.container,.wrap{max-width:var(--container);padding:32px var(--gutter) 72px;margin:0 auto}.site-header .inner,.site-footer .inner,.site-notice .inner{max-width:var(--container);padding-left:var(--gutter);padding-right:var(--gutter);margin:0 auto}main{display:block}.page-main{max-width:var(--measure-body);min-width:0}.page-grid{grid-template-columns:minmax(0, var(--measure-body)) minmax(260px, var(--rail));column-gap:var(--rail-gap);justify-content:space-between;align-items:start;row-gap:0;display:grid}.page-grid>*{min-width:0}.page-grid>.full{grid-column:1/-1}.page-grid>.page-main{max-width:none}.article-body{min-width:0}.rail{align-self:start;max-height:calc(100vh - 48px);position:sticky;top:24px;overflow:auto}.toc-inline{display:none}@media (width<=1023px){.page-grid{grid-template-columns:minmax(0,1fr)}.rail{max-height:none;position:static;overflow:visible}.toc-rail{display:none}.toc-inline{display:block}}.skip-link{background:var(--white);color:var(--ink);border:1px solid var(--ink);border-radius:var(--radius-control);z-index:100;padding:10px 14px;position:absolute;top:-100px;left:16px}.skip-link:focus{top:12px}.site-header{border-bottom:1px solid var(--line);background:var(--white);z-index:30;position:relative}.site-header .inner{flex-wrap:wrap;align-items:center;gap:8px 20px;min-height:64px;padding-top:10px;padding-bottom:10px;display:flex}.brand{letter-spacing:.02em;min-height:44px;color:var(--ink);flex-direction:column;justify-content:center;margin-right:auto;font-size:19px;font-weight:600;line-height:1.3;text-decoration:none;display:inline-flex}.brand small{letter-spacing:0;color:var(--muted);font-size:12px;font-weight:400;display:block}.site-nav{flex-wrap:wrap;gap:2px;display:flex}.site-nav a{min-height:44px;color:var(--text);align-items:center;padding:6px 12px;font-size:15px;text-decoration:none;display:inline-flex}.site-nav a:hover{color:var(--ink);text-underline-offset:8px;text-decoration:underline}.site-nav a[aria-current=page]{color:var(--ink);text-decoration:underline;text-decoration-color:var(--brand);text-underline-offset:8px;font-weight:600;text-decoration-thickness:2px}.nav-menu{border:0;margin:0;padding:0;display:none}.site-notice{background:var(--warm);color:var(--warm-ink);border-bottom:1px solid var(--line-warm);font-size:14px}.site-notice .inner{padding-top:8px;padding-bottom:8px}.site-footer{background:var(--ink);color:#ffffffd1;margin-top:24px;font-size:14px}.site-footer .inner{grid-template-columns:minmax(0,1.4fr) repeat(3,minmax(0,1fr));gap:28px 32px;padding-top:40px;padding-bottom:36px;display:grid}.site-footer a{color:var(--white);padding:8px 0;text-decoration:none;display:inline-block}.site-footer a:hover{color:var(--white);text-decoration:underline}.site-footer a:focus-visible{outline-color:var(--white)}.site-footer .footer-heading{color:var(--white);letter-spacing:.02em;margin:0 0 4px;font-size:14px;font-weight:600}.site-footer ul{margin:0;padding:0;list-style:none}.site-footer li{margin:0}.site-footer .footer-name{color:var(--white);letter-spacing:.02em;margin:0 0 4px;font-size:17px;font-weight:600}.site-footer .footer-tagline{margin:0 0 12px}.site-footer .footer-note{color:#ffffffad;margin:0;line-height:1.7}.crumbs{color:var(--muted);margin-bottom:16px;font-size:14px}.crumbs ol{flex-wrap:wrap;align-items:center;gap:6px;margin:0;padding:0;list-style:none;display:flex}.crumbs li+li:before{content:"/";color:var(--line);margin-right:6px}.crumbs a{align-items:center;min-height:44px;padding:0;display:inline-flex}.lead{color:var(--muted);max-width:var(--measure-body);font-size:17px}.section-head{justify-content:space-between;align-items:flex-end;gap:16px;margin:44px 0 14px;display:flex}.section-head h2{margin:0}button,.btn{border:1px solid var(--ink);border-radius:var(--radius-control);background:var(--white);min-height:44px;color:var(--ink);font:inherit;cursor:pointer;justify-content:center;align-items:center;gap:8px;padding:9px 18px;font-size:15px;font-weight:600;line-height:1.4;text-decoration:none;display:inline-flex}button:hover,.btn:hover{background:var(--paper);color:var(--ink)}.btn.primary,button.primary{background:var(--ink);border-color:var(--ink);color:var(--white)}.btn.primary:hover,button.primary:hover{background:var(--ink-hover);border-color:var(--ink-hover);color:var(--white)}button:disabled,.btn[aria-disabled=true]{background:var(--surface);color:var(--muted);border-color:var(--line);cursor:not-allowed}.btn.block{width:100%}label{margin-bottom:6px;font-size:14px;font-weight:600;display:block}label .optional{color:var(--muted);font-weight:400}input,select,textarea{border:1px solid var(--line-control);border-radius:var(--radius-control);background:var(--white);width:100%;min-height:44px;color:var(--text);font:inherit;padding:10px 12px}textarea{resize:vertical;min-height:140px;line-height:1.7}input[type=checkbox],input[type=radio]{width:20px;height:20px;min-height:20px;accent-color:var(--brand);flex:0 0 20px;margin:0}.field{margin-bottom:18px}.field .help{color:var(--muted);margin-top:6px;font-size:13px}.field .error{color:var(--danger);margin-top:6px;font-size:14px;font-weight:600}.check{cursor:pointer;align-items:flex-start;gap:10px;min-height:44px;font-size:15px;font-weight:500;display:flex}.check input{margin-top:5px}fieldset{border:0;min-width:0;margin:0 0 20px;padding:0}legend{margin-bottom:10px;padding:0;font-size:16px;font-weight:600}.choice-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.choice{border:1px solid var(--line);border-radius:var(--radius-card);cursor:pointer;color:var(--muted);background:var(--white);align-items:flex-start;gap:10px;min-height:72px;padding:14px;font-size:14px;display:flex}.choice strong{color:var(--ink);margin-bottom:2px;font-size:15px;font-weight:600;display:block}.choice:has(input:checked){border-color:var(--brand);background:var(--mint)}.choice input{margin-top:4px}.actions{flex-wrap:wrap;align-items:center;gap:10px;margin-top:20px;display:flex}.actions.between{justify-content:space-between}.card{border:1px solid var(--line);border-radius:var(--radius-card);background:var(--white);min-width:0;padding:20px 22px}.card.soft{background:var(--paper)}.card.green{background:var(--mint);border-color:#c4dbd4}.card h3{margin-top:0}.card .card-title{margin-top:0;font-size:18px}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.layout{grid-template-columns:minmax(0, 1fr) var(--rail);align-items:start;gap:24px;display:grid}.answer{background:var(--ink);color:var(--white);border-radius:var(--radius-card);margin:0 0 20px;padding:22px 24px}.answer strong{letter-spacing:.04em;color:#ffffffc7;margin-bottom:8px;font-size:14px;font-weight:600;display:block}.answer a{color:var(--white)}.answer a:focus-visible{outline-color:var(--white)}.answer .pill{color:var(--white);background:0 0;border-color:#ffffff73}.note{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-control);margin:16px 0;padding:12px 16px;font-size:14px;line-height:1.75}.note.warm{background:var(--warm);border-color:var(--line-warm);color:var(--warm-ink)}.note.danger{background:var(--danger-bg);color:var(--danger);border-color:#ecc4bf}.status{border-radius:var(--radius-control);border:1px solid var(--line);background:var(--paper);margin-top:14px;padding:12px 14px;font-size:14px}.status:empty{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:0;padding:0;display:block;position:absolute;overflow:hidden}.status.error{background:var(--danger-bg);color:var(--danger);border-color:#ecc4bf}.status.ok{background:var(--mint);color:var(--brand-dark);border-color:#c4dbd4}.pill{border-radius:var(--radius-control);border:1px solid var(--line);background:var(--white);color:var(--muted);white-space:nowrap;align-items:center;padding:2px 8px;font-size:12.5px;line-height:1.5;display:inline-flex}.pill.good{background:var(--mint);color:var(--brand-dark);border-color:#b9d4cb}.pill.warn{background:var(--warm);color:var(--warm-ink);border-color:var(--line-warm)}.pill.bad{background:var(--danger-bg);color:var(--danger);border-color:#ecc4bf}.pills{flex-wrap:wrap;gap:6px;margin:10px 0 16px;display:flex}details{border:1px solid var(--line);border-radius:var(--radius-card);margin:16px 0;padding:12px 16px}summary{cursor:pointer;min-height:44px;padding:8px 0;font-weight:600}.steps{gap:0;margin:0 0 22px;padding:0;list-style:none;display:flex}.steps li{color:var(--muted);border-bottom:2px solid var(--line);flex:1;padding:8px 0;font-size:13px}.steps li[aria-current=step]{color:var(--brand);border-color:var(--brand);font-weight:600}.kv{gap:10px;margin:0;display:grid}.kv dt{color:var(--muted);font-size:12px}.kv dd{margin:0;font-size:15px}.metric{color:var(--ink);letter-spacing:0;font-size:30px;font-weight:600;line-height:1.2}.metric small{font-size:14px;font-weight:400}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.link-44{align-items:center;min-height:44px;display:inline-flex}.toc{border:1px solid var(--line);border-radius:var(--radius-card);padding:16px 18px;font-size:14px}.toc ol{margin:0;padding-left:1.2em}.toc-rail{border:0;border-top:1px solid var(--line);border-radius:0;margin:0;padding:14px 0 0}.toc-rail .toc-heading{color:var(--muted);letter-spacing:.02em;margin:0 0 8px;font-size:13px;font-weight:600}.toc-rail ol{border-left:1px solid var(--line);padding:0 0 0 12px;list-style:none}.toc-rail li{margin:0}.toc-rail a{color:var(--text);padding:11px 0;line-height:1.6;text-decoration:none;display:block}.toc-rail a:hover{color:var(--ink);text-decoration:underline}.toc-inline{margin:0 0 24px;padding:0 16px}.toc-inline summary{align-items:center;min-height:44px;font-size:15px;display:flex}.toc-inline ol{padding:4px 0 12px 1.2em}.toc-inline li{margin:0}.toc-inline a{align-items:center;min-height:44px;padding:0;display:inline-flex}.article-meta{color:var(--muted);flex-wrap:wrap;gap:6px 16px;margin:0 0 20px;font-size:14px;display:flex}.compare-row{border-bottom:1px solid var(--line);grid-template-columns:150px repeat(3,minmax(0,1fr)) 100px;align-items:center;gap:12px;padding:12px 14px;font-size:14px;display:grid}.compare-row.head{background:var(--paper);color:var(--muted);font-size:12px;font-weight:600}.compare-table{border:1px solid var(--line);border-radius:var(--radius-card);overflow:hidden}.compare-row:last-child{border-bottom:0}.compare-row [data-label]:before{display:none}@media (width<=900px){.layout{grid-template-columns:1fr}.grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}.container,.wrap{padding-top:24px;padding-bottom:56px}.site-footer .inner{grid-template-columns:repeat(2,minmax(0,1fr))}.site-footer .footer-brand{grid-column:1/-1}}@media (width<=639.98px){.site-header .inner{gap:8px 12px}.brand small,.site-nav{display:none}.nav-menu{display:block}.nav-menu summary{min-height:44px;color:var(--ink);text-underline-offset:6px;text-decoration:underline;text-decoration-color:var(--line);border:0;border-radius:0;align-items:center;padding:0 6px;font-size:15px;font-weight:600;list-style:none;display:inline-flex}.nav-menu summary:hover{text-decoration-color:var(--ink)}.nav-menu summary::-webkit-details-marker{display:none}.nav-menu summary::marker{content:""}.nav-menu .when-open{display:none}.nav-menu[open] .when-open{display:inline}.nav-menu[open] .when-closed{display:none}.menu-nav{padding:8px var(--gutter) 12px;background:var(--white);border-bottom:1px solid var(--line);z-index:30;flex-direction:column;gap:0;display:flex;position:absolute;top:100%;left:0;right:0}.menu-nav a{min-height:48px;color:var(--ink);border-bottom:1px solid var(--line);align-items:center;padding:6px 4px;font-size:16px;text-decoration:none;display:flex}.menu-nav a:last-child{border-bottom:0}.menu-nav a[aria-current=page]{text-decoration:underline;text-decoration-color:var(--brand);text-underline-offset:6px;font-weight:600;text-decoration-thickness:2px}}@media (width<=640px){body{font-size:16px}h1{font-size:25px}h2{font-size:20px}.grid-2,.grid-3,.choice-grid{grid-template-columns:1fr}.card{padding:18px}.actions>*{flex:auto}.steps li{font-size:12px}.compare-row.head{display:none}.compare-row{grid-template-columns:1fr 1fr;gap:8px;padding:14px}.compare-row>strong{grid-column:1/-1;font-size:15px}.compare-row [data-label]:before{content:attr(data-label);color:var(--muted);margin-bottom:2px;font-size:11px;display:block}.compare-row>.pill{grid-column:2;justify-self:end}.site-footer .inner{grid-template-columns:minmax(0,1fr);gap:20px;padding-top:32px}.article-body table[data-labelled],.article-body table[data-labelled] tbody,.article-body table[data-labelled] tr,.article-body table[data-labelled] td{width:100%;min-width:0;display:block}.article-body table[data-labelled] thead{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.article-body table[data-labelled] tr{border:1px solid var(--line);border-radius:var(--radius-card);margin:0 0 10px;padding:10px 12px}.article-body table[data-labelled] td{border:0;padding:6px 0}.article-body table[data-labelled] td:before{content:attr(data-label);color:var(--muted);margin-bottom:2px;font-size:12px;display:block}.article-body .table-wrap{overflow:visible}}@media print{.site-header,.site-footer,.site-notice,.skip-link,.actions,.rail,.toc-inline{display:none}.container,.wrap{max-width:none;padding:0}.page-grid{display:block}}
