:root{--bg: #0b1424;--gold: #c9a961;--gold-hi: #f1d58b;--name: #f0cd72;--ink: #ece6d6;--dim: #a9b4c6;--line: #c9a96133;--line-weak: #c9a96122}*{box-sizing:border-box;margin:0}html,body{height:100%;overflow:hidden}body{background:var(--bg);background-image:radial-gradient(ellipse at 50% -10%,#1f3554 0,transparent 55%);background-attachment:fixed;color:#e9e2cf;font-family:"Noto Serif JP",serif;min-height:100vh}button{all:unset;cursor:pointer;box-sizing:border-box}rt{font-size:.5em;color:var(--dim);letter-spacing:0;font-weight:500}.page{position:relative;margin:16px;height:calc(100vh - 32px);padding:40px 32px 48px;border:1px solid #c9a96155;display:grid;grid-template-columns:minmax(260px,410px) 740px minmax(260px,410px);column-gap:clamp(48px,calc((100vw - 1450px)/4 + 48px),96px);justify-content:center}.page:before{content:"";position:absolute;top:6px;right:6px;bottom:6px;left:6px;border:1px solid var(--line-weak);pointer-events:none}.lab{font-family:Cinzel,serif;color:var(--gold);letter-spacing:.4em;font-size:11px;margin-bottom:12px}.nav{min-height:0;overflow-y:auto;scrollbar-width:none;display:flex;flex-direction:column;font-family:Zen Kaku Gothic New,sans-serif}.back{display:flex;align-items:center;gap:12px;padding:2px 0;margin-bottom:28px;color:var(--dim);font-size:14px;letter-spacing:.1em;transition:color .2s}.back .arw{position:relative;width:22px;height:1px;background:currentColor;transition:width .2s}.back .arw:before{content:"";position:absolute;left:1px;top:-3px;width:6px;height:6px;border-left:1px solid currentColor;border-top:1px solid currentColor;transform:rotate(-45deg)}.back:hover{color:var(--gold-hi)}.back:hover .arw{width:30px}.menu,.chs{list-style:none;padding:0;border-top:1px solid var(--line)}.menu{margin-bottom:24px}.menu li{display:flex;align-items:center;gap:14px;padding:8px 6px;border-bottom:1px solid var(--line-weak);font-size:15px;letter-spacing:.08em;cursor:pointer}.menu li:hover{background:#c9a96112;color:var(--gold-hi)}.menu svg{width:20px;height:20px;flex:none;color:var(--gold)}.chs li{display:flex;gap:12px;align-items:baseline;padding:8px 4px;border-bottom:1px solid var(--line-weak);font-size:15px;color:var(--dim);letter-spacing:.08em;cursor:pointer}.chs li:hover{color:var(--gold-hi)}.chs li b{font-family:"Noto Serif JP",serif;font-weight:500;color:#c9a96199;width:1.6em;text-align:center}.chs li.on{color:var(--gold-hi)}.chs li.on b{color:#e8c46a}.fold,.tie-tab{display:flex;align-items:center;justify-content:space-between;width:100%;cursor:pointer}.fold:hover,.tie-tab:hover{color:var(--gold-hi)}.chev{width:7px;height:7px;border-right:1px solid currentColor;border-bottom:1px solid currentColor;transform:rotate(45deg);margin:-4px 6px 0 0;transition:transform .2s}.fold.closed .chev{transform:rotate(-45deg);margin-top:0}.chev.up{transform:rotate(-135deg);margin-top:4px}.fold.closed{padding-bottom:12px;border-bottom:1px solid var(--line)}.tie-tab{margin-bottom:0;padding:14px 0 10px;font-family:Cinzel,serif;color:var(--gold);letter-spacing:.4em;font-size:11px}.tie{margin-top:auto;flex-shrink:0}.disc{flex-shrink:0;margin:auto 0 0;padding-top:14px;border-top:1px solid var(--line-weak);font-size:12px;line-height:1.75;color:var(--dim);letter-spacing:.04em}.tie+.disc{margin-top:20px}.tie-body{display:grid;grid-template-rows:0fr;transition:grid-template-rows .3s cubic-bezier(.3,.7,.2,1)}.tie.open .tie-body{grid-template-rows:1fr}.tie-in{overflow:hidden;font-size:14px;line-height:1.6}.tie .row{padding:8px 0;border-top:1px solid var(--line-weak);cursor:pointer}.tie .row:hover{color:var(--gold-hi)}.tie small{display:block;font-size:12px;color:var(--dim);letter-spacing:.1em}.tie.open .chev.up{transform:rotate(45deg);margin-top:-4px}.tie .row:last-child{border-bottom:1px solid var(--line-weak)}.main{min-width:0;min-height:0;overflow-y:auto;scrollbar-width:none;overscroll-behavior:contain}.main::-webkit-scrollbar{display:none}.reg{font-family:Cinzel,serif;color:var(--gold);letter-spacing:.4em;font-size:12px;white-space:nowrap}.reg span{font-family:Zen Kaku Gothic New,sans-serif;letter-spacing:.25em;margin-left:12px;color:var(--dim)}h1{font-family:Shippori Mincho B1,serif;font-size:36px;font-weight:800;letter-spacing:.1em;margin-top:8px}h2{font-family:Shippori Mincho B1,serif;font-size:24px;font-weight:800;letter-spacing:.15em;color:var(--gold-hi);margin:36px 0 18px;padding-top:28px;border-top:1px solid var(--line)}.text p{font-size:19px;line-height:2.05;letter-spacing:.02em;color:var(--ink);text-indent:1em;font-weight:500}.text p+p,.text .note.inline+p{margin-top:14px}.text .q{text-indent:0;padding:2px 0 2px 20px;border-left:2px solid #c9a96188;color:#fff6e2;margin:18px 0}.nm{color:var(--name);cursor:pointer}.nm:hover,.nm.active{background:#c9a96126}.src{position:relative;height:41px;margin-top:48px}.src-in{position:absolute;left:0;right:0;bottom:0;background:var(--bg);border-top:1px solid var(--line)}.src .tie-tab{line-height:16px}.src.open .tie-body{grid-template-rows:1fr}.src.open .chev.up{transform:rotate(45deg);margin-top:-4px}.src .row{display:grid;grid-template-columns:4em 1fr;gap:0 16px;padding:8px 0;border-top:1px solid var(--line-weak);color:var(--ink)}.src .row>span{color:var(--gold);letter-spacing:.2em}.src .row>div>div+div{margin-top:6px}.src small,.src a{display:block;font-size:13px}.src small{color:var(--dim)}.src a{color:var(--gold)}.src a:hover{color:var(--gold-hi)}.src+.foot{margin-top:0}.foot{margin-top:48px;padding-top:16px;border-top:1px solid var(--line);display:flex;justify-content:space-between;font-family:Zen Kaku Gothic New,sans-serif;font-size:15px;color:var(--gold);letter-spacing:.12em}.foot button:hover{color:var(--gold-hi)}.foot .end{color:var(--dim)}.notes{display:flex;flex-direction:column;min-height:0}.stack{flex:1;min-height:0;overflow:hidden;display:flex;flex-direction:column;gap:22px}.note{flex:none;padding:2px 0 2px 18px;border-left:1px solid #c9a96155}.note .hd{display:flex;align-items:center;gap:10px;margin-bottom:6px}.note svg{width:26px;height:26px;flex:none;color:var(--gold);opacity:.8}.note .k{font-family:Zen Kaku Gothic New,sans-serif;font-size:12px;color:#8b97ab;letter-spacing:.06em;white-space:nowrap}.note .n{font-family:Shippori Mincho B1,serif;font-size:17px;font-weight:800;color:#d9bd72;letter-spacing:.08em;line-height:1.3}.note .new{margin-left:10px;font-family:Cinzel,serif;font-size:10px;color:#e8c46a;letter-spacing:.2em;vertical-align:2px}.note .pts{list-style:none;padding:0;font-size:14px;line-height:1.75;color:#b9b3a4}.note .pts li{padding-left:14px;position:relative}.note .pts li:before{content:"・";position:absolute;left:0;color:#c9a96199}.note.inline{position:static;margin:14px 0 0 1em}.menu li.on{color:var(--gold-hi)}.list h1{margin-top:0}.list section{margin-top:36px}.list h2{margin:0 0 4px;padding-top:24px;display:flex;align-items:baseline;gap:16px}.list h2 .en{font-family:Cinzel,serif;font-size:12px;letter-spacing:.4em;color:var(--gold);font-weight:500}.list h3{margin:22px 0 6px;font-family:Zen Kaku Gothic New,sans-serif;font-size:14px;color:var(--gold);letter-spacing:.15em;font-weight:700}.tl{list-style:none;padding:0;margin:8px 0 0}.tl .era{display:grid;grid-template-columns:8em 1fr}.tl .when{padding:14px 16px 0 0;text-align:right;font-family:Zen Kaku Gothic New,sans-serif;font-size:13px;color:var(--dim);letter-spacing:.08em}.tl .era>ul{list-style:none;padding:4px 0 4px 26px;border-left:1px solid #c9a96155;position:relative}.tl .era>ul:before{content:"";position:absolute;left:-5px;top:18px;width:9px;height:9px;border-radius:50%;background:var(--bg);border:1px solid var(--gold)}.tl .it{padding:10px 10px 12px;cursor:pointer;transition:background .2s}.tl .it:hover{background:#c9a96112}.tl .it .t{font-family:Shippori Mincho B1,serif;font-size:20px;font-weight:800;letter-spacing:.05em;color:var(--ink)}.tl .it:hover .t{color:var(--gold-hi)}.tl .it .l{margin-top:4px;font-size:15px;line-height:1.7;color:#cfc8b8}.tl .it .m{margin-top:4px;font-family:Zen Kaku Gothic New,sans-serif;font-size:12px;color:var(--dim);letter-spacing:.08em}.tl .it .m span{margin-left:14px}.tl .it.none{cursor:default;opacity:.4}.tl .it.none:hover{background:none}.tl .it.none .t{font-size:16px;font-weight:600}.tl .it.none .l{font-size:13px}.page.select .main{grid-column:2 / 4;position:relative}.page.select .main.view-map{overflow:hidden;display:flex;flex-direction:column}.views{position:absolute;top:40px;right:32px;z-index:2;display:flex;border:1px solid #c9a96155;background:var(--bg)}.views button{padding:5px 16px;font-family:Zen Kaku Gothic New,sans-serif;font-size:13px;letter-spacing:.15em;color:var(--dim)}.views button+button{border-left:1px solid #c9a96155}.views button.on{color:var(--gold-hi);background:#c9a9611a}.views button:hover{color:var(--gold-hi)}.areas{list-style:none;padding:0;border-top:1px solid var(--line)}.area{border-bottom:1px solid var(--line-weak)}.area-name{display:flex;justify-content:space-between;align-items:center;width:100%;padding:7px 6px;font-size:14px;letter-spacing:.08em;color:#e9e2cf}.area-name:hover,.area.open .area-name{color:var(--gold-hi)}.area:not(.open) .chev{transform:rotate(-45deg);margin-top:0}.area-regions{list-style:none;padding:0 0 6px 18px}.area-regions li{padding:3px 0;font-size:13px;color:var(--dim);letter-spacing:.05em;cursor:pointer}.area-regions li:hover,.area-regions li.on{color:var(--gold-hi)}.worldmap{flex:1;min-height:0;width:100%;display:block;margin-top:44px}.worldmap .land{fill:#172a45;stroke:#c9a961;stroke-opacity:.4;stroke-width:.6}.worldmap .grat{fill:none;stroke:#c9a961;stroke-opacity:.06}.worldmap .pt{cursor:pointer}.worldmap .pt circle{fill:#e8c46a;stroke:var(--bg);stroke-width:1.5}.worldmap .pt circle.halo{fill:#e8c46a;opacity:.18;stroke:none}.worldmap .pt text{font-family:Zen Kaku Gothic New,sans-serif;font-size:12.5px;font-weight:700;fill:var(--ink);letter-spacing:.04em;paint-order:stroke;stroke:var(--bg);stroke-width:3px}.worldmap .pt.hover circle:not(.halo){fill:#fff2c4}.worldmap .pt.hover text{fill:var(--gold-hi)}.tip{position:fixed;z-index:20;padding:8px 12px;background:#0e1a2e;border:1px solid #c9a96188;font-family:Zen Kaku Gothic New,sans-serif;font-size:13px;line-height:1.6;white-space:nowrap;pointer-events:none}.tip span{margin-left:12px;color:var(--ink-dim, #9aa3b5)}.tip b{font-family:Shippori Mincho B1,serif;font-size:16px;color:var(--gold-hi)}.list>section:first-child{margin-top:44px}.page.codex .main{display:flex;flex-direction:column;overflow:hidden}.cx-top{flex:none;display:flex;align-items:center;justify-content:space-between;gap:20px;padding-bottom:6px;border-bottom:1px solid var(--line);font-family:Zen Kaku Gothic New,sans-serif}.cx-search{flex:none;width:200px;display:flex;align-items:center;gap:10px;padding:6px 2px;border-bottom:1px solid #c9a96166}.cx-search svg{width:15px;height:15px;flex:none;color:var(--gold)}.cx-search input{all:unset;width:100%;font-size:14px;letter-spacing:.08em;color:var(--ink)}.cx-search input::placeholder{color:var(--dim)}.cx-kinds{display:flex;border:1px solid #c9a96155}.cx-kinds button{width:72px;text-align:center;padding:5px 0;font-size:13px;letter-spacing:.08em;color:var(--dim)}.cx-kinds button+button{border-left:1px solid #c9a96155}.cx-kinds button.on{color:var(--gold-hi);background:#c9a9611a}.cx-kinds button:hover{color:var(--gold-hi)}.cx-list{flex:1;min-height:0;overflow-y:auto;scrollbar-width:none;overscroll-behavior:contain;padding-bottom:24px}.cx-list::-webkit-scrollbar{display:none}.cx-list h2{margin:0 0 10px;padding-top:22px;display:flex;align-items:baseline;gap:16px;font-family:Shippori Mincho B1,serif;font-size:21px;color:var(--ink)}.cx-list h2 .en{font-family:Cinzel,serif;font-size:12px;letter-spacing:.4em;color:var(--gold);font-weight:500}.cx-grid{list-style:none;padding:0;display:grid;grid-template-columns:1fr 1fr;column-gap:28px;border-top:1px solid var(--line)}.cx-grid li{display:flex;align-items:center;gap:10px;padding:7px 4px;border-bottom:1px solid var(--line-weak);cursor:pointer;min-width:0}.cx-grid li svg{width:18px;height:18px;flex:none;color:var(--gold);opacity:.75}.cx-grid .nm{font-family:Shippori Mincho B1,serif;font-size:16px;font-weight:800;color:#d9bd72;letter-spacing:.06em}.cx-grid .kd{flex:none;margin-left:auto;width:4em;text-align:center;font-family:Zen Kaku Gothic New,sans-serif;font-size:12px;color:#8b97ab;letter-spacing:.06em;white-space:nowrap}.cx-grid li:hover .nm,.cx-grid li.on .nm{color:var(--gold-hi)}.cx-grid li.on{background:#c9a96114}.cx-none{padding-top:40px;font-family:Zen Kaku Gothic New,sans-serif;color:var(--dim);letter-spacing:.1em}.cx-detail{min-height:0;overflow-y:auto;scrollbar-width:none;padding-top:46px}.cx-detail::-webkit-scrollbar{display:none}.cx-detail .note .n{font-size:22px}.cx-detail .reg{margin:4px 0 14px;font-family:Zen Kaku Gothic New,sans-serif;font-size:13px;color:var(--dim);letter-spacing:.1em}.cx-detail .note .pts{font-size:15px}.cx-st{margin-top:30px}.cx-st ul{list-style:none;padding:0;border-top:1px solid var(--line)}.cx-st li{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:8px 4px;border-bottom:1px solid var(--line-weak);font-family:Shippori Mincho B1,serif;font-size:15px;color:var(--ink);letter-spacing:.06em;cursor:pointer}.cx-st li:hover{color:var(--gold-hi)}.cx-st li small{flex:none;font-family:Zen Kaku Gothic New,sans-serif;font-size:12px;color:#8b97ab}@media (max-width: 1449px){.page{grid-template-columns:240px 740px;column-gap:48px}.page.select{grid-template-columns:240px minmax(0,1fr)}.page.select .main{grid-column:2 / 3}.notes{display:none}.page.codex{grid-template-columns:240px minmax(0,1fr) 280px;column-gap:40px}.cx-search{flex:1;width:auto;min-width:0}.cx-kinds button{width:58px;font-size:12px;letter-spacing:0}}@media (max-width: 1199px){html,body{height:auto;overflow:auto;scrollbar-width:none}.page{height:auto;min-height:calc(100vh - 24px);grid-template-columns:minmax(0,740px);margin:12px;padding:32px 24px 40px}.main{overflow:visible}.nav{height:auto;overflow:visible;margin-bottom:32px}.tie{margin-top:24px}}.map{flex:none;padding-bottom:14px;margin-bottom:18px;border-bottom:1px solid var(--line-weak)}.map .cap{font-family:Zen Kaku Gothic New,sans-serif;font-size:11px;color:#8b97ab;letter-spacing:.12em;margin-bottom:6px}.map .cap span{margin-left:10px;color:#6f7f96}.map svg{display:block;overflow:visible}.map .river{fill:none;stroke:#4f6f95;stroke-width:1.4;opacity:.8}.map .pl{cursor:pointer}.map .pl circle{fill:#0b1424;stroke:#8b97ab;stroke-width:1}.map .pl text{fill:#8b97ab;font-family:Zen Kaku Gothic New,sans-serif;font-size:11.5px;letter-spacing:.05em}.map .pl.on circle{fill:var(--gold);stroke:var(--gold-hi)}.map .pl.on text{fill:var(--gold-hi);font-weight:700}.map .pl:hover text{fill:var(--gold-hi)}.map .under{display:flex;align-items:baseline;gap:8px;margin-top:4px;font-family:Zen Kaku Gothic New,sans-serif;font-size:12px;color:#8b97ab}.map .under .lbl{font-size:11px;letter-spacing:.15em}.map .under b{font-weight:500;letter-spacing:.06em;cursor:pointer}.map .under .sub{font-size:11px}.map .under.on b{color:var(--gold-hi);font-weight:700}.map .under b:hover{color:var(--gold-hi)}.cx-sub .note{margin:16px 0 0 1em}.cx-detail .cx-sub .note .n{font-size:17px}.cx-detail .cx-sub .note .pts{font-size:14px}.cx-rel li.active{color:var(--gold-hi)}.pbar,.scrim,.cx-detail .grip{display:none}@media (max-width: 767px){html,body{height:100%;overflow:hidden}.page,.page.select,.page.codex{display:block;margin:0;height:100vh;height:100dvh;min-height:0;box-sizing:border-box;padding:64px 20px 0;border:0}.page:before{display:none}.pbar{position:fixed;z-index:5;top:0;left:0;right:0;height:48px;display:flex;align-items:center;gap:14px;padding:0 16px;background:var(--bg);border-bottom:1px solid var(--line);font-family:Zen Kaku Gothic New,sans-serif}.pbar .burger{flex:none;width:20px;height:14px;border-top:1.5px solid var(--gold);border-bottom:1.5px solid var(--gold);position:relative;box-sizing:border-box}.pbar .burger:before{content:"";position:absolute;top:-14px;right:-12px;bottom:-14px;left:-12px}.pbar .burger:after{content:"";position:absolute;left:0;right:0;top:50%;border-top:1.5px solid var(--gold);transform:translateY(-50%)}.pbar .pt-in{min-width:0;display:flex;align-items:baseline;gap:12px;white-space:nowrap;overflow:hidden}.pbar b{font-family:Shippori Mincho B1,serif;font-size:16px;color:var(--gold-hi);letter-spacing:.08em}.pbar small{font-size:12px;color:var(--dim);letter-spacing:.08em;overflow:hidden;text-overflow:ellipsis}.nav{position:fixed;z-index:7;top:0;bottom:0;left:0;width:min(290px,82vw);height:auto;margin:0;padding:28px 22px;box-sizing:border-box;overflow-y:auto;background:#0b1527;border-right:1px solid var(--line);transform:translate(-100%);transition:transform .25s ease}.page.drawer .nav{transform:none}.scrim{display:block;position:fixed;z-index:6;top:0;right:0;bottom:0;left:0;background:#0009;opacity:0;pointer-events:none;transition:opacity .25s}.page.drawer .scrim{opacity:1;pointer-events:auto}.main{height:100%;overflow-y:auto;overflow-x:hidden}.main::-webkit-scrollbar{display:none}.notes{display:none}.foot{padding-bottom:calc(28px + env(safe-area-inset-bottom))}.page.select .main.view-map{display:block;overflow-x:auto;overflow-y:hidden;margin:0 -20px}.worldmap{flex:none;height:calc(100dvh - 96px);width:calc((100dvh - 96px)*1.9);margin-top:16px}.views{position:fixed;top:9px;right:16px;z-index:5}.list h2,.cx-list h2{flex-wrap:wrap;gap:2px 12px}.tl{margin-left:5px}.tl .era{display:block}.tl .when{position:relative;padding:12px 0 0 16px;border-left:1px solid #c9a96155;text-align:left;font-size:12px;color:var(--gold)}.tl .when:before{content:"";position:absolute;left:-5px;top:15px;width:9px;height:9px;border-radius:50%;background:var(--bg);border:1px solid var(--gold)}.tl .era>ul{padding:0 0 4px 6px}.tl .era>ul:before{display:none}.page.codex .main{display:flex;flex-direction:column}.cx-top{flex-wrap:wrap;gap:10px}.cx-search{width:100%;flex:none}.cx-kinds{width:100%}.cx-kinds button{flex:1;width:auto;font-size:12px;letter-spacing:0}.cx-grid{grid-template-columns:1fr}.cx-detail{position:fixed;z-index:4;left:0;right:0;bottom:0;height:62dvh;padding:22px 20px 32px;box-sizing:border-box;background:#0b1527;border-top:1px solid #c9a96188;box-shadow:0 -12px 30px #0008;transform:translateY(105%);transition:transform .3s ease}.cx-detail.show{transform:none}.cx-detail .grip{display:block;width:100%;height:22px;margin:-14px 0 8px;position:relative}.cx-detail .grip:after{content:"";position:absolute;left:50%;top:9px;width:40px;height:3px;margin-left:-20px;background:#c9a96166;border-radius:2px}}.page.motifs .main{grid-column:2 / 4}.mt{display:block}.mt-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));column-gap:16px;list-style:none;margin:0 0 28px;padding:0;border-top:1px solid var(--line);font-family:Zen Kaku Gothic New,sans-serif}.mt-list li{display:flex;white-space:nowrap;justify-content:space-between;align-items:baseline;padding:7px 6px;border-bottom:1px solid var(--line-weak);font-size:14px;letter-spacing:.06em;cursor:pointer}.mt-list li span{font-size:12px;color:var(--dim)}.mt-list li:hover,.mt-list li.on{background:#c9a96112;color:var(--gold-hi)}.mt-body h2{margin:0;font-family:Shippori Mincho B1,serif;font-size:26px;font-weight:800;letter-spacing:.08em;color:var(--gold-hi)}.mt-desc{margin:6px 0 18px;font-size:15px;line-height:1.7;color:#cfc8b8}.mt-st{list-style:none;margin:0;padding:0 0 40px;border-top:1px solid var(--line)}.mt-st li{padding:10px 10px 12px;border-bottom:1px solid var(--line-weak);cursor:pointer;transition:background .2s}.mt-st li:hover{background:#c9a96112}.mt-st li small{font-family:Zen Kaku Gothic New,sans-serif;font-size:12px;letter-spacing:.1em;color:var(--gold)}.mt-st .t{font-family:Shippori Mincho B1,serif;font-size:19px;font-weight:800;letter-spacing:.05em;color:var(--ink)}.mt-st li:hover .t{color:var(--gold-hi)}.mt-st .l{margin-top:2px;font-size:15px;line-height:1.7;color:#cfc8b8}@media (max-width: 1449px){.page.motifs{grid-template-columns:240px minmax(0,1fr)}.page.motifs .main{grid-column:2 / 3}}@media (max-width: 767px){.page.motifs{display:block;margin:0;height:100dvh;box-sizing:border-box;padding:64px 20px 0;border:0}.mt-list{grid-template-columns:1fr 1fr;column-gap:12px;margin-bottom:24px}.mt-list li{font-size:13px;padding:7px 4px}}.tie .mt-row{padding:8px 0;border-top:1px solid var(--line-weak)}.tie .mt-row span{margin-right:14px;cursor:pointer}.tie .mt-row span:hover{color:var(--gold-hi)}
