:root{--bg-alt:#E6E5E2;--surface:#F7F6F4;--silver-lt:#C8C7C3;--ease-reveal:cubic-bezier(.16,1,.3,1);--reveal-rim-dur:1.3s;--reveal-ink-dur:1.15s;--reveal-name-dur:.95s;}:root{--reveal-rim-dur:.95s;--reveal-ink-dur:.85s;--reveal-name-dur:.7s;}:root{--rite-night:16,17,26;--rite-ease-soft:cubic-bezier(.33,0,.2,1);}:root{--scrim:rgba(247,246,244,.93);--scrim-alt:rgba(238,237,234,.94);--scrim-deep:rgba(233,232,229,.90);--hero-photo-uri:url("data:image/webp;base64,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");}:root{--night-paper:#F4F2ED;--ext-paper:#F7F6F4;--ext-paper-bg-alt:#E6E5E2;--ext-paper-ink:#191919;--ext-paper-ink-muted:#5F5F5F;--ext-paper-gold:#6F5A16;--ext-paper-gold-lt:#83691E;--ext-paper-rule:rgba(111,90,22,.20);--ext-radius-card:0px;--ext-radius-paper:12px;--ext-frame-ring:0 0 0 1px var(--gold-rim);--ext-e-day1:0 8px 24px rgba(25,25,25,.08);--ext-e-night1:0 12px 32px rgba(0,0,0,.45);--ext-e-night2:0 16px 40px rgba(0,0,0,.55);--ext-e-paper:0 0 0 1px var(--night-gold-rim), 0 24px 64px rgba(0,0,0,.55), 0 0 96px rgba(215,192,120,.07);--ext-lock-veil:rgba(247,246,244,.86);--ext-lock-blur:blur(6px);--ext-tone-gold-fg:var(--gold-lt);--ext-tone-gold-bg:rgba(215,192,120,.16);--ext-tone-warm-fg:var(--gold);--ext-tone-warm-bg:rgba(215,192,120,.09);--ext-tone-plain-fg:var(--ink);--ext-tone-plain-bg:rgba(233,230,222,.10);--ext-tone-shade-fg:var(--ink-muted);--ext-tone-shade-bg:rgba(165,162,155,.10);--ext-tone-indigo-fg:var(--ink-muted);--ext-tone-indigo-bg:rgba(165,162,155,.16);--ext-z-scrim:1;--ext-z-caption:2;--ext-z-badge:3;--ext-z-lock:4;}
html[data-koku="asa"] { --bg: #E9E7E1; --bg-alt: #E6E5E2; --surface: #F7F6F4; }
html[data-koku="yuu"] { --bg: #E5DDD3; --bg-alt: #E7DED1; --surface: #F3EFE9; --gold-deep: #6E5311; }
html[data-koku="yoru"] .nav-drop-btn:hover, html[data-koku="yoru"] .nav-drop.open > .nav-drop-btn { color: var(--night-gold-lt); }
html[data-koku="yoru"] .nav-drop-panel { background: linear-gradient(180deg,var(--night-surface) 0%,var(--night-bg-alt) 100%); border-color: var(--night-gold-rim); box-shadow: rgba(0, 0, 0, 0.45) 0px 14px 34px, rgba(255, 255, 255, 0.04) 0px 1px 0px inset; }
html[data-koku="yoru"] .nav-drop-panel a { color: var(--night-ink-muted); border-bottom-color: rgba(215, 192, 120, 0.16); }
html[data-koku="yoru"] .nav-drop-panel a:hover, html[data-koku="yoru"] .nav-drop-panel a:focus-visible { color: var(--night-gold-lt); background: rgba(215, 192, 120, 0.1); }
html[data-koku="yoru"] .nav-drop-note { color: var(--night-ink-muted); border-top-color: var(--night-gold-rim); background: rgba(215, 192, 120, 0.06); }
html[data-koku="yoru"] .mobile-menu { background: linear-gradient(rgba(27, 30, 37, 0.996) 0%, rgba(20, 22, 27, 0.996) 100%); border-bottom-color: var(--night-gold-rim); box-shadow: rgba(0, 0, 0, 0.5) 0px 10px 30px; }
html[data-koku="yoru"] .mobile-menu a { color: var(--night-ink-muted); border-bottom-color: rgba(215, 192, 120, 0.16); }
html[data-koku="yoru"] .mobile-menu a:hover, html[data-koku="yoru"] .mobile-menu a:active { color: var(--night-gold-lt); background: rgba(215, 192, 120, 0.1); }
html[data-koku="yoru"] .mobile-menu .mm-group ~ a { color: var(--night-ink-muted); }
html[data-koku="yoru"] .mm-group { color: var(--night-gold-lt); background: rgba(215, 192, 120, 0.09); border-top-color: var(--night-gold-rim); border-bottom-color: rgba(215, 192, 120, 0.16); }
html[data-koku="yoru"] .mm-note { color: var(--night-ink-muted); background: rgba(215, 192, 120, 0.06); border-bottom-color: rgba(215, 192, 120, 0.16); }
html[data-koku="yoru"] .mobile-menu .mm-note ~ a { color: var(--night-ink-muted); }
html[data-koku="yoru"] footer > .f-copy:first-child a:hover { color: var(--night-gold-lt); }
html[data-koku="yoru"] footer > .f-copy:first-child a.f-contact-link { color: var(--night-gold); }
html[data-koku="yoru"] .btn-x, html[data-koku="yoru"] .btn-note, html[data-koku="yoru"] .btn-youtube { border: 1px solid var(--night-gold-rim); }
html[data-koku="yoru"] .showcase-sect, html[data-koku="yoru"] .story-sect { background-image: none; background-color: var(--night-bg-alt); }
html[data-koku="yoru"] .showcase-sect::after, html[data-koku="yoru"] .story-sect::after { display: none; }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible { outline: 2px solid var(--gold-rim); outline-offset: 3px; }
nav { display: flex; gap: 36px; }
nav a { font-size: 0.65rem; letter-spacing: 0.35em; color: rgb(59, 59, 59); text-decoration: none; transition: color 0.3s; }
nav a:hover { color: rgb(111, 90, 22); }
.pretitle { font-size: clamp(0.88rem, 1.3vw, 1.08rem); font-weight: 200; letter-spacing: 0.45em; color: var(--ink-muted); }
@keyframes aura { 
  0%, 100% { transform: scale(1); opacity: 0.7; }
  50% { transform: scale(1.06); opacity: 1; }
}
.halo { position: absolute; width: 64%; padding-bottom: 64%; border-radius: 50%; border: 1px solid var(--gold-rim); animation: 22s linear 0s infinite normal none running haloSpin; pointer-events: none; }
.halo::before { content: ""; position: absolute; inset: 10px; border-radius: 50%; border: 1px solid rgba(215, 192, 120, 0.17); }
@keyframes haloSpin { 
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}
.hero-goddess-caption { margin-top: 10px; text-align: center; font-size: 0.66rem; font-weight: 200; letter-spacing: 0.42em; color: var(--ink-muted); }
.scroll-cue { position: absolute; bottom: 28px; left: 50%; transform: translateX(-50%); display: flex; flex-direction: column; align-items: center; gap: 8px; color: var(--ink-muted); font-size: 0.54rem; letter-spacing: 0.45em; animation: 3s ease-in-out 0s infinite normal none running bob; }
.scroll-bar { width: 1px; height: 28px; background: linear-gradient(to bottom,var(--silver),transparent); }
@keyframes bob { 
  0%, 100% { opacity: 0.45; transform: translateX(-50%) translateY(0px); }
  50% { opacity: 0.9; transform: translateX(-50%) translateY(7px); }
}
.sect-rule { height: 1px; background: linear-gradient(90deg,transparent,var(--silver-lt) 25%,var(--silver) 50%,var(--silver-lt) 75%,transparent); }
.div-section { background: var(--bg-alt); padding: 60px 24px 72px; display: flex; flex-direction: column; align-items: center; gap: 28px; }
.sect-tag { font-size: 0.58rem; letter-spacing: 0.62em; color: var(--ink-muted); text-transform: uppercase; }
.divination-intro { font-size: 0.7rem; font-weight: 200; letter-spacing: 0.12em; line-height: 2.3; color: var(--ink-muted); text-align: center; max-width: 460px; margin-top: -8px; }
.intro-note { display: block; margin-top: 10px; font-size: 0.62rem; letter-spacing: 0.08em; color: var(--ink-muted); }
.feature-intro { background: var(--bg); padding: 52px 24px 56px; display: flex; flex-direction: column; align-items: center; gap: 22px; }
.feature-intro-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; max-width: 760px; width: 100%; }
.feature-intro-item { background: var(--surface); border: 1px solid var(--silver-lt); padding: 22px 16px; text-align: center; }
.fi-title { display: block; font-size: 0.68rem; letter-spacing: 0.28em; color: var(--ink-mid); margin-bottom: 10px; }
.feature-intro-item p { font-size: 0.62rem; font-weight: 200; letter-spacing: 0.08em; line-height: 1.9; color: var(--ink-muted); margin: 0px; }
.feature-intro-note { font-size: 0.6rem; letter-spacing: 0.14em; color: var(--ink-muted); text-align: center; }
@media (max-width: 640px){.feature-intro-grid { grid-template-columns: 1fr; }}
.input-panel { width: 100%; max-width: 500px; background: var(--surface); border: 1px solid var(--silver-lt); padding: 36px 44px 32px; position: relative; box-shadow: rgba(0, 0, 0, 0.04) 0px 2px 40px; }
.c-orn { position: absolute; width: 16px; height: 16px; border-color: var(--silver-lt); border-style: solid; }
.c-orn.tl { top: 14px; left: 14px; border-width: 1px 0px 0px 1px; }
.c-orn.tr { top: 14px; right: 14px; border-width: 1px 1px 0px 0px; }
.c-orn.bl { bottom: 14px; left: 14px; border-width: 0px 0px 1px 1px; }
.c-orn.br { bottom: 14px; right: 14px; border-width: 0px 1px 1px 0px; }
.panel-title { font-size: 0.88rem; font-weight: 300; letter-spacing: 0.42em; color: var(--ink-mid); text-align: center; }
.panel-sub { font-size: 0.55rem; letter-spacing: 0.5em; color: var(--ink-muted); display: block; margin-top: 6px; text-align: center; margin-bottom: 20px; }
.field { display: flex; flex-direction: column; gap: 7px; margin-bottom: 14px; }
.field label { font-size: 0.58rem; letter-spacing: 0.4em; color: var(--ink-muted); }
.opt-note { letter-spacing: 0.15em; color: var(--ink-muted); font-size: 0.9em; }
.field input, .field select { font-family: var(--font); font-size: 0.82rem; letter-spacing: 0.1em; padding: 9px 12px; background: var(--bg); border: 1px solid var(--silver-lt); color: var(--ink); outline: none; appearance: none; }
.field input:focus, .field select:focus { border-color: var(--silver); }
.field input::placeholder { color: var(--ink-muted); }
.field-row { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.field-row3 { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 10px; }
.msg { font-size: 0.72rem; letter-spacing: 0.1em; line-height: 1.9; color: var(--ink-muted); text-align: center; margin-top: 8px; min-height: 1.6em; }
.msg.warn { color: rgb(158, 58, 58); }
.btn-go { display: block; width: 100%; margin-top: 18px; padding: 13px; border: 1px solid var(--ink); background: transparent; font-family: var(--font); font-size: 0.72rem; letter-spacing: 0.5em; color: var(--ink); cursor: pointer; position: relative; overflow: hidden; }
.btn-go::after { content: ""; position: absolute; inset: 0px; background: var(--ink); transform: scaleX(0); transform-origin: left center; transition: transform .4s var(--ease); }
.btn-go span { position: relative; z-index: 1; transition: color 0.4s; }
.btn-go:hover::after { transform: scaleX(1); }
.btn-go:hover span { color: rgb(255, 255, 255); }
.btn-go:disabled { opacity: 0.35; cursor: not-allowed; pointer-events: none; }
.weather-info { font-size: 0.6rem; letter-spacing: 0.2em; color: var(--ink-muted); text-align: center; margin-top: 6px; min-height: 1.2em; }
.loading { display: none; flex-direction: column; align-items: center; gap: 16px; padding: 20px 0px; }
.loading.on { display: flex; }
.loading-txt { font-size: 0.63rem; letter-spacing: 0.46em; color: var(--ink-muted); }
.rings { position: relative; width: 44px; height: 44px; }
.rings span { position: absolute; inset: 0px; border-radius: 50%; border: 1px solid transparent; }
.rings span:nth-child(1) { border-top-color: var(--silver); animation: 1.2s linear 0s infinite normal none running spin; }
.rings span:nth-child(2) { inset: 8px; border-top-color: var(--ink-muted); animation: 1.9s linear 0s infinite reverse none running spin; }
@keyframes spin { 
  100% { transform: rotate(360deg); }
}
.oracle-card { display: none; width: 100%; max-width: 580px; padding: 36px 44px 32px; position: relative; border: 1px solid var(--silver-lt); background: var(--surface); box-shadow: rgba(0, 0, 0, 0.06) 0px 4px 40px; overflow: hidden; }
.oracle-card.anim { animation: cardIn .7s var(--ease) both; }
@keyframes cardIn { 
  0% { opacity: 0; transform: translateY(18px); }
  100% { opacity: 1; transform: translateY(0px); }
}
html.sazukari-open { overflow: hidden; }
html.sazukari-open body { overflow: hidden; }
body.sazukari-lock { position: fixed; left: 0px; right: 0px; }
.oracle-card.sazukari-view { padding-block: 76px 96px; padding-inline: max(20px, 50% - 290px); overflow-y: auto; background: var(--surface); box-shadow: none; border-width: medium; border-style: none; border-color: currentcolor; border-image: initial; box-sizing: border-box; display: block !important; position: fixed !important; inset: 0px !important; z-index: 590 !important; width: 100% !important; max-width: none !important; height: 100% !important; margin: 0px !important; }
.oracle-card.sazukari-view.anim { animation: auto ease 0s 1 normal none running none; }
@keyframes sazukariCurtainIn { 
  0% { clip-path: inset(0px 0px 100%); opacity: 0.5; }
  55% { opacity: 1; }
  100% { clip-path: inset(0px 0px 0%); opacity: 1; }
}
@keyframes sazukariCurtainOut { 
  0% { clip-path: inset(0px 0px 0%); opacity: 1; }
  100% { clip-path: inset(100% 0px 0px); opacity: 0.35; }
}
.oracle-card.sazukari-view.sazukari-curtain-in { animation: sazukariCurtainIn .7s var(--ease-soft) both; }
.oracle-card.sazukari-view.sazukari-curtain-out { animation: sazukariCurtainOut .48s var(--ease-soft) both; }
@media (prefers-reduced-motion: reduce){.oracle-card.sazukari-view.sazukari-curtain-in, .oracle-card.sazukari-view.sazukari-curtain-out { animation: auto ease 0s 1 normal none running none !important; clip-path: none !important; opacity: 1 !important; }}
::view-transition-group(root) { animation-duration: 0.001s; }
.sazukari-close-btn { display: none; position: fixed; top: 14px; left: 14px; z-index: 592; align-items: center; gap: 6px; padding: 9px 16px 9px 12px; border-radius: 2px; border: 1px solid var(--gold-rim); background: rgba(247, 246, 244, 0.94); color: var(--ink-mid); font-family: var(--font); font-size: 0.78rem; letter-spacing: 0.06em; cursor: pointer; backdrop-filter: blur(3px); }
html.sazukari-open .sazukari-close-btn { display: inline-flex; }
.sazukari-close-arrow { font-size: 0.92em; }
@media (max-width: 520px){.sazukari-close-btn { top: 10px; left: 10px; padding: 7px 12px 7px 10px; font-size: 0.72rem; }.oracle-card.sazukari-view { padding-block: 64px 80px; }}
.oracle-card.reveal-contour { position: relative; }
.oracle-card.reveal-contour::before { content: ""; position: absolute; inset: 0px; pointer-events: none; z-index: 3; opacity: 0; }
.oracle-card.reveal-contour.reveal-play::before { animation: revealContourRim var(--reveal-rim-dur) var(--ease-soft) forwards; }
@keyframes revealContourRim { 
  0% { opacity: 0; box-shadow: rgba(215, 192, 120, 0) 0px 0px 0px 0px inset, rgba(215, 192, 120, 0) 0px 0px 0px 0px; }
  22% { opacity: 1; box-shadow: 0 0 0 1px var(--gold-rim) inset,0 0 26px 2px rgba(215,192,120,.28); }
  60% { opacity: 1; box-shadow: rgba(215, 192, 120, 0.22) 0px 0px 0px 1px inset, rgba(215, 192, 120, 0.1) 0px 0px 14px 1px; }
  100% { opacity: 0; box-shadow: rgba(215, 192, 120, 0) 0px 0px 0px 1px inset, rgba(215, 192, 120, 0) 0px 0px 0px 0px; }
}
.oracle-card.reveal-contour .rank-letter, .oracle-card.reveal-contour .rank-name-text { opacity: 0; filter: blur(7px); }
.oracle-card.reveal-contour.reveal-play .rank-letter { animation: revealInk var(--reveal-ink-dur) var(--ease-reveal) .12s forwards; }
.oracle-card.reveal-contour.reveal-play .rank-name-text { animation: revealInk var(--reveal-name-dur) var(--ease-reveal) .42s forwards; }
@keyframes revealInk { 
  0% { opacity: 0; filter: blur(7px); letter-spacing: 0.32em; }
  55% { opacity: 0.9; filter: blur(1.5px); }
  100% { opacity: 1; filter: blur(0px); letter-spacing: 0.1em; }
}
@media (prefers-reduced-motion: reduce){.oracle-card.reveal-contour .rank-letter, .oracle-card.reveal-contour .rank-name-text { opacity: 1 !important; filter: none !important; letter-spacing: 0.1em !important; }.oracle-card.reveal-contour::before { display: none !important; }.tier-ring { display: none !important; }}
.tier-ring { position: absolute; left: 50%; top: 46%; border-radius: 50%; transform: translate(-50%, -50%) scale(0); opacity: 0; pointer-events: none; border: 1px solid transparent; z-index: 2; }
.oracle-card.r-S .tier-ring.ring1 { width: 40px; height: 40px; border-color: rgba(200, 160, 40, 0.7); }
.oracle-card.r-S.reveal-play .tier-ring.ring1 { animation: tierRing 1.4s var(--ease-soft) .25s forwards; }
.oracle-card.r-SS .tier-ring.ring1 { width: 34px; height: 34px; border-color: rgba(200, 160, 20, 0.85); }
.oracle-card.r-SS .tier-ring.ring2 { width: 34px; height: 34px; border-color: rgba(255, 230, 140, 0.7); }
.oracle-card.r-SS.reveal-play .tier-ring.ring1 { animation: tierRing 1.7s var(--ease-soft) .2s forwards; }
.oracle-card.r-SS.reveal-play .tier-ring.ring2 { animation: tierRing 1.7s var(--ease-soft) .55s forwards; }
@keyframes tierRing { 
  0% { transform: translate(-50%, -50%) scale(1); opacity: 0.85; }
  100% { transform: translate(-50%, -50%) scale(7.5); opacity: 0; }
}
.oracle-card.r-SS .rank-letter { background-size: 220% 100%; }
.oracle-card.r-SS.reveal-play .rank-letter { animation: revealInk 1.15s var(--ease-reveal) .12s forwards, ssShimmer 1.6s var(--ease-soft) .9s 1; }
@keyframes ssShimmer { 
  0% { background-position: 0% 50%; }
  100% { background-position: 180% 50%; }
}
.oracle-card.r-X.reveal-play .rank-letter { animation: revealInk 1.15s var(--ease-reveal) .12s forwards, xFlicker 1.8s ease-in-out .3s 1; }
@keyframes xFlicker { 
  0%, 100% { opacity: 1; }
  8% { opacity: 0.5; }
  14% { opacity: 1; }
  55% { opacity: 1; }
  62% { opacity: 0.6; }
  68% { opacity: 1; }
}
.oracle-card.r-X .tier-ring.ring1 { width: 38px; height: 38px; border-color: rgba(140, 128, 230, 0.65); border-style: dashed; }
.oracle-card.r-X.reveal-play .tier-ring.ring1 { animation: 1.6s ease-in-out 0.3s 1 normal forwards running tierRing; }
.oracle-card.r-S { background: linear-gradient(145deg, rgb(251, 244, 222) 0%, rgb(243, 228, 182) 32%, rgb(233, 208, 142) 64%, rgb(216, 185, 110) 100%); border: 4px solid rgb(198, 161, 54); box-shadow: rgb(176, 138, 44) 0px 0px 0px 1px inset, rgba(216, 184, 106, 0.55) 0px 0px 0px 1px, rgba(216, 184, 106, 0.38) 0px 0px 20px, rgba(196, 158, 90, 0.22) 0px 0px 46px, rgba(120, 90, 20, 0.12) 0px 8px 34px; position: relative; animation: 3.6s ease-in-out 0s infinite normal none running goldFramePulse; }
@keyframes goldFramePulse { 
  0%, 100% { box-shadow: rgb(176, 138, 44) 0px 0px 0px 1px inset, rgba(216, 184, 106, 0.5) 0px 0px 0px 1px, rgba(216, 184, 106, 0.32) 0px 0px 20px, rgba(196, 158, 90, 0.18) 0px 0px 46px, rgba(120, 90, 20, 0.12) 0px 8px 34px; }
  50% { box-shadow: rgb(176, 138, 44) 0px 0px 0px 1px inset, rgba(230, 200, 130, 0.75) 0px 0px 0px 1px, rgba(222, 190, 110, 0.5) 0px 0px 32px, rgba(202, 166, 96, 0.3) 0px 0px 62px, rgba(120, 90, 20, 0.12) 0px 8px 34px; }
}
.oracle-card.r-S.anim { animation: cardInGold .9s var(--ease) both; }
@keyframes cardInGold { 
  0% { opacity: 0; transform: translateY(20px) scale(0.97); }
  60% { transform: translateY(-4px) scale(1.01); }
  100% { opacity: 1; transform: translateY(0px) scale(1); }
}
.oracle-card.r-A { background: linear-gradient(145deg, rgb(252, 251, 248) 0%, rgb(243, 241, 237) 35%, rgb(229, 226, 220) 68%, rgb(210, 205, 210) 100%); border: 5px solid rgb(200, 200, 220); box-shadow: rgb(142, 142, 168) 0px 0px 0px 2px inset, rgba(220, 220, 235, 0.75) 0px 0px 0px 1px, rgba(180, 180, 210, 0.45) 0px 0px 26px, rgba(160, 160, 200, 0.28) 0px 0px 56px, rgba(0, 0, 0, 0.06) 0px 6px 32px; position: relative; animation: 3.4s ease-in-out 0s infinite normal none running silverFramePulse; }
@keyframes silverFramePulse { 
  0%, 100% { box-shadow: rgb(142, 142, 168) 0px 0px 0px 2px inset, rgba(220, 220, 235, 0.6) 0px 0px 0px 1px, rgba(180, 180, 210, 0.35) 0px 0px 22px, rgba(160, 160, 200, 0.2) 0px 0px 48px, rgba(0, 0, 0, 0.06) 0px 6px 32px; }
  50% { box-shadow: rgb(142, 142, 168) 0px 0px 0px 2px inset, rgba(235, 235, 248, 0.9) 0px 0px 0px 1px, rgba(200, 200, 225, 0.6) 0px 0px 38px, rgba(170, 170, 210, 0.4) 0px 0px 70px, rgba(0, 0, 0, 0.06) 0px 6px 32px; }
}
.oracle-card.r-B { background: linear-gradient(145deg, rgb(254, 252, 245) 0%, rgb(248, 244, 228) 100%); border-color: rgba(190, 170, 100, 0.45); }
.oracle-card.r-C { background: linear-gradient(145deg, rgb(242, 242, 242) 0%, rgb(228, 228, 228) 100%); border-color: rgba(150, 150, 150, 0.4); }
.oracle-card.r-D { background: linear-gradient(145deg, rgb(42, 42, 46) 0%, rgb(30, 30, 34) 50%, rgb(20, 20, 24) 100%); border-color: rgba(100, 100, 120, 0.5); box-shadow: rgba(0, 0, 0, 0.35) 0px 4px 40px; }
.oracle-card.r-X { background: linear-gradient(145deg, rgb(5, 5, 8) 0%, rgb(10, 9, 21) 40%, rgb(18, 15, 34) 100%); border: 5px solid rgb(26, 22, 38); box-shadow: rgb(140, 122, 230) 0px 0px 0px 2px inset, rgba(140, 122, 230, 0.6) 0px 0px 0px 1px, rgba(130, 110, 230, 0.55) 0px 0px 34px, rgba(90, 78, 156, 0.45) 0px 0px 80px, rgba(0, 0, 0, 0.6) 0px 8px 48px; position: relative; animation: 3.8s ease-in-out 0s infinite normal none running darkFramePulse; }
@keyframes darkFramePulse { 
  0%, 100% { box-shadow: rgb(140, 122, 230) 0px 0px 0px 2px inset, rgba(140, 122, 230, 0.5) 0px 0px 0px 1px, rgba(130, 110, 230, 0.4) 0px 0px 30px, rgba(90, 78, 156, 0.32) 0px 0px 74px, rgba(0, 0, 0, 0.55) 0px 8px 48px; }
  50% { box-shadow: rgb(166, 150, 240) 0px 0px 0px 2px inset, rgba(170, 155, 255, 0.85) 0px 0px 0px 1px, rgba(160, 140, 255, 0.7) 0px 0px 56px, rgba(110, 96, 190, 0.55) 0px 0px 110px, rgba(0, 0, 0, 0.6) 0px 8px 48px; }
}
.oracle-card.r-X.anim { animation: cardInX 1s var(--ease) both; }
@keyframes cardInX { 
  0% { opacity: 0; transform: translateY(20px) rotateX(5deg); }
  55% { opacity: 0.85; transform: translateY(-4px) rotateX(-1deg); }
  100% { opacity: 1; transform: translateY(0px) rotateX(0deg); }
}
.oracle-card.r-S::after, .oracle-card.r-X::after { content: ""; position: absolute; inset: 0px; z-index: -1; pointer-events: none; }
.oracle-card.r-S::after { background: radial-gradient(circle at 50% 39%, rgb(255, 255, 250) 0%, rgba(255, 247, 205, 0.62) 6%, rgba(255, 238, 170, 0.28) 14%, transparent 38%), repeating-conic-gradient(at 50% 39%, rgba(255, 246, 205, 0.48) 0deg, rgba(255, 246, 205, 0.48) 3deg, transparent 3deg, transparent 9deg, rgba(255, 246, 205, 0.3) 9deg, rgba(255, 246, 205, 0.3) 11deg, transparent 11deg, transparent 19deg); mask-image: radial-gradient(circle at 50% 39%, rgb(0, 0, 0) 0%, rgb(0, 0, 0) 10%, transparent 68%); mix-blend-mode: screen; opacity: 1; filter: blur(7px); }
.oracle-card.r-X::after { background: radial-gradient(circle at 50% 39%, rgba(250, 248, 255, 0.55) 0%, rgba(224, 214, 255, 0.3) 6%, rgba(196, 182, 255, 0.12) 14%, transparent 36%), repeating-conic-gradient(at 50% 39%, rgba(228, 218, 255, 0.22) 0deg, rgba(228, 218, 255, 0.22) 3deg, transparent 3deg, transparent 10deg, rgba(228, 218, 255, 0.13) 10deg, rgba(228, 218, 255, 0.13) 12deg, transparent 12deg, transparent 21deg); mask-image: radial-gradient(circle at 50% 39%, rgb(0, 0, 0) 0%, rgb(0, 0, 0) 4%, transparent 60%); mix-blend-mode: screen; opacity: 0.65; filter: blur(8px); }
.weather-nuance-bar { text-align: center; padding: 8px 12px 10px; margin-bottom: 10px; border-bottom: 1px solid var(--silver-lt); }
.oracle-card.r-S .weather-nuance-bar { border-color: rgba(218, 180, 60, 0.25); background: rgba(218, 180, 60, 0.04); }
.oracle-card.r-X .weather-nuance-bar { border-color: rgba(140, 128, 230, 0.25); background: rgba(140, 128, 230, 0.04); }
.wn-label { font-size: 0.58rem; letter-spacing: 0.48em; color: var(--ink-muted); text-transform: uppercase; display: block; margin-bottom: 5px; }
.oracle-card.r-X .wn-label { color: rgb(120, 112, 168); }
.wn-text { font-size: 0.82rem; font-weight: 300; letter-spacing: 0.2em; color: var(--ink-mid); display: block; line-height: 1.6; }
.oracle-card.r-S .wn-text { color: rgb(107, 78, 28); }
.oracle-card.r-X .wn-text { color: rgb(184, 178, 216); }
.wn-koyomi-line { display: block; margin-top: 7px; padding-top: 7px; border-top: 1px solid rgba(0, 0, 0, 0.07); }
.wn-koyomi-label { font-size: 0.5rem; letter-spacing: 0.3em; color: var(--ink-muted); text-transform: uppercase; margin-right: 0.7em; }
.wn-koyomi-text { font-size: 0.7rem; font-weight: 300; letter-spacing: 0.08em; color: var(--ink-mid); line-height: 1.75; }
.oracle-card.r-S .wn-koyomi-line { border-top-color: rgba(218, 180, 60, 0.3); }
.oracle-card.r-S .wn-koyomi-label, .oracle-card.r-S .wn-koyomi-text { color: rgb(107, 78, 28); }
.oracle-card.r-X .wn-koyomi-line { border-top-color: rgba(140, 128, 230, 0.3); }
.oracle-card.r-X .wn-koyomi-label { color: rgb(120, 112, 168); }
.oracle-card.r-X .wn-koyomi-text { color: rgb(184, 178, 216); }
.oracle-card.r-D .wn-koyomi-line { border-top-color: rgba(100, 100, 120, 0.3); }
.oracle-card.r-D .wn-koyomi-label { color: rgb(96, 96, 112); }
.oracle-card.r-D .wn-koyomi-text { color: rgb(160, 160, 176); }
.oracle-card.r-D .rank-badge { border-color: rgba(100, 100, 120, 0.4); }
.oracle-card.r-D .rank-letter { color: rgb(160, 160, 184); }
.oracle-card.r-D .rank-name-text { color: rgb(128, 128, 144); }
.oracle-card.r-D .oc-main, .oracle-card.r-D .oc-body { color: rgb(192, 192, 204); }
.oracle-card.r-D .oc-sub { color: rgb(128, 128, 144); }
.oracle-card.r-D .oc-hr { background: linear-gradient(90deg, transparent, rgba(120, 120, 140, 0.45), transparent); }
.oracle-card.r-D .lucky-section { border-color: rgba(100, 100, 120, 0.25); }
.oracle-card.r-D .lucky-head { color: rgb(128, 128, 144); }
.oracle-card.r-D .l-item { background: rgba(255, 255, 255, 0.04); border-color: rgba(100, 100, 120, 0.2) rgba(100, 100, 120, 0.2) rgba(100, 100, 120, 0.2) rgba(100, 100, 120, 0.4); }
.oracle-card.r-D .l-cat { color: rgb(96, 96, 112); }
.oracle-card.r-D .l-val { color: rgb(160, 160, 176); }
.oracle-card.r-D .l-effect { color: rgb(160, 160, 176); }
.oracle-card.r-D .le-item { background: rgba(255, 255, 255, 0.03); border-color: rgba(100, 100, 120, 0.3); color: rgb(160, 160, 176); }
.oracle-card.r-D .le-cat { color: rgb(96, 96, 112); }
.oracle-card.r-D .le-bonus { color: rgb(120, 120, 160); background: rgba(100, 100, 160, 0.1); border-color: rgba(100, 100, 160, 0.3); }
.oracle-card.r-D .lucky-action-box { border-color: rgba(100, 100, 120, 0.4); background: rgba(255, 255, 255, 0.03); color: rgb(160, 160, 176); }
.oracle-card.r-D .action-label { color: rgb(96, 96, 112); }
.oracle-card.r-D .rank-score-num { color: rgb(136, 136, 160); }
.oracle-card.r-D .rank-score { color: rgb(96, 96, 112); }
.oracle-card.r-D .weather-nuance-bar { border-color: rgba(100, 100, 120, 0.25); background: rgba(255, 255, 255, 0.02); }
.oracle-card.r-D .wn-text { color: rgb(160, 160, 176); }
.oracle-card.r-D .btn-again { border-color: rgba(100, 100, 120, 0.4); color: rgb(128, 128, 144); }
.oracle-card.r-D .btn-again:hover { border-color: rgba(140, 140, 160, 0.8); color: rgb(192, 192, 204); }
.oracle-card.r-D .oc-greeting, .oracle-card.r-D .weekly-greeting, .oracle-card.r-D .kantei-sub, .oracle-card.r-D .weekly-sub, .oracle-card.r-D .share-note { color: rgb(160, 160, 176); }
.oracle-card.r-S .oc-main, .oracle-card.r-S .oc-body { color: rgb(92, 64, 21); }
.oracle-card.r-S .oc-sub { color: rgb(138, 109, 46); }
.oracle-card.r-S .wn-text { color: rgb(107, 78, 28); }
.oracle-card.r-S .l-val { color: rgb(107, 78, 28); }
.oracle-card.r-S .l-effect { color: rgb(107, 78, 28); }
.oracle-card.r-S .le-item { color: rgb(107, 78, 28); }
.oracle-card.r-S .action-label { color: rgb(138, 109, 46); }
.oracle-card.r-S .lucky-action-box { color: rgb(107, 78, 28); }
.oracle-card.r-S .ocBody { color: rgb(92, 64, 21); }
.oracle-card.r-A .rank-letter { background: linear-gradient(135deg, rgb(128, 96, 0) 0%, rgb(168, 128, 0) 40%, rgb(200, 160, 0) 60%, rgb(128, 96, 0) 100%) text; -webkit-text-fill-color: transparent; }
.oracle-card.r-A .oc-hr { background: linear-gradient(90deg, transparent, rgba(180, 140, 40, 0.5), transparent); }
.rank-badge { text-align: center; padding: 12px 0px 14px; margin-bottom: 14px; border-bottom: 1px solid var(--silver-lt); position: relative; }
.oracle-card.r-S .rank-badge { border-color: rgba(218, 180, 60, 0.3); }
.oracle-card.r-X .rank-badge { border-color: rgba(140, 128, 230, 0.3); }
.rank-letter { font-size: clamp(2.2rem, 5vw, 3.5rem); font-weight: 500; letter-spacing: 0.1em; display: block; line-height: 1.2; }
.oracle-card.r-S .rank-letter { background: linear-gradient(135deg, rgb(156, 122, 30) 0%, rgb(196, 160, 48) 40%, rgb(232, 196, 103) 60%, rgb(156, 122, 30) 100%) text; -webkit-text-fill-color: transparent; filter: drop-shadow(rgba(160, 124, 30, 0.25) 0px 2px 4px); }
.oracle-card.r-A .rank-letter { background: linear-gradient(135deg, rgb(128, 128, 152) 0%, rgb(176, 176, 200) 40%, rgb(216, 216, 232) 60%, rgb(144, 144, 168) 100%) text; -webkit-text-fill-color: transparent; }
.oracle-card.r-B .rank-letter, .oracle-card.r-C .rank-letter, .oracle-card.r-D .rank-letter { color: var(--ink-mid); }
.oracle-card.r-X .rank-letter { background: linear-gradient(135deg, rgb(136, 120, 208) 0%, rgb(176, 160, 240) 40%, rgb(216, 208, 255) 60%, rgb(152, 136, 216) 100%) text; -webkit-text-fill-color: transparent; filter: drop-shadow(rgba(140, 120, 240, 0.5) 0px 2px 8px) drop-shadow(rgba(30, 20, 60, 0.65) 0px 1px 5px); }
.rank-name-text { font-size: 0.75rem; font-weight: 300; letter-spacing: 0.35em; display: block; margin-top: 4px; }
.oracle-card.r-S .rank-name-text { color: rgb(122, 92, 32); }
.oracle-card.r-A .rank-name-text { color: rgb(88, 88, 160); }
.oracle-card.r-B .rank-name-text, .oracle-card.r-C .rank-name-text, .oracle-card.r-D .rank-name-text { color: var(--ink-muted); }
.oracle-card.r-X .rank-name-text { color: rgb(144, 136, 200); text-shadow: rgba(25, 18, 55, 0.7) 0px 1px 6px; }
.oc-hr { width: 50px; height: 1px; background: linear-gradient(90deg,transparent,var(--silver),transparent); margin: 11px auto; }
.oracle-card.r-S .oc-hr { background: linear-gradient(90deg, transparent, rgba(218, 180, 60, 0.6), transparent); }
.oracle-card.r-X .oc-hr { background: linear-gradient(90deg, transparent, rgba(140, 128, 230, 0.5), transparent); }
.oc-main { font-size: clamp(0.84rem, 1.5vw, 1.06rem); font-weight: 400; letter-spacing: 0.1em; line-height: 1.9; text-align: center; color: var(--ink); }
.oc-sub { font-size: 0.74rem; font-weight: 200; letter-spacing: 0.18em; line-height: 2; text-align: center; color: var(--ink-muted); }
.oc-greeting, .weekly-greeting { font-size: 0.68rem; font-weight: 200; letter-spacing: 0.14em; line-height: 1.9; text-align: center; color: var(--ink-muted); margin: 0px 0px 10px; }
.weekly-greeting { margin: 0px 0px 12px; }
.oracle-card.r-X .oc-greeting, .oracle-card.r-X .weekly-greeting { color: rgb(142, 134, 188); }
.oc-body { font-size: 1rem; font-weight: 300; letter-spacing: 0.05em; line-height: 2; text-align: center; color: var(--ink-mid); }
.oracle-card.r-X .oc-main, .oracle-card.r-X .oc-body { color: rgb(200, 194, 236); }
.oracle-card.r-X .oc-sub { color: rgb(120, 112, 168); }
.lucky-section { margin-top: 26px; border-top: 1px solid var(--silver-lt); padding-top: 20px; position: relative; }
.oracle-card.r-S .lucky-section { border-color: rgba(218, 180, 60, 0.25); }
.oracle-card.r-X .lucky-section { border-color: rgba(140, 128, 230, 0.25); }
.lucky-head { font-size: 0.62rem; letter-spacing: 0.5em; color: var(--ink-muted); text-transform: uppercase; text-align: center; margin-bottom: 10px; }
.oracle-card.r-X .lucky-head { color: rgb(120, 112, 168); }
.lucky-grid { display: flex; flex-direction: column; gap: 10px; }
.l-item { padding: 10px 14px; background: rgba(0, 0, 0, 0.024); border-top-color: ; border-top-style: ; border-top-width: ; border-right-color: ; border-right-style: ; border-right-width: ; border-bottom-color: ; border-bottom-style: ; border-bottom-width: ; border-image-source: ; border-image-slice: ; border-image-width: ; border-image-outset: ; border-image-repeat: ; border-left: 2px solid var(--gold-rim); }
.oracle-card.r-S .l-item { background: rgba(218, 180, 60, 0.06); border-color: rgba(218, 180, 60, 0.2) rgba(218, 180, 60, 0.2) rgba(218, 180, 60, 0.2) rgba(218, 180, 60, 0.75); }
.oracle-card.r-A .l-item { background: rgba(160, 160, 210, 0.05); border-color: rgba(160, 160, 210, 0.24) rgba(160, 160, 210, 0.24) rgba(160, 160, 210, 0.24) rgba(160, 160, 210, 0.55); }
.oracle-card.r-X .l-item { background: rgba(255, 255, 255, 0.04); border-color: rgba(140, 128, 230, 0.2) rgba(140, 128, 230, 0.2) rgba(140, 128, 230, 0.2) rgba(140, 128, 230, 0.55); }
.l-top { display: flex; flex-wrap: wrap; align-items: baseline; gap: 0.55em; margin-bottom: 5px; }
.l-cat { font-size: 0.58rem; letter-spacing: 0.32em; color: var(--ink-muted); text-transform: uppercase; }
.l-val { font-size: 0.78rem; font-weight: 400; letter-spacing: 0.06em; color: var(--ink-mid); text-align: left; line-height: 1.5; }
.l-effect { font-size: 0.68rem; font-weight: 300; letter-spacing: 0.03em; line-height: 1.85; color: var(--ink-mid); margin: 0px; }
.oracle-card.r-X .l-cat { color: rgb(110, 104, 160); }
.oracle-card.r-X .l-val { color: rgb(184, 178, 216); }
.oracle-card.r-X .l-effect { color: rgb(176, 168, 216); }
.lucky-action-box { margin-top: 12px; padding: 14px 18px; border-left: 3px solid var(--silver); background: rgba(0, 0, 0, 0.02); font-size: 0.76rem; font-weight: 300; letter-spacing: 0.06em; line-height: 1.95; color: var(--ink-mid); }
.oracle-card.r-S .lucky-action-box { border-color: rgba(218, 180, 60, 0.6); background: rgba(218, 180, 60, 0.05); }
.oracle-card.r-A .lucky-action-box { border-color: rgba(160, 160, 210, 0.6); background: rgba(160, 160, 210, 0.05); }
.oracle-card.r-X .lucky-action-box { border-color: rgba(140, 128, 230, 0.6); background: rgba(140, 128, 230, 0.06); color: rgb(184, 178, 216); }
.action-label { font-size: 0.58rem; letter-spacing: 0.42em; color: var(--ink-muted); text-transform: uppercase; display: block; margin-bottom: 4px; }
.oracle-card.r-X .action-label { color: rgb(120, 112, 168); }
.lucky-effects { margin-top: 12px; display: flex; flex-direction: column; gap: 7px; }
.le-item { display: flex; gap: 10px; align-items: flex-start; padding: 8px 10px; background: rgba(0, 0, 0, 0.02); border-left: 2px solid var(--silver-lt); font-size: 0.66rem; font-weight: 300; letter-spacing: 0.05em; line-height: 1.85; color: var(--ink-mid); }
.oracle-card.r-S .le-item { border-color: rgba(218, 180, 60, 0.4); background: rgba(218, 180, 60, 0.04); }
.oracle-card.r-A .le-item { border-color: rgba(160, 160, 210, 0.4); background: rgba(160, 160, 210, 0.04); }
.oracle-card.r-X .le-item { border-color: rgba(140, 128, 230, 0.4); background: rgba(140, 128, 230, 0.05); color: rgb(176, 168, 216); }
.le-cat { font-size: 0.58rem; letter-spacing: 0.34em; color: var(--ink-muted); text-transform: uppercase; white-space: nowrap; padding-top: 2px; min-width: 3em; flex-shrink: 0; }
.oracle-card.r-X .le-cat { color: rgb(120, 112, 168); }
.rank-score { display: inline-block; font-size: 0.72rem; font-weight: 300; letter-spacing: 0.15em; color: var(--ink-muted); margin-left: 10px; vertical-align: middle; position: relative; top: -2px; }
.rank-score-num { font-size: 1.1rem; font-weight: 500; letter-spacing: 0.05em; color: var(--ink-mid); }
.oracle-card.r-S .rank-score-num { color: rgb(139, 105, 20); }
.oracle-card.r-A .rank-score-num { color: rgb(74, 74, 120); }
.oracle-card.r-X .rank-score-num { color: rgb(152, 136, 216); text-shadow: rgba(25, 18, 55, 0.7) 0px 1px 6px; }
.le-bonus { display: inline-flex; align-items: center; gap: 3px; margin-left: auto; flex-shrink: 0; font-size: 0.58rem; font-weight: 400; letter-spacing: 0.05em; color: rgb(106, 154, 90); background: rgba(100, 160, 80, 0.1); border: 1px solid rgba(100, 160, 80, 0.3); padding: 2px 7px; border-radius: 2px; white-space: nowrap; }
.oracle-card.r-S .le-bonus { color: rgb(138, 95, 30); background: rgba(196, 158, 90, 0.14); border-color: rgba(196, 158, 90, 0.35); }
.oracle-card.r-A .le-bonus { color: rgb(74, 74, 120); background: rgba(160, 160, 210, 0.1); border-color: rgba(160, 160, 210, 0.3); }
.oracle-card.r-X .le-bonus { color: rgb(152, 136, 216); background: rgba(140, 128, 230, 0.1); border-color: rgba(140, 128, 230, 0.3); }
.btn-save { display: block; width: 100%; min-height: 44px; margin-top: 18px; padding: 12px; border: 1px solid var(--ink); background: transparent; font-family: var(--font); font-size: 0.66rem; letter-spacing: 0.42em; color: var(--ink); cursor: pointer; position: relative; overflow: hidden; transition: color 0.35s; }
.btn-save::after { content: ""; position: absolute; inset: 0px; background: var(--ink); transform: scaleX(0); transform-origin: left center; transition: transform .4s var(--ease); }
.btn-save span { position: relative; z-index: 1; }
.btn-save:hover::after { transform: scaleX(1); }
.btn-save:hover span { color: rgb(255, 255, 255); }
.btn-save:disabled { opacity: 0.45; cursor: default; pointer-events: none; }
.btn-save.saved { border-color: rgba(100, 160, 80, 0.6); color: rgb(90, 138, 74); }
.btn-save.saved::after { display: none; }
.oracle-card.r-S .btn-save { border-color: rgba(150, 110, 0, 0.6); color: rgb(106, 74, 0); }
.oracle-card.r-S .btn-save:hover::after { background: rgba(150, 110, 0, 0.9); }
.oracle-card.r-X .btn-save { border-color: rgba(140, 128, 230, 0.5); color: rgb(152, 144, 200); }
.oracle-card.r-X .btn-save:hover::after { background: rgba(140, 128, 230, 0.7); }
.oracle-card.r-D .btn-save { border-color: rgba(120, 120, 140, 0.5); color: rgb(144, 144, 168); }
.oracle-card.r-D .btn-save:hover::after { background: rgba(120, 120, 140, 0.7); }
.save-msg { font-size: 0.58rem; letter-spacing: 0.15em; line-height: 1.8; color: var(--ink-muted); text-align: center; margin-top: 8px; min-height: 1.5em; }
.oracle-card.r-D .save-msg { color: rgb(136, 136, 160); }
.oracle-card.r-X .save-msg { color: rgb(136, 128, 184); }
.btn-again { display: block; width: 100%; min-height: 44px; margin-top: 12px; padding: 9px; border: 1px solid var(--silver); background: transparent; font-family: var(--font); font-size: 0.6rem; letter-spacing: 0.4em; color: var(--ink-muted); cursor: pointer; transition: border-color 0.3s, color 0.3s; }
.btn-again:hover { border-color: var(--ink); color: var(--ink); }
.oracle-card.r-X .btn-again { border-color: rgba(140, 128, 230, 0.4); color: rgb(152, 144, 200); }
.oracle-card.r-X .btn-again:hover { border-color: rgba(160, 150, 255, 0.8); color: rgb(192, 186, 238); }
.card-watermark { position: absolute; inset: 0px; pointer-events: none; z-index: 0; background-repeat: no-repeat; background-position: center 30%; background-size: 100%; opacity: 0; mask-image: radial-gradient(62% 70% at center 33%, rgb(0, 0, 0) 0%, transparent 74%); }
.oracle-card > :not(.card-watermark) { position: relative; z-index: 1; }
.sparkle-container { position: absolute; inset: 0px; pointer-events: none; overflow: hidden; z-index: 0; }
.sp { position: absolute; width: 8px; height: 8px; opacity: 0; background: currentcolor; clip-path: polygon(50% 0%, 61% 38%, 100% 50%, 61% 62%, 50% 100%, 39% 62%, 0% 50%, 39% 38%); animation: 3s ease-in-out 0s infinite normal none running spTwinkle; }
.sp::before { content: ""; position: absolute; inset: -7px; background: radial-gradient(circle, currentcolor 0%, transparent 72%); opacity: 0.6; }
@keyframes spTwinkle { 
  0% { opacity: 0; transform: translateY(0px) scale(0.3) rotate(0deg); }
  20% { opacity: 1; transform: translateY(-3px) scale(1.05) rotate(40deg); }
  50% { opacity: 0.45; transform: translateY(-7px) scale(0.65) rotate(90deg); }
  80% { opacity: 1; transform: translateY(-11px) scale(1.1) rotate(140deg); }
  100% { opacity: 0; transform: translateY(-15px) scale(0.3) rotate(180deg); }
}
.oracle-card.r-S .sp { color: rgb(240, 194, 57); }
.oracle-card.r-A .sp { color: rgba(180, 180, 220, 0.9); }
.oracle-card.r-X .sp { color: rgba(180, 160, 255, 0.9); }
.fx { position: fixed; inset: 0px; z-index: 600; pointer-events: none; display: none; }
.fx.fire { display: block; }
#fxBurst.fire { animation: burst 1.9s var(--ease) forwards; }
@keyframes burst { 
  0% { background: radial-gradient(50% 50%, rgba(255, 248, 210, 0) 0%, transparent 70%); }
  14% { background: radial-gradient(120% 120%, rgba(255, 248, 210, 0.9) 0%, rgba(252, 232, 140, 0.4) 38%, transparent 68%); }
  55% { background: radial-gradient(120% 120%, rgba(255, 248, 210, 0.18) 0%, transparent 60%); }
  100% { background: radial-gradient(50% 50%, rgba(255, 248, 210, 0) 0%, transparent 70%); }
}
#fxShimmer { overflow: hidden; }
#fxShimmer.fire::before, #fxShimmer.fire::after { content: ""; position: absolute; left: -50%; width: 200%; height: 2px; background: linear-gradient(90deg, transparent, rgba(255, 238, 140, 0.96), transparent); animation: 1.5s ease-out 0s 1 normal forwards running shimMove; }
#fxShimmer.fire::before { top: 36%; animation-delay: 0.06s; }
#fxShimmer.fire::after { top: 64%; animation-delay: 0.22s; }
@keyframes shimMove { 
  0% { transform: translateX(-30%); opacity: 0; }
  20% { opacity: 1; }
  100% { transform: translateX(30%); opacity: 0; }
}
#fxRift.fire { animation: rift 2.3s var(--ease) forwards; }
@keyframes rift { 
  0% { background: transparent; }
  9% { background: rgba(6, 4, 14, 0.93); }
  28% { background: rgba(6, 4, 14, 0.28); }
  58% { background: rgba(34, 28, 60, 0.07); }
  100% { background: transparent; }
}
#fxRiftShim { overflow: hidden; }
#fxRiftShim.fire::before, #fxRiftShim.fire::after { content: ""; position: absolute; left: -50%; width: 200%; height: 1px; background: linear-gradient(90deg, transparent, rgba(178, 165, 255, 0.98), transparent); animation: 2s ease-out 0s 1 normal forwards running shimMove; }
#fxRiftShim.fire::before { top: 40%; animation-delay: 0.22s; }
#fxRiftShim.fire::after { top: 60%; animation-delay: 0.4s; }
.disclaimer { background: var(--bg-alt); border-top: 1px solid var(--silver-lt); padding: 32px 48px; text-align: center; }
.disclaimer-title { font-size: 0.55rem; letter-spacing: 0.55em; color: var(--ink-muted); text-transform: uppercase; display: block; margin-bottom: 14px; }
.disclaimer-body { font-size: 0.62rem; font-weight: 300; letter-spacing: 0.08em; line-height: 2.2; color: var(--ink-muted); max-width: 680px; margin: 0px auto 12px; }
.disclaimer-note { font-size: 0.55rem; letter-spacing: 0.1em; line-height: 2; color: var(--ink-muted); max-width: 680px; margin: 0px auto; }
footer { padding: 18px 48px; border-top: 1px solid var(--silver-lt); display: flex; align-items: center; justify-content: space-between; background: var(--bg); }
.f-name { font-size: 0.6rem; letter-spacing: 0.4em; color: var(--ink-muted); }
.f-copy { font-size: 0.56rem; letter-spacing: 0.2em; color: var(--ink-muted); }
.hx-ambience-bar { display: flex; justify-content: center; padding: 14px 20px; background: var(--bg-alt); border-top: 1px solid var(--silver-lt); }
.hx-ambience-toggle { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 8px 20px; background: transparent; border: 1px solid var(--gold-rim); border-radius: 999px; color: var(--ink-muted); font-family: var(--font); font-size: 0.58rem; font-weight: 300; letter-spacing: 0.28em; line-height: 1; white-space: nowrap; cursor: pointer; transition: color 0.3s, border-color 0.3s; }
.hx-ambience-toggle:hover, .hx-ambience-toggle:focus-visible { color: var(--ink); }
.hx-ambience-toggle[aria-pressed="true"] { color: var(--ink-mid); border-color: var(--ink-mid); }
.hx-ambience-icon { font-size: 0.9em; opacity: 0.8; }
@media (max-width: 768px){.input-panel { padding: 32px 20px 28px; }.field-row, .field-row3 { grid-template-columns: 1fr; }.oracle-card { padding: 32px 20px 28px; }footer { flex-direction: column; gap: 10px; text-align: center; }.le-item { flex-direction: column; gap: 3px; }.le-cat { white-space: normal; letter-spacing: 0.2em; min-width: auto; padding-top: 0px; font-size: 0.44rem; }.l-val { font-size: 0.72rem; letter-spacing: 0.04em; }}
@media (max-width: 480px){.oracle-card.r-S.reveal-play .tier-ring.ring1 { animation-duration: 1.05s; }.oracle-card.r-SS.reveal-play .tier-ring.ring1 { animation-duration: 1.25s; }.oracle-card.r-SS.reveal-play .tier-ring.ring2 { animation-duration: 1.25s; }.oracle-card.r-X.reveal-play .tier-ring.ring1 { animation-duration: 1.2s; }.oracle-card.r-SS.reveal-play .rank-letter { animation-duration: var(--reveal-ink-dur),1.2s; }.oracle-card.r-X.reveal-play .rank-letter { animation-duration: var(--reveal-ink-dur),1.3s; }.lucky-section, .kantei-section, .weekly-section, .share-section { margin-top: 20px; padding-top: 16px; }}
@media (prefers-reduced-motion: reduce){*, ::before, ::after { animation: auto ease 0s 1 normal none running none !important; transition: none !important; }}
.hamburger.open span:nth-child(1) { transform: translateY(6px) rotate(45deg); }
.hamburger.open span:nth-child(2) { opacity: 0; transform: scaleX(0); }
.hamburger.open span:nth-child(3) { transform: translateY(-6px) rotate(-45deg); }
.mobile-menu { position: fixed; top: 56px; left: 0px; right: 0px; z-index: 380; background: linear-gradient(rgba(247, 246, 244, 0.996) 0%, rgba(233, 232, 228, 0.996) 100%); backdrop-filter: blur(12px); border-bottom: 1px solid rgba(215, 192, 120, 0.42); box-shadow: rgba(60, 50, 20, 0.13) 0px 10px 30px; display: flex; flex-direction: column; gap: 0px; transform: translateY(-110%); transition: transform 0.38s cubic-bezier(0.4, 0, 0.2, 1); visibility: hidden; pointer-events: none; }
.mobile-menu.open { transform: translateY(0px); visibility: visible; pointer-events: auto; }
.mobile-menu a { display: block; padding: 17px 28px; font-size: 0.78rem; letter-spacing: 0.42em; color: rgb(42, 42, 42); text-decoration: none; border-bottom: 1px solid rgba(168, 168, 168, 0.32); transition: color 0.2s, background 0.2s; }
.mobile-menu a:last-child { border-bottom-width: medium; border-bottom-style: none; border-bottom-color: currentcolor; }
.mobile-menu a:hover, .mobile-menu a:active { color: rgb(111, 90, 22); background: rgba(215, 192, 120, 0.14); }
.kantei-section { margin-top: 26px; border-top: 1px solid var(--silver-lt); padding-top: 20px; position: relative; }
.oracle-card.r-S .kantei-section { border-color: rgba(218, 180, 60, 0.25); }
.oracle-card.r-X .kantei-section { border-color: rgba(140, 128, 230, 0.25); }
.kantei-sub { font-size: 0.68rem; font-weight: 200; letter-spacing: 0.08em; line-height: 1.9; color: var(--ink-muted); text-align: center; margin: -4px 0px 12px; }
.oracle-card.r-X .kantei-sub { color: rgb(142, 134, 188); }
.kantei-list { display: flex; flex-direction: column; gap: 6px; }
.kantei-item { border: 1px solid var(--silver-lt); background: rgba(0, 0, 0, 0.016); }
.oracle-card.r-S .kantei-item { border-color: rgba(218, 180, 60, 0.3); background: rgba(218, 180, 60, 0.04); }
.oracle-card.r-A .kantei-item { border-color: rgba(160, 160, 210, 0.3); background: rgba(160, 160, 210, 0.03); }
.oracle-card.r-D .kantei-item { border-color: rgba(100, 100, 120, 0.3); background: rgba(255, 255, 255, 0.02); }
.oracle-card.r-X .kantei-item { border-color: rgba(140, 128, 230, 0.3); background: rgba(140, 128, 230, 0.05); }
.kantei-toggle { width: 100%; min-height: 44px; display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 9px 12px; background: transparent; border-width: medium; border-style: none; border-color: currentcolor; border-image: initial; cursor: pointer; font-family: var(--font); text-align: left; }
.kantei-toggle-label { font-size: 0.64rem; letter-spacing: 0.32em; color: var(--ink-mid); }
.oracle-card.r-X .kantei-toggle-label { color: rgb(192, 184, 232); }
.kantei-toggle-mark { font-size: 0.6rem; color: var(--ink-muted); transition: transform .35s var(--ease); }
.kantei-item.open .kantei-toggle-mark { transform: rotate(45deg); }
.kantei-body-wrap { display: grid; grid-template-rows: 0fr; transition: grid-template-rows .4s var(--ease); }
.kantei-item.open .kantei-body-wrap { grid-template-rows: 1fr; }
.kantei-body-inner { overflow: hidden; }
.kantei-body { padding: 0px 14px 14px; font-size: 0.8rem; font-weight: 300; letter-spacing: 0.05em; line-height: 2.25; color: var(--ink-mid); }
.oracle-card.r-X .kantei-body { color: rgb(184, 178, 216); }
.oracle-card.r-D .kantei-toggle-label { color: rgb(184, 184, 200); }
.oracle-card.r-D .kantei-body { color: rgb(160, 160, 176); }
.weekly-section { margin-top: 26px; border-top: 1px solid var(--silver-lt); padding-top: 20px; position: relative; }
.oracle-card.r-S .weekly-section { border-color: rgba(218, 180, 60, 0.25); }
.oracle-card.r-X .weekly-section { border-color: rgba(140, 128, 230, 0.25); }
.weekly-sub { font-size: 0.68rem; font-weight: 200; letter-spacing: 0.08em; line-height: 1.9; color: var(--ink-muted); text-align: center; margin: -4px 0px 14px; }
.oracle-card.r-X .weekly-sub { color: rgb(142, 134, 188); }
.weekly-chart-wrap { width: 100%; }
.weekly-chart-wrap svg { width: 100%; height: auto; display: block; }
.weekly-grid-line { stroke: var(--silver-lt); stroke-width: 0.6; stroke-dasharray: 2, 3; }
.weekly-axis-label { font-size: 8px; fill: var(--ink-muted); font-family: var(--font); }
.weekly-score-label { font-size: 8px; fill: var(--ink-mid); font-family: var(--font); }
.weekly-line { fill: none; stroke: var(--ink-mid); stroke-width: 1.4; }
.oracle-card.r-S .weekly-line { stroke: rgb(142, 106, 0); }
.oracle-card.r-X .weekly-line { stroke: rgb(140, 122, 230); }
.weekly-dot { fill: var(--surface); stroke: var(--ink-mid); stroke-width: 1.4; }
.oracle-card.r-S .weekly-dot { stroke: rgb(142, 106, 0); }
.oracle-card.r-X .weekly-dot { stroke: rgb(140, 122, 230); }
.weekly-today-dot { fill: var(--ink-mid); stroke: var(--ink-mid); stroke-width: 1.4; }
.oracle-card.r-S .weekly-today-dot { fill: rgb(142, 106, 0); stroke: rgb(142, 106, 0); }
.oracle-card.r-X .weekly-today-dot { fill: rgb(140, 122, 230); stroke: rgb(140, 122, 230); }
.share-section { margin-top: 26px; border-top: 1px solid var(--silver-lt); padding-top: 20px; position: relative; }
.lucky-section::after, .kantei-section::after, .weekly-section::after, .share-section::after { content: ""; position: absolute; top: -3.5px; left: 50%; width: 7px; height: 7px; transform: translateX(-50%); border-radius: 50%; border: 1px solid var(--gold-rim); background: var(--surface); }
.oracle-card.r-S .lucky-section::after, .oracle-card.r-S .kantei-section::after, .oracle-card.r-S .weekly-section::after, .oracle-card.r-S .share-section::after { border-color: rgba(218, 180, 60, 0.7); background: rgb(254, 251, 240); }
.oracle-card.r-SS .lucky-section::after, .oracle-card.r-SS .kantei-section::after, .oracle-card.r-SS .weekly-section::after, .oracle-card.r-SS .share-section::after { border-color: rgba(200, 150, 0, 0.8); background: rgb(255, 246, 216); }
.oracle-card.r-X .lucky-section::after, .oracle-card.r-X .kantei-section::after, .oracle-card.r-X .weekly-section::after, .oracle-card.r-X .share-section::after { border-color: rgba(140, 128, 230, 0.6); background: rgb(33, 28, 52); }
.oracle-card.r-D .lucky-section::after, .oracle-card.r-D .kantei-section::after, .oracle-card.r-D .weekly-section::after, .oracle-card.r-D .share-section::after { border-color: rgba(120, 120, 140, 0.5); background: rgb(30, 30, 34); }
.oracle-card.r-S .share-section { border-color: rgba(218, 180, 60, 0.25); }
.oracle-card.r-X .share-section { border-color: rgba(140, 128, 230, 0.25); }
.share-btn-row { display: flex; gap: 8px; flex-wrap: wrap; justify-content: center; }
.btn-share { display: flex; align-items: center; justify-content: center; gap: 7px; min-height: 44px; padding: 9px 18px; background: var(--surface); border: 1px solid var(--silver-lt); color: var(--ink-mid); font-family: var(--font); font-size: 0.62rem; letter-spacing: 0.18em; cursor: pointer; transition: border-color 0.3s, box-shadow 0.3s, transform 0.2s; }
.btn-share:hover { border-color: var(--gold-rim); box-shadow: rgba(255, 255, 255, 0.4) 0px 0px 0px 1px inset, rgba(215, 192, 120, 0.16) 0px 6px 18px; transform: translateY(-1px); }
.btn-share:active { transform: translateY(0px); }
.share-ico { font-size: 0.8rem; font-weight: 500; line-height: 1; }
.btn-share-x .share-ico { font-weight: 700; }
.btn-share-line .share-ico { color: rgb(6, 199, 85); font-weight: 700; }
.oracle-card.r-D .btn-share { background: rgba(255, 255, 255, 0.03); border-color: rgba(100, 100, 120, 0.35); color: rgb(184, 184, 200); }
.oracle-card.r-X .btn-share { background: rgba(140, 128, 230, 0.05); border-color: rgba(140, 128, 230, 0.3); color: rgb(184, 178, 216); }
.share-note { font-size: 0.54rem; font-weight: 200; letter-spacing: 0.08em; line-height: 1.8; color: var(--ink-muted); text-align: center; margin-top: 8px; min-height: 1.4em; }
.oracle-card.r-X .share-note { color: rgb(142, 134, 188); }
.btn-share-rank .share-ico { font-size: 0.9rem; font-weight: 400; }
.rank-streak-line { font-size: 0.56rem; font-weight: 200; letter-spacing: 0.1em; line-height: 1.8; color: var(--ink-muted); text-align: center; margin: -2px 0px 12px; }
.share-format-toggle { display: flex; gap: 6px; justify-content: center; margin-top: 10px; }
.format-btn { min-height: 32px; padding: 5px 14px; background: transparent; border: 1px solid var(--silver-lt); color: var(--ink-muted); font-family: var(--font); font-size: 0.56rem; letter-spacing: 0.14em; cursor: pointer; border-radius: 2px; transition: border-color 0.3s, color 0.3s, background 0.3s; }
.format-btn[aria-pressed="true"] { border-color: var(--gold-rim); color: var(--ink); background: var(--surface); }
.oracle-card.r-D .format-btn { border-color: rgba(100, 100, 120, 0.35); color: rgb(144, 144, 168); }
.oracle-card.r-D .format-btn[aria-pressed="true"] { color: rgb(232, 232, 240); background: rgba(255, 255, 255, 0.04); }
.oracle-card.r-X .format-btn { border-color: rgba(140, 128, 230, 0.3); color: rgb(142, 134, 188); }
.oracle-card.r-X .format-btn[aria-pressed="true"] { color: rgb(200, 194, 236); background: rgba(140, 128, 230, 0.06); }
.oracle-card.r-D .rank-streak-line { color: rgb(160, 160, 176); }
.oracle-card.r-X .rank-streak-line { color: rgb(142, 134, 188); }
.oracle-card.r-SS .rank-streak-line, .oracle-card.r-S .rank-streak-line { color: rgb(59, 59, 59); }
.cta-row .btn-primary:hover, .upsell .btn-primary:hover, .trial-cta-box .btn-primary:hover, .onetap-row .btn-primary:hover { transform: translateY(-2px); box-shadow: rgba(160, 118, 30, 0.4) 0px 8px 28px; }
.cta-row .btn-secondary:hover { border-color: var(--gold); color: var(--gold-deep); }
.halo-outer { position: absolute; width: 82%; padding-bottom: 82%; border-radius: 50%; border: 1px solid rgba(215, 192, 120, 0.2); animation: 34s linear 0s infinite reverse none running haloSpin; pointer-events: none; }
.trial-badge-row { display: none; justify-content: center; gap: 8px; flex-wrap: wrap; margin-bottom: 16px; }
.trial-badge { font-size: 0.54rem; letter-spacing: 0.14em; color: var(--gold-deep); background: rgba(215, 192, 120, 0.14); border: 1px solid var(--gold-rim); padding: 5px 12px; }
.megumi-section { margin-top: 26px; border-top: 1px solid var(--silver-lt); padding-top: 20px; text-align: center; }
.oracle-card.r-X .megumi-section { border-top-color: rgba(140, 128, 230, 0.28); }
.megumi-intro { font-size: 0.68rem; letter-spacing: 0.03em; line-height: 1.9; color: var(--ink-mid); margin: 0px auto 18px; max-width: 26em; }
.megumi-deck { display: flex; justify-content: center; gap: 10px; flex-wrap: wrap; margin: 0px 0px 6px; }
.megumi-card { position: relative; width: 64px; height: 96px; border-width: medium; border-style: none; border-color: currentcolor; border-image: initial; background: none; padding: 0px; margin: 0px; cursor: pointer; -webkit-tap-highlight-color: transparent; perspective: 640px; }
.megumi-card:focus-visible { outline: 2px solid var(--gold-rim); outline-offset: 4px; }
.megumi-card-inner { position: relative; display: block; width: 100%; height: 100%; transition: transform .6s var(--ease-soft); transform-style: preserve-3d; }
.megumi-card.flipped .megumi-card-inner { transform: rotateY(180deg); }
.megumi-card-face { position: absolute; inset: 0px; backface-visibility: hidden; border: 1px solid var(--gold-rim); display: flex; align-items: center; justify-content: center; box-sizing: border-box; }
.megumi-card-back { background: var(--surface); box-shadow: rgba(215, 192, 120, 0.14) 0px 0px 0px 1px inset; }
.megumi-card-mark { display: block; width: 13px; height: 13px; border: 1px solid var(--gold-rim); transform: rotate(45deg); }
.megumi-card-front { background: linear-gradient(150deg, rgb(243, 231, 196), rgb(216, 190, 124) 62%, rgb(201, 162, 39)); transform: rotateY(180deg); box-shadow: rgba(160, 118, 30, 0.26) 0px 2px 16px; }
.megumi-card-front::after { content: ""; display: block; width: 13px; height: 13px; border: 1px solid rgba(111, 90, 22, 0.55); background: rgba(255, 255, 255, 0.22); transform: rotate(45deg); }
.megumi-card.megumi-card-dim { opacity: 0.36; pointer-events: none; }
.megumi-card.megumi-card-chosen .megumi-card-front { box-shadow: rgba(160, 118, 30, 0.34) 0px 3px 22px; }
@media (prefers-reduced-motion: reduce){.megumi-card-inner { transition: none; }}
.megumi-skip { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 6px 14px; margin-top: 2px; background: none; border-width: medium; border-style: none; border-color: currentcolor; border-image: initial; font-family: var(--font); font-size: 0.62rem; letter-spacing: 0.08em; color: var(--ink-muted); text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
.megumi-skip:hover { color: var(--ink-mid); }
.megumi-skip:focus-visible { outline: 2px solid var(--gold-rim); outline-offset: 3px; }
.megumi-reveal { margin-top: 18px; padding: 18px 22px; text-align: left; background: rgba(215, 192, 120, 0.07); border: 1px solid var(--gold-rim); position: relative; overflow: hidden; }
.megumi-reveal-card { position: relative; z-index: 1; }
.megumi-reveal-label { display: block; font-size: 0.56rem; letter-spacing: 0.4em; color: var(--gold-deep); text-transform: uppercase; margin-bottom: 8px; }
.oracle-card.r-X .megumi-reveal-label { color: rgb(142, 134, 188); }
.megumi-reveal-name { font-size: 0.86rem; font-weight: 500; letter-spacing: 0.04em; color: var(--ink); margin: 0px 0px 8px; }
.megumi-reveal-effect { font-size: 0.72rem; line-height: 1.9; letter-spacing: 0.02em; color: var(--ink-mid); margin: 0px; }
.megumi-reveal.megumi-bloom::before { content: ""; position: absolute; inset: -40% -20%; background: radial-gradient(at 50% 20%, rgba(215, 192, 120, 0.32), transparent 62%); animation: megumiBloom 1.1s var(--ease-soft) both; pointer-events: none; }
@keyframes megumiBloom { 
  0% { opacity: 0; }
  30% { opacity: 1; }
  100% { opacity: 0; }
}
@media (prefers-reduced-motion: reduce){.megumi-reveal.megumi-bloom::before { animation: auto ease 0s 1 normal none running none; display: none; }}
@media (max-width: 520px){.megumi-card { width: 56px; height: 84px; }.megumi-deck { gap: 8px; }}
.oracle-card.r-D .megumi-section { border-top-color: rgba(100, 100, 120, 0.25); }
.oracle-card.r-D .megumi-intro { color: rgb(160, 160, 176); }
.oracle-card.r-D .megumi-skip { color: rgb(128, 128, 144); }
.oracle-card.r-D .megumi-skip:hover { color: rgb(192, 192, 204); }
.oracle-card.r-D .megumi-reveal { background: rgba(255, 255, 255, 0.03); border-color: rgba(100, 100, 120, 0.3); }
.oracle-card.r-D .megumi-reveal-label { color: rgb(128, 128, 144); }
.oracle-card.r-D .megumi-reveal-name { color: rgb(192, 192, 204); }
.oracle-card.r-D .megumi-reveal-effect { color: rgb(160, 160, 176); }
.oracle-card.r-X .megumi-intro { color: rgb(176, 168, 216); }
.oracle-card.r-X .megumi-skip { color: rgb(142, 134, 188); }
.oracle-card.r-X .megumi-skip:hover { color: rgb(192, 184, 232); }
.oracle-card.r-X .megumi-reveal { background: rgba(140, 128, 230, 0.06); border-color: rgba(140, 128, 230, 0.3); }
.oracle-card.r-X .megumi-reveal-name { color: rgb(220, 214, 240); }
.oracle-card.r-X .megumi-reveal-effect { color: rgb(176, 168, 216); }
.upsell { margin-top: 16px; border-top: 1px solid var(--gold-rim); padding-top: 16px; }
.upsell-title { font-size: 0.68rem; letter-spacing: 0.2em; color: var(--gold-deep); text-align: center; margin-bottom: 12px; }
.oracle-card.r-X .upsell-title { color: rgb(184, 174, 232); }
.upsell-list { list-style: none; font-size: 0.66rem; letter-spacing: 0.05em; line-height: 2.1; color: var(--ink-mid); text-align: left; max-width: 22em; margin: 0px auto 16px; }
.upsell-list li::before { content: "─ "; color: var(--gold-lt); }
.oracle-card.r-X .upsell-list { color: rgb(192, 184, 232); }
.upsell-cta { display: block; text-align: center; }
.upsell-note { font-size: 0.54rem; color: var(--ink-muted); margin-top: 8px; letter-spacing: 0.06em; text-align: center; }
.oracle-card.r-X .upsell-note { color: rgb(142, 134, 188); }
.oracle-card.r-D .upsell-title { color: rgb(176, 176, 192); }
.oracle-card.r-D .upsell-list { color: rgb(184, 184, 196); }
.onetap-row { display: none; width: 100%; max-width: 500px; justify-content: center; margin-top: -4px; }
.onetap-row.on { display: flex; }
.onetap-row .btn-primary { width: 100%; font-size: 0.7rem; letter-spacing: 0.22em; padding: 15px 22px; }
.trial-cta-box { margin: 14px 0px 2px; text-align: center; }
.trial-cta-box .btn-primary { display: block; text-align: center; font-size: 0.7rem; letter-spacing: 0.22em; padding: 14px 22px; }
.trial-cta-box .upsell-note { margin-top: 8px; line-height: 1.85; }
.oracle-card.r-D .trial-cta-box .upsell-note { color: rgb(168, 168, 180); }
.onetap-note, .onetap-member-note { font-size: 0.58rem; letter-spacing: 0.06em; line-height: 1.9; color: var(--ink-muted); text-align: center; margin: 10px 0px 2px; }
.onetap-member-note a { color: var(--gold-deep); text-decoration: underline; text-underline-offset: 3px; }
.oracle-card.r-X .onetap-note, .oracle-card.r-X .onetap-member-note { color: rgb(176, 168, 216); }
.oracle-card.r-X .onetap-member-note a { color: rgb(192, 184, 232); }
.oracle-card.r-D .onetap-note, .oracle-card.r-D .onetap-member-note { color: rgb(184, 184, 196); }
.oracle-card.r-D .onetap-member-note a { color: rgb(214, 214, 222); }
.result-pulse { margin: 2px 0px 14px; text-align: center; }
.result-pulse-text { font-size: 0.72rem; font-weight: 300; letter-spacing: 0.07em; line-height: 2.05; color: var(--ink-mid); }
.oracle-card.r-X .result-pulse-text { color: rgb(184, 174, 232); }
.oracle-card.r-D .result-pulse-text { color: rgb(198, 198, 210); }
.revisit-note { font-size: 0.6rem; letter-spacing: 0.09em; line-height: 1.9; color: var(--gold-deep); text-align: center; margin: 0px 0px 14px; padding-bottom: 10px; border-bottom: 1px solid var(--gold-rim); }
.oracle-card.r-X .revisit-note { color: rgb(192, 184, 232); }
.oracle-card.r-D .revisit-note { color: rgb(198, 198, 210); }
.trial-peek-clear { font-size: 0.62rem; letter-spacing: 0.02em; line-height: 1.95; color: var(--ink-mid); margin: 0px 0px 2px; }
.oracle-card.r-X .trial-peek-clear { color: rgb(220, 214, 240); }
.oracle-card.r-D .trial-peek-clear { color: rgb(214, 214, 222); }
.record-hook { font-size: 0.58rem; letter-spacing: 0.04em; line-height: 1.85; color: var(--ink-muted); text-align: center; margin: 12px 0px 2px; }
.next-oracle-note { font-size: 0.54rem; letter-spacing: 0.13em; color: var(--ink-muted); text-align: center; margin-top: 12px; }
h2.sect-title { font-size: 1rem; font-weight: 300; letter-spacing: 0.3em; text-align: center; color: var(--ink-mid); margin: 6px 0px 16px; }
.sect-lead { font-size: 0.68rem; font-weight: 200; letter-spacing: 0.08em; line-height: 2.1; color: var(--ink-muted); text-align: center; max-width: 34em; margin: 0px auto 8px; }
.stats-sect { background: var(--bg); padding: 56px 24px 60px; text-align: center; }
.stats-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; max-width: 880px; margin: 28px auto 0px; }
.stat { padding: 24px 10px; background: var(--surface); border: 1px solid var(--silver-lt); }
.stat .num { font-size: 1.6rem; font-weight: 300; letter-spacing: 0.04em; color: var(--gold-deep); display: block; margin-bottom: 6px; }
.stat .num small { font-size: 0.46em; letter-spacing: 0.12em; }
.stat .lbl { font-size: 0.6rem; letter-spacing: 0.08em; color: var(--ink-mid); line-height: 1.75; }
.price-sect { background: var(--bg-alt); padding: 60px 24px 64px; text-align: center; }
.price-card { max-width: 400px; margin: 28px auto 0px; background: var(--surface); border: 1px solid var(--gold-rim); box-shadow: rgba(160, 118, 30, 0.1) 0px 4px 36px; padding: 36px 32px; text-align: center; }
.price-plan { font-size: 0.8rem; letter-spacing: 0.34em; color: var(--ink-mid); }
.price-plan-en { font-size: 0.5rem; letter-spacing: 0.4em; color: var(--ink-muted); display: block; margin: 6px 0px 18px; }
.price-amount { font-size: 2.4rem; font-weight: 300; color: var(--ink); }
.price-amount small { font-size: 0.3em; letter-spacing: 0.1em; color: var(--ink-muted); }
.price-trial { display: inline-block; font-size: 0.62rem; letter-spacing: 0.12em; color: var(--gold-deep); background: rgba(215, 192, 120, 0.18); border: 1px solid var(--gold-rim); padding: 6px 14px; margin: 14px 0px 18px; }
.price-list { list-style: none; font-size: 0.64rem; letter-spacing: 0.05em; line-height: 2.2; color: var(--ink-mid); text-align: left; max-width: 18em; margin: 0px auto 22px; }
.price-list li::before { content: "◆ "; font-size: 0.62em; color: var(--gold-lt); }
.price-card .btn-primary { font-family: var(--font); font-size: 0.74rem; letter-spacing: 0.24em; color: rgb(255, 248, 220); background: linear-gradient(135deg,var(--gold),var(--gold-lt)); border-width: medium; border-style: none; border-color: currentcolor; border-image: initial; padding: 15px 26px; cursor: pointer; box-shadow: rgba(111, 90, 22, 0.3) 0px 3px 20px; transition: transform .3s var(--ease),box-shadow .3s var(--ease); text-decoration: none; display: inline-block; }
.price-card .btn-primary:hover { transform: translateY(-2px); box-shadow: rgba(160, 118, 30, 0.4) 0px 8px 28px; }
.faq-sect { background: var(--bg); padding: 60px 24px 64px; }
.faq-wrap { max-width: 600px; margin: 28px auto 0px; }
.faq-wrap details { background: var(--surface); border: 1px solid var(--silver-lt); margin-bottom: 10px; }
.faq-wrap summary { font-size: 0.72rem; letter-spacing: 0.04em; color: var(--ink-mid); padding: 16px 18px; cursor: pointer; list-style: none; position: relative; }
.faq-wrap summary::-webkit-details-marker { display: none; }
.faq-wrap summary::after { content: "＋"; position: absolute; right: 18px; color: var(--gold-lt); }
.faq-wrap details[open] summary::after { content: "－"; }
.faq-wrap details p { font-size: 0.66rem; font-weight: 300; letter-spacing: 0.04em; line-height: 2; color: var(--ink-muted); padding: 0px 18px 16px; margin: 0px; }
.xfollow-sect { background: var(--bg-alt); text-align: center; padding: 52px 24px 58px; }
.xfollow-sect p { font-size: 0.66rem; letter-spacing: 0.06em; line-height: 2; color: var(--ink-mid); max-width: 32em; margin: 18px auto 22px; }
.btn-x { display: inline-block; font-size: 0.68rem; letter-spacing: 0.12em; color: rgb(247, 246, 244); background: rgb(25, 25, 25); padding: 14px 28px; text-decoration: none; transition: opacity 0.3s; }
.btn-x:hover { opacity: 0.78; }
.reveal { opacity: 0; transform: translateY(16px); transition: opacity .8s var(--ease),transform .8s var(--ease); }
.reveal.in { opacity: 1; transform: translateY(0px); }
@media (max-width: 768px){.stats-grid { grid-template-columns: repeat(1, 1fr); max-width: 280px; }}
.words-sect { background: var(--bg-alt); padding: 56px 24px 60px; text-align: center; }
.words-intro { max-width: 640px; margin: 26px auto 0px; text-align: center; font-size: 0.66rem; letter-spacing: 0.05em; line-height: 1.9; color: var(--ink-muted); }
.words-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; max-width: 880px; margin: 28px auto 0px; text-align: left; }
.word-card { background: var(--surface); border: 1px solid var(--silver-lt); box-shadow: rgba(215, 192, 120, 0.1) 0px 0px 0px 1px inset; padding: 22px 20px 18px; margin: 0px; }
.word-quote { font-size: 0.7rem; font-weight: 300; letter-spacing: 0.04em; line-height: 2; color: var(--ink-mid); margin: 0px 0px 12px; }
.word-cite { display: block; text-align: right; font-size: 0.6rem; letter-spacing: 0.1em; color: var(--gold-deep); font-style: normal; }
.words-note { font-size: 0.6rem; letter-spacing: 0.05em; color: var(--ink-muted); max-width: 34em; margin: 24px auto 0px; }
@media (max-width: 768px){.words-grid { grid-template-columns: 1fr; }}
.story-sect { background: var(--surface); padding: 60px 24px 64px; text-align: center; position: relative; overflow: hidden; }
.story-box { max-width: 640px; margin: 28px auto 0px; text-align: left; background: var(--bg-alt); border: 1px solid var(--gold-rim); box-shadow: rgba(215, 192, 120, 0.14) 0px 0px 0px 1px inset; padding: 34px 30px; }
.story-box p { font-size: 0.72rem; font-weight: 300; letter-spacing: 0.04em; line-height: 2.1; color: var(--ink-mid); margin: 0px 0px 1.1em; }
.story-box p:last-of-type { margin-bottom: 0px; }
.story-sign { text-align: right; font-size: 0.7rem; letter-spacing: 0.2em; color: var(--ink); margin-top: 10px; }
.story-link { display: block; width: fit-content; margin: 22px auto 0px; font-size: 0.66rem; letter-spacing: 0.12em; color: var(--gold-deep); text-decoration: none; border-bottom: 1px solid var(--gold-rim); padding-bottom: 3px; }
.story-link:hover { border-color: var(--gold-deep); }
.record-sect { background: var(--bg); padding: 56px 24px 60px; text-align: center; }
.record-grid { display: flex; justify-content: center; gap: 14px; max-width: 600px; margin: 28px auto 0px; }
.record-card { padding: 24px 32px; background: var(--surface); border: 1px solid var(--silver-lt); min-width: 220px; }
.record-num { font-size: 1.5rem; font-weight: 300; letter-spacing: 0.04em; color: var(--gold-deep); display: block; margin-bottom: 6px; }
.record-cap { font-size: 0.6rem; letter-spacing: 0.08em; color: var(--ink-mid); line-height: 1.75; }
.record-fallback { font-size: 0.7rem; letter-spacing: 0.08em; color: var(--ink-muted); margin: 26px 0px 0px; line-height: 2; }
.record-note { font-size: 0.62rem; letter-spacing: 0.05em; color: var(--ink-muted); max-width: 34em; line-height: 1.9; margin: 22px auto 0px; }
.library-sect { background: var(--surface); padding: 60px 24px 64px; text-align: center; }
.lib-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; max-width: 840px; margin: 28px auto 0px; text-align: left; }
.lib-card { display: flex; flex-direction: column; gap: 8px; background: var(--bg-alt); border: 1px solid var(--silver-lt); padding: 22px 20px; text-decoration: none; color: inherit; transition: box-shadow 0.3s; }
.lib-card:hover { box-shadow: inset 0 0 0 1px var(--gold-rim); }
.lib-date { font-size: 0.56rem; letter-spacing: 0.14em; color: var(--ink-muted); }
.lib-title { font-size: 0.74rem; letter-spacing: 0.05em; line-height: 1.7; color: var(--ink); }
.lib-desc { font-size: 0.62rem; letter-spacing: 0.03em; line-height: 1.8; color: var(--ink-muted); }
.lib-more { display: block; width: fit-content; margin: 26px auto 0px; font-size: 0.66rem; letter-spacing: 0.12em; color: var(--gold-deep); text-decoration: none; }
.lib-more:hover { text-decoration: underline; }
@media (max-width: 768px){.lib-grid { grid-template-columns: 1fr; }.sns-grid { grid-template-columns: 1fr; }}
.moon-orn { margin: 0px auto 6px; width: 120px; }
.moon-orn svg { display: block; width: 100%; height: auto; }
.showcase-sect { background: var(--bg-alt); padding: 60px 24px 64px; text-align: center; }
.showcase-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; max-width: 960px; margin: 30px auto 0px; text-align: left; }
.sc-card { background: var(--surface); border: 1px solid var(--silver-lt); box-shadow: rgba(215, 192, 120, 0.1) 0px 0px 0px 1px inset; padding: 20px 18px 18px; display: flex; flex-direction: column; }
.sc-head { display: flex; align-items: baseline; gap: 9px; margin-bottom: 12px; }
.sc-name { font-size: 0.82rem; letter-spacing: 0.18em; color: var(--ink-mid); }
.sc-free { font-size: 0.5rem; letter-spacing: 0.1em; color: var(--gold-deep); border: 1px solid var(--gold-rim); padding: 2px 7px; white-space: nowrap; }
.sc-preview { background: var(--bg); border: 1px solid var(--silver-lt); padding: 16px 14px 13px; position: relative; flex: 1 1 0%; }
.sc-preview-tag { position: absolute; top: 6px; right: 8px; font-size: 0.42rem; letter-spacing: 0.14em; color: var(--ink-muted); text-transform: uppercase; }
.sc-value { font-size: 0.62rem; letter-spacing: 0.03em; line-height: 1.85; color: var(--ink-muted); margin-top: 12px; }
.scp-rank-label { font-size: 0.62rem; letter-spacing: 0.26em; color: var(--gold-deep); text-align: center; margin-top: 2px; }
.scp-score { font-size: 1.5rem; font-weight: 300; letter-spacing: 0.04em; color: var(--gold-deep); text-align: center; line-height: 1.2; }
.scp-score small { font-size: 0.4em; letter-spacing: 0.1em; color: var(--ink-muted); }
.scp-hr { height: 1px; background: var(--gold-rim); margin: 9px 0px; }
.scp-body { font-size: 0.6rem; letter-spacing: 0.02em; line-height: 1.95; color: var(--ink-mid); }
.scp-kantei-row { display: flex; align-items: center; justify-content: space-between; border: 1px solid var(--silver-lt); padding: 7px 10px; margin-bottom: 5px; background: rgba(0, 0, 0, 0.01); }
.scp-kantei-row.open { background: rgba(215, 192, 120, 0.07); border-color: var(--gold-rim); }
.scp-kantei-label { font-size: 0.56rem; letter-spacing: 0.24em; color: var(--ink-mid); }
.scp-kantei-mark { font-size: 0.56rem; color: var(--ink-muted); }
.scp-kantei-body { font-size: 0.55rem; letter-spacing: 0.01em; line-height: 1.85; color: var(--ink-mid); padding: 2px 4px 8px; }
.scp-weekly svg { display: block; width: 100%; height: auto; }
.scp-weekly-caption { font-size: 0.52rem; letter-spacing: 0.06em; color: var(--ink-muted); text-align: center; margin-top: 4px; }
.scp-moon-ch { margin-bottom: 9px; }
.scp-moon-ch:last-child { margin-bottom: 0px; }
.scp-moon-label { font-size: 0.52rem; letter-spacing: 0.2em; color: var(--gold-deep); display: block; margin-bottom: 2px; }
.scp-moon-text { font-size: 0.55rem; letter-spacing: 0.01em; line-height: 1.7; color: var(--ink-mid); }
.scp-compat-tier { display: flex; align-items: center; justify-content: space-between; padding: 5px 9px; margin-bottom: 4px; font-size: 0.56rem; letter-spacing: 0.12em; color: var(--ink-muted); border: 1px solid transparent; }
.scp-compat-tier.on { color: var(--gold-deep); border-color: var(--gold-rim); background: rgba(215, 192, 120, 0.08); }
.scp-compat-score { font-size: 0.5rem; letter-spacing: 0.06em; color: var(--ink-muted); }
.scp-compat-tier.on .scp-compat-score { color: var(--gold-deep); }
.scp-letter-season { font-size: 0.5rem; letter-spacing: 0.14em; color: var(--gold-deep); text-align: right; margin-bottom: 8px; }
.scp-letter-open { font-size: 0.6rem; letter-spacing: 0.02em; line-height: 2; color: var(--ink-mid); }
.scp-letter-sign { font-size: 0.54rem; letter-spacing: 0.14em; color: var(--ink-muted); text-align: right; margin-top: 10px; }
.showcase-note { max-width: 36em; margin: 26px auto 0px; font-size: 0.58rem; letter-spacing: 0.04em; line-height: 1.9; color: var(--ink-muted); }
.showcase-cta { font-family: var(--font); font-size: 0.74rem; letter-spacing: 0.24em; color: rgb(255, 248, 220); background: linear-gradient(135deg,var(--gold),var(--gold-lt)); border-width: medium; border-style: none; border-color: currentcolor; border-image: initial; padding: 16px 30px; cursor: pointer; box-shadow: rgba(111, 90, 22, 0.3) 0px 3px 20px; transition: transform .3s var(--ease),box-shadow .3s var(--ease); text-decoration: none; display: inline-block; margin-top: 20px; }
.showcase-cta:hover { transform: translateY(-2px); box-shadow: rgba(160, 118, 30, 0.4) 0px 8px 28px; }
.showcase-cta-note { font-size: 0.56rem; letter-spacing: 0.06em; color: var(--ink-muted); margin-top: 10px; }
.showcase-narrative { max-width: 640px; margin: 26px auto 0px; }
.narrative-heading { font-size: 0.66rem; font-weight: 400; letter-spacing: 0.32em; color: var(--gold-deep); text-align: center; margin-bottom: 16px; }
.narrative-box { text-align: left; background: var(--surface); border: 1px solid var(--gold-rim); box-shadow: rgba(215, 192, 120, 0.14) 0px 0px 0px 1px inset; padding: 34px 30px; }
.narrative-box p { font-size: 0.72rem; font-weight: 300; letter-spacing: 0.04em; line-height: 2.1; color: var(--ink-mid); margin: 0px 0px 1.1em; }
.narrative-box p:last-of-type { margin-bottom: 0px; }
.trial-peek { margin: 16px 0px 2px; border: 1px solid var(--gold-rim); background: rgba(215, 192, 120, 0.05); padding: 14px 14px 12px; }
.trial-peek-head { font-size: 0.58rem; letter-spacing: 0.12em; color: var(--gold-deep); text-align: center; margin-bottom: 11px; }
.oracle-card.r-X .trial-peek-head { color: rgb(184, 174, 232); }
.oracle-card.r-D .trial-peek-head { color: rgb(198, 198, 210); }
.trial-peek-klabel { font-size: 0.52rem; letter-spacing: 0.22em; color: var(--ink-mid); margin-bottom: 4px; }
.oracle-card.r-X .trial-peek-klabel { color: rgb(192, 184, 232); }
.oracle-card.r-D .trial-peek-klabel { color: rgb(184, 184, 196); }
.trial-peek-kantei { position: relative; }
.trial-peek-closing { margin-top: 1.4em; letter-spacing: 0.22em; text-align: center; color: var(--gold-deep); font-size: 0.62rem; }
.oracle-card.r-X .trial-peek-closing { color: rgb(220, 214, 240); }
.oracle-card.r-D .trial-peek-closing { color: rgb(214, 214, 222); }
.trial-peek-graph { margin-top: 10px; }
.trial-peek-graph svg { display: block; width: 100%; height: auto; opacity: 0.5; }
.trial-peek-lock { font-size: 0.52rem; letter-spacing: 0.05em; line-height: 1.8; color: var(--ink-muted); text-align: center; margin-top: 9px; }
.oracle-card.r-X .trial-peek-lock, .oracle-card.r-D .trial-peek-lock { color: rgb(166, 166, 180); }
.xcard-wrap { max-width: 340px; margin: 26px auto; }
.xcard { background: linear-gradient(160deg, rgb(32, 32, 29), rgb(20, 20, 18)); border: 1px solid rgba(215, 192, 120, 0.4); box-shadow: rgba(0, 0, 0, 0.28) 0px 6px 30px; padding: 4px; }
.xcard-inner { border: 1px solid rgba(215, 192, 120, 0.26); padding: 22px 20px; text-align: center; }
.xcard-rank { font-size: 0.72rem; letter-spacing: 0.3em; color: rgb(216, 192, 120); }
.xcard-score { font-size: 1.8rem; font-weight: 300; color: rgb(237, 228, 200); margin-top: 6px; line-height: 1.1; }
.xcard-score small { font-size: 0.34em; letter-spacing: 0.1em; color: rgb(167, 154, 110); }
.xcard-rule { height: 1px; background: rgba(215, 192, 120, 0.35); margin: 12px auto; width: 58%; }
.xcard-body { font-size: 0.62rem; letter-spacing: 0.02em; line-height: 2; color: rgb(207, 201, 188); text-align: left; }
.xcard-url { font-size: 0.5rem; letter-spacing: 0.18em; color: rgb(140, 130, 94); margin-top: 16px; }
.xcard-cap { font-size: 0.56rem; letter-spacing: 0.04em; line-height: 1.85; color: var(--ink-muted); margin-top: 12px; text-align: center; }
.xcard-evening-note { font-size: 0.56rem; letter-spacing: 0.04em; line-height: 1.85; color: var(--ink-muted); margin-top: 6px; text-align: center; }
.sns-grid { margin-top: 36px; }
.sns-card { align-items: center; text-align: center; gap: 12px; }
.sns-card .lib-title { font-size: 0.78rem; letter-spacing: 0.1em; }
.sns-card .lib-desc { font-size: 0.62rem; }
.btn-note, .btn-youtube { display: inline-block; font-size: 0.68rem; letter-spacing: 0.12em; color: rgb(247, 246, 244); background: rgb(25, 25, 25); padding: 14px 28px; text-decoration: none; transition: opacity 0.3s; }
.btn-note:hover, .btn-youtube:hover { opacity: 0.78; }
@media (max-width: 768px){.showcase-grid { grid-template-columns: 1fr; }.narrative-box { padding: 26px 20px 22px; }}
.almanac-teaser-sect { background: var(--surface); padding: 56px 24px 60px; text-align: center; }
.alt-panel { max-width: 640px; margin: 26px auto 0px; background: var(--bg-alt); border: 1px solid var(--gold-rim); box-shadow: rgba(215, 192, 120, 0.12) 0px 0px 0px 1px inset; padding: 28px 30px; display: flex; align-items: center; gap: 22px; text-align: left; }
.alt-moon-glyph { flex: 0 0 auto; width: 64px; height: 64px; border-radius: 50%; position: relative; display: flex; align-items: center; justify-content: center; overflow: hidden; background: radial-gradient(circle at 34% 28%, rgb(44, 44, 58) 0%, rgb(23, 23, 31) 74%); box-shadow: rgba(215, 192, 120, 0.4) 0px 0px 0px 1px, rgba(0, 0, 0, 0.55) 0px 0px 14px inset; }
.alt-moon-glyph svg { width: 74%; height: auto; display: block; filter: drop-shadow(rgba(240, 228, 168, 0.4) 0px 0px 5px); }
.alt-body { flex: 1 1 0%; min-width: 0px; }
.alt-line { font-size: 0.66rem; letter-spacing: 0.03em; line-height: 1.95; color: var(--ink-mid); margin: 0px 0px 5px; }
.alt-line:last-of-type { margin-bottom: 0px; }
.alt-note { font-size: 0.56rem; letter-spacing: 0.05em; color: var(--ink-muted); margin-top: 11px; }
.almanac-teaser-cta { font-family: var(--font); font-size: 0.7rem; letter-spacing: 0.2em; color: var(--gold-deep); background: transparent; border: 1px solid var(--gold-rim); padding: 12px 26px; cursor: pointer; transition: background .3s var(--ease),color .3s var(--ease); text-decoration: none; display: inline-block; margin-top: 22px; }
.almanac-teaser-cta:hover { background: rgba(215, 192, 120, 0.12); }
@media (max-width: 768px){.alt-panel { flex-direction: column; text-align: center; padding: 26px 22px; }.alt-body { width: 100%; }}
.monsho-teaser-sect { background: var(--bg-alt); padding: 56px 24px 60px; text-align: center; }
.mt-panel { max-width: 640px; margin: 26px auto 0px; background: var(--surface); border: 1px solid var(--gold-rim); box-shadow: rgba(215, 192, 120, 0.12) 0px 0px 0px 1px inset; padding: 28px 30px; display: flex; align-items: center; gap: 22px; text-align: left; }
.mt-crest-glyph { flex: 0 0 auto; width: 64px; height: 64px; }
.mt-crest-glyph svg { width: 100%; height: 100%; display: block; }
.mt-body { flex: 1 1 0%; min-width: 0px; }
.mt-line { font-size: 0.66rem; letter-spacing: 0.03em; line-height: 1.95; color: var(--ink-mid); margin: 0px 0px 5px; }
.mt-note { font-size: 0.56rem; letter-spacing: 0.05em; color: var(--ink-muted); margin-top: 11px; }
@media (max-width: 768px){.mt-panel { flex-direction: column; text-align: center; padding: 26px 22px; }.mt-body { width: 100%; }}
.michibiki-teaser-sect { background: var(--surface); padding: 56px 24px 60px; text-align: center; }
.umare-teaser-sect { background: var(--bg-alt); padding: 56px 24px 60px; text-align: center; }
.mb-teaser-panel { max-width: 640px; margin: 24px auto 0px; background: var(--bg-alt); border: 1px solid var(--gold-rim); box-shadow: rgba(215, 192, 120, 0.12) 0px 0px 0px 1px inset; padding: 24px 30px; text-align: left; }
.um-teaser-panel { max-width: 640px; margin: 24px auto 0px; background: var(--surface); border: 1px solid var(--gold-rim); box-shadow: rgba(215, 192, 120, 0.12) 0px 0px 0px 1px inset; padding: 24px 30px; text-align: left; }
.mb-teaser-line { font-size: 0.66rem; letter-spacing: 0.03em; line-height: 1.95; color: var(--ink-mid); margin: 0px 0px 4px; }
.mb-teaser-line:last-of-type { margin-bottom: 0px; }
.mb-teaser-name { color: var(--ink); letter-spacing: 0.09em; }
.mb-teaser-note, .um-teaser-note { font-size: 0.56rem; letter-spacing: 0.05em; line-height: 1.9; color: var(--ink-muted); margin: 11px 0px 0px; }
.um-teaser-line { font-size: 0.66rem; letter-spacing: 0.03em; line-height: 1.95; color: var(--ink-mid); margin: 0px; }
@media (max-width: 768px){.mb-teaser-panel, .um-teaser-panel { padding: 22px 20px; }}
.relation-preview-sect { background: var(--bg); padding: 60px 24px 64px; text-align: center; }
.rp-scroll { display: block; max-width: 1100px; width: 100%; height: auto; margin: 30px auto 0px; }
.rp-list { display: none; list-style: none; margin: 26px auto 0px; padding: 0px; max-width: 420px; text-align: left; border-left: 1px solid var(--gold-rim); }
.rp-item { position: relative; padding: 2px 0px 24px 26px; }
.rp-item:last-child { padding-bottom: 0px; }
.rp-item::before { content: ""; position: absolute; left: -4px; top: 8px; width: 7px; height: 7px; border-radius: 50%; background: var(--surface); border: 1px solid var(--gold-rim); }
.rp-num { display: block; font-size: 0.6rem; letter-spacing: 0.3em; color: var(--gold-deep); margin-bottom: 4px; }
.rp-name { display: block; font-size: 0.78rem; letter-spacing: 0.1em; color: var(--ink); margin-bottom: 4px; }
.rp-desc { display: block; font-size: 0.64rem; letter-spacing: 0.03em; line-height: 1.85; color: var(--ink-mid); }
.rp-note { font-size: 0.6rem; letter-spacing: 0.05em; color: var(--ink-muted); margin-top: 22px; }
@media (max-width: 768px){.rp-scroll { display: none; }.rp-list { display: block; }}
.rule-fade { width: 64px; height: 1px; margin: 14px auto 24px; background: linear-gradient(90deg,transparent,var(--gold-rim),transparent); }
.ambient-orb { position: absolute; border-radius: 50%; border: 1px solid rgba(215, 192, 120, 0.16); pointer-events: none; }
.price-sect, .stats-sect, .xfollow-sect { position: relative; overflow: hidden; }
.price-orb { width: 34%; padding-bottom: 34%; top: -6%; right: -7%; }
.stats-orb { width: 26%; padding-bottom: 26%; bottom: -10%; left: -6%; }
.xfollow-orb { width: 30%; padding-bottom: 30%; top: -8%; left: -5%; }
.card-accent { box-shadow: rgba(255, 255, 255, 0.5) 0px 0px 0px 1px inset, rgba(0, 0, 0, 0.06) 0px 24px 60px; }
.price-amount.price-amount-pact { font-size: 1.55rem; letter-spacing: 0.62em; padding-left: 0.62em; color: var(--ink-mid); }
.price-amount.price-amount-free { font-size: 1.4rem; letter-spacing: 0.5em; padding-left: 0.5em; color: var(--gold-deep); }
.stat, .record-card { box-shadow: rgba(0, 0, 0, 0.04) 0px 2px 40px; }
.lib-card { position: relative; }
.lib-new { position: absolute; top: 20px; right: 20px; font-size: 0.5rem; letter-spacing: 0.14em; color: var(--gold-deep); border: 1px solid var(--gold-rim); padding: 2px 7px; background: var(--surface); }
.faq-wrap { counter-reset: faqq 0; }
.faq-wrap details { counter-increment: faqq 1; position: relative; }
.faq-wrap summary::before { content: "問 " counter(faqq, decimal-leading-zero) "　"; color: var(--ink-muted); letter-spacing: 0.2em; font-size: 0.85em; }
.dropcap { font-size: 3rem; font-weight: 200; line-height: 0.78; color: var(--ink); float: left; margin: 2px 10px 0px 0px; border-bottom: 1px solid var(--gold-rim); padding-bottom: 3px; }
@media (max-width: 768px){.price-orb, .stats-orb, .xfollow-orb { display: none; }.dropcap { font-size: 2.4rem; margin: 1px 7px 0px 0px; }}
.rite-veil { position: fixed; inset: 0px; z-index: 640; display: none; align-items: center; justify-content: center; overflow: hidden; pointer-events: none; isolation: isolate; }
.rite-veil.active { display: flex; pointer-events: auto; }
html.m-rite-active #tenkeiPwaBanner { visibility: hidden; }
.rv-bg { position: absolute; inset: 0px; opacity: 0; background-color: rgb(9, 9, 14); transition: opacity .4s var(--rite-ease-soft); }
.rite-veil.p-veil .rv-bg, .rite-veil.p-weave .rv-bg, .rite-veil.p-knot .rv-bg, .rite-veil.p-oracle .rv-bg { opacity: 1; background-color: rgb(9, 9, 14); background-image: radial-gradient(ellipse farthest-corner at 50% 76%,rgba(30,26,20,.97) 0%,rgba(var(--rite-night),.99) 45%,rgb(9,9,14) 100%); }
.rite-veil.p-dawn .rv-bg { opacity: 0; transition: opacity .58s var(--rite-ease-soft); }
.rite-sky { position: absolute; inset: 0px; overflow: hidden; }
.rv-star { position: absolute; border-radius: 50%; background: rgb(244, 239, 221); opacity: 0; box-shadow: rgba(244, 239, 221, 0.55) 0px 0px 3px 1px; }
.rite-veil.p-veil .rv-star, .rite-veil.p-weave .rv-star, .rite-veil.p-knot .rv-star, .rite-veil.p-oracle .rv-star { animation: 4s ease-in-out 0s infinite normal none running riteStarTwinkle; }
.rite-veil.p-dawn .rv-star { opacity: 0; transition: opacity .58s var(--rite-ease-soft); }
@keyframes riteStarTwinkle { 
  0%, 100% { opacity: 0.14; }
  50% { opacity: 0.6; }
}
.rv-moon { position: absolute; top: 13%; right: 15%; width: 32px; height: 32px; border-radius: 50%; background: radial-gradient(circle at 35% 35%, rgba(244, 239, 221, 0.95), rgba(244, 239, 221, 0.5) 55%, rgba(244, 239, 221, 0) 78%); box-shadow: inset 9px -3px 0 0 rgba(var(--rite-night),.94); opacity: 0; transform: scale(0.72); }
.rite-veil.p-veil .rv-moon, .rite-veil.p-weave .rv-moon, .rite-veil.p-knot .rv-moon, .rite-veil.p-oracle .rv-moon { opacity: 0.85; transform: scale(1); transition: opacity .85s var(--rite-ease-soft),transform .85s var(--rite-ease-soft); }
.rite-veil.p-dawn .rv-moon { opacity: 0; transform: translateY(-12px) scale(0.85); transition: opacity .58s,transform .58s var(--rite-ease-soft); }
.rv-lantern { position: absolute; left: 50%; border-radius: 50%; transform: translateX(-50%) scale(0.4); opacity: 0; pointer-events: none; }
.rv-lantern .core { position: absolute; inset: 0px; border-radius: 50%; background: radial-gradient(circle, rgb(255, 233, 176) 0%, rgba(233, 183, 90, 0.7) 45%, rgba(233, 183, 90, 0) 76%); }
.rite-veil.p-veil .rv-lantern, .rite-veil.p-weave .rv-lantern, .rite-veil.p-knot .rv-lantern, .rite-veil.p-oracle .rv-lantern { opacity: 1; transform: translateX(-50%) scale(1); transition: opacity .6s var(--rite-ease-soft),transform .6s var(--rite-ease-soft); }
.rite-veil.p-weave .rv-lantern.near { animation: 3s ease-in-out 0s infinite normal none running riteLanternFlicker; }
@keyframes riteLanternFlicker { 
  0%, 100% { filter: brightness(1); }
  50% { filter: brightness(1.14); }
}
.rite-veil.p-dawn .rv-lantern { opacity: 0; transition: opacity .58s var(--rite-ease-soft); }
.rite-veil.p-oracle.rank-SS .rv-lantern .core { background: radial-gradient(circle, rgb(255, 243, 200) 0%, rgba(255, 196, 20, 0.85) 45%, rgba(255, 196, 20, 0) 78%); }
.rite-veil.p-oracle.rank-X .rv-lantern .core { background: radial-gradient(circle, rgb(216, 205, 245) 0%, rgba(140, 120, 220, 0.7) 45%, rgba(140, 120, 220, 0) 78%); }
.rite-threads { position: absolute; inset: 0px; pointer-events: none; }
.rv-thread { position: absolute; left: 50%; bottom: 0px; width: 1.6px; border-radius: 2px; opacity: 0; transform-origin: center bottom; background: linear-gradient(to top, rgba(233, 183, 90, 0) 0%, rgba(233, 183, 90, 0.5) 40%, rgba(255, 236, 190, 0.82) 100%); }
.rite-veil.p-weave .rv-thread { opacity: 0.85; animation: riteThreadRise 2.6s var(--rite-ease-soft) infinite; }
.rite-veil.p-knot .rv-thread, .rite-veil.p-oracle .rv-thread { opacity: 0.4; transition: opacity 0.3s; }
.rite-veil.p-dawn .rv-thread { opacity: 0; transition: opacity 0.58s; }
@keyframes riteThreadRise { 
  0% { transform: scaleY(0.72); }
  50% { transform: scaleY(1); }
  100% { transform: scaleY(0.72); }
}
.rite-presence { position: absolute; top: 12%; left: 50%; width: 130px; height: 130px; transform: translateX(-50%); border-radius: 50%; background: radial-gradient(circle, rgba(255, 225, 170, 0.5) 0%, rgba(255, 225, 170, 0.13) 45%, rgba(255, 225, 170, 0) 72%); mask-image: radial-gradient(circle, rgb(0, 0, 0) 30%, rgba(0, 0, 0, 0) 74%); opacity: 0; filter: blur(2px); }
.rite-veil.p-weave .rite-presence { opacity: 0.55; transition: opacity 2.1s var(--rite-ease-soft); }
.rite-veil.p-knot .rite-presence, .rite-veil.p-oracle .rite-presence { opacity: 0.72; }
.rite-veil.p-oracle .rite-presence { transition: opacity 0.4s; }
.rite-veil.p-dawn .rite-presence { opacity: 0; transition: opacity 0.58s; }
.rite-knot { position: absolute; top: 24%; left: 50%; width: 44px; height: 44px; transform: translate(-50%, -50%) scale(0.227); border-radius: 50%; opacity: 0; pointer-events: none; }
.rv-ring { position: absolute; inset: 0px; border-radius: 50%; border: 1px solid rgba(255, 236, 190, 0.75); }
.rite-veil.p-knot .rite-knot { opacity: 1; animation: riteKnotClose .4s var(--rite-ease-soft) forwards; }
@keyframes riteKnotClose { 
  0% { transform: translate(-50%, -50%) scale(2.5); opacity: 0; }
  60% { opacity: 1; }
  100% { transform: translate(-50%, -50%) scale(1); opacity: 1; }
}
.rite-veil.p-oracle .rite-knot { opacity: 1; transform: translate(-50%, -50%) scale(1); }
.rite-veil.p-oracle.rank-SS .rv-ring { border-color: rgba(255, 208, 60, 0.9); box-shadow: rgba(255, 196, 0, 0.55) 0px 0px 30px 10px; animation: riteBloom .5s var(--rite-ease-soft) both; }
.rite-veil.p-oracle.rank-S .rv-ring { border-color: rgba(218, 180, 60, 0.85); box-shadow: rgba(218, 180, 60, 0.4) 0px 0px 22px 6px; animation: riteBloom .5s var(--rite-ease-soft) both; }
.rite-veil.p-oracle.rank-A .rv-ring { border-color: rgba(120, 120, 190, 0.8); box-shadow: rgba(88, 88, 160, 0.35) 0px 0px 18px 5px; animation: riteBloom .5s var(--rite-ease-soft) both; }
.rite-veil.p-oracle.rank-B .rv-ring, .rite-veil.p-oracle.rank-C .rv-ring, .rite-veil.p-oracle.rank-D .rv-ring { border-color: rgba(224, 214, 190, 0.7); box-shadow: rgba(224, 214, 190, 0.25) 0px 0px 14px 3px; animation: riteBloom .5s var(--rite-ease-soft) both; }
.rite-veil.p-oracle.rank-X .rv-ring { border-color: rgba(150, 138, 230, 0.85); box-shadow: rgba(120, 108, 210, 0.4) 0px 0px 20px 6px; animation: riteBloomDim .5s var(--rite-ease-soft) both; }
@keyframes riteBloom { 
  0% { opacity: 0.5; }
  100% { opacity: 1; }
}
@keyframes riteBloomDim { 
  0%, 100% { opacity: 0.85; }
  50% { opacity: 1; }
}
.rite-veil.p-dawn .rite-knot { opacity: 0; transition: opacity 0.58s; }
.rite-veil.p-oracle.rank-SS .rv-bg::after { content: ""; position: absolute; inset: 0px; background: radial-gradient(120% 65% at 50% 100%, rgba(255, 196, 60, 0.55) 0%, rgba(255, 170, 40, 0.22) 38%, rgba(255, 170, 40, 0) 70%); opacity: 0; animation: riteSSDawnWarm 1.4s var(--rite-ease-soft) forwards; mix-blend-mode: screen; }
@keyframes riteSSDawnWarm { 
  0% { opacity: 0; }
  100% { opacity: 1; }
}
.rite-veil.p-oracle.rank-B .rv-star, .rite-veil.p-oracle.rank-C .rv-star, .rite-veil.p-oracle.rank-D .rv-star { animation-duration: ; animation-timing-function: ; animation-iteration-count: ; animation-direction: ; animation-fill-mode: ; animation-play-state: ; animation-name: ; animation-timeline: ; animation-range-start: ; animation-range-end: ; animation-delay: 0s !important; }
@keyframes riteBCDStarWaken { 
  0% { opacity: 0.14; }
  42% { opacity: 0.5; }
  100% { opacity: 0.14; }
}
.rite-veil.p-oracle.rank-X .rv-bg::after { content: ""; position: absolute; inset: 0px; background: radial-gradient(120% 90%, rgba(6, 5, 10, 0) 30%, rgba(6, 5, 10, 0.55) 100%); opacity: 0; animation: riteXDeepen 1.2s var(--rite-ease-soft) forwards; }
@keyframes riteXDeepen { 
  0% { opacity: 0; }
  100% { opacity: 1; }
}
.rite-veil.p-oracle.rank-X .rite-sky::after { content: ""; position: absolute; top: -6%; left: 63%; width: 2px; height: 34%; background: linear-gradient(rgba(150, 138, 230, 0) 0%, rgba(150, 138, 230, 0.7) 45%, rgba(180, 168, 255, 0.9) 72%, rgba(150, 138, 230, 0) 100%); opacity: 0; transform: translateY(-30%); animation: riteXStreakFall 1.2s var(--rite-ease-soft) forwards; pointer-events: none; }
@keyframes riteXStreakFall { 
  0% { opacity: 0; transform: translateY(-30%); }
  12% { opacity: 0.85; }
  78% { opacity: 0.7; }
  100% { opacity: 0; transform: translateY(230%); }
}
.rite-veil.p-oracle.rank-X .rv-star { animation-play-state: paused; }
@media (prefers-reduced-motion: reduce){.rv-bg::after, .rite-sky::after { animation: auto ease 0s 1 normal none running none !important; transition: none !important; }}
#riteSparkleLayer { position: absolute; inset: 0px; pointer-events: none; overflow: hidden; }
.rite-word { position: absolute; bottom: 15%; left: 50%; transform: translateX(-50%); width: 82%; max-width: 420px; text-align: center; font-family: var(--font); font-size: 0.82rem; letter-spacing: 0.14em; color: rgb(252, 239, 217); opacity: 0; transition: opacity .5s var(--rite-ease-soft); margin: 0px; text-shadow: rgba(0, 0, 0, 0.5) 0px 1px 8px; }
.rite-word.show { opacity: 0.92; }
.rite-skip { position: absolute; bottom: 6%; left: 50%; transform: translateX(-50%); z-index: 641; background: transparent; color: rgba(252, 239, 217, 0.7); border: 1px solid rgba(252, 239, 217, 0.32); border-radius: 20px; padding: 10px 22px; font-family: var(--font); font-size: 0.68rem; letter-spacing: 0.3em; opacity: 0; pointer-events: none; transition: opacity 0.4s, border-color 0.2s, color 0.2s; cursor: pointer; min-height: 44px; min-width: 44px; }
.rite-skip.show { opacity: 1; pointer-events: auto; }
.rite-skip:hover { border-color: rgba(252, 239, 217, 0.7); color: rgb(252, 239, 217); }
.rite-skip:focus-visible { outline: 2px solid var(--gold-rim); outline-offset: 3px; }
@media (prefers-reduced-motion: reduce){.rv-star, .rv-lantern, .rv-thread, .rv-moon, .rite-presence { animation: auto ease 0s 1 normal none running none !important; transition: none !important; }}
@media (max-width: 480px){.rite-presence { width: 100px; height: 100px; }.rv-moon { width: 24px; height: 24px; }}
.rank-score-num { font-variant-numeric: tabular-nums; }
.rite-score-thread { position: relative; display: block; width: 64px; height: 2px; margin: 6px auto 0px; background: rgba(180, 180, 180, 0.25); border-radius: 2px; overflow: hidden; }
.rite-score-thread .fill { position: absolute; left: 0px; top: 0px; bottom: 0px; width: 0%; background: linear-gradient(90deg,rgba(215,192,120,.4),var(--gold-rim)); border-radius: 2px; }
.oracle-card.r-SS .rite-score-thread .fill { background: linear-gradient(90deg, rgba(255, 208, 60, 0.6), rgb(255, 192, 0)); }
.oracle-card.r-X .rite-score-thread .fill { background: linear-gradient(90deg, rgba(140, 128, 230, 0.5), rgba(140, 128, 230, 0.85)); }
.oracle-card.r-D .rite-score-thread { background: rgba(120, 120, 140, 0.25); }
@keyframes riteScorePulse { 
  0% { transform: scale(1); }
  40% { transform: scale(1.06); }
  100% { transform: scale(1); }
}
.rank-score-num.rite-score-pulse { display: inline-block; animation: riteScorePulse .24s var(--ease-soft,ease-out) 1; }
.m-ink-fade { opacity: 0; transition: opacity .5s var(--ease-soft,ease-out); }
.m-ink-fade.m-ink-done { opacity: 1; }
.oc-scene-band { position: relative; overflow: hidden; height: 150px; margin: -36px -44px 22px; background-size: cover; background-position: center 42%; background-repeat: no-repeat; background-color: var(--bg-alt); }
.oc-scene-band::after { content: ""; position: absolute; inset: 0px; pointer-events: none; background: linear-gradient(180deg,rgba(0,0,0,0) 52%, var(--surface) 100%); }
.oracle-card.r-S .oc-scene-band::after, .oracle-card.r-SS .oc-scene-band::after { background: linear-gradient(rgba(0, 0, 0, 0) 46%, rgb(251, 244, 222) 100%); }
.oracle-card.r-A .oc-scene-band::after { background: linear-gradient(rgba(0, 0, 0, 0) 48%, rgb(252, 251, 248) 100%); }
.oracle-card.r-B .oc-scene-band::after { background: linear-gradient(rgba(0, 0, 0, 0) 50%, rgb(254, 252, 245) 100%); }
.oracle-card.r-C .oc-scene-band::after { background: linear-gradient(rgba(0, 0, 0, 0) 50%, rgb(242, 242, 242) 100%); }
.oracle-card.r-D .oc-scene-band::after { background: linear-gradient(rgba(0, 0, 0, 0) 40%, rgb(42, 42, 46) 100%); }
.oracle-card.r-X .oc-scene-band::after { background: linear-gradient(rgba(0, 0, 0, 0) 36%, rgb(5, 5, 8) 100%); }
@media (max-width: 520px){.oc-scene-band { height: 112px; margin: -32px -20px 18px; }}
.oc-scene-band::before { content: ""; position: absolute; inset: 0px; pointer-events: none; opacity: 0; z-index: 1; }
.oracle-card.r-SS.reveal-play .oc-scene-band::before { background: radial-gradient(120% 90% at 50% 30%, rgba(255, 214, 120, 0.85) 0%, rgba(255, 190, 60, 0.4) 30%, rgba(255, 180, 40, 0) 68%); mix-blend-mode: screen; animation: sceneBandDawnSweep 1.7s var(--ease-soft,ease-out) .5s 1 both; }
.oracle-card.r-S.reveal-play .oc-scene-band::before { background: radial-gradient(110% 85% at 50% 30%, rgba(255, 236, 190, 0.65) 0%, rgba(230, 196, 110, 0.28) 34%, rgba(230, 196, 110, 0) 66%); mix-blend-mode: screen; animation: sceneBandDawnSweep 1.5s var(--ease-soft,ease-out) .5s 1 both; }
.oracle-card.r-X.reveal-play .oc-scene-band::before { background: radial-gradient(110% 85% at 50% 30%, rgba(170, 150, 240, 0.55) 0%, rgba(120, 105, 210, 0.26) 34%, rgba(120, 105, 210, 0) 66%); mix-blend-mode: screen; animation: sceneBandDawnSweep 1.5s var(--ease-soft,ease-out) .5s 1 both; }
@keyframes sceneBandDawnSweep { 
  0% { opacity: 0; }
  38% { opacity: 1; }
  100% { opacity: 0; }
}
@media (prefers-reduced-motion: reduce){.oracle-card.r-SS .oc-scene-band::before, .oracle-card.r-S .oc-scene-band::before, .oracle-card.r-X .oc-scene-band::before { display: none !important; }}
.oc-gauge { display: flex; align-items: center; justify-content: center; gap: 10px; margin: 8px auto 0px; max-width: 360px; }
.oc-gauge-label { font-size: 0.54rem; font-weight: 300; letter-spacing: 0.3em; color: var(--ink-muted); white-space: nowrap; flex-shrink: 0; }
.oracle-card.r-S .oc-gauge-label, .oracle-card.r-SS .oc-gauge-label { color: rgb(138, 109, 46); }
.oracle-card.r-A .oc-gauge-label { color: rgb(88, 88, 160); }
.oracle-card.r-X .oc-gauge-label { color: rgb(120, 112, 168); }
.oracle-card.r-D .oc-gauge-label { color: rgb(128, 128, 144); }
.oracle-card.r-X .oc-gauge { display: none; }
.rite-score-thread { position: relative; display: block; width: min(58vw, 230px); height: 3px; margin: 0px; background: rgba(180, 180, 180, 0.28); border-radius: 2px; overflow: visible; }
.rite-score-thread .mark { position: absolute; top: 50%; left: 0%; width: 6px; height: 6px; transform: translate(-50%, -50%) rotate(45deg); background: var(--gold-rim); pointer-events: none; }
.oracle-card.r-SS .rite-score-thread .mark { background: rgb(255, 192, 0); }
.oracle-card.r-X .rite-score-thread .mark { background: rgba(140, 128, 230, 0.9); }
.oracle-card.r-D .rite-score-thread .mark { background: rgba(160, 160, 180, 0.85); }
.oc-threshold { position: relative; overflow: hidden; height: 52px; max-width: 580px; margin: 16px auto 20px; background: linear-gradient(90deg, transparent, rgba(120, 100, 40, 0.06) 22%, rgba(120, 100, 40, 0.1) 50%, rgba(120, 100, 40, 0.06) 78%, transparent); border-top: 1px solid var(--gold-rim); border-bottom: 1px solid var(--gold-rim); }
.oc-threshold canvas.hx-sky { opacity: 0.32 !important; mix-blend-mode: multiply; }
@media (max-width: 520px){.oc-threshold { height: 40px; margin: 14px auto 16px; }}
.oc-presence-nook { position: relative; min-height: 150px; margin-top: 10px; }
.field input::placeholder { color: rgb(110, 110, 110); }
.xcard-url { color: rgb(156, 146, 113); }
.xfollow-sect .xcard-body { color: rgb(207, 201, 188); }
.sect-tag { font-size: clamp(0.62rem, 0.58rem + 0.16vw, 0.68rem); letter-spacing: 0.44em; }
.sect-lead { font-size: clamp(0.74rem, 0.68rem + 0.28vw, 0.82rem); }
.f-copy, .disclaimer-note { font-size: clamp(0.62rem, 0.58rem + 0.14vw, 0.66rem); }
.divination-intro { font-size: clamp(0.76rem, 0.68rem + 0.3vw, 0.84rem); }
.showcase-note, .showcase-cta-note, .words-note, .alt-note, .rp-note, .record-note, .intro-note, .trial-badge { font-size: clamp(0.64rem, 0.6rem + 0.16vw, 0.7rem); }
.scroll-cue { display: none; }
@media (prefers-reduced-motion: no-preference){.btn-primary:hover { transform: translateY(-1px); }.btn-secondary:hover { border-color: var(--gold-rim); color: var(--ink); background: rgba(215, 192, 120, 0.08); }.lib-card, .sns-card { transition: transform .5s var(--ease-soft),box-shadow .5s var(--ease-soft); }.lib-card:hover, .sns-card:hover { transform: translateY(-2px); }.reveal .rule-fade { transform: scaleX(0.18); opacity: 0; transform-origin: center center; transition: transform 1.1s var(--ease-reveal),opacity .9s var(--ease-reveal); }.reveal.in .rule-fade { transform: scaleX(1); opacity: 1; }#accessGateMsg { animation: gateBreath 2.6s var(--ease-soft) infinite; }@keyframes gateBreath { 
  0%, 100% { opacity: 0.55; }
  50% { opacity: 1; }
}}
@media (prefers-reduced-motion: reduce){.reveal .rule-fade, .reveal.in .rule-fade { transform: none !important; opacity: 1 !important; }#accessGateMsg { opacity: 1 !important; }}
nav a { white-space: nowrap; }
@media (max-width: 899px){nav { display: none; }}
@media (min-width: 900px){.hamburger { display: none !important; }header { padding: 14px 20px; }nav { display: flex; flex-wrap: nowrap; gap: 14px; }nav a, nav .nav-drop-btn { letter-spacing: 0.1em; font-size: 0.585rem; }}
@media (min-width: 1200px){header { padding: 15px 32px; }nav { gap: 20px; }nav a, nav .nav-drop-btn { letter-spacing: 0.18em; font-size: 0.61rem; }}
@media (min-width: 1440px){header { padding: 15px 48px; }nav { gap: 28px; }nav a, nav .nav-drop-btn { letter-spacing: 0.26em; font-size: 0.64rem; }}
.nav-drop { position: relative; display: flex; align-items: center; }
.nav-drop-btn { display: inline-flex; align-items: center; gap: 0.5em; margin: 0px; padding: 0px; background: none; border: 0px; border-radius: 0px; cursor: pointer; appearance: none; font-family: inherit; font-weight: inherit; line-height: inherit; font-size: 0.62rem; letter-spacing: 0.3em; color: rgb(59, 59, 59); white-space: nowrap; }
.nav-drop-btn:hover, .nav-drop.open > .nav-drop-btn { color: rgb(111, 90, 22); }
.nav-drop-caret { position: relative; display: inline-block; flex: 0 0 auto; width: 9px; height: 9px; font-size: 0px; line-height: 0; transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1); }
.nav-drop-caret::before { content: ""; position: absolute; left: 1px; top: 0px; width: 5px; height: 5px; border-right: 1px solid; border-bottom: 1px solid; transform: rotate(45deg); opacity: 0.72; }
.nav-drop.open > .nav-drop-btn .nav-drop-caret { transform: rotate(180deg); }
.nav-drop-panel { position: absolute; top: calc(100% + 15px); left: 50%; transform: translateX(-50%) translateY(-7px); min-width: 212px; max-width: calc(-32px + 100vw); padding: 2px 0px 0px; z-index: 12; background: linear-gradient(rgb(247, 246, 244) 0%, rgb(237, 236, 232) 100%); border: 1px solid rgba(215, 192, 120, 0.42); box-shadow: rgba(60, 50, 20, 0.16) 0px 14px 34px, rgba(255, 255, 255, 0.72) 0px 1px 0px inset; opacity: 0; visibility: hidden; pointer-events: none; transition: opacity 0.26s, transform 0.26s cubic-bezier(0.4, 0, 0.2, 1), visibility linear 0.26s; }
.nav-drop.open > .nav-drop-panel { opacity: 1; visibility: visible; pointer-events: auto; transform: translateX(-50%) translateY(0px); transition-delay: 0s; }
.nav-drop-panel::before { content: ""; position: absolute; left: 0px; right: 0px; top: -16px; height: 16px; }
.nav-drop-panel a { display: block; padding: 11px 22px; font-size: 0.6rem; letter-spacing: 0.26em; line-height: 1.5; color: rgb(42, 42, 42); text-decoration: none; white-space: nowrap; border-bottom: 1px solid rgba(168, 168, 168, 0.26); transition: color 0.2s, background 0.2s; }
.nav-drop-panel a:last-of-type { border-bottom-width: medium; border-bottom-style: none; border-bottom-color: currentcolor; }
.nav-drop-panel a:hover, .nav-drop-panel a:focus-visible { color: rgb(111, 90, 22); background: rgba(215, 192, 120, 0.13); }
.nav-drop-note { margin: 0px; padding: 10px 22px 12px; font-size: 0.55rem; letter-spacing: 0.13em; line-height: 1.85; color: rgb(79, 79, 79); border-top: 1px solid rgba(215, 192, 120, 0.42); background: rgba(215, 192, 120, 0.05); }
.mobile-menu { max-height: calc(-56px + 100vh); overflow-y: auto; overscroll-behavior: contain; }
.mobile-menu a { position: relative; }
.mm-group { display: block; padding: 16px 28px 9px; font-size: 0.6rem; letter-spacing: 0.42em; color: rgb(111, 90, 22); border-top: 1px solid rgba(215, 192, 120, 0.42); border-bottom: 1px solid rgba(168, 168, 168, 0.24); background: rgba(215, 192, 120, 0.07); }
.mobile-menu .mm-group ~ a { padding-left: 46px; color: rgb(59, 59, 59); }
.mobile-menu .mm-group ~ a::before { content: ""; position: absolute; left: 28px; top: 50%; width: 9px; height: 1px; background: rgba(215, 192, 120, 0.75); transform: translateY(-50%); }
.mm-note { margin: 0px; padding: 12px 28px 13px; font-size: 0.62rem; letter-spacing: 0.13em; line-height: 1.8; color: rgb(79, 79, 79); background: rgba(215, 192, 120, 0.05); border-bottom: 1px solid rgba(168, 168, 168, 0.32); }
.mobile-menu .mm-note ~ a { padding-left: 28px; color: rgb(42, 42, 42); }
.mobile-menu .mm-note ~ a::before { content: none; }
footer { flex-wrap: wrap; }
footer > .f-copy:first-child { text-align: center; font-size: 0.58rem; letter-spacing: 0.24em; line-height: 2; color: var(--ink-mid); }
footer > .f-copy:first-child a { color: inherit; }
footer > .f-copy:first-child a:hover { color: rgb(111, 90, 22); }
footer > .f-copy:first-child a.f-contact-link { color: rgb(111, 90, 22); }
@media (min-width: 769px){footer > .f-copy:first-child { flex: 0 0 100%; padding-bottom: 13px; margin-bottom: 5px; border-bottom: 1px solid var(--gold-rim); }}
@media (prefers-reduced-motion: reduce){.nav-drop-panel, .nav-drop-caret { transition: none; }}
.gate-sect { background: var(--surface); padding: 56px 24px 60px; text-align: center; }
.gate-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; max-width: 1120px; margin: 28px auto 0px; text-align: left; }
.gate-card { display: flex; flex-direction: column; background: var(--bg-alt); border: 1px solid var(--silver-lt); box-shadow: rgba(215, 192, 120, 0.1) 0px 0px 0px 1px inset; padding: 20px 18px 18px; }
.gate-card .gc-tag { font-size: 0.46rem; letter-spacing: 0.16em; color: var(--ink-muted); text-transform: uppercase; margin: 0px 0px 7px; }
.gate-card .gc-name { font-size: 0.86rem; font-weight: 400; letter-spacing: 0.18em; color: var(--ink-mid); margin: 0px 0px 10px; }
.gate-card .gc-line { font-size: 0.62rem; letter-spacing: 0.02em; line-height: 1.9; color: var(--ink-mid); margin: 0px; }
.gate-card .gc-note { font-size: 0.56rem; letter-spacing: 0.02em; line-height: 1.85; color: var(--ink-muted); margin: 10px 0px 14px; }
.gate-card .alt-panel, .gate-card .mt-panel { margin: 12px 0px 14px; max-width: none; padding: 12px 13px 10px; gap: 11px; }
.gate-card .alt-moon-glyph, .gate-card .mt-crest-glyph { width: 42px; height: 42px; flex: 0 0 42px; }
.gate-card .alt-line, .gate-card .mt-line { font-size: 0.6rem; line-height: 1.85; }
.gate-card .alt-note, .gate-card .mt-note { font-size: 0.53rem; line-height: 1.8; }
.gate-card .gc-cta { margin-top: auto; align-self: flex-start; padding: 13px 24px; }
.gate-card .mt-panel.mp-paths { display: block; }
.gate-card .mp-paths-item { padding: 6px 0px 6px 12px; border-left: 2px solid var(--gold-rim); font-size: 0.6rem; letter-spacing: 0.02em; line-height: 1.7; color: var(--ink-mid); margin: 0px; }
.gate-card .mp-paths-item + .mp-paths-item { margin-top: 7px; }
#umareTeaser .mt-panel { min-height: 118px; }
.sc-door-grid--7 { grid-template-columns: repeat(4, 1fr); max-width: 1120px; }
.showcase-grid .sc-card:nth-of-type(7)::before { background-image: url("../images/kago/door_toi_1200x800.webp"); background-position: center 55%; }
#preview .showcase-narrative { margin-top: 22px; }
#preview .showcase-grid { margin-top: 22px; }
.words-grid--solo { grid-template-columns: 1fr; max-width: 720px; margin: 22px auto 0px; }
.stats-band { position: relative; display: flex; justify-content: center; margin: 22px auto 0px; max-width: 860px; }
.stats-band .stats-grid { margin: 0px; grid-template-columns: repeat(3, 1fr); gap: 14px; max-width: none; width: 100%; }
.rp-compact { margin: 18px auto 0px; max-width: 860px; font-size: 0.58rem; letter-spacing: 0.06em; line-height: 2; color: var(--ink-muted); }
.rp-compact span { display: block; margin: 0.35em 0px 0px; white-space: normal; }
.price-wrap { position: relative; margin: 22px auto 0px; max-width: 520px; scroll-margin-top: 96px; }
#preview .showcase-note { margin-top: 20px; }
.sub-head { font-size: 0.56rem; letter-spacing: 0.24em; color: var(--ink-muted); margin: 6px 0px 2px; }
.sub-head--2nd { margin-top: 30px; }
.divination-fallback { font-size: 0.62rem; letter-spacing: 0.04em; color: var(--ink-muted); margin: 10px 0px 0px; }
@media (max-width: 899px){.gate-grid { grid-template-columns: repeat(2, 1fr); max-width: 640px; }.sc-door-grid--7 { grid-template-columns: repeat(2, 1fr); }.stats-band .stats-grid { grid-template-columns: repeat(3, 1fr); gap: 8px; }.stats-band .stat { padding: 14px 6px; }.stats-band .num { font-size: 1.05rem; }.stats-band .lbl { font-size: 0.5rem; line-height: 1.7; }}
@media (max-width: 560px){.gate-grid { grid-template-columns: 1fr; max-width: 420px; }}
.oc-record-block { margin: 26px auto 0px; max-width: 560px; text-align: center; }
.oc-record-block .record-grid { margin: 14px auto 0px; }
.oc-share-note { font-size: 0.58rem; letter-spacing: 0.04em; line-height: 1.9; color: var(--ink-muted); margin: 12px 0px 0px; }
@media (min-width: 769px){.hero { min-height: 96vh; }}
.showcase-sect, .almanac-teaser-sect, .monsho-teaser-sect, .words-sect, .story-sect, .library-sect { background-repeat: no-repeat; background-size: cover; background-position: center center; background-attachment: fixed; position: relative; }
.showcase-sect { background-image: linear-gradient(180deg, var(--scrim-alt), rgba(238,237,234,.96) 40%, var(--scrim-alt)),
    url("../images/index/scene-colonnade_20260916.webp"); }
.almanac-teaser-sect { background-image: linear-gradient(180deg, var(--scrim), rgba(247,246,244,.955) 45%, var(--scrim)),
    url("../images/scene-water.webp"); }
.monsho-teaser-sect { background-image: linear-gradient(180deg, var(--scrim-deep), rgba(233,232,229,.955) 45%, var(--scrim-deep)),
    url("../images/scene-doors.webp"); }
.words-sect { background-image: linear-gradient(rgba(240, 239, 236, 0.957), rgba(240, 239, 236, 0.976) 45%, rgba(240, 239, 236, 0.957)), url("../images/scene-moonlit.webp"); }
.story-sect { background-image: linear-gradient(180deg, var(--scrim), rgba(247,246,244,.96) 45%, var(--scrim)),
    url("../images/index/scene-desk_20260916.webp"); }
.library-sect { background-image: linear-gradient(180deg, var(--scrim), rgba(247,246,244,.955) 45%, var(--scrim)),
    url("../images/scene-library.webp"); }
.showcase-sect, .monsho-teaser-sect, .story-sect { padding-bottom: 172px; }
.showcase-sect::after, .monsho-teaser-sect::after, .story-sect::after { content: ""; position: absolute; left: 0px; right: 0px; bottom: -1px; height: 104px; background: url("../images/sanctuary-band.webp") center bottom / 130% no-repeat; opacity: 0.42; pointer-events: none; }
.sc-card::before { content: ""; display: block; width: calc(100% + 36px); margin: -20px -18px 14px; aspect-ratio: 16 / 7; background-size: cover; background-position: center center; background-repeat: no-repeat; border-bottom: 1px solid var(--silver-lt); }
.showcase-grid .sc-card:nth-of-type(1)::before { background-image: url("../images/kago/door_kantei_1200x800.webp"); background-position: center 60%; }
.showcase-grid .sc-card:nth-of-type(2)::before { background-image: url("../images/kago/door_weekly_1200x800.webp"); }
.showcase-grid .sc-card:nth-of-type(3)::before { background-image: url("../images/kago/door_moon_1200x800.webp"); background-position: center top; }
.showcase-grid .sc-card:nth-of-type(4)::before { background-image: url("../images/kago/door_aisho_1200x800.webp"); }
.showcase-grid .sc-card:nth-of-type(5)::before { background-image: url("../images/kago/door_fumibako_1200x800.webp"); }
.showcase-grid .sc-card:nth-of-type(6)::before { background-image: url("../images/kago/door_kiroku_1200x800.webp"); background-position: center top; }
.almanac-teaser-sect .alt-panel, .monsho-teaser-sect .alt-panel { background-color: rgba(247, 246, 244, 0.92); backdrop-filter: blur(2px); }
@media (max-width: 900px){.showcase-sect::after, .monsho-teaser-sect::after, .story-sect::after { display: none; }.sc-card::before { display: none; }.showcase-sect, .monsho-teaser-sect, .story-sect { padding-bottom: 118px; }.showcase-sect::after, .monsho-teaser-sect::after, .story-sect::after { height: 70px; }}
@media (prefers-reduced-motion: reduce){.hero, .showcase-sect, .almanac-teaser-sect, .monsho-teaser-sect, .words-sect, .story-sect, .library-sect { background-attachment: scroll !important; }}
.sc-door { text-decoration: none; color: inherit; cursor: pointer; transition: transform .3s var(--ease),box-shadow .3s var(--ease); }
.sc-door:hover, .sc-door:focus-visible { transform: translateY(-3px); box-shadow: rgba(25, 25, 25, 0.1) 0px 10px 30px; outline: none; }
.sc-door:focus-visible { box-shadow: 0 0 0 2px var(--gold-rim),0 10px 30px rgba(25,25,25,.10); }
.sc-door-arrow { display: block; margin-top: 14px; font-size: 0.58rem; letter-spacing: 0.14em; color: var(--gold-deep); }
.showcase-shelf-lead { max-width: 640px; margin: 22px auto 0px; text-align: center; font-size: 0.66rem; letter-spacing: 0.05em; line-height: 1.9; color: var(--ink-muted); }
.showcase-shelf-more { display: inline-block; margin-top: 22px; font-size: 0.66rem; letter-spacing: 0.16em; color: var(--gold-deep); text-decoration: none; border-bottom: 1px solid var(--gold-rim); padding-bottom: 2px; }
.showcase-shelf-more:hover, .showcase-shelf-more:focus-visible { color: var(--ink); }
.kantei-summary-theme { font-size: 0.62rem; letter-spacing: 0.2em; color: var(--gold-deep); margin: 0px 0px 8px; }
.kantei-summary-line { font-size: 0.78rem; font-weight: 300; letter-spacing: 0.04em; line-height: 2; color: var(--ink-mid); margin: 0px; }
.kantei-summary-link, .weekly-summary-link { display: inline-block; margin-top: 12px; font-size: 0.64rem; letter-spacing: 0.1em; color: var(--gold-deep); text-decoration: none; border-bottom: 1px solid var(--gold-rim); padding-bottom: 2px; }
.kantei-summary-link:hover, .kantei-summary-link:focus-visible, .weekly-summary-link:hover, .weekly-summary-link:focus-visible { color: var(--ink); }
.almanac-invite { max-width: 36em; margin: 14px auto 0px; text-align: center; font-size: 0.62rem; letter-spacing: 0.03em; line-height: 1.9; color: var(--ink-muted); }
.almanac-invite a { color: var(--gold-deep); text-decoration: none; border-bottom: 1px solid var(--gold-rim); padding-bottom: 1px; }
.almanac-invite a:hover, .almanac-invite a:focus-visible { color: var(--ink); }
.hero-member-quicklink { max-width: 960px; margin: 0px auto; padding: 14px 24px 0px; text-align: center; font-size: 0.68rem; letter-spacing: 0.06em; color: var(--ink-muted); }
.hero-member-quicklink a { color: var(--gold-deep); text-decoration: none; border-bottom: 1px solid var(--gold-rim); padding-bottom: 1px; }
.hero-member-quicklink a:hover, .hero-member-quicklink a:focus-visible { color: var(--ink); }
.hx-night-invite { background: var(--night-bg, #14161B); border: 1px solid var(--night-gold-rim, rgba(215,192,120,.32)); border-radius: 0px; padding: 24px; margin-top: 20px; max-height: 120px; text-align: center; }
.hx-night-invite p { color: var(--night-ink, #E9E6DE); font-size: 0.9375rem; margin: 0px 0px 10px; }
.hx-night-invite a { color: var(--night-gold-lt, #D7C078); text-decoration: none; letter-spacing: 0.05em; }
.hx-night-invite a:hover, .hx-night-invite a:focus-visible { text-decoration: underline; }
@supports (animation-timeline: scroll()){@keyframes hx-hero-sky { 
  0% { background-color: rgb(236, 231, 222); }
  100% { background-color: rgb(221, 217, 210); }
}@keyframes hx-veil-lift { 
  0% { opacity: 0.72; }
  100% { opacity: 1; }
}.showcase-sect, .almanac-teaser-sect, .monsho-teaser-sect, .words-sect, .story-sect, .library-sect { animation-duration: auto; animation-timing-function: linear; animation-delay: 0s; animation-iteration-count: 1; animation-direction: normal; animation-fill-mode: both; animation-play-state: running; animation-name: hx-veil-lift; animation-timeline: view(); animation-range: entry entry 60%; }}
@media (prefers-reduced-motion: reduce){.hero, .showcase-sect, .almanac-teaser-sect, .monsho-teaser-sect, .words-sect, .story-sect, .library-sect, .hx-sda-lift { animation: auto ease 0s 1 normal none running none !important; }}
body.night { --bg: var(--night-bg); --bg-alt: var(--night-bg-alt); --surface: var(--night-surface); --ink: var(--night-ink); --ink-mid: var(--night-ink); --ink-muted: var(--night-ink-muted); --gold: var(--night-gold); --gold-lt: var(--night-gold-lt); --gold-deep: var(--night-gold); --gold-rim: var(--night-gold-rim); --silver: var(--night-ink-muted); --silver-lt: var(--night-gold-rim); background: var(--bg); color: var(--ink); }
body.night .nav-drop-panel { background: linear-gradient(180deg,var(--night-surface) 0%,var(--night-bg-alt) 100%); border-color: var(--night-gold-rim); box-shadow: rgba(0, 0, 0, 0.45) 0px 14px 34px, rgba(255, 255, 255, 0.04) 0px 1px 0px inset; }
body.night .nav-drop-panel a { color: var(--night-ink-muted); border-bottom-color: rgba(215, 192, 120, 0.16); }
body.night .nav-drop-panel a:hover, body.night .nav-drop-panel a:focus-visible { color: var(--night-gold-lt); background: rgba(215, 192, 120, 0.1); }
body.night .nav-drop-note { color: var(--night-ink-muted); border-top-color: var(--night-gold-rim); background: rgba(215, 192, 120, 0.06); }
.hx-threshold { height: 1px; background: var(--night-gold-lt); transform-origin: center center; animation: 0.9s ease-out 0s 1 normal both running hxThresholdIn; }
@keyframes hxThresholdIn { 
  0% { transform: scaleX(0); }
  100% { transform: scaleX(1); }
}
@media (prefers-reduced-motion: reduce){.hx-threshold { animation: auto ease 0s 1 normal none running none; }}
body.night::before { content: ""; position: fixed; inset: 0px; z-index: 0; pointer-events: none; background-image: radial-gradient(circle, rgba(233, 230, 222, 0.32) 0px, rgba(233, 230, 222, 0.32) 1px, transparent 1.6px), radial-gradient(circle, rgba(215, 192, 120, 0.3) 0px, rgba(215, 192, 120, 0.3) 1px, transparent 1.6px), radial-gradient(circle, rgba(233, 230, 222, 0.28) 0px, rgba(233, 230, 222, 0.28) 1px, transparent 1.6px), radial-gradient(circle, rgba(233, 230, 222, 0.3) 0px, rgba(233, 230, 222, 0.3) 1px, transparent 1.6px), radial-gradient(circle, rgba(215, 192, 120, 0.26) 0px, rgba(215, 192, 120, 0.26) 1px, transparent 1.6px), radial-gradient(circle, rgba(233, 230, 222, 0.32) 0px, rgba(233, 230, 222, 0.32) 1px, transparent 1.6px), radial-gradient(circle, rgba(233, 230, 222, 0.28) 0px, rgba(233, 230, 222, 0.28) 1px, transparent 1.6px), radial-gradient(circle, rgba(215, 192, 120, 0.24) 0px, rgba(215, 192, 120, 0.24) 1px, transparent 1.6px); background-size: 480px 480px, 620px 620px, 390px 390px, 710px 710px, 540px 540px, 330px 330px, 660px 660px, 470px 470px; background-position: 8% 12%, 22% 64%, 41% 30%, 58% 78%, 67% 18%, 79% 52%, 88% 8%, 93% 88%; background-repeat: repeat; opacity: 0.34; animation: 16s ease-in-out 0s infinite normal none running hxStipple; }
@keyframes hxStipple { 
  0%, 100% { opacity: 0.28; }
  50% { opacity: 0.4; }
}
@media (prefers-reduced-motion: reduce){body.night::before { animation: auto ease 0s 1 normal none running none; opacity: 0.34; }}
body[data-koku="asa"] { --bg: #E9E7E1; --bg-alt: #E9E7E1; --surface: #F7F6F4; --ink: #191919; --ink-muted: #5F5F5F; --gold: #6F5A16; --gold-lt: #83691E; background: var(--bg); color: var(--ink); }
body[data-koku="hiru"] { --bg: #DDDDDB; --bg-alt: #E6E5E2; --surface: #F7F6F4; --ink: #191919; --ink-muted: #5F5F5F; --gold: #6F5A16; --gold-lt: #83691E; background: var(--bg); color: var(--ink); }
body[data-koku="yu"] { --bg: #E5DDD3; --bg-alt: #E5DDD3; --surface: #F3EFE9; --ink: #191919; --ink-muted: #5F5F5F; --gold: #6E5311; --gold-lt: #6E5311; background: var(--bg); color: var(--ink); }
body[data-koku="yoru"] { --bg: var(--night-bg); --bg-alt: var(--night-bg-alt); --surface: var(--night-surface); --ink: var(--night-ink); --ink-muted: var(--night-ink-muted); --gold: var(--night-gold); --gold-lt: var(--night-gold-lt); --gold-rim: var(--night-gold-rim); background: var(--bg); color: var(--ink); }
.art-slot { position: relative; overflow: hidden; aspect-ratio: var(--ratio, 3/2); background: var(--night-surface); }
.art-slot img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: var(--focus, 50% 50%); }
.art-slot--bare img { filter: saturate(0.94); }
.art-slot--bare { border-radius: var(--ext-radius-paper); box-shadow: var(--ext-frame-ring), 0 16px 48px rgba(25,25,25,.12); }
.art-slot--bare .art-veil { position: absolute; inset: 0px; box-shadow: rgba(25, 25, 25, 0.1) 0px 0px 40px inset; pointer-events: none; }
.art-slot--paper img { filter: grayscale(100%) sepia(14%) brightness(104%) contrast(88%) saturate(90%); }
.art-slot--paper .art-veil { position: absolute; inset: 0px; background: rgba(247, 246, 244, 0.2); pointer-events: none; }
.art-slot--candle img { filter: brightness(0.82) contrast(0.94) saturate(0.88) sepia(6%); }
.art-slot--candle.art-slot--sat92 img { filter: brightness(0.82) contrast(0.94) saturate(0.92) sepia(6%); }
.art-slot--candle { border-top-color: ; border-top-style: ; border-top-width: ; border-right-color: ; border-right-style: ; border-right-width: ; border-bottom-color: ; border-bottom-style: ; border-bottom-width: ; border-left-color: ; border-left-style: ; border-left-width: ; border-image: linear-gradient(135deg, rgba(215, 192, 120, 0.5), rgba(215, 192, 120, 0.14) 40%, rgba(215, 192, 120, 0.14) 60%, rgba(215, 192, 120, 0.5)) 1 / 1 / 0 stretch; }
.art-slot--candle .art-veil { position: absolute; inset: 0px; box-shadow: rgba(10, 11, 14, 0.42) 0px 0px 56px inset; pointer-events: none; }
.art-slot--curtain .art-veil { position: absolute; inset: 0px; background: linear-gradient(rgba(20, 22, 27, 0.2) 0%, rgba(20, 22, 27, 0.44) 55%, rgba(20, 22, 27, 0.78) 100%); pointer-events: none; }
.art-slot--curtain { mask-image: linear-gradient(transparent 0%, rgb(0, 0, 0) 12%, rgb(0, 0, 0) 88%, transparent 100%); }
.art-slot--band { mask-image: linear-gradient(transparent 0%, rgb(0, 0, 0) 12%, rgb(0, 0, 0) 88%, transparent 100%); }
.hx-scrim { position: absolute; inset: 0px; z-index: var(--ext-z-scrim); pointer-events: none; }
.hx-scrim--dark-body { background: linear-gradient(to top, rgba(10, 11, 14, 0.68) 0%, transparent 70%); }
.hx-scrim--dark-heading { background: linear-gradient(to top, rgba(10, 11, 14, 0.58) 0%, transparent 60%); }
.hx-figure__caption { position: absolute; left: 0px; right: 0px; bottom: 0px; z-index: var(--ext-z-caption); padding: 16px 20px; color: var(--night-ink); font-family: var(--font); font-size: 1.0625rem; font-weight: 500; }
.hx-band-caption { text-align: center; padding: 24px 16px 0px; }
.hx-band-caption__eyebrow { font-size: 0.75rem; letter-spacing: 0.32em; color: var(--gold); text-transform: uppercase; }
.hx-band-caption__title { font-family: var(--font); font-weight: 500; letter-spacing: 0.14em; font-size: clamp(1.75rem, 1.35rem + 1.9vw, 2.625rem); color: var(--ink); margin: 8px 0px; }
.hx-band-caption--compact .hx-band-caption__title { font-size: clamp(1.5rem, 1.2rem + 1.5vw, 2.25rem); }
.hx-band-caption__lead { color: var(--ink-muted); font-size: 1rem; max-width: 38em; margin: 0px auto; }
.hx-door { display: block; min-height: 88px; text-decoration: none; color: inherit; background: var(--surface); border-radius: var(--ext-radius-card); box-shadow: var(--ext-frame-ring), var(--ext-e-night1); overflow: hidden; transition: transform var(--m-dur-fast,.24s) cubic-bezier(.4,0,.2,1),
             box-shadow var(--m-dur-fast,.24s) cubic-bezier(.4,0,.2,1); }
.hx-door .art-slot { border-radius: 0px; }
.hx-door:hover, .hx-door:focus-visible { transform: translateY(-2px); box-shadow: var(--ext-frame-ring), var(--ext-e-night2); }
.hx-door:focus-visible { outline: 2px solid var(--gold); outline-offset: 2px; }
.hx-door__body { padding: 20px; }
.hx-door__name { font-family: var(--font); font-weight: 500; letter-spacing: 0.14em; font-size: clamp(1.25rem, 1.05rem + 0.9vw, 1.5rem); color: var(--ink); margin: 0px 0px 8px; }
.hx-door__desc { color: var(--ink-muted); font-size: 0.9375rem; max-width: 22em; margin: 0px 0px 12px; }
.hx-door__state { display: flex; align-items: center; gap: 6px; font-size: 0.875rem; color: var(--ink-muted); min-height: 1.2em; }
.hx-door__state:empty::before { content: ""; display: block; width: 26px; height: 1px; background: var(--gold-rim); opacity: 0.55; }
.hx-door__lit-dot { width: 6px; height: 6px; border-radius: 50%; background: var(--gold-lt); flex-shrink: 0; animation: 2.4s ease-in-out 0s infinite normal none running hxLitPulse; }
.hx-door__state--locked { color: var(--gold); }
@keyframes hxLitPulse { 
  0%, 100% { opacity: 0.55; }
  50% { opacity: 1; }
}
@media (prefers-reduced-motion: reduce){.hx-door__lit-dot { animation: auto ease 0s 1 normal none running none; opacity: 1; }}
.kg-grid { display: grid; grid-template-columns: 1fr; gap: 16px; max-width: 960px; margin: 0px auto; }
@media (min-width: 768px){.kg-grid { grid-template-columns: repeat(2, 1fr); gap: 24px; }}
@media (min-width: 1024px){.kg-grid { grid-template-columns: repeat(3, 1fr); gap: 28px; }}
.kg-greeting { text-align: center; color: var(--ink); font-size: 1rem; margin: 24px 0px; }
.kg-intro { color: var(--ink-muted); font-size: 1rem; max-width: 38em; margin: 8px auto 0px; text-align: center; }
.kg-notice { text-align: center; color: var(--ink-muted); font-size: 0.9375rem; margin: 32px auto 0px; padding: 16px; max-width: 38em; }
.kg-back-link { text-align: center; margin: 24px 0px; }
.kg-back-link a { color: var(--gold-lt); text-decoration: underline; text-underline-offset: 0.2em; }
.kg-guide-card { max-width: 520px; margin: 24px auto; padding: 24px 28px; background: var(--surface); border: 1px solid var(--night-gold-rim); box-shadow: var(--ext-e-night1); }
.kg-guide-card__close { display: block; margin: 16px auto 0px; min-height: 44px; padding: 0px 20px; background: transparent; border: 1px solid var(--gold-rim); color: var(--ink-muted); font-family: var(--font); font-size: 0.75rem; letter-spacing: 0.2em; cursor: pointer; }
.kt-book { max-width: 38em; margin: 0px auto; animation: 1.1s cubic-bezier(0.22, 0.61, 0.21, 1) 0s 1 normal both running ktBookOpen; backface-visibility: hidden; }
.kt-book__lead { text-align: center; margin: 0px 0px 48px; }
.kt-book__theme-label { font-size: 0.8125rem; letter-spacing: 0.2em; color: var(--ext-paper-gold); }
.kt-book__theme { font-family: var(--font); font-weight: 500; font-size: clamp(1.5rem, 1.1rem + 1.8vw, 2.125rem); color: var(--ext-paper-ink); margin: 8px 0px 0px; }
.kt-book__section { background: var(--ext-paper-bg-alt); border-left: 2px solid transparent; border-radius: var(--ext-radius-paper); padding: 24px 20px; margin-bottom: 24px; transition: background 0.48s cubic-bezier(0.4, 0, 0.2, 1), border-color 0.48s cubic-bezier(0.4, 0, 0.2, 1); }
.kt-book__section.is-now { background: var(--ext-paper); border-left-color: var(--ext-paper-gold); box-shadow: var(--ext-e-paper); padding: 32px; }
.kt-book__section-title { display: flex; align-items: baseline; gap: 12px; font-size: clamp(1.125rem, 1rem + 0.6vw, 1.375rem); margin: 0px 0px 16px; }
.kt-book__section.is-now .kt-book__section-title { color: var(--ext-paper-gold); }
.kt-book__period-name { font-family: var(--font); font-weight: 500; flex-shrink: 0; color: var(--ext-paper-ink); }
.kt-book__period-poem { color: var(--ext-paper-ink-muted); font-size: 0.9em; }
.kt-book__read-mark { width: 8px; height: 8px; border-radius: 50%; background: transparent; margin-left: auto; flex-shrink: 0; transition: background 0.24s, box-shadow 0.24s; }
.kt-book__section.is-read .kt-book__read-mark { background: var(--ext-paper-gold-lt); box-shadow: rgba(215, 192, 120, 0.42) 0px 0px 6px; }
.kt-book__text { font-size: 1rem; line-height: 2; color: var(--ext-paper-ink); font-weight: 300; }
.kt-book__guard { margin-top: 12px; font-size: 0.9375rem; color: var(--ext-paper-ink); }
.kt-book__guard-label { color: var(--ext-paper-gold); font-weight: 500; margin-right: 8px; }
.kt-book__closing { text-align: center; margin: 48px 0px 32px; }
.kt-book__closing-label { font-size: 0.8125rem; letter-spacing: 0.2em; color: var(--ext-paper-gold); }
.kt-book__closing-text { font-size: 1rem; line-height: 2; color: var(--ext-paper-ink); margin-top: 8px; }
.kt-book__read-list { display: flex; justify-content: center; gap: 12px; list-style: none; padding: 0px; margin: 0px 0px 32px; }
.kt-book__read-list-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--ext-paper-bg-alt); }
.kt-book__read-list-dot.is-read { background: var(--ext-paper-gold-lt); }
@media (max-width: 767px){.kt-book__section { padding: 16px; }.kt-book__section.is-now { padding: 20px; }}
@keyframes ktBookOpen { 
  0% { opacity: 0; transform: perspective(1200px) rotateY(-84deg); transform-origin: left center; }
  30% { opacity: 1; }
  100% { opacity: 1; transform: perspective(1200px) rotateY(0deg); }
}
@keyframes ktThemeSettle { 
  0% { letter-spacing: 0.3em; opacity: 0; }
  100% { letter-spacing: normal; opacity: 1; }
}
.kt-book__theme { animation: 0.36s cubic-bezier(0.4, 0, 0.2, 1) 1.44s 1 normal both running ktThemeSettle; }
.kt-book__section.is-now { animation: 0.4s cubic-bezier(0.4, 0, 0.2, 1) 1.8s 1 normal forwards running ktNowBorderLight; }
@keyframes ktNowBorderLight { 
  100% { border-left-color: var(--ext-paper-gold); }
}
.kt-book--simple-fade { animation: 0.6s cubic-bezier(0.4, 0, 0.2, 1) 0s 1 normal forwards running ktSimpleFade; opacity: 0; }
@keyframes ktSimpleFade { 
  0% { opacity: 0; }
  100% { opacity: 1; }
}
.kt-book--simple-fade .kt-book__theme, .kt-book--simple-fade .kt-book__section.is-now { animation: auto ease 0s 1 normal none running none; }
@media (prefers-reduced-motion: reduce){.kt-book, .kt-book__theme, .kt-book__section.is-now { animation: auto ease 0s 1 normal none running none !important; }.kt-book { opacity: 1; transform: none; }.kt-book__theme { letter-spacing: normal; opacity: 1; }.kt-book__section.is-now { border-left-color: var(--ext-paper-gold); }}
.wk-chart { margin: 0px auto; }
.wk-chart__svg { width: 100%; height: auto; display: block; }
.wk-chart__baseline { stroke: var(--night-gold-rim); stroke-width: 1; }
.wk-chart__line { fill: none; stroke: var(--night-gold); stroke-width: 1.75; }
.wk-chart__point { opacity: 0; transform-box: fill-box; transform-origin: center center; transform: scale(0.6); fill: var(--night-gold); }
.wk-chart__point--low { fill: var(--night-ink-muted); }
.wk-chart__point--today { fill: var(--night-gold-lt); }
.wk-chart__glow { opacity: 0; fill: var(--night-gold-lt); }
.wk-chart__value-label { fill: var(--night-ink); font-feature-settings: "tnum"; font-size: 15px; font-family: var(--font); }
.wk-chart__day-label { fill: var(--night-ink-muted); font-size: 12px; font-family: var(--font); }
.wk-chart__hit-area { fill: transparent; cursor: pointer; }
.wk-chart__point-group[data-day="0"] .wk-chart__point { animation: 0.24s cubic-bezier(0.4, 0, 0.2, 1) 600ms 1 normal forwards running wkPointReveal; }
.wk-chart__point-group[data-day="1"] .wk-chart__point { animation: 0.24s cubic-bezier(0.4, 0, 0.2, 1) 857ms 1 normal forwards running wkPointReveal; }
.wk-chart__point-group[data-day="2"] .wk-chart__point { animation: 0.24s cubic-bezier(0.4, 0, 0.2, 1) 1114ms 1 normal forwards running wkPointReveal; }
.wk-chart__point-group[data-day="3"] .wk-chart__point { animation: 0.24s cubic-bezier(0.4, 0, 0.2, 1) 1371ms 1 normal forwards running wkPointReveal; }
.wk-chart__point-group[data-day="4"] .wk-chart__point { animation: 0.24s cubic-bezier(0.4, 0, 0.2, 1) 1628ms 1 normal forwards running wkPointReveal; }
.wk-chart__point-group[data-day="5"] .wk-chart__point { animation: 0.24s cubic-bezier(0.4, 0, 0.2, 1) 1885ms 1 normal forwards running wkPointReveal; }
.wk-chart__point-group[data-day="6"] .wk-chart__point { animation: 0.24s cubic-bezier(0.4, 0, 0.2, 1) 2142ms 1 normal forwards running wkPointReveal; }
@keyframes wkPointReveal { 
  100% { opacity: 1; transform: scale(1); }
}
.wk-chart__point--today { animation: 2.8s ease-in-out 2.4s infinite normal none running wkTodayPulse; }
@keyframes wkTodayPulse { 
  0%, 100% { r: 6; }
  50% { r: 7; }
}
.wk-chart__glow { animation: 0.6s cubic-bezier(0.4, 0, 0.2, 1) 2.6s 1 normal forwards running wkGlowIn; }
@keyframes wkGlowIn { 
  100% { opacity: 0.18; }
}
.wk-chart__notice { opacity: 0; animation: 0.6s cubic-bezier(0.4, 0, 0.2, 1) 0s 1 normal forwards running wkNoticeFade; }
@keyframes wkNoticeFade { 
  100% { opacity: 1; }
}
@media (prefers-reduced-motion: reduce){.wk-chart__line { transition: none !important; }.wk-chart__point, .wk-chart__glow, .wk-chart__notice { animation: auto ease 0s 1 normal none running none !important; opacity: 1 !important; transform: none !important; }.wk-chart__point--today { r: 6; stroke: var(--night-gold); stroke-width: 1.5; animation: auto ease 0s 1 normal none running none !important; }}
.wk-chart__band[data-tone="gold"] { fill: var(--ext-tone-gold-bg); }
.wk-chart__band[data-tone="warm"] { fill: var(--ext-tone-warm-bg); }
.wk-chart__band[data-tone="plain"] { fill: var(--ext-tone-plain-bg); }
.wk-chart__band[data-tone="shade"] { fill: var(--ext-tone-shade-bg); }
.wk-chart__band[data-tone="indigo"] { fill: var(--ext-tone-indigo-bg); }
.wk-days__item { border-left: 2px solid transparent; padding: 12px 16px; border-radius: 0px; transition: background 0.48s, border-color 0.48s; }
.wk-days__item[data-band="b1"], .wk-days__item[data-band="b2"] { border-left-color: var(--ink-muted); background: var(--ext-tone-shade-bg); }
.wk-days__item.is-today { border-left-color: var(--gold); background: var(--surface); }
.wk-days__item.is-highlighted { background: var(--bg-alt); }
.wk-days__date { color: var(--ink); font-feature-settings: "tnum"; }
.wk-days__score { color: var(--gold-lt); margin-left: 8px; }
.wk-days__band-name { color: var(--ink-muted); margin-left: 8px; font-size: 0.85em; }
.wk-days__text { color: var(--ink); line-height: 1.9; margin-top: 4px; }
.wk-days__guard { color: var(--ink-muted); font-size: 0.9em; margin-top: 4px; }
.wk-legend { display: flex; flex-wrap: wrap; gap: 16px; list-style: none; padding: 0px; justify-content: center; }
.wk-legend__item { display: flex; align-items: center; gap: 6px; font-size: 0.875rem; color: var(--ink-muted); }
.wk-legend__swatch { width: 12px; height: 12px; border-radius: 50%; display: inline-block; }
.wk-legend__item[data-tone="gold"] .wk-legend__swatch { background: var(--ext-tone-gold-fg); }
.wk-legend__item[data-tone="warm"] .wk-legend__swatch { background: var(--ext-tone-warm-fg); }
.wk-legend__item[data-tone="plain"] .wk-legend__swatch { background: var(--ext-tone-plain-fg); }
.wk-legend__item[data-tone="shade"] .wk-legend__swatch { background: var(--ext-tone-shade-fg); opacity: 1; }
.wk-legend__item[data-tone="indigo"] .wk-legend__swatch { background: var(--ext-tone-indigo-fg); opacity: 0.7; }
.wk-legend__range { font-feature-settings: "tnum"; color: var(--ink-muted); font-size: 0.8125rem; }
.wk-legend__note { text-align: center; color: var(--ink-muted); font-size: 0.875rem; max-width: 38em; margin: 12px auto 0px; }
.hx-lock__content { filter: var(--ext-lock-blur); user-select: none; pointer-events: none; }
.hx-lock__gate { position: relative; display: flex; align-items: center; justify-content: center; padding: 32px 0px; }
.hx-lock__card { background: var(--surface); box-shadow: var(--ext-frame-ring), var(--ext-e-night2); border-radius: var(--ext-radius-card); border-top-color: ; border-top-style: ; border-top-width: ; border-right-color: ; border-right-style: ; border-right-width: ; border-bottom-color: ; border-bottom-style: ; border-bottom-width: ; border-left-color: ; border-left-style: ; border-left-width: ; border-image: linear-gradient(135deg, rgba(215, 192, 120, 0.5), rgba(215, 192, 120, 0.14) 40%, rgba(215, 192, 120, 0.14) 60%, rgba(215, 192, 120, 0.5)) 1 / 1 / 0 stretch; padding: 32px; max-width: 420px; text-align: center; }
.hx-lock__card p { color: var(--ink); }
.hx-lock__cta { display: inline-block; margin-top: 16px; padding: 13px 30px; background: var(--gold); color: var(--night-bg); font-family: var(--font); font-size: 0.7rem; letter-spacing: 0.15em; text-decoration: none; }
.hx-door:focus-visible, .wk-chart__point-group:focus-visible, .kt-book__section-title:focus-visible, .kg-guide-card__close:focus-visible { outline: 2px solid var(--gold); outline-offset: 2px; }
body.night .hx-grain { opacity: 0.045; }
.hx-descend { position: relative; height: 56px; overflow: hidden; pointer-events: none; }
.hx-descend__band { position: absolute; inset: 0px; background: url("../images/sanctuary-band.webp") center center / 140% no-repeat; opacity: 0.22; }
.hx-descend::before { content: ""; position: absolute; inset: 0px; background: linear-gradient(180deg, var(--scrim-alt,rgba(238,237,234,.94)) 0%, var(--scrim,rgba(247,246,244,.93)) 100%); opacity: 0.6; }
.hx-descend--court::before { background: linear-gradient(180deg, var(--scrim,rgba(247,246,244,.93)) 0%, var(--scrim-deep,rgba(233,232,229,.90)) 100%); }
body.night .hx-descend__band { opacity: 0.14; }
body.night .hx-descend::before { background: linear-gradient(180deg, var(--night-bg-alt) 0%, var(--night-bg) 100%); opacity: 0.7; }
html[data-koku="yoru"] .hx-descend__band { opacity: 0.14; }
html[data-koku="yoru"] .hx-descend::before { background: linear-gradient(180deg, var(--night-bg-alt) 0%, var(--night-bg) 100%); opacity: 0.7; }
html[data-koku="yoru"] .oracle-card.r-SS, html[data-koku="yoru"] .oracle-card.r-S, html[data-koku="yoru"] .oracle-card.r-A, html[data-koku="yoru"] .oracle-card.r-B, html[data-koku="yoru"] .oracle-card.r-C { --bg: #DDDDDB; --bg-alt: var(--ext-paper-bg-alt); --surface: var(--ext-paper); --ink: var(--ext-paper-ink); --ink-mid: #3B3B3B; --ink-muted: var(--ext-paper-ink-muted); --silver: #A8A8A8; --silver-lt: #C8C7C3; --gold: var(--ext-paper-gold); --gold-lt: var(--ext-paper-gold-lt); --gold-deep: #6E5311; --gold-rim: rgba(215,192,120,.42); color: var(--ink); }
html[data-koku="yoru"] .oracle-card.r-SS .btn-primary, html[data-koku="yoru"] .oracle-card.r-S .btn-primary, html[data-koku="yoru"] .oracle-card.r-A .btn-primary, html[data-koku="yoru"] .oracle-card.r-B .btn-primary, html[data-koku="yoru"] .oracle-card.r-C .btn-primary { color: rgb(255, 248, 220); }
html[data-koku="yoru"] .sazukari-close-btn { color: rgb(59, 59, 59); }
.hx-descend { opacity: 0; transform: scaleY(0.7); transform-origin: center top; transition: opacity .9s var(--ease,cubic-bezier(.4,0,.2,1)),transform .9s var(--ease,cubic-bezier(.4,0,.2,1)); }
.hx-descend.in { opacity: 1; transform: scaleY(1); }
@media (max-width: 900px){.hx-descend { height: 36px; }.hx-descend__band { display: none; }}
@media (prefers-reduced-motion: reduce){.hx-descend { opacity: 1 !important; transform: none !important; transition: none !important; }}
.hx-glow-host.hx-glow-active::after { opacity: 1; }
body.night .hx-glow-host::after { background: radial-gradient(220px 220px at var(--hx-glow-x,50%) var(--hx-glow-y,50%), rgba(201,168,76,.14), transparent 70%); }
@media (hover: none), (pointer: coarse){.hx-glow-host::after { display: none; }}
@media (prefers-reduced-motion: reduce){.hx-glow-host::after { display: none; }}
body.night::before { content: ""; position: fixed; inset: 0px; z-index: 0; pointer-events: none; background-image: radial-gradient(circle, rgba(233, 230, 222, 0.32) 0px, rgba(233, 230, 222, 0.32) 1px, transparent 1.6px), radial-gradient(circle, rgba(215, 192, 120, 0.3) 0px, rgba(215, 192, 120, 0.3) 1px, transparent 1.6px), radial-gradient(circle, rgba(233, 230, 222, 0.28) 0px, rgba(233, 230, 222, 0.28) 1px, transparent 1.6px), radial-gradient(circle, rgba(233, 230, 222, 0.3) 0px, rgba(233, 230, 222, 0.3) 1px, transparent 1.6px), radial-gradient(circle, rgba(215, 192, 120, 0.26) 0px, rgba(215, 192, 120, 0.26) 1px, transparent 1.6px), radial-gradient(circle, rgba(233, 230, 222, 0.32) 0px, rgba(233, 230, 222, 0.32) 1px, transparent 1.6px), radial-gradient(circle, rgba(233, 230, 222, 0.28) 0px, rgba(233, 230, 222, 0.28) 1px, transparent 1.6px), radial-gradient(circle, rgba(215, 192, 120, 0.24) 0px, rgba(215, 192, 120, 0.24) 1px, transparent 1.6px), radial-gradient(circle, rgba(233, 230, 222, 0.22) 0px, rgba(233, 230, 222, 0.22) 1px, transparent 1.6px), radial-gradient(circle, rgba(215, 192, 120, 0.2) 0px, rgba(215, 192, 120, 0.2) 1px, transparent 1.6px), radial-gradient(circle, rgba(233, 230, 222, 0.26) 0px, rgba(233, 230, 222, 0.26) 1px, transparent 1.6px), radial-gradient(circle, rgba(215, 192, 120, 0.18) 0px, rgba(215, 192, 120, 0.18) 1px, transparent 1.6px); background-size: 480px 480px, 620px 620px, 390px 390px, 710px 710px, 540px 540px, 330px 330px, 660px 660px, 470px 470px, 560px 560px, 410px 410px, 690px 690px, 350px 350px; background-position: 8% 12%, 22% 64%, 41% 30%, 58% 78%, 67% 18%, 79% 52%, 88% 8%, 93% 88%, 14% 45%, 35% 92%, 72% 40%, 96% 62%; background-repeat: repeat; opacity: 0.34; animation: 16s ease-in-out 0s infinite normal none running hxStipple; }
body.night::after { content: ""; position: fixed; inset: 0px; z-index: 0; pointer-events: none; background-image: radial-gradient(circle, rgba(233, 230, 222, 0.16) 0px, rgba(233, 230, 222, 0.16) 1px, transparent 1.4px), radial-gradient(circle, rgba(215, 192, 120, 0.14) 0px, rgba(215, 192, 120, 0.14) 1px, transparent 1.4px); background-size: 900px 900px, 1100px 1100px; background-position: 30% 20%, 65% 70%; background-repeat: repeat; opacity: 0.5; }
@supports (animation-timeline: scroll()){@media (min-width: 1025px) and (prefers-reduced-motion: no-preference){body.night::after { animation-duration: auto; animation-timing-function: linear; animation-delay: 0s; animation-iteration-count: 1; animation-direction: normal; animation-fill-mode: none; animation-play-state: running; animation-name: hxStippleDepth; animation-timeline: scroll(); animation-range: 0%; }}}
@keyframes hxStippleDepth { 
  0% { transform: translateY(0px); }
  100% { transform: translateY(-40px); }
}
@media (max-width: 1024px){body.night::after { animation: auto ease 0s 1 normal none running none !important; transform: none !important; }}
@media (prefers-reduced-motion: reduce){body.night::after { animation: auto ease 0s 1 normal none running none !important; transform: none !important; }}
.art-slot--candle.hx-candle-catch img { animation: 1.1s cubic-bezier(0.22, 0.61, 0.36, 1) 0s 1 normal both running hxCandleCatch; }
@keyframes hxCandleCatch { 
  0% { filter: brightness(0.82) contrast(0.94) saturate(0.88) sepia(6%); }
  38% { filter: brightness(0.94) contrast(0.94) saturate(0.92) sepia(6%); }
  60% { filter: brightness(0.79) contrast(0.94) saturate(0.88) sepia(6%); }
  100% { filter: brightness(0.82) contrast(0.94) saturate(0.88) sepia(6%); }
}
@media (prefers-reduced-motion: reduce){.art-slot--candle.hx-candle-catch img { animation: auto ease 0s 1 normal none running none !important; filter: brightness(0.82) contrast(0.94) saturate(0.88) sepia(6%) !important; }}
@view-transition { navigation: auto; }
header nav > a:first-child { view-transition-name: hx-brand; }
@keyframes hx-vt-sink { 
  100% { opacity: 0; transform: translateY(6px); }
}
@keyframes hx-vt-open { 
  0% { opacity: 0.35; clip-path: inset(6% 0px); filter: brightness(0.94); }
  100% { opacity: 1; clip-path: inset(0px); filter: brightness(1); }
}
::view-transition-old(root) { animation: 0.38s ease 0s 1 normal both running hx-vt-sink; }
::view-transition-new(root) { animation: 0.62s cubic-bezier(0.22, 0.61, 0.36, 1) 0s 1 normal both running hx-vt-open; }
@media (prefers-reduced-motion: reduce){::view-transition-group(*), ::view-transition-old(*), ::view-transition-new(*) { animation: auto ease 0s 1 normal none running none !important; }}
@supports (animation-timeline: scroll()){@property --hx-sky-shift { syntax: "<number>"; inherits: true; initial-value: 0; }@keyframes hx-veil-lift { 
  0% { opacity: 0.72; }
  100% { opacity: 1; }
}.hx-sda-lift { animation-duration: auto; animation-timing-function: linear; animation-delay: 0s; animation-iteration-count: 1; animation-direction: normal; animation-fill-mode: both; animation-play-state: running; animation-name: hx-veil-lift; animation-timeline: view(); animation-range: entry entry 60%; }}
html.sky-on [data-sky] .m-dust, html.sky-on [data-sky] .m-mist { display: none; }
html.sky-on .hero { background-image: none; }
html.sky-on .hero::before { content: ""; position: absolute; inset: 0px; z-index: 1; pointer-events: none; background-image: linear-gradient(100deg, rgba(238, 236, 231, 0.965) 0%, rgba(240, 238, 233, 0.933) 34%, rgba(243, 241, 236, 0.78) 58%, rgba(243, 241, 236, 0.62) 100%), linear-gradient(rgba(238, 236, 231, 0) 62%, rgb(221, 221, 219) 100%); }
html.sky-on .hero-text { position: relative; z-index: 2; }
.hx-num, .wk-legend__range, .wk-days__score, .wk-chart__value-label { font-variant-numeric: tabular-nums; font-feature-settings: "tnum"; }
.hx-prose { max-width: 38em; margin-inline: auto; line-height: 2; }
.hx-prose--letter { line-height: 2.2; }
.hx-presence { position: absolute; z-index: 0; pointer-events: none; user-select: none; background-repeat: no-repeat; background-position: center center; background-size: contain; width: min(34vw, 380px); aspect-ratio: 620 / 1108; filter: grayscale(38%) sepia(4%) saturate(88%); mix-blend-mode: multiply; opacity: 0.35 !important; }
.hx-presence--bust { aspect-ratio: 480 / 688; width: min(22vw, 260px); }
.hx-presence--right { right: clamp(0px, 2vw, 32px); bottom: 0px; }
.hx-presence--left { left: clamp(0px, 2vw, 32px); bottom: 0px; }
.hx-presence--v1-10-full { background-image: url("../images/presence/presence_v1_10_full.webp"); }
.hx-presence--v1-02-full { background-image: url("../images/presence/presence_v1_02_full.webp"); }
.hx-presence--v1-10-bust { background-image: url("../images/presence/presence_v1_10_bust.webp"); }
.hx-presence--v1-02-bust { background-image: url("../images/presence/presence_v1_02_bust.webp"); }
.hx-presence--v1-01-full { background-image: url("../images/presence/presence_v1_01_full.webp"); }
.hx-presence--v1-01-bust { background-image: url("../images/presence/presence_v1_01_bust.webp"); }
body.night .hx-presence { mix-blend-mode: screen; filter: grayscale(24%) sepia(3%) brightness(1.04) saturate(92%); opacity: 0.22 !important; }
@media (max-width: 640px){.hx-presence { width: min(46vw, 240px); }.hx-presence--bust { width: min(30vw, 170px); }}
@media (min-width: 1000px){a#navSignupLink { background: var(--ink,#191919); color: rgb(247, 246, 244); border: 1px solid var(--ink,#191919); border-radius: 4px; padding: 6px 12px; white-space: nowrap; }a#navSignupLink:hover { opacity: 0.82; color: rgb(247, 246, 244); }a#navAuthLink { padding: 6px 2px; white-space: nowrap; border-bottom: 1px solid var(--silver,#A8A8A8); }body.night a#navSignupLink, html[data-koku="yoru"] a#navSignupLink { background: var(--night-gold,#C9A84C); color: var(--night-bg,#14161B); border-color: var(--night-gold,#C9A84C); }body.night a#navSignupLink:hover, html[data-koku="yoru"] a#navSignupLink:hover { color: var(--night-bg,#14161B); }body.night a#navAuthLink, html[data-koku="yoru"] a#navAuthLink { color: var(--night-ink,#E9E6DE); border-bottom-color: var(--night-gold,#C9A84C); }}
@media (min-width: 900px) and (max-width: 999.98px){a#navSignupLink { border-bottom: 2px solid rgba(160, 130, 40, 0.75); font-weight: 600; }body.night a#navSignupLink, html[data-koku="yoru"] a#navSignupLink { border-bottom-color: var(--night-gold,#C9A84C); }}
#mobileMenu a#mmSignupLink { display: block; margin: 12px 16px 6px; padding: 13px 12px; text-align: center; background: var(--ink,#191919); color: rgb(247, 246, 244); border: 1px solid var(--ink,#191919); border-radius: 4px; }
#mobileMenu a#mmAuthLink { display: block; margin: 0px 16px 10px; padding: 12px; text-align: center; border: 1px solid var(--silver,#A8A8A8); border-radius: 4px; }
body.night #mobileMenu a#mmSignupLink, html[data-koku="yoru"] #mobileMenu a#mmSignupLink { background: var(--night-gold,#C9A84C); color: var(--night-bg,#14161B); border-color: var(--night-gold,#C9A84C); }
body.night #mobileMenu a#mmAuthLink, html[data-koku="yoru"] #mobileMenu a#mmAuthLink { color: var(--night-ink,#E9E6DE); border-color: var(--night-gold,#C9A84C); }
.oracle-card.r-D .rank-letter { color: rgb(154, 154, 176); }
.oracle-card.r-D .rank-name-text { color: rgb(166, 166, 186); }
.oracle-card.r-D .rank-score-num { color: rgb(148, 148, 172); }
.oracle-card.r-D .rank-score, .oracle-card.r-D .oc-gauge-label, .oracle-card.r-D .oc-sub, .oracle-card.r-D .lucky-head, .oracle-card.r-D .wn-label, .oracle-card.r-D .wn-koyomi-label, .oracle-card.r-D .action-label, .oracle-card.r-D .l-cat, .oracle-card.r-D .le-cat, .oracle-card.r-D .btn-again, .oracle-card.r-D .save-msg, .oracle-card.r-D .rank-streak-line, .oracle-card.r-D .megumi-skip, .oracle-card.r-D .megumi-reveal-label, .oracle-card.r-D .result-rite-nav .rite-nav-title { color: rgb(166, 166, 186); }
.oracle-card.r-D .oc-share-note, .oracle-card.r-D .record-hook, .oracle-card.r-D .next-oracle-note, .oracle-card.r-D .almanac-invite, .oracle-card.r-D .share-note, .oracle-card.r-D .trial-peek-lock { color: rgb(176, 176, 192); }
.oracle-card.r-D .almanac-invite a, .oracle-card.r-D .kantei-summary-theme, .oracle-card.r-D .kantei-summary-link, .oracle-card.r-D .weekly-summary-link { color: rgb(214, 196, 142); border-bottom-color: rgba(214, 196, 142, 0.45); }
.oracle-card.r-D .kantei-summary-link:hover, .oracle-card.r-D .kantei-summary-link:focus-visible, .oracle-card.r-D .weekly-summary-link:hover, .oracle-card.r-D .weekly-summary-link:focus-visible { color: rgb(240, 228, 192); }
.oracle-card.r-D .kantei-summary-line { color: rgb(192, 192, 204); }
.oracle-card.r-D .weekly-axis-label, .oracle-card.r-D .weekly-score-label { fill: rgb(166, 166, 186); }
.oracle-card.r-D .format-btn, .oracle-card.r-D .btn-save, .oracle-card.r-D .btn-save.saved, .oracle-card.r-D .btn-save.saved span { color: rgb(174, 174, 192); }
.oracle-card.r-X .rank-score, .oracle-card.r-X .oc-gauge-label, .oracle-card.r-X .oc-sub, .oracle-card.r-X .lucky-head, .oracle-card.r-X .wn-label, .oracle-card.r-X .wn-koyomi-label, .oracle-card.r-X .action-label, .oracle-card.r-X .l-cat, .oracle-card.r-X .le-cat, .oracle-card.r-X .kantei-sub, .oracle-card.r-X .weekly-sub, .oracle-card.r-X .oc-greeting, .oracle-card.r-X .weekly-greeting, .oracle-card.r-X .share-note, .oracle-card.r-X .rank-streak-line, .oracle-card.r-X .save-msg, .oracle-card.r-X .megumi-skip, .oracle-card.r-X .megumi-reveal-label, .oracle-card.r-X .result-rite-nav .rite-nav-title, .oracle-card.r-X .format-btn, .oracle-card.r-X .btn-save, .oracle-card.r-X .btn-save.saved, .oracle-card.r-X .btn-save.saved span, .oracle-card.r-X .btn-again { color: rgb(173, 165, 216); }
.oracle-card.r-X .oc-share-note, .oracle-card.r-X .record-hook, .oracle-card.r-X .next-oracle-note, .oracle-card.r-X .almanac-invite, .oracle-card.r-X .trial-peek-lock { color: rgb(184, 176, 220); }
.oracle-card.r-X .almanac-invite a, .oracle-card.r-X .kantei-summary-theme, .oracle-card.r-X .kantei-summary-link, .oracle-card.r-X .weekly-summary-link { color: rgb(207, 198, 242); border-bottom-color: rgba(207, 198, 242, 0.45); }
.oracle-card.r-X .kantei-summary-link:hover, .oracle-card.r-X .kantei-summary-link:focus-visible, .oracle-card.r-X .weekly-summary-link:hover, .oracle-card.r-X .weekly-summary-link:focus-visible { color: rgb(237, 232, 255); }
.oracle-card.r-X .kantei-summary-line { color: rgb(200, 194, 236); }
.oracle-card.r-X .l-val { color: rgb(204, 198, 234); }
.oracle-card.r-X .l-effect { color: rgb(198, 192, 228); }
.oracle-card.r-X .megumi-intro { color: rgb(196, 190, 230); }
.oracle-card.r-X .weekly-axis-label, .oracle-card.r-X .weekly-score-label { fill: rgb(184, 176, 220); }
.oracle-card.r-SS .oc-gauge-label { color: rgb(74, 50, 0); }
.oracle-card.r-SS .oc-greeting, .oracle-card.r-SS .weekly-sub, .oracle-card.r-SS .weekly-greeting, .oracle-card.r-SS .kantei-sub, .oracle-card.r-SS .share-note, .oracle-card.r-SS .save-msg, .oracle-card.r-SS .rank-streak-line, .oracle-card.r-SS .lucky-head, .oracle-card.r-SS .format-btn, .oracle-card.r-SS .btn-again, .oracle-card.r-SS .oc-share-note, .oracle-card.r-SS .record-hook, .oracle-card.r-SS .next-oracle-note, .oracle-card.r-SS .almanac-invite, .oracle-card.r-SS .trial-peek-lock, .oracle-card.r-SS .megumi-skip, .oracle-card.r-SS .megumi-reveal-label, .oracle-card.r-SS .result-rite-nav .rite-nav-title { color: rgb(58, 42, 8); }
.oracle-card.r-SS .result-rite-nav .rite-nav-list a, .oracle-card.r-SS .save-msg-link, .oracle-card.r-SS .almanac-invite a { color: rgb(30, 22, 8); }
.oracle-card.r-SS .result-rite-nav .rite-nav-list a:hover, .oracle-card.r-SS .save-msg-link:hover { color: rgb(0, 0, 0); }
.oracle-card.r-SS .btn-save.saved, .oracle-card.r-SS .btn-save.saved span { color: rgb(30, 42, 8); }
.oracle-card.r-SS .weekly-axis-label, .oracle-card.r-SS .weekly-score-label { fill: rgb(58, 42, 8); }
.oracle-card.r-S .weekly-axis-label, .oracle-card.r-S .weekly-score-label { fill: rgb(74, 74, 74); }
.oracle-card.r-S .rank-score-num { color: rgb(110, 80, 16); }
.oracle-card.r-S .oc-gauge-label, .oracle-card.r-S .oc-sub, .oracle-card.r-S .action-label, .oracle-card.r-S .l-cat, .oracle-card.r-S .le-cat, .oracle-card.r-S .wn-label, .oracle-card.r-S .wn-koyomi-label { color: rgb(106, 78, 20); }
.oracle-card.r-S .lucky-head, .oracle-card.r-S .format-btn, .oracle-card.r-S .btn-again, .oracle-card.r-S .save-msg, .oracle-card.r-S .share-note, .oracle-card.r-S .rank-streak-line, .oracle-card.r-S .record-hook, .oracle-card.r-S .next-oracle-note, .oracle-card.r-S .almanac-invite, .oracle-card.r-S .trial-peek-lock, .oracle-card.r-S .oc-share-note, .oracle-card.r-S .oc-greeting, .oracle-card.r-S .weekly-sub, .oracle-card.r-S .weekly-greeting, .oracle-card.r-S .kantei-sub, .oracle-card.r-S .megumi-skip, .oracle-card.r-S .megumi-reveal-label, .oracle-card.r-S .result-rite-nav .rite-nav-title { color: rgb(74, 74, 74); }
.oracle-card.r-S .save-msg-link, .oracle-card.r-S .result-rite-nav .rite-nav-list a.rite-nav-next, .oracle-card.r-S .almanac-invite a { color: rgb(110, 80, 16); }
.oracle-card.r-S .btn-save.saved, .oracle-card.r-S .btn-save.saved span { color: rgb(46, 82, 34); }
.btn-save.saved, .btn-save.saved span { color: rgb(62, 106, 48); }
.save-msg-link { color: var(--gold-deep,#6E5311); }
.result-rite-nav .rite-nav-list a:hover, .result-rite-nav .rite-nav-list a:focus-visible { color: var(--gold-deep,#6E5311); }