:root{color-scheme:dark;--ink:#10100e;--green:#26382b;--gold:#b7a16b;--paper:#e9e3d4;--muted:#aaa69b;--line:rgba(183,161,107,.42);--serif:"Noto Serif JP","Yu Mincho",YuMincho,serif;--sans:"Noto Sans JP","Yu Gothic",YuGothic,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:84px}body{margin:0;background:var(--ink);color:var(--paper);font-family:var(--sans);font-size:15px;line-height:1.9;letter-spacing:.035em}a{color:inherit;text-decoration:none}a:focus-visible,button:focus-visible{outline:2px solid var(--gold);outline-offset:5px}.skip-link{position:absolute;left:12px;top:-60px;background:var(--paper);color:var(--ink);padding:8px 14px;z-index:20}.skip-link:focus{top:12px}.site-header{height:80px;padding:0 clamp(20px,5vw,76px);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:#10100ef5;position:sticky;top:0;z-index:10}.brand{display:flex;align-items:center;gap:12px;font-family:var(--serif);font-size:12px;letter-spacing:.12em}.brand img{width:78px;height:44px;object-fit:contain}.primary-nav{display:flex;align-items:center;gap:clamp(15px,2.15vw,34px);font-size:11px;color:#d3cebf}.primary-nav a{transition:color .2s}.primary-nav a:hover,.text-link:hover{color:var(--gold)}.menu-toggle{display:none}.hero{min-height:690px;position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:54px 24px 96px;overflow:hidden;background:radial-gradient(ellipse at center,rgba(38,56,43,.31),transparent 62%),linear-gradient(90deg,transparent 49.9%,rgba(183,161,107,.09) 50%,transparent 50.1%)}.hero:before,.hero:after{content:"";position:absolute;left:7%;right:7%;height:1px;background:var(--line)}.hero:before{top:36px}.hero:after{bottom:35px}.hero-mark,.hero-index{position:absolute;color:var(--gold);font:9px/1 var(--sans);letter-spacing:.28em}.hero-mark{top:17px}.hero-index{bottom:16px}.hero-logo{width:min(780px,88vw);height:auto;object-fit:contain;margin:0 0 16px;filter:drop-shadow(0 8px 30px #0008)}.eyebrow{font:9px/1.5 var(--sans);letter-spacing:.24em;color:var(--gold);margin:0 0 17px}.hero h1{font:500 clamp(25px,4vw,43px)/1.65 var(--serif);letter-spacing:.1em;margin:0}.hero-copy{color:#c1bcaf;font-size:13px;line-height:2.1;margin:13px 0 26px}.button{display:inline-flex;gap:26px;align-items:center;justify-content:center;min-width:205px;padding:12px 19px;font-size:12px;letter-spacing:.1em}.button-primary{background:var(--gold);color:var(--ink);transition:background .2s}.button-primary:hover{background:#d1bd86}.section-wrap{max-width:1170px;margin:auto;padding-left:28px;padding-right:28px}.section-label{display:flex;gap:15px;align-items:center;color:var(--gold);font:9px/1 var(--sans);letter-spacing:.19em}.section-label span:first-child{font:italic 16px/1 var(--serif);letter-spacing:0}.intro{padding-top:112px;padding-bottom:104px}.intro-layout{display:grid;grid-template-columns:1fr 1fr;gap:11%;margin-top:42px}.intro h2,.section-heading h2,.latest h2,.about-layout h2{font:500 clamp(26px,3vw,36px)/1.5 var(--serif);letter-spacing:.09em;margin:0}.intro-text p{margin:0 0 16px;color:#c9c4b8;font-size:13px}.intro-text .notice{border-left:1px solid var(--gold);padding:5px 0 5px 15px;color:#aaa69b;font-size:11px;margin-top:25px}.founding{margin:58px 0 0 auto;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:14px 0;display:flex;align-items:center;gap:22px;width:min(440px,100%);color:var(--muted);font-size:10px}.founding span:first-child{font:8px var(--sans);letter-spacing:.14em}.founding strong{color:var(--paper);font:500 16px var(--serif);letter-spacing:.07em}.founding strong span{font-size:10px;font-weight:400}.world-section{background:#1a201b;border-top:1px solid #3b493b;border-bottom:1px solid #3b493b;padding:82px 0 100px}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:32px;margin:34px 0 36px}.section-heading>p{width:42%;max-width:420px;color:var(--muted);font-size:11px;margin:0}.world-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}.world-item{border-bottom:1px solid var(--line)}.world-link{display:grid;grid-template-columns:92px 1fr auto;gap:25px;align-items:center;padding:22px 16px;transition:background .2s}.world-link:hover{background:#ffffff08}.world-number{font:italic 23px var(--serif);color:var(--gold)}.world-name{font:500 18px var(--serif);letter-spacing:.07em}.world-summary{display:block;font-size:11px;color:var(--muted);margin-top:4px}.world-arrow{font-size:20px;color:var(--gold)}.latest{padding-top:95px;padding-bottom:102px}.latest-layout{display:grid;grid-template-columns:1fr 1fr;gap:11%;margin-top:40px}.latest-entry{border-top:1px solid var(--line);padding-top:20px}.entry-tag{font-size:9px;letter-spacing:.15em;color:var(--gold)}.latest-entry h3{font:500 23px var(--serif);margin:8px 0}.latest-entry p{font-size:12px;color:#bbb6aa;margin:0 0 14px}.text-link{font-size:11px;color:var(--gold);border-bottom:1px solid var(--line);padding-bottom:5px}.date-note{margin:28px 0 0 50%;color:#88857c;font-size:10px}.reading-room{background:#1a201b;border-top:1px solid #3b493b;padding:82px 0 98px}.category-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.category-link{min-height:128px;padding:18px 19px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;flex-direction:column;justify-content:space-between;transition:background .2s}.category-link:hover{background:#ffffff08}.category-no{font:italic 14px var(--serif);color:var(--gold)}.category-name{font:14px var(--serif)}.category-status{font-size:9px;color:#969286;letter-spacing:.08em}.about-callout{padding-top:91px;padding-bottom:100px}.about-layout{display:grid;grid-template-columns:1fr 1fr;gap:11%;margin-top:39px}.about-layout p{font-size:12px;color:#bdb8ac;margin:0 0 17px}.site-footer{background:#080908;border-top:1px solid var(--line);padding:45px clamp(28px,7vw,100px) 20px}.footer-main{max-width:1170px;margin:0 auto 42px;display:flex;justify-content:space-between;gap:32px}.footer-brand{font:500 16px var(--serif);letter-spacing:.08em}.footer-brand span{color:var(--gold);font-size:10px;margin-left:8px}.footer-main p{font-size:10px;color:#9d998e;margin:7px 0}.footer-date{color:var(--gold)!important}.footer-nav{display:grid;grid-template-columns:repeat(2,auto);gap:6px 30px;align-content:start;font-size:10px;color:#bcb7aa}.footer-heading{grid-column:1/-1;color:var(--gold);font-size:9px;letter-spacing:.15em;margin-bottom:4px}.footer-bottom{max-width:1170px;margin:auto;border-top:1px solid #39372f;padding-top:14px;display:flex;justify-content:space-between;gap:20px;color:#858177;font-size:9px}.footer-bottom p{margin:0}.detail-page{max-width:1000px;min-height:60vh;margin:auto;padding:90px 28px 120px}.detail-back{color:var(--gold);font-size:11px}.detail-kicker{margin-top:50px;color:var(--gold);font-size:10px;letter-spacing:.2em}.detail-page h1{font:500 clamp(27px,4vw,42px)/1.6 var(--serif);margin:8px 0 22px}.detail-intro{max-width:700px;color:#c2bdae;font-size:13px}.detail-panel{margin-top:45px;border:1px solid var(--line);padding:23px 27px;color:#bcb7aa;font-size:12px}.detail-panel h2{font:500 17px var(--serif);color:var(--paper);margin:0 0 7px}.detail-links{display:flex;flex-wrap:wrap;gap:10px;margin-top:25px}.detail-links a{border:1px solid var(--line);padding:8px 14px;font-size:11px;color:var(--gold)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.mobile-only{display:none}@media(max-width:1000px){.primary-nav{gap:13px;font-size:10px}.brand span{display:none}.category-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:760px){html{scroll-padding-top:70px}.site-header{height:66px;padding:0 20px}.brand img{width:69px;height:39px}.brand span{display:inline;font-size:10px}.menu-toggle{display:flex;align-items:center;justify-content:center;width:42px;height:42px;background:none;border:1px solid var(--line);color:var(--paper);cursor:pointer}.menu-icon,.menu-icon:before,.menu-icon:after{width:17px;height:1px;background:var(--gold);display:block;position:relative}.menu-icon:before,.menu-icon:after{content:"";position:absolute;left:0}.menu-icon:before{top:-6px}.menu-icon:after{top:6px}.primary-nav{position:absolute;top:65px;left:0;right:0;display:none;background:#10100e;border-bottom:1px solid var(--line);padding:10px 22px 20px;flex-direction:column;align-items:stretch;gap:0}.primary-nav.is-open{display:flex}.primary-nav a{padding:10px 2px;border-bottom:1px solid #ffffff16;font-size:12px}.hero{min-height:630px;padding:66px 20px 85px}.hero-logo{width:min(660px,96vw);margin-bottom:5px}.hero h1{font-size:27px;line-height:1.75}.hero-copy{font-size:11px}.desktop-only{display:none}.mobile-only{display:initial}.intro{padding-top:78px;padding-bottom:76px}.intro-layout,.latest-layout,.about-layout{grid-template-columns:1fr;gap:22px;margin-top:31px}.intro h2,.section-heading h2,.latest h2,.about-layout h2{font-size:28px}.founding{margin-top:38px;gap:13px}.world-section,.reading-room{padding:65px 0 72px}.section-heading{display:block;margin:29px 0}.section-heading>p{width:auto;margin-top:13px}.world-link{grid-template-columns:48px 1fr auto;gap:12px;padding:18px 7px}.world-number{font-size:18px}.world-name{font-size:15px}.world-summary{font-size:10px}.latest{padding-top:71px;padding-bottom:75px}.date-note{margin-left:0}.category-link{min-height:115px;padding:13px}.category-name{font-size:12px}.about-callout{padding-top:70px;padding-bottom:76px}.footer-main{display:block}.footer-nav{margin-top:25px}.footer-bottom{display:block}.footer-bottom span{display:block;margin-top:6px}.detail-page{padding-top:65px}}@media(max-width:390px){.section-wrap{padding-left:20px;padding-right:20px}.brand{gap:7px}.brand span{font-size:9px}.category-grid{grid-template-columns:1fr 1fr}.category-link{min-height:106px;padding:10px}.category-name{font-size:11px}.world-name{font-size:14px}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important}}

/* Contemporary archive motion and interaction */
@keyframes backdrop-arrive{from{opacity:.3}to{opacity:1}}
@keyframes mark-arrive{from{opacity:0;transform:translateY(12px) scale(.99)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes text-arrive{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
.hero{animation:backdrop-arrive .7s ease-out both;background-image:radial-gradient(ellipse at 50% 43%,rgba(183,161,107,.12),transparent 19%),radial-gradient(ellipse at center,rgba(38,56,43,.34),transparent 64%),linear-gradient(90deg,transparent 49.9%,rgba(183,161,107,.08) 50%,transparent 50.1%)}
.hero-logo{animation:mark-arrive .78s cubic-bezier(.2,.7,.2,1) .08s both;filter:drop-shadow(0 12px 32px #0009)}
.hero-title{font-size:clamp(20px,2.8vw,31px)!important;letter-spacing:.13em!important;line-height:1.8!important;animation:text-arrive .55s ease-out .3s both}
.hero-copy{animation:text-arrive .55s ease-out .42s both}
.hero .button{animation:text-arrive .55s ease-out .53s both}
.hero:after{box-shadow:0 0 18px rgba(183,161,107,.13)}
.site-header{backdrop-filter:blur(14px)}
.primary-nav a{position:relative;padding:8px 0;transition:color .22s ease}
.primary-nav a:after{content:"";position:absolute;left:0;right:100%;bottom:2px;height:1px;background:var(--gold);transition:right .24s ease}
.primary-nav a:hover:after,.primary-nav a[aria-current="location"]:after{right:0}
.primary-nav a[aria-current="location"]{color:var(--gold)}
html{scroll-behavior:smooth;scroll-padding-top:92px}
.world-list{border:0;display:grid;gap:12px}
.world-item{border:1px solid rgba(183,161,107,.24);background:linear-gradient(105deg,var(--world-wash,rgba(38,56,43,.22)),transparent 68%);position:relative;overflow:hidden;transition:border-color .28s ease,transform .28s ease,box-shadow .28s ease}
.world-item:after{content:"";position:absolute;top:0;bottom:0;left:0;width:2px;background:var(--gold);opacity:.55;transform:scaleY(.25);transform-origin:center;transition:transform .28s ease,opacity .28s ease}
.world-item:nth-child(1){--world-wash:rgba(47,76,51,.36)}.world-item:nth-child(2){--world-wash:rgba(104,84,46,.25)}.world-item:nth-child(3){--world-wash:rgba(47,70,76,.27)}.world-item:nth-child(4){--world-wash:rgba(69,53,45,.3)}.world-item:nth-child(5){--world-wash:rgba(54,66,50,.32)}.world-item:nth-child(6){--world-wash:rgba(76,66,43,.32)}
.world-item:hover{transform:translateY(-3px);border-color:rgba(183,161,107,.72);box-shadow:0 12px 28px #0003,0 0 22px rgba(183,161,107,.06)}
.world-item:hover:after{transform:scaleY(.8);opacity:1}
.world-link{position:relative;z-index:1;padding:23px 20px}
.world-number{font-size:30px;transition:transform .28s ease,text-shadow .28s ease}
.world-item:hover .world-number{transform:translateX(3px);text-shadow:0 0 18px rgba(183,161,107,.35)}
.world-arrow{transition:transform .24s ease,color .24s ease}
.world-item:hover .world-arrow{transform:translate(3px,-3px);color:#e0ca92}
.button{transition:background .2s ease,transform .2s ease,box-shadow .2s ease}
.button-primary:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(183,161,107,.18)}
.button-primary:active{transform:translateY(1px) scale(.985)}
.category-link{transition:background .25s ease,border-color .25s ease,transform .25s ease,box-shadow .25s ease}
.category-link:hover{transform:translateY(-3px);background:#b7a16b0c;box-shadow:0 10px 24px #0002}
.page{view-transition-name:archive-page}
::view-transition-old(archive-page){animation:page-out .22s ease both}
::view-transition-new(archive-page){animation:page-in .32s ease both}
@keyframes page-out{to{opacity:0;transform:translateY(-5px)}}
@keyframes page-in{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}
.reveal{opacity:0;transform:translateY(18px);transition:opacity .62s ease,transform .62s cubic-bezier(.2,.7,.2,1);transition-delay:0ms}
.reveal.is-visible{opacity:1;transform:translateY(0)}
@media(max-width:760px){html{scroll-padding-top:76px}.hero{background-image:radial-gradient(ellipse at 50% 43%,rgba(183,161,107,.1),transparent 22%),radial-gradient(ellipse at center,rgba(38,56,43,.34),transparent 64%)}.world-link{padding:19px 12px}.world-number{font-size:25px}.world-item:hover{transform:none}.primary-nav a:after{bottom:7px}}
@media(prefers-reduced-motion:reduce){.hero,.hero-logo,.hero-title,.hero-copy,.hero .button{animation:none!important}.reveal,.reveal.is-visible{opacity:1;transform:none;transition:none}.world-item,.category-link,.button,.primary-nav a,.primary-nav a:after{transition:none!important}::view-transition-old(archive-page),::view-transition-new(archive-page){animation:none!important}}
.world-item.reveal{transition:opacity .62s ease,transform .28s ease,border-color .28s ease,box-shadow .28s ease;transition-delay:0ms}
.category-link.reveal{transition:opacity .62s ease,transform .25s ease,background .25s ease,border-color .25s ease,box-shadow .25s ease;transition-delay:0ms}
.world-item.reveal:nth-child(2),.category-link.reveal:nth-child(2){transition-delay:55ms}
.world-item.reveal:nth-child(3),.category-link.reveal:nth-child(3){transition-delay:110ms}
.world-item.reveal:nth-child(4),.category-link.reveal:nth-child(4){transition-delay:165ms}
.world-item.reveal:nth-child(5),.category-link.reveal:nth-child(5){transition-delay:220ms}
.world-item.reveal:nth-child(6),.category-link.reveal:nth-child(6){transition-delay:275ms}
.category-link.reveal:nth-child(7){transition-delay:330ms}.category-link.reveal:nth-child(8){transition-delay:385ms}
.opening[hidden]{display:none!important}
.language-toggle{appearance:none;flex:0 0 auto;border:1px solid var(--line);background:transparent;color:var(--gold);padding:7px 11px;font:600 10px/1 var(--sans);letter-spacing:.08em;cursor:pointer;transition:background .2s ease,color .2s ease,border-color .2s ease}.language-toggle:hover{border-color:var(--gold);background:#b7a16b14;color:#ead9ae}.language-toggle:active{transform:translateY(1px)}
.development-status{max-width:585px;margin:26px 0 0 50%;padding:13px 0 0;border-top:1px solid rgba(183,161,107,.2);display:flex;align-items:baseline;gap:15px;color:#aaa69b;font-size:10px;line-height:1.8}.development-label{flex:0 0 auto;color:var(--gold);font-size:8px;letter-spacing:.16em}.development-message{max-width:450px}
@media(max-width:760px){.development-status{margin-left:0;display:block}.development-label{display:block;margin-bottom:4px}}
.opening{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;background:#080908;opacity:0;visibility:hidden;transition:opacity .34s ease,visibility .34s;}
.opening.is-active{opacity:1;visibility:visible}
.opening.is-closing{opacity:0;visibility:hidden}
.opening-video{position:absolute;inset:0;display:block;width:100vw;height:100vh;height:100dvh;object-fit:cover;background:#080908}
.opening-controls{position:absolute;right:clamp(18px,4vw,56px);bottom:clamp(18px,4vh,40px);display:flex;align-items:center;gap:10px}
.opening-control{appearance:none;border:1px solid rgba(233,227,212,.32);background:rgba(16,16,14,.76);backdrop-filter:blur(12px);color:var(--paper);font:11px var(--sans);letter-spacing:.06em;padding:10px 15px;cursor:pointer;transition:border-color .2s ease,background .2s ease,color .2s ease,transform .2s ease}
.opening-control:hover{border-color:var(--gold);color:#e3cf9a;transform:translateY(-1px)}
.opening-skip{background:var(--gold);border-color:var(--gold);color:var(--ink);padding:11px 18px}
.opening-skip:hover{background:#d1bd86;color:var(--ink)}
.opening-replay{appearance:none;border:0;border-bottom:1px solid var(--line);background:transparent;color:#aaa69b;font:10px var(--sans);letter-spacing:.08em;padding:6px 1px;margin-top:16px;cursor:pointer;transition:color .2s ease,border-color .2s ease}
.opening-replay:hover{color:var(--gold);border-color:var(--gold)}
body.opening-active{overflow:hidden}
#hero-title:focus{outline:none}
#hero-title:focus-visible{outline:2px solid var(--gold);outline-offset:8px}
@media(max-width:760px){.opening-controls{left:16px;right:16px;bottom:max(18px,env(safe-area-inset-bottom));justify-content:flex-end;gap:8px}.opening-control{padding:9px 12px;font-size:10px}.opening-skip{padding:10px 14px}}
@media(prefers-reduced-motion:reduce){.opening,.opening-control,.opening-replay{transition:none!important}}
