/* HITOTSUGAI / Interactive editorial. Original artwork remains unchanged. */
:root{--bg:#090c14;--panel:#10151f;--ink:#f2f1eb;--muted:#a5acb9;--blue:#70d4ff;--red:#ff536b;--accent:var(--blue);--accent-rgb:112,212,255;--opposite:var(--red);--paper:#eeeee6;--paper-ink:#17212a;--border:rgba(226,237,255,.19);--sans:"Noto Sans CJK JP","Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;--serif:"Noto Serif CJK JP","Noto Serif JP","Hiragino Mincho ProN","Yu Mincho",serif;--mono:"SFMono-Regular",Consolas,"Liberation Mono",monospace;--shell:1240px}
:root[data-side="girl"]{--accent:var(--red);--accent-rgb:255,83,107;--opposite:var(--blue)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:92px}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:15px;line-height:1.8;overflow-x:hidden;-webkit-font-smoothing:antialiased}body.modal-open{overflow:hidden}button,a{-webkit-tap-highlight-color:transparent}button,input{font:inherit}button{color:inherit;cursor:pointer}button{border:0}button:disabled{opacity:.35;cursor:not-allowed}a{color:inherit;text-decoration:none}button,a{touch-action:manipulation}img{max-width:100%;display:block}figure,p,h1,h2,h3{margin:0}h1,h2,h3{line-height:1.35}em{font-style:normal}button{background:none}button:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:6px}::selection{background:var(--accent);color:var(--bg)}[hidden]{display:none!important}.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;top:-100px;left:20px;z-index:300;background:var(--paper);color:var(--paper-ink);padding:12px 24px}.skip-link:focus{top:10px}#shards{position:fixed;inset:0;width:100%;height:100%;pointer-events:none;z-index:0;opacity:.8}.page-grain{position:fixed;inset:0;pointer-events:none;z-index:0;opacity:.07;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='.86' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23fff' filter='url(%23n)' opacity='.5' d='M0 0h180v180H0z'/%3E%3C/svg%3E")}main,.footer{position:relative;z-index:1}main{overflow:clip}.reading-progress{position:fixed;top:0;left:0;right:0;height:2px;z-index:120;pointer-events:none}.reading-progress i{display:block;width:100%;height:100%;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:background .45s}
.header{height:87px;position:fixed;inset:0 0 auto;z-index:100;display:flex;align-items:center;padding:0 4.3vw;gap:30px;transition:background .3s,border .3s;border-bottom:1px solid transparent}.header.is-scrolled{background:rgba(9,12,20,.9);backdrop-filter:blur(18px);border-color:rgba(255,255,255,.09)}.brand{display:inline-flex;align-items:center;gap:10px;flex-shrink:0}.brand-type{font-size:27px;font-weight:900;letter-spacing:-.065em;transform:skew(-8deg);line-height:1.25;white-space:nowrap}.brand-type small{display:block;font:8px/1.8 var(--mono);letter-spacing:2.7px;transform:skew(8deg);margin:4px 0 0 5px}.brand-mark{position:relative;width:28px;height:34px;display:inline-block;transform:skew(-22deg)}.brand-mark i{position:absolute;top:2px;left:3px;width:8px;height:29px;background:var(--blue);clip-path:polygon(10% 0,100% 0,90% 70%,0 100%)}.brand-mark i+ i{top:5px;left:16px;background:var(--red);transform:rotate(180deg)}.desktop-nav{display:flex;align-items:center;gap:32px;margin-left:auto;white-space:nowrap}.desktop-nav a{font-size:12px;letter-spacing:.09em;position:relative;padding:12px 0}.desktop-nav a:after{content:"";position:absolute;left:0;bottom:3px;width:100%;height:1px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .2s}.desktop-nav a:hover:after,.desktop-nav a.active:after{transform:scaleX(1)}.header-tools{display:flex;align-items:center;gap:13px;margin-left:22px}.tool-btn{display:flex;align-items:center;gap:8px;font-size:10px;letter-spacing:.02em;padding:8px 2px;min-height:44px;color:#c5cad3;white-space:nowrap}.tool-btn:hover{color:var(--accent)}.sound-bars{height:15px;display:flex;gap:2px;align-items:center}.sound-bars i{width:2px;height:5px;background:currentColor}.sound-bars i:nth-child(2){height:11px}.sound-bars i:nth-child(3){height:15px}.sound-bars i:nth-child(4){height:8px}.sound-toggle[aria-pressed="true"] .sound-bars i{animation:sound-bar .8s ease-in-out infinite alternate}.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:.15s}.motion-icon{font-size:15px;min-width:12px;line-height:1}.menu-toggle{display:none;position:relative;width:44px;height:44px;padding:10px}.menu-toggle i{display:block;height:1px;background:white;width:24px;margin:6px 0}.menu-toggle i+ i{width:17px;margin-left:7px}.eyebrow{font:10px/1.5 var(--mono);letter-spacing:2px;display:flex;gap:11px;align-items:center;color:var(--accent)}.live-dot{display:inline-block;flex:0 0 auto;width:5px;height:5px;background:var(--accent);box-shadow:0 0 12px rgba(var(--accent-rgb),.8)}.eyebrow-line{height:1px;width:50px;background:var(--accent);opacity:.5}.hero{min-height:100svh;padding:117px 6.5vw 70px;position:relative;isolation:isolate;overflow:hidden}.hero-inner{max-width:1300px;margin:auto;display:grid;grid-template-columns:1fr 1.03fr;gap:32px;align-items:center;position:relative;z-index:2}.hero-copy{padding:30px 0 64px;position:relative;z-index:3}.hero-prelude{font-size:13px;letter-spacing:.09em;margin-top:54px;color:#ccd2dc}.hero h1{font-size:clamp(54px,5.7vw,88px);font-family:var(--serif);font-weight:800;letter-spacing:-.08em;line-height:1.48;margin:21px -50px 0 0;white-space:nowrap;text-shadow:0 3px 35px #090c1477}.hero h1 em{color:var(--accent);transition:color .4s}.hero-description{font-size:16px;letter-spacing:.12em;margin-top:26px}.hero-actions{display:flex;align-items:center;gap:24px;margin-top:36px}.strike-button{height:61px;min-width:218px;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:0 23px;position:relative;color:var(--bg);font-size:15px;font-weight:800;letter-spacing:.08em;background:var(--accent);clip-path:polygon(10px 0,100% 0,100% calc(100% - 10px),calc(100% - 10px) 100%,0 100%,0 10px);transition:background .35s,transform .25s,filter .2s}.strike-button:hover{transform:translateY(-3px);filter:brightness(1.15)}.strike-button:active{transform:translateY(1px)}.button-slash{width:2px;height:25px;transform:rotate(27deg);background:var(--bg);opacity:.5}.arrow{font-size:24px;font-weight:400}.text-link{display:inline-flex;align-items:center;gap:20px;font-size:12px;letter-spacing:.06em;min-height:44px;border-bottom:1px solid rgba(235,240,255,.25);transition:color .2s,border-color .2s;padding:0 0 4px}.text-link:hover{color:var(--accent);border-color:var(--accent)}.text-link>span{font-size:18px}.hero-state{display:flex;align-items:center;gap:14px;margin-top:29px;font-size:12px}.hero-state>span{display:flex;align-items:center;gap:9px}.hero-state b{font-weight:500;letter-spacing:.1em}.hero-state small{font-size:9px;letter-spacing:.07em;padding:1px 6px;border:1px solid var(--border);color:var(--muted)}.hero-state>span:first-child small{border-color:rgba(var(--accent-rgb),.55);color:var(--accent)}.hero-state>i{font-style:normal;color:#5e6877;font-size:19px}.interaction-hint{font-size:10px;color:#909aa9;margin-top:10px;letter-spacing:.06em}.hero-art{width:min(100%,calc((100svh - 172px)*.708));max-width:620px;justify-self:end;position:relative;padding-top:22px;padding-bottom:24px;z-index:2;perspective:1200px}.hero-art:before{content:"";position:absolute;inset:35px -25px 7px 12px;border:1px solid rgba(var(--accent-rgb),.24);transform:skewY(-7deg);z-index:-1;transition:border-color .4s}.art-topline{display:flex;justify-content:space-between;position:absolute;top:0;left:0;right:0;font:8px/1 var(--mono);letter-spacing:1.5px;color:#b7bdc8}.side-indicator{color:var(--accent)}.poster-button{position:relative;display:block;padding:0;width:100%;box-shadow:0 18px 70px #0007;border:1px solid rgba(226,237,255,.3);overflow:hidden}.poster-button:after{content:"";position:absolute;inset:0;box-shadow:inset 0 0 45px rgba(0,0,0,.1);pointer-events:none}.hero-poster{width:100%;height:auto}.poster-zoom{position:absolute;bottom:6px;right:6px;background:rgba(9,12,20,.8);font-size:9px;padding:4px 9px;border:1px solid #ffffff44;opacity:0;transform:translateY(5px);transition:.2s}.poster-button:hover .poster-zoom,.poster-button:focus-visible .poster-zoom{opacity:1;transform:translateY(0)}.hero-art figcaption{display:flex;justify-content:space-between;font:8px/1.5 var(--mono);letter-spacing:.5px;margin-top:10px;color:#b0b7c2;gap:10px}.hero-art figcaption i{font-style:normal;color:var(--accent);margin:0 6px}.hero-art figcaption span:last-child{font-family:var(--sans);letter-spacing:1px;font-size:9px}.hero-ambient{position:absolute;inset:0;z-index:-2;background:radial-gradient(ellipse at 9% 55%,rgba(var(--accent-rgb),.11),transparent 47%),radial-gradient(ellipse at 90% 20%,rgba(255,65,92,.09),transparent 42%);transition:background .4s}.hero-slash{position:absolute;z-index:-1;pointer-events:none;transform:rotate(26deg);background:linear-gradient(0deg,transparent,var(--blue),transparent);width:1px;height:145%;opacity:.3;top:-20%;left:44%}.hero-slash-blue:after{content:"";position:absolute;inset:0 0 0 0;box-shadow:0 0 50px 7px #4aabff33}.hero-slash-red{left:93%;transform:rotate(27deg);background:linear-gradient(0deg,transparent,var(--red),transparent);opacity:.5}.hero-slash-red:after{content:"";position:absolute;inset:0;box-shadow:0 0 30px 5px #ff455922}.hero-edge{position:absolute;left:22px;top:49%;font:9px/1 var(--mono);letter-spacing:3px;writing-mode:vertical-rl;color:#777f8d}.scroll-cue{position:absolute;bottom:26px;left:6.5vw;display:flex;align-items:center;gap:17px;font:8px/1 var(--mono);letter-spacing:2px;color:#bdc3cc}.scroll-cue i{display:block;width:60px;height:1px;background:#586370;position:relative;overflow:hidden}.scroll-cue i:after{content:"";position:absolute;left:-30px;width:30px;top:0;height:1px;background:var(--accent);animation:scroll-line 2.8s ease-in-out infinite}.marquee{position:relative;overflow:hidden;border-block:1px solid #ffffff1a;background:#0d121b;transform:rotate(-2deg);width:102%;margin-left:-1%;z-index:3;padding:12px 0}.marquee-track{display:flex;width:max-content;animation:marquee 40s linear infinite}.marquee-track>span{display:flex;align-items:center;white-space:nowrap;font:bold italic 45px/1.2 Arial,sans-serif;letter-spacing:-1px;color:transparent;-webkit-text-stroke:1px #5d6d7e}.marquee i{font-style:normal;color:var(--accent);-webkit-text-stroke:0;padding:0 25px}.marquee b{font-family:var(--serif);font-size:21px;font-style:normal;color:#d1d7dd;-webkit-text-stroke:0;padding:0 42px;letter-spacing:.1em}
.section-shell{width:calc(100% - 160px);max-width:var(--shell);margin:0 auto}.section-label{display:flex;align-items:center;gap:24px;font:10px/1.5 var(--mono);letter-spacing:1.4px;margin-bottom:65px}.section-label span:first-child{color:var(--accent);white-space:nowrap}.section-label span:nth-child(2){font-family:var(--sans);font-size:11px;letter-spacing:.15em;white-space:nowrap}.section-label i{flex:1;height:1px;background:var(--border)}.paper-section{background:var(--paper);color:var(--paper-ink);position:relative}.paper-section .section-label span:first-child{color:#355565}.paper-section .section-label i{background:#19304033}.paper-section:before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.05;background-image:repeating-linear-gradient(0deg,transparent 0,transparent 3px,#27303b 4px,transparent 5px)}.story{padding:120px 0 55px;clip-path:polygon(0 0,100% 0,100% calc(100% - 30px),0 100%);margin-top:-18px}.story-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:10%}.story h2{font:700 clamp(38px,4.1vw,61px)/1.6 var(--serif);letter-spacing:-.05em;white-space:nowrap}.story-body{font:400 16px/2.1 var(--serif);letter-spacing:.08em;padding-top:8px}.story-body p+p{margin-top:28px}.story-body strong{font-weight:600}.story-body .story-wish{margin-top:32px;font-size:19px;line-height:2}.eye-fragments{height:190px;position:relative;margin-top:48px;max-width:490px}.eye-fragment{position:absolute;width:59%;height:125px;clip-path:polygon(10% 0,100% 0,90% 100%,0 100%);background:#13283f;overflow:hidden;border:0}.eye-fragment img{width:100%;height:100%;object-fit:cover}.eye-blue{left:-15px;top:0}.eye-red{right:-8px;top:48px;width:49%;background:#4b1525}.eye-blue:after,.eye-red:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#080d17b3,transparent 65%);pointer-events:none}.eye-fragment span{position:absolute;bottom:9px;left:15%;font:7px/1 var(--mono);letter-spacing:2px;z-index:1;color:white}.eye-cross{position:absolute;left:47%;top:43px;z-index:2;font:300 57px/1 var(--sans);color:var(--paper);transform:rotate(-10deg);text-shadow:0 0 8px #001d33}.story-foot{border-top:1px solid #192e4330;margin-top:54px;padding:25px 0 10px;display:flex;align-items:center;justify-content:space-between;font-size:11px;letter-spacing:.1em}.story-foot b{font-weight:500}.story-cycle{font-size:15px;display:flex;gap:20px;align-items:center}.story-cycle i{font:24px/1 var(--sans);color:#466075}
.characters{padding:105px 0 10px;overflow:hidden}.characters-intro{display:flex;align-items:flex-end;justify-content:space-between;gap:30px}.characters-intro h2{font-family:var(--serif);font-weight:600;font-size:clamp(32px,3.7vw,51px);letter-spacing:.02em}.characters-intro p{font-size:12px;letter-spacing:.06em;margin-bottom:6px;color:#b2bbc8}.character-stage{display:grid;grid-template-columns:1.2fr 1fr;gap:9%;align-items:center;margin-top:34px}.character-artwork{height:560px;position:relative;isolation:isolate}.character-backtype{position:absolute;left:-25px;bottom:10%;font:900 italic 180px/.9 Arial,sans-serif;color:transparent;-webkit-text-stroke:1px rgba(var(--accent-rgb),.26);letter-spacing:-9px;z-index:-1;white-space:nowrap}.portrait-stack{position:absolute;inset:0 2% 0 8%;overflow:hidden;clip-path:polygon(13% 0,100% 0,84% 100%,0 100%);mask-image:linear-gradient(to bottom,transparent 0%,#000 11%,#000 81%,transparent 100%)}.portrait{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 20%;filter:saturate(.91);transition:opacity .55s,transform .8s cubic-bezier(.2,.7,.3,1);transform:translateX(0);opacity:1}.portrait-girl{opacity:0;transform:translateX(30px);object-position:50% 5%}html[data-side="girl"] .portrait-boy{opacity:0;transform:translateX(-30px)}html[data-side="girl"] .portrait-girl{opacity:1;transform:translateX(0)}.portrait-cut{position:absolute;bottom:9%;left:-1%;width:108%;height:1px;background:var(--accent);transform:rotate(-13deg);box-shadow:0 0 28px rgba(var(--accent-rgb),.55);opacity:.7}.portrait-index{position:absolute;top:38px;left:-4px;font:9px/1 var(--mono);letter-spacing:2px;color:var(--accent)}.portrait-annotation{position:absolute;right:-10px;top:34%;writing-mode:vertical-rl;font:8px/1 var(--mono);letter-spacing:3px;color:#727d8b}.character-detail{padding:10px 0 25px}.role-kicker{font-size:11px;letter-spacing:.1em;color:#c3cbd5;display:flex;align-items:center;gap:10px}.character-detail h3{display:flex;align-items:baseline;gap:22px;font:600 65px/1.4 var(--serif);letter-spacing:.04em;margin:13px 0 4px}.character-detail h3 small{font:10px/1 var(--mono);color:var(--accent);letter-spacing:3px}.character-features{font-size:11px;letter-spacing:.14em;color:#a9b7c8}.character-rule{width:45px;height:2px;background:var(--accent);margin:28px 0}.character-description{font-family:var(--serif);font-size:16px;line-height:2.2;letter-spacing:.04em}.partner-line{display:flex;align-items:center;gap:24px;border-top:1px solid var(--border);padding:17px 0;margin-top:25px;font-size:10px;color:#a7b2c1}.partner-line b{font-size:17px;color:var(--ink);font-weight:500}.outlined-button{border:1px solid rgba(var(--accent-rgb),.6);height:52px;min-width:258px;padding:0 20px;display:flex;align-items:center;justify-content:space-between;font-size:12px;letter-spacing:.05em;color:var(--accent);transition:color .2s,background .2s}.outlined-button span+span{font-size:22px}.outlined-button:hover{background:rgba(var(--accent-rgb),.12)}.character-note{font-size:9px;color:#8c97a7;margin-top:13px;letter-spacing:.02em}
.experience{padding:80px 0 110px}.experience .section-label{margin-bottom:45px}.experience-heading{display:flex;align-items:center;justify-content:space-between;gap:30px;margin-bottom:36px}.experience h2{font:600 clamp(28px,3vw,42px)/1.6 var(--serif);letter-spacing:-.01em}.experience h2 em{color:var(--accent);transition:color .4s}.experience-heading p{font-size:11px;line-height:2;color:#aab5c4;letter-spacing:.06em}.exchange-arena{position:relative;display:grid;grid-template-columns:1fr 190px 1fr;gap:22px;padding:62px 7% 79px;border:1px solid rgba(var(--accent-rgb),.32);background:radial-gradient(ellipse at 50% 70%,rgba(var(--accent-rgb),.075),transparent 70%),#0c111b;transition:border-color .5s;isolation:isolate}.exchange-arena:before,.exchange-arena:after{content:"";position:absolute;width:28px;height:28px;border:1px solid var(--accent);pointer-events:none}.exchange-arena:before{top:-1px;left:-1px;border-right:0;border-bottom:0}.exchange-arena:after{bottom:-1px;right:-1px;border-left:0;border-top:0}.arena-top{position:absolute;top:19px;left:25px;right:25px;display:flex;justify-content:space-between;font:8px/1 var(--mono);letter-spacing:2px;color:#8f9cae}.arena-top span:first-child{color:var(--accent)}.arena-line{position:absolute;inset:50% 2% auto;height:1px;background:linear-gradient(to right,transparent,#ffffff27,transparent);z-index:-1}.role-tile-top{display:flex;justify-content:space-between;font:9px/1 var(--mono);letter-spacing:2px;color:#94a3b7;margin-bottom:16px}.is-human .tile-status{color:var(--accent)}.tile-visual{height:113px;position:relative;border:1px solid #d8e6ff1a;background:#121a26;overflow:hidden}.tile-visual>img{width:100%;height:100%;object-fit:cover;opacity:1;transition:opacity .5s,filter .5s;filter:saturate(.9)}#girl-tile .tile-visual>img{object-position:center 35%}.is-weapon .tile-visual>img{opacity:.08;filter:grayscale(1)}.abstract-shard{position:absolute;inset:0;opacity:0;transition:opacity .4s;display:flex;align-items:center;justify-content:center}.abstract-shard i{position:absolute;width:26px;height:64px;transform:rotate(35deg);background:linear-gradient(140deg,#6c778eaa,#1c293480);border:1px solid #8a97ab99;clip-path:polygon(35% 0,100% 31%,60% 100%,0 75%)}.abstract-shard i:nth-child(2){height:35px;width:15px;transform:translate(-33px,13px) rotate(55deg);opacity:.6}.abstract-shard i:nth-child(3){height:25px;width:12px;transform:translate(30px,-20px) rotate(4deg);opacity:.45}.is-weapon .abstract-shard{opacity:1}.tile-name{display:flex;justify-content:space-between;align-items:center;margin-top:15px}.tile-name h3{font-family:var(--serif);font-size:24px;font-weight:600;letter-spacing:.06em}.tile-role{font-size:11px;border:1px solid #a5b2c144;color:#a6b1c0;padding:1px 10px;letter-spacing:.08em}.is-human .tile-role{color:var(--accent);border-color:rgba(var(--accent-rgb),.6);background:rgba(var(--accent-rgb),.06)}.tile-caption{font-size:10px;margin-top:8px;color:#a1aebe;letter-spacing:.04em}.arena-control{display:flex;align-items:center;justify-content:center;flex-direction:column;padding:24px 0 0}.strike-orb{position:relative;width:138px;height:138px;border-radius:50%;display:flex;justify-content:center;align-items:center;flex-direction:column;background:rgba(var(--accent-rgb),.04);transition:background .3s,transform .3s;border:1px solid rgba(var(--accent-rgb),.25)}.strike-orb:before,.strike-orb:after{content:"";position:absolute;left:50%;top:-14px;bottom:-14px;width:1px;background:linear-gradient(transparent,var(--accent),transparent);transform:rotate(35deg);pointer-events:none}.strike-orb:after{top:10px;bottom:10px;transform:rotate(75deg);opacity:.4}.orb-ring{position:absolute;inset:-8px;border:1px solid rgba(var(--accent-rgb),.18);border-top-color:var(--accent);border-bottom-color:var(--accent);border-radius:50%;animation:orbit 14s linear infinite;pointer-events:none}.orb-kanji{font:500 51px/1.2 var(--serif);color:var(--accent);z-index:1}.orb-caption{font:6px/1.5 var(--mono);letter-spacing:1px;margin-top:8px;color:#b3c4d9;z-index:1}.strike-orb:hover{background:rgba(var(--accent-rgb),.14);transform:scale(1.04)}.strike-orb:active{transform:scale(.97)}.arena-swap{color:var(--accent);font:22px/1 var(--sans);margin-top:18px}.arena-bottom{position:absolute;bottom:16px;left:25px;right:25px;display:flex;align-items:center;justify-content:space-between;gap:15px;padding-top:14px;border-top:1px solid var(--border);font-size:9px;color:#99a6b6}.arena-bottom>span{white-space:nowrap}.arena-bottom b{color:var(--accent);font:16px/1 var(--mono);margin-left:9px}.arena-bottom p{font-size:10px;color:#b4bfcd;letter-spacing:.02em;text-align:center}.reset-button{color:#b2becd;min-height:34px;padding:4px;font-size:9px;white-space:nowrap}.reset-button:hover{color:var(--accent)}.experience-note{font-size:9px;text-align:right;color:#7f8c9e;margin-top:16px;line-height:1.8}
.novel{padding:98px 0 105px;clip-path:polygon(0 30px,100% 0,100% 100%,0 calc(100% - 30px))}.novel-grid{display:grid;grid-template-columns:1fr 1fr;gap:11%;align-items:center;max-width:1080px;margin:auto}.novel-copy{padding-bottom:15px}.novel-status{display:flex;align-items:center;gap:7px;font-size:11px;color:#4c5d67;letter-spacing:.06em}.novel-status i{width:5px;height:5px;border:1px solid #587080;display:inline-block}.novel h2{font-family:var(--serif);font-weight:600;font-size:clamp(42px,4.6vw,67px);line-height:1.45;letter-spacing:.03em;margin:20px 0 24px}.novel-copy>p:not(.novel-status){font-size:13px;line-height:2.1;letter-spacing:.04em}.dark-button{background:#13232e;color:#f1f1e9;min-width:241px;min-height:58px;display:inline-flex;justify-content:space-between;align-items:center;gap:28px;padding:12px 24px;font-size:12px;margin-top:29px;transition:background .2s,transform .2s;clip-path:polygon(0 0,100% 0,100% calc(100% - 10px),calc(100% - 10px) 100%,0 100%)}.dark-button>span+span{font-size:22px}.dark-button:hover{background:#2e4f61;transform:translateY(-2px)}.reading-sheet{position:relative;justify-self:center;display:flex;flex-direction:column;align-items:stretch;width:100%;max-width:380px;height:440px;padding:28px 32px;text-align:left;background:#fafaf5;box-shadow:8px 10px 0 #dce0da,8px 10px 0 1px #adb8b033,0 18px 36px #1a283222;transform:rotate(3deg);transition:transform .35s,box-shadow .35s;overflow:hidden}.reading-sheet:hover{transform:rotate(0);box-shadow:6px 8px 0 #dce0da,6px 8px 0 1px #adb8b033,0 18px 36px #1a283222}.sheet-top,.sheet-bottom{display:flex;justify-content:space-between;font:8px/1 var(--mono);letter-spacing:1.5px;color:#627580}.sheet-title{font-size:23px;font-weight:900;letter-spacing:.18em;margin-top:26px}.sheet-vertical{align-self:center;writing-mode:vertical-rl;font:400 14px/2.4 var(--serif);letter-spacing:.17em;text-align:left;height:229px;margin:22px 0 17px}.sheet-bottom{margin-top:auto;padding-top:17px;border-top:1px solid #b8c4c7;font-size:9px;font-family:var(--sans);letter-spacing:.1em}.sheet-fold{position:absolute;bottom:0;right:0;width:25px;height:25px;background:linear-gradient(135deg,#d8dcd5 50%,var(--paper) 50%)}
.promise{position:relative;padding:110px 0 105px;overflow:hidden}.promise-grid{display:grid;grid-template-columns:.85fr 1fr;gap:11%;max-width:1040px;align-items:center}.promise-poster{padding:0;position:relative;max-width:284px;width:100%;justify-self:center;transform:rotate(-5deg);border:1px solid #dae6ff55;box-shadow:20px 20px 0 rgba(var(--accent-rgb),.04);transition:transform .3s}.promise-poster:hover{transform:rotate(0)}.promise-poster img{width:100%;height:auto}.promise-poster span{position:absolute;bottom:-31px;left:0;font:8px/1 var(--mono);letter-spacing:1.5px;color:#9eacbd}.promise-copy .eyebrow{font-size:9px;letter-spacing:3px}.promise h2{font:500 clamp(54px,6.7vw,90px)/1.5 var(--serif);letter-spacing:.09em;margin-top:28px;white-space:nowrap}.promise h2 em{color:var(--accent);transition:color .4s}.promise-copy>p{font-family:var(--serif);font-size:17px;letter-spacing:.13em;margin-top:26px}.promise-links{display:flex;flex-wrap:wrap;gap:15px 29px;margin-top:34px}.promise-links .text-link{font-size:10px;gap:14px}.promise-ambient{position:absolute;inset:0;background:radial-gradient(ellipse at 55% 50%,rgba(var(--accent-rgb),.055),transparent 65%);pointer-events:none;z-index:-1}.promise-type{position:absolute;bottom:-20px;right:-5px;z-index:-1;font:900 italic 16.4vw/1 Arial,sans-serif;letter-spacing:-.065em;white-space:nowrap;color:transparent;-webkit-text-stroke:1px #b6cdff10}.footer{padding:45px max(6.5vw,24px) 32px;border-top:1px solid var(--border);background:#080b12}.footer-main{display:flex;align-items:center;justify-content:space-between;margin-bottom:31px}.footer .brand-type{font-size:23px}.footer .brand-mark{transform:scale(.85) skew(-22deg)}.back-top{font-size:10px;color:#a9b5c4;letter-spacing:.06em;min-height:44px;display:flex;align-items:center}.footer>p{font-size:10px;line-height:1.9;color:#94a0b0}.footer-bottom{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:17px;font:8px/1.8 var(--mono);letter-spacing:1px;color:#8290a1}.footer-about{color:#9eacbb;font-size:10px;min-height:40px}.floating-switch{position:fixed;z-index:80;right:26px;bottom:21px;display:flex;align-items:center;gap:19px;background:rgba(9,14,24,.94);border:1px solid rgba(var(--accent-rgb),.4);padding:9px 10px 9px 18px;backdrop-filter:blur(12px);box-shadow:0 6px 25px #0005;opacity:0;visibility:hidden;transform:translateY(20px);transition:.3s}.floating-switch.visible{opacity:1;visibility:visible;transform:translateY(0)}.floating-switch>div{display:flex;align-items:center;gap:11px;line-height:1.4}.floating-switch>div>span{display:flex;flex-direction:column;font-size:11px;gap:2px}.floating-switch b{font-weight:500}.floating-switch small{font-size:8px;color:#91a1b8}.floating-switch>div>span:first-child small{color:var(--accent)}.floating-switch i{font-style:normal;color:#536277}.floating-switch button{display:flex;align-items:center;gap:17px;font-size:11px;background:var(--accent);color:var(--bg);padding:8px 14px;min-height:40px}.floating-switch button>span{font-size:19px}.toast{position:fixed;left:50%;bottom:100px;transform:translate(-50%,15px);z-index:250;background:#f1f2ea;color:#1a2531;padding:14px 24px;font-size:12px;box-shadow:0 5px 30px #0008;opacity:0;pointer-events:none;transition:.25s;text-align:center;max-width:calc(100% - 40px);width:max-content}.toast.visible{opacity:1;transform:translate(-50%,0)}
.strike-fx{position:fixed;inset:0;z-index:150;pointer-events:none;overflow:hidden;visibility:hidden}.strike-fx i,.strike-fx b{position:absolute;display:block;left:-15%;top:48%;width:130%;height:2px;background:var(--accent);transform:rotate(-24deg) scaleX(0);box-shadow:0 0 24px 2px rgba(var(--accent-rgb),.55);transform-origin:left}.strike-fx b{height:90px;top:43%;background:linear-gradient(transparent,rgba(var(--accent-rgb),.18),transparent);box-shadow:none}.strike-fx span{position:absolute;top:44%;left:39%;font:900 italic clamp(30px,6vw,78px)/1 Arial,sans-serif;letter-spacing:.04em;color:var(--accent);opacity:0;transform:rotate(-12deg);text-shadow:0 0 20px #090c14}.strike-fx.active{visibility:visible}.strike-fx.active i{animation:strike-line .6s cubic-bezier(.15,.6,.25,1) both}.strike-fx.active b{animation:strike-wash .6s ease-out both}.strike-fx.active span{animation:strike-label .6s ease-out both}
dialog{border:1px solid #abc0de3b;color:var(--ink);background:var(--bg);padding:0;max-width:calc(100% - 32px);max-height:calc(100svh - 32px);box-shadow:0 20px 100px #0008}dialog::backdrop{background:rgba(3,6,12,.88);backdrop-filter:blur(9px)}dialog[open]{animation:dialog-in .2s ease-out}.dialog-bar{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:15px 24px;border-bottom:1px solid #9ab4d233;font:9px/1.5 var(--mono);letter-spacing:1px;position:sticky;top:0;background:inherit;z-index:3}.close-button{display:flex;align-items:center;gap:13px;font-size:10px;min-height:36px}.close-button>span{font-size:26px;line-height:1;font-weight:200}.visual-dialog{width:auto;background:#090c14;max-height:calc(100svh - 24px);overflow:hidden}.visual-dialog-body{padding:14px;display:flex;justify-content:center}.visual-dialog-body img{width:auto;height:auto;max-height:calc(100svh - 127px);max-width:calc(100vw - 64px);object-fit:contain}.visual-dialog .dialog-bar{min-width:310px}.menu-dialog{width:100%;max-width:100%;height:100svh;max-height:100svh;margin:0;border:none;padding:9px 19px 32px;background:radial-gradient(ellipse at 90% 20%,rgba(var(--accent-rgb),.1),transparent 70%),#090c14}.menu-dialog .dialog-bar{padding:15px 4px;position:static;background:transparent}.menu-dialog nav{padding:30px 12px}.menu-dialog nav a{display:flex;align-items:center;gap:17px;font:500 24px/1.5 var(--serif);padding:22px 0;border-bottom:1px solid var(--border)}.menu-dialog nav small{font:9px/1 var(--mono);color:var(--accent)}.menu-dialog nav a span{margin-left:auto;font-family:var(--sans);font-weight:300;color:var(--accent)}.menu-dialog>p{font-size:11px;color:#91a2b6;padding:12px}.reader-dialog{width:820px;background:#eeeee6;color:#1a2832;--reader-size:18px;scrollbar-color:#6e8690 #eeeee6}.reader-dialog .dialog-bar{border-color:#24364333}.reader-dialog .dialog-bar,.reader-tools{background:#eeeee6}.reader-tools{display:flex;align-items:center;justify-content:space-between;padding:12px 8%;font-size:11px;border-bottom:1px solid #273f461f}.reader-tools>div{display:flex;align-items:center;gap:12px}.reader-tools button{border:1px solid #25384340;min-width:40px;min-height:36px;font-family:var(--mono)}.reader-tools #reader-font-size{font:10px/1 var(--mono);color:#50646f}.reader-article{padding:44px 13% 68px;font:400 var(--reader-size)/2.1 var(--serif);letter-spacing:.07em}.reader-article>.eyebrow{font:9px/1 var(--mono);letter-spacing:2px;color:#536c7b}.reader-article h2{font-family:var(--sans);font-size:35px;letter-spacing:.18em;font-weight:900;margin:20px 0 42px}.reader-article p+p{margin-top:30px}.reader-lead{font-weight:600;font-size:1.14em}.reader-final{font-weight:700;font-size:1.08em}.reader-end{margin-top:60px;padding-top:25px;border-top:1px solid #273f4630;display:flex;flex-direction:column;gap:10px;font-family:var(--sans);font-size:11px;color:#586e7d}.reader-end small{font-size:10px;line-height:1.7}.about-dialog{max-width:700px;width:calc(100% - 32px)}.about-body{padding:35px 40px 50px;font-size:13px;line-height:2;color:#c0cbd8}.about-body h2{font:500 26px/1.5 var(--serif);color:var(--ink);margin-bottom:27px}.about-body p+p{margin-top:18px}.about-body h3{font-size:14px;color:var(--accent);margin:30px 0 12px}.noscript-note{position:relative;z-index:5;padding:20px;background:#eae9de;color:#17232c;font-size:13px}.mobile-br{display:none}
.js-ready .reveal{opacity:0;transform:translateY(18px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.6,.3,1)}.js-ready .reveal.in-view{opacity:1;transform:translateY(0)}.js-ready .reading-sheet.reveal{transform:translateY(18px) rotate(3deg)}.js-ready .reading-sheet.reveal.in-view{transform:translateY(0) rotate(3deg)}.js-ready .reading-sheet.reveal.in-view:hover{transform:rotate(0)}
@keyframes orbit{to{transform:rotate(360deg)}}@keyframes marquee{to{transform:translateX(-50%)}}@keyframes scroll-line{0%{transform:translateX(0)}60%,100%{transform:translateX(100px)}}@keyframes sound-bar{to{transform:scaleY(.35)}}@keyframes strike-line{0%{transform:rotate(-24deg) scaleX(0);opacity:1}38%{transform:rotate(-24deg) scaleX(1);opacity:1}100%{transform:rotate(-24deg) scaleX(1);opacity:0}}@keyframes strike-wash{0%{transform:rotate(-24deg) scaleX(0);opacity:0}28%{transform:rotate(-24deg) scaleX(1);opacity:1}100%{transform:rotate(-24deg) scaleX(1);opacity:0}}@keyframes strike-label{0%,13%{opacity:0;translate:-14px 6px}35%{opacity:.9}100%{opacity:0;translate:20px -5px}}@keyframes dialog-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:1650px){.header{padding-inline:calc((100% - 1500px)/2)}.hero-inner{max-width:1370px}.hero h1{font-size:91px}.hero{padding-top:120px}.hero-art{max-width:640px}.hero-prelude{font-size:14px}.section-shell{max-width:1280px}.hero-edge{left:45px}}
@media(max-width:1150px){.header{padding-inline:30px;gap:24px}.desktop-nav{gap:20px}.header-tools{margin-left:8px;gap:9px}.brand-type{font-size:24px}.brand-mark{width:24px;transform:scale(.9) skew(-22deg)}.hero{padding-inline:6vw}.hero-inner{gap:25px;grid-template-columns:1fr 1fr}.hero h1{font-size:6.2vw}.hero-prelude{font-size:11px;letter-spacing:.05em;margin-top:38px}.hero-description{font-size:13px}.hero-actions{gap:18px;flex-wrap:wrap;margin-top:27px}.strike-button{min-width:195px;font-size:13px;height:55px}.hero-actions .text-link{font-size:10px;gap:10px}.hero-copy{padding-bottom:28px}.hero-edge{left:14px;font-size:7px}.section-shell{width:calc(100% - 100px)}.story-grid{gap:6%;grid-template-columns:1.05fr 1fr}.story h2{font-size:4.2vw}.story-body{font-size:14px}.character-stage{gap:7%;grid-template-columns:1.1fr 1fr}.character-artwork{height:490px}.character-backtype{font-size:147px}.character-detail h3{font-size:56px}.character-description{font-size:14px}.exchange-arena{padding-inline:5%;grid-template-columns:1fr 150px 1fr;gap:15px}.strike-orb{width:114px;height:114px}.orb-kanji{font-size:44px}.arena-bottom p{max-width:55%}.reading-sheet{height:420px}.sheet-vertical{font-size:13px}.promise-grid{gap:10%}.promise-copy h2{font-size:72px}}
@media(max-width:900px){.desktop-nav{gap:18px}.desktop-nav a{font-size:11px}.header-tools{margin-left:auto}.tool-btn{gap:6px}.motion-toggle .motion-label{display:none}.hero{padding-inline:40px}.hero-inner{gap:22px;grid-template-columns:1fr 1fr}.hero h1{font-size:6.3vw}.hero-description{font-size:12px;letter-spacing:.07em}.hero-prelude{font-size:10px;letter-spacing:0}.hero-actions{gap:13px}.hero-copy>.eyebrow{font-size:8px;letter-spacing:1.3px}.hero-state{gap:10px}.hero-art{width:100%;align-self:center}.hero-art:before{right:-15px}.hero h1{margin-right:-30px}.hero-inner{min-height:620px}.hero-art figcaption span:last-child{display:none}.scroll-cue{left:40px}.section-label{margin-bottom:44px}.section-shell{width:calc(100% - 80px)}.story{padding-top:100px}.story h2{font-size:4.4vw}.story-body{font-size:13px}.story-body .story-wish{font-size:16px}.eye-fragments{margin-top:60px}.eye-fragment{height:100px}.characters-intro h2{font-size:34px}.characters-intro p{font-size:10px}.character-artwork{height:450px}.character-detail h3{font-size:51px}.character-description{font-size:13px}.partner-line{gap:15px;font-size:9px}.outlined-button{min-width:230px;font-size:11px}.character-stage{gap:6%}.character-backtype{font-size:132px}.experience-heading{align-items:flex-end}.experience h2{font-size:31px}.experience-heading p{font-size:10px}.exchange-arena{grid-template-columns:1fr 125px 1fr;padding-inline:25px;gap:13px}.strike-orb{width:100px;height:100px}.orb-kanji{font-size:40px}.orb-caption{font-size:5px}.tile-visual{height:94px}.tile-name h3{font-size:23px}.tile-role{padding:1px 7px;font-size:10px}.tile-caption{font-size:9px}.experience-note{text-align:left}.reading-sheet{max-width:300px;height:400px;padding:23px 24px}.sheet-top{font-size:6px}.sheet-vertical{height:214px;font-size:12px}.sheet-title{font-size:21px}.novel h2{font-size:49px}.novel-copy>p:not(.novel-status){font-size:12px}.novel-grid{gap:9%}.promise-copy h2{font-size:60px}.promise-poster{max-width:240px}.promise-copy>p{font-size:14px}.promise-links{gap:10px}}
@media(max-width:760px){html{scroll-padding-top:82px}.header{height:72px;padding:0 22px;gap:12px}.brand-type{font-size:23px}.brand-type small{font-size:6px;letter-spacing:2.8px;margin-top:4px}.brand-mark{width:24px;height:31px;transform:scale(.86) skew(-22deg)}.desktop-nav{display:none}.header-tools{gap:11px}.menu-toggle{display:block}.motion-toggle .motion-label{display:inline}.hero{padding:101px 30px 65px}.hero-inner{min-height:initial;grid-template-columns:1fr 1fr;gap:17px}.hero h1{font-size:6.2vw}.hero-copy{padding-block:0 20px}.hero-description{font-size:11px}.hero-prelude{font-size:9px}.hero-actions{gap:8px;flex-direction:column;align-items:flex-start}.strike-button{min-width:196px}.hero-state{font-size:10px;gap:7px;margin-top:18px}.hero-state>span{gap:6px}.hero-state small{font-size:8px}.interaction-hint{font-size:8px;letter-spacing:0}.hero-art figcaption{font-size:7px;letter-spacing:0}.art-topline{font-size:6px;letter-spacing:1px}.scroll-cue{font-size:6px;left:30px;bottom:25px}.hero-edge{display:none}.hero .eyebrow-line{display:none}.section-shell{width:calc(100% - 56px)}.story-grid{gap:6%}.story-body{font-size:12px}.story-body .story-wish{font-size:14px}.story h2{font-size:4.3vw}.story-foot{font-size:9px}.story-cycle{font-size:13px;gap:12px}.characters{padding-top:75px}.characters-intro{display:block}.characters-intro p{margin-top:15px}.characters-intro h2{font-size:33px}.character-stage{margin-top:25px;gap:5%;grid-template-columns:1fr 1fr}.character-artwork{height:420px}.character-detail h3{font-size:43px}.character-detail h3 small{font-size:8px}.character-description{font-size:12px}.character-features{font-size:9px}.role-kicker{font-size:10px}.partner-line{flex-wrap:wrap;gap:5px 15px;margin-top:15px;padding:12px 0}.outlined-button{min-width:100%;height:47px;padding:0 15px;font-size:10px}.character-note{font-size:8px}.character-rule{margin:21px 0}.character-backtype{font-size:112px;left:-15px;bottom:11%}.portrait-index{font-size:7px}.portrait-annotation{font-size:6px;right:-2px}.experience{padding-top:65px;padding-bottom:85px}.experience h2{font-size:27px}.experience-heading{gap:18px}.experience-heading p{font-size:9px}.exchange-arena{grid-template-columns:1fr 100px 1fr;gap:13px;padding:57px 20px 92px}.strike-orb{width:84px;height:84px}.orb-kanji{font-size:33px}.orb-caption{font-size:4px;margin-top:3px}.orb-ring{inset:-6px}.tile-visual{height:84px}.arena-control{padding-top:20px}.tile-name h3{font-size:21px}.tile-role{font-size:9px;padding:1px 5px}.tile-caption{font-size:8px}.arena-top{font-size:7px;left:20px;right:20px;letter-spacing:1px}.arena-bottom{left:20px;right:20px;flex-wrap:wrap;gap:5px}.arena-bottom p{order:3;width:100%;max-width:100%;text-align:left;font-size:9px}.arena-bottom b{font-size:14px}.reset-button{min-height:28px}.experience-note{font-size:8px}.novel{padding-top:85px;padding-bottom:90px}.novel h2{font-size:43px}.novel-grid{gap:8%}.reading-sheet{height:365px;padding:22px 20px}.sheet-title{font-size:18px}.sheet-vertical{font-size:11px;height:203px;margin-block:15px}.dark-button{min-width:210px;min-height:53px;font-size:11px;padding:10px 19px}.novel-copy>p:not(.novel-status){font-size:11px}.novel-status{font-size:10px}.sheet-top{letter-spacing:.8px;font-size:6px}.promise{padding-block:85px 90px}.promise h2{font-size:51px;letter-spacing:.03em}.promise .eyebrow{font-size:7px;letter-spacing:2px}.promise-copy>p{font-size:13px}.promise-poster{max-width:210px}.promise-links .text-link{font-size:9px}.footer{padding-bottom:38px}.floating-switch{right:17px;bottom:17px}.reader-dialog{max-width:calc(100% - 24px);max-height:calc(100svh - 24px)}.reader-article{padding-inline:10%}.about-body{padding:30px}}
@media(max-width:560px){.header{height:68px;padding-inline:17px;gap:8px}.header .brand{gap:6px}.brand-type{font-size:23px}.header .brand-mark{width:23px}.header-tools{gap:8px}.tool-btn{font-size:9px;gap:5px}.motion-toggle .motion-label{display:none}.menu-toggle{width:35px;padding-inline:5px}.hero{padding:92px 24px 59px}.hero-inner{display:flex;flex-direction:column;gap:0}.hero-art{order:0;width:100%;max-width:370px;align-self:center;padding-top:19px;padding-bottom:24px}.art-topline{font-size:7px;letter-spacing:1.4px}.hero-art:before{inset:33px -12px 7px 9px;transform:skewY(-5deg)}.poster-zoom{opacity:1;transform:none;font-size:7px;padding:3px 7px}.hero-art figcaption{font-size:7px;letter-spacing:.4px;margin-top:8px}.hero-art figcaption span:last-child{display:inline;font-size:8px;letter-spacing:.5px}.hero-copy{order:1;width:100%;padding:30px 0 0;max-width:370px}.hero-copy>.eyebrow{font-size:8px;letter-spacing:1.1px;gap:8px}.hero-prelude{margin-top:24px;font-size:10px;letter-spacing:.06em}.hero h1{font-size:clamp(44px,11.4vw,62px);line-height:1.45;letter-spacing:-.055em;margin:13px 0 0}.hero-description{font-size:12px;letter-spacing:.065em;margin-top:19px}.hero-actions{flex-direction:row;align-items:center;gap:20px;margin-top:26px}.strike-button{min-width:199px;font-size:12px;height:54px;padding:0 17px;gap:13px}.button-slash{height:23px}.hero-actions .text-link{font-size:10px;gap:8px}.hero-state{font-size:11px;margin-top:22px;gap:12px}.hero-state small{font-size:8px}.hero-state>span{gap:8px}.interaction-hint{font-size:9px;margin-top:10px}.scroll-cue{position:static;margin-top:30px;max-width:370px;margin-inline:auto;font-size:6px;gap:12px}.scroll-cue i{width:38px}.hero-slash-blue{left:25%;transform:rotate(20deg)}.hero-slash-red{left:92%;opacity:.2}.marquee{padding:10px 0;margin-top:0}.marquee-track>span{font-size:30px}.marquee i{padding:0 16px}.marquee b{font-size:15px;padding:0 26px}.section-shell{width:calc(100% - 48px)}.section-label{gap:16px;margin-bottom:36px;font-size:9px;letter-spacing:1px}.section-label span:nth-child(2){font-size:10px}.story{padding-top:80px;padding-bottom:55px;clip-path:polygon(0 0,100% 0,100% calc(100% - 20px),0 100%)}.story-grid{display:block}.story h2{font-size:clamp(28px,8vw,43px);line-height:1.65;letter-spacing:-.03em}.eye-fragments{max-width:360px;margin-top:32px;height:155px}.eye-fragment{height:102px}.eye-blue{left:-10px;width:61%}.eye-red{right:-5px;top:35px;width:50%}.eye-cross{top:31px;left:47%;font-size:46px}.eye-fragment span{font-size:6px}.story-body{font-size:14px;line-height:2.05;padding-top:22px;letter-spacing:.045em}.story-body p+p{margin-top:25px}.story-body .story-wish{font-size:17px;margin-top:27px}.story-foot{margin-top:34px;padding-top:21px;flex-direction:column;align-items:flex-start;gap:15px;font-size:10px;letter-spacing:.03em}.story-cycle{font-size:14px;gap:18px}.characters{padding-top:65px}.characters-intro h2{font-size:32px;line-height:1.55;letter-spacing:.02em}.characters-intro p{font-size:10px;line-height:1.9;letter-spacing:.025em;margin-top:12px}.mobile-br{display:inline}.character-stage{display:block;margin-top:20px}.character-artwork{height:415px;max-width:390px;margin:0 auto}.portrait-stack{inset:0 8% 0 4%;clip-path:polygon(12% 0,100% 0,84% 100%,0 100%)}.portrait{object-position:50% 12%}.portrait-girl{object-position:50% 7%}.character-backtype{font-size:155px;left:-12px;bottom:6%}.portrait-cut{left:-2%;width:105%;bottom:11%}.portrait-index{top:35px;font-size:8px}.portrait-annotation{right:3%;top:36%;font-size:7px}.character-detail{padding:15px 7px 5px}.role-kicker{font-size:10px}.character-detail h3{font-size:51px;margin-top:14px;gap:20px}.character-detail h3 small{font-size:10px}.character-features{font-size:10px}.character-rule{margin-block:24px;width:42px}.character-description{font-size:14px;line-height:2.1}.partner-line{font-size:10px;gap:20px;margin-top:23px;padding-block:15px}.partner-line b{font-size:17px}.outlined-button{max-width:280px;min-width:0;width:100%;height:52px;font-size:12px;padding-inline:18px}.character-note{font-size:9px;margin-top:13px}.experience{padding-top:67px;padding-bottom:75px}.experience .section-label{margin-bottom:33px}.experience-heading{display:block;margin-bottom:25px}.experience h2{font-size:29px;line-height:1.7}.experience-heading p{font-size:11px;margin-top:17px;line-height:1.9}.exchange-arena{padding:56px 16px 112px;gap:10px;grid-template-columns:1fr 1fr}.arena-control{grid-column:1/-1;grid-row:2;flex-direction:row;padding-top:11px;padding-bottom:7px;height:137px}.role-tile#boy-tile{grid-column:1;grid-row:1}.role-tile#girl-tile{grid-column:2;grid-row:1}.role-tile-top{font-size:7px;letter-spacing:1px;margin-bottom:13px}.tile-visual{height:85px}.tile-name{margin-top:12px}.tile-name h3{font-size:22px}.tile-role{font-size:9px;letter-spacing:.03em}.tile-caption{font-size:8px;white-space:nowrap}.arena-top{font-size:6px;letter-spacing:.9px;left:16px;right:16px}.arena-top span:last-child{font-size:5px}.strike-orb{width:102px;height:102px}.orb-kanji{font-size:41px}.orb-caption{font-size:5px;margin-top:5px}.orb-ring{inset:-7px}.arena-swap{position:absolute;right:19%;margin:0;font-size:24px}.arena-control:before{content:"⇄";position:absolute;left:19%;font-size:24px;color:var(--accent)}.arena-line{inset:58% 4% auto}.arena-bottom{left:16px;right:16px;bottom:17px;gap:5px;padding-top:15px}.arena-bottom p{font-size:9px;line-height:1.8}.arena-bottom>span{font-size:9px}.reset-button{font-size:9px;min-height:32px}.experience-note{font-size:8px;line-height:1.9;margin-top:13px}.novel{padding-top:76px;padding-bottom:89px;clip-path:polygon(0 20px,100% 0,100% 100%,0 calc(100% - 20px))}.novel-grid{display:block}.novel h2{font-size:46px;line-height:1.5;margin-block:19px}.novel-status{font-size:10px}.novel-copy>p:not(.novel-status){font-size:13px;line-height:2}.dark-button{min-width:236px;min-height:54px;margin-top:25px;font-size:12px}.reading-sheet{margin:38px auto 0;height:403px;max-width:300px;width:calc(100% - 25px);padding:26px}.sheet-top{font-size:7px;letter-spacing:1px}.sheet-title{font-size:22px;margin-top:26px}.sheet-vertical{font-size:12px;height:222px;margin-top:18px;margin-bottom:15px;line-height:2.7}.sheet-bottom{font-size:9px}.promise{padding-top:78px;padding-bottom:100px}.promise-grid{grid-template-columns:1fr;gap:48px}.promise-poster{max-width:211px;justify-self:center;order:2;margin-top:14px}.promise-copy{order:1;justify-self:start;margin-left:12px}.promise .eyebrow{font-size:8px;letter-spacing:2px}.promise h2{font-size:65px;line-height:1.45;margin-top:18px;letter-spacing:.08em}.promise-copy>p{font-size:15px;margin-top:20px;letter-spacing:.08em}.promise-links{gap:15px;margin-top:26px}.promise-links .text-link{font-size:10px;gap:12px}.promise-type{font-size:17.3vw;bottom:0;right:0;letter-spacing:-.085em}.footer{padding:33px 24px 31px}.footer .brand-type{font-size:22px}.footer .brand{gap:6px}.back-top{font-size:9px}.footer-main{margin-bottom:23px}.footer>p{font-size:9px}.footer-bottom{align-items:flex-start;font-size:7px;letter-spacing:.7px;gap:15px;margin-top:16px}.footer-about{font-size:9px;line-height:1.5;padding:0;min-height:24px}.floating-switch{bottom:max(13px,env(safe-area-inset-bottom));right:13px;gap:14px;padding:7px 8px 7px 13px}.floating-switch>div{gap:9px}.floating-switch>div>span{font-size:10px}.floating-switch small{font-size:7px}.floating-switch button{font-size:10px;min-height:38px;gap:13px;padding:6px 11px}.floating-switch button>span{font-size:17px}.dialog-bar{padding:11px 15px;gap:12px;font-size:7px;letter-spacing:.6px}.close-button{font-size:9px;gap:9px}.visual-dialog-body{padding:9px}.visual-dialog-body img{max-width:calc(100vw - 45px);max-height:calc(100svh - 108px)}.visual-dialog .dialog-bar{min-width:0}.reader-dialog{max-width:calc(100% - 18px);max-height:calc(100svh - 18px)}.reader-tools{padding:10px 20px;font-size:10px}.reader-tools>div{gap:9px}.reader-tools button{min-width:36px;min-height:34px}.reader-article{padding:35px 25px 48px;letter-spacing:.02em;line-height:2}.reader-article h2{font-size:29px;letter-spacing:.1em;margin-bottom:31px}.reader-article p+p{margin-top:26px}.reader-article .reader-lead{font-size:1.04em}.reader-article .reader-final{font-size:1em}.reader-end{margin-top:40px}.reader-end small{font-size:9px}.about-body{padding:28px 24px 35px;font-size:12px}.about-body h2{font-size:22px}.about-body h3{font-size:13px}.toast{font-size:11px;padding:12px 17px;bottom:88px}.desktop-br{display:none}}
@media(max-width:360px){.header{padding-inline:12px}.header-tools{gap:6px}.brand-type{font-size:21px}.brand-type small{font-size:6px;letter-spacing:2.3px}.header .brand-mark{width:20px}.hero{padding-inline:20px}.hero-actions{gap:14px}.strike-button{min-width:180px;font-size:11px}.hero-actions .text-link{font-size:9px;gap:6px}.hero-prelude{font-size:9px}.hero-description{font-size:11px}.section-shell{width:calc(100% - 40px)}.story h2{font-size:29px}.story-body{font-size:13px}.story-body .story-wish{font-size:16px}.character-artwork{height:380px}.character-backtype{font-size:132px}.tile-name h3{font-size:20px}.tile-caption{font-size:7px}.exchange-arena{padding-inline:13px;gap:8px}.arena-control:before{left:16%}.arena-swap{right:16%}.promise-copy{margin-left:0}.promise h2{font-size:57px}.promise-links{gap:12px}.promise-links .text-link{font-size:9px}.footer{padding-inline:20px}.footer .brand-type{font-size:20px}.footer-main{gap:15px}.back-top{font-size:8px}.reader-article{padding-inline:21px}.menu-dialog nav a{font-size:21px}.sound-label{font-size:8px}}
/* Motion can always be paused, without hiding content or blocking interactions. */
html[data-motion="off"]{scroll-behavior:auto}html[data-motion="off"] *,html[data-motion="off"] *:before,html[data-motion="off"] *:after{animation-play-state:paused!important;transition-duration:.001ms!important;scroll-behavior:auto!important}html[data-motion="off"] .strike-fx{display:none}html[data-motion="off"] .reveal{opacity:1!important;transform:none!important}html[data-motion="off"] .reading-sheet.reveal{transform:rotate(3deg)!important}html[data-motion="off"] #shards{opacity:.25}
@media(prefers-reduced-motion:reduce){html:not([data-motion="on"]){scroll-behavior:auto}html:not([data-motion="on"]) *,html:not([data-motion="on"]) *:before,html:not([data-motion="on"]) *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media print{.header,#shards,.page-grain,.strike-fx,.marquee,.floating-switch,.scroll-cue,.header-tools,.hero-actions,.exchange-arena,.experience-note,dialog,.promise-poster,.footer-about{display:none!important}body{background:#fff;color:#111}.hero,.characters,.story,.novel,.promise,.footer,.experience{padding:25px 0;clip-path:none;background:white;color:#111}.section-shell,.hero-inner{width:100%;max-width:100%}.hero-inner{display:block}.hero-copy{padding:0}.hero-art{width:250px}.reveal{opacity:1!important;transform:none!important}.hero h1{font-size:48px;color:#111}.section-label{margin-bottom:20px}.hero h1 em,.promise h2 em{color:#222}.character-stage{break-inside:avoid}.footer{border-top:1px solid #aaa}}

/* VERSION 2 / CINEMATIC FULL-BLEED TOP. Canonical character reference retained. */
.header {padding-inline:3.5vw;background:linear-gradient(180deg,rgba(4,7,14,.72),rgba(4,7,14,.15));}
.header.is-scrolled {background:rgba(8,11,19,.93);}
.hero.hero-cinematic {height:100svh;min-height:680px;width:100%;padding:0;isolation:isolate;background:#080a10;}
.hero-cinematic .hero-fullbleed {position:absolute;inset:0;width:100%;height:100%;max-width:none;max-height:none;padding:0;margin:0;z-index:0;perspective:none;transform:none!important;}
.hero-cinematic .hero-fullbleed:before {content:none;}
.hero-fullbleed picture {display:block;width:100%;height:100%;}
.hero-cinematic .hero-scene {width:100%;height:100%;max-width:none;object-fit:cover;object-position:50% 43%;transform:scale(1.025);transition:transform .95s cubic-bezier(.16,1,.3,1);}
.hero-shade {position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(180deg,rgba(4,7,14,.23) 0%,transparent 27%,transparent 58%,rgba(4,7,14,.19) 70%,rgba(4,7,14,.85) 92%,#080c13 100%),linear-gradient(90deg,rgba(4,7,14,.23),transparent 36%,transparent 88%,rgba(4,7,14,.26));}
.hero-color-wash {position:absolute;inset:0;pointer-events:none;z-index:1;background:radial-gradient(ellipse at 9% 68%,rgba(var(--accent-rgb),.11),transparent 49%);transition:background .65s;mix-blend-mode:screen;}
.hero-masthead {position:absolute;top:clamp(108px,14svh,156px);left:3.5vw;width:clamp(310px,31vw,490px);z-index:4;filter:drop-shadow(0 3px 18px rgba(0,0,0,.36));}
.hero-masthead>.eyebrow {font-size:8px;letter-spacing:2px;color:#edf5ff;margin:0 0 16px 9px;}
.hero-cinematic h1 {margin:0;line-height:1;font:inherit;width:100%;white-space:normal;text-shadow:none;}
.hero-cinematic h1 img {width:100%;height:auto;}
.hero-logotype {display:none;}
.hero-opening {font-family:var(--serif);font-weight:600;font-size:clamp(13px,1.12vw,18px);line-height:2.1;letter-spacing:.14em;margin:18px 0 0 16px;text-shadow:0 1px 14px #000,0 1px 3px #000;}
.hero-vertical {position:absolute;z-index:3;right:3.9vw;top:22%;writing-mode:vertical-rl;font-family:var(--serif);font-size:clamp(15px,1.45vw,23px);font-weight:600;line-height:2.15;letter-spacing:.23em;text-shadow:0 2px 14px #000,0 1px 5px #000;}
.hero-bottom {position:absolute;z-index:4;left:3.5vw;right:3.5vw;bottom:56px;display:flex;align-items:flex-end;justify-content:space-between;gap:24px;}
.hero-bottom-copy p {font-family:var(--serif);font-size:clamp(17px,1.7vw,26px);font-weight:600;letter-spacing:.06em;line-height:1.8;text-shadow:0 2px 10px #04070d;}
.hero-bottom-copy em {white-space:nowrap;}
.hero-story-link {display:inline-flex;gap:26px;align-items:center;min-height:44px;font-size:11px;letter-spacing:.18em;color:#ccd6e4;}
.hero-story-link span {color:var(--accent);font-size:17px;}
.hero-live-controls {display:flex;align-items:center;gap:30px;}
.hero-role-label {display:flex;align-items:center;gap:9px;font:8px/1.8 var(--mono);letter-spacing:2px;color:#c5d0df;margin-bottom:10px;}
.hero-role-block .hero-state {margin:0;gap:12px;font-size:13px;}
.hero-role-block .hero-state b {font-weight:600;}
.hero-role-block .hero-state>span {gap:7px;}
.hero-role-block .hero-state>i {color:var(--accent);font-size:22px;}
.hero-role-block .hero-state small {font-size:8px;line-height:1.7;padding:1px 5px;}
.hero-cinematic .strike-button {background:rgba(9,15,27,.42);color:#f8faff;border:1px solid rgba(var(--accent-rgb),.8);min-width:210px;height:65px;backdrop-filter:blur(12px);clip-path:polygon(10px 0,100% 0,100% calc(100% - 10px),calc(100% - 10px) 100%,0 100%,0 10px);box-shadow:inset 0 0 30px rgba(var(--accent-rgb),.10);font-size:13px;}
.hero-cinematic .strike-button:before {content:"";position:absolute;inset:0 auto 0 0;width:3px;background:var(--accent);}
.hero-cinematic .strike-button:hover {background:rgba(var(--accent-rgb),.2);}
.hero-cinematic .button-slash {background:var(--accent);opacity:1;}
.hero-cinematic .strike-button .arrow {color:var(--accent);}
.hero-visual-button {position:absolute;bottom:164px;right:3.5vw;z-index:4;display:flex;align-items:center;gap:10px;min-height:44px;padding:8px 12px;background:rgba(5,9,17,.45);border:1px solid rgba(210,230,255,.25);backdrop-filter:blur(8px);font-size:9px;letter-spacing:.12em;color:#ecf3ff;}
.hero-visual-button:hover {border-color:var(--accent);color:var(--accent);}
.expand-mark {font:23px/1 Arial,sans-serif;}
.cinematic-scroll {position:absolute;z-index:4;left:50%;bottom:0;transform:translateX(-50%);display:flex;align-items:center;flex-direction:column;gap:13px;font:7px/1.3 var(--mono);letter-spacing:3px;color:#dce3ed;}
.cinematic-scroll i {display:block;width:1px;height:23px;background:linear-gradient(180deg,#dce3ed,transparent);transform-origin:top;animation:cinematic-scroll-line 2s ease-in-out infinite;}
.hero-air {position:absolute;inset:0;pointer-events:none;z-index:2;overflow:hidden;}
.hero-air i {display:block;position:absolute;left:13%;top:34%;width:12px;height:48px;background:linear-gradient(130deg,rgba(120,218,255,.5),rgba(51,115,255,.06));clip-path:polygon(30% 0,100% 46%,0 100%);transform:rotate(24deg);animation:cinematic-shard 8s ease-in-out infinite alternate;filter:drop-shadow(0 0 12px rgba(112,212,255,.35));}
.hero-air i:nth-child(2) {left:33%;top:74%;width:7px;height:30px;animation-delay:-3s;animation-duration:11s;}
.hero-air i:nth-child(3) {left:2%;top:59%;width:22px;height:78px;animation-delay:-5s;animation-duration:9s;}
.hero-air-red i {background:linear-gradient(130deg,rgba(255,135,152,.5),rgba(255,51,94,.06));filter:drop-shadow(0 0 12px rgba(255,83,107,.35));left:90%;top:64%;}
.hero-air-red i:nth-child(2) {left:74%;top:18%;}
.hero-air-red i:nth-child(3) {left:94%;top:27%;}
@keyframes cinematic-shard {from {transform:translate3d(0,0,0) rotate(20deg);opacity:.4;} to {transform:translate3d(10px,-25px,0) rotate(46deg);opacity:.85;}}
@keyframes cinematic-scroll-line {0%,100% {transform:scaleY(.7);opacity:.5;}50%{transform:scaleY(1);opacity:1;}}
.footer .production-credit {color:#edf1f8;font-size:13px;font-weight:700;margin:0 0 10px;letter-spacing:.05em;}
.footer #fiction-notice {font-size:11px;line-height:2;max-width:900px;}
.footer #copyright {color:#c0ccdc;font-size:10px;line-height:1.9;}
html[data-motion="off"] .hero-scene {transform:none!important;}
@media(min-width:1800px) {.hero-masthead {left:4vw;width:min(30vw,580px);top:15svh;}.hero-bottom{left:4vw;right:4vw;bottom:64px;}.hero-opening{font-size:19px;}.hero-visual-button{right:4vw;bottom:190px;}}
@media(max-width:1100px) {.hero-live-controls{gap:18px;}.hero-bottom-copy p{font-size:18px;}.hero-role-block .hero-state{font-size:12px;gap:8px;}.hero-cinematic .strike-button{min-width:180px;padding-inline:18px;font-size:12px;}.hero-masthead{width:31vw;min-width:280px;}.hero-opening{font-size:12px;}.hero-bottom{bottom:52px;}.hero-role-block .hero-state>span{gap:5px;}.hero-vertical{right:3vw;}}
@media(max-width:900px) and (orientation:portrait) {
 .hero.hero-cinematic{height:100svh;min-height:640px;}
 .hero-cinematic .hero-scene{object-position:50% 50%;transform:none;}
 .hero-masthead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(100%);padding:0;left:0;top:0;min-width:0;}
 .hero-vertical{display:none;}
 .hero-shade{background:linear-gradient(180deg,rgba(3,6,13,.37) 0,transparent 15%,transparent 76%,rgba(4,7,14,.28) 87%,rgba(4,7,14,.96) 100%);}
 .hero-bottom{left:22px;right:22px;bottom:30px;gap:14px;}
 .hero-bottom-copy{display:none;}
 .hero-live-controls{width:100%;justify-content:space-between;gap:18px;}
 .hero-role-block .hero-state{font-size:12px;gap:8px;}
 .hero-cinematic .strike-button{min-width:180px;height:57px;padding-inline:18px;font-size:12px;gap:12px;}
 .hero-role-label{font-size:7px;letter-spacing:1.4px;margin-bottom:7px;}
 .hero-visual-button{right:20px;bottom:119px;min-height:38px;font-size:8px;padding:6px 9px;}
 .hero-bottom-copy p{font-size:18px;}
 .cinematic-scroll{font-size:6px;gap:7px;bottom:0;}
 .cinematic-scroll i{height:13px;}
 .header{background:linear-gradient(180deg,rgba(3,7,15,.73),rgba(3,7,15,.08));}
 .hero-air i{opacity:.4;width:7px;height:30px;}
 .hero-air i:nth-child(3){width:12px;height:45px;}
}
@media(max-width:600px) {
 .header{padding-inline:18px;height:73px;}
 .hero-bottom{left:17px;right:17px;bottom:max(29px,env(safe-area-inset-bottom));}
 .hero-live-controls{gap:12px;}
 .hero-role-block .hero-state{font-size:11px;gap:6px;}
 .hero-role-block .hero-state>span{gap:5px;}
 .hero-role-block .hero-state small{font-size:7px;padding:1px 4px;}
 .hero-role-block .hero-state>i{font-size:17px;}
 .hero-cinematic .strike-button{min-width:0;width:162px;height:55px;font-size:11px;padding-inline:14px;gap:10px;}
 .hero-cinematic .button-slash{height:21px;}
 .hero-cinematic .arrow{font-size:22px;}
 .hero-visual-button{right:17px;bottom:103px;}
 .footer .production-credit{font-size:12px;}
 .footer #fiction-notice{font-size:10px;}
 .footer #copyright{font-size:8px;letter-spacing:.04em;}
 .footer-bottom{flex-wrap:wrap;gap:10px;}
}
@media(max-width:360px){.hero-cinematic .strike-button{width:143px;font-size:10px;padding-inline:10px;}.hero-bottom{left:14px;right:14px;}.hero-role-block .hero-state{gap:4px;font-size:10px;}.hero-role-block .hero-state>span{gap:4px;}.hero-live-controls{gap:9px;}.hero-role-label{font-size:6px;letter-spacing:1px;}}
@media(orientation:landscape) and (max-height:620px){
 .hero.hero-cinematic{height:100svh;min-height:480px;}.header{height:65px;}.hero-masthead{top:82px;min-width:230px;width:28vw;}.hero-masthead>.eyebrow{font-size:6px;margin-bottom:7px;}.hero-opening{font-size:10px;line-height:1.8;margin-top:6px;}.hero-bottom{bottom:33px;}.hero-bottom-copy p{font-size:14px;}.hero-story-link{font-size:9px;min-height:30px;}.hero-role-label{font-size:7px;}.hero-cinematic .strike-button{height:48px;min-width:160px;}.hero-visual-button{bottom:106px;}.hero-vertical{font-size:13px;top:22%;}.hero-role-block .hero-state{font-size:10px;}.cinematic-scroll{font-size:6px;gap:8px;}.cinematic-scroll i{height:12px;}
}
@media print {.hero.hero-cinematic{height:auto;min-height:0;}.hero-cinematic .hero-fullbleed{position:relative;width:100%;height:auto;}.hero-cinematic .hero-scene{height:auto;transform:none!important;}.hero-shade,.hero-color-wash,.hero-air,.hero-masthead,.hero-vertical,.hero-visual-button,.hero-bottom,.cinematic-scroll{display:none!important;}}
/* Keep the large logotype outside the boy's eye line, including wide displays. */
.hero-masthead{width:clamp(280px,27vw,400px);}
@media(min-width:1800px){.hero-masthead{width:min(24vw,440px);top:12svh;}}
@media(max-width:900px) and (orientation:portrait){
 .hero-masthead{width:1px;min-width:0;}
 .hero-visual-button{top:89px;bottom:auto;right:17px;background:rgba(5,9,17,.63);}
}
@media(max-width:600px){
 .header{gap:8px;background:linear-gradient(180deg,rgba(3,7,15,.88),rgba(3,7,15,.50));}
 .header .brand{gap:6px;}
 .header .brand-type{font-size:21px;}
 .header .brand-type small{font-size:6px;letter-spacing:2px;}
 .header .brand-mark{width:24px;}
 .header .header-tools{margin-left:auto;gap:7px;}
 .header .sound-label{display:none;}
 .header .sound-toggle{width:27px;justify-content:center;}
 .header .motion-toggle{gap:5px;}
 .header .motion-label{font-size:8px;}
 .header .menu-toggle{display:block;width:35px;padding:7px 5px;}
}
@media(max-width:350px){.header{padding-inline:14px;}.header .motion-label{display:none;}.header .motion-toggle{width:25px;justify-content:center;}.header .header-tools{gap:7px;}}
.footer #copyright{font-weight:700;}
