@charset "UTF-8";
:root{color-scheme:dark;--bg:#10182a;--panel:#151f32;--text:#e7e8ee;--muted:#a8aec0;--accent:#d5b687;--line:#a8aec033;--serif:"Songti SC","Noto Serif CJK SC","SimSun",Georgia,serif;--sans:"Segoe UI","Microsoft YaHei",sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:40px}body{margin:0;background:var(--bg);color:var(--text);font:14px/1.9 var(--sans)}h1,h2,h3,p{margin:0}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}img{display:block;max-width:100%}button,a{-webkit-tap-highlight-color:transparent}:focus-visible{outline:2px solid var(--accent);outline-offset:5px}::selection{background:var(--accent);color:var(--bg)}.page-width{width:min(1140px,86%);margin-inline:auto}.section-space{padding-block:100px}.icon{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.icon.small{width:15px;height:15px}.svg-library{position:absolute;width:0;height:0;overflow:hidden}h2{font:400 clamp(28px,3vw,40px)/1.6 var(--serif)}.section-label{font-size:13px;color:var(--accent);margin-bottom:15px}.skip-link{position:fixed;z-index:100;top:10px;left:10px;transform:translateY(-160%);padding:10px 20px;background:var(--text);color:var(--bg)}.skip-link:focus{transform:none}
/* A title screen, with the manor as the main image. */
.site-header{position:absolute;inset:0 0 auto;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:25px;padding:24px 5%;background:linear-gradient(#080d17a6,transparent)}.brand{display:flex;gap:10px;align-items:center}.brand>img{width:26px;height:26px}.brand>span{font:18px/1.5 var(--serif);letter-spacing:.05em}.brand small{display:block;font:10px/1.8 var(--sans);letter-spacing:.03em;color:#c0c4d0}.desktop-nav{display:flex;gap:30px;font-size:12px}.desktop-nav a{padding:6px 0;border-bottom:1px solid transparent}.desktop-nav a:hover{border-color:var(--accent)}.header-github{display:flex;gap:8px;align-items:center;font-size:11px}.header-github .small{display:none}.menu-toggle,.mobile-nav{display:none}
.hero{position:relative;min-height:760px;height:min(900px,100svh);isolation:isolate;background:#080d17;overflow:hidden}.hero-art,.hero-image,.hero-shade{position:absolute;inset:0;width:100%;height:100%}.hero-art{z-index:-3}.hero-image{object-fit:cover;object-position:center 44%;opacity:0;transition:opacity .8s}.hero-image.is-active{opacity:1}.hero-image:nth-child(2){object-position:65% 35%}.hero-shade{z-index:-2;background:linear-gradient(0deg,#080d17ef,transparent 65%),linear-gradient(90deg,#080d177a,transparent 65%)}.hero-content{position:absolute;left:7%;bottom:130px}.hero-preface{font-size:12px;letter-spacing:.12em;color:#d1ccca;margin-bottom:13px}.hero h1{font:400 clamp(62px,8vw,110px)/1.2 var(--serif);letter-spacing:.025em;text-shadow:0 3px 28px #080d17}.hero-english{font:16px Georgia,serif;letter-spacing:.07em;margin-top:18px;color:#d1cbd4}.title-menu{display:flex;flex-wrap:wrap;gap:30px;margin-top:44px;font-family:var(--serif);font-size:17px}.title-menu a{border-bottom:1px solid #e6dfd633;padding-bottom:6px;transition:color .2s}.title-menu a:hover{color:var(--accent);border-color:var(--accent)}.hero-bottom{position:absolute;left:7%;bottom:38px;display:flex;align-items:center;justify-content:space-between;gap:20px}.scroll-cue{font-size:11px;color:#a8aec0}.scene-picker{display:flex;align-items:center;gap:9px}.scene-label{font-size:11px;color:#b9bece;margin-right:12px}.scene-button{background:none;border:0;border-bottom:1px solid #b0b9ce55;padding:7px 10px;font-size:11px;color:#b2b9c8;min-height:40px}.scene-button.is-active{border-color:var(--accent);color:var(--accent)}.hero-credit{position:absolute;right:5%;bottom:10px;color:#b0b3bf;font-size:9px}
/* Actual port information, alongside the supplied hardware image. */
.project-layout{display:grid;grid-template-columns:1fr 1.3fr;gap:65px;align-items:center}.project-copy>p:not(.section-label){color:var(--muted);font-size:13px;line-height:2.1;margin-top:22px;max-width:390px}.text-link{display:inline-flex;align-items:center;gap:10px;font-size:13px;color:var(--accent)}.inline-link{margin-top:25px;border-bottom:1px solid #d5b68766;padding-bottom:4px}.device-scene{min-width:0}.vita-photo{position:relative;width:100%;filter:drop-shadow(0 20px 24px #0006)}.vita-photo-frame{position:relative;z-index:1;width:100%;height:auto;pointer-events:none}.vita-photo-screen{position:absolute;left:19.4%;top:6.7%;width:60.8%;height:77.4%;object-fit:cover;clip-path:polygon(0 0,100% 1%,100% 97.5%,0 100%)}.device-caption{font-size:10px;color:var(--muted);text-align:center;margin-top:25px}.port-details{margin:60px 0 0;display:flex;gap:40px;padding-top:25px;border-top:1px solid var(--line)}.port-details>div{flex:1;display:flex;gap:20px}.port-details dt{flex-shrink:0;font-family:var(--serif);font-size:18px;color:var(--accent)}.port-details dd{margin:0;color:var(--muted);font-size:12px;line-height:2}
/* Images retain their original aspect ratio. */
.gallery{padding-top:20px}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:25px;margin-bottom:36px}.section-heading p:not(.section-label){font-size:13px;color:var(--muted);margin-top:12px}.gallery-hint{display:flex;align-items:center;gap:7px;font-size:11px;color:var(--muted);white-space:nowrap}.gallery-grid{display:grid;grid-template-columns:1fr 1fr;gap:35px}.gallery-item{background:none;border:0;padding:0;min-width:0;text-align:left}.gallery-image{position:relative;overflow:hidden;background:#080d17}.gallery-image img{width:100%;height:auto}.image-expand{position:absolute;bottom:12px;right:12px;display:grid;place-items:center;background:#080d17ba;width:32px;height:32px;border:1px solid #e7e8ee44;opacity:0}.gallery-item:hover .image-expand,.gallery-item:focus-visible .image-expand{opacity:1}.gallery-caption{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:13px}.gallery-caption>span:first-child{font:20px var(--serif)}.gallery-caption>span:last-child{font-size:10px;color:var(--muted)}.gallery-footnote{font-size:11px;color:var(--muted);margin-top:28px;line-height:1.9}
/* The dates and source captures carry the development history. */
.history-section{background:#0b1220}.history-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:65px}.history-heading p:not(.history-range){font-size:13px;color:var(--muted);margin-top:18px;line-height:2}.history-range{display:flex;gap:12px;white-space:nowrap;font:21px Georgia,serif;color:var(--accent)}.history-range>span{color:var(--muted)}.history-timeline{list-style:none;padding:0;margin:0}.history-entry{position:relative;display:grid;grid-template-columns:130px 1fr 230px;gap:35px;padding-bottom:55px}.history-entry:before{content:"";position:absolute;top:8px;bottom:-8px;left:110px;width:1px;background:#737c943d}.history-entry:after{content:"";position:absolute;top:8px;left:107px;width:7px;height:7px;border:1px solid var(--accent);border-radius:50%;background:#0b1220}.history-entry:last-child:before{display:none}.history-date{font:14px/1.8 Georgia,serif;color:var(--muted);padding-right:25px}.history-date strong{display:block;font-size:29px;font-weight:400;color:var(--accent);line-height:1.2;margin-bottom:8px}.history-date .history-phase{font-family:var(--serif);font-size:17px;white-space:nowrap}.history-milestone{min-width:0;max-width:470px}.history-milestone h3{font:24px/1.5 var(--serif);margin-bottom:15px}.history-milestone p{font-size:13px;color:var(--muted);line-height:2.1}.history-caption{display:block;font-size:11px;color:#c1c2cd;margin-top:21px}.history-date-note{display:block;color:var(--muted);font-size:10px;margin-top:8px}.history-evidence{align-self:start;display:block;padding:7px;background:#e7e8ee;color:#2a3041;box-shadow:0 5px 12px #0004}.history-evidence img{width:100%;height:auto}.history-evidence>span{display:block;text-align:center;font-size:10px;padding-top:5px}.history-evidence:hover{outline:1px solid var(--accent);outline-offset:5px}.history-present{grid-template-columns:130px 1fr;padding-bottom:0}.history-present .history-milestone{max-width:630px}.history-present:after{background:var(--accent)}.history-footnote{font-size:11px;color:var(--muted);margin-top:40px;padding-top:24px;border-top:1px solid var(--line)}
/* Practical installation instructions are a sequence, not feature cards. */
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:35px;margin-top:40px}.step{padding:0 0 0 32px;position:relative}.step-number{position:absolute;left:0;top:3px;font:italic 18px Georgia,serif;color:var(--accent)}.step h3{font:21px/1.5 var(--serif);margin-bottom:12px}.step p{font-size:12px;line-height:2;color:var(--muted)}.step-footer{display:flex;align-items:center;gap:10px;font-size:12px;color:var(--accent);margin-top:20px}.path-bar{display:flex;align-items:center;gap:25px;margin-top:40px;background:#080d1766;padding:20px;font-size:12px}.path-bar>span{color:var(--muted);white-space:nowrap}.path-bar code{overflow-wrap:anywhere;min-width:0}.path-bar button{display:flex;align-items:center;gap:8px;margin-left:auto;background:transparent;border:0;color:var(--accent);font-size:11px;white-space:nowrap;padding:8px}.copy-feedback{min-height:27px;text-align:right;font-size:11px;color:var(--accent)}.faq-layout{display:grid;grid-template-columns:1fr 2fr;gap:65px;margin-top:55px}.faq-intro h3{font:28px var(--serif)}.faq{border-top:1px solid var(--line)}.faq details{border-bottom:1px solid var(--line)}.faq summary{display:flex;justify-content:space-between;gap:20px;list-style:none;cursor:pointer;padding-block:20px;font-size:13px}.faq summary::-webkit-details-marker{display:none}.faq summary>span{font-size:21px;line-height:1;color:var(--accent)}.faq details[open] summary>span{transform:rotate(45deg)}.faq details p{padding:0 20px 22px 0;font-size:12px;line-height:2;color:var(--muted)}.faq details a{color:var(--accent);text-decoration:underline}.project-end{padding-bottom:55px;display:flex;align-items:center;justify-content:space-between;gap:20px;font-family:var(--serif);font-size:18px}.project-end a{font:12px var(--sans);color:var(--accent);white-space:nowrap}.site-footer{padding-block:30px;border-top:1px solid var(--line)}.footer-top,.footer-bottom{display:flex;align-items:flex-start;justify-content:space-between;gap:30px}.footer-top>div{display:flex;flex-wrap:wrap;gap:24px;font-size:11px;color:#c1c6d4}.footer-bottom{margin-top:25px;font-size:10px;color:var(--muted)}.footer-bottom>span{white-space:nowrap;font-size:10px}
/* Keyboard-accessible image viewer. */
dialog{width:min(1050px,94vw);max-height:94svh;padding:16px 20px;border:1px solid #a8aec04d;background:#0b1220;color:var(--text)}dialog::backdrop{background:#050913ed}.lightbox-bar{display:flex;align-items:center;justify-content:space-between;font-size:13px;padding-bottom:13px;gap:15px}.lightbox-bar button,.lightbox-controls button{display:grid;place-items:center;background:transparent;border:1px solid var(--line);width:40px;height:40px;color:var(--accent)}#lightbox-image{width:100%;height:auto;max-height:70svh;object-fit:contain;background:black}.lightbox-controls{display:flex;justify-content:center;align-items:center;gap:30px;margin-top:15px;font-size:12px}.lightbox-controls button{font-size:20px}body.modal-open{overflow:hidden}
@media(min-width:1326px){.hero-content,.hero-bottom{left:calc((100% - 1140px)/2)}}
@media(max-width:1000px){.desktop-nav{gap:20px}.project-layout{gap:30px}.history-entry{grid-template-columns:100px 1fr 185px;gap:25px}.history-entry:before{left:85px}.history-entry:after{left:82px}.history-present{grid-template-columns:100px 1fr}.history-heading{flex-direction:column;align-items:flex-start}.port-details{gap:25px}.port-details>div{display:block}.port-details dd{margin-top:10px}.steps{gap:20px}.footer-top>div{gap:15px}}
@media(max-width:760px){.page-width{width:88%}.section-space{padding-block:65px}.site-header{padding:20px 6%;gap:15px}.brand>span{font-size:16px}.brand small{font-size:9px}.desktop-nav{display:none}.header-github{margin-left:auto}.header-github>span{display:none}.menu-toggle{display:flex;flex-direction:column;justify-content:center;gap:6px;background:transparent;width:35px;height:36px;border:0}.menu-toggle span{width:24px;height:1px;background:var(--text)}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(3.5px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-3.5px) rotate(-45deg)}.mobile-nav:not([hidden]){display:flex;flex-direction:column;position:absolute;top:83px;left:0;right:0;z-index:25;padding:12px 6% 22px;background:#0b1220f5}.mobile-nav a{display:flex;justify-content:space-between;padding:13px 0;border-bottom:1px solid var(--line)}.mobile-nav a span{color:var(--muted);font-size:11px}.hero{height:760px;min-height:700px}.hero-image{object-position:58% 40%}.hero-shade{background:linear-gradient(0deg,#080d17 0%,#080d17c9 28%,#080d1733 65%,#080d1733)}.hero-content{left:6%;bottom:160px}.hero-preface{font-size:11px}.hero h1{font-size:clamp(43px,11vw,72px);white-space:nowrap}.hero-english{font-size:12px}.title-menu{display:grid;grid-template-columns:1fr 1fr;gap:16px 25px;max-width:300px;font-size:16px;margin-top:30px}.hero-bottom{left:6%;bottom:40px;align-items:flex-start;flex-direction:column;gap:10px}.scene-label{font-size:10px}.scroll-cue{font-size:10px}.hero-credit{bottom:13px}.project-layout{grid-template-columns:1fr;gap:40px}.project-copy>p:not(.section-label){max-width:none;font-size:13px}.project-copy h2{font-size:30px}.device-caption{font-size:9px;margin-top:20px}.port-details{display:block;margin-top:35px;padding-top:10px}.port-details>div{display:flex;gap:25px;margin-top:18px}.port-details dd{margin:0}.gallery{padding-top:15px}.section-heading{flex-direction:column;align-items:flex-start;gap:18px}.gallery-grid{grid-template-columns:1fr;gap:30px}.gallery-hint{font-size:10px}.image-expand{opacity:1}.gallery-caption>span:first-child{font-size:20px}.gallery-caption>span:last-child{font-size:10px}.history-heading{margin-bottom:40px}.history-heading br{display:none}.history-range{font-size:21px}.history-entry{grid-template-columns:1fr;gap:15px;padding:0 0 45px 27px}.history-entry:before{left:4px}.history-entry:after{left:1px}.history-date{display:flex;gap:12px;padding:0}.history-date time{display:flex;align-items:baseline;gap:12px}.history-date strong{font-size:25px;margin:0}.history-milestone h3{font-size:24px}.history-evidence{width:min(245px,100%);margin-top:5px}.history-present{padding-bottom:0}.history-milestone p{font-size:12px}.history-footnote{font-size:10px}.steps{grid-template-columns:1fr;gap:30px}.step{padding-left:40px}.path-bar{flex-wrap:wrap;gap:12px;padding:16px}.path-bar code{order:3;width:100%;font-size:11px}.faq-layout{grid-template-columns:1fr;gap:25px;margin-top:35px}.faq-intro h3{font-size:25px}.project-end{flex-direction:column;align-items:flex-start;font-size:16px;padding-bottom:35px}.footer-top,.footer-bottom{flex-direction:column;gap:20px}.footer-top>div{gap:15px;font-size:10px}.footer-bottom{font-size:9px}.footer-bottom>span{font-size:9px}dialog{padding:12px}.lightbox-bar{font-size:11px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

/* Cinematic motion layer: cold magic, violet shadows and warm window light. */
:root{--bg:#0b0e21;--accent:#9ceaf5;--muted:#adb5d2;--line:#96b4e432}
body{background:radial-gradient(ellipse at 100% 30%,#25224770,transparent 45%),#0b0e21}
.reading-progress{position:fixed;top:0;left:0;width:100%;height:3px;transform-origin:left;transform:scaleX(0);background:linear-gradient(90deg,#9eeeff,#b395ff);z-index:100;box-shadow:0 0 14px #8cecff}
.motion-toggle{position:fixed;right:18px;bottom:18px;z-index:45;border:1px solid #abb9e454;border-radius:30px;background:#10172de0;backdrop-filter:blur(12px);color:#dce8ff;padding:8px 15px;font-size:11px;cursor:pointer}
.hero{height:900px;min-height:780px;background:#0b0e21}.hero-art{transform:translate(var(--parallax-x,0px),var(--parallax-y,0px)) scale(1.035);transition:transform .5s ease-out}.hero-image{object-position:65% 38%;transition:opacity 1s,filter 1s;filter:saturate(1.2);animation:cinema-drift 20s ease-in-out infinite alternate}.hero-image:nth-child(3){object-position:50% 45%}.hero-shade{background:linear-gradient(90deg,#0b0e21ed 0%,#0b0e21a6 30%,#0b0e2110 75%),linear-gradient(0deg,#0b0e21 0%,#0b0e2133 45%,#0b0e2133)}.hero-content{bottom:190px}.hero h1{font-size:clamp(70px,8.5vw,122px);line-height:1.3;text-shadow:0 0 45px #9fb7ff35,0 3px 18px #020817;font-weight:400}.hero-english{font-size:18px;letter-spacing:.16em;color:#bcc8f4}.hero-preface{display:flex;align-items:center;gap:12px;letter-spacing:.08em;color:#ccdbf7}.signal-dot{width:6px;height:6px;border-radius:50%;background:#b5f6ff;box-shadow:0 0 12px #8cecff;animation:signal-glow 3s ease-in-out infinite}.hero-lead{font:21px/1.9 var(--serif);margin-top:30px;color:#dae1f6;letter-spacing:.08em}.title-menu{margin-top:28px;gap:12px;font-family:var(--sans);font-size:13px}.title-menu a{position:relative;overflow:hidden;padding:13px 20px;border:1px solid #aac7f54d;background:#1a244259;backdrop-filter:blur(8px);transition:background .25s,box-shadow .25s,transform .25s}.title-menu a:first-child{background:#b4eaf0;color:#142039;border-color:#cdf7f9}.title-menu a:hover{transform:translateY(-3px);color:#e4f6ff;box-shadow:0 0 25px #97dcff24;background:#253957}.title-menu a:first-child:hover{background:#d4fbfc;color:#142039}.title-menu a:after{content:"";position:absolute;inset:-50% auto -50% -80%;width:45%;background:linear-gradient(90deg,transparent,#ffffff2c,transparent);transform:skewX(-25deg);transition:left .5s}.title-menu a:hover:after{left:140%}.hero-bottom{bottom:45px}.scene-label{display:none}.scene-picker{gap:18px}.scene-button{display:flex;align-items:baseline;gap:12px;padding:11px 3px;border:0;border-top:1px solid #bcc5e84d;min-width:120px;text-align:left}.scene-button small{font-size:11px}.scene-button>span{font:19px Georgia,serif}.scene-button.is-active{border-color:#afeefb;box-shadow:0 -7px 15px -14px #9ff0ff;color:#cefbff}.hero-credit{bottom:14px;font-size:9px}.vertical-note{position:absolute;right:5%;top:29%;writing-mode:vertical-rl;font-family:var(--serif);font-size:16px;letter-spacing:.4em;color:#c5dcfaaf}.atmosphere{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:-1}.hero-pointer-light{position:absolute;inset:0;pointer-events:none;z-index:-1;background:radial-gradient(circle at var(--pointer-x,65%) var(--pointer-y,45%),#7faeff1a,transparent 32%)}.light-ribbon{position:absolute;z-index:-1;top:24%;left:25%;width:85%;height:1px;background:linear-gradient(90deg,transparent,#b6f0ff88,transparent);transform:rotate(-32deg);box-shadow:0 0 40px 5px #a9a0ff1a;animation:ribbon-drift 12s ease-in-out infinite alternate;pointer-events:none}.chapter-bridge{display:flex;justify-content:center;align-items:center;gap:45px;padding:30px 5%;color:#a7bad9;font:13px Georgia,var(--serif);border-block:1px solid #94b9e328;background:linear-gradient(90deg,#0b0e21,#1e2040,#0b0e21)}.chapter-bridge i{height:4px;width:4px;background:#98b6dd;transform:rotate(45deg)}
[data-tilt]{transform:perspective(1100px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg));transition:transform .25s ease-out}.device-scene{position:relative}.device-scene:before{content:"";position:absolute;inset:-10% 0;background:radial-gradient(ellipse,#7166e02a,transparent 68%);filter:blur(20px);pointer-events:none}.vita-photo{animation:device-hover 7s ease-in-out infinite}.port-details{border:1px solid #9cb2e433;padding:28px;background:linear-gradient(115deg,#14233a,#191a36);box-shadow:0 20px 60px #0002;border-radius:8px}.gallery-image{border:1px solid #a1bee43d;border-radius:5px;box-shadow:0 10px 30px #0004}.gallery-image:after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent,#dcf7ff0d,transparent);background-position:var(--shine-x,50%);pointer-events:none}.gallery-item:hover .gallery-image{border-color:#a4e8ff9c;box-shadow:0 0 28px #80baff20}.history-section{background:radial-gradient(ellipse at 0% 40%,#29204e6b,transparent 55%),#0a1020;position:relative}.history-range{font-size:30px;color:#b5d5ff}.history-date strong{color:#bbcaff}.history-entry:before{background:linear-gradient(#afd8ff77,#8f80d94d)}.history-entry:after{box-shadow:0 0 14px #a3caff66}.history-evidence{transition:transform .25s,box-shadow .25s;border-radius:4px;transform:rotate(1deg)}.history-entry:nth-child(even) .history-evidence{transform:rotate(-1deg)}.history-evidence:hover{transform:rotate(0) scale(1.025);box-shadow:0 10px 35px #0005}.history-milestone h3{color:#e7e9f8}.project-end{position:relative;min-height:230px;isolation:isolate;overflow:hidden}.end-mark{position:absolute;font-family:var(--serif);font-size:clamp(70px,12vw,150px);color:#9baff510;white-space:nowrap;z-index:-1;bottom:30px;left:0}.project-end p{font-size:21px}.project-end a{padding:13px 22px;border:1px solid #a1caef66;background:#25345366}.motion-reveal{opacity:0;transform:translateY(30px);transition:opacity .75s ease var(--reveal-delay,0ms),transform .75s cubic-bezier(.2,.7,.2,1) var(--reveal-delay,0ms)}.motion-reveal.motion-visible{opacity:1;transform:translateY(0)}.gallery-item.motion-visible{transform:perspective(1100px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg))}.motion-paused *,.motion-paused *:before,.motion-paused *:after{animation-play-state:paused!important}.motion-paused .motion-reveal{opacity:1;transform:none}.motion-paused .hero-art,.motion-paused [data-tilt]{transform:none!important}
@keyframes cinema-drift{from{transform:scale(1)}to{transform:scale(1.07)}}@keyframes device-hover{0%,100%{translate:0 0}50%{translate:0 -10px}}@keyframes ribbon-drift{from{opacity:.25;translate:0 -40px}to{opacity:.8;translate:0 60px}}@keyframes signal-glow{0%,100%{opacity:.5}50%{opacity:1;box-shadow:0 0 18px #aaf1ff}}
@media(max-width:1000px){.hero h1{font-size:90px}.title-menu{max-width:540px}.scene-button{min-width:100px}.port-details{padding:25px}}
@media(max-width:760px){.hero{height:860px;min-height:860px}.hero-art{transform:scale(1.04)}.hero-image{object-position:67% 18%}.hero-image:nth-child(2){object-position:65% 25%}.hero-image:nth-child(3){object-position:57% 40%}.hero-shade{background:linear-gradient(0deg,#0b0e21 0%,#0b0e21ed 25%,#0b0e2166 58%,#0b0e210d 85%,#0b0e2166)}.hero-content{bottom:180px}.hero h1{font-size:clamp(44px,11.5vw,78px)}.hero-preface{font-size:10px}.hero-english{font-size:11px;letter-spacing:.1em}.hero-lead{font-size:17px;margin-top:20px}.title-menu{grid-template-columns:1fr 1fr;gap:10px;max-width:340px;font-size:12px;margin-top:22px}.title-menu a{padding:11px 15px}.vertical-note{top:130px;right:7%;font-size:12px}.hero-bottom{bottom:40px;gap:18px}.scene-picker{width:100%;gap:14px}.scene-button{min-width:0;flex:1;gap:7px}.scene-button small{font-size:9px}.scene-button>span{font-size:16px}.chapter-bridge{gap:14px;padding:23px 5%;font-size:10px}.port-details{padding:8px 20px 22px}.history-range{font-size:25px}.project-end{min-height:210px;justify-content:center;gap:20px}.project-end p{font-size:17px}.motion-toggle{right:12px;bottom:12px;font-size:10px;padding:7px 12px}.motion-reveal{transform:translateY(18px)}.atmosphere{opacity:.75}}
@media(prefers-reduced-motion:reduce){.hero-image,.light-ribbon,.vita-photo,.signal-dot{animation:none}.hero-art,[data-tilt]{transform:none!important}.motion-reveal{opacity:1;transform:none}.history-evidence:hover{transform:none}}

/* Language selection is shared across exhibitions without reloading the page. */
.language-toggle{flex-shrink:0;border:1px solid #a9c7ed70;border-radius:3px;padding:8px 12px;background:#10172dcc;color:#e1f1ff;font:12px/1.4 "Segoe UI",sans-serif;cursor:pointer;min-height:38px}
.language-toggle:hover{background:#2a3b5b}.language-toggle:focus-visible{outline:2px solid #b4eaf0;outline-offset:4px}
html[lang="en"]{--serif:Georgia,"Times New Roman",serif}

.music-player{position:fixed;left:18px;bottom:18px;z-index:44;max-width:calc(100vw - 170px)}
.music-toggle{display:flex;align-items:center;gap:12px;border:1px solid #aac7f554;border-radius:8px;padding:10px 16px;background:#10172ded;backdrop-filter:blur(12px);color:#dce8ff;text-align:left;min-height:52px}
.music-toggle:hover{border-color:#b4eaf0}.music-label{display:block;font-size:12px;line-height:1.5}.music-toggle small{display:block;color:#a7bad9;font-size:9px;line-height:1.5}
.music-bars{display:flex;align-items:center;gap:3px;height:23px}.music-bars i{width:2px;height:5px;background:#b4eaf0;transform-origin:center}
.music-toggle.is-playing .music-bars i{animation:music-wave 1s ease-in-out infinite alternate}.music-bars i:nth-child(2){animation-delay:-.7s!important}.music-bars i:nth-child(3){animation-delay:-.3s!important}.music-bars i:nth-child(4){animation-delay:-.5s!important}
#music-status{font-size:11px;color:#efd0a7;max-width:230px;background:#10172d}#music-status:empty{display:none}
@keyframes music-wave{from{transform:scaleY(1)}to{transform:scaleY(4)}}
.motion-paused .music-bars i{animation:none!important}.music-toggle.is-playing .music-bars i:nth-child(even){height:12px}
html[lang="en"] .hero h1{font-size:clamp(48px,6.5vw,88px);white-space:normal;max-width:780px;line-height:1.08;letter-spacing:-.035em}
html[lang="en"] .hero-english{display:none}html[lang="en"] .hero-lead{letter-spacing:0}html[lang="en"] .brand>span{max-width:210px;font-size:17px;line-height:1.25;letter-spacing:0}
html[lang="en"] .desktop-nav{gap:18px}html[lang="en"] .title-menu{max-width:650px}html[lang="en"] .chapter-bridge{gap:22px}html[lang="en"] .end-mark{max-width:220px;line-height:1.2}html[lang="en"] .history-phase{font-size:24px}
.site-footer{padding-bottom:100px}
@media(min-width:761px) and (max-width:1100px){.site-header{gap:14px;padding-inline:3%}.desktop-nav{gap:16px}.header-github span{display:none}html[lang="en"] .brand>span{max-width:145px;font-size:15px}html[lang="en"] .desktop-nav{gap:12px;font-size:11px}}
@media(max-width:760px){.site-header{gap:12px}.language-toggle{margin-left:auto}.site-header .header-github{display:none}html[lang="en"] .brand>span{max-width:155px;font-size:14px}.music-player{left:12px;bottom:12px}.music-toggle{padding:8px 11px;gap:9px}.music-label{font-size:11px}html[lang="en"] .hero h1{font-size:clamp(40px,10vw,68px);max-width:94%}html[lang="en"] .title-menu{max-width:340px}html[lang="en"] .title-menu a{padding:11px 10px}html[lang="en"] .chapter-bridge{gap:10px;font-size:9px}html[lang="en"] .chapter-bridge span:first-child{max-width:120px}html[lang="en"] .scene-button{align-items:flex-start}html[lang="en"] .scene-button small{line-height:1.4}}
@media(prefers-reduced-motion:reduce){.music-bars i{animation:none!important}}
