@import"https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700;800&display=swap";:root{--lang-switch-bg: var(--surface);--ctl-fg: var(--ink-soft);--ctl-bg: var(--surface);--ctl-border: var(--border);--ctl-accent: var(--accent);--rt-border: var(--border);--rt-muted: var(--ink-faint);--rt-hover: var(--surface-2);--rt-pad-x: 12px;--me-border: var(--border);--me-surface: var(--surface);--me-shadow: var(--shadow);--me-muted: var(--ink-soft);--ad-border: var(--border);--ad-muted: var(--ink-faint);--bg:#F6F7F8;--surface:#FFFFFF;--surface-2:#F1F3F4;--ink:#191D1F;--ink-soft:#525A5F;--ink-faint:#6B7379;--border:#E4E7E9;--border-strong:#D2D7DA;--accent:#2196F3;--accent-strong:#1565C0;--accent-tint:#E3F2FD;--maxw:760px;--sans:"Noto Sans JP", system-ui, sans-serif;--mono:ui-monospace, "SFMono-Regular", Menlo, Monaco, Consolas, monospace}html[data-theme=dark]{--bg:#13171A;--surface:#1B2024;--surface-2:#222a2f;--ink:#E9EDEF;--ink-soft:#A7B0B6;--ink-faint:#868E94;--border:#2A3137;--border-strong:#3A434A;--accent:#4a9eff;--accent-strong:#6db3ff;--accent-tint:#1a2d40}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:16.5px;line-height:1.95;letter-spacing:.01em;font-feature-settings:"palt" 1;transition:background .3s ease,color .3s ease}.wrap{max-width:var(--maxw);margin:0 auto;padding:0 22px}.masthead{position:sticky;top:0;z-index:20;background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:saturate(180%) blur(10px);border-bottom:1px solid var(--border)}.masthead .row{max-width:var(--maxw);margin:0 auto;padding:11px 22px;display:flex;align-items:center;justify-content:space-between;gap:14px}.brand{display:inline-flex;align-items:center;gap:9px;min-width:0;font-weight:800;font-size:15.5px;letter-spacing:.01em;color:var(--ink);text-decoration:none}.brand-logo{flex:none}.brand-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mh-actions{display:flex;align-items:center;gap:10px;flex:none}.tagpill{white-space:nowrap;font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-faint);border:1px solid var(--border);padding:3px 9px;border-radius:var(--r-pill)}html[data-theme=dark] .sun{display:block}html[data-theme=dark] .moon,html[data-theme=light] .sun{display:none}html[data-theme=light] .moon{display:block}nav.crumb{padding:18px 0 0}nav.crumb a,.foot a,article a{color:var(--accent-strong);text-decoration:none}nav.crumb a:hover,.foot a:hover,article a:hover{text-decoration:underline}nav.crumb a,.foot a{display:inline-flex;align-items:center;min-height:24px}header.post{padding:26px 0 6px}.kicker{display:inline-flex;align-items:center;gap:9px;font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--accent-strong);font-weight:700;margin-bottom:16px;font-family:var(--mono)}.kicker:before{content:"";width:22px;height:2px;background:var(--accent);border-radius:var(--r-pill)}.kicker:after{content:"";width:10px;height:2px;background:var(--accent);border-radius:var(--r-pill);opacity:.4}h1{font-weight:800;font-size:clamp(26px,5.4vw,34px);line-height:1.5;letter-spacing:.01em;margin:0 0 18px}.lede{font-size:17.5px;line-height:2;color:var(--ink-soft);margin:0}.byline{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-top:22px;font-size:12px;color:var(--ink-faint);font-family:var(--mono)}.byline .sep{color:var(--border-strong)}article{padding:10px 0 30px}article p{margin:1.2em 0}h2{font-weight:800;font-size:clamp(20px,4vw,24px);line-height:1.5;margin:2.4em 0 .6em;padding-top:1.3em;border-top:none;position:relative}h2:before{content:"";position:absolute;top:0;left:0;right:0;height:5px;background:linear-gradient(180deg,var(--accent) 0 1px,transparent 1px 3px,color-mix(in srgb,var(--accent) 35%,transparent) 3px 4px,transparent 4px)}h2 .num{font-size:13px;font-weight:800;color:var(--accent);margin-right:13px}h3{font-weight:700;font-size:16.5px;margin:1.7em 0 .3em;color:var(--ink)}strong{font-weight:700}ul,ol{margin:1.1em 0;padding-left:1.3em}li{margin:.45em 0}table{width:100%;border-collapse:separate;border-spacing:0;margin:1.5em 0;overflow:hidden;border:1px solid var(--border);border-radius:var(--r-card);background:var(--surface);box-shadow:var(--shadow);font-size:14px}th{background:var(--accent-tint);color:var(--accent-strong);text-align:left;font-weight:800;padding:11px 12px;border-bottom:1px solid var(--border)}td{padding:11px 12px;border-bottom:1px solid var(--border);color:var(--ink-soft);vertical-align:top}tr:last-child td{border-bottom:0}tr:nth-child(2n) td{background:color-mix(in srgb,var(--surface-2) 45%,transparent)}.highlight{background:var(--surface);border:1px solid var(--border);border-left:4px solid var(--accent);border-radius:var(--r-card);padding:14px 16px;margin:1.4em 0;box-shadow:var(--shadow);color:var(--ink-soft)}.points{background:var(--surface);border:1px solid var(--border);border-left:4px solid var(--accent);padding:22px 24px 20px;margin:30px 0;border-radius:var(--r-card);box-shadow:var(--shadow)}.points .ttl{font-weight:800;font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--accent-strong);margin-bottom:10px}.points ul{margin:0;padding-left:0;list-style:none}.points li{position:relative;padding-left:26px;margin:.5em 0}.points li:before{content:"-";position:absolute;left:0;color:var(--accent);font-weight:800}ol.steps{list-style:none;counter-reset:st;padding-left:0}ol.steps>li{counter-increment:st;position:relative;padding:.55em 0 .55em 52px;border-bottom:1px solid var(--border);margin:0}ol.steps>li:last-child{border-bottom:0}ol.steps>li:before{content:counter(st);position:absolute;left:0;top:.62em;width:32px;height:32px;border-radius:50%;background:var(--accent-strong);color:var(--bg);font-weight:800;font-size:15px;display:flex;align-items:center;justify-content:center}.tbl{overflow-x:auto;margin:1.6em 0}caption{caption-side:top;text-align:left;font-size:12.5px;color:var(--ink-faint);margin-bottom:8px}.mono{font-feature-settings:normal;letter-spacing:.04em;color:var(--accent-strong);font-weight:800}h3 .lab{display:inline-block;min-width:1.5em;color:var(--accent-strong)}figure.map{margin:34px 0;padding:0;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-card);overflow:hidden;box-shadow:var(--shadow)}.map-head{padding:18px 22px 4px}.map-head .cap{font-weight:800;font-size:13px;color:var(--ink)}.map-head .cap b{color:var(--accent-strong)}.map-head .sub{font-size:13px;color:var(--ink-soft);margin:6px 0 0;line-height:1.7}.chips{display:flex;flex-wrap:wrap;gap:8px;padding:14px 22px 4px}.chip{display:inline-flex;align-items:center;gap:var(--ctl-md-gap);font-family:var(--sans);box-sizing:border-box;min-height:var(--ctl-md-h);font-size:var(--ctl-md-fs);font-weight:700;padding:var(--ctl-md-pad);border:var(--ctl-border-w) solid var(--border-strong);background:var(--surface-2);color:var(--ink);border-radius:var(--r-control);cursor:pointer;transition:opacity .2s ease,background .2s ease,color .2s ease,border-color .2s ease;user-select:none;white-space:nowrap}.chip .sw{width:14px;height:14px;border-radius:50%;flex:none}.chip[aria-pressed=false]{background:transparent;color:var(--ink-faint);border-color:var(--border);text-decoration:line-through;text-decoration-thickness:1px}.chip[aria-pressed=false] .sw{filter:grayscale(1);opacity:.4}.chip:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.map-stage{padding:6px 14px 14px}.map-stage svg{width:100%;height:auto;display:block}.ln{transition:opacity .25s ease}.ln.off{opacity:.08}.st-label{font-family:var(--sans);font-size:12px;font-weight:700;fill:var(--ink);paint-order:stroke;stroke:var(--surface);stroke-width:3px;stroke-linejoin:round}.st-label.faint{fill:var(--ink-soft);font-size:11px}.map-note{padding:0 22px 18px;font-size:11.5px;color:var(--ink-faint)}.readout{padding:0 22px 16px;font-size:13px;color:var(--ink-soft)}.readout b{color:var(--accent-strong);font-weight:800}.toc{margin:24px 0 0;padding:0 16px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-card)}.toc summary{display:flex;align-items:center;min-height:var(--ctl-md-h);cursor:pointer;font-weight:700;color:var(--ink-soft)}.toc ol{margin:0 0 14px;padding-left:1.4em;display:grid;gap:6px}.toc a{color:var(--accent-strong);text-decoration:none}.toc a:hover{text-decoration:underline}.places,.sources{margin:10px 0 36px}.place-list{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:8px 16px}.sources ul{margin:0;padding-left:1.2em;font-size:13px;line-height:1.8;color:var(--ink-soft)}.sources a,.places a{color:var(--accent-strong)}.related{margin:10px 0 36px}.related .article-list{margin-top:1em}.related .meta{line-height:1.7}.article-list{list-style:none;padding:0;margin:2em 0 0;display:grid;gap:14px}.article-index{margin-top:8px}.article-list li{margin:0;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-card);box-shadow:var(--shadow);overflow:hidden}.article-list a{display:block;padding:18px;color:var(--ink);text-decoration:none}.article-thumbnail{display:block;width:100%;height:auto;aspect-ratio:1200/630;object-fit:cover;object-position:center;border-radius:var(--r-control);margin:0 0 12px;background:var(--surface-2)}.article-list a:has(.article-thumbnail){padding:12px 12px 18px}.article-list a:has(.article-thumbnail) .article-card-title,.article-list a:has(.article-thumbnail) .meta{margin-left:6px;margin-right:6px}.article-card-title{display:block;font-size:16px;font-weight:800;line-height:1.65}.article-list a:hover{color:var(--accent-strong);text-decoration:none}.article-list .meta{display:block;margin-top:6px}.cta-box,.cta{margin:42px 0;padding:30px 28px;border-radius:var(--r-card);color:var(--ink);position:relative;overflow:hidden;background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);text-align:left}.cta .ey{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--accent-strong);font-weight:700;margin-bottom:10px}.cta-box h3,.cta h3{margin:0 0 8px;font-size:21px;font-weight:800;line-height:1.5;color:var(--ink)}.cta-box p,.cta p{margin:.6em 0 0;color:var(--ink-soft);font-size:14.5px;line-height:1.8}.cta-btn,.cta .btn{display:inline-flex;align-items:center;gap:var(--ctl-md-gap);margin-top:20px;box-sizing:border-box;min-height:var(--ctl-md-h);background:var(--accent-strong);color:var(--bg);font-weight:800;font-size:var(--ctl-md-fs);padding:var(--ctl-md-pad);border-radius:var(--r-control);text-decoration:none;transition:transform .15s ease}.cta-btn:hover,.cta .btn:hover{transform:translateY(-1px);text-decoration:none}.meta{color:var(--ink-faint);font-size:12.5px}.foot{border-top:1px solid var(--border);margin-top:8px;padding:24px 0 64px}.foot a{font-size:14px}.foot .small{color:var(--ink-faint);font-size:12px;margin-top:12px}.foot a.foot-app-link{display:inline-flex;align-items:center;gap:8px;margin-top:18px;background:var(--accent-strong);color:var(--bg);font-weight:800;box-sizing:border-box;min-height:var(--ctl-md-h);font-size:var(--ctl-md-fs);padding:var(--ctl-md-pad);border-radius:var(--r-control);text-decoration:none;transition:opacity .15s}.foot-app-link:hover{opacity:.85;text-decoration:none}.foot-app-link:before{content:"";width:15px;height:15px;flex-shrink:0;background-color:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14.106 5.553a2 2 0 0 0 1.788 0l3.659-1.83A1 1 0 0 1 21 4.619v12.764a1 1 0 0 1-.553.894l-4.553 2.277a2 2 0 0 1-1.788 0l-4.212-2.106a2 2 0 0 0-1.788 0l-3.659 1.83A1 1 0 0 1 3 19.381V6.618a1 1 0 0 1 .553-.894l4.553-2.277a2 2 0 0 1 1.788 0z'/%3E%3Cpath d='M15 5.764v15'/%3E%3Cpath d='M9 3.236v15'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14.106 5.553a2 2 0 0 0 1.788 0l3.659-1.83A1 1 0 0 1 21 4.619v12.764a1 1 0 0 1-.553.894l-4.553 2.277a2 2 0 0 1-1.788 0l-4.212-2.106a2 2 0 0 0-1.788 0l-3.659 1.83A1 1 0 0 1 3 19.381V6.618a1 1 0 0 1 .553-.894l4.553-2.277a2 2 0 0 1 1.788 0z'/%3E%3Cpath d='M15 5.764v15'/%3E%3Cpath d='M9 3.236v15'/%3E%3C/svg%3E") center/contain no-repeat}@media(max-width:767.98px){body{font-size:15.5px}.tagpill{display:none}.rtable tr:nth-child(2n) td{background:transparent}}nav.crumb a{font-size:13.5px}h2{display:flex;align-items:baseline;gap:13px}h2 .num{flex:none;margin-right:0}a.inline{color:var(--accent-strong);text-decoration:none;border-bottom:1px solid var(--border-strong)}a.inline:hover{border-color:var(--accent)}.demo{margin:26px 0 8px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-card);box-shadow:var(--shadow);overflow:hidden}.demo-top{padding:20px 22px 0}.demo-ey{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-faint);font-weight:700;margin-bottom:8px}.demo-q{font-weight:800;font-size:18px;line-height:1.55;margin:0 0 4px}.demo-hint{font-size:13.5px;color:var(--ink-soft);margin:6px 0 0;line-height:1.7}.seg{display:inline-flex;padding:4px;gap:4px;background:var(--surface-2);border-radius:var(--r-control);margin:16px 22px 0}.seg button{appearance:none;word-break:keep-all;text-align:center;border:0;background:transparent;cursor:pointer;font-family:var(--sans);font-weight:700;font-size:var(--ctl-md-fs);color:var(--ink-soft);box-sizing:border-box;min-height:var(--ctl-md-h);padding:var(--ctl-md-pad);border-radius:var(--r-control);transition:all .2s ease;display:inline-flex;align-items:center;gap:var(--ctl-md-gap)}.seg button .n{font-size:12px;opacity:.7;font-weight:700}.seg button[aria-selected=true]{background:var(--surface);color:var(--accent-strong);box-shadow:var(--shadow)}html[data-theme=dark] .seg button[aria-selected=true]{background:#0f1316;color:var(--accent-strong)}.stage-wrap{padding:8px 10px 4px;position:relative}.stage-wrap svg{width:100%;height:auto;display:block}.rline{transition:opacity .45s ease}.stage-wrap.clean .rline:not(.ess){opacity:0}.rlabel{font-family:var(--sans);font-size:12px;font-weight:700;fill:var(--ink);paint-order:stroke;stroke:var(--surface);stroke-width:3.2px;stroke-linejoin:round;opacity:0;transition:opacity .4s ease}.stage-wrap.clean .rlabel{opacity:1}.hubdot{fill:var(--ink-faint);opacity:.5}.stage-wrap.clean .hubdot{opacity:0;transition:opacity .3s}.readout{display:flex;align-items:center;gap:12px;padding:6px 22px 18px;font-size:13px;color:var(--ink-soft);flex-wrap:wrap}.countpill{display:inline-flex;align-items:baseline;gap:6px;font-weight:800;color:var(--ink);background:var(--surface-2);padding:6px 13px;border-radius:var(--r-pill);font-size:14px}.countpill .big{font-size:19px;color:var(--accent-strong)}.readout .arrow{color:var(--ink-faint)}.demo-note{padding:0 22px 18px;font-size:11.5px;color:var(--ink-faint);line-height:1.6}.feelist{list-style:none;padding:0;margin:1.2em 0;display:grid;gap:1px;background:var(--border);border:1px solid var(--border);border-radius:var(--r-card);overflow:hidden}.feelist li{margin:0;background:var(--surface);padding:13px 16px;display:flex;gap:12px;align-items:flex-start;font-size:15px}.feelist li .q{color:var(--accent);font-weight:800;flex:none}.cards{display:grid;gap:14px;margin:1.6em 0}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-card);padding:20px 18px;box-shadow:var(--shadow)}.card .ic{width:38px;height:38px;border-radius:var(--r-control);background:var(--accent-tint);color:var(--accent-strong);display:flex;align-items:center;justify-content:center;margin-bottom:13px}.card .ic svg{width:20px;height:20px}.card h4{margin:0 0 6px;font-size:15.5px;font-weight:700}.card p{margin:0;font-size:13.5px;color:var(--ink-soft);line-height:1.8}.uses{display:grid;gap:12px;margin:1.4em 0}.use{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-card);padding:16px 17px}.use .t{font-weight:700;font-size:14.5px;margin-bottom:4px;display:flex;align-items:center;gap:8px}.use .t .dot{width:7px;height:7px;border-radius:50%;background:var(--accent);flex:none}.use p{margin:0;font-size:13px;color:var(--ink-soft);line-height:1.75}.shot{margin:1.8em 0;border:1px solid var(--border);border-radius:var(--r-card);overflow:hidden;background:var(--surface);box-shadow:var(--shadow)}.shot .bar{display:flex;align-items:center;gap:7px;padding:10px 14px;border-bottom:1px solid var(--border);background:var(--surface-2)}.shot .bar i{width:11px;height:11px;border-radius:50%;background:var(--border-strong);display:inline-block}.shot .bar .u{margin-left:10px;font-size:11.5px;color:var(--ink-faint);font-family:ui-monospace,monospace;letter-spacing:.02em}.shot .ph{aspect-ratio:16/10;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;text-align:center;padding:24px;color:var(--ink-faint);background:repeating-linear-gradient(135deg,var(--surface-2),var(--surface-2) 11px,transparent 11px,transparent 22px)}.shot .ph .lbl{font-family:ui-monospace,monospace;font-size:12.5px;letter-spacing:.03em;color:var(--ink-soft);background:var(--surface);padding:7px 14px;border-radius:var(--r-control);border:1px solid var(--border)}.shot .ph .sub{font-size:11.5px}.figcap{font-size:12px;color:var(--ink-faint);margin:-.6em 0 1.6em;padding-left:2px}.cta .btn .ar{transition:transform .15s ease}.cta .btn:hover .ar{transform:translate(3px)}@media(min-width:768px){.cards{grid-template-columns:repeat(3,1fr)}}@media(min-width:768px){.uses{grid-template-columns:1fr 1fr}}@media(max-width:767.98px){h2{flex-direction:column;gap:3px}.seg{width:calc(100% - 44px)}.seg button{flex:1;justify-content:center;flex-direction:column;gap:0}}
