:root{--n-bg:#0b0c0d;--n-panel:#121416;--n-raised:#181a1d;--n-ink:#f0eee8;--n-muted:#8a8c8d;--n-line:#292c2f;--n-red:#e63b2e;--n-paper:#d8d4cb}
.ninja-hero{grid-template-columns:1fr!important}
.ninja-theme{background:var(--n-bg);color:var(--n-ink);font-family:Manrope,sans-serif}.ninja-theme.dark{--n-bg:#e7e3da;--n-panel:#dcd7cd;--n-raised:#f1eee7;--n-ink:#111315;--n-muted:#646667;--n-line:#c4beb2;--n-paper:#111315}.ninja-theme .reading-progress{background:var(--n-red)}.ninja-theme main{overflow:hidden}.ninja-header{height:86px;padding:0 5vw;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;border-bottom:1px solid var(--n-line);position:relative;z-index:10;background:color-mix(in srgb,var(--n-bg) 94%,transparent)}.ninja-brand{display:flex;align-items:center;gap:14px;font:500 10px 'DM Mono',monospace;letter-spacing:.14em}.ninja-brand strong{color:var(--n-red)}.brand-seal{width:35px;height:35px;display:grid;place-items:center;background:var(--n-red);color:#fff;font:700 16px 'Noto Serif JP',serif}.ninja-header nav{display:flex;gap:34px}.ninja-header nav a{color:var(--n-muted);font:500 10px 'DM Mono',monospace;letter-spacing:.1em;text-transform:uppercase;transition:.2s}.ninja-header nav a:hover{color:var(--n-red)}.ninja-theme-toggle{justify-self:end;width:40px;height:40px;border:1px solid var(--n-line);background:transparent;display:grid;place-items:center;cursor:pointer}.ninja-theme-toggle span{width:12px;height:12px;background:var(--n-red);transform:rotate(45deg)}
.ninja-hero{min-height:720px;display:grid;grid-template-columns:1.08fr .92fr;position:relative;border-bottom:1px solid var(--n-line)}.ninja-hero-copy{padding:105px 7vw;position:relative;z-index:2;display:flex;flex-direction:column;justify-content:center}.ninja-kicker{display:flex;align-items:center;gap:11px;color:var(--n-muted);font:500 10px 'DM Mono',monospace;letter-spacing:.16em}.ninja-kicker i{width:25px;height:1px;background:var(--n-red)}.ninja-hero h1{font-size:clamp(54px,6.4vw,96px);line-height:.96;letter-spacing:-.065em;margin:35px 0 30px}.ninja-hero h1 em{color:var(--n-red);font:italic 400 .9em Georgia,serif}.ninja-hero-copy>p{max-width:610px;color:var(--n-muted);font-size:16px;line-height:1.8}.ninja-author{margin-top:45px;padding-top:24px;border-top:1px solid var(--n-line);display:grid;grid-template-columns:48px 1fr auto;gap:15px;align-items:center;max-width:580px}.ninja-author img{width:48px;height:48px;border-radius:50%;object-fit:cover;filter:grayscale(.25)}.ninja-author strong,.ninja-author span{display:block}.ninja-author strong{font-size:12px}.ninja-author span{color:var(--n-muted);font:9px/1.8 'DM Mono',monospace}.ninja-author a{color:var(--n-red);font:500 9px 'DM Mono',monospace}.ninja-emblem{position:relative;overflow:hidden;border-left:1px solid var(--n-line);background:var(--n-panel);display:grid;place-items:center}.ninja-emblem:before,.ninja-emblem:after{content:"";position:absolute;background:var(--n-line)}.ninja-emblem:before{width:1px;height:100%;left:50%}.ninja-emblem:after{height:1px;width:100%;top:50%}.red-sun{width:min(25vw,350px);height:min(25vw,350px);border-radius:50%;background:var(--n-red);box-shadow:0 0 80px #e63b2e25}.shuriken{width:190px;height:190px;position:absolute;z-index:2;animation:drift 12s linear infinite}.shuriken i{position:absolute;left:50%;top:50%;width:50%;height:50%;background:#0b0c0d;transform-origin:0 0;clip-path:polygon(0 0,100% 8%,48% 45%,0 100%)}.shuriken i:nth-child(2){transform:rotate(90deg)}.shuriken i:nth-child(3){transform:rotate(180deg)}.shuriken i:nth-child(4){transform:rotate(270deg)}.shuriken b{position:absolute;inset:78px;border-radius:50%;background:var(--n-red);border:6px solid #0b0c0d}.emblem-copy{position:absolute;bottom:35px;left:35px;z-index:3;display:flex;gap:13px;align-items:center}.emblem-copy span{font:35px Georgia,serif;color:var(--n-red)}.emblem-copy p{font:9px/1.5 'DM Mono',monospace;letter-spacing:.12em}.hero-watermark{position:absolute;left:-20px;bottom:-70px;color:transparent;-webkit-text-stroke:1px var(--n-line);font:700 300px 'Noto Serif JP',serif;opacity:.45}
.ninja-manifesto{min-height:480px;padding:100px 10vw;display:flex;align-items:center;justify-content:center;position:relative;background:var(--n-paper);color:var(--n-bg)}.ninja-manifesto p{font-size:clamp(42px,5.8vw,82px);line-height:1.08;letter-spacing:-.055em;margin:0;position:relative;z-index:2}.ninja-manifesto p em{color:var(--n-red);font-family:Georgia,serif;font-weight:400}.vertical-label{position:absolute;left:4vw;writing-mode:vertical-rl;font:9px 'DM Mono',monospace;letter-spacing:.18em}.manifesto-mark{position:absolute;right:6vw;color:transparent;-webkit-text-stroke:1px color-mix(in srgb,var(--n-bg) 18%,transparent);font:700 260px 'Noto Serif JP',serif}
.dojo{padding:110px 5vw}.dojo-heading{display:grid;grid-template-columns:1fr 380px;align-items:end;gap:8vw;margin-bottom:60px}.dojo-heading h2{font-size:clamp(42px,5vw,70px);letter-spacing:-.055em;margin:18px 0 0}.dojo-heading>p{color:var(--n-muted);font-size:14px;line-height:1.75}.dojo-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--n-line);border-left:1px solid var(--n-line)}.dojo-grid article{min-height:340px;padding:32px;position:relative;border-right:1px solid var(--n-line);border-bottom:1px solid var(--n-line);overflow:hidden;transition:.25s}.dojo-grid article:hover{background:var(--n-panel);transform:translateY(-4px)}.dojo-grid article>span{color:var(--n-red);font:9px 'DM Mono',monospace;letter-spacing:.12em}.dojo-grid h3{font-size:27px;line-height:1.1;letter-spacing:-.04em;margin:35px 0 18px}.dojo-grid p{max-width:290px;color:var(--n-muted);font-size:12px;line-height:1.7}.dojo-grid b{position:absolute;right:15px;bottom:-25px;color:transparent;-webkit-text-stroke:1px var(--n-line);font:700 115px 'Noto Serif JP',serif}
.notes-gate{margin:0 5vw 110px;min-height:360px;background:var(--n-panel);border:1px solid var(--n-line);display:grid;grid-template-columns:250px 1fr auto;gap:5vw;align-items:center;padding:60px}.gate-symbol{height:230px;border:1px solid var(--n-line);display:grid;place-items:center;position:relative}.gate-symbol i{position:absolute;width:70%;height:5px;background:var(--n-red);top:35px}.gate-symbol i:nth-child(2){top:auto;bottom:35px}.gate-symbol span{font:700 70px 'Noto Serif JP',serif}.notes-gate h2{font-size:clamp(34px,4vw,55px);line-height:1.08;letter-spacing:-.05em;margin:18px 0}.notes-gate p{max-width:610px;color:var(--n-muted);font-size:13px;line-height:1.75}.status{align-self:start;color:var(--n-muted);font:9px 'DM Mono',monospace;letter-spacing:.13em}.status i{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--n-red);margin-right:8px;box-shadow:0 0 0 5px #e63b2e1f}.ninja-footer{min-height:130px;padding:35px 5vw;display:flex;align-items:center;gap:5vw;border-top:1px solid var(--n-line);color:var(--n-muted);font:9px 'DM Mono',monospace}.ninja-footer p{flex:1}.ninja-footer>div{display:flex;gap:22px}.ninja-footer a:hover{color:var(--n-red)}
@keyframes drift{to{transform:rotate(360deg)}}@media(max-width:900px){.ninja-header{grid-template-columns:1fr auto}.ninja-header nav{display:none}.ninja-hero{grid-template-columns:1fr}.ninja-emblem{min-height:500px;border-left:0;border-top:1px solid var(--n-line)}.red-sun{width:300px;height:300px}.dojo-grid{grid-template-columns:repeat(2,1fr)}.notes-gate{grid-template-columns:170px 1fr}.notes-gate .status{display:none}}@media(max-width:620px){.ninja-header{height:72px;padding:0 20px}.ninja-brand{font-size:8px}.brand-seal{width:30px;height:30px}.ninja-hero-copy{padding:80px 20px}.ninja-hero h1{font-size:50px}.ninja-author{grid-template-columns:42px 1fr}.ninja-author a{display:none}.ninja-emblem{min-height:380px}.red-sun{width:230px;height:230px}.shuriken{width:145px;height:145px}.shuriken b{inset:60px}.ninja-manifesto{padding:80px 35px;justify-content:flex-start}.vertical-label,.manifesto-mark{display:none}.dojo{padding:80px 20px}.dojo-heading{grid-template-columns:1fr;gap:20px}.dojo-grid{grid-template-columns:1fr}.notes-gate{margin:0 20px 80px;padding:35px 25px;grid-template-columns:1fr}.gate-symbol{height:150px}.ninja-footer{padding:35px 20px;flex-wrap:wrap}.ninja-footer p{display:none}.ninja-footer>div{order:3;width:100%}}
@media(prefers-reduced-motion:reduce){.shuriken{animation:none}}
.ninja-bio{min-height:calc(100vh - 86px);display:grid;grid-template-columns:400px 1fr;gap:8vw;padding:100px 10vw}.ninja-bio-intro{border-right:1px solid var(--n-line);padding-right:70px}.bio-frame{width:220px;height:280px;position:relative;margin-bottom:45px}.bio-frame img{width:100%;height:100%;object-fit:cover;filter:grayscale(.2);border:1px solid var(--n-line)}.bio-frame i{position:absolute;right:-12px;bottom:-12px;width:65px;height:65px;border-right:3px solid var(--n-red);border-bottom:3px solid var(--n-red)}.ninja-bio-intro h1{font-size:76px;line-height:.9;letter-spacing:-.06em;margin:28px 0}.ninja-bio-intro>p{color:var(--n-red);font:11px 'DM Mono',monospace;letter-spacing:.15em}.ninja-bio-content{max-width:760px}.ninja-bio-content h2{font-size:45px;letter-spacing:-.05em;margin:0 0 30px}.ninja-bio-content h3{color:var(--n-red);font:500 11px 'DM Mono',monospace;letter-spacing:.14em;text-transform:uppercase;margin-top:55px}.ninja-bio-content p,.ninja-bio-content li{color:var(--n-muted);font:16px/1.85 Manrope,sans-serif}.ninja-bio-content strong{color:var(--n-ink)}.ninja-bio-content ul{padding:0;list-style:none;border-top:1px solid var(--n-line)}.ninja-bio-content li{padding:16px 0;border-bottom:1px solid var(--n-line)}.ninja-bio-content>a{display:inline-block;margin-top:30px;color:var(--n-red);font:10px 'DM Mono',monospace;border-bottom:1px solid var(--n-red);padding-bottom:6px}@media(max-width:850px){.ninja-bio{grid-template-columns:1fr;padding:70px 7vw}.ninja-bio-intro{border-right:0;border-bottom:1px solid var(--n-line);padding:0 0 50px}}

/* Dark-first, deeper Ninja visual language */
.ninja-theme.light{--n-bg:#e7e3da;--n-panel:#dcd7cd;--n-raised:#f1eee7;--n-ink:#111315;--n-muted:#646667;--n-line:#c4beb2;--n-paper:#111315}.ninja-emblem{background-image:linear-gradient(135deg,transparent 48%,color-mix(in srgb,var(--n-line) 45%,transparent) 49%,transparent 50%);background-size:34px 34px}.slash-field{position:absolute;inset:0;z-index:1;overflow:hidden}.slash-field i{position:absolute;width:3px;height:130%;top:-15%;background:linear-gradient(transparent,var(--n-red),transparent);transform:rotate(34deg);opacity:.25}.slash-field i:nth-child(1){left:20%}.slash-field i:nth-child(2){left:50%;opacity:.12}.slash-field i:nth-child(3){left:80%}.torii-mark{position:absolute;width:min(27vw,390px);height:min(26vw,360px);z-index:1;filter:drop-shadow(0 22px 40px #0008)}.torii-mark span{position:absolute;display:block;background:var(--n-red);clip-path:polygon(3% 0,97% 0,100% 100%,0 100%)}.torii-mark span:nth-child(1){left:0;right:0;top:12%;height:22px;transform:skewX(-8deg)}.torii-mark span:nth-child(2){left:7%;right:7%;top:25%;height:13px}.torii-mark span:nth-child(3),.torii-mark span:nth-child(4){top:25%;bottom:0;width:18px}.torii-mark span:nth-child(3){left:24%;transform:skewX(-3deg)}.torii-mark span:nth-child(4){right:24%;transform:skewX(3deg)}.shuriken{width:160px;height:160px;animation:drift 18s linear infinite;filter:drop-shadow(0 10px 18px #0009)}.shuriken b{inset:66px}.ninja-theme-toggle span{transition:transform .3s}.ninja-theme.light .ninja-theme-toggle span{transform:rotate(0deg);background:var(--n-ink)}@media(max-width:900px){.torii-mark{width:330px;height:300px}}@media(max-width:620px){.torii-mark{width:250px;height:230px}.shuriken{width:120px;height:120px}.shuriken b{inset:49px}}
