:root{--paper:#f7f3eb;--paper-raised:#fffaf3;--ink:#221e19;--muted:#5c564c;--line:#d9d0c2;--land:#e4ecdf;--literary:#d7e3cc;--literary-pt:#e4d3b0;--land-context:#efeae2;--water:#d7e4ea;--land-line:#746e64;--person:#8d342c;--work:#1d6550;--event:#8a5a12;--fiction:#2c3d72;--focus:#2a241c;--gutter:clamp(1.25rem, 7vw, 10rem);--gutter-wide:clamp(1rem, 3vw, 3rem);--serif:"Palatino Linotype", Palatino, "Songti SC", "Noto Serif SC", "Source Han Serif SC", serif;--sans:"Segoe UI", "PingFang SC", "Hiragino Sans GB", "Noto Sans SC", "Microsoft YaHei", sans-serif;color-scheme:light}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--paper);color:var(--ink);font-family:var(--sans);margin:0;font-size:1.0625rem;line-height:1.7}img{max-width:100%}a{color:inherit}a:hover{color:var(--person)}:focus-visible{outline:2px solid var(--focus);outline-offset:3px}.skip-link{background:var(--ink);color:var(--paper);z-index:10;padding:.5rem .75rem;position:absolute;top:0;left:1rem;transform:translateY(-120%)}.skip-link:focus{transform:none}.site-header,.site-footer{padding-inline:var(--gutter)}.site-header{border-bottom:1px solid var(--line);background:var(--paper-raised);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem 1.5rem;min-height:4rem;display:flex}.site-name{font-family:var(--serif);align-items:center;min-height:2.75rem;font-size:1.25rem;font-weight:500;text-decoration:none;display:inline-flex}.site-header h1.site-name{margin:0;font-size:1.25rem;font-weight:500;line-height:1.3}.site-header h1.site-name a{color:inherit;align-items:center;min-height:2.75rem;text-decoration:none;display:inline-flex}.site-nav,.footer-nav{flex-wrap:wrap;gap:.25rem .5rem;display:flex}.site-nav a,.footer-nav a{align-items:center;min-height:2.75rem;padding-inline:.7rem;text-decoration:none;display:inline-flex}.site-nav a[aria-current=page]{box-shadow:inset 0 -2px 0 var(--ink)}.page{padding:2rem var(--gutter) 4rem}.page--wide{padding-inline:var(--gutter-wide)}.lede,.prose{font-family:var(--serif)}.lede{max-width:40rem;margin-top:.5rem;font-size:1.2rem}h1,h2,h3{font-family:var(--serif);font-weight:500;line-height:1.3}h1{margin:0;font-size:clamp(1.8rem,4vw,2.6rem)}h2{margin:2rem 0 .75rem;font-size:1.4rem}.prose{max-width:40rem}.prose p,.archive-section p{margin:.8rem 0}.kicker{color:var(--muted);letter-spacing:.04em;margin:0 0 .4rem}.period-list,.plain-list,.related-list{margin:0;padding:0;list-style:none}.period-list li,.related-list li{border-top:1px solid var(--line);padding:.85rem 0}.period-list li:last-child,.related-list li:last-child{border-bottom:1px solid var(--line)}.period-list a,.related-list a{text-decoration:none}.period-status{color:var(--muted);margin-left:.5rem;font-size:.92rem;display:inline-block}.facts{max-width:40rem;margin:1.5rem 0}.fact-row{border-top:1px solid var(--line);grid-template-columns:minmax(5rem,8rem) 1fr;gap:.35rem 1rem;padding:.35rem 0;display:grid}.map-note{color:var(--muted);font-size:.92rem}.facts dt{color:var(--muted)}.facts dd{margin:0}.original-name{font-family:var(--serif)}.site-footer{border-top:1px solid var(--line);color:var(--muted);padding-top:1.5rem;padding-bottom:2rem}.copyright{margin-bottom:0}body.map-screen{flex-direction:column;height:100dvh;display:flex;overflow:hidden}body.map-screen .site-header,body.map-screen .site-footer{padding-inline:var(--gutter-wide)}body.map-screen .site-header{min-height:3rem}body.map-screen .page--map{flex-direction:column;flex:1;min-height:0;padding:0;display:flex}body.map-screen .page--map>astro-island{flex-direction:column;flex:1;min-height:0;display:flex}body.map-screen .site-footer{padding:.2rem var(--gutter-wide);flex-wrap:wrap;align-items:baseline;gap:.35rem .9rem;font-size:.8rem;display:flex}body.map-screen .site-footer .copyright,body.map-screen .footer-nav{margin:0}.explore,.explore-stage{flex-direction:column;flex:1;min-height:0;display:flex}.explore{margin:0}.map-frame{flex-direction:column;flex:1;min-height:12rem;display:flex;position:relative}.map-canvas-wrap{flex-direction:column;flex:1;min-height:0;display:flex;position:relative}.frame-legend{z-index:2;border:1px solid var(--line);pointer-events:none;background:#fffaf3f0;flex-flow:column;gap:.12rem;width:max-content;max-width:9.5rem;margin:0;padding:.35rem .5rem;font-size:.75rem;line-height:1.35;list-style:none;display:flex;position:absolute;top:.45rem;left:.55rem}.frame-legend li{white-space:nowrap;align-items:center;gap:.3rem;display:flex}.frame-swatch{background:var(--literary);border:1px solid #8aa484;flex:none;width:1.15rem;height:.72rem}.frame-swatch--continent{border:0;border-top:2.5px solid var(--ink);background:0 0;height:0}.frame-swatch--literary{background:0 0;border:0;border-top:2px dashed #1d6550;height:0}.frame-swatch--es{background:var(--literary);border-color:#8aa484}.frame-swatch--brazil{background:var(--literary-pt);border-color:#b89a62}.frame-swatch--out{background:var(--land-context);border-color:#c8c2b6}.frame-tag{border:1px solid var(--ink);color:var(--ink);font:600 .78rem/1.2 var(--sans);white-space:nowrap;pointer-events:none;background:#fffaf3eb;padding:.05rem .35rem}.frame-tag--literary{color:#1d6550;border-color:#1d6550}.year-controls{flex-wrap:wrap;align-items:center;gap:.5rem .75rem;display:flex}.year-controls label,.year-controls .year-field{flex:1;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.55rem;min-width:0;min-height:2.15rem;display:grid}.year-controls input[type=range]{width:100%;min-height:2.15rem;accent-color:var(--ink)}.year-range{width:100%;min-width:8rem;height:2.15rem;display:block;position:relative}.year-range:before,.year-range:after{content:"";pointer-events:none;height:2px;position:absolute;top:50%;transform:translateY(-50%)}.year-range:before{background:var(--line);left:.55rem;right:.55rem}.year-range:after{left:calc(.55rem + (100% - 1.1rem) * var(--from) / 100);width:calc((100% - 1.1rem) * (var(--to) - var(--from)) / 100);background:var(--ink)}.year-range input[type=range]{pointer-events:none;appearance:none;background:0 0;width:100%;height:2.15rem;margin:0;position:absolute;inset:0}.year-range input[type=range]:last-of-type{z-index:2}.year-range input[type=range]:focus-visible,.year-range input[type=range]:active{z-index:3}.year-range input[type=range]::-webkit-slider-runnable-track{background:0 0;height:2px}.year-range input[type=range]::-webkit-slider-thumb{appearance:none;pointer-events:auto;border:2px solid var(--paper-raised);background:var(--ink);cursor:grab;border-radius:50%;width:1.1rem;height:1.1rem;margin-top:-.5rem}.year-range input[type=range]::-moz-range-track{background:0 0;border:0;height:2px}.year-range input[type=range]::-moz-range-thumb{pointer-events:auto;border:2px solid var(--paper-raised);background:var(--ink);cursor:grab;border-radius:50%;width:1.1rem;height:1.1rem}.layer-switch{flex-wrap:wrap;gap:.5rem;display:flex}.layer-switch button,.year-controls button,.text-button,.step-nav button{border:1px solid var(--line);background:var(--paper);min-height:2.75rem;color:var(--ink);font:inherit;cursor:pointer;justify-content:center;align-items:center;gap:.4rem;padding:.4rem .8rem;display:inline-flex}.year-controls button[aria-pressed=true],.layer-switch button[aria-checked=true]{border-color:var(--ink);background:var(--ink);color:var(--paper)}.explore-card,.inset-map,.map-canvas{background:var(--paper-raised);border:1px solid var(--line)}.explore-card{padding:1rem}.card-head{justify-content:space-between;align-items:flex-start;gap:.75rem;display:flex}.card-head h2{margin:0}.card-head-actions{flex:none;align-items:center;gap:.35rem;display:flex}.card-expand{display:none}.year-readout{font-family:var(--serif);margin-top:0}.entry-list{margin:.25rem 0 0;padding:0;list-style:none}.entry-list button,.entry-list a,.entry-list span{text-align:left;border:0;border-top:1px solid var(--line);width:100%;color:inherit;font:inherit;cursor:pointer;background:0 0;min-height:2.75rem;padding:.45rem .2rem;text-decoration:none;display:block}.entry-list span{cursor:default}.entry-list button[aria-current=true]{background:var(--land)}.entry-list small{color:var(--muted);display:block}.map-stage{flex:1;min-height:0;position:relative}.map-canvas{background:var(--water);border:0;height:100%;min-height:0;position:absolute;inset:0}.dock-label{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.card-section h3{margin:.9rem 0 .15rem;font-size:1rem;font-weight:600}.map-dock{background:var(--paper-raised);border-top:1px solid var(--line);flex-direction:column;flex:none;gap:.35rem;min-width:0;margin:0;padding:.45rem .9rem .55rem;display:flex}.dock-bar,.dock-year,.dock-scroll{min-width:0}.dock-bar{flex-direction:column;align-items:stretch;gap:.3rem;display:flex}.dock-tools{flex-wrap:nowrap;align-items:center;gap:.4rem;display:flex}.dock-year{flex-direction:column;gap:.1rem;min-width:0;display:flex}.map-dock .year-controls{flex-wrap:nowrap;width:100%;min-width:0}.map-dock .year-controls label,.map-dock .year-controls .year-field{white-space:nowrap}.map-dock .year-readout{margin:0}.dock-scroll{scrollbar-width:none;flex-wrap:nowrap;gap:.35rem;display:flex;overflow-x:auto}.dock-scroll::-webkit-scrollbar{height:0}.dock-scroll .roster,.dock-scroll .event-names{flex:none;overflow:visible}.map-dock .layer-switch{flex-wrap:nowrap}.map-dock .layer-switch button,.map-dock .year-controls button{background:0 0;min-height:2.15rem;padding:.15rem .55rem;font-size:.88rem}.map-dock .layer-switch button[aria-checked=true]{border-color:var(--ink);background:var(--ink);color:var(--paper)}.map-dock .year-controls button[aria-pressed=true]{border-color:var(--ink);color:var(--ink);background:0 0;font-weight:600}.map-dock .year-readout{flex:none;margin:0;font-size:.88rem;line-height:1.35}.explore-card{background:var(--paper-raised);border-width:1px 0 0;width:auto;max-width:none;margin:0;padding:.85rem 1rem 1rem;position:static;overflow:auto}.map-badge{z-index:1;background:var(--paper-raised);border:1px solid var(--line);margin:0;padding:.2rem .45rem;font-size:.85rem;position:absolute;top:.6rem;left:.6rem}.legend{color:var(--muted);flex-wrap:wrap;gap:.75rem 1.25rem;margin:.75rem 0 0;padding:0;font-size:.92rem;list-style:none;display:flex}.legend li{align-items:center;gap:.4rem;display:inline-flex}.swatch{background:var(--ink);width:.7rem;height:.7rem;display:inline-block}.swatch--city{border-radius:50%}.swatch--publish{background:var(--work)}.swatch--person{background:var(--person);border-radius:50%}.swatch--work{background:var(--work)}.swatch--fiction{background:var(--fiction);transform:rotate(45deg)}.swatch--event{background:var(--event);border-radius:50%}.inset-map{z-index:2;border:1px solid var(--line);background:#fffaf3f0;width:10.25rem;margin:0;padding:.28rem .4rem .35rem;position:absolute;bottom:.5rem;left:.6rem}.inset-map figcaption{margin:0 0 .15rem;font-size:.75rem}.inset-map svg{width:auto;max-width:100%;height:2.35rem;display:block}.inset-map .step-nav{gap:.25rem}.inset-map .step-nav button{min-height:1.7rem;padding:.05rem .4rem;font-size:.75rem}.map-stage .maplibregl-ctrl-bottom-right{bottom:.35rem}.inset-map button{font:inherit;cursor:pointer}.guide-bar{border:1px solid var(--line);background:var(--paper-raised);flex-direction:column;gap:.75rem;padding:.9rem;display:flex}.step-nav{flex-wrap:wrap;gap:.5rem;display:flex}.region-label{color:#3c342c;font:600 .78rem/1 var(--sans);text-shadow:0 0 4px #f7f3eb,0 0 4px #f7f3eb,0 0 4px #f7f3eb;cursor:pointer;white-space:nowrap;background:0 0;border:0;padding:0}.region-label.is-minor{display:none}.map-stage.is-close .region-label.is-minor,.region-label.is-selected{display:inline}.city-pin,.lit-pin{cursor:pointer;background:0 0;border:0;align-items:center;gap:.2rem;width:auto;height:auto;min-height:1.6rem;padding:0;display:inline-flex}.city-pin i,.lit-pin i{background:var(--ink);width:.6rem;height:.6rem;display:block}.city-pin--publish i,.lit-pin--work i{background:var(--work)}.city-pin--selected i,.lit-pin--selected i{outline:2px solid var(--focus);outline-offset:3px}.lit-pin--person i{background:var(--person);border-radius:50%}.lit-pin--fiction i{background:var(--fiction);transform:rotate(45deg)}.city-pin strong,.lit-pin strong{white-space:nowrap;border:1px solid var(--line);background:#fffaf3eb;padding:.02rem .3rem;font-size:.75rem;font-weight:500;display:none}.city-pin--count strong,.lit-pin--named strong,.map-stage.is-close .city-pin strong,.map-stage.is-close .lit-pin strong{display:inline}.map-fallback{text-align:center;place-items:center;min-height:12rem;padding:1rem;display:grid}.roster,.event-names{flex-wrap:nowrap;gap:.35rem;margin:0;display:flex;overflow-x:auto}.roster button{font:inherit;border:1px solid var(--line);color:inherit;cursor:pointer;background:0 0;flex:none;min-height:2.25rem;padding:.2rem .65rem;font-size:.78rem}.roster button[aria-current=true]{border-color:var(--ink);background:var(--ink);color:var(--paper)}.event-names button{font:inherit;border:1px solid var(--line);color:inherit;cursor:pointer;background:0 0;flex:none;min-height:2.25rem;padding:.2rem .55rem;font-size:.78rem;text-decoration:none}.event-names button[data-dim=true]{color:var(--muted)}.event-names button[aria-current=true]{font-weight:700}.card-note{font-size:.85rem}.card-more{color:var(--muted);margin:1rem 0 .2rem;font-size:.92rem}.card-more a{color:var(--ink)}.life-path{pointer-events:none;z-index:1;width:100%;height:100%;position:absolute;inset:0}.life-path polyline{fill:none;stroke:#6b3f55;stroke-width:1.6px;stroke-dasharray:4 3}.lit-pin--dim{opacity:.28}.frame-swatch--marked{background:0 0;border:0;border-top:2px dashed #8c3b32;height:0}@media (width<=47.99rem){.explore-stage{grid-template-rows:minmax(12rem,1fr) auto;display:grid;position:relative}.explore-stage.has-card{grid-template-rows:minmax(9rem,30%) minmax(0,1fr) auto}.explore-stage.has-card.is-reading{grid-template-rows:minmax(6.5rem,16%) minmax(0,1fr)}.map-frame,.explore-card,.map-dock{grid-column:1}.map-frame{grid-row:1}.map-dock{grid-row:2}.explore-stage.has-card .explore-card{z-index:auto;min-height:0;max-height:none;box-shadow:none;grid-row:2;margin:0;position:static;inset:auto;overflow:auto}.explore-stage.has-card .map-dock{grid-row:3}.explore-stage.has-card .dock-year,.explore-stage.has-card .dock-scroll,.explore-stage.has-card.is-reading .map-dock{display:none}.card-expand{display:inline-flex}.explore-card .card-head{z-index:1;background:var(--paper-raised);margin:-.85rem -1rem .35rem;padding:.65rem 1rem .4rem;position:sticky;top:-.85rem}.frame-legend{gap:.08rem;max-width:8.4rem;padding:.25rem .4rem;font-size:.68rem;inset:46% auto auto .3rem}.region-label{display:none}.map-stage.is-close .region-label,.region-label.is-selected{display:inline}.map-dock{gap:.25rem;padding:.3rem .55rem .4rem}.map-dock .year-controls{flex-wrap:wrap}.map-dock .year-controls .year-field{flex:100%}.dock-year>.year-readout:first-of-type{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.dock-bar{flex-direction:column;align-items:stretch;display:flex}.dock-year{flex-direction:column;align-items:stretch;gap:.15rem;display:flex}.map-dock .year-readout{grid-column:auto}.dock-tools{grid-template-columns:minmax(0,1fr) auto;align-items:stretch;gap:.25rem;width:100%;display:grid}.dock-tools .layer-switch[role=radiogroup]{grid-area:1/1;grid-template-columns:repeat(3,minmax(0,1fr));width:100%;min-width:0;display:grid}.dock-tools .layer-switch[role=group]{grid-area:1/2;display:flex}.dock-tools .layer-switch button{white-space:normal;min-height:2.5rem;padding:.25rem .3rem;font-size:.8rem;line-height:1.2}.dock-tools .layer-switch[role=group] button{white-space:nowrap;padding-inline:.45rem}.inset-map{border:0;border-bottom:1px solid var(--line);background:var(--paper-raised);flex-wrap:wrap;order:-1;align-items:center;gap:.25rem .4rem;width:auto;max-width:none;margin:0;padding:.25rem .7rem;display:flex;position:static}.inset-map figcaption{margin:0}.inset-map svg,.inset-map figcaption{display:none}}@media (width>=48rem){.explore-stage.has-card{grid-template-rows:minmax(0,1fr) auto;grid-template-columns:minmax(0,1fr) minmax(18rem,24rem);display:grid}.explore-stage.has-card .map-frame{grid-area:1/1}.explore-stage.has-card .explore-card{border-width:0 0 0 1px;grid-area:1/2;min-height:0;max-height:none;padding:1rem 1.1rem 1.2rem}.explore-stage.has-card .map-dock{grid-area:2/1/auto/-1}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
