*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--bg:#060608;--fg:#f0ede8;--muted:#f0ede859;--accent:#b8a48a;--serif:"Cinzel", serif;--italic:"Cormorant Garamond", serif;--sans:"Syne", sans-serif;--body:"Space Grotesk", sans-serif;--ja-serif:"Noto Serif JP", serif;--ease:cubic-bezier(.16, 1, .3, 1)}html{background:var(--bg);color:var(--fg)}body{font-family:var(--body);-webkit-font-smoothing:antialiased;overflow:hidden}body.allow-scroll{overflow:hidden auto}button{cursor:pointer;color:inherit;font:inherit;background:0 0;border:none}.lang-string{display:none}body.lang-en .lang-string.en,body.lang-ja .lang-string.ja{display:block}button .lang-string.en,button .lang-string.ja{display:none}body.lang-en button .lang-string.en,body.lang-ja button .lang-string.ja{display:inline-block}body.lang-ja .intro-line,body.lang-ja .cp-question,body.lang-ja .gallery-sub,body.lang-ja .qt-big,body.lang-ja .life-block-desc,body.lang-ja .career-path-meta,body.lang-ja .career-reality-text,body.lang-ja .diss-question,body.lang-ja .diss-card-text{font-family:var(--ja-serif);letter-spacing:.05em;font-style:normal;line-height:1.8}body.lang-ja .intro-line--accent{font-size:clamp(2.5rem,6vw,7rem);font-weight:900}body.lang-ja .qt-big{font-size:clamp(2.5rem,5vw,5rem)}.grain{z-index:9998;pointer-events:none;opacity:.05;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 512 512' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.7' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");width:200%;height:200%;animation:.4s step-end infinite grainShift;position:fixed;inset:-50%}@keyframes grainShift{0%{transform:translate(0)}25%{transform:translate(-4%,3%)}50%{transform:translate(3%,-5%)}75%{transform:translate(-2%,4%)}}.act{visibility:hidden;opacity:0;width:100vw;height:100vh;transition:opacity 1.2s,visibility 1.2s;display:flex;position:fixed;inset:0}.act--active{visibility:visible;opacity:1}.act--lang{text-align:center;flex-direction:column;justify-content:center;align-items:center}.lang-title{font-family:var(--serif);letter-spacing:.1em;color:var(--accent);margin-bottom:3rem;font-size:2rem}.lang-options{align-items:center;gap:2rem;display:flex}.lang-btn{font-family:var(--body);text-transform:uppercase;letter-spacing:.15em;color:var(--muted);align-items:center;gap:.5rem;font-size:1rem;transition:color .3s;display:flex}.lang-btn:hover{color:var(--fg)}.lang-flag{filter:grayscale(.5);pointer-events:none;font-size:1.3rem;transition:filter .3s}.lang-btn:hover .lang-flag{filter:grayscale(0)}.lang-divider{color:#f0ede833}.act--intro{text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:2rem}.intro-lines{flex-direction:column;gap:.3em;display:flex}.intro-line{font-family:var(--italic);opacity:0;animation:lineReveal 1.4s var(--ease) forwards;font-size:clamp(2rem,5vw,5rem);font-style:italic;font-weight:300;line-height:1.15;transform:translateY(30px)}.intro-line--accent{font-family:var(--serif);color:var(--accent);letter-spacing:-.02em;font-size:clamp(3rem,8vw,9rem);font-style:normal;font-weight:900}@keyframes lineReveal{to{opacity:1;transform:translateY(0)}}.begin-btn{font-family:var(--body);text-transform:uppercase;letter-spacing:.2em;color:var(--muted);opacity:0;animation:lineReveal 1s var(--ease) forwards;flex-direction:column;align-items:center;gap:6px;margin-top:4rem;font-size:.78rem;transition:color .4s;display:flex}.begin-btn:hover{color:var(--fg)}.begin-line{background:var(--accent);width:40px;height:1px;transition:width .5s var(--ease)}.begin-btn:hover .begin-line{width:70px}.act--gallery{flex-direction:column;overflow:hidden}.hscroll{scrollbar-width:none;flex:1;overflow:auto hidden}.hscroll::-webkit-scrollbar{display:none}.hscroll-track{align-items:stretch;height:100vh;display:flex}.panel{flex-shrink:0;justify-content:center;align-items:center;width:100vw;height:100vh;display:flex;position:relative;overflow:hidden}.panel--text .panel-inner{text-align:center;padding:2rem}.gallery-title{flex-direction:column;gap:0;display:flex}.gt-line{font-family:var(--serif);letter-spacing:-.03em;text-transform:uppercase;font-size:clamp(4rem,12vw,13rem);font-weight:900;line-height:.88}.gt-line--italic{font-family:var(--italic);color:var(--accent);text-transform:none;letter-spacing:.02em;font-size:clamp(2.5rem,6vw,6rem);font-style:italic;font-weight:300}.gallery-sub{font-family:var(--italic);color:var(--muted);margin-top:2rem;font-size:1.15rem;font-style:italic;line-height:1.6}.panel--castle{width:100vw;padding:0}.castle-panel-layout{grid-template-columns:55% 45%;width:100%;height:100%;display:grid;position:relative}.cp-image-side{position:relative;overflow:hidden}.cp-image-side img{object-fit:cover;filter:brightness(.55)saturate(.7);width:100%;height:100%;transition:filter .6s}.panel--castle:hover .cp-image-side img{filter:brightness(.7)saturate(.85)}.cp-number{font-family:var(--sans);color:#0000;-webkit-text-stroke:1px #f0ede81f;pointer-events:none;font-size:12rem;font-weight:800;line-height:1;position:absolute;top:3rem;left:3rem}.cp-text-side{flex-direction:column;justify-content:center;padding:4rem 5rem 4rem 4rem;display:flex;position:relative}.cp-philosophy{font-family:var(--body);text-transform:uppercase;letter-spacing:.18em;color:var(--accent);margin-bottom:1rem;font-size:.68rem}.cp-name{font-family:var(--serif);text-transform:uppercase;letter-spacing:-.02em;margin-bottom:1.5rem;font-size:clamp(3rem,6vw,6rem);font-weight:900;line-height:.9}.cp-question{font-family:var(--italic);color:#f0ede8bf;max-width:500px;margin-bottom:2.5rem;font-size:clamp(1.2rem,2vw,1.8rem);font-style:italic;line-height:1.5}.cp-meta{gap:3rem;display:flex}.cp-meta-item{flex-direction:column;gap:.3rem;display:flex}.cp-meta-label{text-transform:uppercase;letter-spacing:.14em;color:var(--muted);font-size:.65rem}.cp-meta-value{font-family:var(--italic);font-size:1.2rem;font-style:italic}.cp-text-side:before{content:"";background:linear-gradient(#0000,#f0ede81f,#0000);width:1px;position:absolute;top:15%;bottom:15%;left:0}.panel--question .panel-inner{text-align:center;padding:2rem}.qt-small{font-family:var(--body);text-transform:uppercase;letter-spacing:.16em;color:var(--muted);margin-bottom:2rem;font-size:.78rem;display:block}.qt-big{font-family:var(--serif);text-transform:uppercase;font-size:clamp(3rem,7vw,7rem);font-weight:900;line-height:.92;display:block}.qt-big em{font-family:var(--italic);color:var(--accent);text-transform:none;font-size:.6em;font-style:italic;font-weight:300}.choose-btn{font-family:var(--body);text-transform:uppercase;letter-spacing:.14em;transition:all .5s var(--ease);border:1px solid #f0ede833;margin-top:3rem;padding:1rem 3rem;font-size:.82rem}.choose-btn:hover{background:var(--fg);color:var(--bg);border-color:var(--fg)}.scroll-hint{text-transform:uppercase;letter-spacing:.14em;color:var(--muted);z-index:10;align-items:center;gap:.5rem;font-size:.7rem;animation:2s ease-in-out infinite hintPulse;display:flex;position:fixed;bottom:2rem;right:3rem}@keyframes hintPulse{0%,to{opacity:.4}50%{opacity:1}}.act--choose{flex-wrap:wrap;align-items:stretch}.choose-grid{grid-template-rows:1fr 1fr;grid-template-columns:1fr 1fr;width:100vw;height:100vh;display:grid}.choose-card{cursor:pointer;border:1px solid #f0ede80f;position:relative;overflow:hidden}.choose-card img{object-fit:cover;filter:brightness(.3)saturate(.4)grayscale(.5);width:100%;height:100%;transition:all 1.2s var(--ease)}.choose-card:hover img{filter:brightness(.5)saturate(.8)grayscale(0);transform:scale(1.05)}.choose-overlay{text-align:center;z-index:2;flex-direction:column;justify-content:center;align-items:center;padding:2rem;display:flex;position:absolute;inset:0}.choose-philosophy{font-family:var(--body);text-transform:uppercase;letter-spacing:.2em;color:var(--accent);margin-bottom:.8rem;font-size:.65rem}.choose-name{font-family:var(--serif);text-transform:uppercase;transition:letter-spacing .6s var(--ease);font-size:clamp(2rem,4vw,4rem);font-weight:900;line-height:.9}.choose-card:hover .choose-name{letter-spacing:.08em}.choose-year{font-family:var(--italic);color:var(--muted);margin-top:.8rem;font-size:1rem;font-style:italic}.act--detail{min-height:100vh;padding-bottom:10vh;display:block;position:absolute;overflow:hidden auto}.back-btn{z-index:300;font-family:var(--body);text-transform:uppercase;letter-spacing:.14em;mix-blend-mode:difference;align-items:center;gap:.5rem;font-size:.72rem;transition:opacity .3s;display:flex;position:fixed;top:2.5rem;left:3rem}.back-btn:hover{opacity:.5}.dissolution-canvas{width:100vw;min-height:250vh;position:relative;overflow:hidden}.diss-bg{object-fit:cover;filter:brightness(.22)saturate(.5);z-index:-1;width:100vw;height:100vh;animation:20s ease-in-out infinite alternate slowDrift;position:fixed;inset:0}@keyframes slowDrift{0%{transform:scale(1.05)}to{transform:scale(1.12)translate(-1%,-.5%)}}.diss-elem{opacity:0;animation:dissReveal 1.6s var(--ease) forwards}@keyframes dissReveal{0%{opacity:0;filter:blur(16px);transform:translateY(20px)}to{opacity:1;filter:blur();transform:translateY(0)}}.diss-ghost-year{font-family:var(--sans);color:#0000;-webkit-text-stroke:1px #f0ede80f;pointer-events:none;-webkit-user-select:none;user-select:none;z-index:-1;font-size:clamp(10rem,35vw,45rem);font-weight:800;line-height:1;position:fixed}.diss-title{font-family:var(--serif);text-transform:uppercase;letter-spacing:-.03em;pointer-events:none;font-weight:900;line-height:.85;position:absolute}.diss-title--ghost{color:#0000;-webkit-text-stroke:1px #f0ede81a;mix-blend-mode:overlay}.diss-card{-webkit-backdrop-filter:blur(20px);background:#060608a6;border:1px solid #f0ede814;max-width:min(420px,90vw);padding:2.5rem;position:absolute}.diss-card-label{font-family:var(--body);text-transform:uppercase;letter-spacing:.18em;color:var(--accent);margin-bottom:1rem;font-size:.65rem}.diss-card-text{font-family:var(--italic);color:#f0ede8d1;font-size:1.15rem;font-style:italic;line-height:1.65}.life-block{border-left:2px solid var(--accent);background:#0006;width:500px;max-width:90vw;padding:2rem 3rem;position:absolute}.life-block-time{font-family:var(--sans);text-transform:uppercase;letter-spacing:.25em;color:var(--accent);margin-bottom:1rem;font-size:.85rem;font-weight:700}.life-block-desc{font-family:var(--body);color:var(--fg);font-size:1.1rem;line-height:1.7}.career-block{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-sizing:border-box;background:#060608cc;border:1px solid #f0ede81a;width:90vw;max-width:900px;padding:3rem;position:absolute}.career-title{font-family:var(--serif);text-transform:uppercase;letter-spacing:.05em;color:var(--accent);margin-bottom:2rem;font-size:clamp(2rem,4vw,3rem);font-weight:400}.career-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:2rem;margin-bottom:3rem;display:grid}.career-path{border-top:1px solid #f0ede833;padding-top:1.5rem}.career-path-role{font-family:var(--body);color:var(--fg);margin-bottom:.8rem;font-size:1.1rem;font-weight:500}.career-path-meta{font-family:var(--italic);color:var(--muted);font-size:1.1rem;line-height:1.5}.career-reality{border-left:4px solid var(--accent);background:#f0ede808;padding:2rem}.career-reality-label{font-family:var(--sans);text-transform:uppercase;letter-spacing:.2em;color:var(--accent);margin-bottom:.8rem;font-size:.75rem}.career-reality-text{font-family:var(--body);color:#f0ede8cc;font-size:1rem;line-height:1.6}.diss-philosophy{font-family:var(--sans);text-transform:uppercase;letter-spacing:.06em;color:#f0ede814;pointer-events:none;white-space:nowrap;font-weight:800;position:absolute}.diss-rule{background:linear-gradient(to right, transparent, var(--accent), transparent);pointer-events:none;opacity:.4;height:1px;position:absolute}.diss-question{font-family:var(--italic);color:#f0ede8cc;pointer-events:none;max-width:600px;font-size:clamp(1.2rem,2.5vw,2rem);font-style:italic;line-height:1.5;position:absolute}
