@font-face{font-family:"Fraunces";font-style:normal;font-weight:300 700;font-display:swap;src:url("fonts/fraunces-normal-latin.woff2") format("woff2");unicode-range:U+0000-00FF,U+2013-2014,U+2018-201D,U+201E,U+2212,U+2026,U+20AC,U+2190-2193}
@font-face{font-family:"Fraunces";font-style:normal;font-weight:300 700;font-display:swap;src:url("fonts/fraunces-normal-latin-ext.woff2") format("woff2");unicode-range:U+0100-024F,U+1E00-1EFF}
@font-face{font-family:"Newsreader";font-style:normal;font-weight:300 700;font-display:swap;src:url("fonts/newsreader-latin.woff2") format("woff2");unicode-range:U+0000-00FF,U+2013-2014,U+2018-201D,U+201E,U+2212,U+2026,U+20AC,U+2190-2193}
@font-face{font-family:"Newsreader";font-style:normal;font-weight:300 700;font-display:swap;src:url("fonts/newsreader-latin-ext.woff2") format("woff2");unicode-range:U+0100-024F,U+1E00-1EFF}
@font-face{font-family:"PlexMono";font-style:normal;font-weight:400 600;font-display:swap;src:url("fonts/plexmono-latin.woff2") format("woff2");unicode-range:U+0000-00FF,U+2013-2014,U+2018-201D,U+201E,U+2212,U+00B0,U+2026,U+2190-2193}
@font-face{font-family:"PlexMono";font-style:normal;font-weight:400 600;font-display:swap;src:url("fonts/plexmono-latin-ext.woff2") format("woff2");unicode-range:U+0100-024F}
:root{--serif:"Newsreader",Georgia,"Times New Roman",serif;--display:"Fraunces",Georgia,serif;--mono:"PlexMono",ui-monospace,Menlo,monospace;
--bg:#f3f1ea;--ink:#10202b;--ink2:#3d4f5c;--line:#cfd4d2;--panel:rgba(246,244,237,.94);--acc:#00607f;--warm:#8a4300;--btn:#10202b;--btnink:#fff;--chip:rgba(16,32,43,.07);--stage:#cfe3ea}
:root[data-theme="dark"]{--bg:#06101a;--ink:#e8f1f5;--ink2:#b0c4cf;--line:#1f3442;--panel:rgba(6,16,26,.92);--acc:#8fdcff;--warm:#ffbd6e;--btn:#e8f1f5;--btnink:#06101a;--chip:rgba(232,241,245,.09);--stage:#061320}
[hidden],svg[hidden]{display:none!important}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:auto}
body{margin:0;background:var(--bg);color:var(--ink);font:400 19px/1.62 var(--serif);font-optical-sizing:auto}
a{color:inherit;text-underline-offset:3px;text-decoration-thickness:1px}a:hover{color:var(--acc)}
:focus-visible{outline:2px solid var(--acc);outline-offset:3px;border-radius:3px}
.skip{position:absolute;left:-9999px}.skip:focus{left:12px;top:12px;z-index:60;background:var(--bg);padding:8px 12px}
.top{position:fixed;inset:0 0 auto 0;z-index:50;display:flex;align-items:center;gap:10px;padding:9px 14px;height:46px;font:500 12.5px/1 var(--mono);pointer-events:none}
.top>*{pointer-events:auto}.top .sp{flex:1}
.top .home,.top .lang,#theme{text-decoration:none;color:#eaf4f8;background:rgba(4,12,20,.68);padding:7px 11px;border-radius:999px;border:1px solid rgba(170,215,235,.32)}
#theme{display:inline-grid;place-items:center;width:34px;height:34px;padding:0;cursor:pointer}#theme svg{width:17px;height:17px}
.tour{position:relative;background:var(--stage)}
.stage{position:sticky;top:0;height:calc(var(--vh,1vh)*100);overflow:hidden;background:var(--stage);touch-action:pan-y;color:#eef6f9}
#gl{position:absolute;inset:0;width:100%;height:100%;display:block}
.nogl #gl{display:none}
.shade{position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(2,9,16,.5) 0%,rgba(2,9,16,0) 26%,rgba(2,9,16,0) 48%,rgba(2,9,16,.55) 100%)}
.intro{position:absolute;left:clamp(16px,4vw,64px);top:calc(46px + 3vh);max-width:min(640px,88vw);transition:opacity .5s,transform .5s;z-index:4;pointer-events:none;text-shadow:0 1px 14px rgba(0,10,20,.6)}
.intro.gone{opacity:0;transform:translateY(-14px)}
.kick{font:500 11.5px/1.4 var(--mono);letter-spacing:.09em;text-transform:uppercase;margin:0 0 .6em;color:#bfe6f5}
h1{font:600 clamp(32px,5.6vw,66px)/1.02 var(--display);letter-spacing:-.015em;margin:0 0 .35em}
.dek{font-size:clamp(17px,2.1vw,22px);line-height:1.45;margin:0;max-width:34em}
.hint{font:500 11.5px/1 var(--mono);letter-spacing:.08em;margin:1.4em 0 0;opacity:.85}
.cap{position:absolute;left:clamp(12px,4vw,64px);top:calc(46px + 2vh);width:min(430px,calc(100vw - 24px));z-index:5;pointer-events:none;opacity:0;transform:translateY(8px);transition:opacity .4s,transform .4s}
.cap.on{opacity:1;transform:none}
.cap .box{background:rgba(3,12,20,.78);border:1px solid rgba(160,210,230,.25);border-radius:12px;padding:14px 16px 15px;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);color:#eef6f9}
.cap h2{font:600 19px/1.2 var(--display);margin:0 0 .3em}.cap p{margin:0;font-size:16.5px;line-height:1.46}
.ro{position:absolute;right:clamp(12px,3vw,40px);top:calc(46px + 2vh);z-index:5;text-align:right;pointer-events:none;color:#eef6f9;text-shadow:0 1px 10px rgba(0,10,20,.7)}
.ro .yr{font:600 clamp(40px,7vw,84px)/1 var(--display);letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.ro .lv{font:500 13px/1.4 var(--mono);margin-top:4px;min-height:2.8em}
.ro .tag{display:inline-block;font:500 11px/1 var(--mono);letter-spacing:.07em;text-transform:uppercase;padding:5px 8px;border-radius:99px;background:rgba(3,12,20,.7);border:1px solid rgba(160,210,230,.3);margin-top:6px}
.wall{position:absolute;left:0;right:0;bottom:0;height:min(40vh,380px);z-index:4;touch-action:pan-y}
#wall{width:100%;height:100%;display:block}
.sc{position:absolute;right:clamp(8px,2vw,24px);top:6px;z-index:6;display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end;max-width:min(560px,92vw)}
.sc button{font:500 11.5px/1 var(--mono);color:#eaf4f8;background:rgba(3,12,20,.72);border:1px solid rgba(160,210,230,.35);border-radius:99px;padding:7px 10px;cursor:pointer;min-height:30px}
.sc button[aria-pressed=true]{background:#d9f1fb;color:#04202e;border-color:#d9f1fb}
.sc .s{display:none}
.nogl .stage{background:linear-gradient(#0a2236,#04101a)}
.page{max-width:760px;margin:0 auto;padding:56px 20px 80px}
.page h2{font:600 clamp(26px,3.6vw,36px)/1.12 var(--display);margin:2.1em 0 .5em;letter-spacing:-.01em}.page section:first-child h2{margin-top:0}
.page h3{font:600 21px/1.25 var(--display);margin:1.8em 0 .4em}
.small{font-size:15.5px;line-height:1.5;color:var(--ink2)}
.res{border:1px solid var(--line);border-radius:12px;overflow:hidden;margin:1em 0}
.res dl{display:grid;grid-template-columns:1fr auto;margin:0}.res dt,.res dd{padding:9px 14px;margin:0;border-top:1px solid var(--line);font-size:16.5px;line-height:1.4}
.res dt:first-of-type,.res dd:first-of-type{border-top:0}.res dd{font:500 14.5px/1.4 var(--mono);text-align:right;white-space:nowrap}
.res .pri{background:var(--chip);font-weight:600}
table{border-collapse:collapse;width:100%;font-size:16px;margin:1em 0}th,td{padding:8px 10px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}th{font:500 12.5px/1.3 var(--mono);letter-spacing:.04em;text-transform:uppercase;color:var(--ink2)}
td.n{font-family:var(--mono);font-size:14.5px;white-space:nowrap}
.me{background:var(--chip);border:1px solid var(--line);border-radius:14px;padding:18px;margin:1em 0}
.me form{display:flex;gap:10px;align-items:end;flex-wrap:wrap}.me label{display:flex;flex-direction:column;gap:5px;font:500 12px/1 var(--mono);letter-spacing:.05em;text-transform:uppercase;color:var(--ink2)}
.me input{font:500 22px/1 var(--mono);width:7.5em;padding:11px 12px;border-radius:9px;border:1px solid var(--line);background:var(--bg);color:var(--ink)}
.out{margin-top:16px}.out .big{font:600 clamp(24px,4.4vw,34px)/1.12 var(--display);margin:0 0 .3em}.out p{margin:.3em 0}
.out table{margin-top:10px}
.pic{margin-top:16px}.pic img{width:min(100%,380px);height:auto;border-radius:10px;border:1px solid var(--line);display:block}
.btns{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}.btn{font:500 14px/1 var(--mono);background:var(--btn);color:var(--btnink);border:0;border-radius:99px;padding:12px 18px;cursor:pointer;text-decoration:none;display:inline-block}.btn.ghost{background:transparent;color:var(--ink);border:1px solid var(--ink2)}
.lim{padding-left:1.2em}.lim li{margin:.5em 0}
.foot{margin-top:3em;font:500 13px/1.4 var(--mono);color:var(--ink2)}
figure{margin:1.4em 0}figcaption{font-size:15px;color:var(--ink2);margin-top:6px}
details summary{cursor:pointer}
@media (max-width:700px){body{font-size:18px}
.wall{height:min(36vh,300px)}
.cap{top:calc(46px + 1vh);width:calc(100vw - 24px)}.cap .box{padding:11px 13px}.cap h2{font-size:17px}.cap p{font-size:15px;line-height:1.4}
.ro{top:auto;bottom:calc(min(36vh,300px) + 46px);right:12px}.ro .yr{font-size:38px}.ro .lv{font-size:11.5px;min-height:0}.ro .tag{display:none}
.sc{top:-40px;left:8px;right:8px;max-width:none;flex-wrap:nowrap;overflow-x:auto;justify-content:flex-start;scrollbar-width:none}.sc::-webkit-scrollbar{display:none}.sc button{font-size:11px;padding:7px 10px;min-height:32px;white-space:nowrap;flex:none}.sc .l{display:none}.sc .s{display:inline}
.intro{top:calc(46px + 2vh)}}
@media (prefers-reduced-motion:reduce){.cap,.intro{transition:none}}

.lbls{position:absolute;inset:0;pointer-events:none;z-index:3;overflow:hidden}.lbl{position:absolute;left:0;top:0;font:500 11.5px/1 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:#fff;text-shadow:0 0 6px rgba(0,10,20,.9),0 1px 2px rgba(0,10,20,.9);opacity:0;transition:opacity .3s;white-space:nowrap}
.sr{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);border:0;white-space:nowrap}

.sc .dot{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:6px;vertical-align:-1px;background:#888}.sc .dot.dhi{display:none}
:root[data-theme="dark"] .d0{background:#7ee0ff}:root[data-theme="dark"] .d1{background:#ffc47a}:root[data-theme="dark"] .d2{background:#ff8f86}
:root[data-theme="light"] .d0{background:#0078a8}:root[data-theme="light"] .d1{background:#b35d00}:root[data-theme="light"] .d2{background:#b02525}
.sc button[aria-pressed=true] .d0{background:#0078a8}.sc button[aria-pressed=true] .d1{background:#b35d00}.sc button[aria-pressed=true] .d2{background:#b02525}
.ro{background:rgba(3,12,20,.55);padding:8px 14px 10px;border-radius:14px;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px)}
.sc button:focus-visible{outline:2px solid #fff;outline-offset:2px}
@media (max-width:700px){.sc{top:auto;bottom:calc(100% + 6px);flex-wrap:wrap;overflow:visible;justify-content:flex-start}.sc button{padding:6px 9px;font-size:10.5px}.ro{bottom:calc(min(36vh,300px) + 84px);padding:5px 10px 7px}.cap p{font-size:14px}.cap .box{padding:10px 12px}}
