/* Progressive visitor design: scoped, reversible visitor experience layer. */
html[data-modern]{--m-ink:#f2f0e9;--m-muted:#b7c0bd;--m-gold:#e4cf9f;--m-line:#c5d2cd28;--m-bg:#090e10;--m-sans:'Hiragino Kaku Gothic ProN','Yu Gothic','Noto Sans CJK JP',sans-serif;--m-serif:'Hiragino Mincho ProN','Yu Mincho','Noto Serif CJK JP',serif;scroll-padding-top:88px}
html[data-modern] :focus-visible{outline:2px solid var(--m-gold);outline-offset:5px}
html[data-modern=home] body{background:var(--m-bg);font-family:var(--m-sans)}
html[data-modern=home] body>header{height:76px!important;min-height:76px!important;padding:0 clamp(20px,4vw,72px)!important;flex-wrap:nowrap!important;border:0;gap:16px;background:#090e10;position:relative;z-index:8}
html[data-modern=home] .identity{gap:12px;font-size:14px;letter-spacing:.13em;color:var(--m-ink);white-space:nowrap}
html[data-modern=home] .identity small{font-size:8px;letter-spacing:.22em;color:var(--m-muted)}
html[data-modern=home] .seal{width:30px;height:34px;transform:none;border:0;border-left:1px solid var(--m-gold);font-size:25px;color:var(--m-gold)}
html[data-modern=home] .top-actions{width:auto!important;flex-wrap:nowrap!important;gap:9px!important;justify-content:flex-end!important;flex-shrink:0}
html[data-modern=home] .top-actions button{min-height:44px;border-radius:99px;font-size:12px;line-height:1.3;padding:10px 20px;white-space:nowrap}
html[data-modern=home] #archive-open{border-color:#d5ddcd55;color:var(--m-ink);background:#171f21}
html[data-modern=home] #menu-open{background:transparent;border-color:transparent;padding:9px 12px}
html[data-modern=home] .stage{height:calc(100svh - 76px);min-height:760px;max-height:1100px;background:#090e10;overflow:hidden;border:0}
html[data-modern=home] .stage:not(.active-view) #entry-poster{inset:0;height:100%;opacity:1;filter:none}
html[data-modern=home] #entry-poster img{height:auto;width:100%;aspect-ratio:1672/941;object-fit:contain;object-position:center top;filter:none}
html[data-modern=home] .stage:not(.active-view) .stage-grain{background:linear-gradient(0deg,#090e10 0%,#090e10e8 8%,#090e1090 35%,transparent 64%),linear-gradient(90deg,#090e1060,transparent 70%)}
html[data-modern=home] .stage-top{top:28px;left:clamp(24px,5.5vw,90px);right:clamp(24px,5.5vw,90px);font-size:10px;letter-spacing:.19em;color:#d8dcd3}
html[data-modern=home] .stage:not(.active-view) #scene-mode,html[data-modern=home] .stage:not(.active-view) .stage-bottom{display:none}
html[data-modern=home] .entry{position:absolute;left:clamp(24px,5.5vw,90px);bottom:105px;margin:0;padding:0;max-width:900px;width:calc(100% - 48px)}
html[data-modern=home] .entry .eyebrow{font-size:10px;letter-spacing:.25em;color:var(--m-gold);margin:0 0 23px}
html[data-modern=home] .entry h1{font:400 clamp(45px,5.2vw,78px)/1.35 var(--m-serif);letter-spacing:.015em;color:var(--m-ink);margin:0;text-shadow:0 2px 28px #0008}
html[data-modern=home] .entry h1 em{color:var(--m-gold)}
html[data-modern=home] .entry .intro{font-size:14px;line-height:2;letter-spacing:.07em;color:#d0d4ce;margin:24px 0 29px}
html[data-modern=home] .entry-actions{align-items:center;gap:24px}
html[data-modern=home] .entry-actions .primary{border-radius:100px;min-height:54px;padding:14px 25px;font-size:13px;letter-spacing:.035em;gap:36px;box-shadow:0 4px 32px #0002}
html[data-modern=home] .entry-actions .primary span{display:inline-block;transition:transform .2s}
html[data-modern=home] .entry-actions .primary:hover span{transform:translateX(4px)}
html[data-modern=home] .subtle-action{min-height:44px;display:inline-flex;align-items:center;gap:14px;font-size:12px;color:var(--m-ink);border-bottom:1px solid #e4cf9f55;border-radius:0}
html[data-modern=home] .entry-note{position:absolute;top:100%;font-size:12px;color:#e9d09e;margin-top:18px}
html[data-modern=home].experience-ready .entry-note{display:none}
html[data-modern=home] .scroll-cue{position:absolute;bottom:26px;right:clamp(24px,5.5vw,90px);z-index:4;min-height:44px;display:flex;align-items:center;gap:16px;color:#d9ddd5;font:11px/1.5 var(--m-sans);letter-spacing:.09em}
html[data-modern=home] .stage.active-view .scroll-cue{display:none}
html[data-modern=home] .status-bar{display:none}
html[data-modern=home]:not([data-observing=true]) .interaction-bar{display:none}
html[data-modern=home] .interaction-bar{justify-content:center;border:0;border-bottom:1px solid var(--m-line);background:#0e1618;padding:15px 20px;gap:10px}
html[data-modern=home] .interaction-bar small{display:none}
html[data-modern=home] .interaction-bar button{border-radius:100px;background:transparent;border-color:var(--m-line);color:var(--m-ink);font-size:12px;padding:9px 22px;flex:0 1 auto}
html[data-modern=home] .section{width:min(1250px,calc(100% - 2 * clamp(24px,5.5vw,90px)));padding:90px 0;content-visibility:visible;contain-intrinsic-size:none}
html[data-modern=home] .section-heading{margin-bottom:38px;align-items:end}
html[data-modern=home] .section-heading h2{font:400 clamp(28px,3.5vw,48px)/1.45 var(--m-serif);letter-spacing:.015em}
html[data-modern=home] .section-heading .eyebrow{font-size:10px;letter-spacing:.2em;margin-bottom:18px}
html[data-modern=home] .section-heading>p{font-size:13px;color:var(--m-muted);line-height:1.9}
html[data-modern=home] .public-paths{padding-top:80px;padding-bottom:60px}
html[data-modern=home] .path-cards{grid-template-columns:1.2fr 1fr;gap:16px}
html[data-modern=home] .path-card{position:relative;overflow:hidden;min-height:215px;padding:34px 38px;background:#101b1f;border:1px solid #bdd0c518;border-radius:16px;transition:transform .22s ease,background .22s ease}
html[data-modern=home] .path-card:first-child{grid-row:span 2;display:flex;flex-direction:column;justify-content:flex-end;min-height:446px;background:radial-gradient(ellipse at 90% 0%,#29424655,transparent 70%),#101b1f}
html[data-modern=home] .path-card:first-child:before{content:'';position:absolute;width:290px;height:290px;right:-50px;top:-100px;border:1px solid #e4cf9f25;border-radius:50%;box-shadow:0 0 0 60px #e4cf9f05,0 0 0 120px #e4cf9f03;pointer-events:none}
html[data-modern=home] .path-card>span{font-size:10px;letter-spacing:.19em}
html[data-modern=home] .path-card h3{font:400 29px/1.4 var(--m-serif);margin:18px 0 12px;letter-spacing:.025em}
html[data-modern=home] .path-card:first-child h3{font-size:clamp(33px,4vw,52px);margin-top:28px}
html[data-modern=home] .path-card p{font-size:13px;line-height:2;color:var(--m-muted);max-width:33em;margin:0}
html[data-modern=home] .path-card b{font-size:12px;margin-top:22px;color:#ecdfc2}
html[data-modern=home] .path-card:hover{transform:translateY(-4px);background-color:#18272b}
html[data-modern=home] .places{padding-top:46px;padding-bottom:80px;border-top:1px solid var(--m-line)}
html[data-modern=home] .places .section-heading{margin-bottom:28px}
html[data-modern=home] .places .section-heading h2{font-size:28px}
html[data-modern=home] #locations{grid-template-columns:1fr}
html[data-modern=home] .location{display:grid;grid-template-columns:1fr 1.4fr auto;gap:12px 30px;align-items:center;min-height:0;padding:28px 0;background:transparent;border:0;border-top:1px solid var(--m-line)}
html[data-modern=home] .location small{grid-column:1;font-size:10px;color:var(--m-muted)}
html[data-modern=home] .location h3{grid-column:1;margin:0;font-size:24px;grid-row:2}
html[data-modern=home] .location p{grid-column:2;grid-row:1/span 2;font-size:13px;margin:0;color:var(--m-muted)}
html[data-modern=home] .location button{grid-column:3;grid-row:1/span 2;border-radius:100px;width:auto;min-width:150px;min-height:48px;justify-content:center;border-color:#cdd0ba40;font-size:12px}
html[data-modern=home] .places>p.note{margin-top:22px;max-width:70em;font-size:11px}
html[data-modern=home] footer{margin:0 clamp(24px,5.5vw,90px);padding:30px 0;font-size:10px;color:var(--m-muted);letter-spacing:.08em}
html[data-modern] dialog{border-radius:16px;border-color:#bdd0c52c;box-shadow:0 30px 100px #0009}
html[data-modern] dialog[open]{animation:panel-arrival 200ms ease-out}
@keyframes panel-arrival{from{opacity:.2;transform:translateY(9px)}to{opacity:1;transform:translateY(0)}}
html[data-modern] #archive-dialog{width:min(1360px,calc(100vw - 48px));max-height:calc(100dvh - 48px);height:calc(100dvh - 48px);overflow:hidden}
html[data-modern] #archive-dialog[open]{display:flex;flex-direction:column}
html[data-modern] #archive-dialog>.dialog-head{padding:15px 26px;flex-shrink:0}
html[data-modern] #archive-dialog .eyebrow{display:none}
html[data-modern] #archive-dialog h2{font:500 17px/1.5 var(--m-sans);letter-spacing:.1em}
html[data-modern] #archive-close{font-size:12px;min-height:44px;border:1px solid var(--m-line);border-radius:100px;padding:9px 20px}
html[data-modern] #archive-frame{height:auto!important;min-height:0;flex:1;width:100%;border:0;display:block}
html[data-modern] #experience-menu{width:min(480px,calc(100vw - 24px));padding:26px;background:#10191b;max-height:calc(100dvh - 32px)}
html[data-modern] .menu-head{display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid var(--m-line);padding-bottom:20px;margin-bottom:12px}
html[data-modern] .menu-head h2{font:400 25px/1.4 var(--m-serif);margin:5px 0;color:var(--m-ink)}
html[data-modern] #menu-close{border:1px solid var(--m-line);min-width:44px;min-height:44px;border-radius:100px;font-size:20px;padding:0}
html[data-modern] .menu-links{display:grid;gap:0}
html[data-modern] .menu-links>button{display:flex;align-items:center;justify-content:space-between;min-height:58px;border:0;border-bottom:1px solid var(--m-line);border-radius:0;color:var(--m-ink);font-size:14px;text-align:left;background:transparent;padding:14px 0}
html[data-modern] .menu-links>button:after{content:'↗';color:var(--m-gold);font-size:16px}
html[data-modern] .menu-caption{font-size:12px;line-height:1.9;color:var(--m-muted);margin:22px 0 0}
html[data-modern=archive] body{font-family:var(--m-sans)}
html[data-modern=archive] .filters button{border-radius:100px;min-height:44px;padding:8px 20px}
html[data-modern=archive] .tools .search{border-radius:14px;background:#0d191c}
html[data-modern=archive] .card{border-radius:14px;background:#101b1f;border-color:var(--m-line);box-shadow:none}
html[data-modern=archive] .card h3{font-family:var(--m-serif);line-height:1.7}
html[data-modern=archive] .card-foot button{border-radius:100px;min-height:44px}
html[data-modern=archive] .spatial-tools button{border-radius:100px;background:transparent}
html[data-modern=archive] .spatial-graph{border-radius:16px}
html[data-modern=archive] .spatial-graph .node{border-radius:12px;box-shadow:0 8px 18px #0003}
html[data-modern=archive] .reader-dialog{border-radius:16px}
html[data-modern=archive][data-embedded=true] .hero,html[data-modern=archive][data-embedded=true] .closing,html[data-modern=archive][data-embedded=true] .footer{display:none}
html[data-modern=archive][data-embedded=true] .bar{height:64px;min-height:64px;position:relative;padding:8px 28px;border-bottom:1px solid var(--m-line);background:#10191b}
html[data-modern=archive][data-embedded=true] .bar .brand,html[data-modern=archive][data-embedded=true] .bar .build{display:none}
html[data-modern=archive][data-embedded=true] .bar nav{width:100%;justify-content:flex-start;gap:26px}
html[data-modern=archive][data-embedded=true] .bar nav button{margin-left:auto;border-radius:100px}
html[data-modern=archive][data-embedded=true] .shell{width:calc(100% - 64px);max-width:1220px}
html[data-modern=archive][data-embedded=true] #library{padding-top:32px}
html[data-modern=archive][data-embedded=true] .heading{margin-bottom:24px}
html[data-modern=archive][data-embedded=true] .heading .eyebrow{display:none}
html[data-modern=archive][data-embedded=true] #library-title{font:400 clamp(24px,3vw,36px)/1.5 var(--m-serif)}
html[data-modern=archive][data-embedded=true] #focus-search{display:none}
@media(max-width:800px){
 html[data-modern=home] body>header{height:70px!important;min-height:70px!important;padding:0 22px!important}
 html[data-modern=home] .identity{font-size:11px;gap:8px}.identity small{font-size:7px}
 html[data-modern=home] .top-actions button{padding:9px 15px;font-size:11px}
 html[data-modern=home] #menu-open{padding:8px 10px}
 html[data-modern=home] .stage:not(.active-view){height:auto;min-height:710px;max-height:none}
 html[data-modern=home] .stage:not(.active-view) #entry-poster{top:18px;height:calc(100vw * 941 / 1672);bottom:auto}
 html[data-modern=home] .stage:not(.active-view) .stage-grain{background:linear-gradient(0deg,#090e10 0%,#090e10 20%,#090e1000 63%)}
 html[data-modern=home] .stage-top{top:15px;font-size:8px;left:24px;right:24px}
 html[data-modern=home] .entry{position:relative;left:auto;bottom:auto;margin:0 26px;width:auto;padding:calc(100vw * 941 / 1672 + 42px) 0 74px;max-width:none}
 html[data-modern=home] .entry .eyebrow{font-size:9px;margin-bottom:18px}
 html[data-modern=home] .entry h1{font-size:clamp(34px,8.5vw,60px);line-height:1.42}
 html[data-modern=home] .entry .intro{font-size:12px;line-height:2.05;letter-spacing:.035em;margin:20px 0 23px}
 html[data-modern=home] .entry-actions{gap:18px}
 html[data-modern=home] .entry-actions .primary{font-size:12px;min-height:50px;padding:12px 21px;gap:28px}
 html[data-modern=home] .subtle-action{font-size:11px;gap:9px}
 html[data-modern=home] .scroll-cue{bottom:12px;font-size:10px;right:26px}
 html[data-modern=home] .section{width:calc(100% - 48px);padding-top:50px;padding-bottom:50px}
 html[data-modern=home] .section-heading{gap:16px;margin-bottom:25px}
 html[data-modern=home] .section-heading>p{font-size:12px}
 html[data-modern=home] .section-heading .eyebrow{font-size:9px}
 html[data-modern=home] .path-cards{grid-template-columns:1fr;gap:12px}
 html[data-modern=home] .path-card{padding:26px;min-height:200px;border-radius:14px}
 html[data-modern=home] .path-card:first-child{grid-row:auto;min-height:280px}
 html[data-modern=home] .path-card:first-child h3{font-size:37px}
 html[data-modern=home] .path-card h3{font-size:25px}
 html[data-modern=home] .path-card p{font-size:12px}
 html[data-modern=home] .location{grid-template-columns:1fr auto;gap:16px;padding:26px 0}
 html[data-modern=home] .location h3{font-size:21px}
 html[data-modern=home] .location p{grid-column:1/span 2;grid-row:3;font-size:12px}
 html[data-modern=home] .location button{grid-column:2;grid-row:1/span 2;min-width:120px;font-size:11px}
 html[data-modern=home] .interaction-bar button{padding:9px 17px}
 html[data-modern] #archive-dialog{width:calc(100vw - 12px);height:calc(100dvh - 12px);max-height:calc(100dvh - 12px);border-radius:16px}
 html[data-modern] #archive-dialog>.dialog-head{padding:8px 15px}
 html[data-modern] #archive-dialog h2{font-size:15px}
 html[data-modern] #archive-close{padding:8px 15px;font-size:11px}
 html[data-modern=archive][data-embedded=true] .bar{height:56px;min-height:56px;padding:5px 20px;display:flex}
 html[data-modern=archive][data-embedded=true] .bar nav{gap:20px;font-size:12px}
 html[data-modern=archive][data-embedded=true] .shell{width:calc(100% - 36px)}
 html[data-modern=archive][data-embedded=true] #library{padding-top:22px}
 html[data-modern=archive][data-embedded=true] #library-title{font-size:24px}
 html[data-modern=archive][data-embedded=true] .heading{margin-bottom:20px}
 html[data-modern=archive] .filters{gap:6px}
 html[data-modern=archive] .filters button{padding:7px 13px;font-size:12px}
}
@media(max-width:400px){
 html[data-modern=home] body>header{height:66px!important;min-height:66px!important;padding:0 16px!important;gap:8px}
 html[data-modern=home] .identity{font-size:10px;letter-spacing:.08em;gap:6px}
 html[data-modern=home] .identity small{font-size:6px;letter-spacing:.13em}
 html[data-modern=home] .seal{width:24px;height:28px;font-size:22px}
 html[data-modern=home] .top-actions{gap:3px!important}
 html[data-modern=home] #archive-open{font-size:10px;padding:9px 12px}
 html[data-modern=home] #menu-open{font-size:10px;padding:9px 6px}
 html[data-modern=home] .entry{margin:0 24px}
 html[data-modern=home] .entry h1{font-size:35px}
 html[data-modern=home] .stage:not(.active-view){min-height:680px}
 html[data-modern=home] .entry-actions{gap:13px}
 html[data-modern=home] .entry-actions .primary{padding:12px 19px;gap:20px}
}
@media(max-width:345px){html[data-modern=home] .identity small{display:none}html[data-modern=home] .entry h1{font-size:30px}html[data-modern=home] .entry{margin:0 21px}.top-actions button{font-size:10px}html[data-modern=home] .subtle-action{font-size:10px}}
@media(prefers-reduced-motion:reduce){html[data-modern] *,html[data-modern] *:before,html[data-modern] *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}html[data-modern] .path-card:hover{transform:none}}
html[data-modern] body.no-motion *,html[data-modern] body.still *{animation:none!important;transition:none!important}

@media(min-width:651px) and (max-width:800px){html[data-modern=home] .stage:not(.active-view){min-height:720px;height:720px}html[data-modern=home] .entry{position:absolute;left:36px;bottom:80px;padding:0;margin:0;width:calc(100% - 72px)}html[data-modern=home] .entry h1{font-size:48px}html[data-modern=home] .stage:not(.active-view) .stage-grain{background:linear-gradient(0deg,#090e10 5%,#090e10df 30%,#090e1000 65%)}}
