:root{color-scheme:light;--bg: #f5f7fa;--surface: #ffffff;--surface-2: #eef1f5;--border: #dfe3e8;--text: #1d262c;--muted: #5d6b74;--muted-2: #7a858c;--accent: #183847;--accent-2: #245b74;--danger: #cf3f3f;--shadow: 0 18px 40px rgba(13, 28, 36, .08);--radius: 22px;--radius-sm: 10px;--radius-md: 16px;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .04), 0 6px 20px rgba(0, 0, 0, .03);--shadow-md: 0 1px 3px rgba(0, 0, 0, .04), 0 8px 24px rgba(0, 0, 0, .04);--shadow-lg: 0 4px 8px rgba(0, 0, 0, .06), 0 16px 40px rgba(0, 0, 0, .08);--content: 1280px}*,*:before,*:after{box-sizing:border-box}html,body{height:100%}body{margin:0;font-family:Noto Sans JP,Hiragino Sans,Yu Gothic,YuGothic,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.75;letter-spacing:.01em;background:linear-gradient(180deg,#f8f9fb,#f0f2f6);background-attachment:fixed;color:var(--text)}a{color:var(--accent-2);text-decoration:none}a:hover{text-decoration:underline;text-underline-offset:.22em}.container{width:min(var(--content),100%);margin:0 auto;padding:0 24px}.topbar{position:sticky;top:0;z-index:10;backdrop-filter:blur(14px);background:#f8f9fceb;border-bottom:1px solid rgba(29,38,44,.08)}.topbar-inner{display:flex;align-items:center;justify-content:space-between;padding:12px 0;gap:18px}.brand{display:inline-flex;align-items:center;font-weight:800;letter-spacing:.01em;color:var(--accent)}.topbar-disclosure{margin-left:auto;font-size:9px;font-weight:500;color:var(--muted-2);letter-spacing:.02em;white-space:nowrap}.menu-btn{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;width:48px;height:48px;padding:4px;border-radius:10px;border:none;background:transparent;cursor:pointer;color:var(--accent);transition:background .15s}.menu-btn:hover{background:#18384714}.menu-btn-bars{display:block;width:18px;height:2px;background:currentColor;position:relative;border-radius:2px;margin:5px 0}.menu-btn-bars:before,.menu-btn-bars:after{content:"";position:absolute;left:0;width:18px;height:2px;background:currentColor;border-radius:2px}.menu-btn-bars:before{top:-5px}.menu-btn-bars:after{top:5px}.menu-btn-label{display:block;font-size:9px;font-weight:700;letter-spacing:.04em;line-height:1;color:var(--muted)}.drawer-overlay{position:fixed;inset:0;z-index:90;background:#0f192373;opacity:0;pointer-events:none;transition:opacity .25s ease;backdrop-filter:blur(2px)}.drawer-overlay.is-open{opacity:1;pointer-events:auto}.drawer{position:fixed;top:0;right:0;bottom:0;z-index:100;width:min(360px,100vw);background:#fafbfc;box-shadow:-8px 0 32px #0f19232e;transform:translate(100%);transition:transform .28s cubic-bezier(.4,0,.2,1);overflow-y:auto;display:flex;flex-direction:column}.drawer.is-open{transform:translate(0)}.drawer-header{position:sticky;top:0;z-index:1;background:#fafbfc;display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid rgba(29,38,44,.08)}.drawer-title{margin:0;font-size:.84rem;font-weight:700;color:var(--muted);letter-spacing:.06em;text-transform:uppercase}.drawer-close{width:34px;height:34px;border-radius:8px;border:none;background:transparent;cursor:pointer;color:var(--accent);font-size:1.2rem;line-height:1;display:inline-flex;align-items:center;justify-content:center;transition:background .15s}.drawer-close:hover{background:#18384714}.drawer-body{padding:14px 12px 28px;flex:1}.drawer-section{margin-bottom:14px}.drawer-section>summary,.drawer-section-title{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;cursor:pointer;font-size:.78rem;font-weight:700;color:var(--muted);letter-spacing:.04em;text-transform:uppercase;list-style:none;user-select:none;border-radius:8px}.drawer-section>summary:hover{background:#1838470a}.drawer-section>summary::-webkit-details-marker{display:none}.drawer-section>summary:after{content:"▾";font-size:.7rem;color:var(--muted-2);transition:transform .2s}.drawer-section[open]>summary:after{transform:rotate(180deg)}.drawer-link{display:block;padding:9px 14px;border-radius:8px;font-size:.92rem;font-weight:600;color:var(--text);text-decoration:none;transition:background .15s}.drawer-link:hover{background:#1838470f;text-decoration:none}.drawer-link.is-current{background:#1838471a;color:var(--accent)}.drawer-link-ext:after{content:" ↗";color:var(--muted-2);font-size:.85em}.drawer-section-title{display:flex;align-items:center;gap:12px;margin:20px 14px 10px;font-size:.95rem;font-weight:800;color:var(--accent);letter-spacing:.04em}.drawer-section-title:before,.drawer-section-title:after{content:"";flex:1;height:1px;background:#18384733}.drawer-link-with-badge{display:flex;align-items:center;gap:10px}.drawer-link-with-badge .drawer-link-badge{display:inline-flex;align-items:center;justify-content:center;padding:3px 10px;border-radius:6px;background:#18384714;border:1px solid rgba(24,56,71,.15);font-size:.8rem;font-weight:800;letter-spacing:.04em;color:var(--accent);line-height:1.3}.drawer-link-with-badge .drawer-link-badge-text{font-size:.85rem;color:var(--text)}.drawer-link-legal{font-size:.78rem;color:var(--muted-2);padding:6px 14px;opacity:.85}.drawer-link-legal:hover{opacity:1;background:#1838470a}.drawer-copyright{margin:18px 14px 4px;font-size:.7rem;color:var(--muted-2);opacity:.7;text-align:center}.drawer-year-block{padding:6px 6px 4px}.drawer-year-label{font-size:.7rem;font-weight:700;color:var(--muted-2);padding:0 8px 4px;letter-spacing:.04em}.drawer-month-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:3px}.drawer-month-grid a,.drawer-month-grid span{display:flex;align-items:center;justify-content:center;padding:5px 0;border-radius:6px;font-size:.72rem;font-weight:600;color:var(--accent);background:#1838470d;border:1px solid rgba(24,56,71,.08);text-decoration:none}.drawer-month-grid a:hover{background:#1838471f;text-decoration:none}.drawer-month-grid a.is-current{background:var(--accent);color:#fff;border-color:var(--accent)}.drawer-month-grid .is-off{color:var(--muted-2);opacity:.4;pointer-events:none}.drawer-divider{height:1px;background:#1d262c14;margin:10px 8px}.hero{padding:42px 0 28px}.hero-inner{padding:34px;border-radius:var(--radius);border:1px solid rgba(24,56,71,.1);background:linear-gradient(180deg,#fffffff7,#f8f6f2f7);box-shadow:var(--shadow);overflow:hidden;position:relative}.hero-inner:before{content:"";position:absolute;inset:-2px;background:radial-gradient(600px 240px at 15% 0%,rgba(24,56,71,.12),transparent 58%),radial-gradient(460px 220px at 90% 18%,rgba(108,140,155,.14),transparent 52%);filter:blur(16px);opacity:.95;pointer-events:none}.hero-copy{position:relative;display:grid;gap:12px}.kicker{display:inline-flex;align-items:center;gap:10px;font-size:.82rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.kicker-dot{width:10px;height:10px;border-radius:999px;background:linear-gradient(135deg,var(--accent),#0d5f80)}h1,h2,h3{line-height:1.25;letter-spacing:-.01em}.hero h1{margin:0;font-size:clamp(1.95rem,4vw,3.6rem);font-weight:800;letter-spacing:-.03em}.lead{margin:0;color:var(--muted);font-size:1.04rem;max-width:64ch}.actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:6px}.button{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:10px 15px;border-radius:999px;border:1px solid rgba(24,56,71,.12);background:#ffffffeb;color:var(--text);font-weight:700;text-decoration:none}.button:hover{text-decoration:none;background:#fff}.button--primary{border-color:#1e4f67;background:linear-gradient(135deg,#1b475c,#122f3c);color:#fff}.button--primary:hover{background:linear-gradient(135deg,#21536c,#153644)}.grid{display:grid;gap:14px;grid-template-columns:repeat(12,1fr);padding:18px 0 42px}.card{grid-column:span 6;border-radius:20px;border:1px solid rgba(24,56,71,.1);background:#fffffff2;padding:18px;transition:transform .22s ease,background .22s ease,box-shadow .22s ease;box-shadow:0 10px 24px #0d1c240f}.card:hover{transform:translateY(-2px);background:#fff;box-shadow:0 14px 32px #0d1c241a}.card-title{margin:0 0 6px;font-size:1.05rem;font-weight:850}.card-meta{color:var(--muted-2);font-size:.92rem;margin:0}.pill{display:inline-flex;align-items:center;padding:6px 10px;border-radius:999px;border:1px solid rgba(24,56,71,.12);background:#ffffffd1;font-size:.8rem;color:var(--muted)}.page{padding:40px 0 68px}.page-header{margin:0 0 22px}.page-header h1{margin:0;font-size:clamp(1.8rem,3.4vw,2.8rem);letter-spacing:-.03em}.page-meta{margin:10px 0 0;color:var(--muted-2);font-size:.95rem}.prose{font-size:1.03rem}.prose>:first-child{margin-top:0}.prose p,.prose ul,.prose ol{color:var(--text)}.prose h2{margin-top:2.2rem;font-size:1.35rem}.prose h3{margin-top:1.8rem;font-size:1.15rem}.prose a{color:var(--accent-2)}.prose code{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:.92em;padding:.2em .35em;border-radius:10px;background:#f4f1eb;border:1px solid #ddd5c8}.prose pre{padding:16px;border-radius:16px;border:1px solid #ddd5c8;background:#f8f5ef;overflow-x:auto}.prose pre code{padding:0;border:0;background:transparent}.prose blockquote{margin:1.2rem 0;padding:14px 16px;border-radius:16px;border:1px solid rgba(24,56,71,.18);background:#1838470f;color:#244655}.prose blockquote strong{color:#143647}.prose hr{border:0;height:1px;background:#ddd5c8;margin:2.2rem 0}.prose img{max-width:100%;height:auto;border-radius:16px;border:1px solid #ddd5c8}.prose table{width:100%;border-collapse:collapse;border:1px solid #ddd5c8;border-radius:16px;overflow:hidden;display:block}.prose thead{background:#f3efe8}.prose th,.prose td{padding:10px 12px;border-bottom:1px solid #e4ddd1;text-align:left}.prose details{margin:.9rem 0;border:1px solid #ddd5c8;border-radius:16px;background:#faf7f1;padding:12px 14px}.prose summary{cursor:pointer;font-weight:800}.prose summary::-webkit-details-marker{display:none}.prose summary:after{content:"＋";float:right;color:var(--muted)}.prose details[open] summary:after{content:"－"}@media(max-width:900px){.card{grid-column:span 12}}.prose .callout{margin:1.6rem 0;padding:20px 22px;border-radius:16px;border:1px solid rgba(24,56,71,.14);background:#1838470a;font-weight:700;line-height:1.9}.prose .callout--strong{border-left:4px solid var(--accent);background:linear-gradient(135deg,#18384712,#18384708)}.prose .callout--strong p{margin:.3em 0;font-size:1.08rem}.prose .callout--verdict{border:2px solid var(--accent);background:linear-gradient(180deg,#1838470f,#18384705);text-align:center;font-size:1.12rem;letter-spacing:.02em}.prose .voice-block{margin:1.4rem 0;padding:16px 20px;border-radius:16px;background:#faf7f1;border:1px solid #e4ddd1;position:relative}.prose .voice-block:before{content:"";position:absolute;left:16px;top:-8px;width:16px;height:16px;background:#faf7f1;border-left:1px solid #e4ddd1;border-top:1px solid #e4ddd1;transform:rotate(45deg)}.prose .voice-block p{margin:.3em 0;color:var(--muted);font-style:italic}.prose .tag{display:inline-flex;align-items:center;padding:3px 10px;border-radius:999px;font-size:.78rem;font-weight:700;letter-spacing:.02em;vertical-align:middle;white-space:nowrap}.prose .tag--prod{background:#e8f0fe;color:#1a56db;border:1px solid #c4d8f7}.prose .tag--body{background:#fef3e5;color:#b45309;border:1px solid #f5d9a8}.prose .tag--act{background:#e6f7ee;color:#137333;border:1px solid #b5dfca}.prose .tag--unknown{background:#f2f2f2;color:#6b6b6b;border:1px solid #d9d9d9}.prose .comparison{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:1.6rem 0}.prose .comparison__panel{padding:18px;border-radius:16px;border:1px solid #ddd5c8}.prose .comparison__panel--before{background:#fef8f0;border-color:#e8c9a0}.prose .comparison__panel--after{background:#f0f8f2;border-color:#a0d8b0}.prose .comparison__label{display:inline-block;font-size:.76rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;margin-bottom:10px;padding:3px 8px;border-radius:6px}.prose .comparison__panel--before .comparison__label{background:#f5d9a0;color:#7a4e0a}.prose .comparison__panel--after .comparison__label{background:#a0d8b0;color:#0a5a2a}.prose .axis-diagram{margin:1.6rem 0}.prose .axis-diagram svg{width:100%;height:auto;max-width:700px;display:block;margin:0 auto}.prose figure{margin:2rem 0}.prose figure img{width:100%;height:auto}.prose figcaption{margin-top:8px;font-size:.85rem;color:var(--muted-2);text-align:center}@media(max-width:720px){.prose .comparison{grid-template-columns:1fr}.container{padding:0 18px}}
