:root{color-scheme:light;--ink:#3a322b;--muted:#6c6259;--paper:#f7f1e6;--surface:#fffcf6;--line:#ded5c9;--brand:#c1613f;--brand-deep:#8c432f;--accent:#6e8f82;--highlight:#d97757;--cta:#d97757;--cta-ink:#40261e;--soft:#e7efe9;--warning:#f6e3d8;--warning-text:#704235;--warning-line:#e1b4a2;--on-brand-muted:#f9e8e1;--max-width:1120px;font-family:BIZ UDPGothic,Noto Sans JP,system-ui,sans-serif}:root[data-palette=a]{--paper:#faf7ef;--surface:#fffdf8;--ink:#3b443f;--muted:#657169;--line:#d9ded7;--brand:#4f7a61;--brand-deep:#3c624d;--accent:#d8a94a;--highlight:#d8a94a;--cta:#d8a94a;--cta-ink:#3b3327;--soft:#eaf0e8;--warning:#f8e9d3;--warning-text:#66502a;--warning-line:#e6c98c;--on-brand-muted:#e6f0e8}:root[data-palette=b]{--paper:#faf8f3;--surface:#fffdfc;--ink:#394247;--muted:#667176;--line:#d9dee0;--brand:#4f7891;--brand-deep:#3b5d72;--accent:#d9826b;--highlight:#d9826b;--cta:#d9826b;--cta-ink:#3d2722;--soft:#e8eff2;--warning:#f8e6df;--warning-text:#6e443a;--warning-line:#e3b6aa;--on-brand-muted:#e5eef2}:root[data-palette=c]{--paper:#f8f5ed;--surface:#fffdf9;--ink:#343a3b;--muted:#626a6b;--line:#d8ddd7;--brand:#39736f;--brand-deep:#2b5b58;--accent:#e2a267;--highlight:#e2a267;--cta:#e2a267;--cta-ink:#3a2b20;--soft:#e6f0ec;--warning:#f9e8dc;--warning-text:#6b4938;--warning-line:#e6bfa5;--on-brand-muted:#e3efed}:root[data-palette=clay]{--paper:#f7f1e6;--surface:#fffcf6;--ink:#3a322b;--muted:#6c6259;--line:#ded5c9;--brand:#c1613f;--brand-deep:#8c432f;--accent:#6e8f82;--highlight:#d97757;--cta:#d97757;--cta-ink:#40261e;--soft:#e7efe9;--warning:#f6e3d8;--warning-text:#704235;--warning-line:#e1b4a2;--on-brand-muted:#f9e8e1}:root[data-palette=marigold]{--paper:#fbf8f2;--surface:#fff;--ink:#3a352e;--muted:#6b655d;--line:#ded9d0;--brand:#2b2620;--brand-deep:#211c18;--accent:#e0982a;--highlight:#e0982a;--cta:#e0982a;--cta-ink:#2b2115;--soft:#f5ebd9;--warning:#f8e7d7;--warning-text:#704a2a;--warning-line:#e4be8f;--on-brand-muted:#f2e9dc}:root[data-palette=rose]{--paper:#f5f1ec;--surface:#fffdfc;--ink:#43403d;--muted:#706b68;--line:#ddd7d2;--brand:#c97b72;--brand-deep:#8e5b59;--accent:#5b4b54;--highlight:#c97b72;--cta:#c97b72;--cta-ink:#432b2c;--soft:#eee6e5;--warning:#f5e4df;--warning-text:#70443f;--warning-line:#e1b5ac;--on-brand-muted:#f5e8e7}*{box-sizing:border-box}html{scroll-behavior:smooth}body{color:var(--ink);background:var(--paper);margin:0;line-height:1.75}a{color:var(--brand-deep);text-underline-offset:.2em}a:hover{color:var(--brand)}img,svg{max-width:100%}.skip-link{z-index:100;color:#fff;background:var(--ink);padding:.75rem 1rem;position:absolute;top:-5rem;left:1rem}.skip-link:focus{top:1rem}.site-header{border-bottom:1px solid var(--line);background:color-mix(in srgb, var(--paper) 96%, white)}.header-inner,.page-shell,.site-footer-inner{width:min(calc(100% - 2rem), var(--max-width));margin-inline:auto}.header-inner{justify-content:space-between;align-items:center;gap:2rem;min-height:4.75rem;display:flex}.brand{color:var(--ink);letter-spacing:.02em;font-size:1.12rem;font-weight:800;text-decoration:none}.brand span{color:var(--brand)}.site-nav{flex-wrap:wrap;gap:1.25rem;display:flex}.site-nav a{color:var(--ink);font-weight:700;text-decoration:none}.nav-toggle{border:1px solid var(--line);background:var(--surface);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;gap:4px;width:2.75rem;height:2.75rem;padding:0;display:none}.nav-toggle-bar{background:var(--ink);border-radius:1px;width:1.3rem;height:2px;display:block}.prototype-note{text-align:center;color:var(--warning-text);background:var(--warning);border-bottom:1px solid var(--warning-line);margin:0;padding:.55rem 1rem;font-size:.9rem}.page-shell{padding-block:clamp(2.5rem,6vw,5.5rem)}.page-shell:has(>.hero){padding-block:clamp(1.6rem,3.8vw,3.4rem)}.hero{max-width:46rem}.eyebrow{color:var(--brand);letter-spacing:.12em;text-transform:uppercase;margin:0 0 .7rem;font-size:.86rem;font-weight:800}h1,h2,h3{letter-spacing:.01em;line-height:1.35}h1{margin:0;font-family:BIZ UDPGothic,Noto Sans JP,system-ui,sans-serif;font-size:clamp(2.25rem,6vw,4.8rem);font-weight:700}.hero h1{font-size:clamp(1.7rem,4vw,3.2rem);line-height:1.2}.lead{max-width:44rem;color:var(--muted);margin:1.4rem 0 0;font-size:clamp(1rem,2vw,1.18rem)}.section{margin-top:clamp(3rem,8vw,6rem)}.section-heading{border-bottom:2px solid var(--ink);justify-content:space-between;align-items:end;gap:1rem;display:flex}.section-heading h2{margin:0 0 .7rem;font-size:clamp(1.55rem,3vw,2.25rem)}.section-heading p{color:var(--muted);margin:0 0 .8rem}.article-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-top:1.5rem;display:grid}.article-card{background:var(--surface);border:1px solid var(--line);border-radius:8px;min-height:100%;padding:1.5rem}.article-card .meta{color:var(--brand);font-size:.84rem;font-weight:800}.article-card h3{margin:.55rem 0;font-size:1.2rem}.article-card p{color:var(--muted);margin:0}.status{color:var(--brand-deep);background:var(--soft);border:1px solid var(--line);border-radius:8px;margin-top:1.1rem;padding:.2rem .55rem;font-size:.82rem;display:inline-block}.card-link{color:var(--cta-ink);background:var(--cta);border:1px solid color-mix(in srgb, var(--cta) 75%, var(--ink));border-radius:8px;margin-top:1.1rem;padding:.6rem .9rem;font-weight:800;text-decoration:none;display:inline-block}.card-link:hover{color:var(--cta-ink);background:color-mix(in srgb, var(--cta) 82%, white)}.article-shell{width:min(100% - 2rem,800px);margin-inline:auto;padding-block:clamp(2.5rem,7vw,5rem)}.article-header{border-bottom:2px solid var(--ink);padding-bottom:1.6rem}.article-header h1{font-size:clamp(1.75rem,3.2vw,2.5rem)}.article-description{color:var(--muted);margin:.6rem 0 0;font-size:1.12rem}.article-meta{color:var(--muted);flex-wrap:wrap;gap:1rem;margin-top:.7rem;font-size:.88rem;display:flex}.tag-list{flex-wrap:wrap;gap:.5rem;margin-top:.8rem;display:flex}.tag-list a{color:var(--brand-deep);background:var(--soft);border-radius:8px;padding:.2rem .55rem;font-size:.84rem;text-decoration:none}.article-notice{background:var(--warning);border-left:5px solid var(--highlight);border-radius:8px;margin:1.5rem 0;padding:1rem 1.2rem}.article-notice p{margin:.2rem 0 0}.article-body{font-size:1.03rem}.article-body h2{border-bottom:1px solid var(--line);margin-top:3.2rem;padding-bottom:.5rem;font-size:1.65rem}.article-body h3{margin-top:2rem;font-size:1.25rem}.article-body li+li{margin-top:.45rem}.article-body blockquote{color:var(--muted);border-left:4px solid var(--brand);margin-inline:0;padding:.5rem 1.25rem}.article-body table{border-collapse:collapse;width:100%;margin-block:1.5rem;font-size:.94rem}.article-body th,.article-body td{text-align:left;vertical-align:top;border:1px solid var(--line);padding:.75rem}.article-body th{background:var(--soft)}.principles{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;display:grid}.principle{border-top:4px solid var(--accent);background:var(--surface);border-radius:8px;padding:1.25rem}.principle[href]{color:inherit;text-decoration:none}.principle[href]:hover{background:var(--soft)}.principle h3{margin-top:0}.principle p{color:var(--muted);margin-bottom:0}.site-footer{color:var(--on-brand-muted);background:var(--brand-deep);margin-top:4rem}.site-footer-inner{flex-wrap:wrap;justify-content:space-between;gap:1rem;padding-block:2rem;display:flex}.site-footer p{margin:0}.listing-page>h1{font-size:clamp(2rem,5vw,3.5rem)}.listing-page .article-card h2{font-size:1.2rem}@media (width<=760px){.header-inner{padding-block:.85rem;position:relative}.nav-toggle{display:inline-flex}.site-nav{z-index:20;background:var(--surface);border:1px solid var(--line);border-radius:10px;flex-direction:column;align-items:stretch;gap:0;width:min(280px,78vw);padding:.35rem;display:none;position:absolute;top:calc(100% + .5rem);right:0;box-shadow:0 10px 28px #3a322b24}.site-nav.is-open{display:flex}.site-nav a{text-align:left;border-bottom:1px solid var(--line);align-items:center;min-height:44px;padding:.6rem .75rem;display:flex}.site-nav a:last-child{border-bottom:none}.page-shell:has(>.hero){padding-block:1.2rem 1.9rem}.hero h1{font-size:clamp(1.5rem,7.4vw,2.2rem);line-height:1.25}.article-grid,.principles{grid-template-columns:1fr}.section-heading{flex-direction:column;align-items:flex-start}}
