/* Mangekyo reality: still, dimensional color rather than a screen effect. */
body { transition: background-color .8s ease, color .8s ease; }

body.genjutsu-active {
  --bg: #060507;
  --surface: #130a10;
  --cream: #fff1e9;
  --muted: #b9a9ae;
  --red: #e93c49;
  --red-text: #ff8179;
  --line: #42232e;
  --sage: #d8b2bf;
  color-scheme: dark;
  background: var(--bg);
  color: var(--cream);
}

body.genjutsu-active ::selection { background: #a7233a; color: #fff8f0; }
body.genjutsu-active :is(a, button):focus-visible { outline-color: #ff9b8d; }
body.genjutsu-active .grain { opacity: .025; }
body.genjutsu-active .scroll-progress { background: #ff776e; box-shadow: 0 0 12px #ff42565c; }

body.genjutsu-active :is(.site-header, .mobile-nav) {
  background: #09060b;
  border-color: #6f2a3e;
}
body.genjutsu-active .site-header { box-shadow: 0 1px 26px #b3223514; }
body.genjutsu-active .brand svg { color: #fb5961; }
body.genjutsu-active .desktop-nav span { color: #b58a98; }
body.genjutsu-active .desktop-nav a:hover { color: #ff9b8d; }
body.genjutsu-active .sound-toggle { color: #d8bdc1; }
body.genjutsu-active .header-x:hover { color: #ff9b8d; background: #ff77750a; }

body.genjutsu-active .hero-art { filter: saturate(1.2) contrast(1.1) brightness(.82); }
body.genjutsu-active .hero-shade {
  background:
    linear-gradient(90deg, #06050775, transparent 70%),
    linear-gradient(0deg, var(--bg), transparent 31%, transparent 80%, #0c060c45);
}
body.genjutsu-active .hero-aura {
  background: radial-gradient(ellipse at 75% 34%, #bf193c25, transparent 55%);
  opacity: .85;
  mix-blend-mode: normal;
  animation: none;
}
body.genjutsu-active .hero h1 { color: #fff1e9; }
body.genjutsu-active .hero h1 .outline-text { color: transparent; -webkit-text-stroke-color: #ff716e; }
body.genjutsu-active :is(.hero-topline, .hero-eyebrow, .hero-copy > span) { color: #d6c1c3; }
body.genjutsu-active :is(.hero-file, .hero-bottom, .hero-bottom > a, .hero-location) { color: #c8adb5; }
body.genjutsu-active .hero-kanji { color: #e4a0a480; }
body.genjutsu-active .current-quest { border-color: #c84c5c44; color: #d9c3c4; }
body.genjutsu-active .eye-button {
  background: #1a0912c9;
  border-color: #d95167;
  box-shadow: 0 0 0 5px #d8334710, 0 0 28px #e3314830;
}
body.genjutsu-active .eye-button svg { color: #ff5c63; }
body.genjutsu-active .activation-muted { color: #c899a6; }

body.genjutsu-active .button-red {
  background: linear-gradient(110deg, #bc2135, #a41f3d);
  color: #fff7f1;
  box-shadow: 0 5px 24px #b617342a;
}
body.genjutsu-active .button-red:hover { background: linear-gradient(110deg, #cf2a3e, #b62948); }
body.genjutsu-active .text-link:hover { color: #ff9b8d; }
body.genjutsu-active .status-dot { background: #ff8179; box-shadow: 0 0 8px #fd5f6240; }

body.genjutsu-active .ticker {
  background: linear-gradient(100deg, #160910, #08060b 52%, #190b13);
  border-color: #542636;
}
body.genjutsu-active .ticker-track > span:not(.ticker-divider) { color: #eed8d6; }
body.genjutsu-active .ticker-divider { background: #b3445b; }
body.genjutsu-active .transmission { background: #0d070d; border-color: #512333; }
body.genjutsu-active :is(.transmission-id, .transmission-status) { color: #c3a5ae; }
body.genjutsu-active .transmission code { color: #d4bac3; }

body.genjutsu-active .projects {
  background: radial-gradient(ellipse at 100% 0, #5e112722 0, transparent 44%), #060507;
}
body.genjutsu-active .section-heading h2 { color: #fff1e9; }
body.genjutsu-active :is(.project-summary, .project-info p) { color: #c8b7bd; }
body.genjutsu-active .project-info .eyebrow { color: #c896a7; }
body.genjutsu-active .project-filters button { color: #ccb8be; }
body.genjutsu-active .project-filters button.active { color: #fff1e9; }
body.genjutsu-active .project-card-link .project-image { border-color: #6b2e40; }
body.genjutsu-active .project-card-link .project-image > img { filter: saturate(1.1) contrast(1.035); }
body.genjutsu-active .project-card-link:hover .project-image > img { filter: saturate(1.18) contrast(1.035) brightness(1.04); }
body.genjutsu-active .project-card-link .project-status { background: #100710e6; border-color: #cc6a805c; color: #f2d8de; }
body.genjutsu-active .project-card-meta { color: #bfa4ac; }
body.genjutsu-active .project-arrow { border-color: #7b3449; color: #ffc2b8; }
body.genjutsu-active .project-card-link:hover .project-arrow { background: #b7233b; border-color: #e74f68; color: #fff7f1; }
body.genjutsu-active .project-release {
  background: radial-gradient(ellipse at 100% 0, #61132969, transparent 58%), linear-gradient(120deg, #180910, #0b070d 64%);
  border-color: #854052;
  box-shadow: 0 18px 65px #0003, inset 0 1px #f761791c;
}
body.genjutsu-active .release-topline { border-color: #673044; color: #caaab4; }
body.genjutsu-active .release-visual { border-color: #753146; }
body.genjutsu-active .release-visual > img { filter: saturate(1.12) contrast(1.04); }
body.genjutsu-active .release-visual:hover > img { filter: saturate(1.18) contrast(1.04) brightness(1.05); }
body.genjutsu-active .release-subtitle { color: #e4acba; }
body.genjutsu-active :is(.release-description, .feature-copy > p) { color: #c9b7bd; }
body.genjutsu-active .project-tokens > span { color: #d8bdc6; border-color: #623044; background: #190c1559; }
body.genjutsu-active .release-install { border-color: #6b3045; background: #070509a8; }
body.genjutsu-active .release-install code { color: #f4d6d9; }
body.genjutsu-active :is(.release-actions .text-link, .feature-actions .text-link) { color: #dbc1c8; }
body.genjutsu-active .project-featured { background: linear-gradient(120deg, #160a12, #0a070c 70%); border-color: #673047; }
body.genjutsu-active :is(.feature-topline, .feature-context) { border-color: #54283c; color: #c0a4af; }
body.genjutsu-active .feature-visual { border-color: #614052; }
body.genjutsu-active .browser-chrome { background: #120b15; border-color: #614052; color: #ceb7c8; }
body.genjutsu-active .chrome-dots i { background: #a87589; }
body.genjutsu-active .chrome-dots i:first-child { background: #ef7c7e; }
body.genjutsu-active .next-chapters { border-color: #683047; }
body.genjutsu-active .next-heading .eyebrow { color: #d2a2b2; }
body.genjutsu-active .next-card { border-color: #53283c; background: linear-gradient(140deg, #190b13, #0a070d 75%); }
body.genjutsu-active .next-number { color: #bf879e; }
body.genjutsu-active .next-card p { color: #c2aeb7; }
body.genjutsu-active .next-status { color: #e4a6b3; }

body.genjutsu-active .writing {
  background: radial-gradient(ellipse at 15% 0, #6b173133, transparent 65%), #0a060c;
  border-color: #6b2e43;
}
body.genjutsu-active .writing-topline { color: #d4b5c0; }
body.genjutsu-active .article-card {
  background: linear-gradient(140deg, #2c101d, #100810 65%);
  border-color: #824354;
  box-shadow: inset 0 1px #e6668017;
}
body.genjutsu-active .article-card:hover {
  background: linear-gradient(140deg, #391423, #160b15 65%);
  border-color: #db6b79;
}
body.genjutsu-active .article-topline { border-color: #653147; color: #d5a6b8; }
body.genjutsu-active .article-cover { filter: saturate(1.03) contrast(1.025); }
body.genjutsu-active .article-excerpt { color: #cbb4be; }
body.genjutsu-active .article-bottom { color: #f1ced1; }
body.genjutsu-active .writing-footer > .mono { color: #bca1ae; }
body.genjutsu-active .writing-empty { border-color: #824354; background: linear-gradient(120deg, #2c101d, #100810); }

body.genjutsu-active .universe {
  background: radial-gradient(ellipse at 23% 50%, #661c3236, transparent 55%), linear-gradient(125deg, #0e080f, #070509 75%);
  border-color: #733448;
}
body.genjutsu-active .universe-mark { background: radial-gradient(circle, #d8283e20, #7a1c2d10 40%, transparent 67%); }
body.genjutsu-active .universe-mark :is(.orbit-one, .orbit-two) { border-color: #8e3b51; }
body.genjutsu-active .universe-mark .orbit-two { border-color: #da4d61a3; box-shadow: 0 0 35px #f4434912, inset 0 0 35px #f4434910; }
body.genjutsu-active .universe-mark:before,
body.genjutsu-active .universe-mark:after { background: #593141; }
body.genjutsu-active .orbit-one:before,
body.genjutsu-active .orbit-two:before { background: #ffada2; box-shadow: 0 0 8px #fc557661; }
body.genjutsu-active .orbit-label { background: #140a12; color: #dfacba; }
body.genjutsu-active .universe-coordinate { color: #c893a6; }
body.genjutsu-active .universe-mark .universe-eye-control .universe-eye { color: #f84b53; }
body.genjutsu-active .universe-mark .universe-eye-control .ocular-awakened { filter: drop-shadow(0 0 24px #e6384b50); }
body.genjutsu-active .universe-eye { animation: none; }
body.genjutsu-active .ocular-hint { color: #eab0b4; }
body.genjutsu-active .universe-content h2 em { color: #ff9b8d; }
body.genjutsu-active .universe-content p { color: #cbb8c0; }
body.genjutsu-active .identity-tags { color: #dfbdc8; }
body.genjutsu-active .identity-tags > span + span { border-color: #80435a; }

body.genjutsu-active .manifesto {
  background: radial-gradient(ellipse at 100% 100%, #660f282e, transparent 64%), #070509;
}
body.genjutsu-active .manifesto > p { color: #fff1e9; }
body.genjutsu-active .crossed { color: #b28c9b; }
body.genjutsu-active .crossed:after { background: #ff5c69; box-shadow: 0 0 20px #ec405d22; }
body.genjutsu-active .contact {
  background: radial-gradient(ellipse at 85% 45%, #7b1d3652, transparent 60%), linear-gradient(110deg, #160810, #0c070e);
  border-color: #894052;
}
body.genjutsu-active .contact:after { border-color: #d6667752; box-shadow: 0 0 65px #b3263612, inset 0 0 65px #b3263612; }
body.genjutsu-active .contact .outline-text { -webkit-text-stroke-color: #f9a39e; }
body.genjutsu-active .contact-circle {
  background: linear-gradient(135deg, #c2293a, #8d173a);
  color: #fff7f1;
  box-shadow: 0 0 0 8px #d94b6010, 0 0 55px #ca28462a, inset 0 1px #ff8c6c55;
}
body.genjutsu-active .contact-circle:hover { background: linear-gradient(135deg, #d43140, #a32449); }
body.genjutsu-active .footer { background: #070509; border-color: #612c40; }
body.genjutsu-active .footer .text-link { color: #d7b5c4; }

body.genjutsu-active dialog {
  background: radial-gradient(ellipse at 100% 0, #60152c33, transparent 58%), #0a060c;
  border-color: #9f4b60;
  box-shadow: 0 20px 90px #000b;
}
body.genjutsu-active dialog::backdrop { background: #070209e8; }
body.genjutsu-active .dialog-close { background: #150a15ec; border-color: #ae596d; }
body.genjutsu-active .dialog-body p { color: #d0bbc3; }
body.genjutsu-active .dialog-stack > span { color: #e4c4cd; border-color: #744052; }
body.genjutsu-active .dialog-image { filter: saturate(1.08) contrast(1.025); }
body.genjutsu-active .toast { background: #ffe5df; color: #290d19; }

body.genjutsu-active .perception-toggle {
  position: fixed;
  right: 22px;
  bottom: calc(20px + env(safe-area-inset-bottom, 0px));
  z-index: 30;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  min-height: 44px;
  max-width: 150px;
  padding: 9px 13px;
  border: 1px solid #a05268;
  border-radius: 24px;
  background: #160c17f5;
  box-shadow: 0 4px 22px #0007;
  color: #ffe1de;
  font: 8px/1.5 var(--mono);
  letter-spacing: .35px;
  white-space: nowrap;
  transition: background .2s, border-color .2s;
}
body.genjutsu-active .perception-toggle svg { width: 22px; height: 22px; flex-shrink: 0; color: #ff8179; }
body.genjutsu-active .perception-toggle:hover { background: #301326; border-color: #f19191; }
body.genjutsu-active .perception-toggle:focus-visible { outline-offset: 4px; }

@media(max-width:760px) {
  body.genjutsu-active .hero-shade {
    background:
      linear-gradient(0deg, var(--bg) 8%, #08050ae8 29%, #10050c36 62%, transparent 85%),
      linear-gradient(90deg, #13060c55, transparent 70%);
  }
  body.genjutsu-active .hero-aura { background: radial-gradient(ellipse at 68% 18%, #b9163426, transparent 43%); }
  body.genjutsu-active .contact-circle { box-shadow: 0 0 0 5px #d94b6010, 0 0 32px #ca284627; }
  body.genjutsu-active .perception-toggle { right: 12px; bottom: calc(12px + env(safe-area-inset-bottom, 0px)); max-width: 140px; padding: 9px 11px; }
}

@media(prefers-reduced-motion:reduce) {
  body.genjutsu-active :is(.hero-art, .hero-aura, .universe-eye) { animation: none; }
  body.genjutsu-active .universe-mark.is-transforming .orbit-two { animation: none; }
  body.genjutsu-active :is(.project-card-link:hover .project-image > img, .release-visual:hover > img) { transform: none; }
}
