@import "https://fonts.googleapis.com/css2?family=Shippori+Mincho:wght@400;600;800&family=Space+Grotesk:wght@300;400;500;600&family=Zen+Kaku+Gothic+New:wght@300;400;500;700;900&display=swap";:root{--color-canvas:#05070a;--color-surface:#0e131b;--color-surface-raised:#151c26;--color-border:#526071;--color-border-soft:#dee4ea29;--color-muted:#a7afb9;--color-body:#d6d9de;--color-ink:#f2f0e9;--color-accent:#e43c36;--color-accent-bright:#ff514b;--color-on-accent:#fff;--color-success:#71c8a0;--color-error:#ff6b65;--color-moon:#7ac7d8;--font-display:"Shippori Mincho", "Yu Mincho", "Hiragino Mincho ProN", serif;--font-body:"Zen Kaku Gothic New", system-ui, sans-serif;--font-mono:"Space Grotesk", ui-monospace, monospace;--text-xs:.6875rem;--text-sm:.8125rem;--text-base:1rem;--text-md:1.25rem;--text-lg:1.563rem;--text-xl:2.441rem;--text-2xl:clamp(3.1rem, 6.7vw, 7rem);--text-display:clamp(4rem, 10vw, 9.5rem);--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.5rem;--space-6:2rem;--space-7:3rem;--space-8:4rem;--space-9:6rem;--space-section:clamp(6rem, 12vw, 12rem);--radius-sm:.125rem;--radius-md:.5rem;--radius-full:999px;--motion-instant:80ms;--motion-base:.18s;--motion-slow:.36s;--ease-standard:cubic-bezier(.22, 1, .36, 1);--cursor-default:auto;--cursor-active:pointer;font-family:var(--font-body);color:var(--color-body);background:var(--color-canvas);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html{background:var(--color-canvas);scroll-behavior:auto}body{background:var(--color-canvas);min-width:320px;min-height:100vh;margin:0;overflow-x:hidden}body,button,a{font-family:var(--font-body)}button,a{-webkit-tap-highlight-color:transparent}button{color:inherit}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible{outline:3px solid var(--color-accent-bright);outline-offset:4px}::selection{color:var(--color-on-accent);background:var(--color-accent)}@media (pointer:fine){:root{--cursor-default:url(/cursor-sharingan.svg) 16 16, auto;--cursor-active:url(/cursor-sharingan-active.svg) 16 16, pointer}html,body,button,a{cursor:var(--cursor-default)}button,a,[role=button]{cursor:var(--cursor-active)}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}#root{min-height:100vh}.app{isolation:isolate;background:var(--color-canvas);position:relative;overflow:clip}.skip-link{top:var(--space-4);left:var(--space-4);z-index:200;padding:var(--space-3) var(--space-4);color:var(--color-on-accent);background:var(--color-accent);transition:transform var(--motion-base) var(--ease-standard);position:fixed;transform:translateY(-180%)}.skip-link:focus{transform:translateY(0)}.loader{z-index:150;width:100%;min-height:100svh;padding:var(--space-6);background:var(--color-canvas);transition:opacity .8s var(--ease-standard), visibility .8s;place-content:center;display:grid;position:fixed;inset:0}.is-ready .loader{visibility:hidden;opacity:0;pointer-events:none}.loader__mark{aspect-ratio:1;opacity:.12;width:min(58vw,32rem);animation:12s linear infinite loader-rotate;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.loader__mark span{border-radius:var(--radius-full);background:var(--color-accent);display:block;position:absolute;inset:46% 6%}.loader__mark span:nth-child(2){transform:rotate(120deg)}.loader__mark span:nth-child(3){transform:rotate(240deg)}.loader__kanji{margin:0 0 var(--space-7);color:var(--color-ink);font-family:var(--font-display);font-size:var(--text-2xl);letter-spacing:.18em;text-align:center;position:relative}.loader__line{background:var(--color-border-soft);width:min(32rem,70vw);height:1px;position:relative}.loader__line span{transform-origin:0;background:var(--color-accent);transition:transform var(--motion-base) ease-out;position:absolute;inset:0;transform:scaleX(0)}.loader__meta{margin-top:var(--space-3);color:var(--color-muted);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.16em;justify-content:space-between;display:flex}.site-header{z-index:100;background:linear-gradient(#05070ad1,#0000);border-bottom:1px solid #0000;grid-template-columns:1fr auto 1fr;align-items:center;width:100%;height:5.5rem;padding:0 clamp(1.25rem,4vw,4.5rem);display:grid;position:fixed;top:0;left:0}.wordmark{align-items:center;gap:var(--space-3);width:max-content;min-height:44px;color:var(--color-ink);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.34em;font-weight:600;display:inline-flex}.wordmark__eye{aspect-ratio:1;border-radius:var(--radius-full);border:1px solid #ff514b99;width:1.125rem;display:block;position:relative}.wordmark__eye:before,.wordmark__eye:after{content:"";border-radius:var(--radius-full);background:var(--color-accent);position:absolute}.wordmark__eye:before{inset:32%}.wordmark__eye:after{transform-origin:bottom;width:.22rem;height:.45rem;top:.1rem;left:50%;transform:translate(-50%)rotate(25deg)}.nav{align-items:center;gap:clamp(1.5rem,3vw,3.5rem);display:flex}.nav button,.menu-button{cursor:var(--cursor-active);background:0 0;border:0}.nav button{min-height:44px;color:var(--color-muted);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.17em;transition:color var(--motion-base) ease;padding:0}.nav button span{margin-right:var(--space-2);color:var(--color-accent-bright)}.nav button:hover{color:var(--color-ink)}.header-progress{justify-self:end;align-items:center;gap:var(--space-3);min-width:12rem;color:var(--color-muted);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.1em;display:flex}.header-progress__track{background:var(--color-border-soft);flex:1;height:1px;display:block;position:relative}.header-progress__track span{transform-origin:0;background:var(--color-accent-bright);position:absolute;inset:0;transform:scaleX(0)}.menu-button{width:44px;height:44px;padding:.85rem .65rem;display:none}.menu-button span{background:var(--color-ink);width:100%;height:1px;transition:transform var(--motion-base) var(--ease-standard);margin:.4rem 0;display:block}.frame-experience{background:var(--color-canvas);height:760svh;min-height:300rem;position:relative}.frame-experience:after{content:"";z-index:5;background:linear-gradient(180deg, transparent 0%, color-mix(in srgb, var(--color-canvas) 18%, transparent) 30%, var(--color-canvas) 100%);pointer-events:none;height:100svh;position:absolute;bottom:0;left:0;right:0}.frame-stage{background:var(--color-canvas);height:100svh;position:sticky;top:0;overflow:hidden}.webgl-mount,.webgl-mount canvas,.frame-fallback,.frame-scrim,.frame-grid{width:100%;height:100%;position:absolute;inset:0}.webgl-mount canvas{display:block}.webgl-mount{z-index:1}.frame-fallback{background:url(/frames/frame_001.jpg) 50%/cover no-repeat}.frame-scrim{pointer-events:none;background:linear-gradient(#03050885 0%,#0000 24% 62%,#030508bd 100%),linear-gradient(90deg,#030508b3,#0000 35% 66%,#03050885)}.frame-grid{opacity:.22;pointer-events:none;background-image:linear-gradient(#ffffff06 1px,#0000 1px),linear-gradient(90deg,#ffffff06 1px,#0000 1px);background-size:8rem 8rem;-webkit-mask-image:linear-gradient(#000,#0000 38%);mask-image:linear-gradient(#000,#0000 38%)}.story-chapter{z-index:4;pointer-events:none;width:min(38rem,46vw);position:absolute;top:50%;left:clamp(1.25rem,8vw,8.5rem);transform:translateY(-45%)}.story-chapter--right{text-align:right;left:auto;right:clamp(1.25rem,8vw,8.5rem)}.story-chapter--high{top:41%}.story-chapter--final{top:56%}.chapter-kicker,.eyebrow{margin:0 0 var(--space-5);color:var(--color-accent-bright);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.2em;font-weight:500}.story-chapter h1,.story-chapter h2{color:var(--color-ink);font-family:var(--font-display);font-size:var(--text-display);letter-spacing:.06em;text-shadow:0 .15rem 1.8rem #0009;margin:0;font-weight:600;line-height:.92}.story-chapter h1 span,.story-chapter h2 span{color:var(--color-accent-bright);font-size:.55em}.chapter-english{margin:var(--space-4) 0 var(--space-5);color:var(--color-ink);font-family:var(--font-mono);font-size:var(--text-sm);letter-spacing:.44em}.chapter-copy{max-width:31rem;color:var(--color-body);font-size:var(--text-base);text-shadow:0 .1rem 1rem #000000e6;margin:0;font-weight:300;line-height:1.7}.story-chapter--right .chapter-copy{margin-left:auto}.edge-note{z-index:4;color:#d6d9de9e;font-family:var(--font-mono);letter-spacing:.38em;writing-mode:vertical-rl;pointer-events:none;margin:0;font-size:.625rem;position:absolute;top:50%}.edge-note--left{left:var(--space-5);transform:translateY(-50%)rotate(180deg)}.edge-note--right{right:var(--space-5);transform:translateY(-50%)}.scroll-cue{z-index:4;bottom:var(--space-5);align-items:center;gap:var(--space-3);color:var(--color-muted);font-family:var(--font-mono);letter-spacing:.23em;font-size:.625rem;display:flex;position:absolute;left:50%;transform:translate(-50%)}.scroll-cue i{background:var(--color-border-soft);width:4rem;height:1px;display:block;position:relative;overflow:hidden}.scroll-cue i:after{content:"";background:var(--color-accent-bright);animation:cue-line 2s var(--ease-standard) infinite;position:absolute;inset:0;transform:translate(-100%)}.legacy-section,.jutsu-section,.finale,.site-footer{z-index:5;position:relative}.legacy-section{isolation:isolate;padding:calc(var(--space-section) + 22svh) clamp(1.25rem, 7vw, 8rem) var(--space-9);background:var(--color-canvas);overflow:hidden}.legacy-section:before,.legacy-section:after,.jutsu-section:before,.jutsu-section:after{content:"";pointer-events:none;position:absolute;inset:0}.legacy-section:before{z-index:0;filter:saturate(.6)contrast(1.16)brightness(.58);opacity:.62;background:url(/frames/frame_060.jpg) 50% 38%/cover no-repeat;height:110svh;inset:0 0 auto;transform:scale(1.025);-webkit-mask-image:linear-gradient(#0000 0% 24%,#000 48% 76%,#0000 100%);mask-image:linear-gradient(#0000 0% 24%,#000 48% 76%,#0000 100%)}.legacy-section:after{z-index:0;background:linear-gradient(180deg, transparent 0%, transparent 44%, color-mix(in srgb, var(--color-canvas) 50%, transparent) 72%, var(--color-canvas) 100%), linear-gradient(90deg, color-mix(in srgb, var(--color-canvas) 78%, transparent), transparent 36%, transparent 64%, color-mix(in srgb, var(--color-canvas) 68%, transparent));height:110svh;inset:0 0 auto}.legacy-section>*,.jutsu-section>*{z-index:1;position:relative}.section-index{margin-bottom:var(--space-9);color:var(--color-muted);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.2em;justify-content:space-between;display:flex}.legacy-grid{grid-template-columns:minmax(0,1.2fr) minmax(18rem,.8fr);align-items:end;gap:clamp(3rem,10vw,11rem);max-width:100rem;margin:0 auto;display:grid}.legacy-heading h2,.jutsu-intro h2,.finale h2{color:var(--color-ink);font-family:var(--font-display);font-size:var(--text-2xl);letter-spacing:-.03em;margin:0;font-weight:400;line-height:1.08}.legacy-heading em{color:var(--color-accent-bright);font-style:normal}.legacy-copy>p,.jutsu-intro>p:last-child,.finale>p:not(.eyebrow){color:var(--color-body);font-size:var(--text-md);margin:0;font-weight:300;line-height:1.8}.legacy-copy blockquote{margin:var(--space-8) 0 0;padding:var(--space-5) 0 var(--space-5) var(--space-6);border-left:1px solid var(--color-accent-bright)}.legacy-copy blockquote span{color:var(--color-ink);font-family:var(--font-display);font-size:var(--text-lg)}.legacy-copy blockquote p{margin:var(--space-3) 0 0;color:var(--color-muted);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.12em;text-transform:uppercase}.archive-strip{max-width:100rem;margin:var(--space-section) auto 0;border-top:1px solid var(--color-border-soft);border-bottom:1px solid var(--color-border-soft);-webkit-backdrop-filter:blur(.65rem);backdrop-filter:blur(.65rem);background:#05070a80;grid-template-columns:repeat(4,1fr);display:grid}.archive-strip>div{gap:var(--space-3);padding:var(--space-5);border-right:1px solid var(--color-border-soft);flex-direction:column;display:flex}.archive-strip>div:last-child{border-right:0}.archive-strip span{color:var(--color-accent-bright);font-family:var(--font-display);font-size:var(--text-md)}.archive-strip strong{color:var(--color-muted);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.15em;font-weight:400}.jutsu-section{isolation:isolate;padding:var(--space-section) clamp(1.25rem, 7vw, 8rem);background:var(--color-canvas);grid-template-columns:.72fr 1.28fr;gap:clamp(4rem,10vw,12rem);display:grid;overflow:hidden}.jutsu-section:before{z-index:0;filter:saturate(.5)contrast(1.22)brightness(.44);opacity:.68;background:url(/frames/frame_240.jpg) 50% 20%/cover no-repeat;transform:scale(1.03)}.jutsu-section:after{z-index:0;background:linear-gradient(180deg, var(--color-canvas) 0%, transparent 18%, transparent 72%, var(--color-canvas) 100%), linear-gradient(90deg, #05070ab8, #05070ae6 52%, #05070aa3), radial-gradient(circle at 18% 36%, #e43c3621, transparent 24rem)}.jutsu-intro{align-self:start;position:sticky;top:9rem}.jutsu-intro h2{margin-bottom:var(--space-7);letter-spacing:.06em;font-size:clamp(4rem,8vw,8rem)}.jutsu-intro h2 span{color:var(--color-accent-bright)}.jutsu-intro>p:last-child{max-width:34rem}.technique-list{border-top:1px solid var(--color-border-soft);-webkit-backdrop-filter:blur(.75rem);backdrop-filter:blur(.75rem);background:#05070a75}.technique-card{align-items:center;gap:var(--space-6);min-height:15rem;padding:var(--space-6) var(--space-5);border-bottom:1px solid var(--color-border-soft);transition:background var(--motion-slow) var(--ease-standard);grid-template-columns:3rem minmax(9rem,.65fr) 1fr;display:grid;position:relative;overflow:hidden}.technique-card:before{content:"";transform-origin:100%;transition:transform var(--motion-slow) var(--ease-standard);background:linear-gradient(90deg,#0000,#e43c361f);position:absolute;inset:0;transform:scaleX(0)}.technique-card:hover:before{transform-origin:0;transform:scaleX(1)}.technique-card__number{color:var(--color-accent-bright);font-family:var(--font-display);font-size:var(--text-md);align-self:start}.technique-card__kanji{margin:0 0 var(--space-2);color:var(--color-ink);font-family:var(--font-display);font-size:var(--text-xl);letter-spacing:.12em}.technique-card h3{color:var(--color-muted);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.2em;margin:0;font-weight:500}.technique-card>p{color:var(--color-body);font-size:var(--text-base);margin:0;font-weight:300;line-height:1.75;position:relative}.technique-card__cross{top:var(--space-5);right:var(--space-5);width:.75rem;height:.75rem;position:absolute}.technique-card__cross:before,.technique-card__cross:after{content:"";background:var(--color-border);width:100%;height:1px;position:absolute;top:50%;left:0}.technique-card__cross:after{transform:rotate(90deg)}.finale{isolation:isolate;min-height:100svh;padding:var(--space-section) clamp(1.25rem, 7vw, 8rem);text-align:left;background:var(--color-canvas);align-content:center;justify-items:start;display:grid;overflow:hidden}.finale__manga{z-index:0;background:linear-gradient(90deg, var(--color-canvas) 0%, transparent 48%), linear-gradient(180deg, var(--color-canvas) 0%, transparent 24%, transparent 72%, var(--color-canvas) 100%), url(/frames/frame_130.jpg) center / cover no-repeat;clip-path:polygon(13% 0,100% 0,100% 100%,0 100%);filter:grayscale()contrast(1.5)brightness(.48);opacity:.72;width:min(72vw,70rem);position:absolute;inset:0 0 0 auto;overflow:hidden}.finale__manga:before,.finale__manga:after{content:"";position:absolute;inset:0}.finale__manga:before{background-image:radial-gradient(circle, color-mix(in srgb, var(--color-ink) 28%, transparent) 1px, transparent 1.5px);background-size:var(--space-2) var(--space-2);mix-blend-mode:screen;opacity:.38;-webkit-mask-image:linear-gradient(90deg,#0000,#000 30% 88%,#0000);mask-image:linear-gradient(90deg,#0000,#000 30% 88%,#0000)}.finale__manga:after{background:repeating-conic-gradient(from 4deg at 62% 48%, transparent 0deg 4.4deg, color-mix(in srgb, var(--color-ink) 18%, transparent) 4.6deg 5deg);mix-blend-mode:screen;opacity:.42;inset:-18%;-webkit-mask-image:radial-gradient(circle at 62% 48%,#0000 0% 24%,#000 48%,#0000 76%);mask-image:radial-gradient(circle at 62% 48%,#0000 0% 24%,#000 48%,#0000 76%)}.finale>:not(.finale__manga){z-index:1;position:relative}.finale h2{max-width:min(45rem,58vw)}.finale>p:not(.eyebrow){max-width:min(40rem,52vw);margin:var(--space-6) 0 var(--space-7)}.finale button{min-height:3.25rem;padding:0 var(--space-6);border:1px solid var(--color-accent-bright);color:var(--color-ink);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.16em;cursor:var(--cursor-active);transition:color var(--motion-base) ease, background var(--motion-base) ease;background:#05070aad;justify-content:center;align-items:center;display:inline-flex}.finale button span{margin-right:var(--space-3);color:var(--color-accent-bright)}.finale button:hover{color:var(--color-on-accent);background:var(--color-accent)}.finale button:hover span{color:inherit}.site-footer{align-items:center;gap:var(--space-6);padding:var(--space-7) clamp(1.25rem, 4vw, 4.5rem);border-top:1px solid var(--color-border-soft);color:var(--color-muted);background:var(--color-canvas);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.08em;grid-template-columns:1fr auto auto;display:grid}.site-footer p{margin:0}@keyframes loader-rotate{to{transform:translate(-50%,-50%)rotate(360deg)}}@keyframes cue-line{0%{transform:translate(-100%)}50%,to{transform:translate(100%)}}@media (width<=900px){.site-header{grid-template-columns:1fr auto;height:4.75rem}.header-progress{display:none}.menu-button{justify-self:end;display:block}.nav{top:4.75rem;right:var(--space-4);width:min(20rem,100vw - 2rem);padding:var(--space-5);border:1px solid var(--color-border);visibility:hidden;opacity:0;-webkit-backdrop-filter:blur(1rem);backdrop-filter:blur(1rem);transition:opacity var(--motion-base) var(--ease-standard), transform var(--motion-base) var(--ease-standard), visibility var(--motion-base);background:#0a0e14f5;display:grid;position:fixed;transform:translateY(-.75rem)}.nav.is-open{visibility:visible;opacity:1;transform:translateY(0)}.nav button{text-align:left;width:100%}.story-chapter,.story-chapter--right,.story-chapter--high,.story-chapter--final{top:auto;right:var(--space-5);bottom:clamp(5rem,13vh,8rem);left:var(--space-5);text-align:left;width:auto;transform:none}.story-chapter--right .chapter-copy{margin-left:0}.story-chapter h1,.story-chapter h2{font-size:clamp(3.4rem,15vw,6.2rem)}.frame-scrim{background:linear-gradient(#03050859,#0000 30%,#030508e0 82%)}.edge-note{display:none}.legacy-grid,.jutsu-section{grid-template-columns:1fr}.legacy-grid{gap:var(--space-8)}.archive-strip{grid-template-columns:repeat(2,1fr)}.archive-strip>div:nth-child(2){border-right:0}.archive-strip>div:nth-child(-n+2){border-bottom:1px solid var(--color-border-soft)}.jutsu-section{gap:var(--space-8)}.jutsu-intro{position:static}.finale__manga{background:linear-gradient(90deg, var(--color-canvas) 0%, var(--color-canvas) 34%, transparent 72%), linear-gradient(180deg, var(--color-canvas) 0%, transparent 22%, transparent 70%, var(--color-canvas) 100%), url(/frames/frame_130.jpg) 56% center / cover no-repeat;opacity:.64;width:82%}.finale h2{max-width:78vw}.finale>p:not(.eyebrow){max-width:72vw}.site-footer{grid-template-columns:1fr}}@media (width<=600px){.wordmark{letter-spacing:.22em}.frame-experience{height:620svh;min-height:250rem}.chapter-kicker,.eyebrow{margin-bottom:var(--space-3)}.chapter-english{margin:var(--space-3) 0;letter-spacing:.28em;font-size:.625rem}.chapter-copy{max-width:28rem;font-size:.9375rem;line-height:1.55}.scroll-cue{bottom:var(--space-3)}.legacy-section,.jutsu-section{padding-right:var(--space-5);padding-left:var(--space-5)}.legacy-section:before{background-position:58% 42%}.jutsu-section:before{background-position:50% 16%}.section-index{margin-bottom:var(--space-7)}.legacy-copy>p,.jutsu-intro>p:last-child,.finale>p:not(.eyebrow){font-size:var(--text-base)}.archive-strip{grid-template-columns:1fr}.archive-strip>div{border-right:0;border-bottom:1px solid var(--color-border-soft)}.archive-strip>div:last-child{border-bottom:0}.technique-card{gap:var(--space-4);min-height:0;padding:var(--space-6) 0;grid-template-columns:2rem 1fr}.technique-card>p{grid-column:2}.technique-card__cross{right:0}.finale button{gap:var(--space-2);min-height:0;padding:var(--space-3) var(--space-5);text-align:center;flex-direction:column}.finale button span{margin-right:0}.site-footer{padding:var(--space-7) var(--space-5)}}@media (prefers-reduced-motion:reduce){.loader__mark,.scroll-cue i:after{animation:none}}
