/* Quiet editorial typography; semantic market colors remain unchanged. */
:root{--paper:#fff;--ink:#252525;--muted:#555;--gold:#77736c;--rose:#555;--line:#d6d4cf}
body{font-family:var(--serif);font-weight:400;line-height:1.85}
h1,h2,h3,.check,.reading-keypoints li{font-weight:500}
.bottom-nav,.links,.complete,.visual-close{font-family:var(--serif)}
.hero-stamp{border-color:#888;transform:none}
.reading-keypoints li,.reading-link-box,.reading-role-pair>div,.reading-step{background:#f7f7f5;border-color:#bbb}
.reading-diagram img,.reading-photo,.reading-merge,.reading-more,.check-picture{border-radius:2px}
.check-picture{width:82%;max-width:560px;margin:14px auto 34px;border:1px solid #d6d4cf;background:#fff;padding:10px 10px 8px}
.check-picture .marked-image{width:100%;max-width:none}
.check-picture .marked-image img{border-radius:0}
.check-picture>span:last-child{font-size:15px;font-weight:400;padding:8px 2px 0;color:#555}
.architect-grid article::before{filter:none!important;opacity:.18!important}
.bank .bank-reuse .bank-flow>div{display:flex;flex-direction:column;gap:8px;text-align:center;padding:16px 10px}
.bank .bank-reuse .bank-story-zoom{order:3;width:82%;max-width:360px;margin:8px auto}
.bank .bank-reuse .bank-story-image{width:100%;height:auto}
.reading-diagram{margin-top:24px;margin-bottom:28px}
@media(max-width:360px){.check-picture{width:84%;padding:8px}.check-picture>span:last-child{font-size:15px}}

.mark-number{position:absolute;display:grid;place-items:center;transform:translate(-40%,-60%);width:24px;height:24px;border:1px solid #fff;border-radius:50%;background:#aa3427;color:#fff;font:600 16px/1 sans-serif;box-shadow:0 0 0 1px #aa3427}
.visual-dialog .mark-number{width:30px;height:30px;font-size:20px}

/* Readable field guide: restrained color, clear section boundaries and robust body type. */
:root{--paper:#f3f1eb;--ink:#25343d;--muted:#4c5b64;--gold:#687f8c;--rose:#465f6c;--line:#cbd2d5;--body-font:'Hiragino Kaku Gothic ProN','Yu Gothic',Meiryo,sans-serif}
body{font-family:var(--body-font);font-size:18px;font-weight:400;line-height:1.85}
h1,h2,h3{font-family:var(--serif);font-weight:600;color:#253e4c}
.masthead{background:#fff;border-bottom:2px solid #9eafb8}
.brand{font-family:var(--body-font);font-weight:600}
.spot,.reading{background:#fff;border:1px solid #cbd2d5;border-top:4px solid #687f8c;border-radius:5px;margin:0 auto 36px;padding:22px 16px 28px}
.spot-header{padding:0 0 16px;border-bottom:1px solid #d2dade;margin-bottom:18px;align-items:flex-start}
.spot-index,.reading-number{color:#465f6c;font-weight:600}
.spot-index{font-size:29px}.spot h2{font-size:25px;line-height:1.55}.subtitle{color:#4c5b64}
.reading h2{margin-top:8px;padding-bottom:14px;border-bottom:1px solid #d2dade}
.page-title{padding-bottom:28px}.page-title>p:last-child{color:#4c5b64}
.check-block{border-top:1px solid #dce2e5;padding-top:10px;margin-top:18px}
.check{background:#edf1f3;border-left:3px solid #78909c;padding:12px 10px;gap:10px;font-family:var(--body-font);font-size:19px;font-weight:600;line-height:1.7;border-radius:3px}
.check input{flex-shrink:0;width:26px;height:26px;border-color:#536e7c;accent-color:#405f70}
.check-block .field-note,.boj-landmarks>p{margin:10px 2px 16px;font-size:17px;line-height:1.85;color:#35454e}
.boj-landmarks>.check{margin-top:22px}
.look-title{font-size:20px;font-weight:700;color:#405f70;margin-top:24px!important}
.check-picture{border-color:#b7c4cb;margin-bottom:26px;background:#fafbfc}
.check-picture>span:last-child{font-family:var(--body-font);color:#425d6c;font-size:15px}
.thirty,.spot-trivia,.visit-note,.reading-keypoints li,.reading-link-box{background:#eef2f4;border-left-color:#78909c}
.spot-details,.boj-details,.reading-more{border-color:#bbc8cf;background:#fafbfc}
.spot-details>summary,.boj-details>summary,.reading-more>summary{background:#edf1f3;font-family:var(--body-font);font-weight:600}
.reading-step,.reading-role-pair>div,.architect-grid article{background:#f1f3f3}
.bottom-nav{background:rgba(255,255,255,.98);border-top:2px solid #a7b6be}
.bottom-nav,.links,.complete,.visual-close{font-family:var(--body-font)}
.bottom-nav .active{background:#e3ebef;color:#294b5e}
.links a,.complete{border-color:#607d8d}.complete{background:#365a70;color:#fff}
.source-list{border-top-color:#bbc8cf}
@media(max-width:360px){.spot,.reading{padding-left:12px;padding-right:12px}.spot h2{font-size:24px}.check{font-size:18px;padding:11px 8px;gap:8px}.check input{width:25px;height:25px}.reading h2{font-size:23px}}

/* Heading bands, plain subheads and ruled comparison rows have distinct roles. */
.spot-header{background:#e4ebef;border:0;border-left:4px solid #607e8f;padding:14px 12px;margin-bottom:20px;border-radius:2px}
.reading>h2{background:#e4ebef;border:0;border-left:4px solid #607e8f;padding:14px 12px;color:#294959}
.spot-details h3,.reading h3{font-family:var(--body-font);font-weight:700;font-size:20px;color:#30434e;background:none;margin-top:26px;padding-bottom:6px;border-bottom:1px solid #d4dce0}
.reading-step,.reading-role-pair>div,.bank-compare>div{background:#faf9f5;border:1px solid #cfcac0;border-top:0}
.reading-step>b,.reading-role-pair b,.bank-compare time{color:#66543c;font-weight:700}
.reading-role-pair b,.bank-compare time{background:#ece6db;padding:8px 10px;border-bottom:1px solid #cec5b6}
.bank-compare>div,.reading-role-pair>div{border-top:3px solid #a2947f}
.reading-step{border-left:3px solid #a2947f}
table{width:100%;border-collapse:collapse;background:#fff}th,td{border:1px solid #c7cdd0;padding:12px;text-align:left}th{background:#ece6db;color:#514632;font-weight:700}tbody tr:nth-child(even){background:#f6f7f7}

.spot-position{position:fixed;z-index:19;left:0;right:0;bottom:var(--bottom-nav-height,80px);background:#365568;color:#fff;border-top:1px solid #28495b;box-shadow:0 -2px 8px #25343d12}
.spot-position a{display:flex;align-items:center;min-height:44px;max-width:760px;margin:auto;padding:8px max(16px,var(--app-safe-left));padding-right:max(16px,var(--app-safe-right));font:600 16px/1.5 var(--body-font);text-decoration:none;max-height:80px;overflow:auto}
main{padding-bottom:calc(190px + var(--app-safe-bottom))}
.visual-open .spot-position{display:none}

.brand{display:block;line-height:1.7}.brand #event-name{display:block;overflow-wrap:anywhere}

.reading-subject+.reading-subject{margin-top:34px;padding-top:14px;border-top:2px solid #a7b6be}.reading-subject>h3{margin-top:8px}.reading-subject .legend{margin-top:18px}

.history-timeline li{padding:16px 12px;grid-template-columns:86px minmax(0,1fr);gap:12px;border-bottom:1px solid #cbd2d5;background:#fff;align-items:start}
.history-timeline li:nth-child(odd){background:#edf3f6}
.history-timeline time{display:block;color:#235a78;font-size:20px;font-weight:700;line-height:1.6;border-left:3px solid #628da5;padding-left:8px;font-variant-numeric:tabular-nums}
.history-timeline li>span{font-size:18px;line-height:1.85;min-width:0}
.history-timeline strong{font-weight:700;color:#293b46}
.timeline-note{display:block;margin-top:6px;color:#4c5b64;font-weight:400;font-size:17px}
.timeline-aside{font-weight:400;color:#4c5b64}
@media(max-width:360px){.history-timeline li{grid-template-columns:1fr;gap:8px;padding:14px 10px}.history-timeline time{font-size:20px}}

.architect-grid article:nth-child(4){position:relative;isolation:isolate;overflow:hidden;min-height:180px}
.architect-grid article:nth-child(4)::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:url('assets/architect-nishimura-illustrated.jpg') no-repeat right -8px top -10px / 190px auto;mask-image:linear-gradient(90deg,transparent 18%,#000 75%);-webkit-mask-image:linear-gradient(90deg,transparent 18%,#000 75%)}
.architect-grid .name-reading{font-size:17px;line-height:1.7;color:#40535f}
.architect-grid .portrait-caption{font-size:16px;line-height:1.75;color:#40535f}
@media(forced-colors:active){.architect-grid article:nth-child(4)::before{display:none}}
