/* KOROSHINUSHI — original, dependency-free web design */
:root{--ink:#0b0b0e;--ink-2:#111014;--paper:#e9e4db;--muted:#a09b98;--dim:#747074;--red:#b72939;--red-light:#e15860;--line:rgba(223,209,199,.18);--serif:'Yu Mincho','Hiragino Mincho ProN','Noto Serif CJK JP',Georgia,serif;--sans:-apple-system,BlinkMacSystemFont,'Hiragino Kaku Gothic ProN','Yu Gothic','Noto Sans CJK JP',sans-serif;--roman:Georgia,'Times New Roman',serif;--page-pad:clamp(24px,6.4vw,112px)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--ink);color:var(--paper);font-family:var(--sans);font-size:14px;font-weight:400;line-height:1.8;overflow-x:hidden;-webkit-font-smoothing:antialiased}body.dialog-open{overflow:hidden}body:has(dialog[open]){overflow:hidden}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer;border:0;border-radius:0;background:none}button:disabled{cursor:wait}img,svg{max-width:100%;display:block}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:500}button,a,summary{-webkit-tap-highlight-color:transparent}button,a,summary{touch-action:manipulation}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--red-light);outline-offset:7px}::selection{background:#9b2336;color:#fff}button::-moz-focus-inner{border:0}summary{cursor:pointer;list-style:none}summary::-webkit-details-marker{display:none}summary::marker{content:''}.red{color:var(--red-light)}.mobile-only{display:none}.micro-label,.eyebrow{font:11px/1.5 var(--roman);letter-spacing:.19em}.micro-label{color:var(--muted)}.red-dot{display:inline-block;width:5px;height:5px;background:var(--red-light);transform:rotate(45deg);margin-right:10px;box-shadow:0 0 14px #b52c4470}.section-shell{padding-left:var(--page-pad);padding-right:var(--page-pad)}.skip-link{position:fixed;left:16px;top:-100px;padding:12px 22px;background:#ece5dd;color:#111;z-index:110;font-weight:600}.skip-link:focus{top:16px}#atmosphere{position:fixed;inset:0;width:100%;height:100%;z-index:6;pointer-events:none;opacity:.65}.read-progress{position:fixed;top:0;left:0;right:0;height:2px;background:transparent;z-index:65;pointer-events:none}.read-progress i{display:block;height:100%;background:linear-gradient(90deg,#671421,#cd4250);width:100%;transform:scaleX(0);transform-origin:left center}.site-header{position:absolute;z-index:40;top:0;left:0;width:100%;height:114px;display:flex;align-items:center;gap:32px;padding:0 clamp(24px,3.4vw,58px);border-bottom:1px solid rgba(255,255,255,.05);transition:background .4s}.site-header.is-scrolled{position:fixed;height:83px;background:rgba(10,9,12,.93);border-bottom:1px solid var(--line);animation:header-enter .3s ease-out}.brand{width:144px;flex:none;display:block}.brand img{width:100%;height:auto}.brand span{font:7px/1 var(--roman);letter-spacing:.5em;display:block;text-align:center;margin-top:3px;padding-left:4px}.desktop-nav{display:flex;gap:clamp(28px,3vw,58px);align-items:center;margin-left:auto}.desktop-nav a{position:relative;padding:12px 0;display:grid;justify-items:center;gap:2px}.desktop-nav a>span{font:11px/1.4 var(--roman);letter-spacing:.17em}.desktop-nav a small{font-size:9px;letter-spacing:.18em;color:#a6a09f}.desktop-nav a:after{content:'';position:absolute;height:1px;bottom:2px;left:0;right:0;background:var(--red-light);transform:scaleX(0);transform-origin:left;transition:transform .3s}.desktop-nav a:hover:after,.desktop-nav a[aria-current="location"]:after{transform:scaleX(1)}.header-tools{display:flex;align-items:center;gap:28px;margin-left:20px}.sound-toggle{display:flex;align-items:center;gap:10px;padding:14px 0;font:9px/1.4 var(--roman);letter-spacing:.14em;white-space:nowrap}.sound-toggle b{font-weight:400;color:#bbb0aa}.sound-bars{height:17px;display:flex;align-items:center;gap:3px}.sound-bars i{display:block;width:1px;height:3px;background:#bbaaa7;transition:height .3s}.sound-bars i:nth-child(2){height:9px}.sound-bars i:nth-child(3){height:14px}.sound-bars i:nth-child(4){height:6px}.sound-toggle[aria-pressed="true"] .sound-bars i{animation:sound-wave .8s alternate infinite;background:var(--red-light)}.sound-toggle[aria-pressed="true"] .sound-bars i:nth-child(2){animation-delay:.3s}.sound-toggle[aria-pressed="true"] .sound-bars i:nth-child(3){animation-delay:.5s}.sound-toggle[aria-pressed="true"] .sound-bars i:nth-child(4){animation-delay:.2s}.menu-button{width:39px;height:44px;display:flex;flex-direction:column;justify-content:center;gap:7px;padding:5px}.menu-button span{height:1px;background:#c5b9b3;width:29px;display:block;transition:width .25s}.menu-button span:last-child{width:20px;align-self:flex-end}.menu-button:hover span:last-child{width:29px}.chapter-rail{position:fixed;z-index:20;right:21px;top:50%;transform:translateY(-42%);display:flex;flex-direction:column;align-items:flex-end;gap:12px}.rail-title{font:8px/1 var(--roman);letter-spacing:.23em;writing-mode:vertical-rl;display:block;margin:0 4px 20px;color:#aaa}.chapter-rail a{display:flex;gap:9px;align-items:center;min-height:20px;padding-left:18px}.chapter-rail a span{font:9px/1 var(--roman);color:#807579;opacity:0;transform:translateX(4px);transition:.3s}.chapter-rail a i{height:1px;width:9px;background:#73696b;transition:.3s}.chapter-rail a.is-current i{width:23px;background:var(--red-light)}.chapter-rail a.is-current span,.chapter-rail a:hover span{opacity:1;transform:none}.chapter-rail a.is-current span{color:#ddd0c8}
/* First view: the artwork is a genuine image layer, not a flattened page. */
.hero{position:relative;isolation:isolate;height:100svh;min-height:830px;max-height:1320px;overflow:hidden;background:#0c0b0f}.hero-art{position:absolute;right:-3%;top:0;width:83%;height:100%;will-change:transform;transform:translate3d(var(--pointer-x,0px),var(--pointer-y,0px),0);transform-origin:75% 45%}.hero-art picture,.hero-art img{width:100%;height:100%;display:block}.hero-art img{object-fit:cover;object-position:54% 24%;filter:saturate(.84) contrast(1.025)}.hero-vignette{position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,#0b0b0e 0%,rgba(11,11,14,.97) 11%,rgba(11,11,14,.8) 26%,rgba(11,11,14,.35) 42%,transparent 66%),linear-gradient(0deg,#0b0b0e 0%,rgba(11,11,14,.35) 18%,transparent 40%,rgba(11,11,14,.1) 84%,rgba(11,11,14,.42) 100%)}.hero-fog{position:absolute;z-index:2;width:125%;left:-20%;height:38%;bottom:3%;pointer-events:none;filter:blur(30px);opacity:.2;background:radial-gradient(ellipse at 45% 65%,#7a55577d,transparent 56%);animation:mist-drift 27s ease-in-out infinite alternate}.fog-two{width:90%;left:35%;bottom:35%;height:28%;opacity:.12;animation-delay:-15s;animation-duration:35s}.hero-rule{position:absolute;top:190px;bottom:160px;width:1px;left:calc(var(--page-pad) - 27px);background:linear-gradient(transparent,rgba(215,197,190,.22),transparent);z-index:3}.hero-content{position:relative;z-index:3;margin-left:var(--page-pad);width:clamp(420px,37vw,650px);padding-top:clamp(171px,23vh,275px)}.hero-content .eyebrow{color:#c5b3ad;font-size:10px;letter-spacing:.2em;margin-bottom:27px}.hero-copy{font-family:var(--serif);font-size:clamp(31px,2.9vw,52px);line-height:1.9;letter-spacing:.14em;margin-bottom:19px;text-shadow:0 2px 20px #000}.hero-copy>span{display:block}.hero-title{width:100%;max-width:570px}.hero-title img{width:100%;height:auto}.hero-title>span{display:block;font:11px/1 var(--roman);letter-spacing:.72em;padding-left:.6em;text-align:center;margin-top:10px;color:#e4dad1}.hero-sub{font-family:var(--serif);font-size:14px;line-height:2;letter-spacing:.15em;color:#c1b4b0;margin-top:28px}.hero-actions{display:flex;align-items:center;gap:26px;margin-top:30px}.line-button{display:flex;align-items:center;justify-content:space-between;gap:24px;border-top:1px solid #a498925e;border-bottom:1px solid #a498925e;position:relative;padding:14px 0;min-width:190px;transition:border-color .3s}.line-button span{font-family:var(--serif);font-size:16px;letter-spacing:.15em;line-height:1.5}.line-button small{display:block;font:8px/1.5 var(--roman);letter-spacing:.2em;color:#948784;margin-top:5px}.line-button .arrow{font-size:22px;font-style:normal;color:#d4b8af;transition:transform .3s}.line-button:hover{border-color:var(--red-light)}.line-button:hover .arrow{transform:translate(3px,-3px)}.film-open{display:flex;align-items:center;gap:12px;text-align:left;padding:12px 0}.film-open>span:last-child{font-size:11px;letter-spacing:.04em;line-height:1.6;white-space:nowrap;color:#d4c6bd}.film-open small{display:block;font:7px/1.5 var(--roman);letter-spacing:.12em;color:#968785;margin-top:5px}.play-mark{display:grid;place-items:center;flex:none;width:37px;height:37px;border:1px solid #9375758a;border-radius:50%;font-size:16px;padding-left:2px;color:#ddd1c9;transition:background .3s,border-color .3s}.film-open:hover .play-mark{background:#8f23335c;border-color:var(--red-light)}.hero-side{position:absolute;right:76px;top:190px;z-index:2;writing-mode:vertical-rl;display:flex;gap:45px;font:9px/1 var(--roman);letter-spacing:.3em;color:#ccbab19c}.hero-bottom{position:absolute;left:var(--page-pad);right:var(--page-pad);bottom:28px;display:flex;align-items:center;justify-content:space-between;gap:30px;z-index:3;border-top:1px solid rgba(210,190,182,.2);padding-top:24px}.project-status{display:flex;gap:19px;align-items:center;letter-spacing:.08em;font-size:11px;color:#ccc0b8}.status-label{font:9px/1 var(--roman);letter-spacing:.18em;color:#e46f74}.project-status i{display:block;width:1px;height:12px;background:#84726c}.status-note{font-size:10px;color:#a99c96}.scroll-cue{display:flex;align-items:center;gap:20px;font:9px/1 var(--roman);letter-spacing:.21em}.scroll-cue i{display:block;width:1px;height:30px;background:#c7b0a7;position:relative;overflow:hidden}.scroll-cue i:after{content:'';position:absolute;left:0;top:-100%;width:1px;height:100%;background:#0b0b0e;animation:scroll-line 2s ease infinite}.js .hero-in{opacity:0;transform:translateY(18px);filter:blur(3px)}.js.is-ready .hero-in{opacity:1;transform:none;filter:none;transition:opacity 1.1s ease,transform 1.4s cubic-bezier(.2,.75,.2,1),filter 1.3s}.js.is-ready .hero-in:nth-child(1){transition-delay:.15s}.js.is-ready .hero-in:nth-child(2){transition-delay:.3s}.js.is-ready .hero-in:nth-child(3){transition-delay:.5s}.js.is-ready .hero-in:nth-child(4){transition-delay:.7s}.js.is-ready .hero-in:nth-child(5){transition-delay:.85s}.opening-slit{display:none}.js .opening-slit{position:fixed;inset:0;z-index:70;pointer-events:none;display:block;transform-origin:50% 50%;opacity:1;background:linear-gradient(164deg,transparent 49.88%,#c1334540 49.99%,#f2d9c699 50%,transparent 50.12%);transition:opacity 1s}.js .opening-slit:before,.js .opening-slit:after{content:'';position:absolute;inset:0;background:#0b0b0e;transition:clip-path 1.3s cubic-bezier(.65,.01,.15,1)}.js .opening-slit:before{clip-path:polygon(0 0,100% 0,100% 28%,0 72%)}.js .opening-slit:after{clip-path:polygon(0 72%,100% 28%,100% 100%,0 100%)}.js.is-ready .opening-slit:before{clip-path:polygon(0 0,100% 0,100% 0,0 0)}.js.is-ready .opening-slit:after{clip-path:polygon(0 100%,100% 100%,100% 100%,0 100%)}.js.is-ready .opening-slit{opacity:0;transition-delay:1s}
/* Chapter typography and in-view animation. */
.section-label{display:flex;align-items:center;gap:20px;position:relative;margin-bottom:68px}.section-number{font:43px/1 var(--roman);font-style:italic;color:var(--red);letter-spacing:-.04em}.section-label>span:nth-child(2){font:12px/1.5 var(--roman);letter-spacing:.2em;white-space:nowrap}.section-label small{display:block;font:10px/1.6 var(--sans);letter-spacing:.15em;color:#aaa09a;margin-top:5px}.section-label>i{height:1px;flex:1;margin-left:26px;background:linear-gradient(90deg,var(--line),transparent)}.section-intro{display:flex;align-items:flex-end;justify-content:space-between;gap:45px;margin-bottom:46px}.section-intro h2{font-family:var(--serif);font-size:clamp(29px,3.15vw,52px);letter-spacing:.09em;line-height:1.6}.section-intro p{font-family:var(--serif);font-size:13px;line-height:2.1;letter-spacing:.09em;color:#afa6a0}.js .reveal{opacity:0;transform:translateY(28px);transition:opacity .9s ease,transform 1s cubic-bezier(.2,.75,.2,1)}.js .reveal.in-view{opacity:1;transform:none}.story{position:relative;overflow:hidden;padding-top:122px;padding-bottom:72px;background:radial-gradient(ellipse at 7% 62%,#54222a18,transparent 55%)}.story-layout{display:grid;grid-template-columns:1fr 1fr;gap:11%;max-width:1230px;margin:0 auto}.story-heading{position:relative}.story-heading .micro-label{margin:5px 0 26px}.story-heading h2{font-family:var(--serif);font-size:clamp(35px,4.3vw,71px);line-height:1.7;letter-spacing:.07em;position:relative;z-index:1}.story-heading h2 .red{color:#c23b49}.story-seal{height:235px;width:235px;border:1px solid #5b37393b;display:flex;align-items:center;justify-content:center;flex-direction:column;position:absolute;left:140px;bottom:10px;transform:rotate(-12deg);color:#8b363c4f;border-radius:50%}.story-seal:after{content:'';inset:12px;border:1px solid #6b333539;position:absolute;border-radius:50%}.story-seal>span{font-family:var(--serif);font-size:115px;line-height:1}.story-seal>i{height:3px;width:280px;background:#71232a78;position:absolute;transform:rotate(-23deg)}.story-seal>small{font:10px/1.4 var(--roman);letter-spacing:.3em;margin-top:16px}.story-text{padding-top:7px;font-family:var(--serif);font-size:15px;line-height:2.5;letter-spacing:.08em;color:#c8bfb7}.story-text p+p{margin-top:22px}.story-text strong{font-weight:500;color:#eee0d6}.story-ending{font-family:var(--serif);font-size:26px;color:#e4d9ce;display:flex;gap:16px;flex-wrap:wrap;line-height:1.8;margin-top:28px;padding-top:22px;border-top:1px solid var(--line)}.blade-divider{display:flex;align-items:center;gap:24px;margin-top:82px;font:8px/1 var(--roman);letter-spacing:.35em;color:#847978}.blade-divider i{height:1px;flex:1;background:linear-gradient(90deg,#59373a,#b9394666,#332126)}
/* Split portrait composition. */
.characters{position:relative;padding-top:75px;padding-bottom:110px}.duality{display:grid;grid-template-columns:1fr 1fr;gap:32px;position:relative}.character{position:relative;isolation:isolate;min-height:690px;background:#151015;overflow:hidden;border-top:1px solid #6e5c5a65;border-bottom:1px solid #6e5c5a65}.character:after{content:'';position:absolute;inset:0;z-index:0;background:linear-gradient(0deg,#0c0a0eee 0%,rgba(10,9,12,.56) 28%,transparent 64%),linear-gradient(90deg,#0b0b0e44,transparent 60%);pointer-events:none}.portrait{position:absolute;inset:0;z-index:-1}.portrait img{width:100%;height:100%;object-fit:cover;object-position:50% 32%;filter:saturate(.73);transition:transform 1.4s ease,filter 1.4s}.character:hover .portrait img{transform:scale(1.035);filter:saturate(.97)}.character-girl .portrait img{object-position:49% 34%}.character-man .portrait img{object-position:44% 20%}.character-vertical{position:absolute;top:32px;left:24px;writing-mode:vertical-rl;font:8px/1 var(--roman);letter-spacing:.28em;color:#cdbbb0ad;z-index:1}.character-info{position:relative;z-index:2;padding:340px 42px 28px;display:flex;flex-direction:column;min-height:690px}.character-info .micro-label{color:#d19697;font-size:9px;letter-spacing:.2em;margin-bottom:4px}.character-info h3{font-family:var(--serif);font-size:47px;letter-spacing:.15em;line-height:1.55}.character-lead{font-family:var(--serif);font-size:18px;line-height:1.8;letter-spacing:.11em;color:#ded0c6;margin-top:10px;margin-bottom:26px}.character-details{margin-top:auto}.character-details summary{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:13px 0;font-size:11px;letter-spacing:.15em;border-top:1px solid #96827b6e;color:#d5c4bc}.character-details summary i,.world-file summary i{width:11px;height:11px;position:relative;flex:none}.character-details summary i:before,.world-file summary i:before,.character-details summary i:after,.world-file summary i:after{content:'';background:#beaba4;position:absolute;left:0;top:5px;width:11px;height:1px;transition:transform .35s}.character-details summary i:after,.world-file summary i:after{transform:rotate(90deg)}details[open]>summary i:after{transform:rotate(0deg)}.character-details>div{padding:12px 0 2px;font-family:var(--sans);font-size:12px;line-height:2;letter-spacing:.02em;color:#d1c1b9}.character-details>div p+p{margin-top:10px}.duality-link{position:absolute;z-index:5;top:49%;left:50%;transform:translate(-50%,-50%);display:flex;align-items:center;gap:15px;pointer-events:none}.duality-link span{font:42px/1 var(--roman);color:#d0505c;display:grid;place-items:center;width:66px;height:66px;border:1px solid #81515770;border-radius:50%;background:#110d10d9}.duality-link i{width:40px;height:1px;background:#af444b96}.duality-caption{text-align:center;font-family:var(--serif);font-size:23px;letter-spacing:.2em;margin-top:38px;color:#a69a94}.duality-caption span{color:#e5d5cd}
/* Gothic-world archive. */
.world{position:relative;isolation:isolate;overflow:hidden;min-height:1020px;background:#0e0c0f}.world-art{position:absolute;inset:0 0 0 40%;z-index:-3;overflow:hidden}.world-art img{width:100%;height:100%;object-fit:cover;object-position:52% 30%;filter:saturate(.7) brightness(.7);transform:scale(1.06)}.world-shade{position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,#0b0b0e 7%,rgba(11,11,14,.92) 32%,rgba(11,11,14,.32) 72%,rgba(11,11,14,.08)),linear-gradient(0deg,#0b0b0e,transparent 25%,transparent 79%,#0b0b0e)}.world-content{padding-top:80px;padding-bottom:110px;position:relative;z-index:1}.world-heading{max-width:800px}.world-heading>.micro-label{font-size:9px;letter-spacing:.27em;margin-bottom:28px;color:#baaca4}.world-heading h2{font-family:var(--serif);font-size:clamp(36px,4.6vw,72px);line-height:1.65;letter-spacing:.065em}.world-heading>p:last-child{margin-top:27px;font-family:var(--serif);font-size:14px;line-height:2.3;letter-spacing:.07em;color:#c3b5ae}.world-files{max-width:660px;margin-top:55px}.files-heading{display:flex;gap:18px;align-items:center;margin-bottom:16px}.files-heading>span{font-size:12px;letter-spacing:.17em;color:#cec0b7}.files-heading>small{font:8px/1.3 var(--roman);letter-spacing:.19em;color:#a79791}.world-file{border-top:1px solid #87736d57}.world-file:last-child{border-bottom:1px solid #87736d57}.world-file summary{display:flex;align-items:center;gap:28px;padding:20px 2px;transition:background .3s}.world-file summary:hover{background:#73343a17}.file-id{font:17px/1.3 var(--roman);width:23px;text-align:center;color:#a43a44}.file-title{font-family:var(--serif);font-size:21px;letter-spacing:.17em;min-width:91px}.file-caption{font-size:11px;letter-spacing:.06em;color:#c1b2aa;flex:1}.world-file>div{padding:0 45px 21px 55px;font-size:12px;line-height:2.2;letter-spacing:.035em;color:#c5b8b1}.world-file[open] summary .file-title{color:#ebded1}
/* The defining interaction: one hand, two autonomous choices. */
.experience{padding-top:85px;padding-bottom:110px;background:radial-gradient(ellipse at 50% 70%,#3d161e42,transparent 70%)}.experience-heading{text-align:center;margin:0 auto 43px;max-width:850px}.experience-heading .micro-label{font-size:9px;letter-spacing:.28em;color:#c17b7f}.experience-heading h2{font-family:var(--serif);font-size:clamp(32px,4.5vw,70px);letter-spacing:.1em;line-height:1.65;margin-top:22px}.experience-heading>p:last-child{font-size:13px;line-height:2.15;letter-spacing:.1em;color:#b6aaa4;margin-top:20px}.interactive-demo{max-width:1120px;margin:0 auto;border-top:1px solid #79595765}.scene-switch{display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid #76585954}.scene-switch button{position:relative;padding:23px 30px;display:flex;align-items:center;gap:21px;text-align:left;transition:background .3s;min-height:82px}.scene-switch button:first-child{border-right:1px solid #76585954}.scene-switch button>span{font:9px/1 var(--roman);letter-spacing:.13em;color:#9e8785}.scene-switch button>strong{font-family:var(--serif);font-weight:500;font-size:17px;letter-spacing:.13em;color:#ab9b96}.scene-switch button>i{height:4px;width:4px;border:1px solid #877775;transform:rotate(45deg);margin-left:auto;flex:none}.scene-switch button:after{content:'';position:absolute;bottom:-1px;left:0;right:0;height:2px;background:#c84656;transform:scaleX(0);transition:transform .3s}.scene-switch button[aria-pressed="true"]{background:#62202c1f}.scene-switch button[aria-pressed="true"]>strong{color:#f3e1d5}.scene-switch button[aria-pressed="true"]>span{color:#da7f82}.scene-switch button[aria-pressed="true"]>i{background:#d14b59;border-color:#d14b59;box-shadow:0 0 16px #bc324a}.scene-switch button[aria-pressed="true"]:after{transform:scaleX(1)}.blade-stage{height:370px;position:relative;overflow:hidden;background:radial-gradient(ellipse at 60% 46%,#302029aa,transparent 60%),#101014;border-bottom:1px solid #6b4f5159;isolation:isolate}.stage-grid{position:absolute;inset:0;background-image:linear-gradient(#8970780a 1px,transparent 1px),linear-gradient(90deg,#8970780a 1px,transparent 1px);background-size:46px 46px;mask-image:radial-gradient(ellipse,black,transparent 80%)}.stage-orbit{position:absolute;width:340px;height:340px;border:1px solid #8c63692b;border-radius:50%;top:50%;left:65%;transform:translate(-50%,-50%)}.stage-orbit:after,.stage-orbit:before{content:'';position:absolute;border:1px dashed #8c63691c;border-radius:50%;inset:15px}.stage-orbit:after{inset:-21px;border-style:solid;border-color:#8c636911}.stage-readout{position:absolute;top:25px;left:28px;right:28px;display:flex;justify-content:space-between;font:8px/1.5 var(--roman);letter-spacing:.17em;color:#8a797a;z-index:4}.stage-readout b{font-weight:400;margin-left:10px;color:#dfabac}.stage-target{position:absolute;left:66%;top:81px;width:93px;height:203px;transform:perspective(600px) rotateY(-13deg);filter:drop-shadow(5px 5px 30px #000)}.target-top,.target-bottom{position:absolute;inset:0;border:1px solid #746367;transform-origin:center;background:linear-gradient(106deg,#18161d,#353038 49%,#1b1820 50%,#151219);transition:transform .7s ease,opacity .7s}.target-top{clip-path:polygon(0 0,100% 0,100% 46%,0 63%)}.target-bottom{clip-path:polygon(0 63%,100% 46%,100% 100%,0 100%)}.target-top i,.target-bottom i{position:absolute;inset:8px;border:1px solid #9a7a7f3a}.target-top span{position:absolute;width:25px;height:25px;left:32px;top:37px;transform:rotate(45deg);border:1px solid #8d777a7a}.target-top span:before,.target-top span:after{content:'';width:1px;height:18px;background:#ab848380;position:absolute;top:3px;left:11px}.target-top span:after{transform:rotate(90deg)}.animated-blade{position:absolute;width:81%;left:-18%;top:148px;transform:rotate(-16deg);transform-origin:19% 54%;filter:drop-shadow(0 4px 12px #000);transition:transform .6s cubic-bezier(.24,.88,.23,1),opacity .4s;opacity:.8;z-index:2}.animated-blade svg{width:100%;height:auto;overflow:visible}.barrier{position:absolute;left:64%;width:2px;top:47px;bottom:45px;background:linear-gradient(transparent,#ae3041,#f2918f,#9c2136,transparent);opacity:0;transform:scaleY(.1);transition:transform .35s,opacity .3s;box-shadow:0 0 30px #ec496950;z-index:3}.barrier i{height:1px;width:40px;position:absolute;background:#ffb2a7;top:50%;left:-20px}.cut-line{position:absolute;left:16%;right:9%;top:49%;height:1px;background:linear-gradient(90deg,transparent,#c74359,#ffe0ca,transparent);transform:rotate(-8deg) scaleX(0);transform-origin:20% 50%;opacity:0;z-index:5;box-shadow:0 0 12px #c535504f}.stage-verdict{position:absolute;left:18%;top:32%;font-family:var(--serif);font-size:57px;letter-spacing:.22em;color:#dd7b80;opacity:0;transform:translateY(8px);z-index:6;text-shadow:0 2px 22px #000}.stage-watermark{position:absolute;bottom:20px;left:28px;font:8px/1 var(--roman);letter-spacing:.3em;color:#78636a}.blade-stage[data-state="charging"] .animated-blade{transform:rotate(-25deg) translateX(-15px);opacity:1}.blade-stage[data-state="rejected"] .animated-blade{animation:blade-stop .65s ease both;opacity:1}.blade-stage[data-state="rejected"] .barrier{opacity:1;transform:scaleY(1)}.blade-stage[data-state="rejected"] .stage-verdict,.blade-stage[data-state="accepted"] .stage-verdict{opacity:1;transform:none;transition:opacity .6s .35s,transform .6s .35s}.blade-stage[data-state="accepted"] .animated-blade{transform:rotate(8deg) translateX(19%);opacity:.45}.blade-stage[data-state="accepted"] .target-top{transform:translate(17px,-10px) rotate(10deg);opacity:.6}.blade-stage[data-state="accepted"] .target-bottom{transform:translate(-10px,13px) rotate(-5deg);opacity:.8}.blade-stage[data-state="accepted"] .cut-line{animation:cut .85s ease both}.blade-stage[data-state="accepted"] .stage-verdict{color:#ded2c9}.demo-controls{display:flex;justify-content:space-between;align-items:center;gap:30px;padding:30px 30px 28px;background:#0c0b0e;min-height:139px;border-bottom:1px solid #6b4f5145}.demo-status .micro-label{display:block;color:#ac737d;font-size:8px;letter-spacing:.2em;margin-bottom:9px}.demo-status>p{font-family:var(--serif);font-size:18px;letter-spacing:.06em;line-height:1.8}.strike-button{position:relative;display:grid;grid-template-columns:20px 1fr 20px;align-items:center;column-gap:15px;padding:13px 19px;min-width:255px;border:1px solid #8d444d7a;background:linear-gradient(110deg,#45172480,#170e16);transition:background .3s,border-color .3s,box-shadow .3s;overflow:hidden}.strike-icon{grid-row:1/3;grid-column:1;font:43px/1 var(--roman);color:#cd515e}.strike-button>span:nth-child(2){grid-column:2;font-family:var(--serif);font-size:18px;letter-spacing:.12em;line-height:1.6}.strike-button>small{grid-column:2;font:7px/1.5 var(--roman);letter-spacing:.17em;color:#b48c8e;margin-top:2px}.strike-button>i{grid-row:1/3;grid-column:3;font-size:21px;font-style:normal}.strike-button:hover:not(:disabled){border-color:#d06670;box-shadow:0 0 24px #80273936;background:#48202a7a}.strike-button:disabled{opacity:.65}.demo-note{margin-top:14px;font-size:10px;color:#9f8f8a;letter-spacing:.035em}.demo-note summary{display:flex;align-items:center;gap:17px;width:max-content;max-width:100%;padding:8px 0}.demo-note summary span{color:#c4858a;font-size:13px}.demo-note p{max-width:820px;padding-top:7px;line-height:2.1;font-size:11px;color:#b5a59e}.noscript-note{padding:20px;background:#321823;color:#f4d4d9}
/* A promise of the story, not fabricated release announcements. */
.novel{position:relative;isolation:isolate;overflow:hidden;min-height:835px;border-top:1px solid #3b282e75;background:radial-gradient(ellipse at 50% 65%,#35172155,transparent 70%)}.novel-blade{position:absolute;inset:0;z-index:-2;opacity:.18;overflow:hidden}.novel-blade img{width:130%;max-width:none;height:100%;object-fit:cover;object-position:center;filter:saturate(.6) blur(2px);transform:rotate(-12deg) scale(1.1)}.novel-blade:after{content:'';position:absolute;inset:0;background:linear-gradient(#0b0b0e,transparent 40%,#0b0b0e 96%)}.novel-content{padding-top:80px;padding-bottom:68px}.novel-main{text-align:center;padding-top:20px}.novel-brand{width:330px;margin:0 auto 41px}.novel-brand img{width:100%;height:auto}.novel-brand>span{font:8px/1 var(--roman);letter-spacing:.58em;display:block;padding-left:.5em;margin-top:9px}.novel-main h2{font-family:var(--serif);font-size:clamp(30px,3.7vw,55px);line-height:1.8;letter-spacing:.1em}.novel-main>p{font-family:var(--serif);font-size:14px;line-height:2;letter-spacing:.1em;color:#c9b8b0;margin-top:25px}.novel-state{margin:28px auto 0;display:flex;align-items:center;justify-content:center;gap:13px}.novel-state .red-dot{margin-right:0}.novel-state>span{font-size:12px;letter-spacing:.12em}.novel-state>small{font:8px/1.4 var(--roman);letter-spacing:.18em;color:#a7767d;border-left:1px solid #78545688;padding-left:13px}.novel-main>p.release-note{font-family:var(--sans);font-size:10px;margin-top:13px;letter-spacing:.035em;color:#ab9a95}.closing-actions{display:flex;gap:70px;justify-content:center;align-items:center;margin-top:62px}.text-link{display:flex;gap:39px;align-items:center;font-size:11px;letter-spacing:.12em;border-bottom:1px solid #6d4b515e;padding:12px 0}.text-link>span{font-size:18px;color:#c1777f;transition:transform .3s}.text-link:hover>span{transform:translateY(-3px)}
/* Footer and controls */
.site-footer{position:relative;background:#09090b;padding:42px var(--page-pad) 38px;border-top:1px solid #533b423b}.footer-top{display:flex;align-items:center;gap:45px;border-bottom:1px solid #46343b57;padding-bottom:31px;margin-bottom:29px}.footer-brand{width:145px;flex:none}.footer-brand img{height:auto}.footer-top>p{font-family:var(--serif);font-size:15px;letter-spacing:.14em;color:#c2ada5}.back-top{margin-left:auto;border:1px solid #6c515657;width:42px;height:42px;display:grid;place-items:center;color:#c39296;transition:background .3s}.back-top:hover{background:#3d212d}.footer-bottom{display:flex;justify-content:space-between;align-items:flex-start;gap:30px}.credits>p:first-child{font-size:11px;letter-spacing:.05em;color:#b2a29e}.credits>p:first-child span{color:#d5c8c0}.fiction{font-size:9px;letter-spacing:.015em;margin-top:9px;color:#928581;line-height:1.8}.credits>small{font:8px/1.4 var(--roman);letter-spacing:.12em;display:block;color:#9a8b86;margin-top:12px}.footer-controls{display:flex;gap:24px;align-items:center;white-space:nowrap}.footer-controls button{font-size:10px;letter-spacing:.08em;color:#baa8a4;padding:3px 0}.footer-controls b{font:9px/1 var(--roman);color:#c7737d;margin-left:6px}.footer-controls button:hover{color:#f2e0d7}
/* Dialogs use native focus containment, Escape and keyboard navigation. */
dialog{padding:0;color:var(--paper);border:1px solid #73535c55;background:#100c11;max-width:calc(100vw - 40px);max-height:calc(100svh - 40px)}dialog::backdrop{background:rgba(4,3,7,.9)}.dialog-close{position:absolute;right:22px;top:14px;width:44px;height:44px;font:32px/1 var(--sans);font-weight:200;color:#e2c6bd;z-index:6}.dialog-close:hover{color:var(--red-light)}.menu-dialog{width:760px;background:radial-gradient(ellipse at 100% 100%,#44212f99,transparent 80%),#0d0b10}.menu-inner{padding:60px 75px}.menu-inner>.micro-label{margin-bottom:30px;color:#b7888d;font-size:9px}.menu-inner nav{display:flex;flex-direction:column}.menu-inner nav a{display:flex;align-items:center;gap:30px;padding:18px 0;border-bottom:1px solid #59424c5c}.menu-inner nav small{font:12px/1 var(--roman);color:#a14757}.menu-inner nav span{font-family:var(--serif);font-size:27px;letter-spacing:.15em;transition:color .3s}.menu-inner nav em{margin-left:auto;font:9px/1 var(--roman);letter-spacing:.12em;color:#a48c8f;white-space:nowrap}.menu-inner nav a:hover span{color:#e77781}.menu-copy{font-family:var(--serif);font-size:13px;letter-spacing:.14em;margin-top:40px;color:#af858b}.film-dialog{width:min(1200px,calc(100vw - 48px));aspect-ratio:16/9;overflow:hidden;background:#08070a}.film-visual{position:absolute;inset:0;overflow:hidden}.film-visual img{width:100%;height:100%;object-fit:cover;object-position:50% 33%;opacity:.63;filter:saturate(.65);transform:scale(1.02);transition:opacity .5s,transform 5s linear}.film-visual img.ken-burns{transform:scale(1.105)}.film-visual>div{position:absolute;inset:0;background:linear-gradient(0deg,#0b0910db,transparent 55%,#0b091099),linear-gradient(90deg,#0b0910bb,transparent 65%)}.film-label{position:absolute;left:38px;right:90px;top:31px;display:flex;justify-content:space-between;align-items:center;gap:20px;z-index:2}.film-label>.micro-label{color:#c6a7a6;font-size:9px}.film-label>span{font:9px/1 var(--roman);letter-spacing:.2em;color:#c0a09b}.film-type{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;padding:70px 30px;z-index:2}.film-type>p{font-family:var(--serif);font-size:clamp(27px,3.5vw,55px);line-height:1.8;letter-spacing:.12em;text-align:center;text-shadow:0 0 30px #000,0 0 50px #000}.film-type>small{font:9px/1.5 var(--roman);letter-spacing:.3em;margin-top:25px;color:#c09496}.film-bottom{position:absolute;bottom:47px;left:36px;right:36px;z-index:3;display:flex;gap:22px;align-items:center}.film-bottom>button{font-size:10px;letter-spacing:.07em;min-width:90px;text-align:left;padding:10px 0}.film-timeline{height:2px;background:#d6b5b033;flex:1}.film-timeline i{display:block;width:100%;height:2px;background:#c44257;transform:scaleX(0);transform-origin:left}.film-bottom>span{font:10px/1 var(--roman);letter-spacing:.1em;min-width:49px;color:#bf969d}.film-sound-note{position:absolute;bottom:19px;left:36px;font-size:9px;color:#b39198;letter-spacing:.035em;z-index:3}.text-dialog{padding:54px 45px 43px;width:660px}.text-dialog>.micro-label{color:#c0838d;font-size:9px;letter-spacing:.2em}.text-dialog>h2{font-family:var(--serif);font-size:26px;letter-spacing:.1em;margin-top:21px;margin-bottom:25px}.text-dialog>p:not(.micro-label){font-size:12px;line-height:2.2;color:#c7b7b1;margin-top:18px}.toast{position:fixed;bottom:28px;left:50%;transform:translate(-50%,15px);z-index:100;background:#251822;border:1px solid #a6506466;box-shadow:0 7px 35px #0009;padding:14px 25px;font-size:12px;color:#ead3d0;opacity:0;pointer-events:none;transition:opacity .25s,transform .25s;max-width:calc(100% - 32px);width:max-content;text-align:center}.toast.visible{opacity:1;transform:translate(-50%,0)}
/* Keyframes are soft; there are no full-screen flashes. */
@keyframes mist-drift{from{transform:translateX(-7%) scale(1)}to{transform:translateX(9%) scale(1.15)}}@keyframes sound-wave{from{transform:scaleY(.45)}to{transform:scaleY(1.1)}}@keyframes scroll-line{0%{top:-100%}60%,100%{top:100%}}@keyframes header-enter{from{transform:translateY(-100%)}to{transform:translateY(0)}}@keyframes blade-stop{0%{transform:rotate(-25deg) translateX(-15px)}65%{transform:rotate(0deg) translateX(3%)}82%{transform:rotate(-5deg)}100%{transform:rotate(-2deg)}}@keyframes cut{0%{transform:rotate(-8deg) scaleX(0);opacity:0}30%{transform:rotate(-8deg) scaleX(1);opacity:1}100%{transform:rotate(-8deg) scaleX(1.07);opacity:0}}
/* Tablet */
@media(min-width:1700px){.hero-art{width:79%;right:-2%}.hero-content{padding-top:clamp(230px,23vh,330px)}.hero-content .eyebrow{font-size:12px}.hero-sub{font-size:17px;margin-top:35px}.hero-actions{margin-top:35px}.hero-title{max-width:600px}.section-shell{padding-left:max(var(--page-pad),calc((100% - 1520px)/2));padding-right:max(var(--page-pad),calc((100% - 1520px)/2))}}
@media(max-width:1190px){.desktop-nav{gap:24px}.header-tools{gap:18px;margin-left:0}.brand{width:125px}.hero{min-height:820px}.hero-content{width:405px;padding-top:185px}.hero-copy{font-size:34px}.hero-actions{gap:19px}.line-button{min-width:167px}.line-button span{font-size:15px}.film-open>span:last-child{font-size:10px}.film-open small{font-size:6px}.hero-side{right:54px}.story-layout{gap:8%}.story-text{font-size:14px}.character{min-height:625px}.character-info{min-height:625px;padding:305px 30px 22px}.character-info h3{font-size:40px}.character-lead{font-size:17px}.character-vertical{left:17px;top:26px}.world{min-height:970px}.world-files{max-width:620px}.scene-switch button{padding:22px;gap:14px}.scene-switch button>strong{font-size:15px}.demo-status>p{font-size:16px}.demo-controls{padding:25px}.strike-button{min-width:230px}.chapter-rail{right:14px}}
@media(max-width:980px){.desktop-nav{display:none}.header-tools{margin-left:auto}.site-header{height:96px}.hero-content{width:390px;padding-top:181px}.hero-art{right:-23%;width:112%;opacity:.85}.hero-vignette{background:linear-gradient(90deg,#0b0b0e 0%,#0b0b0ee5 20%,#0b0b0e66 49%,transparent 78%),linear-gradient(0deg,#0b0b0e 0%,#0b0b0e20 35%,transparent 70%,#0b0b0e55 100%)}.hero-side{display:none}.hero-copy{font-size:33px}.hero-title{width:370px}.hero-sub{margin-top:27px}.project-status{gap:14px;font-size:10px}.status-note{display:none}.project-status i{display:none}.story{padding-top:90px}.section-label{margin-bottom:51px}.story-heading h2{font-size:43px}.story-text{font-size:13px;line-height:2.5}.story-text p+p{margin-top:18px}.story-seal{left:35px;bottom:20px;width:190px;height:190px}.story-seal>i{width:210px}.story-ending{font-size:22px;gap:5px}.section-intro h2{font-size:29px}.section-intro p{font-size:11px}.duality{gap:20px}.character{min-height:590px}.character-info{min-height:590px;padding:280px 26px 20px}.character-info h3{font-size:37px}.character-lead{font-size:16px}.duality-link{gap:7px}.duality-link span{width:50px;height:50px;font-size:32px}.duality-link i{width:21px}.world-heading h2{font-size:48px}.world-art{left:27%}.world-shade{background:linear-gradient(90deg,#0b0b0e 5%,#0b0b0ed9 30%,#0b0b0e4d 100%),linear-gradient(0deg,#0b0b0e,transparent 25%,transparent 70%,#0b0b0e)}.experience-heading h2{font-size:43px}.scene-switch button{gap:14px;flex-wrap:wrap;padding:20px;min-height:90px}.scene-switch button>span{font-size:8px}.scene-switch button>strong{font-size:14px}.blade-stage{height:330px}.stage-target{top:75px;height:180px;width:83px}.animated-blade{top:132px;width:87%;left:-24%}.stage-orbit{width:280px;height:280px}.demo-controls{gap:20px;padding:22px}.demo-status>p{font-size:14px}.strike-button{min-width:203px;padding:12px 14px;column-gap:10px}.strike-button>span:nth-child(2){font-size:16px}.footer-top{gap:26px}.footer-top>p{font-size:13px}.footer-bottom{flex-wrap:wrap}.film-dialog{aspect-ratio:4/3}}
/* Smartphone: portrait-led, with all text kept as readable HTML. */
@media(max-width:700px){:root{--page-pad:25px}html{scroll-padding-top:83px}.site-header{height:87px;padding:0 23px;gap:15px}.site-header.is-scrolled{height:73px}.brand{width:110px}.brand span{font-size:5.5px;margin-top:2px}.header-tools{gap:22px}.sound-toggle{font-size:8px;gap:8px}.sound-bars{gap:2px}.sound-bars i{height:3px}.sound-bars i:nth-child(2){height:7px}.sound-bars i:nth-child(3){height:11px}.menu-button{width:29px;padding:0}.menu-button span{width:27px}.menu-button span:last-child{width:18px}.chapter-rail{display:none}.hero{height:990px;min-height:0;max-height:none}.hero-art{top:48px;right:-30%;width:137%;height:690px;opacity:1;transform:none!important}.hero-art img{object-position:53% 15%;filter:saturate(.76)}.hero-vignette{background:linear-gradient(0deg,#0b0b0e 0%,#0b0b0e 15%,#0b0b0ee6 27%,#0b0b0e80 42%,transparent 65%,#0b0b0e26 89%,#0b0b0e8a 100%),linear-gradient(90deg,#0b0b0e88 0%,transparent 39%,#0b0b0e08 100%)}.hero-fog{height:32%;bottom:34%;filter:blur(25px);opacity:.18}.fog-two{bottom:55%}.hero-rule{display:none}.hero-content{width:auto;margin:0 25px;padding-top:444px;max-width:520px}.hero-content .eyebrow{font-size:8px;letter-spacing:.17em;margin-bottom:19px}.hero-copy{font-size:29px;letter-spacing:.12em;line-height:1.8;position:absolute;top:132px;left:3px;writing-mode:vertical-rl;text-shadow:0 0 20px #000,0 0 40px #000;margin:0;height:270px;display:flex;flex-direction:column;gap:9px}.hero-copy>span{display:inline-block;line-height:1.6}.hero-copy>span:last-child{padding-top:64px}.hero-title{width:100%;max-width:360px;margin:0}.hero-title>span{font-size:9px;letter-spacing:.65em;margin-top:8px}.hero-sub{font-size:14px;line-height:2;letter-spacing:.12em;margin-top:26px}.hero-actions{margin-top:25px;display:flex;gap:24px;justify-content:flex-start}.line-button{min-width:164px;padding:12px 0}.line-button span{font-size:15px}.line-button small{font-size:7px}.line-button .arrow{font-size:21px}.film-open{gap:9px}.film-open>span:last-child{font-size:10px;white-space:normal}.film-open small{font-size:6px;line-height:1.6;letter-spacing:.08em;max-width:93px}.play-mark{width:31px;height:31px;font-size:15px}.hero-bottom{bottom:30px;padding-top:20px;align-items:center;gap:10px}.project-status{display:flex;flex-direction:column;align-items:flex-start;gap:9px;font-size:10px;letter-spacing:.09em}.status-label{font-size:8px}.scroll-cue{gap:13px;font-size:8px}.scroll-cue i{height:33px}.section-label{gap:16px;margin-bottom:41px}.section-number{font-size:36px}.section-label>span:nth-child(2){font-size:10px}.section-label small{font-size:9px;letter-spacing:.1em}.section-label>i{margin-left:8px}.story{padding-top:72px;padding-bottom:45px}.story-layout{display:block}.story-heading .micro-label{font-size:8px;letter-spacing:.2em;margin-bottom:22px}.story-heading h2{font-size:clamp(36px,8.4vw,48px);line-height:1.65;letter-spacing:.07em}.story-seal{left:auto;right:-6px;bottom:-70px;width:152px;height:152px;opacity:.75}.story-seal>span{font-size:73px}.story-seal>small{font-size:7px;margin-top:10px}.story-seal>i{width:167px;height:2px}.story-text{position:relative;font-size:14px;line-height:2.35;letter-spacing:.04em;padding:0;margin-top:46px;z-index:1}.story-text p+p{margin-top:22px}.story-ending{font-size:23px;gap:8px;margin-top:30px;padding-top:25px;justify-content:flex-start}.blade-divider{margin-top:59px;gap:11px;font-size:6px;letter-spacing:.22em}.characters{padding-top:48px;padding-bottom:72px}.section-intro{display:block;margin-bottom:31px}.section-intro h2{font-size:30px;line-height:1.7;letter-spacing:.09em}.mobile-only{display:block}.section-intro p{font-size:12px;line-height:2;margin-top:18px;letter-spacing:.1em}.duality{display:flex;flex-direction:column;gap:23px}.character{min-height:645px}.character-info{padding:345px 28px 21px;min-height:645px}.portrait img{object-position:50% 22%}.character-man .portrait img{object-position:43% 24%}.character-girl .portrait img{object-position:49% 23%}.character-info h3{font-size:38px}.character-info .micro-label{font-size:8px}.character-lead{font-size:17px;line-height:1.9;margin-top:7px;margin-bottom:23px}.character-vertical{top:25px;left:18px;font-size:7px}.character-details summary{font-size:11px;padding:14px 0}.character-details>div{font-size:12px;line-height:2.1}.duality-link{top:50%;left:50%;flex-direction:column;gap:4px;display:none}.duality-caption{font-size:18px;letter-spacing:.11em;margin-top:31px}.world{min-height:0}.world-content{padding-top:55px;padding-bottom:75px}.world-art{inset:0 -23% 0 12%;opacity:.76}.world-art img{object-position:56% 50%;filter:saturate(.6) brightness(.63)}.world-shade{background:linear-gradient(90deg,#0b0b0ebd 5%,#0b0b0e77 60%,#0b0b0e33),linear-gradient(0deg,#0b0b0e 0%,#0b0b0eb8 31%,transparent 63%,#0b0b0e 100%)}.world-heading>.micro-label{font-size:8px;margin-bottom:24px}.world-heading h2{font-size:clamp(30px,7.5vw,45px);line-height:1.75;letter-spacing:.035em}.world-heading>p:last-child{font-size:12px;line-height:2.15;letter-spacing:.03em;margin-top:21px}.world-files{margin-top:48px}.files-heading{gap:13px;margin-bottom:17px}.files-heading>span{font-size:11px}.files-heading>small{font-size:7px;letter-spacing:.12em}.world-file summary{gap:15px;padding:22px 0;flex-wrap:nowrap}.file-id{font-size:15px;width:16px}.file-title{font-size:19px;letter-spacing:.05em;min-width:65px}.file-caption{font-size:10px;letter-spacing:.02em}.world-file>div{padding:0 5px 23px 31px;font-size:12px;line-height:2}.experience{padding-top:57px;padding-bottom:73px}.experience-heading{text-align:left;margin-bottom:31px}.experience-heading .micro-label{font-size:8px;letter-spacing:.17em}.experience-heading h2{font-size:clamp(26px,7.2vw,37px);line-height:1.65;letter-spacing:.035em;margin-top:22px;white-space:nowrap}.experience-heading>p:last-child{font-size:12px;letter-spacing:.03em;line-height:2.05;margin-top:20px}.scene-switch button{padding:15px 14px;gap:9px;min-height:86px;flex-direction:column;align-items:flex-start;justify-content:center}.scene-switch button>span{font-size:8px;letter-spacing:.12em}.scene-switch button>strong{font-size:13px;letter-spacing:.03em}.scene-switch button>i{position:absolute;right:13px;top:21px}.blade-stage{height:288px}.stage-readout{left:14px;right:14px;top:18px;gap:7px;font-size:6.5px;letter-spacing:.04em}.stage-readout b{margin-left:4px;letter-spacing:.02em}.stage-orbit{left:67%;top:52%;width:230px;height:230px}.stage-target{left:67%;top:74px;width:56px;height:153px}.target-top i,.target-bottom i{inset:5px}.target-top span{left:18px;top:27px;width:19px;height:19px}.target-top span:before,.target-top span:after{height:13px;left:8px;top:2px}.animated-blade{width:119%;left:-54%;top:136px}.barrier{left:64%;top:50px;bottom:35px}.stage-watermark{font-size:6px;left:14px;bottom:17px;letter-spacing:.19em}.stage-verdict{font-size:39px;left:11%;top:26%;letter-spacing:.18em}.demo-controls{padding:23px 17px 22px;display:flex;flex-direction:column;align-items:stretch;gap:19px}.demo-status{min-height:61px}.demo-status .micro-label{font-size:7px;margin-bottom:9px}.demo-status>p{font-size:15px;letter-spacing:.025em;line-height:1.8}.strike-button{width:100%;min-width:0;padding:15px 21px;column-gap:17px}.strike-button>span:nth-child(2){font-size:18px}.strike-button>small{font-size:7px}.strike-icon{font-size:38px}.demo-note{font-size:10px;margin-top:12px}.demo-note p{font-size:10px;line-height:2}.novel{min-height:0}.novel-content{padding-top:58px;padding-bottom:45px}.novel-main{padding-top:12px}.novel-brand{width:260px;max-width:90%;margin-bottom:33px}.novel-brand>span{font-size:7px;margin-top:9px}.novel-main h2{font-size:31px;line-height:1.85;letter-spacing:.09em}.novel-main>p{font-size:13px;line-height:2;letter-spacing:.06em;margin-top:24px}.novel-state{margin-top:27px;gap:9px;flex-wrap:wrap}.novel-state>span{font-size:11px}.novel-state>small{font-size:7px;letter-spacing:.1em;padding-left:9px}.novel-main>p.release-note{font-size:9px;letter-spacing:0;margin-top:14px}.closing-actions{gap:24px;margin-top:43px;justify-content:space-between}.text-link{font-size:10px;letter-spacing:.02em;gap:14px}.text-link>span{font-size:17px}.site-footer{padding:35px 25px 30px}.footer-top{flex-wrap:wrap;gap:21px;padding-bottom:27px;margin-bottom:24px;position:relative}.footer-brand{width:119px}.footer-top>p{font-size:12px;letter-spacing:.09em;width:100%;order:3}.back-top{position:absolute;right:0;top:4px;width:37px;height:37px}.footer-bottom{gap:25px}.credits>p:first-child{font-size:10px}.fiction{font-size:8px;line-height:1.9;max-width:355px;margin-top:13px}.credits>small{font-size:7px;margin-top:13px}.footer-controls{gap:28px}.footer-controls button{font-size:10px}.menu-inner{padding:55px 27px 40px}.menu-inner>.micro-label{font-size:8px;margin-bottom:18px}.menu-inner nav a{padding:17px 0;gap:18px}.menu-inner nav small{font-size:10px}.menu-inner nav span{font-size:23px;letter-spacing:.05em}.menu-inner nav em{font-size:7px;letter-spacing:.07em}.menu-copy{font-size:10px;margin-top:32px;letter-spacing:.1em}.dialog-close{right:10px;top:10px;font-size:28px}.film-dialog{width:calc(100vw - 24px);max-width:none;aspect-ratio:3/4;max-height:calc(100svh - 35px)}.film-label{top:27px;left:20px;right:57px;gap:6px;flex-wrap:wrap}.film-label>.micro-label{font-size:7px;letter-spacing:.08em}.film-label>span{font-size:7px}.film-type{padding:75px 22px}.film-type>p{font-size:25px;letter-spacing:.06em}.film-type>small{font-size:7px;letter-spacing:.15em;margin-top:24px}.film-bottom{left:21px;right:21px;bottom:48px;gap:14px}.film-bottom>button{font-size:9px;min-width:79px}.film-bottom>span{font-size:8px;min-width:42px}.film-sound-note{font-size:7px;left:21px;bottom:22px;right:20px;line-height:1.6}.film-visual img{object-position:57% 35%}.text-dialog{padding:52px 25px 30px;max-width:calc(100vw - 26px)}.text-dialog>h2{font-size:22px}.text-dialog>p:not(.micro-label){font-size:11px}.toast{font-size:11px;padding:12px 19px}}
@media(max-width:370px){:root{--page-pad:20px}.site-header{padding:0 20px}.hero{height:951px}.hero-art{height:644px;right:-31%;width:143%}.hero-content{margin:0 20px;padding-top:425px}.hero-copy{font-size:26px;top:128px;height:247px}.hero-title{max-width:325px}.hero-actions{gap:18px}.line-button{min-width:150px}.line-button span{font-size:14px}.film-open{gap:7px}.film-open>span:last-child{font-size:9px}.play-mark{width:28px;height:28px}.hero-sub{font-size:13px;margin-top:23px}.story-heading h2{font-size:36px}.story-text{font-size:13px}.character{min-height:603px}.character-info{min-height:603px;padding:309px 24px 21px}.scene-switch button{padding:15px 10px}.scene-switch button>strong{font-size:12px}.file-caption{font-size:9px}.world-heading h2{font-size:30px}.closing-actions{gap:13px}.text-link{font-size:9px;gap:10px}.novel-state>small{font-size:6px}.site-footer{padding-left:20px;padding-right:20px}}
/* Respect both OS settings and the explicit on-page toggle. */
html.motion-off{scroll-behavior:auto}html.motion-off *,html.motion-off *:before,html.motion-off *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.motion-off .opening-slit{display:none}.motion-off #atmosphere{display:none}.motion-off .hero-art{transform:none!important}.motion-off .reveal,.motion-off .hero-in{opacity:1!important;transform:none!important;filter:none!important}.motion-off .film-visual img{transform:none!important}.motion-off .blade-stage[data-state="rejected"] .animated-blade{transform:rotate(-2deg)}.motion-off .blade-stage[data-state="accepted"] .cut-line{opacity:.6;transform:rotate(-8deg) scaleX(1)}
@media(prefers-reduced-motion:reduce){html:not(.motion-user-on){scroll-behavior:auto}html:not(.motion-user-on) *,html:not(.motion-user-on) *:before,html:not(.motion-user-on) *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}html:not(.motion-user-on) .opening-slit{display:none}html:not(.motion-user-on) #atmosphere{display:none}html:not(.motion-user-on) .hero-art{transform:none!important}html:not(.motion-user-on) .reveal,html:not(.motion-user-on) .hero-in{opacity:1!important;transform:none!important;filter:none!important}}
@media print{.site-header,.hero-actions,.hero-bottom,.chapter-rail,#atmosphere,.read-progress,.opening-slit,.footer-controls,.interactive-demo,.closing-actions,dialog{display:none!important}body{background:#fff;color:#111}.hero{min-height:0;height:400px}.hero-content{padding-top:30px}.hero-sub{color:#555}.section-shell{padding:25px}.reveal,.hero-in{opacity:1!important;transform:none!important}.world{min-height:0}.world-content{padding:25px}.story-layout{gap:40px}.character{break-inside:avoid}section{break-inside:auto}.novel{min-height:0}}
/* Keep the executioner's portrait distinct from the paired illustration. */
.character-man .portrait:after{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 79% 62% at 99% 70%,#0d0b0f 0%,#0d0b0ff7 34%,#0d0b0f77 61%,transparent 88%);pointer-events:none}
section:focus{outline:none}
html:not(.js) .film-open,html:not(.js) .sound-toggle,html:not(.js) .menu-button,html:not(.js) .interactive-demo,html:not(.js) .footer-controls,html:not(.js) #shareButton{display:none}
