.nta{--nta-accent:var(--ast-global-color-0,var(--e-global-color-primary,#5b2d82));--nta-gold:#b08b4c;--nta-ink:#2b3030;--nta-paper:#f8f5fc;color:var(--nta-ink);background:var(--nta-paper);border:1px solid #e2dbea;border-radius:12px;font:15px/1.5 system-ui,-apple-system,sans-serif;margin:24px auto;max-width:1400px;overflow:hidden;text-align:left}.nta *{box-sizing:border-box}.nta .nta-app{padding:28px}.nta .nta-head{border-bottom:1px solid #e2dbea;padding-bottom:20px;margin-bottom:20px}.nta .nta-brand{color:var(--nta-accent);letter-spacing:.2em;font-size:11px;font-weight:700}.nta h2{font:normal clamp(25px,4vw,38px)/1.2 Georgia,serif;margin:8px 0}.nta h3{font:normal 23px/1.25 Georgia,serif;margin:0 0 10px}.nta p{margin:6px 0 12px}.nta .nta-head p{color:#6e726e}.nta .nta-controls{display:flex;gap:10px;flex-wrap:wrap}.nta input[type=search],.nta select,.nta button.nta-reset{font:inherit;border:1px solid #cac8c0;background:white;color:var(--nta-ink);border-radius:6px;min-height:42px;padding:8px 12px;margin:0}.nta input[type=search]{flex:1;min-width:160px}.nta select{max-width:100%}.nta button{cursor:pointer}.nta button.nta-reset{color:var(--nta-accent)}.nta .nta-time{display:flex;gap:25px;align-items:center;flex-wrap:wrap;padding:20px 0}.nta .nta-year{flex:1;min-width:200px}.nta output{font-size:23px;color:var(--nta-accent);font-weight:700}.nta input[type=range]{width:100%;accent-color:var(--nta-accent);margin:8px 0}.nta .nta-check{display:flex;align-items:center;gap:8px}.nta input[type=checkbox]{accent-color:var(--nta-accent);width:18px;height:18px}.nta .nta-grid{display:grid;grid-template-columns:2fr 1fr;gap:18px}.nta .nta-map-panel,.nta .nta-info{background:white;border:1px solid #e2dbea;border-radius:8px;padding:20px;min-width:0}.nta .nta-caption{font-size:12px;color:#737570}.nta svg{display:block;width:100%;height:auto;background:#f5f8f8;border-radius:6px}.nta .nta-gridline{stroke:#e1e8e7;stroke-width:1}.nta .nta-coordinate{fill:#83908d;font-size:10px}.nta .nta-province{cursor:pointer;outline:none}.nta .nta-province circle{fill:#9eaaa5;stroke:white;stroke-width:3}.nta .nta-province text{font-size:14px;fill:#3d4944;font-weight:600;paint-order:stroke;stroke:#f5f8f8;stroke-width:4px;stroke-linejoin:round}.nta .nta-label-line{stroke:#a1aaa4;stroke-width:1}.nta .nta-province.is-origin circle{fill:var(--nta-accent)}.nta .nta-province.is-other circle{fill:var(--nta-gold)}.nta .nta-province.is-chosen circle,.nta .nta-province:focus circle{stroke:#223b49;stroke-width:4}.nta .nta-province:hover circle{stroke:var(--nta-accent)}.nta .nta-province.is-muted{opacity:.36}.nta .nta-connection{stroke:var(--nta-gold);stroke-width:2;stroke-dasharray:5 4}.nta .nta-legend{display:flex;gap:18px;flex-wrap:wrap;font-size:12px;margin-top:12px}.nta .nta-legend span:before{content:'';display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:6px;background:var(--nta-accent)}.nta .nta-legend .nta-other-key:before{background:var(--nta-gold)}.nta .nta-info{background:#f1ebf8}.nta .nta-eyebrow{font-size:11px;letter-spacing:.15em;color:var(--nta-accent)}.nta .nta-info h3{margin-top:12px}.nta dt{font-size:12px;color:#686d67;margin-top:15px}.nta dd{margin:3px 0;font-size:16px}.nta .nta-note{font-size:13px;margin-top:5px}.nta small{color:#686d67}.nta .nta-warning{font-size:12px;color:#795410;background:#fff3d6;padding:6px 8px}.nta .nta-list-panel{margin-top:25px}.nta .nta-list-head{display:flex;justify-content:space-between;gap:12px;align-items:baseline}.nta .nta-count{font-size:12px;color:#6b706c}.nta .nta-scroll{max-height:none;overflow-x:auto;overflow-y:hidden;border:1px solid #e2dbea;border-radius:8px;background:white}.nta .nta-timeline{min-width:650px;padding:0 15px 12px}.nta .nta-row{width:100%;display:grid;grid-template-columns:205px 1fr;gap:10px;align-items:center;border:0;border-bottom:1px solid #eeeaf4;padding:0 6px;background:transparent;color:var(--nta-ink);text-align:left;font:inherit;min-height:46px;border-radius:0;box-shadow:none}.nta .nta-row:hover,.nta .nta-row.is-selected{background:#eee6f7;color:var(--nta-accent)}.nta .nta-row:focus-visible,.nta button:focus-visible,.nta input:focus-visible,.nta select:focus-visible{outline:2px solid var(--nta-accent);outline-offset:-2px}.nta .nta-name{font-size:13px;line-height:1.25;padding:5px 0}.nta .nta-track{position:relative;display:block;height:46px;background:repeating-linear-gradient(to right,transparent,transparent calc(15.3846% - 1px),#f0efea calc(15.3846% - 1px),#f0efea 15.3846%)}.nta .nta-bar{position:absolute;top:25px;height:9px;border-radius:4px;background:#b9beb7;min-width:3px}.nta .nta-bar.is-active{background:var(--nta-gold)}.nta .is-selected .nta-bar{background:var(--nta-accent)}.nta .nta-cursor{position:absolute;top:0;bottom:0;border-left:1px solid color-mix(in srgb,var(--nta-accent) 45%,transparent)}.nta .nta-row-period{font-size:10px;position:absolute;left:4px;top:5px;color:#6b716a}.nta .nta-axis{position:sticky;top:0;background:white;z-index:1;min-height:35px;border-bottom:1px solid #d8d5cd;pointer-events:none}.nta .nta-axis .nta-track{height:35px;background:none}.nta .nta-tick{position:absolute;top:10px;transform:translateX(-50%);font-size:11px;color:#777c76}.nta .nta-empty{padding:25px}.nta .nta-foot{font-size:11px;color:#72746d;margin:15px 0 0}@media(max-width:720px){.nta .nta-app{padding:16px}.nta .nta-grid{grid-template-columns:1fr}.nta .nta-map-panel,.nta .nta-info{padding:14px}.nta .nta-list-head{display:block}.nta .nta-count{display:block;margin-bottom:8px}.nta .nta-controls input[type=search]{width:100%;flex-basis:100%}.nta .nta-controls select{flex:1}.nta .nta-time{gap:10px}.nta .nta-info dl{display:grid;grid-template-columns:1fr 1fr;gap:4px 10px}.nta .nta-info dt{margin-top:6px}.nta .nta-info dd{font-size:14px}.nta .nta-info h3{font-size:21px}}

.nta .nta-map-scroll{overflow:hidden;max-width:100%;border-radius:6px}.nta .nta-info small{display:block;margin-top:10px}

.nta .nta-land{fill:#e7e3d5;stroke:#a9b2a0;stroke-width:1.3;stroke-linejoin:round;pointer-events:none}.nta .nta-province text{font-size:16px;stroke:#edf3f5;stroke-width:5px}.nta .nta-label-line{stroke:#758177;stroke-width:1.2;pointer-events:none}.nta .nta-map-scroll svg{display:block;width:100%;min-width:0;max-width:100%;height:auto;background:#edf3f5}

/* 0.1.2: responsive map and historical period strip. */
.nta .nta-time{margin-top:18px;border-top:1px solid #e2dbea;border-bottom:1px solid #e2dbea;padding:18px 0}
.nta .nta-list-panel{margin-top:20px}
.nta .nta-timeline{min-width:850px;padding-right:18px}
.nta .nta-timeline-header{position:sticky;top:0;z-index:3;background:#fff}
.nta .nta-axis{position:static;pointer-events:auto}
.nta .nta-era-row{align-items:start;min-height:28px;height:28px;border-bottom:1px solid #e2dbea}
.nta .nta-era-track{height:28px;background:none}
.nta .nta-era-segment{position:absolute;top:0;height:28px;border-right:1px solid #ffffffa0;text-align:center;font:10px/28px system-ui,-apple-system,sans-serif;color:#33362f;white-space:nowrap;cursor:help;outline-offset:-2px}
.nta .nta-era-segment:focus{outline:2px solid var(--nta-accent);z-index:5}
.nta .nta-era-tooltip{position:absolute;top:30px;left:50%;transform:translateX(-50%);display:none;padding:5px 9px;background:#343b36;color:white;font:11px/1.4 system-ui,sans-serif;border-radius:4px;white-space:nowrap;z-index:9;box-shadow:0 2px 5px #0002;pointer-events:none}
.nta .nta-era-segment:first-child .nta-era-tooltip{left:0;transform:none}
.nta .nta-era-segment:last-of-type .nta-era-tooltip{left:auto;right:0;transform:none}
.nta .nta-era-segment:hover,.nta .nta-era-segment:focus{z-index:8}
.nta .nta-era-segment:hover .nta-era-tooltip,.nta .nta-era-segment:focus .nta-era-tooltip{display:block}
.nta .nta-century-line{position:absolute;top:0;bottom:0;border-left:1px solid #eeeee8;pointer-events:none}
.nta .nta-bar{background:#b8beb3}
.nta .nta-bar.is-active{background:#9da892}

.nta .nta-grid{margin-top:20px}.nta .nta-era-segment.is-end .nta-era-tooltip{left:auto;right:0;transform:none}

.nta .nta-row.is-selected .nta-bar{background:var(--nta-accent)}

/* 0.1.3: all period names inside a single compact strip. */
.nta .nta-era-name{display:inline-block;font:inherit;white-space:nowrap;transform-origin:center center}
.nta .nta-era-segment{display:flex;align-items:center;justify-content:center}
.nta .nta-info>h3:first-child{margin-top:0}
.nta .nta-map-panel{padding-top:14px}

/* 0.1.5: landscape map and all controls below it. */
.nta .nta-grid{display:block;margin-top:0}
.nta .nta-map-panel{width:100%}
.nta .nta-info{margin-top:16px;width:100%}
.nta .nta-info[hidden]{display:none!important}
.nta .nta-info dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:12px 0}
.nta .nta-info dt{margin-top:0}
.nta .nta-info dd{margin:4px 0}
.nta .nta-info-fact{min-width:0}
.nta .nta-controls{margin-top:18px}
.nta .nta-time{margin-top:16px}
.nta .nta-compass-ring{fill:#ffffffc9;stroke:#acb5b3;stroke-width:1}
.nta .nta-compass-cross{stroke:#76827c;stroke-width:1.3}
.nta .nta-compass-north{fill:var(--nta-accent)}
.nta .nta-compass-south{fill:#809087}
.nta .nta-compass text{fill:#44534d;font:600 16px system-ui,sans-serif}
@media(max-width:600px){.nta .nta-info dl{grid-template-columns:1fr;gap:12px}}

/* 0.1.6: theme purple, full-height school list and stable selection. */
.nta{overflow-anchor:none}
.nta .nta-scroll{max-height:none;height:auto;overflow-anchor:none}
.nta .nta-current-period{display:inline-block;margin-left:12px;font-size:16px;font-weight:600;color:var(--nta-accent)}
.nta .nta-province.is-chosen circle,.nta .nta-province:focus circle{stroke:var(--nta-accent)}
.nta .nta-row:hover,.nta .nta-row.is-selected{background:#eee6f7;color:var(--nta-accent)}

/* 0.1.7: school dropdown, original land/sea palette. */
.nta .nta-controls .nta-school-select{flex:1;min-width:180px}
@media(max-width:720px){.nta .nta-controls .nta-school-select{width:100%;flex-basis:100%}}

/* 0.1.8: year caption includes supplied nengō and kanji; wraps on narrow screens. */
.nta .nta-current-period{max-width:calc(100% - 12px);white-space:normal;overflow-wrap:break-word;line-height:1.5;vertical-align:middle}
@font-face{font-family:'Atlas Nengo JP';src:url('caption-jp.woff') format('woff');font-style:normal;font-weight:600;font-display:swap;unicode-range:U+3000-30FF,U+3400-9FFF}
.nta .nta-current-period{font-family:'Atlas Nengo JP',system-ui,-apple-system,sans-serif}

/* 0.1.9: stable single-line year caption and compact sorting toggle. */
.nta .nta-year{min-width:0}
.nta .nta-year-heading{display:flex;align-items:baseline;gap:8px;min-width:0;max-width:100%;font:600 18px/28px 'Atlas Nengo JP',system-ui,-apple-system,sans-serif}
.nta .nta-year-heading .nta-year-word,.nta .nta-year-heading output{flex:0 0 auto;display:inline;margin:0;padding:0;border:0;font:inherit;line-height:inherit}
.nta .nta-year-heading .nta-current-period{flex:0 1 auto;min-width:0;max-width:none;margin:0;padding:0;font:inherit;line-height:inherit;vertical-align:baseline;white-space:nowrap;overflow-x:auto;overflow-y:hidden;overflow-wrap:normal;scrollbar-width:none}
.nta .nta-current-period::-webkit-scrollbar{display:none}
.nta .nta-year-heading .nta-current-period:focus-visible{outline:1px solid var(--nta-accent);outline-offset:1px}
.nta .nta-sort-slot{padding:0;line-height:28px}
.nta .nta-sort{display:block;width:26px;height:25px;min-height:0;padding:0;margin:1px 0 0 -5px;border:1px solid #d4c7df;border-radius:4px;background:#f7f3fc;color:var(--nta-accent);font:600 9px/23px system-ui,sans-serif;letter-spacing:0;text-align:center;box-shadow:none}
.nta .nta-sort:hover,.nta .nta-sort[aria-pressed=true]{background:var(--nta-accent);color:white}
@media(max-width:720px){.nta .nta-year{flex-basis:100%}}

.nta .nta-school-row{position:relative}
.nta .nta-group-context,.nta .nta-group-context:hover{background:transparent;color:#6b6370}

.nta .nta-row-arrow{display:inline-block;margin-inline-start:.45em;color:var(--nta-accent)}
.nta .nta-province-schools{display:flex;flex-wrap:wrap;gap:6px 10px;list-style:none;margin:8px 0 0;padding:0}
.nta .nta-province-schools button{padding:4px 8px;border:1px solid currentColor;border-radius:4px;background:transparent;color:var(--nta-accent);font:inherit;cursor:pointer}
.nta .nta-province-schools button:hover{background:#eee6f7}

.nta .nta-province-area path{fill:#e7e3d5;stroke:#9e9889;stroke-width:.65;stroke-linejoin:round}
.nta .nta-province-area.is-other path{fill:var(--nta-gold)}
.nta .nta-province-area.is-origin path,.nta .nta-province-area.is-chosen path{fill:var(--nta-accent)}
.nta .nta-province-area.is-hovered:not(.is-chosen) path,.nta .nta-province-area:focus-visible:not(.is-chosen) path{fill:color-mix(in srgb,var(--nta-accent) 45%,#e7e3d5);stroke:var(--nta-accent)}
.nta .nta-province-label .nta-label-line{fill:none;pointer-events:none}
.nta .nta-province-label.is-hovered text,.nta .nta-province-label.is-chosen text{fill:var(--nta-accent);text-decoration:underline}
