/* Light is the theme.json base. Override WordPress presets so core blocks follow the toggle. */
:root { color-scheme:light; }
:root[data-theme="dark"] {
  --wp--preset--color--base:#0B0913;
  --wp--preset--color--surface:#211D2B;
  --wp--preset--color--line:#494052;
  --wp--preset--color--contrast:#F6F2FF;
  --wp--preset--color--muted:#B8AFC9;
  --wp--preset--color--shu:#FF7296;
  --wp--preset--color--negi:#6CDED0;
  --wp--preset--color--negi-ink:#6CDED0;
  --wp--preset--color--on-shu:#0B0913;
  color-scheme:dark;
}
  /* The requested light teal is 3.96:1 on the base. Its text companion is at least 4.89:1. */
  *,*::before,*::after {
    box-sizing:border-box;
  }
  html {
    scroll-padding-top:var(--wp--custom--size--s-30);
  }
  body {
    margin:0;
    background:var(--wp--preset--color--base);
    color:var(--wp--preset--color--contrast);
    font:400 var(--wp--custom--size--s-18)/1.7 var(--wp--preset--font-family--body);
  }
  button {
    font:inherit;
    color:inherit;
    cursor:pointer;
    border-radius:0;
  }
  button,a {
    -webkit-tap-highlight-color:transparent;
  }
  a {
    color:inherit;
    text-decoration:none;
  }
  :focus-visible {
    outline:var(--wp--custom--size--s-3) solid var(--wp--preset--color--shu);
    outline-offset:var(--wp--custom--size--s-5);
  }
  ::selection {
    background:var(--wp--preset--color--shu);
    color:var(--wp--preset--color--on-shu);
  }
  h1,h2,h3,p,figure {
    margin:0;
  }
  h1,h2,h3 {
    font-family:var(--wp--preset--font-family--display);
    font-weight:400;
    text-wrap:balance;
  }
  p {
    max-width:68ch;
  }
  svg {
    display:block;
  }
  button svg {
    pointer-events:none;
  }
  [hidden] {
    display:none!important;
  }
  .container {
    width:min(var(--wp--style--global--wide-size),calc(100% - var(--wp--custom--size--s-128)));
    margin-inline:auto;
  }
  .sr-only {
    position:absolute;
    width:var(--wp--custom--size--s-1);
    height:var(--wp--custom--size--s-1);
    padding:0;
    margin:-1px;
    overflow:hidden;
    clip-path:inset(50%);
    white-space:nowrap;
    border:0;
  }
  .skip {
    position:fixed;
    top:var(--wp--custom--size--s-12);
    left:var(--wp--custom--size--s-12);
    z-index:100;
    padding:var(--wp--custom--size--s-10) var(--wp--custom--size--s-18);
    background:var(--wp--preset--color--shu);
    color:var(--wp--preset--color--on-shu);
    transform:translateY(-160%);
  }
  .skip:focus {
    transform:none;
  }
  .site-header {
    position:relative;
    z-index:10;
    border-bottom:var(--wp--custom--size--s-1) solid var(--wp--preset--color--line);
    background:var(--wp--preset--color--base);
  }
  .header-inner {
    min-height:var(--wp--custom--size--s-94);
    display:flex;
    align-items:center;
    gap:var(--wp--custom--size--s-32);
  }
  .wordmark {
    flex-shrink:0;
    font:400 var(--wp--custom--size--s-31)/1 var(--wp--preset--font-family--display);
    letter-spacing:-2px;
  }
  .wordmark span {
    color:var(--wp--preset--color--shu);
    margin-left:var(--wp--custom--size--s-2);
  }
  .alex-menu--primary {
    margin-left:auto;
  }
  .alex-menu--primary ul {
    display:flex;
    align-items:center;
    list-style:none;
    padding:0;
    margin:0;
    gap:var(--wp--custom--size--s-20);
  }
  .alex-menu--primary a,.nav-action {
    display:block;
    background:none;
    border:0;
    padding:var(--wp--custom--size--s-12) 0;
    font:500 var(--wp--custom--size--s-13)/1.4 var(--wp--preset--font-family--body);
    white-space:nowrap;
  }
  .alex-menu--primary a:hover,.nav-action:hover {
    color:var(--wp--preset--color--shu);
  }
  .alex-menu--primary a[aria-current] {
    text-decoration:underline;
    text-decoration-color:var(--wp--preset--color--shu);
    text-underline-offset:var(--wp--custom--size--s-9);
    text-decoration-thickness:var(--wp--custom--size--s-3);
  }
  .header-tools {
    display:flex;
    align-items:center;
    gap:var(--wp--custom--size--s-20);
  }
  .alex-lang__list {
    display:flex;
    gap:var(--wp--custom--size--s-8);
    align-items:center;
    font:500 var(--wp--custom--size--s-12)/1.5 var(--wp--preset--font-family--body);
    white-space:nowrap;
    color:var(--wp--preset--color--muted);
  }
  .alex-lang__list .selected {
    color:var(--wp--preset--color--contrast);
    font-weight:800;
  }
  :is(.alex-theme-toggle,.menu-toggle button) {
    display:grid;
    place-items:center;
    width:var(--wp--custom--size--s-44);
    height:var(--wp--custom--size--s-44);
    padding:var(--wp--custom--size--s-10);
    border:var(--wp--custom--size--s-1) solid var(--wp--preset--color--line);
    background:var(--wp--preset--color--surface);
  }
  :is(.alex-theme-toggle,.menu-toggle button):hover {
    color:var(--wp--preset--color--shu);
    border-color:var(--wp--preset--color--shu);
  }
  .icon {
    width:var(--wp--custom--size--s-22);
    height:var(--wp--custom--size--s-22);
    stroke:currentColor;
    stroke-width:1.6;
    fill:none;
    stroke-linejoin:round;
    stroke-linecap:round;
  }
  .alex-theme-toggle__icon--moon,[data-theme="light"] .alex-theme-toggle__icon--sun {
    display:none;
  }
  [data-theme="light"] .alex-theme-toggle__icon--moon {
    display:block;
  }
  .menu-toggle {
    display:none;
  }
  /* Canvas, protective scrim, then copy: bullets never draw over text. */
  .hero {
    position:relative;
    isolation:isolate;
    overflow:hidden;
    border-bottom:var(--wp--custom--size--s-1) solid var(--wp--preset--color--line);
  }
  .danmaku {
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    z-index:-3;
    touch-action:pan-y;
  }
  .hero::before {
    content:'';
    position:absolute;
    inset:0;
    z-index:-2;
    pointer-events:none;
    background:linear-gradient(90deg,var(--wp--preset--color--base),color-mix(in srgb,var(--wp--preset--color--base) 98.0%,transparent) 32%,color-mix(in srgb,var(--wp--preset--color--base) 96.0%,transparent) 47%,color-mix(in srgb,var(--wp--preset--color--base) 72.0%,transparent) 57%,color-mix(in srgb,var(--wp--preset--color--base) 0.0%,transparent) 76%);
  }
  .hero::after {
    content:'';
    position:absolute;
    inset:0;
    z-index:-1;
    pointer-events:none;
    background:linear-gradient(0deg,var(--wp--preset--color--base),color-mix(in srgb,var(--wp--preset--color--base) 0.0%,transparent) 22%);
  }
  .hero-inner {
    position:relative;
    min-height:var(--wp--custom--size--s-720);
    padding-top:var(--wp--custom--size--s-79);
    padding-bottom:var(--wp--custom--size--s-115);
    pointer-events:none;
  }
  .hero-copy {
    width:49%;
    max-width:var(--wp--custom--size--s-630);
    pointer-events:auto;
  }
  .name-lockup {
    position:relative;
    width:fit-content;
    padding-right:var(--wp--custom--size--s-44);
  }
  .hero :is(h1,h2) {
    letter-spacing:-.045em;
    line-height:1.1;
  }
  .surname {
    display:block;
    font-size:clamp(var(--wp--custom--size--s-86),9.9vw,var(--wp--custom--size--s-150));
  }
  .given-name {
    display:block;
    font-size:clamp(var(--wp--custom--size--s-29),3.2vw,var(--wp--custom--size--s-48));
    margin-top:var(--wp--custom--size--s-9);
    letter-spacing:-.04em;
    white-space:nowrap;
  }
  .katakana {
    position:absolute;
    right:0;
    top:var(--wp--custom--size--s-6);
    writing-mode:vertical-rl;
    color:var(--wp--preset--color--negi);
    font-size:clamp(var(--wp--custom--size--s-9),1vw,var(--wp--custom--size--s-15));
    font-weight:500;
    letter-spacing:0;
    line-height:1;
  }
  .hero-intro {
    margin-top:var(--wp--custom--size--s-32);
    max-width:47ch;
    font-size:var(--wp--custom--size--s-18);
    line-height:1.8;
  }
  .title-menu {
    position:relative;
    display:grid;
    gap:var(--wp--custom--size--s-5);
    width:fit-content;
    margin-top:var(--wp--custom--size--s-26);
  }
  .title-menu a {
    position:relative;
    isolation:isolate;
    display:block;
    min-height:var(--wp--custom--size--s-44);
    padding:var(--wp--custom--size--s-4) var(--wp--custom--size--s-16) var(--wp--custom--size--s-5) var(--wp--custom--size--s-33);
    font-size:var(--wp--custom--size--s-21);
    font-weight:800;
    line-height:1.6;
  }
  .title-menu a::before {
    content:'';
    position:absolute;
    inset:0;
    z-index:-1;
    background:var(--wp--preset--color--surface);
    clip-path:polygon(0 0,calc(100% - var(--wp--custom--size--s-13)) 0,100% 50%,calc(100% - var(--wp--custom--size--s-13)) 100%,0 100%);
    opacity:0;
  }
  .title-menu a:hover::before,.title-menu a:focus-visible::before {
    opacity:1;
  }
  .title-menu a:hover,.title-menu a:focus-visible {
    color:var(--wp--preset--color--shu);
  }
  .menu-cursor {
    background:var(--wp--preset--color--base);
    position:absolute;
    left:0;
    top:var(--wp--custom--size--s-8);
    color:var(--wp--preset--color--shu);
    line-height:1.4;
    font-size:var(--wp--custom--size--s-20);
    pointer-events:none;
    transition:transform .16s cubic-bezier(.2,.9,.3,1.2);
  }
  .school {
    margin-top:var(--wp--custom--size--s-23);
    font-size:var(--wp--custom--size--s-12);
    line-height:1.8;
    max-width:55ch;
    color:var(--wp--preset--color--muted);
  }
  .identity {
    width:fit-content;
    background:var(--wp--preset--color--base);
    margin-top:var(--wp--custom--size--s-13);
    color:var(--wp--preset--color--negi-ink);
    font-size:var(--wp--custom--size--s-12);
    font-weight:600;
  }
  .hero-status {
    position:absolute;
    top:var(--wp--custom--size--s-32);
    right:0;
    display:flex;
    align-items:center;
    gap:var(--wp--custom--size--s-10);
    font:var(--wp--custom--size--s-14)/1.4 var(--wp--preset--font-family--hud);
    color:var(--wp--preset--color--negi-ink);
    background:var(--wp--preset--color--base);
    padding:var(--wp--custom--size--s-7) var(--wp--custom--size--s-11);
    border-left:var(--wp--custom--size--s-2) solid var(--wp--preset--color--negi);
  }
  .status-dot {
    width:var(--wp--custom--size--s-7);
    height:var(--wp--custom--size--s-7);
    border:var(--wp--custom--size--s-1) solid var(--wp--preset--color--negi);
    transform:rotate(45deg);
    background:var(--wp--preset--color--negi);
  }
  .spell-hud {
    position:absolute;
    right:0;
    bottom:var(--wp--custom--size--s-31);
    width:var(--wp--custom--size--s-460);
    padding:var(--wp--custom--size--s-15) var(--wp--custom--size--s-19) var(--wp--custom--size--s-13);
    border:var(--wp--custom--size--s-1) solid var(--wp--preset--color--line);
    border-left:var(--wp--custom--size--s-3) solid var(--wp--preset--color--shu);
    background:var(--wp--preset--color--base);
    pointer-events:auto;
  }
  .spell-meta {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:var(--wp--custom--size--s-10);
    font:var(--wp--custom--size--s-12)/1.5 var(--wp--preset--font-family--hud);
    color:var(--wp--preset--color--muted);
  }
  .spell-name {
    font:var(--wp--custom--size--s-19)/1.5 var(--wp--preset--font-family--hud);
    color:var(--wp--preset--color--contrast);
    margin-top:var(--wp--custom--size--s-5);
    min-height:var(--wp--custom--size--s-29);
  }
  .spell-name.declare {
    animation:declare .45s cubic-bezier(.18,.7,.3,1) both;
  }
  @keyframes declare {
    from {
      clip-path:inset(0 100% 0 0);
      transform:translateX(var(--wp--custom--size--s-12));
    }
    to {
      clip-path:inset(0);
      transform:none;
    }
  }
  .hud-controls {
    display:flex;
    align-items:center;
    gap:var(--wp--custom--size--s-20);
    margin-top:var(--wp--custom--size--s-9);
  }
  .hud-button {
    min-height:var(--wp--custom--size--s-40);
    border:0;
    border-bottom:var(--wp--custom--size--s-1) solid var(--wp--preset--color--shu);
    background:none;
    color:var(--wp--preset--color--shu);
    padding:var(--wp--custom--size--s-4) 0;
    font:var(--wp--custom--size--s-14)/1.4 var(--wp--preset--font-family--hud);
  }
  .hud-button:hover {
    color:var(--wp--preset--color--contrast);
  }
  .pause-button {
    color:var(--wp--preset--color--muted);
    border-color:var(--wp--preset--color--line);
  }
  .play-hint {
    position:absolute;
    right:0;
    top:var(--wp--custom--size--s-74);
    font-size:var(--wp--custom--size--s-11);
    color:var(--wp--preset--color--muted);
    background:var(--wp--preset--color--base);
    padding:var(--wp--custom--size--s-2) var(--wp--custom--size--s-8);
  }
  .hero-footnote {
    position:absolute;
    bottom:var(--wp--custom--size--s-34);
    left:0;
    color:var(--wp--preset--color--muted);
    font-size:var(--wp--custom--size--s-12);
    display:flex;
    align-items:center;
    gap:var(--wp--custom--size--s-12);
  }
  .hero-footnote::before {
    content:'';
    width:var(--wp--custom--size--s-29);
    height:var(--wp--custom--size--s-2);
    background:var(--wp--preset--color--shu);
  }
  .section {
    position:relative;
    padding-block:var(--wp--custom--size--s-87) 0;
  }
  .section-heading {
    position:relative;
    display:flex;
    justify-content:space-between;
    align-items:end;
    gap:var(--wp--custom--size--s-32);
    margin-bottom:var(--wp--custom--size--s-32);
  }
  .section-heading h2,.route-heading h2 {
    font-size:clamp(var(--wp--custom--size--s-28),3.1vw,var(--wp--custom--size--s-43));
    line-height:1.25;
    letter-spacing:-.035em;
  }
  .section-heading p {
    color:var(--wp--preset--color--muted);
    font-size:var(--wp--custom--size--s-14);
    max-width:34ch;
  }
  .jp-margin {
    display:none;
    position:absolute;
    left:auto;
    right:calc(100% + var(--wp--custom--size--s-20));
    top:0;
    width:var(--wp--custom--size--s-30);
    writing-mode:vertical-rl;
    text-orientation:upright;
    white-space:nowrap;
    font-family:var(--wp--preset--font-family--body);
    font-weight:500;
    font-size:var(--wp--custom--size--s-30);
    font-synthesis:none;
    line-height:1;
    color:var(--wp--preset--color--muted);
    opacity:.28;
    pointer-events:none;
    user-select:none;
  }
  /* At 1280px the gutter is 64px: 30px glyphs + a 20px gap fit entirely outside it.
     Wait for the Japanese font before showing these optional decorations. */
  @media (min-width:1280px) {
    .jp-font-ready .jp-margin {
      display:block;
    }
  }
  .route-section {
    position:relative;
    display:grid;
    grid-template-columns:1fr 1.3fr 1fr;
    align-items:center;
    gap:var(--wp--custom--size--s-45);
    padding-block:var(--wp--custom--size--s-52);
    border-bottom:var(--wp--custom--size--s-1) solid var(--wp--preset--color--line);
  }
  .route-heading {
    position:relative;
  }
  .route-heading h2 {
    font-size:var(--wp--custom--size--s-29);
    max-width:10ch;
  }
  .route-heading p {
    color:var(--wp--preset--color--muted);
    font-size:var(--wp--custom--size--s-13);
    margin-top:var(--wp--custom--size--s-14);
  }
  .route-cities {
    display:flex;
    justify-content:space-between;
    gap:var(--wp--custom--size--s-20);
  }
  .route-cities strong {
    display:block;
    font-size:var(--wp--custom--size--s-20);
    font-weight:700;
  }
  .route-cities small {
    color:var(--wp--preset--color--muted);
    font-size:var(--wp--custom--size--s-12);
    display:block;
  }
  .route-cities div:last-child {
    text-align:right;
  }
  .route-art {
    width:100%;
    height:auto;
    margin-top:var(--wp--custom--size--s-8);
    overflow:visible;
  }
  .route-facts {
    border-left:var(--wp--custom--size--s-1) solid var(--wp--preset--color--line);
    padding-left:var(--wp--custom--size--s-27);
    font-size:var(--wp--custom--size--s-13);
    color:var(--wp--preset--color--muted);
  }
  .route-facts strong {
    display:block;
    font:600 var(--wp--custom--size--s-19)/1.5 var(--wp--preset--font-family--body);
    color:var(--wp--preset--color--negi-ink);
    margin-bottom:var(--wp--custom--size--s-8);
  }
  .route-facts p+p {
    margin-top:var(--wp--custom--size--s-7);
  }
  .editorial-post {
    display:grid;
    grid-template-columns:var(--wp--custom--size--s-177) 1fr var(--wp--custom--size--s-36);
    gap:var(--wp--custom--size--s-22);
    align-items:start;
    border-top:var(--wp--custom--size--s-1) solid var(--wp--preset--color--line);
    padding:var(--wp--custom--size--s-27) 0 var(--wp--custom--size--s-30);
  }
  .editorial-post:last-child {
    border-bottom:var(--wp--custom--size--s-1) solid var(--wp--preset--color--line);
  }
  .editorial-post time {
    padding-top:var(--wp--custom--size--s-6);
    font:var(--wp--custom--size--s-14)/1.7 var(--wp--preset--font-family--hud);
    color:var(--wp--preset--color--muted);
  }
  .editorial-post h3 {
    font-size:clamp(var(--wp--custom--size--s-19),1.8vw,var(--wp--custom--size--s-25));
    line-height:1.45;
    letter-spacing:-.025em;
  }
  .text-button {
    padding:0;
    border:0;
    background:none;
    text-align:left;
    font:inherit;
  }
  .editorial-post .text-button {
    background-image:linear-gradient(var(--wp--preset--color--shu),var(--wp--preset--color--shu));
    background-position:left bottom;
    background-repeat:no-repeat;
    background-size:0 var(--wp--custom--size--s-2);
    transition:background-size .25s ease;
  }
  .editorial-post .text-button:hover,.editorial-post .text-button:focus-visible {
    background-size:100% var(--wp--custom--size--s-2);
  }
  .editorial-post p {
    margin-top:var(--wp--custom--size--s-8);
    font-size:var(--wp--custom--size--s-17);
    color:var(--wp--preset--color--muted);
    max-width:72ch;
  }
  .post-slash {
    color:var(--wp--preset--color--shu);
    font:var(--wp--custom--size--s-35)/1.4 var(--wp--preset--font-family--display);
    opacity:0;
    transform:translateX(-7px);
    transition:opacity .2s,transform .2s;
  }
  .editorial-post:hover .post-slash,.editorial-post:focus-within .post-slash {
    opacity:1;
    transform:none;
  }
  .card-table {
    display:grid;
    grid-template-columns:minmax(0,1.13fr) minmax(0,1fr);
    grid-template-areas:
      'lumi roblox'
      'lumi animation'
      'website website';
    grid-template-rows:auto auto auto;
    align-items:stretch;
    gap:var(--wp--custom--size--s-22);
    perspective:var(--wp--custom--size--s-1100);
    padding:var(--wp--custom--size--s-5);
    margin:-5px;
    overflow:clip;
  }
  .spell-card {
    --cut:var(--wp--custom--size--s-22);
    position:relative;
    display:grid;
    min-width:0;
    /* Resting positions are always the default, including without JS or observers. */
    transform:none;
    opacity:1;
    padding:var(--wp--custom--size--s-1);
    background:var(--wp--preset--color--line);
    clip-path:polygon(0 0,calc(100% - var(--cut)) 0,100% var(--cut),100% 100%,var(--cut) 100%,0 calc(100% - var(--cut)));
  }
  .card-inner {
    min-width:0;
    position:relative;
    isolation:isolate;
    overflow:hidden;
    background:var(--wp--preset--color--surface);
    clip-path:polygon(0 0,calc(100% - var(--cut)) 0,100% var(--cut),100% 100%,var(--cut) 100%,0 calc(100% - var(--cut)));
  }
  .card-inner::after {
    content:'';
    position:absolute;
    z-index:-1;
    pointer-events:none;
    inset:-70%;
    background:linear-gradient(115deg,transparent 35%,color-mix(in srgb,var(--wp--preset--color--negi) 4%,transparent) 43%,color-mix(in srgb,var(--wp--preset--color--contrast) 4%,transparent) 48%,color-mix(in srgb,var(--wp--preset--color--shu) 4%,transparent) 53%,transparent 61%);
    transform:translateX(-70%);
  }
  .spell-card:hover,.spell-card:focus-within {
    background:var(--wp--preset--color--shu);
  }
  .spell-card:hover .card-inner::after,.spell-card:focus-within .card-inner::after {
    animation:sheen .8s ease both;
  }
  @keyframes sheen {
    to {
      transform:translateX(70%);
    }
  }
  .rank-band {
    display:flex;
    align-items:center;
    gap:var(--wp--custom--size--s-10);
    padding:var(--wp--custom--size--s-12) var(--wp--custom--size--s-24);
    border-bottom:var(--wp--custom--size--s-1) solid var(--wp--preset--color--line);
    font-size:var(--wp--custom--size--s-11);
    line-height:1.65;
    color:var(--wp--preset--color--negi-ink);
    font-weight:600;
    background:var(--wp--preset--color--surface);
  }
  .rank-band::before {
    content:'✦';
    color:var(--wp--preset--color--negi-ink);
    font-size:var(--wp--custom--size--s-15);
    flex:none;
  }
  .card-table > li:first-child {
    grid-area:lumi;
  }
  .card-table > li:nth-child(2) {
    grid-area:roblox;
  }
  .card-table > li:first-child .rank-band,.card-table > li:first-child .rank-band::before {
    color:var(--wp--preset--color--shu);
  }
  .device-art {
    position:relative;
    display:grid;
    place-items:center;
    min-height:var(--wp--custom--size--s-268);
    padding:var(--wp--custom--size--s-12) var(--wp--custom--size--s-26) 0;
  }
  .device-art svg {
    width:min(100%,var(--wp--custom--size--s-390));
    height:auto;
  }
  .device-caption {
    position:absolute;
    bottom:var(--wp--custom--size--s-4);
    left:var(--wp--custom--size--s-26);
    font:var(--wp--custom--size--s-11)/1.5 var(--wp--preset--font-family--hud);
    color:var(--wp--preset--color--muted);
  }
  .project-copy {
    padding:var(--wp--custom--size--s-26) var(--wp--custom--size--s-28) var(--wp--custom--size--s-33);
  }
  .project-copy h3 {
    font-size:var(--wp--custom--size--s-27);
    line-height:1.35;
    letter-spacing:-.03em;
  }
  .project-copy h3 button:hover {
    color:var(--wp--preset--color--shu);
  }
  .card-table > li:first-child h3 {
    font-size:var(--wp--custom--size--s-52);
  }
  .project-copy p {
    color:var(--wp--preset--color--muted);
    font-size:var(--wp--custom--size--s-17);
    line-height:1.8;
    margin-top:var(--wp--custom--size--s-12);
    max-width:49ch;
  }
  .project-bottom {
    display:flex;
    flex-wrap:wrap;
    gap:var(--wp--custom--size--s-10);
    margin-top:var(--wp--custom--size--s-24);
    color:var(--wp--preset--color--negi-ink);
    font-size:var(--wp--custom--size--s-11);
  }
  .project-bottom span {
    border:var(--wp--custom--size--s-1) solid var(--wp--preset--color--line);
    padding:var(--wp--custom--size--s-3) var(--wp--custom--size--s-9);
    background:var(--wp--preset--color--surface);
  }
  .compact-copy {
    display:grid;
    grid-template-columns:minmax(0,1fr) var(--wp--custom--size--s-76);
    align-items:center;
    gap:var(--wp--custom--size--s-15);
  }
  .project-art {
    width:var(--wp--custom--size--s-76);
    height:var(--wp--custom--size--s-76);
    color:var(--wp--preset--color--negi);
    stroke:currentColor;
    stroke-width:1.4;
    fill:none;
    stroke-linejoin:round;
    stroke-linecap:round;
  }
  .card-table > li:nth-child(3) {
    grid-area:animation;
    margin-left:var(--wp--custom--size--s-30);
  }
  .card-table > li:nth-child(3) .project-art {
    color:var(--wp--preset--color--shu);
  }
  .card-table > li:nth-child(n+4) {
    grid-area:website;
    width:81%;
    justify-self:end;
  }
  .card-table > li:nth-child(2n+5) {
    justify-self:start;
  }
  .card-table > li:nth-child(n+4) .card-inner {
    display:grid;
    grid-template-columns:var(--wp--custom--size--s-180) minmax(0,1fr);
  }
  .card-table > li:nth-child(n+4) .rank-band {
    border-bottom:0;
    border-right:var(--wp--custom--size--s-1) solid var(--wp--preset--color--line);
  }
  .card-table > li:nth-child(n+4) .project-copy {
    padding:var(--wp--custom--size--s-23) var(--wp--custom--size--s-28) var(--wp--custom--size--s-25);
  }
  .card-table > li:nth-child(n+4) h3 {
    font-size:var(--wp--custom--size--s-23);
  }
  .card-table > li:nth-child(n+4) p {
    max-width:65ch;
    margin-top:var(--wp--custom--size--s-8);
  }
  .hobbies {
    padding-bottom:var(--wp--custom--size--s-85);
  }
  .hobby-list {
    list-style:none;
    padding:0;
    margin:0;
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    border-block:var(--wp--custom--size--s-1) solid var(--wp--preset--color--line);
  }
  .hobby-list > .hobby-item {
    padding:var(--wp--custom--size--s-27) var(--wp--custom--size--s-27) var(--wp--custom--size--s-29);
    border-right:var(--wp--custom--size--s-1) solid var(--wp--preset--color--line);
  }
  .hobby-list > .hobby-item:first-child {
    padding-left:0;
  }
  .hobby-list > .hobby-item:last-child {
    border-right:0;
    padding-right:0;
  }
  .hobby-top {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:var(--wp--custom--size--s-8);
    margin-bottom:var(--wp--custom--size--s-18);
  }
  .hobby-top svg {
    width:var(--wp--custom--size--s-30);
    height:var(--wp--custom--size--s-30);
    color:var(--wp--preset--color--shu);
  }
  .hobby-top span {
    color:var(--wp--preset--color--negi-ink);
    font-size:var(--wp--custom--size--s-12);
  }
  .hobby-list h3 {
    font-size:var(--wp--custom--size--s-21);
    line-height:1.4;
  }
  .hobby-list p {
    font-size:var(--wp--custom--size--s-15);
    line-height:1.8;
    color:var(--wp--preset--color--muted);
    margin-top:var(--wp--custom--size--s-11);
  }
  .site-footer {
    position:relative;
    background:var(--wp--preset--color--surface);
    border-top:var(--wp--custom--size--s-1) solid var(--wp--preset--color--line);
  }
  .contact {
    position:relative;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:var(--wp--custom--size--s-50);
    padding-block:var(--wp--custom--size--s-60) var(--wp--custom--size--s-55);
  }
  .contact h2 {
    font-size:clamp(var(--wp--custom--size--s-28),3.8vw,var(--wp--custom--size--s-52));
    line-height:1.27;
    letter-spacing:-.04em;
    max-width:17ch;
  }
  .contact .jp-margin {
    top:var(--wp--custom--size--s-58);
  }
  .contact p {
    color:var(--wp--preset--color--muted);
    font-size:var(--wp--custom--size--s-15);
    margin-top:var(--wp--custom--size--s-18);
  }
  .contact-action {
    flex:none;
  }
  .button {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:var(--wp--custom--size--s-54);
    border:var(--wp--custom--size--s-1) solid var(--wp--preset--color--shu);
    background:var(--wp--preset--color--shu);
    color:var(--wp--preset--color--on-shu);
    font-size:var(--wp--custom--size--s-15);
    font-weight:800;
    padding:var(--wp--custom--size--s-13) var(--wp--custom--size--s-25);
  }
  .button:hover {
    outline:var(--wp--custom--size--s-1) solid var(--wp--preset--color--shu);
    outline-offset:var(--wp--custom--size--s-4);
  }
  .social-links {
    display:flex;
    gap:var(--wp--custom--size--s-25);
    margin-top:var(--wp--custom--size--s-17);
    font-size:var(--wp--custom--size--s-13);
  }
  .social-links a {
    text-decoration:underline;
    text-underline-offset:var(--wp--custom--size--s-5);
    text-decoration-color:var(--wp--preset--color--muted);
  }
  .social-links a:hover {
    color:var(--wp--preset--color--shu);
  }
  .footer-bottom {
    border-top:var(--wp--custom--size--s-1) solid var(--wp--preset--color--line);
    padding-block:var(--wp--custom--size--s-23) var(--wp--custom--size--s-28);
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:var(--wp--custom--size--s-25);
    font-size:var(--wp--custom--size--s-11);
    color:var(--wp--preset--color--muted);
  }
  .footer-bottom .alex-lang__list {
    margin-left:auto;
  }
  /* Night has lit edges and darker rank bands; the light treatments stay unchanged. */
  [data-theme="dark"] .card-inner,
  [data-theme="dark"] .site-footer {
    box-shadow:inset 0 var(--wp--custom--size--s-1) 0 color-mix(in srgb,var(--wp--preset--color--contrast) 5%,transparent);
  }
  [data-theme="dark"] .rank-band {
    background:color-mix(in srgb,var(--wp--preset--color--surface) 65%,var(--wp--preset--color--base));
  }
  [data-theme="dark"] .spell-hud {
    background:var(--wp--preset--color--surface);
    box-shadow:inset 0 var(--wp--custom--size--s-1) 0 color-mix(in srgb,var(--wp--preset--color--contrast) 5%,transparent);
  }
  [data-theme="dark"] .device-art svg {
    filter:drop-shadow(0 0 var(--wp--custom--size--s-8) color-mix(in srgb,var(--wp--preset--color--negi) 10%,transparent));
  }
  @media (min-width:1500px) {
    .hero-inner {
      min-height:var(--wp--custom--size--s-780);
      padding-top:var(--wp--custom--size--s-90);
    }
    .hero-intro {
      font-size:var(--wp--custom--size--s-19);
    }
    .spell-hud {
      bottom:var(--wp--custom--size--s-42);
    }
  }
  @media (max-width:1250px) {
    .container {
      width:calc(100% - var(--wp--custom--size--s-88));
    }
    .header-inner {
      gap:var(--wp--custom--size--s-23);
    }
    .alex-menu--primary ul {
      gap:var(--wp--custom--size--s-13);
    }
    .header-tools {
      gap:var(--wp--custom--size--s-12);
    }
    .alex-menu--primary a,.nav-action {
      font-size:var(--wp--custom--size--s-12);
    }
    .hero-copy {
      width:52%;
    }
    .hero-intro {
      font-size:var(--wp--custom--size--s-17);
    }
    .route-section {
      gap:var(--wp--custom--size--s-27);
      grid-template-columns:.9fr 1.15fr 1fr;
    }
    .route-heading h2 {
      font-size:var(--wp--custom--size--s-26);
    }
    .route-facts {
      padding-left:var(--wp--custom--size--s-20);
    }
    .project-copy {
      padding:var(--wp--custom--size--s-23);
    }
    .project-copy h3 {
      font-size:var(--wp--custom--size--s-24);
    }
    .card-table > li:first-child h3 {
      font-size:var(--wp--custom--size--s-48);
    }
  }
  @media (max-width:1050px) {
    .header-inner {
      min-height:var(--wp--custom--size--s-80);
    }
    .header-tools {
      margin-left:auto;
      gap:var(--wp--custom--size--s-18);
    }
    .menu-ready .menu-toggle {
      display:grid;
    }
    .menu-ready .alex-menu--primary {
      position:absolute;
      top:100%;
      left:var(--wp--custom--size--s-44);
      right:var(--wp--custom--size--s-44);
      border:var(--wp--custom--size--s-1) solid var(--wp--preset--color--shu);
      padding:var(--wp--custom--size--s-19) var(--wp--custom--size--s-24);
      background:var(--wp--preset--color--surface);
    }
    .menu-ready .alex-menu--primary:not(.is-open) {
      display:none;
    }
    .alex-menu--primary ul {
      display:grid;
      grid-template-columns:repeat(3,1fr);
      gap:var(--wp--custom--size--s-6) var(--wp--custom--size--s-24);
    }
    .alex-menu--primary a,.nav-action {
      font-size:var(--wp--custom--size--s-16);
      width:100%;
      text-align:left;
    }
    .hero-inner {
      min-height:var(--wp--custom--size--s-737);
      padding-top:var(--wp--custom--size--s-66);
    }
    .hero-copy {
      width:59%;
    }
    .surname {
      font-size:clamp(var(--wp--custom--size--s-85),10.7vw,var(--wp--custom--size--s-112));
    }
    .given-name {
      font-size:clamp(var(--wp--custom--size--s-28),3.5vw,var(--wp--custom--size--s-37));
    }
    .katakana {
      font-size:clamp(var(--wp--custom--size--s-9),1vw,var(--wp--custom--size--s-11));
      letter-spacing:0;
    }
    .hero::before {
      background:linear-gradient(90deg,var(--wp--preset--color--base),color-mix(in srgb,var(--wp--preset--color--base) 98.0%,transparent) 42%,color-mix(in srgb,var(--wp--preset--color--base) 94.0%,transparent) 58%,color-mix(in srgb,var(--wp--preset--color--base) 0.0%,transparent) 87%);
    }
    .hero-status {
      top:var(--wp--custom--size--s-24);
      font-size:var(--wp--custom--size--s-12);
    }
    .play-hint {
      top:var(--wp--custom--size--s-65);
    }
    .spell-hud {
      width:var(--wp--custom--size--s-390);
    }
    .spell-name {
      font-size:var(--wp--custom--size--s-17);
    }
    .hero-footnote {
      font-size:var(--wp--custom--size--s-11);
      max-width:var(--wp--custom--size--s-180);
    }
    .route-section {
      grid-template-columns:1fr 1.3fr;
      gap:var(--wp--custom--size--s-30) var(--wp--custom--size--s-35);
    }
    .route-heading {
      grid-row:span 2;
    }
    .route-heading h2 {
      font-size:var(--wp--custom--size--s-33);
    }
    .route-facts {
      border-left:0;
      padding-left:0;
    }
    .route-facts strong {
      margin-bottom:var(--wp--custom--size--s-4);
    }
    .route-facts p+p {
      margin-top:var(--wp--custom--size--s-3);
    }
    .editorial-post {
      grid-template-columns:var(--wp--custom--size--s-137) 1fr var(--wp--custom--size--s-24);
      gap:var(--wp--custom--size--s-18);
    }
    .editorial-post time {
      font-size:var(--wp--custom--size--s-12);
    }
    .compact-copy {
      grid-template-columns:1fr var(--wp--custom--size--s-45);
      gap:var(--wp--custom--size--s-12);
    }
    .project-art {
      width:var(--wp--custom--size--s-45);
      height:var(--wp--custom--size--s-60);
    }
    .project-copy h3 {
      font-size:var(--wp--custom--size--s-21);
    }
    .card-table > li:first-child h3 {
      font-size:var(--wp--custom--size--s-44);
    }
    .rank-band {
      padding-inline:var(--wp--custom--size--s-20);
    }
    .card-table > li:nth-child(3) {
      margin-left:var(--wp--custom--size--s-12);
    }
    .card-table > li:nth-child(n+4) {
      width:90%;
    }
    .device-art {
      min-height:var(--wp--custom--size--s-255);
    }
    .hobby-list > .hobby-item {
      padding-inline:var(--wp--custom--size--s-18);
    }
    .hobby-top {
      flex-wrap:wrap;
    }
    .hobby-list h3 {
      font-size:var(--wp--custom--size--s-19);
    }
  }
  @media (max-width:700px) {
    .container {
      width:calc(100% - var(--wp--custom--size--s-44));
    }
    .header-inner {
      min-height:var(--wp--custom--size--s-73);
      gap:var(--wp--custom--size--s-10);
    }
    .wordmark {
      font-size:var(--wp--custom--size--s-27);
    }
    .header-tools {
      gap:var(--wp--custom--size--s-10);
    }
    .alex-lang__list {
      gap:var(--wp--custom--size--s-6);
      font-size:var(--wp--custom--size--s-11);
    }
    :is(.alex-theme-toggle,.menu-toggle button) {
      width:var(--wp--custom--size--s-40);
      height:var(--wp--custom--size--s-40);
      padding:var(--wp--custom--size--s-9);
    }
    .alex-menu--primary {
      left:var(--wp--custom--size--s-22);
      right:var(--wp--custom--size--s-22);
      padding:var(--wp--custom--size--s-17);
    }
    .alex-menu--primary ul {
      grid-template-columns:repeat(2,1fr);
      gap:var(--wp--custom--size--s-4) var(--wp--custom--size--s-18);
    }
    .hero-inner {
      min-height:var(--wp--custom--size--s-650);
      padding-top:var(--wp--custom--size--s-48);
      padding-bottom:var(--wp--custom--size--s-152);
    }
    .hero-copy {
      width:100%;
      max-width:var(--wp--custom--size--s-480);
    }
    .hero-copy .identity {
      display:none;
    }
    .hero::before {
      background:linear-gradient(90deg,color-mix(in srgb,var(--wp--preset--color--base) 97.0%,transparent),color-mix(in srgb,var(--wp--preset--color--base) 95.0%,transparent) 65%,color-mix(in srgb,var(--wp--preset--color--base) 88.0%,transparent));
    }
    .hero::after {
      background:linear-gradient(180deg,transparent 72%,color-mix(in srgb,var(--wp--preset--color--base) 96.0%,transparent));
    }
    .name-lockup {
      padding-right:var(--wp--custom--size--s-33);
    }
    .surname {
      font-size:clamp(var(--wp--custom--size--s-78),20vw,var(--wp--custom--size--s-119));
    }
    .given-name {
      font-size:clamp(var(--wp--custom--size--s-26),6.6vw,var(--wp--custom--size--s-40));
      margin-top:var(--wp--custom--size--s-6);
    }
    .katakana {
      top:var(--wp--custom--size--s-5);
      font-size:clamp(var(--wp--custom--size--s-8),2.1vw,var(--wp--custom--size--s-12));
      letter-spacing:0;
    }
    .hero-intro {
      margin-top:var(--wp--custom--size--s-22);
      font-size:var(--wp--custom--size--s-16);
      line-height:1.8;
      max-width:47ch;
    }
    .title-menu {
      margin-top:var(--wp--custom--size--s-19);
      gap:var(--wp--custom--size--s-3);
    }
    .title-menu a {
      font-size:var(--wp--custom--size--s-18);
      padding-left:var(--wp--custom--size--s-29);
    }
    .menu-cursor {
      top:var(--wp--custom--size--s-7);
      font-size:var(--wp--custom--size--s-17);
    }
    .school {
      margin-top:var(--wp--custom--size--s-15);
      font-size:var(--wp--custom--size--s-11);
      max-width:47ch;
    }
    .identity {
      font-size:var(--wp--custom--size--s-11);
      margin-top:var(--wp--custom--size--s-9);
    }
    .hero-status {
      top:var(--wp--custom--size--s-14);
      right:0;
      font-size:var(--wp--custom--size--s-10);
      padding:var(--wp--custom--size--s-3) var(--wp--custom--size--s-7);
    }
    .play-hint,.hero-footnote {
      display:none;
    }
    .spell-hud {
      width:100%;
      bottom:var(--wp--custom--size--s-20);
      padding:var(--wp--custom--size--s-10) var(--wp--custom--size--s-14) var(--wp--custom--size--s-8);
    }
    .spell-meta {
      font-size:var(--wp--custom--size--s-10);
    }
    .spell-name {
      font-size:var(--wp--custom--size--s-16);
      min-height:var(--wp--custom--size--s-24);
      margin-top:var(--wp--custom--size--s-4);
    }
    .hud-controls {
      margin-top:var(--wp--custom--size--s-2);
      gap:var(--wp--custom--size--s-24);
    }
    .hud-button {
      font-size:var(--wp--custom--size--s-12);
      min-height:var(--wp--custom--size--s-38);
    }
    .route-section {
      grid-template-columns:1fr;
      padding-block:var(--wp--custom--size--s-38);
      gap:var(--wp--custom--size--s-24);
    }
    .route-heading {
      grid-row:auto;
    }
    .route-heading h2 {
      max-width:none;
      font-size:var(--wp--custom--size--s-27);
    }
    .route-heading p {
      margin-top:var(--wp--custom--size--s-9);
      font-size:var(--wp--custom--size--s-12);
    }
    .route-map {
      width:100%;
    }
    .route-cities strong {
      font-size:var(--wp--custom--size--s-19);
    }
    .route-art {
      margin-top:0;
      max-height:var(--wp--custom--size--s-65);
    }
    .route-facts {
      border-top:var(--wp--custom--size--s-1) solid var(--wp--preset--color--line);
      padding-top:var(--wp--custom--size--s-20);
      font-size:var(--wp--custom--size--s-13);
    }
    .route-facts strong {
      font-size:var(--wp--custom--size--s-19);
      margin-bottom:var(--wp--custom--size--s-8);
    }
    .section {
      padding-top:var(--wp--custom--size--s-51);
    }
    .section-heading {
      display:block;
      margin-bottom:var(--wp--custom--size--s-23);
    }
    .section-heading h2 {
      font-size:var(--wp--custom--size--s-27);
      max-width:17ch;
    }
    .section-heading p {
      font-size:var(--wp--custom--size--s-13);
      margin-top:var(--wp--custom--size--s-12);
      max-width:35ch;
    }
    .editorial-post {
      grid-template-columns:1fr;
      gap:var(--wp--custom--size--s-9);
      padding-block:var(--wp--custom--size--s-21) var(--wp--custom--size--s-25);
    }
    .editorial-post time {
      padding:0;
      font-size:var(--wp--custom--size--s-12);
    }
    .editorial-post h3 {
      font-size:var(--wp--custom--size--s-19);
      line-height:1.5;
    }
    .editorial-post p {
      font-size:var(--wp--custom--size--s-16);
      line-height:1.8;
      margin-top:var(--wp--custom--size--s-10);
    }
    .post-slash {
      display:none;
    }
    .card-table {
      grid-template-columns:1fr;
      grid-template-areas:'lumi' 'roblox' 'animation' 'website';
      gap:var(--wp--custom--size--s-17);
    }
    .card-table > li:nth-child(3) {
      margin:0;
    }
    .card-table > li:nth-child(n+4) {
      width:100%;
    }
    .card-table > li:nth-child(n+4) .card-inner {
      display:block;
    }
    .card-table > li:nth-child(n+4) .rank-band {
      border-right:0;
      border-bottom:var(--wp--custom--size--s-1) solid var(--wp--preset--color--line);
    }
    .rank-band {
      padding:var(--wp--custom--size--s-11) var(--wp--custom--size--s-20);
      font-size:var(--wp--custom--size--s-10);
    }
    .project-copy,.card-table > li:nth-child(n+4) .project-copy {
      padding:var(--wp--custom--size--s-21) var(--wp--custom--size--s-22) var(--wp--custom--size--s-26);
    }
    .project-copy h3,.card-table > li:nth-child(n+4) h3 {
      font-size:var(--wp--custom--size--s-22);
    }
    .project-copy p {
      font-size:var(--wp--custom--size--s-16);
      margin-top:var(--wp--custom--size--s-12);
    }
    .card-table > li:first-child h3 {
      font-size:var(--wp--custom--size--s-43);
    }
    .device-art {
      min-height:var(--wp--custom--size--s-225);
      padding:var(--wp--custom--size--s-5) var(--wp--custom--size--s-24) 0;
    }
    .device-art svg {
      max-width:var(--wp--custom--size--s-315);
    }
    .project-bottom {
      margin-top:var(--wp--custom--size--s-19);
    }
    .compact-copy {
      grid-template-columns:1fr var(--wp--custom--size--s-48);
      gap:var(--wp--custom--size--s-16);
    }
    .project-art {
      width:var(--wp--custom--size--s-48);
      height:var(--wp--custom--size--s-64);
    }
    .hobbies {
      padding-bottom:var(--wp--custom--size--s-49);
    }
    .hobby-list {
      grid-template-columns:1fr 1fr;
    }
    .hobby-list > .hobby-item {
      padding:var(--wp--custom--size--s-24) var(--wp--custom--size--s-15) var(--wp--custom--size--s-25) 0;
    }
    .hobby-list > .hobby-item:nth-child(even) {
      padding-left:var(--wp--custom--size--s-19);
      padding-right:0;
      border-right:0;
    }
    .hobby-list > .hobby-item:nth-child(-n+2) {
      border-bottom:var(--wp--custom--size--s-1) solid var(--wp--preset--color--line);
    }
    .hobby-list h3 {
      font-size:var(--wp--custom--size--s-18);
    }
    .hobby-top {
      min-height:var(--wp--custom--size--s-30);
      gap:var(--wp--custom--size--s-9);
      margin-bottom:var(--wp--custom--size--s-16);
    }
    .hobby-top span {
      font-size:var(--wp--custom--size--s-10);
    }
    .hobby-top svg {
      width:var(--wp--custom--size--s-25);
      height:var(--wp--custom--size--s-25);
    }
    .hobby-list p {
      font-size:var(--wp--custom--size--s-12);
    }
    .contact {
      display:block;
      padding-block:var(--wp--custom--size--s-39);
    }
    .contact h2 {
      font-size:var(--wp--custom--size--s-32);
    }
    .contact .jp-margin {
      top:var(--wp--custom--size--s-39);
    }
    .contact p {
      font-size:var(--wp--custom--size--s-14);
      margin-top:var(--wp--custom--size--s-16);
    }
    .contact-action {
      margin-top:var(--wp--custom--size--s-25);
    }
    .button {
      font-size:var(--wp--custom--size--s-14);
    }
    .social-links {
      font-size:var(--wp--custom--size--s-13);
    }
    .footer-bottom {
      flex-wrap:wrap;
      gap:var(--wp--custom--size--s-14);
      padding-block:var(--wp--custom--size--s-22) var(--wp--custom--size--s-36);
      font-size:var(--wp--custom--size--s-10);
    }
    .footer-credit {
      order:3;
      flex-basis:100%;
    }
  }
  @media (prefers-reduced-motion:reduce) {
    *,*::before,*::after {
      animation:none!important;
      transition:none!important;
      scroll-behavior:auto!important;
    }
    .card-inner::after {
      display:none;
    }
  }
  @media print {
    .hero-inner {
      min-height:0;
      padding-block:var(--wp--custom--size--s-30);
    }
    .hero-copy {
      width:100%;
    }
    .hero-footnote {
      display:none;
    }
  }

/* Core block adapters. The saved document remains normal, editable block markup. */
.wp-site-blocks > *, .site-main > *, .wp-block-post-content > .hero { margin-block-start:0; }
.site-main { min-width:0; }
.container { max-width:none; }
.wp-block-group, .wp-block-post-template > li { min-width:0; }
.wp-block-post-content .alignwide { max-width:var(--wp--style--global--wide-size); }
.wp-block-post-content .alignfull { max-width:none; }
.wp-block-post-content :is(p,ul,ol) { overflow-wrap:anywhere; }
.wp-block-post-content > * + *, .content-section > * + * { margin-block-start:var(--wp--preset--spacing--24); }
.wp-block-post-content > :is(.hero,.route-section,.section) { margin-block-start:0; }
.wp-block-post-content a:not(.wp-element-button), .reading-layout a:not(.wp-element-button) { text-decoration:underline; text-underline-offset:.2em; }
.wp-block-post-title a, .title-menu a { color:inherit; text-decoration:none!important; }
.wp-block-post-title a:hover { color:var(--wp--preset--color--shu); }
.wp-block-post-title { overflow-wrap:anywhere; }
.wp-block-buttons { margin-block-start:0; }
.wp-block-button__link { min-height:var(--wp--custom--size--s-54); display:inline-flex; align-items:center; justify-content:center; text-decoration:none; }
.wp-block-button__link:hover, .alex-form__submit:hover { outline:var(--wp--custom--size--s-1) solid var(--wp--preset--color--shu); outline-offset:var(--wp--custom--size--s-4); }
.wp-block-button.is-style-outline > .wp-block-button__link { color:var(--wp--preset--color--shu); background:transparent; }
.is-style-plain .wp-block-button__link { padding:0; border:0; background:none; color:inherit; min-height:var(--wp--custom--size--s-44); }
.brand { flex:none; }
.wordmark a { border:0; padding:0; background:none; color:var(--wp--preset--color--contrast); font:400 var(--wp--custom--size--s-31)/1 var(--wp--preset--font-family--display); letter-spacing:-2px; }
.wordmark a::first-letter { color:var(--wp--preset--color--contrast); }
.wordmark a:hover { color:var(--wp--preset--color--shu); outline:none; }
.skip-wrap { position:absolute; margin:0; }
.skip { position:fixed; padding:0; }
.skip:focus-within { transform:none; }
.skip a { background:var(--wp--preset--color--shu); color:var(--wp--preset--color--on-shu); }
.alex-menu__list, .alex-lang__list { list-style:none; padding:0; margin:0; }
.alex-menu__list a { color:inherit; text-decoration:none; }
.alex-lang__list { display:flex; gap:var(--wp--custom--size--s-8); align-items:center; }
.alex-lang__list li + li::before { content:'|'; margin-right:var(--wp--custom--size--s-8); color:var(--wp--preset--color--muted); }
.alex-lang__link { display:inline-flex; min-height:var(--wp--custom--size--s-44); align-items:center; color:var(--wp--preset--color--muted); font-size:var(--wp--custom--size--s-12); text-decoration:none; }
.alex-lang__link.is-current { color:var(--wp--preset--color--contrast); font-weight:800; }
.alex-lang__link:hover { color:var(--wp--preset--color--shu); }
.alex-theme-toggle { flex:none; cursor:pointer; }
.alex-theme-toggle__icon { width:var(--wp--custom--size--s-22); height:var(--wp--custom--size--s-22); }
.menu-toggle { display:none; }
.menu-toggle button { font-size:0; }
.menu-toggle button::before { content:''; width:var(--wp--custom--size--s-20); height:var(--wp--custom--size--s-14); border-block:var(--wp--custom--size--s-2) solid currentColor; background:linear-gradient(currentColor,currentColor) center/100% var(--wp--custom--size--s-2) no-repeat; }
.menu-toggle button[aria-expanded="true"] { color:var(--wp--preset--color--shu); }
.header-inner > *, .header-tools > * { margin:0; }
.header-tools { flex:none; }
.hero .wp-block-group > *, .hero .wp-block-buttons > *, .route-section .wp-block-group > * { margin-block-start:0; }
.hero .hero-intro { margin-top:var(--wp--custom--size--s-32); }
.hero .title-menu { margin-top:var(--wp--custom--size--s-26); }
.hero .school { margin-top:var(--wp--custom--size--s-23); }
.hero .identity { margin-top:var(--wp--custom--size--s-13); }
.hero .given-name { margin-top:var(--wp--custom--size--s-9); }
.hero .title-menu a { padding:var(--wp--custom--size--s-4) var(--wp--custom--size--s-16) var(--wp--custom--size--s-5) var(--wp--custom--size--s-33); font:800 var(--wp--custom--size--s-21)/1.6 var(--wp--preset--font-family--body); text-align:left; justify-content:start; min-height:var(--wp--custom--size--s-44); }
.title-menu { display:grid; }
.title-menu::before { content:'▶'; color:var(--wp--preset--color--shu); position:absolute; left:0; top:var(--wp--custom--size--s-8); }
.title-menu.cursor-ready::before { display:none; }
.hero-status::before { content:''; width:var(--wp--custom--size--s-7); height:var(--wp--custom--size--s-7); transform:rotate(45deg); background:var(--wp--preset--color--negi); }
.spell-meta p { max-width:none; }
.hero .spell-name { margin-top:var(--wp--custom--size--s-5); }
.spell-hud .hud-controls { display:flex; gap:var(--wp--custom--size--s-20); margin-top:var(--wp--custom--size--s-9); }
.hud-controls .wp-block-button__link { background:none; padding:var(--wp--custom--size--s-4) 0; border:0; border-bottom:var(--wp--custom--size--s-1) solid var(--wp--preset--color--shu); color:var(--wp--preset--color--shu); font:400 var(--wp--custom--size--s-14)/1.4 var(--wp--preset--font-family--hud); min-height:var(--wp--custom--size--s-40); }
.hud-controls .pause-motion button { color:var(--wp--preset--color--muted); border-color:var(--wp--preset--color--muted); }
.hud-controls { visibility:hidden; }
.motion-ready .hud-controls { visibility:visible; }
.motion-labels { display:none; }
.hero-footnote { max-width:44%; }
.katakana { color:var(--wp--preset--color--negi-ink); }
.route-cities .city-country { color:var(--wp--preset--color--muted); font-size:var(--wp--custom--size--s-12); }
.section-heading > *, .route-cities > *, .route-facts > *, .rank-band { margin:0; }
.route-facts > p + p { margin-top:var(--wp--custom--size--s-7); }
.route-heading > p { margin-top:var(--wp--custom--size--s-14)!important; }
.editorial-list .wp-block-post-template { list-style:none; padding:0; margin:0; }
.editorial-list .wp-block-post-template > li { margin:0; }
.editorial-list .wp-block-post-template > li:last-child { border-bottom:var(--wp--custom--size--s-1) solid var(--wp--preset--color--line); }
.editorial-post { grid-template-columns:var(--wp--custom--size--s-177) minmax(0,1fr) var(--wp--custom--size--s-36); margin:0; border-bottom:0!important; }
.editorial-post > * { margin:0; }
.editorial-post::after { content:'/'; font:400 var(--wp--custom--size--s-35)/1.4 var(--wp--preset--font-family--display); color:var(--wp--preset--color--shu); opacity:0; }
.editorial-post:hover::after,.editorial-post:focus-within::after { opacity:1; }
.post-summary .wp-block-post-excerpt { margin-top:var(--wp--custom--size--s-8); }
.wp-block-post-excerpt__excerpt { margin:0; }
.wp-block-post-excerpt__more-text:empty { display:none; }
.card-table { list-style:none; margin:0; padding:var(--wp--custom--size--s-5); grid-template-areas:none; }
.card-table > li { grid-area:auto!important; margin:0; }
.card-table > li:first-child { grid-row:span 2!important; }
.card-table > li:nth-child(n+4) { grid-column:1 / -1!important; }
.card-table .spell-card, .card-table .card-inner { height:100%; margin:0; }
.card-table .card-inner > * { margin-top:0; }
.card-table .rank-band:empty { display:none; }
.card-table .device-art { display:none; }
.card-table > li:first-child .device-art { display:grid; }
.card-inner:has(.project-thumbnail) .device-art { display:none!important; }
.card-table .project-thumbnail { margin:0; }
.card-table .project-thumbnail img { display:block; width:100%; max-height:var(--wp--custom--size--s-260); object-fit:cover; }
.project-copy .wp-block-post-excerpt { margin-top:var(--wp--custom--size--s-12); }
.project-query { padding-bottom:var(--wp--custom--size--s-4); }
.spell-card:focus-within { outline:0; }
.spell-card a:focus-visible { outline-offset:var(--wp--custom--size--s-3); }
.card-table > li:nth-child(n+4) .device-art { display:none; }
.hobby-list > * { margin:0; }
.hobby-top svg { stroke:currentColor; }
.hobby-jp { font-size:var(--wp--custom--size--s-12); color:var(--wp--preset--color--negi-ink); font-family:var(--wp--preset--font-family--body); }
.hobby-item .hobby-top { margin:0 0 var(--wp--custom--size--s-18); }
.hobby-item h3 { margin:0; }
.hobby-item p { margin-top:var(--wp--custom--size--s-11); }
.contact > *, .contact-action > *, .footer-bottom > * { margin:0; }
.social-links { display:flex; gap:var(--wp--custom--size--s-25); margin-top:var(--wp--custom--size--s-17); }
.social-links .wp-block-button__link { font-size:var(--wp--custom--size--s-13); font-weight:400; text-decoration:underline; text-underline-offset:var(--wp--custom--size--s-5); }
.alex-menu--footer .alex-menu__list { display:flex; flex-wrap:wrap; gap:var(--wp--preset--spacing--8) var(--wp--preset--spacing--24); padding-bottom:var(--wp--preset--spacing--24); font-size:var(--wp--preset--font-size--small); color:var(--wp--preset--color--muted); }
.alex-menu--footer a { display:inline-flex; align-items:center; min-height:var(--wp--custom--size--s-44); padding-block:var(--wp--preset--spacing--8); text-decoration:underline; text-decoration-thickness:var(--wp--custom--size--s-1); text-underline-offset:var(--wp--custom--size--s-4); overflow-wrap:anywhere; }
.alex-menu--footer a:is(:hover,[aria-current]) { color:var(--wp--preset--color--contrast); text-decoration-thickness:var(--wp--custom--size--s-2); }
/* Interior pages extend the same editorial, stage-map and spell-card language. */
.title-band { padding-block:var(--wp--preset--spacing--64); border-bottom:var(--wp--custom--size--s-1) solid var(--wp--preset--color--line); position:relative; background:linear-gradient(115deg,var(--wp--preset--color--base) 70%,color-mix(in srgb,var(--wp--preset--color--negi) 7%,var(--wp--preset--color--base))); }
.title-band h1 { max-width:24ch; }
.title-band p { margin-top:var(--wp--preset--spacing--20); color:var(--wp--preset--color--muted); }
.page-content,.archive-content,.reading-layout,.project-detail { padding-block:var(--wp--preset--spacing--64) var(--wp--preset--spacing--80); }
.page-lead { font-size:var(--wp--preset--font-size--large); line-height:1.8; max-width:65ch; }
.page-sections,.contact-content { max-width:var(--wp--style--global--content-size); }
.content-section { padding-top:var(--wp--preset--spacing--40); margin-top:var(--wp--preset--spacing--40); border-top:var(--wp--custom--size--s-1) solid var(--wp--preset--color--line); }
.content-section h2 { font-size:var(--wp--preset--font-size--large); }
.content-section h3 { font-size:var(--wp--preset--font-size--medium); }
.skills-list { display:grid; gap:var(--wp--preset--spacing--24); }
.skills-list > * { margin:0; }
.skills-list p { margin-top:var(--wp--preset--spacing--8); }
.page-sections ul li + li { margin-top:var(--wp--preset--spacing--12); }
.hobby-features { display:grid; grid-template-columns:1fr 1fr; gap:var(--wp--preset--spacing--48); }
.hobby-feature { margin:0; padding-block:var(--wp--preset--spacing--32); border-top:var(--wp--custom--size--s-1) solid var(--wp--preset--color--line); }
.hobby-feature h2 { font-size:var(--wp--preset--font-size--x-large); }
.hobby-feature .hobby-top { max-width:var(--wp--custom--size--s-240); }
.hobby-feature p { margin-top:var(--wp--preset--spacing--20); color:var(--wp--preset--color--muted); }
.journey-timeline { list-style:none; counter-reset:stages; padding:0; border-left:var(--wp--custom--size--s-1) dashed var(--wp--preset--color--muted); margin-left:var(--wp--preset--spacing--20); }
.journey-timeline li { position:relative; counter-increment:stages; margin:0 0 var(--wp--preset--spacing--40); padding-left:var(--wp--preset--spacing--40); }
.journey-timeline li::before { content:counter(stages); position:absolute; left:-20px; top:0; display:grid; place-items:center; width:var(--wp--custom--size--s-40); height:var(--wp--custom--size--s-40); border:var(--wp--custom--size--s-1) solid var(--wp--preset--color--negi); background:var(--wp--preset--color--base); font-family:var(--wp--preset--font-family--hud); color:var(--wp--preset--color--negi-ink); }
.journey-timeline li:last-child { margin-bottom:0; }
.diary-placeholder { padding:var(--wp--preset--spacing--32); background:var(--wp--preset--color--surface); border:var(--wp--custom--size--s-1) dashed var(--wp--preset--color--muted); }
.cv-date { font-family:var(--wp--preset--font-family--hud); color:var(--wp--preset--color--negi-ink); }
.gallery-sections .wp-block-gallery img { width:100%; }
.gallery-sections .wp-block-gallery { max-width:var(--wp--custom--size--s-960); }
.reading-layout { max-width:var(--wp--custom--size--s-1040); }
.reading-head,.post-navigation { max-width:var(--wp--style--global--content-size); margin-inline:auto; }
.reading-head h1 { margin-top:var(--wp--preset--spacing--20); }
.reading-image { margin-block:var(--wp--preset--spacing--40); }
.reading-image img { width:100%; height:auto; }
.reading-layout .wp-block-post-content { margin-top:var(--wp--preset--spacing--40); }
.wp-block-code { max-width:100%; min-width:0; overflow-x:auto; tab-size:4; }
.wp-block-code code { white-space:pre; overflow-wrap:normal; word-break:normal; }
.wp-block-image img { height:auto; max-width:100%; }
.wp-block-post-content :is(iframe,video) { max-width:100%; }
.wp-block-table { overflow:auto; }
.wp-block-table td,.wp-block-table th { border-color:var(--wp--preset--color--line); }
.wp-block-quote { margin-inline:0; }
.wp-block-quote cite { color:var(--wp--preset--color--muted); }
.post-navigation { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:var(--wp--preset--spacing--32); margin-top:var(--wp--preset--spacing--64); padding-top:var(--wp--preset--spacing--24); border-top:var(--wp--custom--size--s-1) solid var(--wp--preset--color--line); }
.post-navigation > * { margin:0; }
.post-navigation p { font-family:var(--wp--preset--font-family--hud); color:var(--wp--preset--color--muted); font-size:var(--wp--preset--font-size--small); }
.post-navigation__prev { grid-column:1; grid-row:1; text-align:left; }
.post-navigation__next { grid-column:2; grid-row:1; text-align:right; }
.post-navigation .wp-block-post-navigation-link { margin-top:var(--wp--preset--spacing--8); overflow-wrap:anywhere; }
.post-navigation .wp-block-post-navigation-link a { display:inline-block; padding-block:var(--wp--preset--spacing--4); }
.wp-block-query-pagination { gap:var(--wp--preset--spacing--16); margin-top:var(--wp--preset--spacing--32); }
.wp-block-query-pagination a,.wp-block-query-pagination .current { display:inline-flex; min-width:var(--wp--custom--size--s-44); min-height:var(--wp--custom--size--s-44); align-items:center; justify-content:center; }
.wp-block-query-pagination .current { background:var(--wp--preset--color--shu); color:var(--wp--preset--color--on-shu); }
.project-detail-card { border:var(--wp--custom--size--s-1) solid var(--wp--preset--color--line); background:var(--wp--preset--color--surface); }
.project-detail-head { padding:var(--wp--preset--spacing--40); }
.project-detail-head .wp-block-post-excerpt { max-width:64ch; font-size:var(--wp--preset--font-size--large); color:var(--wp--preset--color--muted); }
.project-detail .wp-block-post-content { margin-top:var(--wp--preset--spacing--40); }
.project-external:not(:has(a[href]:not([href=""]):not([href="#"]))) { display:none; }
.project-detail .rank-band:empty { display:none; }
.game-over { min-height:70vh; padding-block:var(--wp--preset--spacing--80); position:relative; isolation:isolate; overflow:hidden; }
.game-over::before { content:''; position:absolute; width:var(--wp--custom--size--s-600); height:var(--wp--custom--size--s-600); border:var(--wp--custom--size--s-1) dashed var(--wp--preset--color--negi); border-radius:50%; top:-80px; right:-160px; box-shadow:0 0 0 var(--wp--custom--size--s-40) var(--wp--preset--color--base),0 0 0 var(--wp--custom--size--s-41) var(--wp--preset--color--line),0 0 0 var(--wp--custom--size--s-90) var(--wp--preset--color--base),0 0 0 var(--wp--custom--size--s-91) var(--wp--preset--color--line); z-index:-1; }
.game-over-code { font:400 var(--wp--custom--size--s-120)/1.2 var(--wp--preset--font-family--hud); color:var(--wp--preset--color--shu); }
.game-over-copy > * + * { margin-top:var(--wp--preset--spacing--24); }
.game-over-copy p:not(.game-over-code) { max-width:42ch; background:var(--wp--preset--color--base); }
.alex-form { display:grid; grid-template-columns:1fr 1fr; gap:var(--wp--preset--spacing--24); margin-block:var(--wp--preset--spacing--40); }
.alex-form__field { margin:0; min-width:0; max-width:none; }
.alex-form__field--message { grid-column:1 / -1; }
.alex-form__note { grid-column:1 / -1; margin:0; color:var(--wp--preset--color--muted); font-size:var(--wp--preset--font-size--small); line-height:1.7; }
.alex-form__note a { color:var(--wp--preset--color--shu); text-decoration:underline; text-underline-offset:var(--wp--custom--size--s-3); }
.alex-form__note a:hover { color:var(--wp--preset--color--contrast); }
.alex-form label { display:block; font-weight:600; font-size:var(--wp--preset--font-size--small); margin-bottom:var(--wp--preset--spacing--8); }
.alex-form :is(input:not([type="hidden"]),textarea),.wp-block-search__input { display:block; width:100%; padding:var(--wp--preset--spacing--12) var(--wp--preset--spacing--16); border:var(--wp--custom--size--s-1) solid var(--wp--preset--color--muted); background:var(--wp--preset--color--surface); color:var(--wp--preset--color--contrast); border-radius:0; font:inherit; }
.alex-form textarea { resize:vertical; min-height:var(--wp--custom--size--s-180); }
.alex-form__submit { justify-self:start; grid-column:1/-1; border:var(--wp--custom--size--s-1) solid var(--wp--preset--color--shu); background:var(--wp--preset--color--shu); color:var(--wp--preset--color--on-shu); font-weight:800; padding:var(--wp--preset--spacing--12) var(--wp--preset--spacing--24); min-height:var(--wp--custom--size--s-54); }
.alex-form__notice { padding:var(--wp--preset--spacing--20); border:var(--wp--custom--size--s-1) solid currentColor; max-width:none; background:var(--wp--preset--color--surface); }
.alex-form__notice.is-success { color:var(--wp--preset--color--negi-ink); }
.alex-form__notice.is-error { color:var(--wp--preset--color--shu); }
.alex-form__hp { position:absolute!important; width:var(--wp--custom--size--s-1); height:var(--wp--custom--size--s-1); overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.wp-block-search__button { background:var(--wp--preset--color--shu); color:var(--wp--preset--color--on-shu); border:var(--wp--custom--size--s-1) solid var(--wp--preset--color--shu); }
:where(a,button,input,textarea,select,[tabindex]):focus-visible { outline:var(--wp--custom--size--s-3) solid var(--wp--preset--color--shu); outline-offset:var(--wp--custom--size--s-5); }
@media (max-width:1250px) { .editorial-post { grid-template-columns:var(--wp--custom--size--s-137) minmax(0,1fr) var(--wp--custom--size--s-24); } }
@media (max-width:1050px) {
  .site-header:not(.menu-ready) .header-inner { flex-wrap:wrap; padding-block:var(--wp--custom--size--s-16); }
  .site-header:not(.menu-ready) .alex-menu--primary { order:3; width:100%; }
  .menu-ready .menu-toggle { display:block; }
  .menu-ready .alex-menu--primary { max-height:calc(100dvh - var(--wp--custom--size--s-110)); overflow-y:auto; }
}
@media (max-width:700px) {
  .hero .hero-intro { margin-top:var(--wp--custom--size--s-22); }
  .hero .title-menu { margin-top:var(--wp--custom--size--s-19); }
  .hero .school { margin-top:var(--wp--custom--size--s-15); }
  .hero .given-name { margin-top:var(--wp--custom--size--s-6); }
  .hero .title-menu a { font-size:var(--wp--custom--size--s-18); padding-left:var(--wp--custom--size--s-29); }
  .hero .spell-name { font-size:var(--wp--custom--size--s-16); }
  .spell-hud .hud-controls { margin-top:var(--wp--custom--size--s-2); }
  .hud-controls .wp-block-button__link { font-size:var(--wp--custom--size--s-12); }
  .editorial-post { grid-template-columns:minmax(0,1fr); }
  .editorial-post::after { display:none; }
  .card-table { grid-template-areas:none; }
  .card-table > li:first-child { grid-row:auto!important; }
  .card-table > li:nth-child(n+4) { grid-column:auto!important; }
  .hobby-features,.alex-form { grid-template-columns:1fr; }
  .page-content,.archive-content,.reading-layout,.project-detail { padding-block:var(--wp--custom--size--s-40) var(--wp--custom--size--s-56); }
  .project-detail-head { padding:var(--wp--custom--size--s-24); }
  .title-band { padding-block:var(--wp--custom--size--s-40); }
  .footer-bottom { gap:var(--wp--custom--size--s-12); }
  .contact-action { margin-top:var(--wp--custom--size--s-25); }
  .header-tools { gap:var(--wp--custom--size--s-8); }
  .alex-lang__list { gap:var(--wp--custom--size--s-4); }
  .alex-lang__list li + li::before { margin-right:var(--wp--custom--size--s-4); }
  .post-navigation { gap:var(--wp--preset--spacing--16); font-size:var(--wp--preset--font-size--small); }
}
/* The editor shows final, readable compositions and no inert animation controls. */
.editor-styles-wrapper .hero .hud-controls { visibility:visible; }
.editor-styles-wrapper .menu-toggle { display:none; }
.editor-styles-wrapper .hero-inner { pointer-events:auto; }
.editor-styles-wrapper .hero-copy { pointer-events:auto; }
.editor-styles-wrapper .block-editor-block-list__layout .container { max-width:100%; }
@media (prefers-reduced-motion:reduce) { *,*::before,*::after { animation:none!important; transition:none!important; scroll-behavior:auto!important; } }
@media print { .header-tools,.alex-menu,.spell-hud,.hero-status,.play-hint,.danmaku,.skip-wrap { display:none!important; } .hero-copy { width:100%; } .hero-inner { min-height:0; padding-block:var(--wp--custom--size--s-24); } .page-content { padding-block:var(--wp--custom--size--s-24); } }

/* Original line-art motifs from the approved spell cards. */
.project-copy { position:relative; }
.project-glyph { display:none; position:absolute; right:var(--wp--preset--spacing--24); top:50%; transform:translateY(-50%); }
.project-glyph svg { display:none; }
.card-table > li:not(:first-child) .project-glyph { display:block; }
.card-table > li:not(:first-child) .project-copy { padding-right:calc(var(--wp--custom--size--s-76) + var(--wp--preset--spacing--48)); }
.card-table > li:nth-child(2) .project-glyph svg:nth-child(1),
.card-table > li:nth-child(3) .project-glyph svg:nth-child(2),
.card-table > li:nth-child(n+4):not(:nth-child(5)) .project-glyph svg:nth-child(3),
.card-table > li:nth-child(5) .project-glyph svg:nth-child(4) { display:block; }
.card-table > li:nth-child(3) .project-glyph { color:var(--wp--preset--color--shu); }
.card-table > li:nth-child(3) .project-art { color:var(--wp--preset--color--shu); }
/* Ticket thumbnails share the copy's grid cell and its reserved glyph space. */
.card-table > li:nth-child(n+4):has(.project-thumbnail) .project-copy,
.card-table > li:nth-child(n+4):has(.project-thumbnail) .project-thumbnail { grid-area:1 / 2; }
.card-table > li:nth-child(n+4):has(.project-thumbnail) .project-thumbnail {
  align-self:center;
  justify-self:end;
  z-index:1;
  width:var(--wp--custom--size--s-76);
  aspect-ratio:1;
  margin-right:var(--wp--preset--spacing--24);
}
.card-table > li:nth-child(n+4):has(.project-thumbnail) .project-thumbnail a { display:block; }
.card-table > li:nth-child(n+4):has(.project-thumbnail) .project-thumbnail img {
  /* Override the featured-image block's inline 4/3 ratio. */
  aspect-ratio:1!important;
  height:auto;
  object-fit:cover;
  border:var(--wp--custom--size--s-1) solid var(--wp--preset--color--line);
  border-radius:0;
}
.card-table > li:nth-child(n+4):has(.project-thumbnail) .project-glyph { display:none; }
@media (min-width:1280px) {
  .contact::before { content:''; position:absolute; right:calc(100% + var(--wp--preset--spacing--20)); top:var(--wp--custom--size--s-58); width:var(--wp--custom--size--s-30); height:var(--wp--custom--size--s-60); background:var(--wp--preset--color--muted); opacity:.28; mask:url('../img/footer-ornament.svg') center/contain no-repeat; }
}
@media (max-width:1050px) {
  .card-table > li:not(:first-child) .project-copy { padding-right:calc(var(--wp--custom--size--s-45) + var(--wp--preset--spacing--40)); }
  .project-glyph { right:var(--wp--preset--spacing--20); }
  .card-table > li:nth-child(n+4):has(.project-thumbnail) .project-thumbnail { width:var(--wp--custom--size--s-45); margin-right:var(--wp--preset--spacing--20); }
}
@media (max-width:700px) {
  .card-table > li:not(:first-child) .project-copy { padding-right:calc(var(--wp--preset--spacing--48) + var(--wp--preset--spacing--40)); }
  .card-table > li:nth-child(n+4):has(.project-thumbnail) .card-inner { display:grid; grid-template-columns:minmax(0,1fr); }
  .card-table > li:nth-child(n+4):has(.project-thumbnail) .project-copy,
  .card-table > li:nth-child(n+4):has(.project-thumbnail) .project-thumbnail { grid-area:2 / 1; }
  .card-table > li:nth-child(n+4):has(.project-thumbnail) .project-thumbnail { width:var(--wp--custom--size--s-48); }
}

/* Preserve the vermilion slash while keeping the editable, translated wordmark intact. */
.wordmark a { background:linear-gradient(90deg,var(--wp--preset--color--contrast) 0 78%,var(--wp--preset--color--shu) 78% 100%); background-clip:text; -webkit-background-clip:text; color:transparent; }
.wordmark a:hover { background-image:linear-gradient(var(--wp--preset--color--shu),var(--wp--preset--color--shu)); color:transparent; }

/* Stage title cards and interior-page compositions. Static art stays motion-free. */
.site-header .mobile-menu-control { display:none; margin:0; }
.site-header .menu-toggle button {
  display:grid; place-items:center; color:var(--wp--preset--color--contrast);
  background:var(--wp--preset--color--surface); min-height:var(--wp--custom--size--s-44);
  padding:var(--wp--preset--spacing--8); font-size:0;
}
.site-header .menu-toggle button::before { display:block; }
.site-header .menu-toggle button:hover,
.site-header .menu-toggle button[aria-expanded="true"] { color:var(--wp--preset--color--shu); }
.site-header .menu-toggle button[aria-expanded="true"]::before {
  border:0; height:var(--wp--custom--size--s-20);
  background:linear-gradient(45deg,transparent 45%,currentColor 45% 55%,transparent 55%),
    linear-gradient(-45deg,transparent 45%,currentColor 45% 55%,transparent 55%);
}
.stage-band {
  position:relative; border-bottom:var(--wp--custom--size--s-1) solid var(--wp--preset--color--line);
  background:linear-gradient(110deg,var(--wp--preset--color--base) 55%,color-mix(in srgb,var(--wp--preset--color--negi) 6%,var(--wp--preset--color--base)));
}
.stage-band__inner {
  display:grid; grid-template-columns:minmax(0,1fr) minmax(0,var(--wp--custom--polish--ornament));
  gap:var(--wp--preset--spacing--40); align-items:center; padding-block:var(--wp--preset--spacing--40);
}
.stage-band__inner > * { margin:0; min-width:0; }
.stage-band__copy { position:relative; padding-block:var(--wp--preset--spacing--24); }
.stage-band__copy:has(.stage-jp) { padding-left:var(--wp--preset--spacing--64); }
.stage-band h1,.project-detail-head h1 {
  font-family:var(--wp--preset--font-family--display); font-size:var(--wp--preset--font-size--stage-title);
  line-height:1.15; letter-spacing:-.045em; max-width:20ch; overflow-wrap:anywhere;
}
.stage-band__copy > p { color:var(--wp--preset--color--muted); margin-top:var(--wp--preset--spacing--24); }
.stage-jp {
  position:absolute; top:var(--wp--preset--spacing--24); left:0; writing-mode:vertical-rl;
  font:600 var(--wp--preset--font-size--large)/1.2 var(--wp--preset--font-family--body);
  letter-spacing:.15em; color:var(--wp--preset--color--negi-ink); user-select:none;
  border-left:var(--wp--custom--size--s-1) solid var(--wp--preset--color--line); padding-left:var(--wp--preset--spacing--12);
}
.stage-danmaku { display:block; width:100%; height:auto; pointer-events:none; }
.stage-danmaku .danmaku-guide { stroke:var(--wp--preset--color--line); stroke-width:1; }
.stage-danmaku .danmaku-shu { fill:var(--wp--preset--color--shu); }
.stage-danmaku .danmaku-negi { fill:var(--wp--preset--color--negi); }
.stage-danmaku .danmaku-core { stroke:var(--wp--preset--color--contrast); stroke-width:1.5; }
.stage-band__inner > .stage-danmaku { max-height:var(--wp--custom--size--s-280); }
.page-content { padding:0; }
.page-content:not(:has(> .stage-band)) {
  width:min(var(--wp--style--global--wide-size),calc(100% - var(--wp--custom--size--s-128)));
  margin-inline:auto; padding-block:var(--wp--preset--spacing--64) var(--wp--preset--spacing--80);
}
.site-main:has(> .page-content > .stage-band) > .page-fallback-band { display:none; }
.page-content > .stage-band,.page-content > .stage-layout,.page-content > .stage-content { margin-block:0; }
.stage-content,.stage-layout { padding-block:var(--wp--preset--spacing--64) var(--wp--preset--spacing--80); }
.stage-layout {
  display:grid; grid-template-columns:minmax(0,1fr) minmax(0,var(--wp--custom--polish--sidebar));
  gap:var(--wp--preset--spacing--64); align-items:start;
}
.stage-layout > * { min-width:0; margin:0; }
.stage-reading { max-width:var(--wp--custom--polish--measure); }
.stage-reading :is(p,ul,ol) { max-width:var(--wp--custom--polish--measure); }
.stage-reading .content-section h2 {
  display:flex; align-items:baseline; gap:var(--wp--preset--spacing--16);
}
.stage-reading .content-section h2::before {
  content:''; flex:none; width:var(--wp--custom--size--s-8); height:var(--wp--custom--size--s-8);
  background:var(--wp--preset--color--shu); transform:rotate(45deg);
}
.stage-sidebar {
  position:sticky; top:var(--wp--preset--spacing--32); padding:var(--wp--preset--spacing--32);
  border:var(--wp--custom--size--s-1) solid var(--wp--preset--color--line);
  border-top:var(--wp--custom--size--s-4) solid var(--wp--preset--color--shu);
  background:var(--wp--preset--color--surface);
  box-shadow:var(--wp--custom--size--s-8) var(--wp--custom--size--s-8) 0 var(--wp--preset--color--line);
}
.stage-sidebar h2 { font-size:var(--wp--preset--font-size--large); line-height:1.4; }
.stage-sidebar > * + * { margin-top:var(--wp--preset--spacing--24); }
.profile-facts { display:grid; gap:var(--wp--preset--spacing--20); }
.profile-fact { margin:0; }
.profile-fact + .profile-fact { border-top:var(--wp--custom--size--s-1) solid var(--wp--preset--color--line); padding-top:var(--wp--preset--spacing--16); }
.profile-label { font:400 var(--wp--preset--font-size--small)/1.5 var(--wp--preset--font-family--hud); color:var(--wp--preset--color--muted); }
.profile-value { margin-top:var(--wp--preset--spacing--4); font-size:var(--wp--preset--font-size--small); font-weight:600; line-height:1.7; }
.stage-sidebar .social-links { gap:var(--wp--preset--spacing--24); }
.cv-panel { border-top-color:var(--wp--preset--color--negi); }
.cv-download { margin-top:var(--wp--preset--spacing--32); }
.cv-download .wp-block-button,.cv-download .wp-block-button__link { width:100%; }
.cv-download .wp-block-button__link { text-align:center; line-height:1.6; padding:var(--wp--preset--spacing--16); white-space:normal; }
.quest-card { border-top-color:var(--wp--preset--color--negi); }
.quest-route { width:100%; stroke:var(--wp--preset--color--negi); stroke-width:2; }
.quest-route circle,.quest-route path:last-child { stroke:var(--wp--preset--color--line); }
.quest-card .profile-fact:last-child .profile-value { color:var(--wp--preset--color--negi-ink); }
.dialog-form {
  margin-top:var(--wp--preset--spacing--40); padding:var(--wp--preset--spacing--32);
  border:var(--wp--custom--size--s-1) solid var(--wp--preset--color--line);
  border-left:var(--wp--custom--size--s-4) solid var(--wp--preset--color--shu);
  background:var(--wp--preset--color--surface); position:relative;
}
.dialog-form::before { content:''; position:absolute; right:var(--wp--preset--spacing--16); top:var(--wp--preset--spacing--16); width:var(--wp--custom--size--s-6); height:var(--wp--custom--size--s-6); background:var(--wp--preset--color--shu); }
.dialog-form h2 { font-size:var(--wp--preset--font-size--large); }
.dialog-form .alex-form { margin-block:var(--wp--preset--spacing--32) 0; }
.dialog-form .alex-form :is(input:not([type="hidden"]),textarea) { background:var(--wp--preset--color--base); }
.contact-panel { border-top-color:var(--wp--preset--color--negi); }
.response-note { border-top:var(--wp--custom--size--s-1) dashed var(--wp--preset--color--muted); padding-top:var(--wp--preset--spacing--24); font-size:var(--wp--preset--font-size--small); color:var(--wp--preset--color--muted); }
.hobbies-content > .page-lead { margin-bottom:var(--wp--preset--spacing--48); }
.hobbies-content .hobby-features { gap:var(--wp--preset--spacing--32); }
.hobby-feature {
  position:relative; isolation:isolate; padding:var(--wp--preset--spacing--40);
  border:var(--wp--custom--size--s-1) solid var(--wp--preset--color--line);
  border-top:var(--wp--custom--size--s-4) solid var(--wp--preset--color--negi);
  background:var(--wp--preset--color--surface); overflow:hidden;
}
.hobby-feature:nth-child(2),.hobby-feature:nth-child(3) { border-top-color:var(--wp--preset--color--shu); }
.hobby-feature:nth-child(2) { border-radius:0 var(--wp--preset--spacing--48) 0 0; }
.hobby-feature:nth-child(3) { border-radius:0 0 0 var(--wp--preset--spacing--48); }
.hobby-feature h2 { font-size:var(--wp--preset--font-size--x-large); }
.hobby-feature .hobby-top { margin:0 0 var(--wp--preset--spacing--24); }
.hobby-feature .hobby-top .icon { width:var(--wp--preset--spacing--40); height:var(--wp--preset--spacing--40); color:var(--wp--preset--color--negi-ink); }
.hobby-feature:nth-child(2) .icon,.hobby-feature:nth-child(3) .icon { color:var(--wp--preset--color--shu); }
.hobby-feature .hobby-jp {
  position:absolute; top:var(--wp--preset--spacing--20); right:var(--wp--preset--spacing--20);
  font:600 var(--wp--custom--polish--watermark)/1.1 var(--wp--preset--font-family--body);
  writing-mode:vertical-rl; color:var(--wp--preset--color--contrast); opacity:.055; z-index:-1; pointer-events:none;
}
.hobby-feature p { max-width:52ch; }
.projects-content > .page-lead { margin-bottom:var(--wp--preset--spacing--48); }
.gallery-sections .gallery-chapter { margin-top:var(--wp--preset--spacing--64); }
.gallery-sections .gallery-chapter h2 { margin-bottom:var(--wp--preset--spacing--32); font-size:var(--wp--preset--font-size--large); }
.gallery-sections .wp-block-gallery.has-nested-images {
  display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:var(--wp--preset--spacing--24);
  max-width:none; align-items:start;
}
.gallery-sections .wp-block-gallery.has-nested-images figure.wp-block-image:not(#individual-image) {
  width:100%; min-width:0; margin:0; display:flex; flex-direction:column; flex-grow:0;
}
.gallery-sections .wp-block-gallery.has-nested-images figure.wp-block-image img {
  aspect-ratio:4/3; width:100%; height:auto; object-fit:cover; border:var(--wp--custom--size--s-1) solid var(--wp--preset--color--line);
}
.gallery-sections .wp-block-gallery.has-nested-images figure.wp-block-image figcaption {
  position:static; max-height:none; width:100%; padding:var(--wp--preset--spacing--12) 0 0;
  background:none; color:var(--wp--preset--color--muted); text-align:left; overflow:visible;
  font:400 var(--wp--preset--font-size--small)/1.6 var(--wp--preset--font-family--hud);
  flex:initial; margin:0;
}
.gallery-sections .wp-lightbox-container { width:100%; }
.post-header-meta { display:flex; flex-wrap:wrap; align-items:center; gap:var(--wp--preset--spacing--12) var(--wp--preset--spacing--24); margin-top:var(--wp--preset--spacing--24); }
.post-header-meta > * { margin:0; min-width:0; }
.reading-layout { position:relative; }
.reading-layout > .reading-image:first-child { margin-top:0; }
.reading-layout > .wp-block-post-content { margin-top:0; }
.reading-layout:has(> .reading-image) > .wp-block-post-content { margin-top:var(--wp--preset--spacing--40); }
.reading-layout .wp-block-post-content { max-width:var(--wp--custom--polish--measure); margin-inline:auto; }
.post-navigation > .wp-block-group:not(:has(.wp-block-post-navigation-link a)),
.post-navigation:not(:has(.wp-block-post-navigation-link a)) { display:none; }
.project-detail-grid { display:grid; grid-template-columns:minmax(0,1.4fr) minmax(0,1fr); align-items:center; }
.project-detail-grid > * { min-width:0; margin:0; }
.project-detail-head { position:relative; padding:var(--wp--preset--spacing--48); padding-left:var(--wp--preset--spacing--96); }
.project-detail-head h1 { font-size:var(--wp--preset--font-size--xx-large); }
.project-detail-jp { position:absolute; left:var(--wp--preset--spacing--32); top:var(--wp--preset--spacing--48); writing-mode:vertical-rl; font:500 var(--wp--preset--font-size--large)/1.4 var(--wp--preset--font-family--body); color:var(--wp--preset--color--negi-ink); }
.project-detail-head .wp-block-post-excerpt { margin-top:var(--wp--preset--spacing--24); font-size:var(--wp--preset--font-size--medium); }
.project-detail-head .wp-block-buttons { margin-top:var(--wp--preset--spacing--24); }
.project-detail-visual { padding:var(--wp--preset--spacing--24); }
.project-detail-visual:has(.wp-block-post-featured-image img) .project-fallback { display:none; }
.project-detail-image { margin:0; }
.project-detail-image img { width:100%; height:auto; }
.project-detail > .wp-block-post-content { max-width:var(--wp--custom--polish--measure); margin-inline:auto; margin-top:var(--wp--preset--spacing--64); }
.project-back { max-width:var(--wp--custom--polish--measure); margin-inline:auto; margin-top:var(--wp--preset--spacing--48); border-top:var(--wp--custom--size--s-1) solid var(--wp--preset--color--line); padding-top:var(--wp--preset--spacing--24); }
.game-over::before { display:none; }
.game-over-layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:var(--wp--preset--spacing--48); align-items:center; }
.game-over-layout > * { margin:0; min-width:0; }
.game-over-copy { position:relative; }
.game-over-copy > * + * { margin-top:var(--wp--preset--spacing--24); }
.game-over-copy .game-over-status { font-family:var(--wp--preset--font-family--hud); color:var(--wp--preset--color--negi-ink); border-bottom:var(--wp--custom--size--s-1) solid var(--wp--preset--color--line); padding-bottom:var(--wp--preset--spacing--16); }
.game-over-copy .game-over-code { margin-top:var(--wp--preset--spacing--24); font-family:var(--wp--preset--font-family--display); font-size:var(--wp--preset--font-size--hero); line-height:1; }
.game-over-copy h1 { font-size:var(--wp--preset--font-size--xx-large); }
.game-over-copy .continue-prompt { font-family:var(--wp--preset--font-family--hud); color:var(--wp--preset--color--negi-ink); }
.game-over-copy .wp-block-buttons { margin-top:var(--wp--preset--spacing--16); }
.site-footer .contact::before { display:none; }
@media (min-width:1440px) {
  .site-footer .contact::before { display:block; width:var(--wp--preset--spacing--24); height:var(--wp--preset--spacing--48); right:calc(100% + var(--wp--preset--spacing--12)); }
}
@media (max-width:1250px) {
  .stage-layout { gap:var(--wp--preset--spacing--40); grid-template-columns:minmax(0,1fr) minmax(0,var(--wp--custom--size--s-300)); }
  .page-content:not(:has(> .stage-band)) { width:calc(100% - var(--wp--custom--size--s-88)); }
  .stage-band__inner { grid-template-columns:minmax(0,1fr) minmax(0,var(--wp--custom--size--s-280)); }
}
@media (max-width:1050px) {
  .site-header.menu-ready .mobile-menu-control { display:flex; }
  .site-header.menu-ready .menu-toggle { display:block; }
  .stage-layout { grid-template-columns:minmax(0,1fr); }
  .stage-sidebar { position:static; max-width:none; }
  .stage-reading { max-width:none; }
  .stage-sidebar .profile-facts { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .stage-sidebar .profile-fact { margin:0; border-top:var(--wp--custom--size--s-1) solid var(--wp--preset--color--line); padding-top:var(--wp--preset--spacing--16); }
  .quest-route { max-width:var(--wp--custom--polish--sidebar); }
  .cv-download { max-width:var(--wp--custom--polish--sidebar); }
  .stage-band__inner { gap:var(--wp--preset--spacing--16); grid-template-columns:minmax(0,1fr) minmax(0,var(--wp--custom--size--s-180)); }
  .stage-band__copy:has(.stage-jp) { padding-left:var(--wp--preset--spacing--48); }
  .stage-jp { font-size:var(--wp--preset--font-size--medium); padding-left:var(--wp--preset--spacing--8); }
  .gallery-sections .wp-block-gallery.has-nested-images { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .project-detail-head { padding:var(--wp--preset--spacing--32); padding-left:var(--wp--preset--spacing--80); }
  .project-detail-jp { top:var(--wp--preset--spacing--32); left:var(--wp--preset--spacing--24); }
}
@media (max-width:700px) {
  .page-content:not(:has(> .stage-band)) { width:calc(100% - var(--wp--custom--size--s-44)); padding-block:var(--wp--preset--spacing--40) var(--wp--preset--spacing--64); }
  .stage-band__inner { grid-template-columns:minmax(0,1fr); padding-block:var(--wp--preset--spacing--32); gap:0; position:relative; overflow:hidden; }
  .stage-band__copy { z-index:1; padding-block:var(--wp--preset--spacing--16); }
  .stage-band__inner > .stage-danmaku { position:absolute; width:var(--wp--custom--size--s-180); right:0; bottom:0; opacity:.1; }
  .stage-jp { top:var(--wp--preset--spacing--16); font-size:var(--wp--preset--font-size--small); letter-spacing:0; }
  .stage-band__copy:has(.stage-jp) { padding-left:var(--wp--preset--spacing--40); min-height:var(--wp--custom--size--s-120); }
  .stage-content,.stage-layout { padding-block:var(--wp--preset--spacing--40) var(--wp--preset--spacing--64); }
  .stage-sidebar { padding:var(--wp--preset--spacing--24); box-shadow:var(--wp--custom--size--s-4) var(--wp--custom--size--s-4) 0 var(--wp--preset--color--line); }
  .stage-sidebar .profile-facts { grid-template-columns:minmax(0,1fr); }
  .dialog-form { padding:var(--wp--preset--spacing--24); }
  .hobbies-content .hobby-features { grid-template-columns:minmax(0,1fr); gap:var(--wp--preset--spacing--24); }
  .hobby-feature { padding:var(--wp--preset--spacing--32); }
  .gallery-sections .wp-block-gallery.has-nested-images { grid-template-columns:minmax(0,1fr); gap:var(--wp--preset--spacing--32); }
  .gallery-sections .gallery-chapter { margin-top:var(--wp--preset--spacing--40); }
  .project-detail-grid { grid-template-columns:minmax(0,1fr); }
  .project-detail-head { padding:var(--wp--preset--spacing--24); padding-left:var(--wp--preset--spacing--64); }
  .project-detail-jp { top:var(--wp--preset--spacing--24); font-size:var(--wp--preset--font-size--small); }
  .project-detail-visual { padding-top:0; }
  .project-fallback { max-height:var(--wp--custom--size--s-240); }
  .game-over { padding-block:var(--wp--preset--spacing--48); }
  .game-over-layout { grid-template-columns:minmax(0,1fr); gap:var(--wp--preset--spacing--24); }
  .game-over-danmaku { max-height:var(--wp--custom--size--s-280); }
}
@media print {
  .stage-danmaku,.stage-jp,.project-detail-jp { display:none; }
  .stage-layout,.stage-band__inner,.project-detail-grid { display:block; }
  .stage-sidebar { position:static; box-shadow:none; margin-top:var(--wp--preset--spacing--32); }
}

.wp-lightbox-overlay .scrim { background-color:var(--wp--preset--color--base)!important; }

/* Blog: the existing editorial rows gain a HUD rail and linked category tags. */
.alex-reading-time {
  color:var(--wp--preset--color--muted);
  font:400 var(--wp--preset--font-size--small)/1.7 var(--wp--preset--font-family--hud);
}
.editorial-post__meta { display:flex; flex-direction:column; gap:var(--wp--preset--spacing--4); }
.editorial-post__meta > * { margin:0; }
.editorial-post__meta time { padding:0; font-size:var(--wp--preset--font-size--small); }
.post-categories {
  display:flex; flex-wrap:wrap; align-items:center; gap:var(--wp--preset--spacing--8);
  font:600 var(--wp--preset--font-size--small)/1.5 var(--wp--preset--font-family--body);
}
.post-categories .wp-block-post-terms__separator { display:none; }
.post-categories.wp-block-post-terms a {
  display:inline-flex; align-items:center; min-height:var(--wp--custom--size--s-32); max-width:100%;
  padding:var(--wp--preset--spacing--4) var(--wp--preset--spacing--8);
  border:var(--wp--custom--size--s-1) solid var(--wp--preset--color--line);
  background:var(--wp--preset--color--surface); color:var(--wp--preset--color--negi-ink);
  text-decoration:none; overflow-wrap:anywhere;
}
.post-categories.wp-block-post-terms a:hover { border-color:var(--wp--preset--color--negi-ink); text-decoration:underline; }
.post-summary > .post-categories { margin-block:0 var(--wp--preset--spacing--12); }
.post-summary > .wp-block-post-title { margin-top:0; }

/* A wrapping menu keeps longer Romanian labels inside the page at phone widths. */
.alex-filter { margin:0 0 var(--wp--preset--spacing--32); }
.alex-filter__list { display:flex; flex-wrap:wrap; gap:var(--wp--preset--spacing--12); padding:0; margin:0; list-style:none; }
.alex-filter__list > li { min-width:0; max-width:100%; margin:0; }
.alex-filter__link {
  display:flex; align-items:center; justify-content:space-between; gap:var(--wp--preset--spacing--12);
  min-height:var(--wp--custom--size--s-44); max-width:100%;
  padding:var(--wp--preset--spacing--8) var(--wp--preset--spacing--16);
  border:var(--wp--custom--size--s-1) solid var(--wp--preset--color--line);
  background:var(--wp--preset--color--surface); color:var(--wp--preset--color--contrast);
  font:600 var(--wp--preset--font-size--small)/1.6 var(--wp--preset--font-family--body);
  text-decoration:none; overflow-wrap:anywhere;
}
.alex-filter__link:hover { border-color:var(--wp--preset--color--muted); text-decoration:underline; }
.alex-filter__link.is-current {
  border-color:var(--wp--preset--color--shu); background:var(--wp--preset--color--shu); color:var(--wp--preset--color--on-shu);
  font-weight:800; text-decoration:underline; text-decoration-thickness:var(--wp--custom--size--s-2); text-underline-offset:var(--wp--custom--size--s-3);
}
.alex-filter__count {
  flex:none; min-width:var(--wp--preset--spacing--24); text-align:center;
  border-left:var(--wp--custom--size--s-1) solid currentColor; padding-left:var(--wp--preset--spacing--8);
  font:400 var(--wp--preset--font-size--small)/1.5 var(--wp--preset--font-family--hud);
  font-variant-numeric:tabular-nums;
}
.archive-content > .alex-filter + .editorial-list { margin-top:0; }

/* Post footer: editable author, stable previous/next positions, then related cards. */
.post-author {
  display:grid; grid-template-columns:var(--wp--preset--spacing--96) minmax(0,1fr); align-items:start; gap:var(--wp--preset--spacing--24);
  max-width:var(--wp--style--global--content-size); margin:var(--wp--preset--spacing--64) auto 0;
  padding:var(--wp--preset--spacing--32); border:var(--wp--custom--size--s-1) solid var(--wp--preset--color--line);
  border-top:var(--wp--custom--size--s-3) solid var(--wp--preset--color--negi);
  background:var(--wp--preset--color--surface);
}
.post-author > * { margin:0; }
.post-author__badge {
  position:relative; display:grid; place-items:center; width:100%; aspect-ratio:1;
  border:var(--wp--custom--size--s-1) solid var(--wp--preset--color--negi-ink);
  background:var(--wp--preset--color--base); color:var(--wp--preset--color--shu);
  font:400 var(--wp--preset--font-size--large)/1 var(--wp--preset--font-family--display);
}
.post-author__badge::before {
  content:''; position:absolute; inset:var(--wp--preset--spacing--4);
  border:var(--wp--custom--size--s-1) solid var(--wp--preset--color--line); pointer-events:none;
}
.post-author__copy > * { margin:0; }
.post-author__copy > * + * { margin-top:var(--wp--preset--spacing--12); }
.post-author__copy h2 { font-size:var(--wp--preset--font-size--large); line-height:1.4; overflow-wrap:anywhere; }
.post-author__copy p { font-size:var(--wp--preset--font-size--small); }
.post-author__copy .post-author__label { font-family:var(--wp--preset--font-family--hud); color:var(--wp--preset--color--muted); }
.post-author__copy .wp-block-buttons { margin-top:var(--wp--preset--spacing--24); }
.post-author .wp-block-button, .post-author .wp-block-button__link { max-width:100%; overflow-wrap:anywhere; }
.related-section { margin-top:var(--wp--preset--spacing--64); padding-top:var(--wp--preset--spacing--32); border-top:var(--wp--custom--size--s-1) solid var(--wp--preset--color--line); }
.related-heading { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:var(--wp--preset--spacing--16); }
.related-heading > * { margin:0; }
.related-heading h2 { overflow-wrap:anywhere; }
.related-heading .wp-block-button__link { color:var(--wp--preset--color--shu); text-decoration:underline; text-underline-offset:var(--wp--custom--size--s-3); }
.related-posts { margin-top:var(--wp--preset--spacing--24); }
.related-posts .wp-block-post-template {
  display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:var(--wp--preset--spacing--24);
  list-style:none; padding:0; margin:0;
}
.related-posts .wp-block-post-template:not(:has(> li:nth-child(3))) { grid-template-columns:repeat(2,minmax(0,1fr)); }
.related-posts .wp-block-post-template:not(:has(> li:nth-child(2))) { grid-template-columns:minmax(0,1fr); max-width:var(--wp--style--global--content-size); }
.related-posts .wp-block-post-template > li { display:flex; min-width:0; margin:0; }
.related-post {
  display:flex; flex-direction:column; gap:var(--wp--preset--spacing--16); width:100%; margin:0; padding:var(--wp--preset--spacing--24);
  border:var(--wp--custom--size--s-1) solid var(--wp--preset--color--line); border-top:var(--wp--custom--size--s-3) solid var(--wp--preset--color--negi);
  background:var(--wp--preset--color--surface);
}
.related-post:hover,.related-post:focus-within { border-color:var(--wp--preset--color--negi-ink); }
.related-post > * { margin:0; }
.related-post h3 { font-size:var(--wp--preset--font-size--large); line-height:1.5; }
.related-post > .related-post__meta { margin-top:auto; padding-top:var(--wp--preset--spacing--8); }
.related-post__meta { display:flex; flex-wrap:wrap; gap:var(--wp--preset--spacing--4) var(--wp--preset--spacing--16); }
.related-post__meta > * { margin:0; }
/* Keep an empty recommendation section from leaving an orphan heading on the front end. */
.related-section:not(:has(.related-post)) { display:none; }
.editor-styles-wrapper .related-section { display:block; }

/* Reading rhythm and terminal panels, scoped to single-post content. */
.reading-layout .wp-block-post-content > * { min-width:0; }
.reading-layout .wp-block-post-content :is(h2,h3) { overflow-wrap:anywhere; text-wrap:balance; }
.reading-layout .wp-block-post-content h2 { margin-top:var(--wp--preset--spacing--64); line-height:1.3; }
.reading-layout .wp-block-post-content h3 { margin-top:var(--wp--preset--spacing--40); line-height:1.4; }
.reading-layout .wp-block-post-content :is(h2,h3) + * { margin-top:var(--wp--preset--spacing--16); }
.reading-layout .wp-block-post-content > :first-child { margin-top:0; }
.reading-layout .wp-block-post-content :is(ul,ol) { padding-inline-start:var(--wp--preset--spacing--32); }
.reading-layout .wp-block-post-content li + li { margin-top:var(--wp--preset--spacing--8); }
.reading-layout .wp-block-post-content li > :is(ul,ol) { margin-block:var(--wp--preset--spacing--8); }
.reading-layout .wp-block-post-content li::marker { color:var(--wp--preset--color--negi-ink); font-weight:600; }
.reading-layout .wp-block-post-content code { font-family:var(--wp--preset--font-family--mono); }
.reading-layout .wp-block-post-content :not(pre) > code {
  padding:var(--wp--custom--size--s-2) var(--wp--preset--spacing--4);
  border:var(--wp--custom--size--s-1) solid var(--wp--preset--color--line);
  background:var(--wp--preset--color--surface); color:var(--wp--preset--color--negi-ink);
  font-size:var(--wp--preset--font-size--small); box-decoration-break:clone; -webkit-box-decoration-break:clone;
}
.reading-layout .wp-block-post-content pre.wp-block-code {
  margin-block:var(--wp--preset--spacing--32); padding:var(--wp--preset--spacing--24);
  border:var(--wp--custom--size--s-1) solid var(--wp--preset--color--line);
  border-top:var(--wp--custom--size--s-3) solid var(--wp--preset--color--negi);
  background:var(--wp--preset--color--surface); color:var(--wp--preset--color--contrast);
  font-family:var(--wp--preset--font-family--mono); font-size:var(--wp--preset--font-size--small); line-height:1.7;
  overflow-wrap:normal; word-break:normal; white-space:pre;
  scrollbar-color:var(--wp--preset--color--muted) var(--wp--preset--color--surface);
}
.reading-layout .wp-block-post-content pre.wp-block-code > code { padding:0; border:0; background:none; color:inherit; font:inherit; }
.reading-layout .wp-block-post-content :is(.wp-block-quote,.wp-block-pullquote) { margin-block:var(--wp--preset--spacing--40); }
.reading-layout .wp-block-post-content .wp-block-quote > * + * { margin-top:var(--wp--preset--spacing--16); }
.reading-layout .wp-block-post-content :is(.wp-block-quote,.wp-block-pullquote) cite {
  display:block; margin-top:var(--wp--preset--spacing--16); color:var(--wp--preset--color--muted);
  font:400 var(--wp--preset--font-size--small)/1.7 var(--wp--preset--font-family--hud); text-transform:none;
}
.reading-layout .wp-block-post-content .wp-block-pullquote p { font-size:var(--wp--preset--font-size--large); line-height:1.6; }
.reading-layout .wp-block-post-content .wp-block-pullquote blockquote { max-width:100%; }
.reading-layout .wp-block-post-content .wp-block-image { margin-block:var(--wp--preset--spacing--40); }
.reading-layout .wp-block-post-content .wp-block-image figcaption {
  margin-top:var(--wp--preset--spacing--12); color:var(--wp--preset--color--muted);
  font:400 var(--wp--preset--font-size--small)/1.7 var(--wp--preset--font-family--hud); overflow-wrap:anywhere;
}
.reading-layout .wp-block-post-content .wp-block-separator:not(.is-style-dots) {
  width:100%; max-width:100%; height:0; margin-block:var(--wp--preset--spacing--48);
  border:0; border-top:var(--wp--custom--size--s-1) solid var(--wp--preset--color--line); background:none; opacity:1;
}
.reading-layout .wp-block-post-content .wp-block-separator.is-style-dots { margin-block:var(--wp--preset--spacing--48); color:var(--wp--preset--color--negi-ink); }
@media (max-width:700px) {
  .editorial-post__meta { flex-direction:row; flex-wrap:wrap; gap:var(--wp--preset--spacing--4) var(--wp--preset--spacing--16); }
  .alex-filter__list { gap:var(--wp--preset--spacing--8); }
  .alex-filter__link { padding-inline:var(--wp--preset--spacing--12); }
  .post-header-meta { gap:var(--wp--preset--spacing--8) var(--wp--preset--spacing--16); }
  .post-header-meta .post-categories { flex-basis:100%; }
  .post-author { grid-template-columns:minmax(0,1fr); gap:var(--wp--preset--spacing--20); padding:var(--wp--preset--spacing--24); }
  .post-author__badge { width:var(--wp--preset--spacing--64); font-size:var(--wp--preset--font-size--medium); }
  .related-posts .wp-block-post-template, .related-posts .wp-block-post-template:not(:has(> li:nth-child(3))) { grid-template-columns:minmax(0,1fr); }
  .reading-layout .wp-block-post-content pre.wp-block-code { padding:var(--wp--preset--spacing--16); }
  .reading-layout .wp-block-post-content :is(ul,ol) { padding-inline-start:var(--wp--preset--spacing--24); }
}
.wp-lightbox-overlay button { color:var(--wp--preset--color--contrast); fill:var(--wp--preset--color--contrast)!important; }

/* Legal reading pages use the same stage headings and quiet sidebar as the CV. */
.legal-layout { column-gap:var(--wp--preset--spacing--48); }
.legal-layout .legal-content { width:100%; max-width:var(--wp--custom--polish--measure); line-height:1.8; }
.legal-content .legal-updated { margin-top:var(--wp--preset--spacing--16); font:400 var(--wp--preset--font-size--small)/1.7 var(--wp--preset--font-family--hud); color:var(--wp--preset--color--muted); }
.legal-content .content-section { margin-top:var(--wp--preset--spacing--48); padding-top:var(--wp--preset--spacing--32); }
.legal-content .content-section > * + * { margin-block-start:var(--wp--preset--spacing--20); }
.legal-content .content-section h2 { line-height:1.4; overflow-wrap:anywhere; }
.legal-content :is(ul,ol),.legal-panel :is(ul,ol) { padding-inline-start:var(--wp--preset--spacing--24); }
.legal-content li + li,.legal-panel li + li { margin-top:var(--wp--preset--spacing--12); }
.legal-content li::marker,.legal-panel li::marker { color:var(--wp--preset--color--negi-ink); }
.legal-content strong { color:var(--wp--preset--color--contrast); font-weight:700; }
.legal-content code { font-family:var(--wp--preset--font-family--mono); font-size:var(--wp--preset--font-size--small); overflow-wrap:anywhere; }
.legal-layout a:not(.wp-element-button) { color:var(--wp--preset--color--shu); text-decoration:underline; text-decoration-thickness:var(--wp--custom--size--s-1); text-underline-offset:var(--wp--custom--size--s-4); }
.legal-layout a:not(.wp-element-button):hover { color:var(--wp--preset--color--contrast); }
.legal-panel { position:static; font-size:var(--wp--preset--font-size--small); line-height:1.8; }
.legal-panel > * + * { margin-top:var(--wp--preset--spacing--16); }
.legal-panel > h2:not(:first-child) { margin-top:var(--wp--preset--spacing--32); padding-top:var(--wp--preset--spacing--24); border-top:var(--wp--custom--size--s-1) solid var(--wp--preset--color--line); }
.legal-panel a { display:inline-block; min-height:var(--wp--custom--size--s-24); overflow-wrap:anywhere; }
.legal-actions { margin-block-start:var(--wp--preset--spacing--24); gap:var(--wp--preset--spacing--16); }
.legal-actions .wp-block-button { max-width:100%; }
.legal-actions .wp-block-button__link { white-space:normal; overflow-wrap:anywhere; text-align:center; }

/* Consent is a small game dialog, below the header/menu (z-index:10). No entrance motion. */
html.consent-open { scroll-padding-bottom:calc(var(--consent-h) + var(--wp--preset--spacing--16)); }
html.consent-open .wp-site-blocks { padding-bottom:calc(var(--consent-h) + var(--wp--preset--spacing--16)); }
.alex-consent {
  position:fixed; z-index:9; inset-inline-end:var(--wp--custom--gutter); bottom:var(--wp--preset--spacing--24);
  width:calc(100% - var(--wp--custom--gutter) * 2); max-width:calc(var(--wp--preset--spacing--48) * 10);
  max-height:50dvh; overflow:auto; overscroll-behavior:contain; scroll-padding-block:var(--wp--preset--spacing--16);
  margin:0; padding:var(--wp--preset--spacing--24); color:var(--wp--preset--color--contrast);
  background:var(--wp--preset--color--surface); border:var(--wp--custom--size--s-1) solid var(--wp--preset--color--muted);
  border-inline-start:var(--wp--custom--size--s-4) solid var(--wp--preset--color--shu);
  box-shadow:var(--wp--custom--size--s-4) var(--wp--custom--size--s-4) 0 var(--wp--preset--color--line);
  font-family:var(--wp--preset--font-family--body); overflow-wrap:anywhere;
}
.alex-consent[hidden] { display:none!important; }
.alex-consent::before {
  content:''; position:absolute; inset-inline-end:var(--wp--preset--spacing--12); top:var(--wp--preset--spacing--12);
  width:var(--wp--custom--size--s-8); height:var(--wp--custom--size--s-8);
  border-top:var(--wp--custom--size--s-2) solid var(--wp--preset--color--negi-ink);
  border-inline-end:var(--wp--custom--size--s-2) solid var(--wp--preset--color--negi-ink); pointer-events:none;
}
.alex-consent > * { margin:0; }
.alex-consent .alex-consent__title { font-family:var(--wp--preset--font-family--display); font-size:var(--wp--preset--font-size--medium); line-height:1.5; }
.alex-consent .alex-consent__text { margin-top:var(--wp--preset--spacing--12); color:var(--wp--preset--color--muted); font-size:var(--wp--preset--font-size--small); line-height:1.7; }
.alex-consent__link { color:var(--wp--preset--color--shu); text-decoration:underline; text-underline-offset:var(--wp--custom--size--s-3); }
.alex-consent__link:hover { color:var(--wp--preset--color--contrast); }
.alex-consent .alex-consent__actions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:var(--wp--preset--spacing--12); margin-top:var(--wp--preset--spacing--20); }
.alex-consent__btn {
  min-width:0; min-height:var(--wp--custom--size--s-44); padding:var(--wp--preset--spacing--8) var(--wp--preset--spacing--12);
  border:var(--wp--custom--size--s-1) solid var(--wp--preset--color--muted); background:var(--wp--preset--color--base);
  color:var(--wp--preset--color--contrast); font:600 var(--wp--preset--font-size--small)/1.6 var(--wp--preset--font-family--body);
  white-space:normal; overflow-wrap:anywhere;
}
.alex-consent__btn:hover { border-color:var(--wp--preset--color--shu); }
.alex-consent__btn[aria-pressed="true"] { border-color:var(--wp--preset--color--contrast); box-shadow:inset 0 0 0 var(--wp--custom--size--s-1) currentColor; text-decoration:underline; text-underline-offset:var(--wp--custom--size--s-4); }
.alex-consent :is(a,button):focus-visible { outline:var(--wp--custom--size--s-3) solid var(--wp--preset--color--shu); outline-offset:var(--wp--custom--size--s-3); }
@media (max-width:600px) {
  .alex-consent { inset-inline-end:var(--wp--preset--spacing--16); bottom:var(--wp--preset--spacing--16); width:calc(100% - var(--wp--preset--spacing--16) * 2); max-width:none; padding:var(--wp--preset--spacing--20); }
  .alex-menu--footer .alex-menu__list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:var(--wp--preset--spacing--8) var(--wp--preset--spacing--16); }
  .alex-menu--footer li:last-child { grid-column:1 / -1; }
}
.editor-styles-wrapper .alex-consent { position:relative; inset:auto; z-index:auto; width:100%; max-height:none; margin-block:var(--wp--preset--spacing--24); }
@media print {
  .alex-consent { display:none!important; }
  html.consent-open { scroll-padding-bottom:0; }
  html.consent-open .wp-site-blocks { padding-bottom:0; }
}

/* Home system screen + About portrait. Shared presets cover light/dark and the editor; all art is static. */
.site-system .system-stats,
.site-system .system-modules,
.site-system .system-actions { margin-block-start:var(--wp--preset--spacing--32); }
.site-system :is(.system-stats,.system-modules,.system-module__tag) > * { min-width:0; margin:0; }
.system-stats {
  display:grid; grid-template-columns:repeat(4,minmax(0,1fr));
  border-block:var(--wp--custom--size--s-1) solid var(--wp--preset--color--line);
  background:var(--wp--preset--color--surface);
}
.system-stat { padding:var(--wp--preset--spacing--20) var(--wp--preset--spacing--24); }
.system-stat + .system-stat { border-inline-start:var(--wp--custom--size--s-1) solid var(--wp--preset--color--line); }
.system-stat__number {
  margin:0; color:var(--wp--preset--color--negi-ink);
  font:400 var(--wp--preset--font-size--x-large)/1.2 var(--wp--preset--font-family--display);
}
.system-stat__label {
  margin:var(--wp--preset--spacing--8) 0 0; color:var(--wp--preset--color--muted);
  font-size:var(--wp--preset--font-size--small); line-height:1.6; overflow-wrap:anywhere;
}
.system-modules { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:var(--wp--preset--spacing--24); }
.system-module {
  --system-accent:var(--wp--preset--color--negi-ink);
  position:relative; padding:var(--wp--preset--spacing--24);
  border:var(--wp--custom--size--s-1) solid var(--wp--preset--color--line);
  background:var(--wp--preset--color--surface); color:var(--wp--preset--color--contrast);
}
.system-module:nth-child(even) { --system-accent:var(--wp--preset--color--shu); }
.system-module::before {
  content:''; position:absolute; inset-block-start:calc(-1 * var(--wp--custom--size--s-1));
  inset-inline-start:var(--wp--preset--spacing--24); width:var(--wp--preset--spacing--32);
  height:var(--wp--custom--size--s-2); background:var(--system-accent);
}
.system-module__tag {
  display:flex; align-items:baseline; gap:var(--wp--preset--spacing--12);
  margin:0 0 var(--wp--preset--spacing--16); padding-bottom:var(--wp--preset--spacing--12);
  border-bottom:var(--wp--custom--size--s-1) solid var(--wp--preset--color--line);
  font-family:var(--wp--preset--font-family--hud); line-height:1.4;
}
.system-module__number { flex:none; color:var(--system-accent); font-size:var(--wp--preset--font-size--large); }
.system-module__label { color:var(--wp--preset--color--muted); font-size:var(--wp--preset--font-size--small); overflow-wrap:anywhere; }
.system-module h3 { margin:0; font-size:var(--wp--preset--font-size--large); line-height:1.4; overflow-wrap:anywhere; }
.system-module > p { margin:var(--wp--preset--spacing--16) 0 0; font-size:var(--wp--preset--font-size--medium); line-height:1.75; overflow-wrap:anywhere; }
.system-actions { max-width:100%; }
.system-actions .wp-block-button { min-width:0; max-width:100%; margin:0; }
.system-actions .wp-block-button__link {
  max-width:100%; gap:var(--wp--preset--spacing--16); color:var(--wp--preset--color--shu);
  padding:var(--wp--preset--spacing--8) 0; text-align:start; white-space:normal; overflow-wrap:anywhere;
}
.system-actions .wp-block-button__link::after {
  content:''; flex:none; width:var(--wp--preset--spacing--8); height:var(--wp--preset--spacing--8);
  border-block-start:var(--wp--custom--size--s-2) solid currentColor;
  border-inline-end:var(--wp--custom--size--s-2) solid currentColor; transform:rotate(45deg);
}
.player-portrait {
  position:relative; isolation:isolate; width:100%; aspect-ratio:4/3; overflow:hidden;
  margin-inline:0; margin-block-end:0;
  border:var(--wp--custom--size--s-1) solid var(--wp--preset--color--line);
  background:var(--wp--preset--color--base);
}
.player-portrait img { display:block; width:100%; height:100%; object-fit:cover; }
.player-portrait::before,.player-portrait::after {
  content:''; position:absolute; inset:var(--wp--preset--spacing--8); z-index:1; pointer-events:none;
  background-repeat:no-repeat;
  background-size:var(--wp--preset--spacing--24) var(--wp--custom--size--s-2),
    var(--wp--custom--size--s-2) var(--wp--preset--spacing--24),
    var(--wp--preset--spacing--24) var(--wp--custom--size--s-2),
    var(--wp--custom--size--s-2) var(--wp--preset--spacing--24);
  background-image:linear-gradient(currentColor,currentColor),linear-gradient(currentColor,currentColor),
    linear-gradient(currentColor,currentColor),linear-gradient(currentColor,currentColor);
}
.player-portrait::before {
  color:var(--wp--preset--color--negi); background-position:left top,left top,right bottom,right bottom;
}
.player-portrait::after {
  color:var(--wp--preset--color--shu); background-position:right top,right top,left bottom,left bottom;
}
.stage-sidebar .portrait-caption {
  margin-top:var(--wp--preset--spacing--8); color:var(--wp--preset--color--muted);
  font:400 var(--wp--preset--font-size--tiny)/1.6 var(--wp--preset--font-family--hud);
}
@media (max-width:1050px) {
  .system-modules { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .player-portrait { max-height:var(--wp--custom--polish--portrait); }
}
@media (max-width:700px) {
  .site-system .system-modules,.site-system .system-actions { margin-block-start:var(--wp--preset--spacing--24); }
  .system-stats { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .system-stat { padding:var(--wp--preset--spacing--16); }
  .system-stat:nth-child(odd) { border-inline-start:0; }
  .system-stat:nth-child(n+3) { border-top:var(--wp--custom--size--s-1) solid var(--wp--preset--color--line); }
  .system-modules { grid-template-columns:minmax(0,1fr); gap:var(--wp--preset--spacing--16); }
}
