:root{
 --paper:#faf7ef;--paper-deep:#f3eddf;--surface:#fffdfa;--ink:#202827;--muted:#58615f;
 --accent:#2f6f73;--accent-dark:#21585c;--accent-pale:#dcebea;--warm:#d48655;
 --line:#d8d1c3;--danger:#972f2a;--danger-pale:#fff0ed;--focus:#d27618;
 --space-1:.5rem;--space-2:1rem;--space-3:1.5rem;--space-4:2rem;--space-5:3rem;--space-6:5rem;
 --radius-s:8px;--radius-m:16px;--radius-l:28px;--shadow:0 12px 35px rgb(31 48 46/.08);
 font-family:"Hiragino Sans","Yu Gothic",YuGothic,system-ui,-apple-system,sans-serif;font-size:18px;line-height:1.7;color:var(--ink);background:var(--paper);color-scheme:light
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);overflow-x:hidden}img{display:block;max-width:100%;height:auto}a{color:var(--accent-dark);text-underline-offset:.22em}p{margin-block:.65em}h1,h2,h3{margin:0;color:var(--ink);font-weight:700;letter-spacing:.01em;line-height:1.35}h1{font-size:clamp(2rem,6vw,3.7rem)}h2{font-size:clamp(1.45rem,3vw,2.15rem)}h3{font-size:1.12rem}main{width:min(1180px,calc(100% - 40px));margin-inline:auto}.narrow{width:min(820px,calc(100% - 40px))}.skip{position:absolute;left:-9999px}.skip:focus{left:12px;top:12px;z-index:100;background:var(--surface);padding:12px 16px;border:2px solid var(--accent-dark);border-radius:var(--radius-s)}
.site-header{width:min(1180px,calc(100% - 40px));min-height:82px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid var(--line)}.brand{display:block;width:min(360px,68vw)}.brand img{width:100%}.private-tag{font-size:.72rem;line-height:1.2;font-weight:800;letter-spacing:.08em;text-transform:uppercase;padding:7px 10px;border:1px solid var(--line);border-radius:999px;background:var(--surface);white-space:nowrap}
.hero{min-height:620px;display:grid;grid-template-columns:1.02fr .98fr;align-items:center;gap:clamp(32px,6vw,80px);padding-block:var(--space-6)}.hero-copy{max-width:650px}.hero h1{margin:.25em 0 .45em}.hero h1 span{display:block}.hero h1 .brand-title{font-size:.37em;color:var(--accent);letter-spacing:.1em;margin-bottom:1.2em}.hero h1 em{font-style:normal;text-decoration:underline;text-decoration-color:var(--warm);text-decoration-thickness:.14em;text-underline-offset:.15em}.lead{font-size:clamp(1.08rem,2vw,1.28rem);max-width:35em}.hero-art{border-radius:var(--radius-l);box-shadow:var(--shadow)}.eyebrow,.step-label,.safety-label{margin:0 0 .45rem;color:var(--accent-dark);font-size:.8rem;font-weight:800;letter-spacing:.09em}.microcopy{font-size:.82rem;color:var(--muted)}
.hero-usability{min-height:auto;display:block;padding-block:clamp(34px,6vw,70px);border-bottom:1px solid var(--line)}.hero-usability .hero-copy{max-width:790px}.hero-brand{margin:0 0 .7rem;color:var(--accent-dark);font-size:.88rem;font-weight:800;letter-spacing:.11em}.hero-usability h1{max-width:13em;margin:0 0 .35em;font-size:clamp(2.05rem,6vw,4.25rem);overflow-wrap:anywhere}.hero-usability h1 .copy-break{display:block}.hero-usability .continuity-copy{margin:.35rem 0 1rem;font-size:clamp(1.08rem,2vw,1.35rem);font-weight:800;color:var(--accent-dark)}.hero-usability .lead{margin-bottom:.75rem}.hero-cta{margin-top:.7rem}.hero-usability .microcopy{max-width:48em;margin-top:.7rem}
.urgent-route{margin-top:24px;padding:18px 20px;display:flex;align-items:center;justify-content:space-between;gap:22px;background:var(--danger-pale);border:1px solid #e8b4ae;border-left:6px solid var(--danger);border-radius:var(--radius-s)}.urgent-route h2{font-size:1rem}.urgent-route .safety-label{margin-bottom:.1rem}.urgent-button{flex:0 0 auto;min-height:48px;padding-block:10px;color:var(--danger);background:var(--surface);border-color:#d48d86}
.button,button{display:inline-flex;align-items:center;justify-content:space-between;gap:22px;min-height:52px;padding:13px 20px;border:2px solid transparent;border-radius:var(--radius-s);font:inherit;font-weight:700;line-height:1.35;text-decoration:none;cursor:pointer;overflow-wrap:anywhere}.primary{margin-top:1.2rem;background:var(--accent-dark);color:#fff}.secondary{background:var(--accent);color:#fff}.quiet{background:transparent;color:var(--ink);border-color:#89918f}.danger{background:var(--danger);color:#fff}.button:hover,button:hover{filter:brightness(.94)}.button:focus-visible,button:focus-visible,input:focus-visible,a:focus-visible,select:focus-visible{outline:4px solid var(--focus);outline-offset:4px}.button:disabled,button:disabled{opacity:.5;cursor:not-allowed}
.domain-section{padding-block:var(--space-6);border-top:1px solid var(--line)}.section-heading{max-width:650px;margin-bottom:var(--space-4)}.domain-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:16px}.domain-card{grid-column:span 2;min-height:250px;padding:26px;display:flex;flex-direction:column;color:var(--ink);text-decoration:none;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-m);box-shadow:0 5px 16px rgb(31 48 46/.03);transition:transform .2s ease,box-shadow .2s ease}.domain-card:nth-child(4){grid-column:2/span 2}.domain-card:hover{transform:translateY(-3px);box-shadow:var(--shadow)}.domain-number{font-family:ui-monospace,monospace;color:var(--accent);font-size:.78rem}.domain-card h3{margin:.9rem 0 .25rem}.domain-card p{color:var(--muted)}.domain-card .text-link{margin-top:auto}.text-link{font-weight:800;color:var(--accent-dark);text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:2px}
.usability-domains{padding-block:clamp(48px,7vw,80px);border-top:0}.usability-domains .domain-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.usability-domains .domain-card,.usability-domains .domain-card:nth-child(4){grid-column:auto;min-height:230px;padding:22px}.situation-section{padding-block:0 var(--space-6)}.situation-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.situation-links a{min-height:92px;padding:18px 20px;display:flex;flex-direction:column;justify-content:center;color:var(--ink);text-decoration:none;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-s)}.situation-links a:hover{border-color:var(--accent)}.situation-links strong{font-size:1.02rem}.situation-links span{color:var(--muted);font-size:.82rem}.more-situations{margin-top:18px}.long-term-band{margin-block:0 var(--space-5);padding:clamp(24px,4vw,38px);display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:30px;align-items:center;background:var(--accent-pale);border-radius:var(--radius-m)}.long-term-band p:last-child{margin:0}
.story-band{margin-block:var(--space-6);padding:clamp(24px,5vw,56px);display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:clamp(28px,6vw,72px);background:var(--accent-pale);border-radius:var(--radius-l)}.story-band img{border-radius:var(--radius-m)}.story-band h2{margin-bottom:1rem}.private-note{margin-block:var(--space-5);padding:20px 24px;border:1px dashed #8e877b;border-radius:var(--radius-m);display:flex;gap:18px;align-items:baseline}.private-note p{margin:0}
.breadcrumb{display:flex;gap:8px;align-items:center;margin-top:var(--space-3);font-size:.82rem}.page-heading{padding-block:var(--space-5) var(--space-4);max-width:700px}.page-heading h1{font-size:clamp(2rem,5vw,3rem);margin-bottom:.4em}.panel,.feature-panel,.guide-filter,.guide-detail{padding:clamp(22px,4vw,36px);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-m)}.topic-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-block:24px}.topic-grid button{min-height:64px;background:var(--accent-pale);color:var(--ink);border-color:transparent;text-align:left}.topic-grid button::after{content:"→";color:var(--accent-dark)}.panel>.quiet{margin-top:4px}.safety{margin-block:var(--space-4);padding:clamp(22px,4vw,34px);background:var(--danger-pale);border:1px solid #e8b4ae;border-left:7px solid var(--danger);border-radius:var(--radius-s)}.safety-label{color:var(--danger)}.number-note{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:18px 0}.number-note p{margin:0;padding:16px;background:var(--surface);border-radius:var(--radius-s)}.number-note strong,.number-note span{display:block}.number-note strong{font-size:1.4rem}.result:not(:empty){margin-block:var(--space-4);padding:clamp(22px,4vw,34px);background:var(--accent-pale);border-radius:var(--radius-m)}.card{margin-top:12px;padding:18px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-s)}.status{font-weight:700}.feature-panel{margin-block:var(--space-3);display:flex;align-items:center;justify-content:space-between;gap:24px}.feature-panel .button{flex:0 0 auto}.draft{display:inline-block;padding:5px 9px;color:#fff;background:#725415;border-radius:4px;font-size:.72rem;font-weight:800;letter-spacing:.04em}
dialog{width:min(680px,calc(100% - 24px));max-height:calc(100dvh - 24px);overflow:auto;padding:clamp(20px,5vw,40px);border:0;border-radius:var(--radius-m);color:var(--ink);background:var(--surface);box-shadow:var(--shadow)}dialog::backdrop{background:rgb(24 32 31/.7)}dialog form{position:relative}.icon-button{position:absolute;right:-10px;top:-10px;width:48px;min-width:48px;padding:0;justify-content:center;background:transparent;color:var(--ink);border-color:var(--line);font-size:1.4rem}.preview-box{margin-block:20px;padding:18px;background:var(--paper);border-radius:var(--radius-s)}dt{font-weight:800;margin-top:12px}dt:first-child{margin-top:0}dd{margin-left:0;color:var(--muted);overflow-wrap:anywhere}.consent{display:flex;gap:12px;align-items:flex-start;padding:16px;background:var(--accent-pale);border-radius:var(--radius-s);cursor:pointer}.consent input{width:24px;height:24px;flex:0 0 auto}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:16px}.actions .primary{margin-top:0}#qr{display:grid;justify-items:center;gap:12px;margin-top:16px}#qr img,#qr canvas{width:min(220px,100%);height:auto}
.guide-filter{margin-bottom:var(--space-3)}.guide-filter label{display:block;font-weight:800;margin:14px 0 6px}.guide-filter select{width:100%;min-height:52px;padding:10px 12px;border:2px solid #89918f;border-radius:var(--radius-s);background:var(--surface);font:inherit}.guide-detail{margin-bottom:var(--space-5);overflow-wrap:anywhere}.guide-detail h2{margin-block:18px}.guide-body{white-space:pre-wrap;overflow-wrap:anywhere}.guide-body p{padding-bottom:1rem;border-bottom:1px solid var(--line)}
.utility-panel,.error-panel{margin-block:var(--space-3);padding:clamp(22px,4vw,36px);border:1px solid var(--line);border-radius:var(--radius-m);background:var(--surface)}.danger-outline{color:var(--danger);background:transparent;border-color:var(--danger)}.error-panel{border-color:#e8b4ae;background:var(--danger-pale)}.print-only{display:none}.guide-return{margin-top:20px}
.boundary-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.boundary-grid .panel{height:100%}
.ds-section{margin-bottom:var(--space-5);padding-top:var(--space-4);border-top:1px solid var(--line)}.ds-section>h2{margin-bottom:.5rem}.logo-grid,.illustration-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:24px}.logo-grid figure,.illustration-grid figure{margin:0;padding:18px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-m)}figcaption{margin-top:12px;color:var(--muted);font-size:.82rem}.swatches{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-block:24px}.swatches div{display:grid;gap:4px;font-size:.75rem}.swatches span{height:76px;border:1px solid var(--line);border-radius:var(--radius-s)}.component-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.component-row .primary{margin-top:0}
footer{width:min(1180px,calc(100% - 40px));margin:var(--space-6) auto 0;padding-block:28px 40px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:20px;color:var(--muted);font-size:.82rem}footer img{width:min(290px,58vw)}
@media(max-width:1040px){.usability-domains .domain-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:820px){.hero{min-height:auto;grid-template-columns:1fr;padding-block:var(--space-5)}.hero-usability{display:block;padding-block:40px}.hero-art{width:100%}.domain-grid,.usability-domains .domain-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.domain-card,.domain-card:nth-child(4),.usability-domains .domain-card,.usability-domains .domain-card:nth-child(4){grid-column:auto}.domain-card:last-child,.usability-domains .domain-card:last-child{grid-column:1/-1}.story-band{grid-template-columns:1fr}.feature-panel{align-items:flex-start;flex-direction:column}.logo-grid,.illustration-grid,.boundary-grid{grid-template-columns:1fr 1fr}.swatches{grid-template-columns:repeat(3,1fr)}.long-term-band{grid-template-columns:1fr;gap:10px}}
@media(max-width:540px){:root{font-size:17px;--space-5:2.4rem;--space-6:3.5rem}main,.site-header,footer,.narrow{width:min(100% - 28px,1180px)}.site-header{min-height:68px}.private-tag{font-size:.62rem}.hero h1 .brand-title{font-size:.42em;margin-bottom:1em}.hero-usability{padding-block:28px}.hero-usability h1{font-size:2.15rem}.hero-usability .lead br{display:none}.hero-cta{width:100%}.urgent-route{align-items:stretch;flex-direction:column;gap:12px}.urgent-route .button{width:100%}.domain-grid,.usability-domains .domain-grid,.topic-grid,.number-note,.logo-grid,.illustration-grid,.swatches,.boundary-grid,.situation-links{grid-template-columns:1fr}.domain-card,.domain-card:last-child,.usability-domains .domain-card,.usability-domains .domain-card:last-child{grid-column:auto;min-height:0}.usability-domains .domain-card{min-height:176px}.button,button{width:100%}.story-band{padding:22px}.private-note{display:block}.actions button{width:100%}footer{align-items:flex-start;flex-direction:column}.guide-detail{padding:20px 16px}}
@media(max-width:420px){.private-tag{display:none}}
@media(max-width:360px){.hero-usability h1{font-size:1.75rem}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
@media print{body{background:#fff;color:#000;font-size:11pt}.site-header,main,footer,dialog{display:none!important}.print-only{display:block!important;width:100%;padding:0 12mm}.print-only h1{font-size:18pt}.print-only h2{font-size:14pt}.print-only li{break-inside:avoid}a{color:#000;text-decoration:none}@page{margin:16mm}}
