:root{--ink:#0c0c0e;--paper:#f1f1ee;--yellow:#f5c400;--red:#d7000f;--green:#00713d;--green-signal:#3ddc84;--gray:#8a8a85;--gray-dim:#6a6a66;--gray-soft:#9a9a94;--gray-ink:#5a5a55;--gray-warm:#77746c;--surface-0:#070709;--surface-1:#0c0c0e;--surface-2:#141416;--surface-3:#17171b;--surface-4:#1c1c21;--border-dark:#23242b;--border-dark-soft:#2c2c31;--bg-dark:var(--surface-0);--bg-light:var(--paper);--text-on-dark:#f1f1ee;--text-on-light:var(--ink);--accent:var(--yellow);--accent-text:var(--ink);--line-red:var(--red);--line-yellow:var(--yellow);--line-green:var(--green);--line-blue:#2e77c9;--line-magenta:#b13a8c;--status-ok:var(--green-signal);--status-live:var(--yellow);--font-display:"Unbounded",sans-serif;--font-body:"Manrope",sans-serif;--font-mono:"JetBrains Mono",monospace;--font-jp:"Noto Sans JP",sans-serif;--display:var(--font-display);--body:var(--font-body);--mono:var(--font-mono);--jp:var(--font-jp);--text-display-xl:clamp(42px,8vw,104px);--text-display-lg:56px;--text-display-md:44px;--text-display-sm:26px;--text-body:16px;--text-mono-label:11px;--text-mono-sm:10px;--tracking-label:.25em;--tracking-wide:.3em;--tracking-tight:-.02em;--space-1:6px;--space-2:10px;--space-3:14px;--space-4:18px;--space-5:24px;--space-6:34px;--space-7:40px;--space-8:60px;--line-w:3px;--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--radius-xl:16px;--shadow-card:0 40px 90px rgba(0,0,0,.6);--shadow-deep:0 60px 110px rgba(0,0,0,.75)}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--bg-dark);color:var(--text-on-dark);font-family:var(--body);overflow-x:hidden}a{color:var(--yellow);text-decoration:none}a:hover{color:var(--paper)}::selection{background:var(--yellow);color:var(--ink)}body:after{content:"";position:fixed;inset:0;z-index:300;pointer-events:none;background:repeating-linear-gradient(0deg,rgba(255,255,255,.025) 0 1px,transparent 1px 3px);mix-blend-mode:overlay}section{position:relative}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}@keyframes blink{0%,to{opacity:1}50%{opacity:.2}}@keyframes sway{0%,to{transform:rotate(-.7deg)}50%{transform:rotate(.7deg)}}@keyframes stripeMove{to{background-position:46px 0}}@keyframes hazMove{to{background-position:28.28px 0}}@keyframes exitGlow{0%,to{box-shadow:0 0 24px #00713d8c,inset 0 0 0 2px #ffffff40}50%{box-shadow:0 0 44px #00b45fcc,inset 0 0 0 2px #ffffff73}}@keyframes bob{0%,to{transform:translateY(0)}50%{transform:translateY(5px)}}.reveal{opacity:0;transform:translateY(46px);transition:opacity .9s cubic-bezier(.19,1,.22,1),transform .9s cubic-bezier(.19,1,.22,1)}.reveal.visible{opacity:1;transform:none}.reveal.d1{transition-delay:.08s}.reveal.d2{transition-delay:.16s}.reveal.d3{transition-delay:.24s}.rv0{opacity:0;transform:translateY(30px)}.rv1{opacity:1;transform:translateY(0);transition:opacity .95s cubic-bezier(.19,1,.22,1),transform .95s cubic-bezier(.19,1,.22,1)}footer{padding:26px calc(6vw + 90px);border-top:1px solid rgba(255,255,255,.12);display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;font-family:var(--mono);font-size:10px;letter-spacing:.2em;color:var(--gray);text-transform:uppercase}@media(max-width:920px){footer{padding-left:6vw}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}html{scroll-behavior:auto}.reveal{opacity:1;transform:none}.doors{display:none}.hanko{transform:rotate(8deg) scale(1);opacity:.9}}.doors{position:fixed;inset:0;z-index:400;display:flex;perspective:1500px}.doors.open{pointer-events:none}.doors.gone{display:none}.doors .veil{position:absolute;inset:0;background:radial-gradient(120% 85% at 50% 50%,#0b0b0e,#050506)}.doors.open .veil{animation:doorVeil .95s .28s cubic-bezier(.33,0,.2,1) forwards}.doors .seam{position:absolute;left:50%;top:0;bottom:0;width:13vw;transform:translate(-50%) scaleX(.05);opacity:0;pointer-events:none;filter:blur(7px);mix-blend-mode:screen;background:linear-gradient(90deg,transparent 0%,rgba(255,244,214,.05) 34%,rgba(255,249,232,.34) 47%,rgba(255,253,246,.6) 50%,rgba(255,249,232,.34) 53%,rgba(255,244,214,.05) 66%,transparent 100%)}.doors.open .seam{animation:doorSeam 1.15s cubic-bezier(.4,0,.25,1) forwards}.doors .panel{position:relative;width:50%;height:100%;overflow:hidden;flex:0 0 auto;will-change:transform;backface-visibility:hidden;background:linear-gradient(180deg,#141418,#0d0d11 42%,#08080b)}.doors .panel.right{width:calc(50% + 1px);margin-left:-1px}.doors .panel.left{transform-origin:0 50%;box-shadow:30px 0 70px #000000e6}.doors .panel.right{transform-origin:100% 50%;box-shadow:-30px 0 70px #000000e6}.doors .skin{position:absolute;inset:0;background:radial-gradient(130% 60% at 50% -12%,rgba(255,255,255,.08),transparent 62%),repeating-linear-gradient(90deg,rgba(255,255,255,.013) 0 1px,transparent 1px 4px),linear-gradient(180deg,transparent 0%,transparent 55%,rgba(0,0,0,.5) 100%)}.doors .skin:after{content:"";position:absolute;inset:0;opacity:.055;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='120' height='120' filter='url(%23n)'/%3E%3C/svg%3E");background-size:120px 120px}.doors .sweep{position:absolute;top:-25%;bottom:-25%;left:0;width:42%;background:linear-gradient(100deg,transparent 0%,rgba(255,255,255,.03) 34%,rgba(255,255,255,.085) 50%,rgba(255,255,255,.03) 66%,transparent 100%);animation:doorSweep 1.7s .05s cubic-bezier(.42,0,.25,1) both}.doors .panel.right .sweep{animation-delay:.24s}.doors .panel:before{content:"";position:absolute;top:0;bottom:0;width:14px;z-index:3;background:linear-gradient(90deg,transparent,rgba(255,255,255,.09))}.doors .panel:after{content:"";position:absolute;top:50%;width:1.5px;z-index:4;height:min(46vh,380px);transform:translateY(-50%);background:linear-gradient(180deg,transparent 0%,rgba(245,196,0,.42) 26%,rgba(245,196,0,.8) 50%,rgba(245,196,0,.42) 74%,transparent 100%)}.doors .panel.left:before{right:0}.doors .panel.left:after{right:0}.doors .panel.right:before{left:0;transform:scaleX(-1)}.doors .panel.right:after{left:0}.doors.open .panel:after{animation:doorHair .55s cubic-bezier(.4,0,.2,1) forwards}.doors .mark{position:absolute;top:50%;width:100vw;z-index:5;display:flex;align-items:center;transform:translate(-50%,-50%)}.doors .panel.left .mark{left:100%}.doors .panel.right .mark{left:1px}.doors .mark .l,.doors .mark .n{flex:1 1 0;min-width:0;white-space:nowrap}.doors .mark .l{text-align:right;padding-right:22px;font-family:var(--jp);font-weight:900;line-height:1;font-size:clamp(52px,7.4vw,96px);letter-spacing:-.03em;color:#f4f4f6;animation:markGlyph 1s cubic-bezier(.16,1,.3,1) backwards}.doors .mark .n{text-align:left;padding-left:22px;font-family:var(--mono);font-weight:700;font-size:clamp(11px,1.3vw,14px);letter-spacing:.42em;color:var(--yellow);animation:markCode 1.1s .1s cubic-bezier(.16,1,.3,1) backwards}.doors .mark .bar{flex:0 0 2px;width:2px}.doors.open .mark{animation:markOut .5s .5s cubic-bezier(.4,0,1,1) forwards}.doors .door-label{position:absolute;bottom:15%;width:100%;text-align:center;z-index:5;padding:0 18px;font-family:var(--mono);font-weight:500;font-size:10px;letter-spacing:.34em;color:#ffffff3d;animation:doorLabelIn .8s .25s cubic-bezier(.19,1,.22,1) backwards}.doors.open .door-label{animation:doorLabelOut .3s cubic-bezier(.4,0,1,1) forwards}.doors .rail{position:absolute;left:50%;top:calc(50% + clamp(62px,7.6vw,104px));transform:translate(-50%);z-index:6;overflow:hidden;width:min(180px,38vw);height:1px;background:#ffffff12}.doors .rail i{position:absolute;inset:0;transform-origin:0 50%;transform:scaleX(0);background:linear-gradient(90deg,#f5c4002e,#f5c400bf);animation:railFill var(--fill,.9s) cubic-bezier(.45,.05,.2,1) forwards}.doors.open .rail{animation:railOut .3s cubic-bezier(.4,0,1,1) forwards}.doors.open .panel.left{animation:doorOpenLeft 1.15s cubic-bezier(.58,0,.12,1) forwards}.doors.open .panel.right{animation:doorOpenRight 1.15s .04s cubic-bezier(.58,0,.12,1) forwards}@keyframes doorOpenLeft{0%{transform:translateZ(0) rotateY(0);animation-timing-function:cubic-bezier(.35,0,.6,1)}11%{transform:translate3d(.4%,0,0) rotateY(0)}to{transform:translate3d(-101%,0,-70px) rotateY(4deg)}}@keyframes doorOpenRight{0%{transform:translateZ(0) rotateY(0);animation-timing-function:cubic-bezier(.35,0,.6,1)}11%{transform:translate3d(-.4%,0,0) rotateY(0)}to{transform:translate3d(101%,0,-70px) rotateY(-4deg)}}@keyframes doorSweep{0%{transform:translate(-160%) skew(-14deg);opacity:0}22%{opacity:1}to{transform:translate(345%) skew(-14deg);opacity:0}}@keyframes doorSeam{0%{opacity:0;transform:translate(-50%) scaleX(.05)}11%{opacity:.95;transform:translate(-50%) scaleX(.2)}46%{opacity:.3;transform:translate(-50%) scaleX(.8)}to{opacity:0;transform:translate(-50%) scaleX(1.5)}}@keyframes doorHair{0%{opacity:.9;box-shadow:none}26%{opacity:1;box-shadow:0 0 26px 4px #f5c40073}to{opacity:0;box-shadow:0 0 40px 6px #f5c40000}}@keyframes doorVeil{0%{opacity:1}to{opacity:0}}@keyframes markGlyph{0%{opacity:0;transform:translateY(16px) scale(1.07);filter:blur(12px)}to{opacity:1;transform:none;filter:blur(0)}}@keyframes markCode{0%{opacity:0;letter-spacing:1.15em}to{opacity:1;letter-spacing:.42em}}@keyframes markOut{0%{opacity:1}to{opacity:0}}@keyframes railFill{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes railOut{0%{opacity:1}to{opacity:0;transform:translate(-50%) scaleY(.4)}}@keyframes doorLabelIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes doorLabelOut{0%{opacity:1}to{opacity:0;transform:translateY(-8px)}}.metro-nav{position:fixed;left:32px;top:50%;transform:translateY(-50%);z-index:100;display:flex;flex-direction:column}.metro-nav .rail{position:absolute;left:11px;top:12px;bottom:12px;width:var(--line-w);background:#ffffff2e}.metro-nav .rail-fill{position:absolute;left:0;top:0;width:100%;height:0%;background:var(--yellow);transition:height .15s linear}.station{display:flex;align-items:center;gap:14px;padding:34px 0;text-decoration:none;color:inherit;position:relative}.station .dot{width:25px;height:25px;border-radius:50%;border:var(--line-w) solid rgba(255,255,255,.35);background:var(--ink);display:flex;align-items:center;justify-content:center;font-family:var(--mono);font-size:9px;font-weight:700;color:#ffffff80;transition:all .3s;flex-shrink:0}.station .label{font-family:var(--mono);font-size:11px;letter-spacing:.15em;color:#fff6;text-transform:uppercase;transition:color .3s;white-space:nowrap}.station .label span{display:block;font-family:var(--jp);font-size:9px;color:#ffffff40}.station.active .dot{border-color:var(--yellow);color:var(--yellow);transform:scale(1.2);box-shadow:0 0 14px #f5c40080}.station.active .label{color:var(--paper)}.station:hover .label{color:var(--yellow)}.metro-nav.on-light .rail{background:#0c0c0e2e}.metro-nav.on-light .station .dot{border-color:#0c0c0e59}.metro-nav.on-light .station .label{color:#0c0c0e73}.metro-nav.on-light .station .label span{color:#0c0c0e4d}.metro-nav.on-light .station.active .label{color:var(--ink)}.train{position:absolute;left:5px;top:12px;width:15px;height:15px;background:var(--yellow);border-radius:50%;box-shadow:0 0 16px #f5c400b3;transition:top .15s linear;z-index:2}.topbar{position:fixed;top:0;left:0;right:0;z-index:99;display:flex;justify-content:space-between;align-items:center;padding:20px 40px;mix-blend-mode:difference}.topbar .logo{font-family:var(--display);font-weight:900;font-size:15px;letter-spacing:.05em;color:#fff;text-decoration:none}.topbar .logo em{font-style:normal;opacity:.5}.topbar .status{font-family:var(--mono);font-size:11px;letter-spacing:.2em;color:#fff;display:flex;align-items:center;gap:10px}.topbar .status:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--yellow);animation:blink 1.4s infinite}.topbar .nav-links{display:flex;align-items:center;gap:28px}.topbar .tb-left{display:flex;align-items:center;gap:clamp(14px,2vw,26px);min-width:0}.topbar .back-btn{display:inline-flex;align-items:center;gap:9px;flex-shrink:0;border:2px solid rgba(255,255,255,.45);border-radius:999px;padding:9px 16px;font-family:var(--mono);font-size:11px;letter-spacing:.18em;color:#fff;text-transform:uppercase;white-space:nowrap;transition:border-color .3s,background .3s,color .3s}.topbar .back-btn .arw{font-size:15px;line-height:1;transition:transform .3s}.topbar .back-btn:hover{border-color:#fff;background:#ffffff24;color:#fff}.topbar .back-btn:hover .arw{transform:translate(-3px)}.exit-sign{position:fixed;right:24px;bottom:24px;z-index:150;background:var(--green);color:#fff;text-decoration:none;font-family:var(--jp);font-weight:900;font-size:15px;padding:12px 18px;border-radius:8px;display:flex;align-items:center;gap:10px;box-shadow:0 0 24px #00713d8c,inset 0 0 0 2px #ffffff40;animation:exitGlow 2.4s infinite;transition:transform .3s}.exit-sign small{font-family:var(--mono);font-weight:700;font-size:9px;letter-spacing:.2em;opacity:.85}.exit-sign:hover{transform:scale(1.06);color:#fff}.cookie-bar{position:fixed;left:24px;bottom:24px;z-index:180;width:min(420px,calc(100vw - 48px));background:#0e0f13;border:2px solid var(--border-dark);border-radius:var(--radius-lg);padding:18px 20px 16px;display:flex;flex-direction:column;gap:14px;box-shadow:0 30px 70px #0000008c,inset 0 0 40px #ffffff05;transform:translateY(calc(100% + 40px));opacity:0;transition:transform .55s cubic-bezier(.19,1,.22,1),opacity .4s}.cookie-bar.open{transform:none;opacity:1}.cookie-bar:before{content:"";position:absolute;left:0;right:0;top:0;height:4px;border-radius:var(--radius-lg) var(--radius-lg) 0 0;background:repeating-linear-gradient(45deg,var(--yellow) 0 12px,var(--ink) 12px 24px)}.cb-head{display:flex;justify-content:space-between;align-items:center;gap:12px;border-bottom:2px solid var(--yellow);padding-bottom:10px;font-family:var(--display);font-weight:900;font-size:12px;text-transform:uppercase;letter-spacing:.18em;color:var(--paper)}.cb-head .jp{font-family:var(--jp);font-weight:900;letter-spacing:.08em;color:var(--yellow)}.cb-text{font-family:var(--body);font-size:13px;line-height:1.55;color:#b4b4ae}.cb-actions{display:flex;flex-wrap:wrap;gap:10px}.cb-btn{flex:1 1 auto;display:flex;align-items:center;justify-content:center;gap:8px;border-radius:8px;padding:12px 16px;cursor:pointer;font-family:var(--display);font-weight:900;font-size:11px;text-transform:uppercase;letter-spacing:.08em;transition:transform .25s,box-shadow .25s,background .3s,color .3s,border-color .3s}.cb-btn .jp{font-family:var(--jp)}.cb-accept{background:var(--yellow);color:var(--ink);border:none}.cb-accept:hover{transform:translateY(-2px);box-shadow:0 10px 26px #f5c40059}.cb-ghost{background:transparent;color:var(--gray-soft);border:1px solid rgba(255,255,255,.28)}.cb-ghost:hover{color:var(--paper);border-color:var(--paper)}.cookie-settings{background:none;border:none;padding:0;cursor:pointer;color:inherit;font:inherit;letter-spacing:inherit;text-transform:inherit}.cookie-settings:hover{color:var(--yellow)}.mobile-progress{position:fixed;top:0;left:0;height:4px;width:0%;background:var(--yellow);z-index:200;display:none}@media(max-width:920px){.doors .door-label{font-size:9px;letter-spacing:.22em;line-height:2;padding:0 12px}.doors .mark .l{padding-right:14px}.doors .mark .n{padding-left:14px;font-size:10px}.metro-nav{display:none}.mobile-progress{display:block}.exit-sign{right:14px;bottom:14px;font-size:13px;padding:10px 14px}.cookie-bar{left:14px;right:14px;bottom:14px;width:auto;padding:16px 16px 14px}.cb-actions{flex-direction:column}body.cookie-bar-open .exit-sign{transform:translateY(calc(-1 * (var(--cookie-bar-h,220px) + 12px)))}body.cookie-bar-open .exit-sign:hover{transform:translateY(calc(-1 * (var(--cookie-bar-h,220px) + 12px))) scale(1.06)}}
