@font-face{font-family:ZaiInter;src:url('./fonts/Inter-Regular.woff2') format('woff2');font-style:normal;font-weight:400;font-display:swap}@font-face{font-family:ZaiInter;src:url('./fonts/Inter-Bold.woff2') format('woff2');font-style:normal;font-weight:700;font-display:swap}
:root{--paper:#eee9dc;--paper-deep:#e3ddcf;--ink:#211f1a;--muted:#746e62;--faint:#c9c1b1;--blue:#a87328;--blue-light:#c3a160;--display:Didot,"Bodoni 72","Bodoni MT","Hoefler Text","Times New Roman","YuMincho","Yu Mincho",serif;--serif:var(--display);--sans:ZaiInter,Inter,"Helvetica Neue",Arial,"Hiragino Kaku Gothic ProN",sans-serif;--mono:"SFMono-Regular",Consolas,monospace}
html[data-theme="dark"]{--paper:#171714;--paper-deep:#1f1e19;--ink:#e7e0d1;--muted:#9e9688;--faint:#36342e;--blue:#deb971;--blue-light:#9f7a3d}
*{box-sizing:border-box}[hidden]{display:none!important}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.6}button,input,textarea{font:inherit;color:inherit}a{color:inherit}.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}.skip-link{position:fixed;z-index:100;top:-70px;left:18px;padding:10px 14px;background:var(--ink);color:var(--paper)}.skip-link:focus{top:15px}::selection{background:var(--blue);color:#fff}
.floating-brand{position:fixed;z-index:30;top:27px;left:clamp(20px,4vw,60px);font:italic 700 1.25rem var(--serif);letter-spacing:-.04em;text-decoration:none}.floating-brand .brand-z{color:var(--blue);font-size:1.55em}.brand-domain{font-size:.82em;letter-spacing:-.02em}.cinematic-home>.floating-brand{opacity:0;transform:translateY(-8px);transition:opacity .5s ease,transform .5s ease}.cinematic-home.cinema-past-intro>.floating-brand{opacity:1;transform:none}.scroll-indicator{position:fixed;z-index:20;right:clamp(18px,3vw,45px);bottom:28px;display:flex;align-items:center;gap:12px;color:var(--muted);font:9px var(--mono);letter-spacing:.1em;writing-mode:vertical-rl;transition:opacity .4s}.scroll-indicator i{width:1px;height:52px;background:var(--faint);position:relative;overflow:hidden}.scroll-indicator b{position:absolute;top:-40%;left:0;width:1px;height:40%;background:var(--ink);animation:scroll-line 2.3s ease-in-out infinite}@keyframes scroll-line{to{top:110%}}
.language-switch{position:fixed;z-index:31;top:28px;right:clamp(20px,4vw,60px);display:flex;align-items:center;gap:4px;padding:3px;border:1px solid color-mix(in srgb,var(--ink) 18%,transparent);background:color-mix(in srgb,var(--paper) 78%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);cursor:pointer}.language-switch span{min-width:28px;padding:4px 6px;color:var(--muted);font:8px var(--mono);letter-spacing:.08em;text-align:center;transition:background .2s,color .2s}.language-switch span.active{background:var(--ink);color:var(--paper)}.language-switch.compact{position:static}
.cinematic-story{height:650vh;position:relative}.cinematic-stage{height:100svh;min-height:620px;position:sticky;top:0;overflow:hidden;background:radial-gradient(circle at 50% 46%,color-mix(in srgb,var(--paper) 85%,white) 0,var(--paper) 62%,var(--paper-deep) 100%)}.cinematic-stage:after{content:"";position:absolute;inset:0;pointer-events:none;opacity:.15;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.32'/%3E%3C/svg%3E");mix-blend-mode:multiply}.plate-number{position:absolute;z-index:5;top:32px;left:50%;transform:translateX(-50%);width:min(420px,45vw);display:flex;justify-content:space-between;border-bottom:1px solid var(--faint);padding-bottom:8px;color:var(--muted);font:9px var(--mono);letter-spacing:.13em}.ornament{position:absolute;z-index:4;left:50%;transform:translateX(-50%);color:var(--muted);font-size:12px}.ornament-top{top:58px}.ornament-bottom{bottom:28px}
.engine-figure{position:absolute;z-index:1;inset:0;margin:0;display:grid;place-items:center;transform-origin:50% 52%;will-change:transform,opacity}.engine-figure img{width:min(88vw,1350px);height:auto;display:block;filter:sepia(.18) contrast(1.04);mix-blend-mode:multiply;opacity:.92}.engine-overlay{position:absolute;width:min(72vw,1030px);height:auto;overflow:visible}.orbit-line{fill:none;stroke:var(--blue-light);stroke-width:.8;stroke-dasharray:4 9;transform-origin:500px 330px;opacity:.35}.orbit-a{animation:orbit 50s linear infinite}.orbit-b{animation:orbit 32s linear infinite reverse}.energy-line{fill:none;stroke:var(--blue);stroke-width:1.5;stroke-linecap:round;stroke-dasharray:100;stroke-dashoffset:100}.traveller{fill:var(--blue);filter:drop-shadow(0 0 5px var(--blue));offset-path:path("M52 345 C180 345 212 400 320 355 S430 230 500 330 S650 410 718 350 S850 335 950 335");offset-rotate:0deg;opacity:0}@keyframes orbit{to{transform:rotate(360deg)}}
.cinema-copy{position:absolute;z-index:6;inset:0;pointer-events:none}.cinema-copy:before{content:"";position:absolute;z-index:0;inset:0;opacity:0;background:color-mix(in srgb,var(--paper) 7%,transparent);-webkit-backdrop-filter:blur(3.5px);backdrop-filter:blur(3.5px);transition:opacity .65s ease;pointer-events:none}.cinematic-stage.scrolled .cinema-copy:before{opacity:1}.cinema-scene{position:absolute;z-index:1;inset:0;padding:clamp(85px,10vh,120px) clamp(25px,7vw,110px);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;opacity:0;transform:translateY(30px);transition:opacity .5s ease,transform .75s cubic-bezier(.22,1,.36,1);pointer-events:none}.cinema-scene.active{opacity:1;transform:none;pointer-events:auto}.scene-label{margin-bottom:25px;color:var(--blue);font:10px var(--mono);letter-spacing:.16em}.cinema-scene h1,.cinema-scene h2{margin:0;font-size:clamp(4.5rem,10vw,10rem);font-weight:400;line-height:.78;letter-spacing:-.065em;text-shadow:0 1px var(--paper)}.cinema-scene h2{font-size:clamp(3.15rem,6.6vw,6.75rem);line-height:.88}.cinema-scene em{font-weight:400;color:var(--blue);font-style:italic}.cinema-scene p{max-width:min(560px,100%);margin:34px 0 0;padding:19px 24px;color:var(--muted);border:1px solid color-mix(in srgb,var(--blue) 48%,var(--faint));background:color-mix(in srgb,var(--paper) 95%,transparent);box-shadow:inset 0 0 0 4px color-mix(in srgb,var(--paper) 96%,transparent),inset 0 0 0 5px color-mix(in srgb,var(--faint) 68%,transparent),0 8px 28px color-mix(in srgb,var(--ink) 7%,transparent);-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);font-family:var(--display);font-size:clamp(1.02rem,1.35vw,1.16rem);font-style:italic;letter-spacing:.012em;line-height:1.65;text-shadow:none}.cinema-scene p:before,.cinema-scene p:after{content:"◇";position:absolute;left:50%;padding:0 9px;transform:translateX(-50%);background:var(--paper);color:var(--blue);font:8px/1 var(--mono);letter-spacing:0}.cinema-scene p:before{top:-4px}.cinema-scene p:after{bottom:-4px}.cinema-scene.scene-left{align-items:flex-start;text-align:left;padding-right:52vw}.cinema-scene.scene-right{align-items:flex-end;text-align:right;padding-left:52vw}.final-scene{background:transparent;backdrop-filter:none}.final-scene>a{margin-top:34px;display:inline-flex;gap:55px;border-bottom:1px solid var(--ink);padding-bottom:7px;font:10px var(--mono);letter-spacing:.08em;text-decoration:none;pointer-events:auto}.cinema-progress{position:absolute;z-index:9;left:0;bottom:0;width:100%;height:2px;background:var(--faint)}.cinema-progress i{display:block;width:100%;height:100%;background:var(--blue);transform:scaleX(0);transform-origin:left}
.hero-wordmark{font-size:clamp(7rem,20vw,20rem)!important;line-height:.64!important;letter-spacing:-.075em!important;font-style:italic;text-shadow:0 2px var(--paper)!important}.hero-wordmark .brand-z{display:inline-block;color:var(--blue);font-size:1.52em;line-height:.66;vertical-align:baseline}.hero-wordmark .brand-domain{font-size:.82em;letter-spacing:-.025em}.hero-tagline{margin-top:clamp(30px,5vh,52px);font:italic 400 clamp(1rem,1.5vw,1.35rem)/1.2 var(--display);letter-spacing:.045em;color:var(--muted);text-shadow:0 1px 10px var(--paper)}.hero-tagline em{color:var(--blue)}
.index-section{min-height:100svh;padding:130px clamp(22px,7vw,110px) 100px;background:var(--ink);color:var(--paper)}.index-header{max-width:1450px;margin:0 auto 90px;display:grid;grid-template-columns:1fr .45fr;gap:60px;align-items:end}.index-header>div>span{font:10px var(--mono);letter-spacing:.14em;color:var(--blue-light)}.index-header h2{margin:18px 0 0;font-size:clamp(4rem,9vw,9rem);line-height:.8;font-weight:400;letter-spacing:-.07em;font-style:italic}.index-header p{margin:0;color:color-mix(in srgb,var(--paper) 58%,transparent);font-size:1.05rem}.index-grid{max-width:1450px;margin:0 auto;border-top:1px solid color-mix(in srgb,var(--paper) 18%,transparent)}.index-entry{width:100%;min-height:150px;padding:28px 12px;display:grid;grid-template-columns:80px 1fr auto;gap:30px;align-items:center;border:0;border-bottom:1px solid color-mix(in srgb,var(--paper) 18%,transparent);background:transparent;color:inherit;text-align:left;text-decoration:none;cursor:pointer;transition:padding .25s,background .25s}.index-entry:hover{padding-left:28px;background:color-mix(in srgb,var(--paper) 5%,transparent)}.index-entry.passive{cursor:default}.index-entry.passive:hover{padding-left:12px;background:transparent}.entry-number,.index-entry small,.index-entry b{font:9px var(--mono);letter-spacing:.1em;color:color-mix(in srgb,var(--paper) 50%,transparent)}.index-entry h3{margin:5px 0;font-size:clamp(2rem,4vw,4rem);font-weight:400;line-height:1;font-style:italic}.index-entry p{margin:0;color:color-mix(in srgb,var(--paper) 58%,transparent);font-size:.95rem}.index-entry b{font-weight:400;color:var(--blue-light)}
.cinema-footer{min-height:160px;padding:35px clamp(22px,5vw,70px);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;background:var(--ink);color:color-mix(in srgb,var(--paper) 58%,transparent);border-top:1px solid color-mix(in srgb,var(--paper) 18%,transparent);font:9px var(--mono);letter-spacing:.05em}.cinema-footer .floating-brand{position:static;color:var(--paper);font-family:var(--serif);font-size:1.1rem}.cinema-footer p{text-align:center}.cinema-footer>a:last-child{justify-self:end;text-decoration:none}
dialog{padding:0;border:0;background:transparent;color:var(--ink)}dialog::backdrop{background:rgba(20,18,14,.68);backdrop-filter:blur(7px)}.tool-dialog{width:min(900px,calc(100% - 24px))}.tool-window{border:1px solid var(--muted);background:var(--paper);box-shadow:0 40px 120px rgba(20,18,14,.4)}.dialog-head{min-height:70px;padding:0 20px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--faint)}.dialog-head>div{display:flex;align-items:center;gap:13px}.dialog-head strong,.dialog-head small{display:block}.dialog-head strong{font-size:1.2rem;font-style:italic}.dialog-head small{color:var(--muted);font:9px var(--mono)}.dialog-head>button{border:0;background:none;color:var(--muted);font-size:26px;cursor:pointer}.product-icon{width:32px;height:32px;display:grid;place-items:center;border:1px solid var(--faint);font-style:italic}#text-input{width:100%;min-height:280px;padding:25px;display:block;resize:vertical;border:0;outline:0;background:color-mix(in srgb,var(--paper) 72%,white);color:var(--ink);font:15px/1.75 var(--mono)}.metrics{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--faint)}.metrics div{padding:16px 20px;border-right:1px solid var(--faint)}.metrics div:last-child{border:0}.metrics span{display:block;color:var(--muted);font:9px var(--mono)}.metrics strong{font:22px var(--serif);font-weight:400}.tool-actions{display:flex;gap:8px;padding:13px;border-top:1px solid var(--faint);overflow:auto}.tool-actions button{min-height:36px;padding:0 11px;white-space:nowrap;border:1px solid var(--faint);background:transparent;cursor:pointer;font:9px var(--mono)}.toast{position:fixed;z-index:50;left:50%;bottom:20px;transform:translate(-50%,15px);padding:9px 14px;background:var(--ink);color:var(--paper);opacity:0;font:10px var(--mono);transition:.2s}.toast.show{opacity:1;transform:translate(-50%,0)}
/* About page */
.site-header{height:70px;padding:0 clamp(20px,4vw,60px);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;position:sticky;top:0;z-index:20;border-bottom:1px solid var(--faint);background:color-mix(in srgb,var(--paper) 90%,transparent);backdrop-filter:blur(15px)}.brand{display:inline-flex;align-items:center;gap:10px;width:max-content;text-decoration:none;font-style:italic;font-weight:700}.brand-icon{width:30px;height:30px;display:grid;place-items:center;border:1px solid var(--faint);color:var(--blue)}.site-header nav{display:flex;gap:30px}.site-header nav a{color:var(--muted);font:10px var(--mono);text-decoration:none}.site-header nav a.active{color:var(--ink)}.header-actions{justify-self:end;display:flex;align-items:center;gap:8px}.back-link{color:var(--muted);font:10px var(--mono);text-decoration:none}.icon-button{height:36px;min-width:38px;border:1px solid var(--faint);background:transparent;cursor:pointer}.icon-button svg{width:17px;fill:none;stroke:currentColor;stroke-width:1.5}.about-main{max-width:1400px;margin:0 auto;padding:120px clamp(22px,6vw,90px)}.section-kicker{display:block;margin-bottom:32px;color:var(--blue);font:10px var(--mono);letter-spacing:.12em}.about-brand{min-height:620px}.about-brand h1{margin:0;font-size:clamp(4.7rem,10vw,10rem);line-height:.78;letter-spacing:-.07em;font-weight:400;font-style:italic}.about-intro{max-width:760px;margin:70px 0 0 auto;display:grid;grid-template-columns:1fr 1fr;gap:45px;color:var(--muted)}.about-intro p{margin:0}.maker-section{display:grid;grid-template-columns:230px 1fr;padding-top:95px;border-top:1px solid var(--faint)}.maker-label{display:flex;flex-direction:column;justify-content:space-between}.maker-code{color:var(--muted);font:9px var(--mono)}.maker-content h2{margin:0;font-size:clamp(3.5rem,7vw,7rem);line-height:1;letter-spacing:-.06em;font-weight:400;font-style:italic}.maker-role{margin:14px 0 55px;color:var(--blue);font:10px var(--mono)}.maker-copy{max-width:800px;display:grid;grid-template-columns:1fr 1fr;gap:45px;color:var(--muted)}.maker-copy p{margin:0}.maker-social{margin-top:70px;display:flex;align-items:center;gap:20px}.maker-social .section-kicker{margin:0}.instagram-button{width:44px;height:44px;display:grid;place-items:center;border:1px solid var(--faint);color:var(--ink);text-decoration:none;transition:border-color .2s,color .2s,transform .2s}.instagram-button:hover{border-color:var(--blue);color:var(--blue);transform:translateY(-2px)}.instagram-button:focus-visible{outline:2px solid var(--blue);outline-offset:3px}.instagram-button svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.5}.instagram-button .instagram-dot{fill:currentColor;stroke:none}
.site-footer{min-height:110px;padding:28px clamp(20px,4vw,60px);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;border-top:1px solid var(--faint);color:var(--muted);font:9px var(--mono)}.site-footer>span{text-align:center}.site-footer>div{justify-self:end;display:flex;gap:24px}.site-footer a{text-decoration:none}
@media(max-width:900px){.cinema-scene.scene-left,.cinema-scene.scene-right{align-items:center;text-align:center;padding-left:8vw;padding-right:8vw}.engine-figure img{width:130vw;max-width:none}.engine-overlay{width:110vw}.index-header{grid-template-columns:1fr}.index-grid .index-entry{grid-template-columns:50px 1fr}.index-entry>b{grid-column:2}.site-header{grid-template-columns:1fr auto}.site-header nav{display:none}.about-brand{min-height:auto;padding-bottom:100px}.maker-section{grid-template-columns:1fr;gap:40px}.maker-label{flex-direction:row}}
@media(max-width:620px){.floating-brand{top:17px;left:18px}.language-switch{top:18px;right:18px}.scroll-indicator{right:14px;bottom:17px}.plate-number{top:20px;width:55vw}.ornament-top{top:44px}.cinematic-story{height:570vh}.cinematic-stage{min-height:540px}.cinema-scene{padding:70px 24px}.cinema-scene h1{font-size:clamp(3.6rem,18vw,6.5rem)}.cinema-scene h2{font-size:clamp(2.85rem,13vw,5.1rem);line-height:.92}.cinema-scene p{font-size:.95rem;margin-top:22px;padding:12px 14px}.engine-figure img{width:175vw}.engine-overlay{width:150vw}.index-section{padding:100px 18px 70px}.index-header{margin-bottom:60px}.index-header h2{font-size:4.6rem}.index-entry{grid-template-columns:35px 1fr!important;gap:10px;padding:24px 0}.index-entry:hover{padding-left:0}.index-entry h3{font-size:2.4rem}.cinema-footer{grid-template-columns:1fr;gap:22px;text-align:left}.cinema-footer p{text-align:left}.cinema-footer>a:last-child{justify-self:start}.metrics{grid-template-columns:1fr 1fr}.metrics div:nth-child(2){border-right:0}.metrics div:nth-child(-n+2){border-bottom:1px solid var(--faint)}.site-header{height:62px;padding:0 16px}.site-header .language-switch{top:auto;right:auto}.back-link{display:none}.about-main{padding:80px 18px}.about-brand h1{font-size:4rem}.about-intro,.maker-copy{grid-template-columns:1fr;gap:24px}.maker-content h2{font-size:3.6rem}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}.cinematic-story{height:auto}.cinematic-stage{height:auto;min-height:100svh;position:relative}.cinema-scene:not(:first-child){display:none}.engine-figure{opacity:.35!important;transform:none!important}.energy-line{stroke-dashoffset:0!important}.cinema-progress,.scroll-indicator{display:none}}

/* Editorial refinement */
.floating-brand,.cinema-scene h1,.cinema-scene h2,.index-header h2,.index-entry h3,.about-brand h1,.maker-content h2,.dialog-head strong{font-family:var(--display)}
.plate-number{z-index:7;opacity:0;transition:opacity .4s ease}.plate-number.visible{opacity:1}
.cinema-scene>*{position:relative;z-index:1}
.cinema-scene h1,.cinema-scene h2{letter-spacing:-.035em}.cinema-scene p{font-family:var(--display);font-size:clamp(1.02rem,1.25vw,1.14rem);line-height:1.65}.index-header p,.index-entry p,.about-intro,.maker-copy{font-family:var(--sans)}
html[lang="ja"] .cinema-scene h1,html[lang="ja"] .cinema-scene h2,html[lang="ja"] .index-header h2,html[lang="ja"] .index-entry h3,html[lang="ja"] .about-brand h1,html[lang="ja"] .maker-content h2,html[lang="ja"] .dialog-head strong{font-family:var(--sans);font-style:normal;letter-spacing:-.045em}html[lang="ja"] .cinema-scene .hero-wordmark{font-family:var(--display);font-style:italic;letter-spacing:-.075em}html[lang="ja"] .cinema-scene em{font-style:normal}html[lang="ja"] .hero-tagline em{font-style:italic}html[lang="ja"] .cinema-scene p{font-family:var(--sans);font-style:normal;letter-spacing:0}html[lang="ja"] .cinema-scene p,html[lang="ja"] .about-intro,html[lang="ja"] .maker-copy{line-height:1.9}
@media(max-width:620px){.cinema-scene h1,.cinema-scene h2{letter-spacing:-.025em}}

/* Japanese headline scale */
html[lang="ja"] .cinema-scene h2{font-size:clamp(1.9rem,3.2vw,4rem);line-height:1.08}
html[lang="ja"] .index-header h2{font-size:clamp(3.2rem,7vw,7.2rem);line-height:.96}
html[lang="ja"] .about-brand h1{font-size:clamp(3.4rem,7vw,7.5rem);line-height:.96}
@media(max-width:900px){html[lang="ja"] .cinema-scene h2{font-size:clamp(2.1rem,5.2vw,3.4rem)}}
@media(max-width:620px){html[lang="ja"] .cinema-scene h2{font-size:clamp(1.35rem,6.8vw,2.3rem);line-height:1.16;letter-spacing:-.035em;white-space:nowrap}html[lang="ja"] .index-header h2{font-size:clamp(2rem,9.5vw,2.8rem);line-height:1.08;letter-spacing:-.04em;white-space:nowrap}html[lang="ja"] .about-brand h1{font-size:clamp(1.85rem,8.3vw,2.35rem);line-height:1.12;letter-spacing:-.035em;white-space:nowrap}}

/* Figure annotation refinement */
.cinema-scene p{padding:18px 4px 16px;border:0;border-bottom:1px solid color-mix(in srgb,var(--blue) 36%,var(--faint));background:transparent;color:color-mix(in srgb,var(--ink) 76%,var(--muted));box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}.cinema-scene p:before{content:"OBSERVATION";top:-6px;left:0;padding:0;transform:none;background:transparent;color:var(--blue);font:7px/1 var(--mono);letter-spacing:.16em}.cinema-scene p:after{content:"";top:0;right:0;bottom:auto;left:108px;width:auto;height:1px;padding:0;transform:none;background:color-mix(in srgb,var(--blue) 64%,var(--faint))}
.about-brand h1{font-style:normal;line-height:.85;letter-spacing:-.055em}.about-brand h1 em{color:var(--blue);font-style:italic}.maker-content h2{font-style:normal;letter-spacing:-.045em}html[lang="ja"] .about-brand h1 em{font-style:normal}
@media(max-width:620px){.cinema-scene p{padding:16px 2px 14px}}
