:root{--ink:#162237;--muted:#5a6677;--line:#d9e1ea;--surface:#f6f8fb;--accent:#174d8c;--accent2:#0f6a60;--navy:#0e3156;--pale:#edf5fb;--max:1080px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:#fff;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;line-height:1.72}img{max-width:100%;height:auto}a{color:#0b55a0;text-underline-offset:2px}.skip{position:absolute;left:-9999px}.skip:focus{left:12px;top:12px;background:#fff;padding:8px 12px;z-index:30}.wrap{max-width:var(--max);margin:auto;padding-left:22px;padding-right:22px}
.site-header{border-bottom:1px solid var(--line);background:#fff}.site-header>.wrap{display:flex;gap:24px;align-items:center;justify-content:space-between;min-height:72px}.brand{display:flex;gap:10px;align-items:center;text-decoration:none;color:var(--ink)}.brand-mark{font-size:1.15rem;font-weight:900;color:var(--accent)}.brand-title{font-weight:800}.brand-sub{font-size:.82rem;color:var(--muted)}.nav{display:flex;gap:14px;flex-wrap:wrap;font-size:.92rem}.nav a{text-decoration:none;font-weight:650;color:#24476d}.nav a:hover{color:var(--accent)}
.breadcrumb{margin:18px 0 0;color:var(--muted);font-size:.9rem}.breadcrumb a{text-decoration:none}.eyebrow{font-weight:800;color:var(--accent);letter-spacing:.06em}.edition-badge,.badge{display:inline-flex;align-items:center;border-radius:999px;background:#e7eef8;color:var(--accent);font-size:.84rem;font-weight:800;padding:4px 10px}.edition-badge{background:var(--navy);color:#fff;margin-bottom:10px}.button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 16px;border-radius:9px;text-decoration:none;font-weight:800;background:var(--accent);color:#fff;border:1px solid var(--accent)}.button.secondary{background:#fff;color:var(--accent)}
/* ED1 oracle rhythm: restrained two-column hero, 300px class cover, simple cards. */
.book-hero{max-width:var(--max);margin:auto;padding:44px 22px 48px;display:grid;grid-template-columns:minmax(180px,245px) minmax(0,1fr);gap:48px;align-items:center}.book-cover-wrap{display:flex;justify-content:center}.book-cover{display:block;width:min(100%,225px);height:auto;border-radius:4px;box-shadow:0 12px 30px rgba(20,45,80,.16)}.book-hero-copy h1{font-size:clamp(1.9rem,3.7vw,3rem);line-height:1.22;margin:.18em 0}.book-hero-copy .title-edition{display:block;font-size:.68em;margin-top:.2em}.lead{font-size:1.04rem;color:#34445b;max-width:44em}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:20px}
.landing-section{max-width:var(--max);margin:auto;padding:42px 22px}.section-heading{max-width:760px;margin-bottom:22px}.section-heading h2{font-size:clamp(1.5rem,2.4vw,2rem);line-height:1.35;margin:.2em 0}.feature-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.feature-card{border:1px solid var(--line);border-radius:14px;padding:21px;background:#fff}.feature-card h3{margin:0 0 8px;color:var(--accent)}.feature-card p{margin:0;color:var(--muted)}
.support-band{max-width:none;background:#f5f8fc;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.support-band>.section-heading,.support-band>.support-grid{max-width:var(--max);margin-left:auto;margin-right:auto}.support-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.support-card{display:flex;flex-direction:column;gap:3px;border:1px solid var(--line);border-radius:12px;padding:18px;background:#fff;text-decoration:none;color:var(--ink)}.support-card span{font-weight:750}.support-card small{color:var(--muted)}.support-card:hover{border-color:#9ab5d4;box-shadow:0 5px 18px rgba(20,45,80,.08)}
.visual-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.visual-card{margin:0;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#fff;box-shadow:0 7px 22px rgba(17,46,78,.07)}.visual-frame{height:270px;background:#f6f8fb;display:flex;align-items:center;justify-content:center;overflow:hidden}.visual-card img{display:block;width:100%;height:100%;object-fit:cover}.visual-card--swap img{object-position:center 24%}.visual-card--pointer img{object-position:center 30%}.visual-card--struct img{object-position:center 18%}.visual-copy{padding:14px 16px 16px}.visual-copy h3{margin:0 0 .3rem;color:var(--navy);font-size:1rem}.visual-copy p{margin:0;color:var(--muted);font-size:.92rem}.visual-note{font-size:.88rem;color:var(--muted);margin-top:12px}
.books-landing{max-width:var(--max);margin:auto;padding:0 22px 52px}.page-title{padding:34px 0 18px}.page-title h1{margin:.15em 0}.book-list-feature{display:grid;grid-template-columns:170px minmax(0,1fr);gap:28px;border:1px solid var(--line);border-radius:16px;padding:24px;align-items:center;background:#fff}.book-list-feature+.book-list-feature{margin-top:22px}.book-list-feature.current{border-color:#b9cfe3;background:#fbfdff}.book-list-cover img{display:block;width:100%;height:auto;border-radius:4px;box-shadow:0 8px 24px rgba(20,45,80,.15)}.book-list-feature h2{font-size:1.55rem;line-height:1.35;margin:.35em 0}.book-list-feature p{margin:.55em 0}.book-list-feature.legacy{grid-template-columns:110px minmax(0,1fr);padding:20px;background:#fafbfc}.book-list-feature.legacy h2{font-size:1.28rem}.legacy-note{color:var(--muted);font-size:.92rem}
.footer{border-top:1px solid var(--line);background:var(--surface);padding:26px 0;color:var(--muted);font-size:.9rem}.footer .wrap+.wrap{margin-top:3px}.footer-links{margin-top:8px}.footer-links a{color:inherit}
@media(max-width:820px){.site-header>.wrap{align-items:flex-start;flex-direction:column;padding-top:12px;padding-bottom:12px}.book-hero{grid-template-columns:1fr;gap:26px;padding:30px 20px 38px}.book-cover{width:min(56vw,220px)}.support-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.visual-grid{grid-template-columns:1fr 1fr}.book-list-feature{grid-template-columns:120px minmax(0,1fr)}}
@media(max-width:560px){.wrap{padding-left:16px;padding-right:16px}.feature-grid,.support-grid,.visual-grid{grid-template-columns:1fr}.visual-frame{height:250px}.landing-section{padding:34px 18px}.book-list-feature,.book-list-feature.legacy{grid-template-columns:1fr;gap:18px}.book-list-cover{width:140px;margin:auto}.book-list-feature .button{width:100%}}

/* P1083 Human-requested visual refinement: clearer edition separation, ED1-derived child-page chrome, and readable tables. */
.edition-divider{margin:42px 0 22px;padding:18px 20px;border-top:3px solid #c7d3df;border-bottom:1px solid var(--line);background:#f3f5f7;display:flex;align-items:baseline;gap:14px;flex-wrap:wrap}.edition-divider span{font-size:1.2rem;font-weight:850;color:#3d4b5c}.edition-divider small{color:var(--muted)}
.book-list-feature.legacy{margin-top:0;border-color:#d8dee6;background:#f8f9fb}.book-list-feature.current{box-shadow:0 5px 18px rgba(20,45,80,.05)}
.feature-link{display:block;text-decoration:none;color:inherit;transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease}.feature-link:hover{border-color:#9ab5d4;box-shadow:0 5px 18px rgba(20,45,80,.08);transform:translateY(-1px)}.feature-link:focus-visible{outline:3px solid #8bb7df;outline-offset:3px}.text-link{display:inline-block;margin-top:12px;color:var(--accent);font-weight:750}
.subpage-shell{padding-top:18px;padding-bottom:54px;max-width:var(--max)}.subpage-shell .breadcrumb{margin-top:4px;padding:0}.page-kicker{margin-top:28px;color:var(--accent);font-size:.82rem;font-weight:850;letter-spacing:.09em}.subpage-shell>h1{font-size:clamp(1.8rem,3.1vw,2.45rem);line-height:1.25;margin:.25em 0 .35em;padding-bottom:14px;border-bottom:1px solid var(--line)}.page-context{margin:0 0 30px;color:var(--muted);font-size:.94rem}.subpage-shell>h2,.subpage-shell article>h2{margin-top:34px;padding-top:5px;color:var(--navy)}.subpage-shell h3{margin-top:24px;color:#203d5c}.subpage-shell .info,.subpage-shell article{border:1px solid var(--line);border-radius:12px;padding:20px 22px;background:#fff;margin-top:24px}.subpage-shell code{background:#f1f4f7;border-radius:4px;padding:.08em .28em}
.table-wrap{overflow-x:auto;margin:24px 0}.table-wrap table{width:100%;border-collapse:collapse;border:1px solid #aebdcb;background:#fff}.table-wrap th,.table-wrap td{border:1px solid #bcc8d4;padding:11px 12px;text-align:left;vertical-align:top}.table-wrap th{background:#edf3f8;color:var(--navy);font-weight:800}.table-wrap tbody tr:nth-child(even){background:#fafbfd}
.footer-book-title{font-weight:750;color:#3e4d60}.footer-nav{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px!important;margin-bottom:8px}.footer-nav a{color:#4e6176;text-decoration:none}.footer-nav a:hover{text-decoration:underline}
@media(max-width:560px){.edition-divider{margin-top:32px;padding:15px 16px}.subpage-shell{padding-bottom:40px}.subpage-shell .info,.subpage-shell article{padding:17px}.table-wrap th,.table-wrap td{padding:9px 10px;min-width:88px}}


/* Human 2026-09-21: ED1-derived navy header + ED2 Amazon affiliate/footer treatment. */
.site-header{border-top:3px solid #caa44a;border-bottom:0;background:linear-gradient(110deg,#09284a 0%,#123f75 58%,#174d8c 100%);box-shadow:0 5px 18px rgba(10,36,67,.16)}
.site-header>.wrap{min-height:68px}
.site-header .brand,.site-header .brand-mark,.site-header .brand-title{color:#fff}
.site-header .brand-mark{font-size:.82rem;letter-spacing:.12em;text-transform:uppercase;color:#f2d58d}
.site-header .brand-sub{color:rgba(255,255,255,.76)}
.site-header .nav{gap:6px;align-items:center}.site-header .nav a{display:inline-flex;align-items:center;min-height:34px;padding:6px 10px;border-radius:8px;color:rgba(255,255,255,.92);font-weight:650;text-decoration:none}.site-header .nav a:hover{background:rgba(255,255,255,.13);color:#fff}
.button.amazon{background:#fff8e8;border-color:#d8b45f;color:#6f4a00}.button.amazon:hover{background:#fff2cf}
.footer{border-top:1px solid #d6e0eb;background:#f3f6fa;padding:27px 0 31px}.footer-amazon{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px!important}.footer-amazon a{font-weight:700}.affiliate-disclosure{margin-top:9px!important;font-size:.84rem;color:#59687a}
@media(max-width:820px){.site-header>.wrap{gap:8px}.site-header .nav{width:100%;overflow-x:auto;flex-wrap:nowrap;padding-bottom:2px}.site-header .nav a{white-space:nowrap;padding:5px 8px;font-size:.9rem}}


/* Human 2026-09-21 refinement: purchase actions above support actions; readable errata columns. */
.purchase-actions{display:flex;gap:12px;align-items:stretch;flex-wrap:nowrap;margin-top:20px}.purchase-actions .button{flex:1 1 0;white-space:nowrap}.purchase-actions+.hero-actions{margin-top:12px}
.errata-table{table-layout:fixed;min-width:760px}.errata-table .col-date{width:92px}.errata-table .col-target{width:86px}.errata-table .col-place{width:82px}.errata-table .col-content{width:auto}.errata-table .col-status{width:112px}.errata-table th:nth-child(1),.errata-table td:nth-child(1),.errata-table th:nth-child(2),.errata-table td:nth-child(2),.errata-table th:nth-child(3),.errata-table td:nth-child(3),.errata-table th:nth-child(5),.errata-table td:nth-child(5){white-space:nowrap;word-break:keep-all}.errata-table th,.errata-table td{overflow-wrap:normal;word-break:normal}
@media(max-width:720px){.purchase-actions{flex-wrap:wrap}.purchase-actions .button{flex:1 1 100%}.errata-table{min-width:720px}}

/* P1155 reader-facing auth feedback: place actionable errors next to the input. */
.auth-answer-row{margin-bottom:.35rem}
.auth-field-error{margin:.2rem 0 .8rem;color:#b42318;font-weight:800}
.auth-input-error{border:2px solid #b42318!important;outline:2px solid rgba(180,35,24,.12)}
.auth-status{margin:14px 0;padding:12px 14px;border-radius:8px}
.auth-status--error{border:1px solid #d92d20;background:#fff3f2;color:#8a1c13;font-weight:700}
.auth-status--locked{margin-top:16px}
