:root{--bg:#fafaf7;--text:#202421;--muted:#58615b;--line:#c9cec7;--accent:#bd3e25;--soft:#eef0e9;--network:#e4eef5}*{box-sizing:border-box}html{scroll-padding-top:25px}body{margin:0;background:var(--bg);color:var(--text);font-family:"Yu Gothic","Meiryo",system-ui,sans-serif;line-height:1.85}a{color:inherit;text-underline-offset:5px}a:hover{color:var(--accent)}button,summary{font:inherit;cursor:pointer}button{color:inherit;background:transparent;border:1px solid var(--line);padding:7px 13px}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--accent);outline-offset:5px}h1,h2,h3,p{margin:0}h2{line-height:1.4;font-size:2rem;letter-spacing:-.04em}h3{font-size:1.15rem;line-height:1.6}p{margin-top:15px}.wrap{width:min(1180px,calc(100% - 96px));margin-inline:auto}.mast{margin:0 48px;padding:23px 0;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--text);position:relative;z-index:3}.brand{font-weight:750;text-decoration:none;font-size:1.15rem}.brand span{display:inline-block;margin-left:20px;font-weight:400;font-size:.875rem;color:var(--muted)}.controls{display:flex;align-items:center;gap:24px}.nav summary{padding:6px}.nav nav{position:absolute;right:0;top:100%;background:var(--bg);border:1px solid var(--text);padding:24px;min-width:270px;box-shadow:7px 7px 0 var(--soft)}.nav nav a{display:block;padding:8px;text-decoration:none}.skip{position:absolute;top:-100px;left:20px;z-index:10;background:var(--bg)}.skip:focus{top:10px}.hero{padding-top:43px}.hero-note,.hero-foot{display:flex;justify-content:space-between;gap:20px;font-size:.875rem}.hero h1{font-family:Arial,Helvetica,sans-serif;font-weight:900;font-size:clamp(7rem,23.8vw,21rem);line-height:1.06;letter-spacing:-.09em;margin:20px 0 23px -.06em}.hero h1 span{color:var(--accent)}.hero-foot{border-top:1px solid var(--line);padding-top:20px}.hero-foot a{text-decoration:none}.section-label{display:block;color:var(--muted);font-size:.875rem;font-weight:600;letter-spacing:.07em}.about{display:grid;grid-template-columns:1fr 2fr;padding:130px 0 120px;gap:45px}.about-copy{max-width:710px}.about h2{font-size:3.4rem;margin-bottom:27px}.about p{font-size:1.3rem;line-height:2.2;max-width:670px}.signature{display:block;text-align:right;font-family:Georgia,serif;font-style:italic;font-size:1.3rem;margin-top:28px}.now{padding:40px 0 100px;border-top:2px solid var(--text)}.now>h2{margin:20px 0 40px}.now-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:80px}.activities article{display:flex;gap:25px;padding:26px 0;border-top:1px solid var(--line)}.activities article>span{font-family:Georgia,serif;font-style:italic;color:var(--accent);font-size:1.4rem}.activities p{color:var(--muted);margin-bottom:18px}.activities a,.play>a{font-size:.875rem}.play{background:var(--soft);padding:30px 35px;border-top:5px solid var(--accent)}.play h3{font-size:1.6rem;margin-top:12px}.play dl{margin:28px 0}.play dt{font-size:.875rem;margin-top:23px}.play dd{margin:5px 0 0;font-size:.875rem;color:var(--muted)}.play strong{font-size:1.5rem;color:var(--text)}.server-status{display:flex;gap:15px;flex-wrap:wrap;font-size:.875rem;border-top:1px solid var(--line);margin-top:20px;padding-top:15px}.online-dot{display:inline-block;width:8px;height:8px;background:#238144;border-radius:50%;margin-right:7px}.offline-dot{background:#b95437}.history{display:grid;grid-template-columns:1fr 1.65fr;gap:70px;padding:45px 0 130px}.history h2{font-size:2.7rem;margin-top:20px}.timeline article{display:grid;grid-template-columns:110px 1fr;gap:30px;border-top:1px solid var(--line);padding:28px 0}.timeline time{font-family:Georgia,serif;font-size:2rem;line-height:1.5}.timeline time span{display:block;font: .875rem/1.8 system-ui;color:var(--muted)}.timeline p{font-size:.95rem;color:var(--muted);margin-top:8px}.timeline .blank-years{padding:35px 0 60px;color:var(--muted);border-top-style:dashed}.blank-years>div{display:flex;flex-direction:column;justify-content:center;font-size:.875rem}.blank-rule{height:45px;border-bottom:1px dashed var(--line)}.future{border-top-color:var(--accent)!important}.network{background:var(--network);padding:75px 0;color:#193649}.network-grid{display:grid;grid-template-columns:2fr 1fr;gap:65px;align-items:center}.network h2{font-size:1.45rem;letter-spacing:0;margin-top:25px}.network-lead{font-size:2.25rem;font-weight:750;line-height:1.6;margin-top:15px}.network p:not(.network-lead){max-width:630px}.network .section-label{color:#475f70}.network-mark{text-align:center;border-left:1px solid #b6c8d3;padding:35px 0 35px 45px}.network-mark img{display:block;margin:auto;width:145px;height:145px}.network-mark span{display:block;font-size:.875rem;margin-top:25px}.button{display:inline-block;background:#193649;color:white;padding:12px 22px;text-decoration:none;margin-top:30px}.button:hover{background:#2b5069;color:white}.nextqueue{display:grid;grid-template-columns:1fr 1.25fr;gap:95px;padding:115px 0 110px}.nq-logo{background:#0b1a2b;margin-top:30px;padding:45px 22px;display:flex;align-items:center;min-height:230px}.nq-logo img{width:100%;height:auto;object-fit:contain}.nq-note{font-size:.875rem;color:var(--muted);display:block;margin-top:12px}.nq-copy h2{font-size:2.7rem}.nq-intro{font-size:1.2rem;margin-top:23px}.nq-copy>p:not(.nq-intro){color:var(--muted)}.nq-flow{border-top:1px solid var(--line);margin:28px 0}.nq-flow>div{padding:15px 0;border-bottom:1px solid var(--line)}.nq-flow dt{font-weight:700}.nq-flow dd{margin:5px 0 0;font-size:.875rem;color:var(--muted)}.fine{font-size:.875rem;color:var(--muted)}.text-link{display:inline-block;margin-top:25px;font-weight:700}.links{border-top:2px solid var(--text);padding:30px 0 110px;display:grid;grid-template-columns:1fr 2fr;gap:45px}.links h2{margin-top:15px}.link-groups h3{margin-bottom:16px;font-size:1rem}.link-groups a{display:grid;grid-template-columns:110px 1fr 20px;gap:15px;padding:16px 0;border-bottom:1px solid var(--line);text-decoration:none;align-items:center}.link-groups a>span{font-size:.875rem;color:var(--muted)}.link-groups b{font-size:1.15rem;overflow-wrap:anywhere}.link-groups i{font-style:normal}.next-links{margin-top:45px;padding-left:23px;border-left:3px solid var(--accent)}.next-links small{display:block;font-size:.875rem;font-weight:400;color:var(--muted)}.log{padding-bottom:90px}.log-heading{display:flex;justify-content:space-between;gap:30px;align-items:end;border-bottom:2px solid var(--text);padding-bottom:25px}.log h2{font-family:Arial,sans-serif;font-size:3.1rem;margin-top:10px}.log h2 span{font-size:.9rem;font-family:system-ui;font-weight:400;letter-spacing:0;margin-left:22px}.log-heading>a{font-size:.875rem}.log-list article{display:grid;grid-template-columns:200px 1fr;gap:45px;padding:25px 0;border-bottom:1px solid var(--line)}.log-list article>div:first-child b,.log-list article>div:first-child span{display:block;font-size:.875rem}.log-list article>div:first-child span{color:var(--muted);margin-top:3px}.log-list small{font-size:.75rem;color:var(--muted)}.log-list h3{font-size:1.1rem;margin-top:4px}.log-list p{font-size:.95rem;margin-top:8px;color:var(--muted)}footer{border-top:1px solid var(--text);padding:30px 0 45px;display:flex;justify-content:space-between;align-items:center;gap:25px;font-size:.875rem}.footer-name{font:900 3rem/1 Arial,sans-serif;letter-spacing:-.08em;text-decoration:none}.archive-page{padding:85px 0}.archive-page h1{font-size:3.4rem}.archive-entry{display:block;border-block:1px solid var(--line);margin:45px 0;padding:30px 0;text-decoration:none}.archive-entry h2{margin:15px 0}.archive-entry b{display:block;margin-top:20px}html[data-theme=dark]{--bg:#242824;--text:#f3f3eb;--muted:#bdc7bd;--line:#566057;--accent:#ff9a78;--soft:#303930;--network:#dce8ef}::selection{background:#bd3e25;color:white}@media(min-width:1600px){.hero h1{font-size:21rem}}@media(max-width:800px){.wrap{width:calc(100% - 40px)}.mast{margin:0 20px;padding:18px 0}.brand span{display:none}.controls{gap:15px}.hero{padding-top:30px}.hero h1{font-size:25vw;margin:25px 0}.hero-foot{display:block;font-size:.875rem}.hero-foot a{display:block;margin-top:13px}.about{padding:75px 0;grid-template-columns:1fr;gap:25px}.about h2{font-size:2.5rem;margin-bottom:20px}.about p{font-size:1.1rem}.now{padding-bottom:70px}.now h2{font-size:1.65rem}.now-grid{grid-template-columns:1fr;gap:30px}.play{padding:25px}.history{grid-template-columns:1fr;gap:35px;padding:20px 0 75px}.history h2{font-size:2.2rem}.timeline article{grid-template-columns:83px 1fr;gap:20px}.timeline time{font-size:1.7rem}.network{padding:45px 0}.network-grid{grid-template-columns:1fr;gap:35px}.network-lead{font-size:1.65rem}.network-mark{display:flex;align-items:center;text-align:left;gap:22px;border-left:0;border-top:1px solid #b6c8d3;padding:25px 0 0}.network-mark img{width:75px;height:75px;margin:0}.network-mark span{margin:0}.nextqueue{grid-template-columns:1fr;gap:35px;padding:65px 0}.nq-logo{min-height:0;padding:30px;max-width:450px}.nq-copy h2{font-size:2.25rem}.links{grid-template-columns:1fr;gap:30px;padding-bottom:65px}.link-groups a{grid-template-columns:82px 1fr 15px;gap:10px}.link-groups b{font-size:1rem}.next-links{padding-left:15px}.log-heading{display:block}.log-heading>a{display:inline-block;margin-top:20px}.log-list article{grid-template-columns:1fr;gap:10px}.log-list article>div:first-child{display:flex;gap:15px;align-items:center}.log-list article>div:first-child span{margin:0}.log{padding-bottom:60px}footer{flex-wrap:wrap}.footer-name{font-size:2.5rem}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}

/* v3.1 — Rase Blue identity refresh */
:root{
  --accent:#149ee4;
  --accent-strong:#087fc1;
  --network:#fafaf7;
  --brand-navy:#102b40;
  --brand-blue:#149ee4;
}
a:hover{color:var(--accent-strong)}
::selection{background:var(--brand-blue);color:#fff}
.hero h1 span{color:var(--brand-blue)}
.activities article>span{color:var(--brand-blue)}
.future{border-top-color:var(--brand-blue)!important}
.play{border-top-color:var(--brand-blue)}
.next-links{border-left-color:var(--brand-blue)}

/* Rase Network: no image tile; the mark inherits the page */
.network{background:var(--bg);color:var(--text);border-block:1px solid var(--line)}
.network .section-label{color:var(--muted)}
.network h2{color:var(--brand-blue)}
.network-mark{color:var(--brand-navy);border-left-color:var(--line)}
.rn-code-mark{position:relative;width:148px;height:148px;margin:0 auto;color:currentColor}
.rn-letter{position:absolute;inset:0;display:grid;place-items:center;font:900 112px/.9 Arial,Helvetica,sans-serif;letter-spacing:-.1em;transform:translateX(-4px)}
.rn-dot{position:absolute;right:9px;top:11px;width:20px;height:20px;border-radius:50%;background:var(--brand-blue)}
.network .button{background:var(--brand-navy);color:#fff;border:1px solid var(--brand-navy)}
.network .button:hover{background:var(--brand-blue);border-color:var(--brand-blue);color:#fff}

/* NextQueue: live vector-like wordmark instead of a rectangular image */
.nq-logo{background:transparent;margin-top:34px;padding:0;min-height:220px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;position:relative;color:var(--brand-navy);border-block:1px solid var(--line);overflow:hidden}
.nq-word{display:block;font:900 clamp(3.6rem,7.4vw,6.9rem)/.78 Arial,Helvetica,sans-serif;letter-spacing:-.085em;white-space:nowrap}
.nq-queue{color:var(--brand-blue);margin-top:12px}
.nq-arrow{display:block;position:relative;width:min(88%,410px);height:18px;margin-top:27px}
.nq-arrow:before{content:"";position:absolute;left:0;right:16px;top:8px;height:3px;background:var(--brand-blue)}
.nq-arrow:after{content:"";position:absolute;right:0;top:1px;width:14px;height:14px;border-top:3px solid var(--brand-blue);border-right:3px solid var(--brand-blue);transform:rotate(45deg)}
.nq-arrow i{position:absolute;left:0;top:3px;width:13px;height:13px;border:3px solid var(--brand-blue);border-radius:50%}

/* Dark mode = Rase Blue / deep navy, not black-green */
html[data-theme=dark]{
  --bg:#061827;
  --text:#f4f9fd;
  --muted:#9eb5c5;
  --line:#29475d;
  --accent:#27b5ff;
  --accent-strong:#73d1ff;
  --soft:#0c2436;
  --network:#061827;
  --brand-navy:#f4f9fd;
  --brand-blue:#27b5ff;
  color-scheme:dark;
}
html[data-theme=dark] .mast{border-bottom-color:#6d8ba0}
html[data-theme=dark] .network-mark{color:#fff}
html[data-theme=dark] .network .button{background:var(--brand-blue);border-color:var(--brand-blue);color:#03111b}
html[data-theme=dark] .network .button:hover{background:#7bd7ff;border-color:#7bd7ff;color:#03111b}
html[data-theme=dark] .nq-logo{color:#fff}
html[data-theme=dark] .nav nav{box-shadow:7px 7px 0 #0d2b40}

@media(max-width:800px){
  .network-mark{border-left:0;border-top:1px solid var(--line)}
  .rn-code-mark{width:78px;height:78px;margin:0}
  .rn-letter{font-size:60px}
  .rn-dot{right:2px;top:3px;width:11px;height:11px}
  .nq-logo{min-height:175px;max-width:none;padding:24px 0}
  .nq-word{font-size:clamp(3.2rem,17vw,5.6rem)}
  .nq-arrow{margin-top:22px;width:82%}
}


/* ===== Portal v3.2 brand-section refinements ===== */
.rn-code-mark{
  width:132px;height:132px;border:2px solid currentColor;border-radius:22px;margin:0 auto;
}
.rn-letter{
  font-size:82px;letter-spacing:-.08em;transform:translate(-3px,2px);
}
.rn-dot{
  right:13px;top:13px;width:16px;height:16px;
}
.nq-logo{
  background:transparent;border:0;min-height:0;padding:18px 0 10px;margin-top:26px;overflow:visible;
  display:block;
}
.nq-logo img{
  display:block;width:min(100%,560px);height:auto;object-fit:contain;
}
.nq-logo-dark{display:none}
html[data-theme=dark] .nq-logo-light{display:none}
html[data-theme=dark] .nq-logo-dark{display:block}
html[data-theme=light] .nq-logo-light{display:block}
html[data-theme=light] .nq-logo-dark{display:none}
.nq-note{margin-top:6px;letter-spacing:.02em}
.hero h1 span{
  display:inline;font-size:.86em;line-height:1;margin-left:.015em;
}
@media(max-width:800px){
  .rn-code-mark{width:72px;height:72px;border-radius:14px;margin:0}
  .rn-letter{font-size:45px;transform:translate(-2px,1px)}
  .rn-dot{right:7px;top:7px;width:9px;height:9px}
  .nq-logo{padding:10px 0 4px;max-width:520px}
}


/* ===== Portal v3.3: brand sections ===== */

/* Rase Network: simple R + blue dot, no badge frame. */
.rn-code-mark{
  width:180px !important;
  height:150px !important;
  border:0 !important;
  border-radius:0 !important;
  margin:0 auto !important;
  color:var(--ink) !important;
}
.rn-letter{
  font-size:118px !important;
  font-weight:900 !important;
  line-height:1 !important;
  letter-spacing:-.08em !important;
  transform:none !important;
}
.rn-dot{
  width:18px !important;
  height:18px !important;
  right:10px !important;
  top:18px !important;
  background:var(--blue) !important;
}

/* NextQueue deliberately keeps its own dark brand world in both themes. */
section:has(.nq-logo){
  background:#061a2b !important;
  color:#f5f9ff !important;
  border-color:#24465f !important;
}
section:has(.nq-logo) h2,
section:has(.nq-logo) h3,
section:has(.nq-logo) strong{
  color:#f5f9ff !important;
}
section:has(.nq-logo) p,
section:has(.nq-logo) .nq-note,
section:has(.nq-logo) .section-kicker{
  color:#b9d2e4 !important;
}
section:has(.nq-logo) a{
  color:#f5f9ff !important;
  text-decoration-color:#2eb4f4 !important;
}
.nq-logo{
  background:transparent !important;
  border:0 !important;
  min-height:0 !important;
  padding:0 !important;
  margin-top:26px !important;
  overflow:visible !important;
}
.nq-logo img{
  display:block !important;
  width:min(100%,600px) !important;
  height:auto !important;
  object-fit:contain !important;
}
.nq-logo-light,.nq-logo-dark{display:none !important}

@media(max-width:800px){
  .rn-code-mark{
    width:105px !important;
    height:90px !important;
    margin:0 !important;
  }
  .rn-letter{font-size:70px !important}
  .rn-dot{
    width:11px !important;
    height:11px !important;
    right:7px !important;
    top:10px !important;
  }
  .nq-logo img{width:min(100%,520px) !important}
}


/* ===== Portal v3.4 — explicit brand section targeting ===== */
.network-section{
  background:var(--bg) !important;
  color:var(--ink) !important;
}
.network-section .rn-code-mark{
  width:180px !important;height:150px !important;
  border:0 !important;outline:0 !important;box-shadow:none !important;
  border-radius:0 !important;background:transparent !important;
  position:relative !important;display:flex !important;
  align-items:center !important;justify-content:center !important;
}
.network-section .rn-letter{
  font-size:112px !important;font-weight:900 !important;line-height:.9 !important;
  color:var(--ink) !important;position:static !important;
}
.network-section .rn-dot{
  position:absolute !important;width:18px !important;height:18px !important;
  right:13px !important;top:18px !important;border-radius:50% !important;
  background:var(--blue) !important;
}

.nextqueue-section{
  background:#061a2b !important;
  color:#f7fbff !important;
  border-color:#24465f !important;
}
.nextqueue-section h1,.nextqueue-section h2,.nextqueue-section h3,
.nextqueue-section strong,.nextqueue-section a{color:#f7fbff !important}
.nextqueue-section p{color:#d5e4ef !important}
.nextqueue-section .section-kicker,.nextqueue-section .nq-note{color:#8fc4e6 !important}
.nextqueue-section .nq-logo{background:transparent !important;border:0 !important}
.nextqueue-section .nq-logo img{
  display:block !important;width:min(100%,600px) !important;height:auto !important
}
.nextqueue-section hr,.nextqueue-section .rule{border-color:#31536b !important}

@media(max-width:800px){
  .network-section .rn-code-mark{width:110px !important;height:90px !important;margin:0 !important}
  .network-section .rn-letter{font-size:70px !important}
  .network-section .rn-dot{
    width:11px !important;height:11px !important;right:8px !important;top:10px !important
  }
}

/* ===== Portal v3.5 — canonical brand assets ===== */
.network-section .rn-official-mark{display:block;width:150px;height:150px;margin:0 auto 24px}
.network-section .rn-official-mark img{display:block;width:100%;height:100%;object-fit:contain}
html[data-theme="dark"] .network-section .rn-official-mark img{content:url('/assets/redesign/rase-network-mark-dark.svg')}
html[data-theme="light"] .network-section .rn-official-mark img{content:url('/assets/redesign/rase-network-mark-light.svg')}
.nextqueue-section .nq-logo{display:flex;align-items:center;min-height:170px;overflow:visible!important}
.nextqueue-section .nq-logo img{width:min(100%,620px)!important;height:auto!important;object-fit:contain!important;background:transparent!important;filter:none!important}
@media(max-width:800px){.network-section .rn-official-mark{width:112px;height:112px;margin:0 0 18px}.nextqueue-section .nq-logo{min-height:0}.nextqueue-section .nq-logo img{width:100%!important}}


/* ===== Portal v3.6 — real transparent NextQueue logo ===== */
.nextqueue-section .nq-logo,
.nextqueue-section .nq-brand,
.nextqueue-section .nq-visual{
  background:transparent !important;
}
.nextqueue-section img[src*="nextqueue-logo-transparent"]{
  display:block !important;
  width:min(100%,520px) !important;
  height:auto !important;
  object-fit:contain !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
}
@media(max-width:800px){
  .nextqueue-section img[src*="nextqueue-logo-transparent"]{
    width:min(100%,390px) !important;
  }
}

/* ===== Portal v3.7.1 — sticky mast, full-bleed NextQueue, purposeful motion ===== */
html{scroll-padding-top:92px}
section[id]{scroll-margin-top:92px}
.mast{
  position:sticky;top:0;z-index:100;
  margin:0;padding:16px 48px;
  background:color-mix(in srgb,var(--bg) 96%,transparent);
  border-bottom:1px solid var(--line);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  transition:padding .22s ease,box-shadow .22s ease,background-color .22s ease;
}
.mast.is-scrolled{padding-top:10px;padding-bottom:10px;box-shadow:0 5px 18px rgba(0,0,0,.06)}
.nextqueue-section{
  box-shadow:0 0 0 100vmax #061a2b;
  clip-path:inset(0 -100vmax);
}
.nextqueue-section .section-label{color:#8fc4e6!important}
.nextqueue-section .nq-note{margin-top:10px;color:#9bc8e5!important}
.nextqueue-section .nq-logo img{transform-origin:50% 50%}

/* Opening: the blue stop lands after the wordmark. */
.hero h1>span{display:inline-block;opacity:0;transform:scale(.45);animation:portalDotIn .42s cubic-bezier(.2,.8,.2,1) .38s forwards}
@keyframes portalDotIn{to{opacity:1;transform:scale(1)}}

/* Section-specific, restrained scroll motion. */
.motion-about .about-copy{opacity:0;transform:translateY(18px);transition:opacity .55s ease,transform .55s ease}
.motion-about.is-visible .about-copy{opacity:1;transform:none}
.motion-now .activities article{opacity:0;transform:translateX(-16px);transition:opacity .45s ease,transform .45s ease}
.motion-now.is-visible .activities article{opacity:1;transform:none}
.motion-now.is-visible .activities article:nth-child(2){transition-delay:.08s}
.motion-history .timeline article{opacity:.28;transform:translateY(12px);transition:opacity .45s ease,transform .45s ease}
.motion-history .timeline article.is-visible{opacity:1;transform:none}
.motion-network .rn-official-mark{opacity:0;transform:translateY(10px) scale(.94);transition:opacity .5s ease,transform .5s ease}
.motion-network.is-visible .rn-official-mark{opacity:1;transform:none}
.motion-nextqueue .nq-logo img{opacity:0;transform:translateY(8px) scale(.975);filter:drop-shadow(0 0 0 rgba(39,181,255,0));transition:opacity .55s ease,transform .55s ease,filter .9s ease}
.motion-nextqueue.is-visible .nq-logo img{opacity:1;transform:none;filter:drop-shadow(0 0 11px rgba(39,181,255,.22))}
.text-link{position:relative;text-decoration:none}
.text-link:after{content:"";position:absolute;left:0;right:0;bottom:-4px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .2s ease}
.text-link:hover:after{transform:scaleX(1)}

@media(max-width:800px){
  html{scroll-padding-top:76px}section[id]{scroll-margin-top:76px}
  .mast{padding:13px 20px}.mast.is-scrolled{padding-top:9px;padding-bottom:9px}
}
@media(prefers-reduced-motion:reduce){
  .mast,.motion-about .about-copy,.motion-now .activities article,.motion-history .timeline article,
  .motion-network .rn-official-mark,.motion-nextqueue .nq-logo img,.text-link:after{transition:none!important}
  .hero h1>span{animation:none!important;opacity:1!important;transform:none!important}
  .motion-about .about-copy,.motion-now .activities article,.motion-history .timeline article,
  .motion-network .rn-official-mark,.motion-nextqueue .nq-logo img{opacity:1!important;transform:none!important;filter:none!important}
}


/* ===== Portal v3.8 — entrance experience + final motion polish ===== */
.portal-intro{position:fixed;inset:0;z-index:1000;background:#061a2b;color:#f7fbff;display:grid;place-items:center;overflow:hidden;opacity:1;visibility:visible;transition:opacity .42s ease,visibility .42s step-end}
html.intro-seen .portal-intro{display:none}
.portal-intro.is-leaving{opacity:0;visibility:hidden}
.portal-intro .intro-meta{position:absolute;left:clamp(24px,4vw,64px);top:clamp(24px,4vw,52px);font-size:11px;letter-spacing:.16em;line-height:1.8;display:flex;flex-direction:column;opacity:0;transform:translateY(8px);animation:introMeta .35s ease .08s forwards}
.portal-intro .intro-years{position:absolute;top:27%;display:flex;align-items:center;gap:13px;font-size:10px;letter-spacing:.18em;color:#8fc4e6;opacity:0;animation:introMeta .3s ease .32s forwards}
.portal-intro .intro-years i{display:block;width:0;height:1px;background:#2bb7ff;animation:introLine .38s ease .5s forwards}
.portal-intro .intro-word{font-weight:900;font-size:clamp(82px,20vw,310px);line-height:.8;letter-spacing:-.075em;transform:translateY(18px);opacity:0;animation:introWord .48s cubic-bezier(.2,.8,.2,1) .72s forwards}
.portal-intro .intro-word span{color:#2bb7ff;display:inline-block;opacity:0;transform:scale(.25);animation:introStop .28s cubic-bezier(.15,.9,.25,1.25) 1.18s forwards}
.portal-intro .intro-enter{position:absolute;right:clamp(24px,4vw,64px);bottom:clamp(22px,4vw,46px);font-size:10px;letter-spacing:.14em;color:#8fc4e6;opacity:0;animation:introMeta .28s ease 1.32s forwards}
@keyframes introMeta{to{opacity:1;transform:none}}
@keyframes introLine{to{width:44px}}
@keyframes introWord{to{opacity:1;transform:none}}
@keyframes introStop{to{opacity:1;transform:scale(1)}}
body.intro-lock{overflow:hidden}

/* Give NextQueue its own motion without turning every section into the same fade. */
.motion-nextqueue .nq-brand{position:relative}
.motion-nextqueue .nq-logo{overflow:visible!important}
.motion-nextqueue .nq-logo:after{content:"";position:absolute;left:5%;top:42%;width:0;height:2px;background:linear-gradient(90deg,transparent,#dff6ff,#2bb7ff,transparent);opacity:0;filter:drop-shadow(0 0 7px #2bb7ff);pointer-events:none}
.motion-nextqueue.is-visible .nq-logo:after{animation:nqSweep .62s ease .52s both}
@keyframes nqSweep{0%{left:7%;width:0;opacity:0}25%{opacity:.9}70%{width:70%;opacity:.75}100%{left:88%;width:10%;opacity:0}}
.nextqueue-section img[src*="nextqueue-logo-transparent"]{width:min(100%,585px)!important}

/* A little more life in the Network mark. */
.motion-network.is-visible .rn-official-mark{animation:networkSettle .58s cubic-bezier(.2,.8,.2,1) both}
@keyframes networkSettle{0%{transform:translateY(10px) scale(.94)}70%{transform:translateY(-2px) scale(1.015)}100%{transform:none}}

@media(max-width:800px){
 .portal-intro .intro-years{top:31%}.portal-intro .intro-word{font-size:clamp(72px,24vw,150px)}
 .nextqueue-section img[src*="nextqueue-logo-transparent"]{width:100%!important}
}
@media(prefers-reduced-motion:reduce){
 .portal-intro{transition:none}.portal-intro .intro-meta,.portal-intro .intro-years,.portal-intro .intro-word,.portal-intro .intro-word span,.portal-intro .intro-enter{animation:none!important;opacity:1!important;transform:none!important}
 .portal-intro .intro-years i{animation:none!important;width:44px}
 .motion-nextqueue .nq-logo:after,.motion-network.is-visible .rn-official-mark{animation:none!important}
}


/* ===== Portal v4.0 — Opening sequence ===== */
.portal-intro{position:fixed;inset:0;z-index:10000;background:#061a2b;color:#f7fbff;overflow:hidden;display:block;opacity:1;visibility:visible;transition:opacity .55s cubic-bezier(.22,.8,.22,1),visibility .55s step-end}
.portal-intro.is-leaving{opacity:0;visibility:hidden}.intro-lock{overflow:hidden}
.portal-intro .intro-grid{position:absolute;inset:-15%;opacity:.34;background-image:linear-gradient(rgba(43,183,255,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(43,183,255,.08) 1px,transparent 1px);background-size:48px 48px;transform:perspective(900px) rotateX(63deg) translateY(28%);animation:v40grid 4.15s ease both}
.portal-intro .intro-scan{position:absolute;left:0;right:0;top:-2px;height:1px;background:#2bb7ff;box-shadow:0 0 20px #2bb7ff;animation:v40scan 1.2s .12s ease-out both}
.portal-intro .intro-meta{position:absolute;left:clamp(28px,4vw,72px);top:clamp(26px,4vw,58px);display:flex;flex-direction:column;gap:6px;font:600 10px/1.15 "Roboto Mono",monospace;letter-spacing:.17em;opacity:0;transform:translateY(10px);animation:v40meta .45s .18s forwards}
.portal-intro .intro-stage{position:absolute;left:50%;top:50%;width:min(1180px,82vw);transform:translate(-50%,-48%);display:flex;flex-direction:column;align-items:center}
.portal-intro .intro-letters{width:100%;display:flex;justify-content:center;align-items:baseline;font-family:"M PLUS 1p",sans-serif;font-weight:900;font-size:clamp(110px,16vw,285px);line-height:.78;letter-spacing:-.09em;white-space:nowrap}
.portal-intro .intro-letters>span{display:inline-block;opacity:0;filter:blur(8px)}
.portal-intro .intro-letters>span:nth-child(1){transform:translateX(-12vw);animation:v40letter .62s .62s forwards}
.portal-intro .intro-letters>span:nth-child(2){transform:translateY(-10vh);animation:v40letter .62s .72s forwards}
.portal-intro .intro-letters>span:nth-child(3){transform:translateY(10vh);animation:v40letter .62s .82s forwards}
.portal-intro .intro-letters>span:nth-child(4){transform:translateX(12vw);animation:v40letter .62s .92s forwards}
.portal-intro .intro-letters>b{font:inherit;color:#2bb7ff;opacity:0;transform:scale(.1) rotate(-35deg);animation:v40dot .38s 1.38s cubic-bezier(.15,.9,.25,1.35) forwards}
.portal-intro .intro-years{position:static!important;margin-top:clamp(34px,5vh,58px);display:flex!important;align-items:center;justify-content:center;gap:14px;font:500 10px/1 "Roboto Mono",monospace;letter-spacing:.18em;color:#8fc4e6;opacity:0!important;animation:v40meta .35s 1.72s forwards!important}
.portal-intro .intro-years i{display:block;width:0!important;height:1px;background:#2bb7ff;animation:v40yearline .55s 1.95s forwards!important}
.portal-intro .intro-status{margin-top:38px;width:min(620px,70vw);display:flex;justify-content:space-between;font:600 10px/1 "Roboto Mono",monospace;letter-spacing:.14em;color:#cfeafa;opacity:0;animation:v40meta .3s 2.35s forwards}
.portal-intro .intro-status em{font-style:normal;color:#2bb7ff}
.portal-intro .intro-progress{margin-top:12px;width:min(620px,70vw);height:1px;background:rgba(255,255,255,.16);overflow:hidden}.portal-intro .intro-progress i{display:block;width:0;height:100%;background:#2bb7ff;box-shadow:0 0 12px #2bb7ff;animation:v40progress 1.15s 2.45s cubic-bezier(.2,.8,.2,1) forwards}
.portal-intro .intro-exit{position:absolute;right:clamp(28px,4vw,72px);bottom:clamp(26px,4vw,54px);font:600 10px/1 "Roboto Mono",monospace;letter-spacing:.16em;color:#8fc4e6;opacity:0;animation:v40meta .3s 3.15s forwards}
.portal-intro.is-finishing .intro-stage{animation:v40finish .62s cubic-bezier(.2,.8,.2,1) both}
@keyframes v40meta{to{opacity:1;transform:none}}@keyframes v40letter{to{opacity:1;filter:blur(0);transform:none}}@keyframes v40dot{to{opacity:1;transform:none}}@keyframes v40yearline{to{width:74px}}@keyframes v40progress{to{width:100%}}@keyframes v40scan{0%{top:-2px;opacity:0}15%{opacity:1}100%{top:100%;opacity:0}}@keyframes v40grid{0%{opacity:0}30%,80%{opacity:.34}100%{opacity:.08}}@keyframes v40finish{to{transform:translate(-50%,-48%) scale(1.12);filter:blur(5px);opacity:0}}

/* v4.0 log + advertisement */
.log-v40{position:relative}.log-v40:before{content:"";position:absolute;left:0;top:-1px;width:0;height:2px;background:#2bb7ff}.log-v40.is-visible:before{animation:v40logline .9s ease forwards}@keyframes v40logline{to{width:100%}}
.portal-ad{padding-top:clamp(70px,9vw,130px);padding-bottom:34px}.portal-ad-heading{display:flex;justify-content:space-between;align-items:end;border-bottom:1px solid var(--line);padding-bottom:14px;margin-bottom:26px;font-size:11px;letter-spacing:.08em}.portal-ad-heading>span:last-child{font-family:"Roboto Mono",monospace;color:var(--muted)}.portal-ad-frame{min-height:90px;display:flex;align-items:center;justify-content:center}.portal-ad-pc{display:block}.portal-ad-sp{display:none}.portal-ad-foot{margin-top:18px;padding-top:12px;border-top:1px solid var(--line);font:500 10px/1.3 "Roboto Mono",monospace;letter-spacing:.12em;color:var(--muted)}
@media(max-width:760px){.portal-intro .intro-stage{width:88vw;transform:translate(-50%,-50%)}.portal-intro .intro-letters{font-size:clamp(74px,25vw,150px)}.portal-intro .intro-years{margin-top:40px!important;gap:8px!important}.portal-intro .intro-years i{max-width:34px}.portal-intro .intro-status,.portal-intro .intro-progress{width:82vw}.portal-intro .intro-exit{left:24px;right:auto}.portal-ad-pc{display:none}.portal-ad-sp{display:block}.portal-ad-frame{min-height:100px}.portal-ad-heading{align-items:flex-start;gap:18px;flex-direction:column}}
@media(prefers-reduced-motion:reduce){.portal-intro .intro-grid,.portal-intro .intro-scan,.portal-intro .intro-meta,.portal-intro .intro-letters>span,.portal-intro .intro-letters>b,.portal-intro .intro-years,.portal-intro .intro-years i,.portal-intro .intro-status,.portal-intro .intro-progress i,.portal-intro .intro-exit,.portal-intro.is-finishing .intro-stage{animation:none!important;opacity:1!important;filter:none!important;transform:none!important}.portal-intro .intro-years i{width:34px!important}}


/* =========================================================
   Rase Portal v5.0 / rase.jp
   ========================================================= */

/* ASUNARI replaces the current Rase Network project presentation. */
.asunari-section{
  background:var(--bg);
  color:var(--text);
  border-block:1px solid var(--line);
  position:relative;
  overflow:hidden;
}
.asunari-section::before{
  content:"";
  position:absolute;
  width:420px;
  height:420px;
  border-radius:50%;
  right:-130px;
  top:-180px;
  background:radial-gradient(circle,rgba(230,0,45,.11),transparent 67%);
  pointer-events:none;
}
.asunari-section h2{
  color:#e6002d;
  font-size:1.55rem;
  letter-spacing:.08em;
}
.asunari-section .network-lead{
  color:var(--text);
  font-family:Arial,Helvetica,sans-serif;
  font-size:clamp(2.7rem,5vw,5.2rem);
  line-height:.92;
  letter-spacing:-.065em;
}
.asunari-section .button{
  background:#e6002d;
  border-color:#e6002d;
  color:#fff;
}
.asunari-section .button:hover{
  background:#ff3157;
  border-color:#ff3157;
}
.asunari-section .network-mark{
  border-left-color:var(--line);
  position:relative;
  z-index:1;
}
.asunari-official-logo{
  display:block;
  width:min(100%,330px);
  margin:0 auto 20px;
}
.asunari-official-logo img{
  display:block;
  width:100%;
  height:auto;
  object-fit:contain;
}
html[data-theme=dark] .asunari-section{
  background:#151716;
}
html[data-theme=dark] .asunari-section::before{
  background:radial-gradient(circle,rgba(255,49,87,.17),transparent 67%);
}
html[data-theme=dark] .asunari-section h2{
  color:#ff4d6d;
}

/* Owned domains */
.domains{
  padding:35px 0 115px;
  border-top:2px solid var(--text);
}
.domains-heading{
  display:grid;
  grid-template-columns:1fr 1.4fr;
  gap:20px 60px;
  align-items:end;
  padding-bottom:30px;
}
.domains-heading h2{
  font-family:Arial,Helvetica,sans-serif;
  font-size:clamp(2.8rem,6vw,5.5rem);
  line-height:.92;
  letter-spacing:-.07em;
}
.domains-heading>p{
  grid-column:2;
  color:var(--muted);
  max-width:620px;
}
.domain-list{
  border-top:1px solid var(--text);
}
.domain-card{
  display:grid;
  grid-template-columns:minmax(260px,.9fr) minmax(300px,1.2fr) 170px;
  gap:35px;
  align-items:center;
  padding:30px 0;
  border-bottom:1px solid var(--line);
  text-decoration:none;
  transition:padding .2s ease,background .2s ease;
}
.domain-card:hover{
  padding-inline:18px;
  background:var(--soft);
  color:inherit;
}
.domain-card span{
  font-size:.72rem;
  letter-spacing:.12em;
  color:var(--muted);
}
.domain-card h3{
  margin-top:6px;
  font-family:Arial,Helvetica,sans-serif;
  font-size:clamp(2.3rem,4vw,4.2rem);
  line-height:1;
  letter-spacing:-.065em;
  overflow-wrap:anywhere;
}
.domain-card b{
  font-size:1rem;
}
.domain-card p{
  margin-top:6px;
  color:var(--muted);
  font-size:.875rem;
}
.domain-card em{
  justify-self:end;
  font:600 .72rem/1.4 "Roboto Mono",monospace;
  letter-spacing:.08em;
  color:var(--muted);
  font-style:normal;
  text-align:right;
}
.domain-primary h3{color:var(--accent)}
.domain-legacy{opacity:.78}
.domains-note{
  margin-top:18px;
  color:var(--muted);
  font-size:.78rem;
}

/* v5 log line */
.log-v50{
  position:relative;
}
.log-v50::before{
  content:"";
  position:absolute;
  left:0;
  top:-1px;
  width:0;
  height:2px;
  background:var(--accent);
}
.log-v50.is-visible::before{
  animation:v50logline .9s ease forwards;
}
@keyframes v50logline{to{width:100%}}

/* Current ASUNARI motion reuses the project reveal timing. */
.motion-network .asunari-official-logo{
  opacity:0;
  transform:translateY(10px) scale(.96);
  transition:opacity .5s ease,transform .5s ease;
}
.motion-network.is-visible .asunari-official-logo{
  opacity:1;
  transform:none;
}

@media(max-width:800px){
  .asunari-section .network-mark{
    border-left:0;
    border-top:1px solid var(--line);
  }
  .asunari-official-logo{
    width:min(100%,280px);
    margin:0 0 18px;
  }
  .domains{
    padding-bottom:70px;
  }
  .domains-heading{
    grid-template-columns:1fr;
    gap:14px;
  }
  .domains-heading>p{
    grid-column:auto;
  }
  .domain-card{
    grid-template-columns:1fr;
    gap:13px;
    padding:24px 0;
  }
  .domain-card:hover{
    padding-inline:12px;
  }
  .domain-card em{
    justify-self:start;
    text-align:left;
  }
}
@media(prefers-reduced-motion:reduce){
  .motion-network .asunari-official-logo{
    opacity:1!important;
    transform:none!important;
    transition:none!important;
  }
  .log-v50.is-visible::before{
    animation:none!important;
    width:100%;
  }
}


/* =========================================================
   Rase Portal v5.1
   ========================================================= */

/* Transparent official ASUNARI lockup */
.asunari-official-logo{
  width:min(100%,390px);
}
.asunari-official-logo img{
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}

/* Secondary coming-soon community panel */
.club-coming{
  padding:34px 0 72px;
}
.club-coming-card{
  border:1px solid var(--line);
  background:var(--soft);
  padding:24px 28px 28px;
  position:relative;
  overflow:hidden;
}
.club-coming-card::after{
  content:"";
  position:absolute;
  width:210px;
  height:210px;
  right:-92px;
  bottom:-122px;
  border:1px solid var(--accent);
  opacity:.28;
  border-radius:50%;
  pointer-events:none;
}
.club-coming-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  padding-bottom:18px;
  border-bottom:1px solid var(--line);
}
.club-coming-status{
  display:inline-flex;
  align-items:center;
  min-height:28px;
  padding:0 10px;
  border:1px solid var(--text);
  font:600 .68rem/1 "Roboto Mono",monospace;
  letter-spacing:.08em;
}
.club-coming-body{
  display:grid;
  grid-template-columns:minmax(0,1fr) 210px;
  gap:45px;
  align-items:end;
  padding-top:24px;
}
.club-coming-body h2{
  margin:0;
  font-family:Arial,Helvetica,sans-serif;
  font-size:clamp(2rem,3.7vw,3.7rem);
  line-height:.95;
  letter-spacing:-.06em;
}
.club-coming-lead{
  margin:15px 0 0;
  font-weight:700;
}
.club-coming-copy{
  margin:10px 0 0;
  max-width:720px;
  color:var(--muted);
  font-size:.85rem;
}
.club-coming-side{
  display:grid;
  gap:5px;
  justify-items:end;
  text-align:right;
}
.club-coming-side>span{
  color:var(--muted);
  font:600 .65rem/1.3 "Roboto Mono",monospace;
  letter-spacing:.12em;
}
.club-coming-side>b{
  font-size:1.15rem;
}
.club-coming-side>small{
  color:var(--accent);
  font:600 .68rem/1.3 "Roboto Mono",monospace;
  letter-spacing:.05em;
}
.log-v51{
  position:relative;
}
.log-v51::before{
  content:"";
  position:absolute;
  left:0;
  top:-1px;
  width:100%;
  height:2px;
  background:var(--accent);
}
@media(max-width:800px){
  .club-coming{
    padding:26px 0 58px;
  }
  .club-coming-card{
    padding:20px;
  }
  .club-coming-top{
    align-items:flex-start;
    flex-direction:column;
    gap:12px;
  }
  .club-coming-body{
    grid-template-columns:1fr;
    gap:24px;
  }
  .club-coming-side{
    justify-items:start;
    text-align:left;
    padding-top:18px;
    border-top:1px solid var(--line);
  }
}


/* =========================================================
   v5.1 visual cleanup
   ========================================================= */

/* Replace image-based wordmark with transparent mark + live text.
   This stays clean in both Light and Dark themes. */
.asunari-showcase{
  display:flex;
  align-items:center;
  justify-content:center;
}
.asunari-lockup{
  display:flex;
  align-items:center;
  gap:24px;
  padding:24px 0;
  color:var(--text);
}
.asunari-lockup img{
  width:112px;
  height:auto;
  display:block;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}
.asunari-lockup-copy{
  display:flex;
  flex-direction:column;
  gap:7px;
}
.asunari-lockup-copy strong{
  color:var(--text);
  font-family:Arial,Helvetica,sans-serif;
  font-size:clamp(1.7rem,2.6vw,2.6rem);
  line-height:1;
  letter-spacing:.18em;
}
.asunari-lockup-copy small{
  color:var(--muted);
  font:600 .68rem/1 "Roboto Mono",monospace;
  letter-spacing:.28em;
}

/* Old image-based lockup is no longer used. */
.asunari-official-logo{
  display:none!important;
}

@media(max-width:800px){
  .asunari-showcase{
    justify-content:flex-start;
  }
  .asunari-lockup{
    gap:18px;
  }
  .asunari-lockup img{
    width:82px;
  }
  .asunari-lockup-copy strong{
    font-size:1.7rem;
  }
}
