:root{--c-bg: #f4f6f8;--c-surface: #ffffff;--c-surface-2: #eef1f4;--c-text: #21272e;--c-text-soft: #5f6a75;--c-primary: #0d5c63;--c-primary-dark: #08454b;--c-accent: #b8912f;--c-accent-soft: #f6f0e2;--c-border: #d8dee5;--c-rule: #c3ccd6;--c-category: #e6f0f1;--radius: 6px;--maxw: 720px;--font-mono: "JetBrains Mono", "SF Mono", "Menlo", monospace}*{box-sizing:border-box}html{font-family:Noto Sans JP,Hiragino Kaku Gothic ProN,Hiragino Sans,sans-serif;color:var(--c-text);background:var(--c-bg);line-height:1.9;-webkit-font-smoothing:antialiased}body{margin:0;font-size:16px}a{color:var(--c-primary)}a:hover{color:var(--c-primary-dark)}img{max-width:100%;height:auto}.container{max-width:var(--maxw);margin:0 auto;padding:0 20px}.page-wrap{max-width:1140px;margin:0 auto;padding:0 20px}@media(min-width:1024px){.page-wrap.with-sidebar{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:48px;align-items:start}.page-wrap.with-sidebar .main-col{min-width:0}.sidebar{position:sticky;top:20px}}@media(max-width:1023px){.sidebar{margin-top:48px}}.side-box{background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--radius);padding:18px 20px;margin-bottom:18px;font-size:.88rem}.side-box h2{font-size:1rem;font-weight:700;margin:0 0 12px;padding-bottom:8px;border-bottom:2px solid var(--c-primary)}.side-box ul{list-style:none;margin:0;padding:0}.side-box li{margin:0;padding:8px 0;border-bottom:1px solid var(--c-surface-2)}.side-box li:last-child{border-bottom:none}.side-box li a{text-decoration:none;color:var(--c-text);display:flex;gap:8px;align-items:flex-start;line-height:1.5}.side-box li a:hover{color:var(--c-primary)}.side-box li a .mini-icon{flex-shrink:0}.side-cta{display:block;background:var(--c-primary);color:#fff;border-radius:var(--radius);border-bottom:4px solid var(--c-accent);padding:20px;text-decoration:none;margin-bottom:18px;text-align:center}.side-cta .cta-emoji{font-size:2rem;display:block;margin-bottom:6px}.side-cta strong{display:block;font-size:1.02rem;margin-bottom:6px}.side-cta span{font-size:.8rem;opacity:.92;line-height:1.6;display:block}.side-cta:hover{opacity:.94;color:#fff}.site-header{background:var(--c-surface);border-bottom:1px solid var(--c-border);padding:0}.letterhead{max-width:1140px;margin:0 auto;padding:22px 20px 14px;display:flex;align-items:flex-end;justify-content:space-between;gap:12px 24px;flex-wrap:wrap}.site-title{font-size:1.5rem;font-weight:900;color:var(--c-text);text-decoration:none;letter-spacing:.02em;line-height:1.2;display:flex;align-items:center;gap:10px}.site-title .mark{width:.9em;height:.9em;background:var(--c-primary);display:inline-block;clip-path:polygon(0 0,100% 0,100% 68%,68% 100%,0 100%)}.site-title .accent{color:var(--c-primary)}.doc-meta{display:flex;flex-direction:column;align-items:flex-end;gap:2px}.dm-line{font-family:var(--font-mono);font-size:.66rem;letter-spacing:.12em;color:var(--c-text-soft)}.dm-link{text-decoration:none;color:var(--c-accent)}.dm-link:hover{color:var(--c-primary)}.cat-nav{max-width:1140px;margin:0 auto;padding:0 20px;display:flex;gap:0;flex-wrap:wrap;border-top:1px solid var(--c-border);counter-reset:navchap}.cat-nav a{font-size:.84rem;font-weight:600;text-decoration:none;color:var(--c-text);padding:10px 18px 10px 14px;border-right:1px solid var(--c-border);display:inline-flex;align-items:baseline;gap:7px}.cat-nav a:first-child{border-left:1px solid var(--c-border)}.cat-nav a:before{counter-increment:navchap;content:counter(navchap,decimal-leading-zero);font-family:var(--font-mono);font-size:.66rem;color:var(--c-primary)}.cat-nav a:hover{background:var(--c-category)}.cat-nav a.nav-check:before{content:"APX";color:var(--c-accent)}.card-list{list-style:none;padding:0;margin:0;background:none;border:none;counter-reset:brf;display:block}.card{counter-increment:brf;padding:16px 4px 16px 0;border-bottom:1px solid var(--c-border);display:grid;grid-template-columns:3.4em minmax(0,1fr);gap:0 6px;align-items:start}.card:first-child{border-top:2px solid var(--c-text)}.card:last-child{border-bottom:1px solid var(--c-border)}.card .card-index{padding-top:2px}.card .card-index:before{content:"No." counter(brf,decimal-leading-zero);font-family:var(--font-mono);font-size:.72rem;color:var(--c-primary);border-left:3px solid var(--cat-color, var(--c-primary));padding-left:8px}.card a.card-title{font-size:1.06rem;font-weight:700;text-decoration:none;color:var(--c-text);display:block;margin-bottom:4px;line-height:1.65}.card a.card-title:hover{color:var(--c-primary);text-decoration:underline;text-underline-offset:4px}.card .meta{font-family:var(--font-mono);font-size:.7rem;color:var(--c-text-soft);display:flex;gap:12px;align-items:center;margin-bottom:5px}.card .meta .cat{color:var(--cat-color, var(--c-primary));font-weight:600;font-family:Noto Sans JP,sans-serif;letter-spacing:.04em}.card .meta .cat:before{content:"[";color:var(--c-rule)}.card .meta .cat:after{content:"]";color:var(--c-rule)}.card .meta .rev{color:var(--c-accent);border:1px solid var(--c-accent);border-radius:2px;padding:0 6px;font-size:.64rem}.card p{margin:0;font-size:.86rem;color:var(--c-text-soft);line-height:1.7;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.card .card-main{min-width:0}.article-header{margin:36px 0 24px}.page-head{padding-bottom:18px;border-bottom:3px solid var(--c-primary)}.head-top{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:8px}.page-tab{display:inline-block;font-size:.8rem;font-weight:700;text-decoration:none;color:var(--c-primary);background:var(--c-category);border-left:4px solid var(--tab-color, var(--c-primary));border-radius:3px;padding:4px 14px}.date-stamp{font-family:var(--font-mono);font-size:.72rem;color:var(--c-text-soft);border:1px solid var(--c-border);border-radius:3px;padding:2px 10px;letter-spacing:.04em;white-space:nowrap}.article-header h1{font-size:1.65rem;font-weight:900;line-height:1.5;margin:8px 0 10px}.article-header .meta{font-family:var(--font-mono);font-size:.72rem;color:var(--c-text-soft);display:flex;gap:14px;flex-wrap:wrap;align-items:center}.read-time:before{content:"⏱ "}.keypoints{background:var(--c-surface);border:1px solid var(--c-border);border-top:4px solid var(--c-primary);border-radius:var(--radius);padding:18px 24px;margin:20px 0 8px}.keypoints .kp-title{font-weight:900;font-size:.95rem;margin:0 0 10px;color:var(--c-primary);letter-spacing:.08em}.keypoints .kp-title:before{content:"SUMMARY ";font-family:var(--font-mono);font-size:.68rem;color:var(--c-accent);letter-spacing:.1em;margin-right:6px}.keypoints ul{list-style:none;margin:0;padding:0;counter-reset:kp}.keypoints li{counter-increment:kp;padding:8px 0 8px 2.2em;border-bottom:1px solid var(--c-surface-2);font-size:.92rem;line-height:1.75;position:relative}.keypoints li:last-child{border-bottom:none}.keypoints li:before{content:counter(kp,decimal-leading-zero);position:absolute;left:0;top:.6em;font-family:var(--font-mono);font-size:.75rem;color:var(--c-primary);font-weight:600}.next-step{border:1px solid var(--c-border);border-left:6px solid var(--c-accent);border-radius:var(--radius);background:var(--c-surface);padding:20px 24px;margin:36px 0 8px;position:relative}.next-step .ns-title{position:absolute;top:-12px;left:16px;background:var(--c-accent);color:#fff;font-size:.78rem;font-weight:700;padding:2px 14px;border-radius:3px;margin:0;letter-spacing:.1em}.next-step .ns-label{font-weight:900;font-size:1.08rem;margin:8px 0 6px;color:var(--c-text)}.next-step .ns-detail{margin:0;font-size:.92rem;line-height:1.8}.prose h2{font-size:1.3rem;font-weight:900;margin:2.2em 0 .8em;padding:.4em 0 .4em .8em;border-left:6px solid var(--c-primary);background:var(--c-surface);border-radius:0 var(--radius) var(--radius) 0;line-height:1.5}.prose h3{font-size:1.08rem;font-weight:700;margin:1.8em 0 .6em;padding-bottom:.25em;border-bottom:2px solid var(--c-border)}.prose table{border-collapse:collapse;width:100%;font-size:.9rem;display:block;overflow-x:auto}.prose th,.prose td{border:1px solid var(--c-border);padding:8px 12px;text-align:left;background:var(--c-surface)}.prose th{background:var(--c-category)}.prose blockquote{margin:1.2em 0;padding:12px 18px;background:var(--c-surface);border-left:4px solid var(--c-accent);border-radius:var(--radius);font-size:.92rem}.prose ul,.prose ol{padding-left:1.5em}.prose li{margin:.35em 0}.prose img{border-radius:var(--radius);display:block;margin:1.4em auto}.disclaimer-box{margin:40px 0 20px;padding:16px 20px;background:var(--c-surface);border:1px dashed var(--c-rule);border-radius:var(--radius);font-size:.8rem;color:var(--c-text-soft)}.sources-box{margin:32px 0;padding:18px 22px;background:var(--c-surface);border:1px solid var(--c-border);border-left:5px solid var(--c-primary);border-radius:var(--radius);font-size:.88rem}.sources-box h2{font-size:1rem;font-weight:700;margin:0 0 10px;background:none;border:none;padding:0}.sources-box ul{margin:0;padding-left:1.4em}.faq-box{margin:40px 0}.faq-box h2{font-size:1.3rem;font-weight:900;padding:.4em 0 .4em .8em;border-left:6px solid var(--c-primary);background:var(--c-surface);border-radius:0 var(--radius) var(--radius) 0}.faq-item{background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--radius);padding:16px 20px;margin:12px 0}.faq-item .q{font-weight:700;margin:0 0 8px}.faq-item .q:before{content:"Q. ";color:var(--c-primary);font-family:var(--font-mono)}.faq-item .a{margin:0;font-size:.92rem}.faq-item .a:before{content:"A. ";color:var(--c-accent);font-weight:700;font-family:var(--font-mono)}.site-footer{margin-top:72px;background:var(--c-surface);border-top:3px double var(--c-rule);padding:36px 0 44px;font-size:.82rem;color:var(--c-text)}.site-footer .inner{max-width:860px;margin:0 auto;padding:0 20px}.doc-table-title{font-family:var(--font-mono);font-size:.66rem;letter-spacing:.16em;color:var(--c-text-soft);margin:0 0 8px}.doc-table{border:1px solid var(--c-border);border-bottom:none;margin-bottom:18px}.dt-row{display:grid;grid-template-columns:8.5em minmax(0,1fr);border-bottom:1px solid var(--c-border)}.dt-label{background:var(--c-bg);padding:10px 14px;font-weight:700;font-size:.78rem;border-right:1px solid var(--c-border)}.dt-value{padding:10px 16px;font-size:.8rem;line-height:1.8;color:var(--c-text-soft)}.dt-value a{color:var(--c-primary);text-decoration:none}.dt-value a:hover{text-decoration:underline}.colo-copy{margin:0;text-align:center;font-family:var(--font-mono);font-size:.68rem;letter-spacing:.1em;color:var(--c-text-soft)}@media(max-width:560px){.dt-row{grid-template-columns:6em minmax(0,1fr)}}.hero{text-align:left;padding:48px 20px 8px;max-width:1140px;margin:0 auto}.hero .hero-kicker{font-family:var(--font-mono);font-size:.72rem;letter-spacing:.14em;color:var(--c-accent);margin:0 0 8px}.hero h1{font-size:1.9rem;font-weight:900;line-height:1.55;margin:0 0 12px}.hero h1 em{font-style:normal;color:var(--c-primary)}.hero p{color:var(--c-text-soft);font-size:.95rem;max-width:680px;margin:0}.section-title{font-size:1.25rem;font-weight:900;margin:52px 0 16px;padding:.35em 0 .35em .7em;border-left:6px solid var(--c-primary);background:var(--c-surface);border-radius:0 var(--radius) var(--radius) 0}.section-lead{margin:-6px 0 18px;font-size:.88rem;color:var(--c-text-soft)}.chapters{background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--radius);padding:10px 0;margin:24px 0 8px;counter-reset:chap}.chapters-title{font-weight:900;font-size:1.05rem;margin:14px 24px 6px}.chapters-title:before{content:"INDEX ";font-family:var(--font-mono);font-size:.68rem;color:var(--c-accent);letter-spacing:.12em;margin-right:8px}.chapters-sub{margin:0 24px 8px;font-size:.82rem;color:var(--c-text-soft)}.chapters ol{list-style:none;margin:0;padding:0}.chapters li{counter-increment:chap}.chapters li a{display:flex;gap:18px;align-items:baseline;padding:14px 24px;text-decoration:none;color:var(--c-text);border-top:1px solid var(--c-surface-2)}.chapters li a:hover{background:var(--c-surface-2)}.chapters li a:before{content:counter(chap,decimal-leading-zero);font-family:var(--font-mono);font-size:1.05rem;font-weight:600;color:var(--c-primary);min-width:2em}.chapters li strong{font-size:.98rem;display:block}.chapters li span{font-size:.8rem;color:var(--c-text-soft);display:block;line-height:1.6}.category-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px;padding:0;list-style:none}.category-grid a{display:block;background:var(--c-surface);border:1px solid var(--c-border);border-left:6px solid var(--cat-color, var(--c-primary));border-radius:var(--radius);padding:14px 18px;text-decoration:none;color:var(--c-text);height:100%}.category-grid a:hover{border-color:var(--cat-color, var(--c-primary))}.category-grid a strong{display:block;margin-bottom:4px;font-size:1rem}.category-grid a span{font-size:.8rem;color:var(--c-text-soft);line-height:1.6;display:block}.kw-chips{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:10px}.kw-chips a{display:block;text-decoration:none;font-size:.86rem;font-weight:600;color:var(--c-primary);background:var(--c-surface);border:1px solid var(--c-border);border-radius:999px;padding:7px 16px}.kw-chips a:before{content:"§ ";color:var(--c-accent)}.kw-chips a:hover{border-color:var(--c-primary)}.trust-note{margin:52px 0 0;background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--radius);padding:20px 24px;display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px 26px;font-size:.85rem}.trust-note div strong{display:block;font-size:.95rem;margin-bottom:4px;color:var(--c-primary-dark)}.trust-note div strong:before{content:"■ ";color:var(--c-accent)}.trust-note div span{color:var(--c-text-soft);line-height:1.7}.glossary-list{list-style:none;margin:20px 0;padding:0}.glossary-list li{background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--radius);padding:16px 20px;margin:10px 0}.glossary-list dt,.glossary-term{font-weight:900;font-size:1.02rem;margin:0 0 6px;color:var(--c-primary-dark)}.glossary-term .en{font-family:var(--font-mono);font-size:.72rem;color:var(--c-text-soft);font-weight:400;margin-left:8px}.glossary-def{margin:0;font-size:.9rem;line-height:1.8}.breadcrumb{font-family:var(--font-mono);font-size:.72rem;color:var(--c-text-soft);margin:20px 0 -16px;display:flex;gap:6px;align-items:center;flex-wrap:wrap}.breadcrumb a{color:var(--c-text-soft);text-decoration:none}.breadcrumb a:hover{color:var(--c-primary)}.breadcrumb .bc-current{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:22em}.hero-photo{position:relative;margin-bottom:20px}.hero-photo img{width:100%;aspect-ratio:1200 / 630;object-fit:cover;border-radius:var(--radius);display:block}.hero-photo .hero-cat{position:absolute;top:14px;left:14px;padding:4px 12px;border-radius:3px;font-size:.8rem;font-weight:700;box-shadow:0 1px 6px #00000026}.toc{background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--radius);padding:16px 22px;margin:0 0 8px;font-size:.9rem}.toc summary{font-weight:900;cursor:pointer;list-style:none;display:flex;align-items:center;gap:8px}.toc summary:before{content:"INDEX";font-family:var(--font-mono);font-size:.66rem;color:var(--c-accent);letter-spacing:.12em;border:1px solid var(--c-accent);border-radius:2px;padding:1px 6px}.toc ol{margin:10px 0 4px;padding-left:1.8em}.toc li{margin:6px 0}.toc a{text-decoration:none;color:var(--c-text)}.toc a:hover{color:var(--c-primary)}.flow-steps{margin:1.4em 0;padding:0}.flow-steps .step{display:flex;gap:14px;align-items:flex-start;position:relative;padding-bottom:18px}.flow-steps .step:not(:last-child):before{content:"";position:absolute;left:17px;top:36px;bottom:-2px;width:2px;background:var(--c-rule)}.flow-steps .step-num{flex-shrink:0;width:36px;height:36px;border-radius:6px;background:var(--c-primary);color:#fff;font-family:var(--font-mono);font-weight:700;display:flex;align-items:center;justify-content:center;font-size:.95rem}.flow-steps .step-body{background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--radius);padding:10px 16px;flex:1;font-size:.92rem}.flow-steps .step-body strong{display:block;margin-bottom:2px}.flow-steps .step-body span{color:var(--c-text-soft);font-size:.88rem;line-height:1.6;display:block}.compare-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin:1.4em 0}.compare-card{border:1px solid var(--c-border);border-radius:var(--radius);background:var(--c-surface);overflow:hidden;font-size:.9rem}.compare-card .compare-title{margin:0;padding:10px 16px;background:var(--c-category);border-bottom:2px solid var(--c-primary);font-weight:700;text-align:center}.compare-card ul{margin:0;padding:12px 16px 14px 32px}.compare-card li{margin:6px 0;line-height:1.6}.point-box,.warn-box,.check-box{border-radius:var(--radius);padding:14px 18px;margin:1.4em 0;font-size:.92rem;border:1px solid;border-left-width:5px;background:var(--c-surface)}.point-box{border-color:#c8d8da;border-left-color:var(--c-primary)}.warn-box{border-color:#e5d3c0;border-left-color:#c05e3a}.check-box{border-color:#d3ddc8;border-left-color:#5a8a52}.point-box .box-title,.warn-box .box-title,.check-box .box-title{font-weight:900;margin:0 0 8px;font-size:.95rem}.point-box p:last-child,.warn-box p:last-child{margin-bottom:0}.point-box ul,.warn-box ul,.check-box ul{margin:0;padding-left:1.5em}.check-box li{margin:7px 0}.related-box{margin:44px 0 8px}.related-box h2{font-size:1.15rem;font-weight:900;padding:.3em 0 .3em .7em;border-left:6px solid var(--c-primary);background:var(--c-surface);border-radius:0 var(--radius) var(--radius) 0}.related-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px;list-style:none;padding:0}.related-grid a{display:flex;gap:12px;align-items:center;background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--radius);padding:12px 14px;text-decoration:none;color:var(--c-text);font-size:.88rem;font-weight:600;line-height:1.5}.related-grid a:hover{border-color:var(--c-primary)}.related-grid .thumb{flex-shrink:0;width:44px;height:44px;border-radius:var(--radius);display:flex;align-items:center;justify-content:center;font-size:1.3rem;background:var(--c-surface-2)}@media(max-width:600px){.article-header h1{font-size:1.35rem}.hero h1{font-size:1.4rem}.card .thumb{width:46px;height:46px;font-size:1.4rem}}.read-progress{position:fixed;top:0;left:0;right:0;height:4px;z-index:99;background:transparent;pointer-events:none}.read-progress span{display:block;height:100%;width:0;background:var(--c-accent)}
