body{margin:0}img{max-width:100%}[hidden]{display:none!important}

/* Layout: magazine homepage. Centered red mark breaking the top rule; 3-col front (two stacked / centered lead / thumb list) divided by vertical hairlines; 4-up row; colored guide cards; two-column event lists; magazine/latest/picks triple. */
:root{--bg:#fff;--fg:#111;--muted:#6f6f6f;--rule:#cfcfcf;--strong:#111;--surface:#f3f3f1;--accent:#d8302a;--ink:#111;--c1:#ec6a33;--c2:#f4c545;--c3:#e0a0c8;--c4:#ab9df5;--tri:#8f3fa0;--jur:#1f93ad;--cre:#5c9e2f;--on-chip:#fff;
--serif:"Shippori Mincho","Hiragino Mincho ProN","Yu Mincho",serif;--mono:"Courier Prime","Noto Sans JP",ui-monospace,monospace;--sans:"Noto Sans JP","Hiragino Kaku Gothic ProN",sans-serif;--mark:"Playfair Display","Shippori Mincho",serif}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--bg:#101010;--fg:#ededed;--muted:#a0a0a0;--rule:#3a3a3a;--strong:#ededed;--surface:#1c1c1c;--accent:#ff5d52;--tri:#b565c6;--jur:#3fb4cf;--cre:#7fc24b;--on-chip:#111;color-scheme:dark}}
:root[data-theme="dark"]{--bg:#101010;--fg:#ededed;--muted:#a0a0a0;--rule:#3a3a3a;--strong:#ededed;--surface:#1c1c1c;--accent:#ff5d52;--tri:#b565c6;--jur:#3fb4cf;--cre:#7fc24b;--on-chip:#111;color-scheme:dark}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:20px}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{background:var(--bg);color:var(--fg);font:400 16px/1.75 var(--serif);-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}a:hover{color:var(--accent)}
a:focus-visible,button:focus-visible,input:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
h1,h2,h3,p,ul,ol,dl,dd{margin:0}ul,ol{padding:0;list-style:none}
.wrap{max-width:1320px;margin-inline:auto;padding-inline:24px}
/* header */
.hd{padding-top:14px}
.hd-row{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:16px}
.hd nav ul{display:flex;flex-wrap:wrap;gap:4px 28px;font:400 16px var(--sans)}
.hd-r{display:flex;justify-content:flex-end;align-items:center;gap:24px;font:400 16px var(--sans)}
.btn{background:var(--accent);color:#fff;padding:9px 18px;border-radius:3px;font-weight:700;white-space:nowrap}.btn:hover{color:#fff;opacity:.88}
.logo{font:900 92px/.9 var(--mark);color:var(--accent);padding-inline:36px;background:var(--bg);position:relative;z-index:1}
.hd-line{border-top:1px solid var(--strong);margin-top:-20px}
.word{text-align:center;font:italic 400 40px/1 var(--mark);padding-block:54px 6px}
.word small{display:block;font:400 12px var(--sans);letter-spacing:.3em;color:var(--muted);margin-top:10px}
/* shared story bits */
.hl{font:500 24px/1.45 var(--serif);text-wrap:balance}
.dek{font-size:15.5px;line-height:1.8}
.by{font:700 13px/1.5 var(--mono);letter-spacing:.14em;text-transform:uppercase;display:flex;flex-wrap:wrap;gap:0 12px}
.by time{font-weight:400;color:var(--muted)}
.cred{font:400 13px/1.4 var(--mono);letter-spacing:.08em;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tag{font:700 13px var(--mono);letter-spacing:.16em;color:var(--accent)}
.art{display:flex;align-items:center;justify-content:center;aspect-ratio:3/2;max-width:100%;overflow:hidden;color:var(--ink);padding:8%;container-type:inline-size}
.art:hover{color:var(--ink)}
.art span{font:italic 900 15cqw/1 var(--mark);letter-spacing:-.02em;white-space:nowrap}
.art.sm{aspect-ratio:1;width:80px;height:80px;flex:none;padding:0;align-self:flex-start}.art.sm span{font-size:44px}
.a1,.c1{background:var(--c1)}.a2,.c2{background:var(--c2)}.a3,.c3{background:var(--c3)}.a4,.c4{background:var(--c4)}
.card{display:flex;flex-direction:column;gap:8px;min-width:0}.card .hl{margin-top:6px}
/* front */
.front{display:grid;grid-template-columns:minmax(0,296fr) minmax(0,656fr) minmax(0,312fr);margin-top:30px;padding-bottom:20px;border-bottom:1px solid var(--rule)}
.front>*{padding-inline:16px;border-left:1px solid var(--rule);min-width:0}
.front>:first-child{padding-left:0;border-left:0}.front>:last-child{padding-right:0}
.stack{display:flex;flex-direction:column;gap:20px}.stack .card+.card{border-top:1px solid var(--rule);padding-top:20px}
.lead{display:flex;flex-direction:column;gap:10px;text-align:center;align-items:center}
.lead .art{width:100%}.lead .art span{font-size:20cqw}.lead .cred{align-self:flex-start}
.lead .hl{font-size:clamp(28px,3vw,38px);line-height:1.4;max-width:15em}
.lead .dek{font-size:18px;max-width:34em}.lead .by{justify-content:center}
.minis{display:flex;flex-direction:column}
.mini{display:flex;gap:16px;justify-content:space-between;padding-block:20px;border-top:1px solid var(--rule)}
.mini:first-child{padding-top:0;border-top:0}.mini>div{display:flex;flex-direction:column;gap:10px;min-width:0}.mini .hl{font-size:17px;line-height:1.6}
.four{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));padding-block:40px}
.four>*{padding-inline:16px;border-left:1px solid var(--rule)}.four>:first-child{padding-left:0;border-left:0}.four>:last-child{padding-right:0}
/* section head */
.sh{display:flex;justify-content:space-between;align-items:baseline;gap:16px;border-bottom:1px solid var(--strong);padding-bottom:12px;margin-bottom:22px}
.sh h2{font:500 30px/1.2 var(--serif);letter-spacing:.12em}
.sh a{font:700 14px var(--mono);letter-spacing:.1em;white-space:nowrap}
/* guide cards */
.guide{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:32px;margin-bottom:44px}
.gc{border:1px solid var(--ink);border-radius:10px;color:var(--ink);padding:26px 16px 16px;display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px}
.gc b{font:italic 900 64px/1 var(--mark)}.gc h3{font:700 23px/1.3 var(--serif)}.gc p{font-size:16px;line-height:1.5;flex:1}
.gc a{display:block;width:100%;border:1px solid var(--ink);border-radius:3px;padding:7px;font:700 15px var(--mono);letter-spacing:.1em;margin-top:8px}.gc a:hover{background:var(--ink);color:#fff}
/* events */
.two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px;margin-bottom:48px}
.ev{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;padding-block:22px;border-bottom:1px solid var(--rule)}
.ev:first-child{padding-top:0}.ev-b{display:flex;flex-direction:column;gap:8px;min-width:0}.ev .hl{font-size:22px}
.ev-w{font:700 13px/1.6 var(--sans)}.ev .by{color:var(--muted);letter-spacing:.04em;font-family:var(--sans);font-size:12.5px}
.date{background:var(--surface);aspect-ratio:3/2;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;align-self:start;padding:10px;text-align:center}
.date b{font:700 clamp(26px,3.2vw,44px)/1.1 var(--serif);font-variant-numeric:tabular-nums}.date small{font:400 12px var(--sans);color:var(--muted)}
.ev-status{font:700 11px var(--sans);letter-spacing:.1em;padding:2px 8px;border:1px solid var(--muted);color:var(--muted)}
.ev-status.on{background:var(--accent);border-color:var(--accent);color:#fff}.ev-status.soon{border-color:var(--accent);color:var(--accent)}
/* triple */
.tri3{display:grid;grid-template-columns:minmax(0,300fr) minmax(0,616fr) minmax(0,300fr);gap:32px;margin-bottom:56px}
.tri3>*{min-width:0;display:flex;flex-direction:column}
.promo{display:flex;flex-direction:column;gap:14px;margin-bottom:36px}.promo a.bk{background:var(--strong);color:var(--bg);text-align:center;padding:8px;border-radius:3px;font:700 14px var(--mono);letter-spacing:.1em}
.lat{display:grid;grid-template-columns:200px minmax(0,1fr);gap:24px;padding-block:20px;border-bottom:1px solid var(--rule)}
.lat:first-of-type{padding-top:0}.lat>div{display:flex;flex-direction:column;gap:8px;min-width:0}
.lat .hl{font-size:clamp(22px,2.3vw,29px);line-height:1.4}.lat .dek{color:var(--muted);font-size:14.5px}
.pick{counter-reset:n;margin-bottom:28px}
.pick li{counter-increment:n;display:grid;grid-template-columns:22px minmax(0,1fr);gap:0 6px;padding-block:14px;border-bottom:1px solid var(--rule)}
.pick li:first-child{padding-top:0}.pick li::before{content:counter(n);color:var(--accent);font:400 24px/1.2 var(--mark)}
.pick .hl{font-size:16.5px;line-height:1.6}.pick .by{margin-top:8px}
.ad{border:1px dashed var(--rule);background:var(--surface);color:var(--muted);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;text-align:center;font:400 12px var(--sans);padding:10px;max-width:100%}
.ad-l{letter-spacing:.3em;font-size:10px}.ad-top{min-height:90px;margin-top:24px}.ad-rect{min-height:250px}.ad-tall{min-height:420px}.ad-foot{min-height:90px;margin-bottom:40px}
/* reference sections */
section.block{padding-bottom:56px}
.sec-sub{font-size:15.5px;max-width:44em;margin-bottom:22px}
.filters{display:flex;flex-wrap:wrap;gap:10px 24px;margin-bottom:22px}
.fg{display:flex;flex-wrap:wrap;gap:6px;align-items:center;font:400 13px var(--sans)}.fg>span{color:var(--muted);margin-right:4px}
.fb{font:inherit;color:var(--fg);background:transparent;border:1px solid var(--strong);border-radius:3px;padding:4px 12px;cursor:pointer}
.fb[aria-pressed="true"]{background:var(--strong);color:var(--bg)}
.axis{display:grid;grid-template-columns:49fr 56fr 79fr;font:700 11px var(--sans);color:var(--on-chip);margin-bottom:22px;max-width:720px}
.axis span{padding:3px 8px;white-space:nowrap;overflow:hidden}
.tri{background:var(--tri)}.jur{background:var(--jur)}.cre{background:var(--cre)}
.dinos{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:0 32px}
.dino{display:flex;flex-direction:column;gap:8px;padding-block:20px;border-top:1px solid var(--rule);min-width:0}
.latin{font:italic 400 15px var(--mark);color:var(--muted)}
.meta{display:flex;flex-wrap:wrap;gap:6px 12px;font:400 12px var(--sans);color:var(--muted);align-items:center}
.chip{color:var(--on-chip);padding:0 8px;font-weight:700}
.spec{display:flex;flex-direction:column;gap:8px;font:400 13px var(--sans);margin-top:auto;padding-top:6px}
.spec div{display:grid;grid-template-columns:5em minmax(0,1fr);gap:8px}.spec dt{color:var(--muted)}.spec dd{font-variant-numeric:tabular-nums}
.tl,.bar{display:block;position:relative;height:6px;background:var(--surface);margin-top:4px}.tl i{position:absolute;top:0;bottom:0}.bar i{display:block;height:100%;background:var(--strong)}
.empty{color:var(--muted);padding-block:20px}
.search{font:400 15px var(--sans);color:var(--fg);background:var(--bg);border:1px solid var(--strong);border-radius:3px;padding:8px 12px;width:min(100%,360px);margin-bottom:20px}
.gl{columns:2;column-gap:48px}.term{break-inside:avoid;padding-block:14px;border-top:1px solid var(--rule)}
.term dt{font:700 19px var(--serif)}.term dt span{font:400 12px var(--sans);color:var(--muted);margin-left:10px}.term dd{font-size:15px}
.tw{overflow-x:auto}table{border-collapse:collapse;width:100%;font:400 14px var(--sans);min-width:520px}
th,td{text-align:left;padding:8px 12px 8px 0;border-bottom:1px solid var(--rule)}td i{font:italic 400 16px var(--mark)}
th{font:700 12px var(--mono);letter-spacing:.14em;border-bottom-color:var(--strong)}
footer{border-top:1px solid var(--strong);padding-block:28px 48px;font:400 13px/1.8 var(--sans);color:var(--muted)}
.crumb{font:400 13px var(--sans);color:var(--muted);margin-top:28px}
.ph{text-align:center;max-width:860px;margin:28px auto 8px;display:flex;flex-direction:column;gap:14px;align-items:center}
.ph h2{font:500 clamp(28px,4.4vw,48px)/1.4 var(--serif);text-wrap:balance}.pdek{font-size:20px;line-height:1.7;max-width:30em}
.pb{max-width:720px;margin:32px auto 48px;display:flex;flex-direction:column;gap:10px}.pb>.art{width:100%}.pb>.art span{font-size:15cqw}
.body{display:flex;flex-direction:column;gap:1.3em;font-size:18.5px;line-height:2;margin-top:18px}
.ad-in{min-height:250px}.bh{font:700 13px var(--mono);letter-spacing:.16em;color:var(--accent);border-top:1px solid var(--strong);padding-top:14px;margin-top:10px}.body a{text-decoration:underline;text-underline-offset:4px}.refs{margin-top:18px;font:400 13.5px/1.8 var(--sans)}.refs h3{font:700 13px var(--mono);letter-spacing:.14em;margin-bottom:6px}.refs li{margin-left:1.2em;list-style:disc}.refs a{text-decoration:underline;text-underline-offset:3px}
.srcbox{border-block:1px solid var(--strong);padding-block:14px;margin-top:22px;display:flex;flex-wrap:wrap;gap:6px 18px;font:400 14px var(--sans)}
.srcbox a{color:var(--accent);font-weight:700;text-decoration:underline;text-underline-offset:3px}.srcbox span{color:var(--muted)}
.box{background:var(--surface);padding:20px 22px;margin-top:22px}.box h3{font:700 13px var(--mono);letter-spacing:.14em;margin-bottom:10px}
.box dl{display:flex;flex-direction:column;gap:10px;font-size:15px}.box dt{font-weight:700}.box .more{display:inline-block;margin-top:12px;font:700 13px var(--sans);text-decoration:underline;text-underline-offset:3px}
.affs{margin-top:40px}.affs .sh a{border:1px solid var(--strong);padding:1px 8px;font-size:12px}.note{font:400 12px var(--sans);color:var(--muted);margin:-10px 0 14px}
.af-g{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:16px}
.af{border:1px solid var(--rule);padding:12px;display:flex;flex-direction:column;gap:4px;font-family:var(--sans)}.af b{font-size:15px}.af small{font-size:12.5px;color:var(--muted)}.af i{font-style:normal;font-size:11px;color:var(--accent);margin-top:6px}
.af-img{aspect-ratio:4/3;background:var(--surface);border:1px dashed var(--rule);display:flex;align-items:center;justify-content:center;font-size:12px;color:var(--muted);margin-bottom:6px}
.rel .four{grid-template-columns:repeat(3,minmax(0,1fr));padding-top:0}
@media (max-width:980px){.rel .four{grid-template-columns:minmax(0,1fr);gap:28px}.rel .four>*{padding-inline:0;border-left:0}.front,.tri3{grid-template-columns:minmax(0,1fr)}.front>*{padding-inline:0;border-left:0}.front>.lead{order:-1}.front>*+*,.front>.stack{padding-top:24px}.front>.minis{border-top:1px solid var(--rule)}
.stack{flex-direction:row}.stack .card{flex:1}.stack .card+.card{border-top:0;padding-top:0}
.four{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 0}.four>:nth-child(3){padding-left:0;border-left:0}.four>:nth-child(2){padding-right:0}
.two{grid-template-columns:minmax(0,1fr)}.gl{columns:1}.hd nav ul{gap:4px 16px;font-size:14px}.logo{font-size:72px;padding-inline:20px}.hd-line{margin-top:-16px}.word{padding-top:44px;font-size:32px}}
@media (max-width:560px){.hd-row{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)}.hd nav li:nth-child(n+3){display:none}.hd-r a:not(.btn){display:none}.btn{padding:7px 10px;font-size:13px}
.stack{flex-direction:column}.stack .card+.card{border-top:1px solid var(--rule);padding-top:20px}.four{grid-template-columns:minmax(0,1fr)}.four>*{padding-inline:0;border-left:0}
.lat{grid-template-columns:110px minmax(0,1fr);gap:14px}.lat .dek{display:none}.ev{gap:14px;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr)}.ev .dek{display:none}}
.ph1{font:500 clamp(28px,4.4vw,48px)/1.4 var(--serif);text-wrap:balance;margin:0}footer a{text-decoration:underline}.ad.live{border:0;background:none;padding:0;min-height:0;margin-block:24px;display:block;text-align:center}.ad.live .ad-l{display:block;margin-bottom:4px}
#map{height:min(70vh,620px);border:1px solid var(--strong);z-index:0}
.mf{display:flex;flex-wrap:wrap;gap:8px;margin:28px 0 14px;font:400 14px var(--sans)}.mf .fb{display:flex;align-items:center;gap:6px}
.dot{width:10px;height:10px;border-radius:50%;display:inline-block}.dot.c-s{background:var(--accent)}.dot.c-m{background:var(--jur)}.dot.c-r{background:var(--tri)}
.rg{margin-bottom:40px}.pls{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:0 32px}
.pl{padding-block:18px;border-bottom:1px solid var(--rule);display:flex;flex-direction:column;gap:6px;min-width:0}
.pc{font:700 12px var(--mono);letter-spacing:.14em}.pc.c-s{color:var(--accent)}.pc.c-m{color:var(--jur)}.pc.c-r{color:var(--tri)}
.pn{font:inherit;color:inherit;background:none;border:0;padding:0;text-align:left;cursor:pointer}.pn:hover{color:var(--accent)}
.pl .hl{font-size:20px}.pe{font:400 12.5px/1.6 var(--sans);color:var(--muted)}.pl .dek{font-size:14.5px}
.plk{display:flex;flex-wrap:wrap;gap:4px 16px;font:400 12.5px var(--sans);margin-top:auto}.plk a{text-decoration:underline;text-underline-offset:3px}
.leaflet-popup-content{font:400 13px/1.6 "Noto Sans JP",sans-serif;color:#111}.pp-c{display:block;font-size:11px;letter-spacing:.1em;color:#666}.pp-n{display:block;font:700 16px/1.4 "Shippori Mincho",serif}.pp-e{display:block;color:#666;font-size:12px}.leaflet-popup-content p{margin:6px 0}
.zc{display:flex;flex-wrap:wrap;gap:12px 24px;align-items:center;margin:28px 0 20px}.zn{font:400 13px var(--sans);color:var(--muted)}
.zg{margin-bottom:36px}.zg .sh a{color:var(--muted)}.zsrc{font:400 12px var(--sans)}.zsrc a{text-decoration:underline;text-underline-offset:3px;color:var(--muted)}
.dino .latin{font-size:14px}.zt{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px 24px;margin:0 0 20px;font:500 18px/1.6 var(--serif)}.zt small{display:block;font:400 12px var(--sans);color:var(--muted)}

.logo{line-height:0;font-size:0!important}.logo img{width:104px;height:104px;display:block}.word{font-style:normal!important;font-weight:700!important;letter-spacing:.14em}@media(max-width:700px){.logo img{width:80px;height:80px}}
