/* ═══════════════════════════════════════════════════════
MOCHILUMINOUS — MOON CABINET / LUMINOUS VALENTINE
Save as: public/css/mochiLuminous.css
═══════════════════════════════════════════════════════ */

:root
{
    --mochi-bg-void: #05070b;
    --mochi-bg-night: #0d1118;
    --mochi-bg-velvet: #131922;
    --mochi-bg-panel: rgba(18, 23, 33, 0.82);
    --mochi-bg-panel-strong: rgba(22, 28, 39, 0.92);
    --mochi-bg-soft: rgba(240, 244, 255, 0.04);

    --mochi-ink: #0f141c;
    --mochi-silver-blue: #7f96b8;
    --mochi-moon: #c9d8ee;
    --mochi-frost: #e6eefb;

    --mochi-pearl: #f6f3ef;
    --mochi-porcelain: #f2ece8;
    --mochi-ivory-mist: #d9d3d0;

    --mochi-crimson-eye: #a84a62;
    --mochi-crimson-soft: #d58ca0;
    --mochi-ice-eye: #9dc4f2;

    --mochi-text-main: #f6f3ef;
    --mochi-text-soft: #d8dce6;
    --mochi-text-muted: #a8aebc;

    --mochi-border: rgba(212, 225, 244, 0.18);
    --mochi-border-strong: rgba(222, 232, 246, 0.34);
    --mochi-border-ornament: rgba(242, 236, 232, 0.18);

    --mochi-glow-moon: rgba(157, 196, 242, 0.16);
    --mochi-glow-silver: rgba(230, 238, 251, 0.15);
    --mochi-glow-crimson: rgba(168, 74, 98, 0.16);

    --mochi-shadow-soft: 0 18px 40px rgba(0, 0, 0, 0.30);
    --mochi-shadow-deep: 0 28px 70px rgba(0, 0, 0, 0.48);
    --mochi-shadow-inset: inset 0 1px 0 rgba(255, 255, 255, 0.08);

    --mochi-radius-lg: 30px;
    --mochi-radius-md: 22px;
    --mochi-radius-sm: 16px;

    --mochi-serif: "Cormorant Garamond", "Georgia", serif;
    --mochi-body: "Inter", "Segoe UI", Arial, sans-serif;

    --mochi-fast: 0.28s ease;
    --mochi-slow: 0.55s ease;
}

/* ═══════════════════════════════════════════════════════
BASE
═══════════════════════════════════════════════════════ */

.project-detail-section.mochi-lunar-doll-theme,
.project-detail-section.mochi-lunar-doll-theme *
{
    box-sizing: border-box;
}

.project-detail-section.mochi-lunar-doll-theme
{
    position: relative;
    overflow: hidden;
    color: var(--mochi-text-main);
    background:
            radial-gradient(circle at 16% 12%, rgba(157, 196, 242, 0.10) 0%, transparent 24%), radial-gradient(circle at 82% 14%, rgba(246, 243, 239, 0.05) 0%, transparent 22%),
            radial-gradient(circle at 50% 0%, rgba(230, 238, 251, 0.05) 0%, transparent 18%), linear-gradient(180deg, #05070b 0%, #0d1118 36%, #101720 70%, #05070b 100%);
    font-family: var(--mochi-body);
    isolation: isolate;
}

.project-detail-section.mochi-lunar-doll-theme::before
{
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    opacity: 0.16;
    background:
            linear-gradient(125deg, transparent 0%, rgba(255,255,255,0.03) 48%, transparent 52%), radial-gradient(circle at 20% 30%, rgba(255,255,255,0.05) 0 1px, transparent 1px),
            radial-gradient(circle at 80% 40%, rgba(255,255,255,0.03) 0 1px, transparent 1px), radial-gradient(circle at 44% 72%, rgba(255,255,255,0.03) 0 1px, transparent 1px);
    background-size: 100% 100%, 180px 180px, 220px 220px, 260px 260px;
    mix-blend-mode: screen;
    z-index: 0;
}

.project-detail-section.mochi-lunar-doll-theme::after
{
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background: radial-gradient(circle at 50% 9%, rgba(230,238,251,0.05), transparent 22%), linear-gradient(180deg, transparent 0%, rgba(0,0,0,0.12) 100%);
    z-index: 0;
}

.mochi-lunar-doll-theme section,
.mochi-lunar-doll-theme .project-hero,
.mochi-lunar-doll-theme .spell-seal-divider
{
    position: relative;
    z-index: 1;
}

.mochi-lunar-doll-theme a
{
    color: inherit;
}

.mochi-lunar-doll-theme p
{
    color: var(--mochi-text-soft);
    line-height: 1.8;
}

.mochi-lunar-doll-theme strong
{
    color: var(--mochi-pearl);
}

/* ═══════════════════════════════════════════════════════
HERO
═══════════════════════════════════════════════════════ */

.mochi-lunar-doll-theme .project-hero
{
    position: relative;
    min-height: min(92vh, 980px);
    display: flex;
    align-items: center;
    padding: 7.5rem 2rem 5rem;
    background:
            linear-gradient(rgba(5, 8, 14, 0.48), rgba(8, 10, 16, 0.84)),
            radial-gradient(circle at 18% 18%, rgba(157, 196, 242, 0.12), transparent 28%),
            radial-gradient(circle at 84% 20%, rgba(242, 236, 232, 0.07), transparent 22%),
            radial-gradient(circle at 50% 72%, rgba(230, 238, 251, 0.04), transparent 28%),
            linear-gradient(135deg, #05070b 0%, #0d1118 30%, #131922 70%, #1b2230 100%);
    background-size: cover;
    background-position: center;
    overflow: hidden;
}

.mochi-lunar-doll-theme .project-hero::before
{
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background: radial-gradient(circle at 50% 50%, rgba(255,255,255,0.06) 0%, transparent 34%), linear-gradient(90deg, transparent 0%, rgba(255,255,255,0.04) 50%, transparent 100%);
    opacity: 0.4;
    animation: mochiMoonBreath 9s ease-in-out infinite;
}

.mochi-lunar-doll-theme .project-hero::after
{
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background: linear-gradient(180deg, rgba(255,255,255,0.03) 0%, transparent 18%), linear-gradient(0deg, rgba(0,0,0,0.26) 0%, transparent 22%);
    z-index: 0;
}

.mochi-lunar-doll-theme .hero-particle-canvas
{
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    opacity: 0.25;
    mix-blend-mode: screen;
    pointer-events: none;
}

.mochi-lunar-doll-theme .hero-content
{
    position: relative;
    z-index: 2;
    width: min(1280px, 100%);
    margin: 0 auto;
}

.mochi-lunar-doll-theme .breadcrumb
{
    margin-bottom: 1.5rem;
}

.mochi-lunar-doll-theme .breadcrumb a
{
    display: inline-flex;
    align-items: center;
    gap: 0.65rem;
    padding: 0.85rem 1.15rem;
    border-radius: 999px;
    text-decoration: none;
    color: var(--mochi-moon);
    background: rgba(14, 18, 27, 0.66);
    border: 1px solid var(--mochi-border);
    backdrop-filter: blur(10px);
    box-shadow: var(--mochi-shadow-soft), var(--mochi-shadow-inset);
    transition: transform var(--mochi-fast), border-color var(--mochi-fast), color var(--mochi-fast), background var(--mochi-fast);
}

.mochi-lunar-doll-theme .breadcrumb a:hover
{
    transform: translateY(-2px);
    border-color: var(--mochi-border-strong);
    color: var(--mochi-frost);
    background: rgba(22, 28, 39, 0.82);
}

.mochi-lunar-doll-theme .hero-header
{
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(320px, 0.65fr);
    gap: 2rem;
    align-items: center;
}

.mochi-lunar-doll-theme .hero-main
{
    position: relative;
    padding: 2.3rem;
    border-radius: var(--mochi-radius-lg);
    background: linear-gradient(180deg, rgba(23, 28, 39, 0.82) 0%, rgba(12, 15, 23, 0.94) 100%);
    border: 1px solid var(--mochi-border);
    box-shadow: var(--mochi-shadow-deep), inset 0 1px 0 rgba(255,255,255,0.08), inset 0 0 70px rgba(157, 196, 242, 0.05);
    backdrop-filter: blur(14px);
    overflow: hidden;
}

.mochi-lunar-doll-theme .hero-main::before
{
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background: linear-gradient(110deg, transparent 8%, rgba(255,255,255,0.06) 22%, transparent 36%), radial-gradient(circle at top right, rgba(230,238,251,0.08), transparent 32%);
    opacity: 0.86;
}

.mochi-lunar-doll-theme .hero-main::after
{
    content: "";
    position: absolute;
    inset: 14px;
    border: 1px solid rgba(242,236,232,0.08);
    border-radius: calc(var(--mochi-radius-lg) - 14px);
    pointer-events: none;
}

.mochi-lunar-doll-theme .hero-main > *
{
    position: relative;
    z-index: 1;
}

.mochi-lunar-doll-theme .project-title
{
    margin: 0 0 0.75rem;
    font-family: var(--mochi-serif);
    font-size: clamp(2.9rem, 5.8vw, 5.3rem);
    line-height: 1.02;
    font-weight: 700;
    letter-spacing: 0.01em;
    color: var(--mochi-pearl);
    text-shadow: 0 0 18px rgba(255,255,255,0.06), 0 0 28px rgba(157,196,242,0.08);
}

.mochi-lunar-doll-theme .project-subtitle
{
    margin: 0 0 1.15rem;
    font-size: clamp(0.98rem, 2vw, 1.24rem);
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: var(--mochi-ivory-mist);
    opacity: 0.96;
}

.mochi-lunar-doll-theme .project-description
{
    max-width: 68ch;
    margin: 0 0 1.6rem;
    font-size: 1.05rem;
    color: var(--mochi-text-soft);
}

.mochi-lunar-doll-theme .project-meta
{
    display: flex;
    flex-wrap: wrap;
    gap: 0.8rem;
    margin-bottom: 1.75rem;
}

.mochi-lunar-doll-theme .meta-item
{
    display: inline-flex;
    align-items: center;
    gap: 0.55rem;
    padding: 0.72rem 1rem;
    border-radius: 999px;
    background: rgba(255,255,255,0.04);
    border: 1px solid rgba(212,225,244,0.14);
    color: var(--mochi-moon);
    font-size: 0.92rem;
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.06);
}

.mochi-lunar-doll-theme .meta-item i
{
    color: var(--mochi-ice-eye);
}

.mochi-lunar-doll-theme .hero-actions
{
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
}

/* ═══════════════════════════════════════════════════════
BUTTONS
═══════════════════════════════════════════════════════ */

.mochi-lunar-doll-theme .cyber-button
{
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.72rem;
    min-width: 210px;
    padding: 1rem 1.55rem;
    border-radius: 999px;
    text-decoration: none;
    border: 1px solid var(--mochi-border-strong);
    color: var(--mochi-pearl);
    background: linear-gradient(180deg, rgba(255,255,255,0.07) 0%, rgba(255,255,255,0.02) 100%), linear-gradient(135deg, rgba(22,28,39,0.88) 0%, rgba(12,15,23,0.94) 100%);
    box-shadow: 0 10px 24px rgba(0, 0, 0, 0.30), inset 0 1px 0 rgba(255,255,255,0.08);
    font-weight: 700;
    letter-spacing: 0.11em;
    text-transform: uppercase;
    font-size: 0.86rem;
    transition: transform var(--mochi-fast), box-shadow var(--mochi-fast), border-color var(--mochi-fast), background var(--mochi-fast), color var(--mochi-fast);
    overflow: hidden;
    backdrop-filter: blur(10px);
}

.mochi-lunar-doll-theme .cyber-button::before
{
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(115deg, transparent 12%, rgba(255,255,255,0.18) 28%, transparent 42%);
    transform: translateX(-120%);
    transition: transform 0.85s ease;
}

.mochi-lunar-doll-theme .cyber-button:hover::before
{
    transform: translateX(130%);
}

.mochi-lunar-doll-theme .cyber-button:hover
{
    transform: translateY(-3px);
    box-shadow: 0 16px 34px rgba(0,0,0,0.38), 0 0 22px rgba(157,196,242,0.10), inset 0 1px 0 rgba(255,255,255,0.10);
}

.mochi-lunar-doll-theme .cyber-button.primary
{
    border-color: rgba(230,238,251,0.42);
    background: linear-gradient(180deg, rgba(255,255,255,0.10) 0%, rgba(255,255,255,0.03) 100%), linear-gradient(135deg, rgba(74,90,116,0.92) 0%, rgba(22,28,39,0.96) 100%);
    box-shadow: 0 14px 30px rgba(0,0,0,0.34), 0 0 24px rgba(157,196,242,0.10), inset 0 1px 0 rgba(255,255,255,0.12);
}

.mochi-lunar-doll-theme .cyber-button.primary:hover
{
    border-color: var(--mochi-frost);
    color: var(--mochi-pearl);
}

.mochi-lunar-doll-theme .cyber-button.secondary
{
    border-color: rgba(157,196,242,0.28);
    color: var(--mochi-moon);
}

.mochi-lunar-doll-theme .cyber-button.secondary:hover
{
    border-color: rgba(230,238,251,0.42);
    color: var(--mochi-frost);
}

.mochi-lunar-doll-theme .cyber-button.tertiary
{
    border-color: rgba(242,236,232,0.16);
    color: var(--mochi-ivory-mist);
    background: linear-gradient(180deg, rgba(255,255,255,0.06) 0%, rgba(255,255,255,0.02) 100%), rgba(14, 18, 27, 0.72);
}

.mochi-lunar-doll-theme .cyber-button.tertiary:hover
{
    border-color: rgba(230,238,251,0.36);
    background: linear-gradient(180deg, rgba(255,255,255,0.08) 0%, rgba(255,255,255,0.03) 100%), rgba(22, 28, 39, 0.84);
}

/* ═══════════════════════════════════════════════════════
HERO SIDE CARD
═══════════════════════════════════════════════════════ */

.mochi-lunar-doll-theme .hero-side
{
    display: flex;
    justify-content: stretch;
}

.mochi-lunar-doll-theme .hero-glyph-card
{
    position: relative;
    width: 100%;
    min-height: 300px;
    padding: 1.7rem;
    border-radius: var(--mochi-radius-lg);
    background: linear-gradient(180deg, rgba(24, 30, 42, 0.90) 0%, rgba(11, 15, 22, 0.94) 100%);
    border: 1px solid var(--mochi-border);
    box-shadow: var(--mochi-shadow-deep), inset 0 1px 0 rgba(255,255,255,0.08), inset 0 0 80px rgba(157,196,242,0.05);
    backdrop-filter: blur(12px);
    overflow: hidden;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.mochi-lunar-doll-theme .hero-glyph-card::before
{
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    padding: 1px;
    background: linear-gradient(140deg, rgba(242,236,232,0.26), rgba(157,196,242,0.24), rgba(242,236,232,0.12));
    -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
    -webkit-mask-composite: xor;
    mask-composite: exclude;
    pointer-events: none;
}

.mochi-lunar-doll-theme .hero-glyph-card::after
{
    content: "";
    position: absolute;
    inset: 14px;
    border-radius: calc(var(--mochi-radius-lg) - 14px);
    border: 1px solid rgba(242,236,232,0.06);
    pointer-events: none;
}

.mochi-lunar-doll-theme .hero-glyph-label,
.mochi-lunar-doll-theme .hero-glyph-main,
.mochi-lunar-doll-theme .hero-glyph-sub,
.mochi-lunar-doll-theme .hero-glyph-meta,
.mochi-lunar-doll-theme .hero-eye-signature
{
    position: relative;
    z-index: 1;
}

.mochi-lunar-doll-theme .hero-glyph-label
{
    display: inline-flex;
    align-self: flex-start;
    padding: 0.45rem 0.8rem;
    margin-bottom: 1rem;
    border-radius: 999px;
    background: rgba(255,255,255,0.05);
    color: var(--mochi-moon);
    letter-spacing: 0.18em;
    text-transform: uppercase;
    font-size: 0.75rem;
}

.mochi-lunar-doll-theme .hero-glyph-main
{
    font-family: var(--mochi-serif);
    font-size: clamp(1.95rem, 3vw, 2.7rem);
    color: var(--mochi-pearl);
    margin-bottom: 0.55rem;
}

.mochi-lunar-doll-theme .hero-glyph-sub
{
    color: var(--mochi-text-soft);
    margin-bottom: 1rem;
    letter-spacing: 0.04em;
}

.mochi-lunar-doll-theme .hero-eye-signature
{
    display: flex;
    flex-wrap: wrap;
    gap: 0.7rem;
    margin-bottom: 1.1rem;
}

.mochi-lunar-doll-theme .eye-chip
{
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    padding: 0.62rem 0.95rem;
    border-radius: 999px;
    font-size: 0.82rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    border: 1px solid transparent;
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.08);
}

.mochi-lunar-doll-theme .eye-chip-crimson
{
    color: #f3d9e0;
    background: linear-gradient(180deg, rgba(168,74,98,0.20), rgba(168,74,98,0.08));
    border-color: rgba(213,140,160,0.22);
}

.mochi-lunar-doll-theme .eye-chip-ice
{
    color: #e5f1ff;
    background: linear-gradient(180deg, rgba(157,196,242,0.18), rgba(157,196,242,0.07));
    border-color: rgba(201,216,238,0.24);
}

.mochi-lunar-doll-theme .hero-glyph-meta
{
    display: flex;
    flex-direction: column;
    gap: 0.55rem;
    color: var(--mochi-ivory-mist);
    font-size: 0.94rem;
}

.mochi-lunar-doll-theme .hero-glyph-meta i
{
    color: var(--mochi-ice-eye);
}

/* ═══════════════════════════════════════════════════════
DIVIDERS
═══════════════════════════════════════════════════════ */

.mochi-lunar-doll-theme .spell-seal-divider
{
    display: flex;
    justify-content: center;
    padding: 1.7rem 1rem;
}

.mochi-lunar-doll-theme .spell-seal-svg
{
    width: min(340px, 100%);
    height: auto;
    overflow: visible;
    filter: drop-shadow(0 0 16px rgba(157,196,242,0.10));
}

.mochi-lunar-doll-theme .seal-arm
{
    stroke: rgba(212,225,244,0.32);
    stroke-width: 1.2;
}

.mochi-lunar-doll-theme .seal-ring-outer,
.mochi-lunar-doll-theme .seal-ring-inner
{
    fill: none;
    stroke-width: 1.35;
}

.mochi-lunar-doll-theme .seal-ring-outer
{
    stroke: rgba(230,238,251,0.34);
}

.mochi-lunar-doll-theme .seal-ring-inner
{
    stroke: rgba(157,196,242,0.28);
}

.mochi-lunar-doll-theme .seal-glyph
{
    fill: var(--mochi-pearl);
    font-size: 11px;
    letter-spacing: 0.22em;
    font-family: var(--mochi-body);
}

/* ═══════════════════════════════════════════════════════
SECTIONS
═══════════════════════════════════════════════════════ */

.mochi-lunar-doll-theme .tech-section,
.mochi-lunar-doll-theme .features-section,
.mochi-lunar-doll-theme .gallery-section,
.mochi-lunar-doll-theme .video-section,
.mochi-lunar-doll-theme .github-notice-section,
.mochi-lunar-doll-theme .frieren-quote-block
{
    width: min(1240px, calc(100% - 2rem));
    margin: 0 auto;
}

.mochi-lunar-doll-theme .tech-section,
.mochi-lunar-doll-theme .features-section,
.mochi-lunar-doll-theme .gallery-section,
.mochi-lunar-doll-theme .video-section,
.mochi-lunar-doll-theme .github-notice-section
{
    padding: 2.25rem 0 0.5rem;
}

.mochi-lunar-doll-theme .section-title
{
    margin: 0;
    text-align: center;
    font-family: var(--mochi-serif);
    font-size: clamp(2.1rem, 4vw, 3.2rem);
    line-height: 1.08;
    font-weight: 700;
    background: linear-gradient(100deg, var(--mochi-crimson-eye) 0%, var(--mochi-crimson-soft) 34%, var(--mochi-pearl) 58%, var(--mochi-ice-eye) 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    text-shadow: none;
    filter: drop-shadow(0 0 18px rgba(201,216,238,0.12))
    drop-shadow(0 0 10px rgba(168,74,98,0.10));
}

.mochi-lunar-doll-theme .section-line
{
    width: min(220px, 55vw);
    height: 2px;
    margin: 1rem auto 2rem;
    border-radius: 999px;
    background: linear-gradient(90deg, rgba(230,238,251,0), rgba(213,140,160,0.55), rgba(230,238,251,0.75), rgba(157,196,242,0.55), rgba(230,238,251,0));
    box-shadow: 0 0 12px rgba(230,238,251,0.10), 0 0 18px rgba(157,196,242,0.08);
}

/* ═══════════════════════════════════════════════════════
TECH GRID
═══════════════════════════════════════════════════════ */

.mochi-lunar-doll-theme .tech-grid
{
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
    gap: 1rem;
}

.mochi-lunar-doll-theme .tech-item
{
    position: relative;
    display: flex;
    align-items: center;
    gap: 0.8rem;
    padding: 1rem;
    border-radius: 18px;
    background: linear-gradient(180deg, rgba(255,255,255,0.05) 0%, rgba(255,255,255,0.015) 100%), linear-gradient(135deg, rgba(22,28,39,0.92) 0%, rgba(12,15,23,0.94) 100%);
    border: 1px solid var(--mochi-border);
    box-shadow: var(--mochi-shadow-soft), var(--mochi-shadow-inset);
    color: var(--mochi-moon);
    overflow: hidden;
    transition: transform var(--mochi-fast), border-color var(--mochi-fast), box-shadow var(--mochi-fast);
}

.mochi-lunar-doll-theme .tech-item::before
{
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(120deg, transparent 0%, rgba(255,255,255,0.06) 34%, transparent 54%);
    transform: translateX(-125%);
    transition: transform 0.85s ease;
}

.mochi-lunar-doll-theme .tech-item:hover::before
{
    transform: translateX(135%);
}

.mochi-lunar-doll-theme .tech-item:hover
{
    transform: translateY(-4px);
    border-color: rgba(230,238,251,0.32);
    box-shadow: 0 18px 32px rgba(0,0,0,0.34), 0 0 16px rgba(157,196,242,0.08);
}

.mochi-lunar-doll-theme .tech-item i
{
    width: 38px;
    height: 38px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    color: var(--mochi-pearl);
    background: radial-gradient(circle at 30% 30%, rgba(255,255,255,0.16), transparent 48%), linear-gradient(135deg, rgba(127,150,184,0.86) 0%, rgba(34,43,59,0.92) 100%);
    box-shadow: 0 0 14px rgba(157,196,242,0.10);
}

/* ═══════════════════════════════════════════════════════
RITUAL EMBLEM
═══════════════════════════════════════════════════════ */

.mochi-lunar-doll-theme .spell-cast-wrap
{
    margin: 0 auto 2rem;
    display: grid;
    place-items: center;
    gap: 1rem;
}

.mochi-lunar-doll-theme .rune-ritual-wrap
{
    position: relative;
    width: clamp(180px, 26vw, 240px);
    aspect-ratio: 1;
    display: grid;
    place-items: center;
}

.mochi-lunar-doll-theme .rune-ritual-wrap::before
{
    content: "";
    position: absolute;
    inset: 10%;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(230,238,251,0.06), transparent 68%);
    filter: blur(10px);
}

.mochi-lunar-doll-theme .rune-ritual-svg
{
    width: 100%;
    height: 100%;
    overflow: visible;
    filter: drop-shadow(0 0 18px rgba(157,196,242,0.10));
}

.mochi-lunar-doll-theme .rune-r-outer,
.mochi-lunar-doll-theme .rune-r-mid,
.mochi-lunar-doll-theme .rune-r-inner
{
    fill: none;
    stroke-width: 1.35;
}

.mochi-lunar-doll-theme .rune-r-outer { stroke: rgba(230,238,251,0.32); }
.mochi-lunar-doll-theme .rune-r-mid   { stroke: rgba(157,196,242,0.32); }
.mochi-lunar-doll-theme .rune-r-inner { stroke: rgba(242,236,232,0.26); }

.mochi-lunar-doll-theme .rune-r-glyph
{
    fill: var(--mochi-pearl);
    font-size: 14px;
    opacity: 0.92;
}

/* ═══════════════════════════════════════════════════════
FEATURES
═══════════════════════════════════════════════════════ */

.mochi-lunar-doll-theme .features-grid
{
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(245px, 1fr));
    gap: 1.25rem;
}

.mochi-lunar-doll-theme .feature-card
{
    position: relative;
    perspective: 1200px;
}

.mochi-lunar-doll-theme .feature-card-inner,
.mochi-lunar-doll-theme .feature-card-front
{
    height: 100%;
}

.mochi-lunar-doll-theme .feature-card-front
{
    position: relative;
    min-height: 290px;
    border-radius: 24px;
    padding: 1.45rem;
    background: linear-gradient(180deg, rgba(255,255,255,0.05) 0%, rgba(255,255,255,0.015) 100%), linear-gradient(145deg, rgba(23,29,41,0.94) 0%, rgba(12,15,23,0.97) 100%);
    border: 1px solid var(--mochi-border);
    box-shadow: var(--mochi-shadow-soft), inset 0 1px 0 rgba(255,255,255,0.08), inset 0 0 60px rgba(157,196,242,0.04);
    overflow: hidden;
    transition: transform var(--mochi-slow), border-color var(--mochi-fast), box-shadow var(--mochi-fast);
}

.mochi-lunar-doll-theme .feature-card-front::before
{
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(125deg, transparent 14%, rgba(255,255,255,0.06) 28%, transparent 42%), radial-gradient(circle at top right, rgba(230,238,251,0.06), transparent 28%);
    opacity: 0.9;
    transform: translateX(-12%);
    transition: opacity var(--mochi-fast), transform var(--mochi-slow);
}

.mochi-lunar-doll-theme .feature-card-front::after
{
    content: "";
    position: absolute;
    inset: 12px;
    border-radius: 18px;
    border: 1px solid rgba(242,236,232,0.06);
    pointer-events: none;
}

.mochi-lunar-doll-theme .feature-card:hover .feature-card-front
{
    transform: translateY(-8px);
    border-color: rgba(230,238,251,0.34);
    box-shadow: 0 24px 42px rgba(0,0,0,0.4), 0 0 20px rgba(157,196,242,0.08), inset 0 1px 0 rgba(255,255,255,0.10);
}

.mochi-lunar-doll-theme .feature-card:hover .feature-card-front::before
{
    transform: translateX(12%);
}

.mochi-lunar-doll-theme .feature-content
{
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    height: 100%;
}

.mochi-lunar-doll-theme .feature-icon
{
    width: 58px;
    height: 58px;
    display: grid;
    place-items: center;
    margin-bottom: 1rem;
    border-radius: 18px;
    color: var(--mochi-pearl);
    background: linear-gradient(135deg, rgba(127,150,184,0.82), rgba(31,40,55,0.92));
    box-shadow: 0 0 18px rgba(157,196,242,0.10), inset 0 1px 0 rgba(255,255,255,0.12);
    font-size: 1.25rem;
}

.mochi-lunar-doll-theme .feature-title
{
    margin: 0 0 0.7rem;
    font-family: var(--mochi-serif);
    font-size: 1.58rem;
    color: var(--mochi-pearl);
    line-height: 1.12;
}

.mochi-lunar-doll-theme .feature-description
{
    margin: 0 0 0.9rem;
    color: var(--mochi-text-soft);
    font-size: 0.98rem;
}

.mochi-lunar-doll-theme .feature-lore-inline
{
    margin-top: auto;
    padding-top: 0.85rem;
    color: var(--mochi-ivory-mist);
    font-size: 0.88rem;
    letter-spacing: 0.1em;
    border-top: 1px solid rgba(212,225,244,0.10);
}

/* ═══════════════════════════════════════════════════════
LUMINOUS VALENTINE SECTION
═══════════════════════════════════════════════════════ */

.mochi-lunar-doll-theme .lv-character-layout
{
    display: grid;
    grid-template-columns: 1.4fr 1fr 1fr;
    gap: 1.25rem;
}

.mochi-lunar-doll-theme .lv-portrait-front
{
    min-height: 340px;
}

.mochi-lunar-doll-theme .lv-eye-row
{
    display: flex;
    align-items: center;
    gap: 1rem;
    margin-bottom: 1.4rem;
    flex-wrap: wrap;
}

.mochi-lunar-doll-theme .lv-eye-swatch
{
    display: inline-flex;
    align-items: center;
    gap: 0.55rem;
    padding: 0.55rem 1rem;
    border-radius: 999px;
    font-size: 0.82rem;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.mochi-lunar-doll-theme .lv-eye-crimson
{
    background: rgba(168, 74, 98, 0.22);
    border: 1px solid rgba(213, 140, 160, 0.45);
    color: var(--mochi-crimson-soft);
}

.mochi-lunar-doll-theme .lv-eye-ice
{
    background: rgba(157, 196, 242, 0.10);
    border: 1px solid rgba(157, 196, 242, 0.38);
    color: var(--mochi-ice-eye);
}

.mochi-lunar-doll-theme .lv-eye-divider
{
    color: var(--mochi-moon);
    opacity: 0.5;
    font-size: 0.75rem;
}

.mochi-lunar-doll-theme .lv-trait-list
{
    display: flex;
    flex-direction: column;
    gap: 0.55rem;
    margin-top: 1.2rem;
}

.mochi-lunar-doll-theme .lv-trait
{
    display: flex;
    align-items: center;
    gap: 0.65rem;
    color: var(--mochi-text-soft);
    font-size: 0.92rem;
}

.mochi-lunar-doll-theme .lv-trait i
{
    color: var(--mochi-crimson-soft);
    width: 16px;
    text-align: center;
}

/* ═══════════════════════════════════════════════════════
MANIFESTO
═══════════════════════════════════════════════════════ */

.mochi-lunar-doll-theme .frieren-quote-block
{
    padding: 2rem 0;
}

.mochi-lunar-doll-theme .frieren-quote-inner
{
    position: relative;
    padding: 3.2rem 2rem;
    border-radius: 32px;
    background: linear-gradient(180deg, rgba(24, 30, 42, 0.90) 0%, rgba(11,15,22,0.95) 100%);
    border: 1px solid var(--mochi-border);
    box-shadow: var(--mochi-shadow-deep), inset 0 1px 0 rgba(255,255,255,0.08), inset 0 0 90px rgba(157,196,242,0.04);
    text-align: center;
    overflow: hidden;
}

.mochi-lunar-doll-theme .frieren-quote-inner::before
{
    content: "";
    position: absolute;
    inset: 0;
    background: radial-gradient(circle at top center, rgba(255,255,255,0.06), transparent 32%), linear-gradient(115deg, transparent 8%, rgba(255,255,255,0.04) 26%, transparent 40%);
    pointer-events: none;
}

.mochi-lunar-doll-theme .frieren-quote-mark
{
    position: relative;
    display: inline-grid;
    place-items: center;
    width: 62px;
    height: 62px;
    margin-bottom: 1rem;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(157,196,242,0.20), rgba(127,150,184,0.08));
    color: var(--mochi-pearl);
    font-size: 1.35rem;
    box-shadow: 0 0 20px rgba(157,196,242,0.10);
}

.mochi-lunar-doll-theme .quote-rune-bg
{
    position: absolute;
    inset: auto 50% 18px auto;
    width: 240px;
    height: 240px;
    transform: translateX(50%);
    border-radius: 50%;
    border: 1px solid rgba(230,238,251,0.06);
    box-shadow: 0 0 0 18px rgba(230,238,251,0.02), 0 0 0 38px rgba(157,196,242,0.015);
    opacity: 0.8;
    pointer-events: none;
}

.mochi-lunar-doll-theme .frieren-quote-inner blockquote
{
    margin: 0 auto 1rem;
    max-width: 780px;
    font-family: var(--mochi-serif);
    font-size: clamp(1.4rem, 2.3vw, 2.05rem);
    line-height: 1.55;
    color: var(--mochi-pearl);
}

.mochi-lunar-doll-theme .frieren-quote-inner cite
{
    display: inline-block;
    color: var(--mochi-ivory-mist);
    font-style: normal;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    font-size: 0.88rem;
}

/* ═══════════════════════════════════════════════════════
REPOSITORY CARD
═══════════════════════════════════════════════════════ */

.mochi-lunar-doll-theme .notice-card.grimoire-tome
{
    position: relative;
    display: grid;
    grid-template-columns: 74px minmax(0, 1fr);
    align-items: stretch;
    text-decoration: none;
    border-radius: 30px;
    overflow: hidden;
    background: linear-gradient(180deg, rgba(255,255,255,0.05), rgba(255,255,255,0.02)), linear-gradient(145deg, rgba(23,29,41,0.95) 0%, rgba(12,15,23,0.97) 100%);
    border: 1px solid var(--mochi-border);
    box-shadow: var(--mochi-shadow-deep), inset 0 1px 0 rgba(255,255,255,0.08);
    transition: transform var(--mochi-fast), border-color var(--mochi-fast), box-shadow var(--mochi-fast);
}

.mochi-lunar-doll-theme .notice-card.grimoire-tome:hover
{
    transform: translateY(-6px);
    border-color: rgba(230,238,251,0.34);
    box-shadow: 0 28px 52px rgba(0,0,0,0.45), 0 0 26px rgba(157,196,242,0.08);
}

.mochi-lunar-doll-theme .tome-spine
{
    position: relative;
    padding: 1.4rem 0.7rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 1rem;
    background: linear-gradient(180deg, rgba(64,78,100,0.94) 0%, rgba(25,31,43,0.98) 100%);
    border-right: 1px solid rgba(255,255,255,0.08);
    color: var(--mochi-pearl);
    text-align: center;
}

.mochi-lunar-doll-theme .tome-spine::after
{
    content: "";
    position: absolute;
    top: 18px;
    bottom: 18px;
    right: 10px;
    width: 1px;
    background: rgba(255,255,255,0.14);
}

.mochi-lunar-doll-theme .tome-spine-title
{
    writing-mode: vertical-rl;
    transform: rotate(180deg);
    letter-spacing: 0.24em;
    text-transform: uppercase;
    font-size: 0.84rem;
}

.mochi-lunar-doll-theme .tome-spine-rune
{
    opacity: 0.9;
}

.mochi-lunar-doll-theme .tome-page
{
    position: relative;
    padding: 1.5rem;
    background: linear-gradient(180deg, rgba(255,255,255,0.04), rgba(255,255,255,0.01)), linear-gradient(145deg, rgba(19,25,34,0.92) 0%, rgba(12,15,23,0.96) 100%);
}

.mochi-lunar-doll-theme .tome-page::before
{
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(115deg, transparent 0%, rgba(255,255,255,0.06) 18%, transparent 34%);
    transform: translateX(-120%);
    transition: transform 0.9s ease;
    pointer-events: none;
}

.mochi-lunar-doll-theme .notice-card.grimoire-tome:hover .tome-page::before
{
    transform: translateX(130%);
}

.mochi-lunar-doll-theme .tome-clasp
{
    position: absolute;
    right: 22px;
    width: 50px;
    height: 10px;
    border-radius: 999px;
    background: linear-gradient(180deg, rgba(230,238,251,0.90), rgba(161,170,188,0.82));
    box-shadow: 0 2px 10px rgba(0,0,0,0.28);
}

.mochi-lunar-doll-theme .tome-clasp-top { top: 18px; }
.mochi-lunar-doll-theme .tome-clasp-bottom { bottom: 18px; }

.mochi-lunar-doll-theme .tome-page-inner
{
    display: grid;
    grid-template-columns: 88px minmax(0, 1fr);
    gap: 1.25rem;
    align-items: start;
}

.mochi-lunar-doll-theme .notice-icon
{
    width: 78px;
    height: 78px;
    display: grid;
    place-items: center;
    border-radius: 24px;
    background: linear-gradient(135deg, rgba(127,150,184,0.84), rgba(25,31,43,0.94));
    color: var(--mochi-pearl);
    font-size: 2rem;
    box-shadow: 0 0 18px rgba(157,196,242,0.10);
}

.mochi-lunar-doll-theme .tome-content h3
{
    margin: 0 0 0.6rem;
    font-family: var(--mochi-serif);
    font-size: 1.85rem;
    color: var(--mochi-pearl);
}

.mochi-lunar-doll-theme .tome-content p
{
    margin: 0 0 1rem;
}

.mochi-lunar-doll-theme .tome-stats
{
    display: flex;
    align-items: center;
    gap: 1rem;
    margin: 1rem 0;
    flex-wrap: wrap;
}

.mochi-lunar-doll-theme .tome-stat
{
    display: inline-flex;
    align-items: center;
    gap: 0.55rem;
    padding: 0.8rem 1rem;
    border-radius: 16px;
    background: rgba(255,255,255,0.04);
    border: 1px solid rgba(212,225,244,0.12);
    color: var(--mochi-moon);
}

.mochi-lunar-doll-theme .tome-stat i
{
    color: var(--mochi-ice-eye);
}

.mochi-lunar-doll-theme .tome-stat-divider
{
    color: rgba(230,238,251,0.24);
    font-size: 1.4rem;
}

.mochi-lunar-doll-theme .tome-note
{
    color: var(--mochi-ivory-mist);
}

/* ═══════════════════════════════════════════════════════
UTILITIES / ANIMATION
═══════════════════════════════════════════════════════ */

.mochi-lunar-doll-theme .sr-only
{
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0,0,0,0);
    white-space: nowrap;
    border: 0;
}

@keyframes mochiMoonBreath
{
    0%, 100%
    {
        opacity: 0.36;
        transform: scale(1);
    }
    50%
    {
        opacity: 0.5;
        transform: scale(1.03);
    }
}

/* ═══════════════════════════════════════════════════════
MOON CABINET JS SUPPORT LAYER
═══════════════════════════════════════════════════════ */

.mochi-lunar-doll-theme.moon-cabinet-page
{
    --moon-ease: cubic-bezier(0.16, 1, 0.3, 1);
}

.mochi-lunar-doll-theme.moon-cabinet-page .project-hero
{
    isolation: isolate;
}

.mochi-lunar-doll-theme.moon-cabinet-page .moon-cursor-halo
{
    position: absolute;
    left: 0;
    top: 0;
    width: 240px;
    height: 240px;
    border-radius: 50%;
    pointer-events: none;
    opacity: 0;
    z-index: 1;
    background: radial-gradient(circle, rgba(201,216,238,0.18) 0%, rgba(157,196,242,0.10) 30%, rgba(157,196,242,0.03) 56%, transparent 72%);
    filter: blur(14px);
    transition: opacity 0.35s var(--moon-ease);
    will-change: transform, opacity;
}

.mochi-lunar-doll-theme.moon-cabinet-page .moon-cursor-halo.is-active
{
    opacity: 1;
}

.mochi-lunar-doll-theme.moon-cabinet-page .hero-content
{
    position: relative;
    z-index: 2;
}

.mochi-lunar-doll-theme.moon-cabinet-page .cabinet-record-card
{
    transform-style: preserve-3d;
    will-change: transform;
    transition: transform 0.28s var(--moon-ease), box-shadow var(--mochi-fast), border-color var(--mochi-fast);
}

.mochi-lunar-doll-theme.moon-cabinet-page .portrait-frame,
.mochi-lunar-doll-theme.moon-cabinet-page .record-heading,
.mochi-lunar-doll-theme.moon-cabinet-page .record-meta,
.mochi-lunar-doll-theme.moon-cabinet-page .hero-eye-signature
{
    transition: transform 0.28s var(--moon-ease);
    will-change: transform;
}

.mochi-lunar-doll-theme.moon-cabinet-page .portrait-frame
{
    position: relative;
    margin-bottom: 1.1rem;
}

.mochi-lunar-doll-theme.moon-cabinet-page .portrait-frame::after
{
    content: "";
    position: absolute;
    inset: auto 16px 14px 16px;
    height: 1px;
    background: linear-gradient(90deg, rgba(230,238,251,0), rgba(230,238,251,0.38), rgba(157,196,242,0.18), rgba(230,238,251,0));
    pointer-events: none;
}

.mochi-lunar-doll-theme.moon-cabinet-page .portrait-image
{
    width: 100%;
    max-height: 240px;
    display: block;
    object-fit: cover;
    border-radius: 18px;
    box-shadow: 0 16px 30px rgba(0,0,0,0.28), 0 0 0 1px rgba(230,238,251,0.06);
}

.mochi-lunar-doll-theme.moon-cabinet-page .registry-kicker-wrap
{
    display: flex;
    flex-wrap: wrap;
    gap: 0.7rem;
    align-items: center;
    margin-bottom: 1rem;
}

.mochi-lunar-doll-theme.moon-cabinet-page .registry-kicker,
.mochi-lunar-doll-theme.moon-cabinet-page .registry-code
{
    display: inline-flex;
    align-items: center;
    min-height: 36px;
    padding: 0.55rem 0.9rem;
    border-radius: 999px;
    border: 1px solid rgba(212,225,244,0.15);
    background: rgba(255,255,255,0.04);
    color: var(--mochi-moon);
    letter-spacing: 0.14em;
    text-transform: uppercase;
    font-size: 0.72rem;
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.05);
}

.mochi-lunar-doll-theme.moon-cabinet-page .section-indexline
{
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.9rem;
    margin-bottom: 0.85rem;
}

.mochi-lunar-doll-theme.moon-cabinet-page .section-index
{
    font-size: 0.78rem;
    text-transform: uppercase;
    letter-spacing: 0.22em;
    color: var(--mochi-moon);
    white-space: nowrap;
}

.mochi-lunar-doll-theme.moon-cabinet-page .section-index-rule
{
    width: min(120px, 24vw);
    height: 1px;
    background: linear-gradient(90deg, rgba(230,238,251,0.08), rgba(157,196,242,0.46), rgba(230,238,251,0.08));
}

.mochi-lunar-doll-theme.moon-cabinet-page .section-intro
{
    max-width: 740px;
    margin: 0 auto 1.2rem;
    text-align: center;
    color: var(--mochi-text-muted);
}

.mochi-lunar-doll-theme.moon-cabinet-page .cabinet-label
{
    color: var(--mochi-moon);
    letter-spacing: 0.16em;
    text-transform: uppercase;
    font-size: 0.76rem;
}

.mochi-lunar-doll-theme.moon-cabinet-page .section-indexline,
.mochi-lunar-doll-theme.moon-cabinet-page .section-title,
.mochi-lunar-doll-theme.moon-cabinet-page .section-intro,
.mochi-lunar-doll-theme.moon-cabinet-page .section-line,
.mochi-lunar-doll-theme.moon-cabinet-page .reveal-card
{
    opacity: 0;
    transform: translateY(24px);
    transition: opacity 0.75s var(--moon-ease), transform 0.75s var(--moon-ease);
}

.mochi-lunar-doll-theme.moon-cabinet-page .section-indexline.is-visible,
.mochi-lunar-doll-theme.moon-cabinet-page .section-title.is-visible,
.mochi-lunar-doll-theme.moon-cabinet-page .section-intro.is-visible,
.mochi-lunar-doll-theme.moon-cabinet-page .section-line.is-visible,
.mochi-lunar-doll-theme.moon-cabinet-page .reveal-card.is-visible
{
    opacity: 1;
    transform: translateY(0);
}

.mochi-lunar-doll-theme.moon-cabinet-page .reveal-sequence > *
{
    opacity: 0;
    transform: translateY(20px);
    animation: moonCabinetIntro 0.9s var(--moon-ease) forwards;
}

.mochi-lunar-doll-theme.moon-cabinet-page .reveal-sequence > *:nth-child(1) { animation-delay: 0.08s; }
.mochi-lunar-doll-theme.moon-cabinet-page .reveal-sequence > *:nth-child(2) { animation-delay: 0.16s; }
.mochi-lunar-doll-theme.moon-cabinet-page .reveal-sequence > *:nth-child(3) { animation-delay: 0.24s; }
.mochi-lunar-doll-theme.moon-cabinet-page .reveal-sequence > *:nth-child(4) { animation-delay: 0.32s; }
.mochi-lunar-doll-theme.moon-cabinet-page .reveal-sequence > *:nth-child(5) { animation-delay: 0.40s; }
.mochi-lunar-doll-theme.moon-cabinet-page .reveal-sequence > *:nth-child(6) { animation-delay: 0.48s; }

.mochi-lunar-doll-theme.moon-cabinet-page .cabinet-drawer
{
    perspective: 1200px;
}

.mochi-lunar-doll-theme.moon-cabinet-page .cabinet-drawer .feature-card-front
{
    transform-style: preserve-3d;
    will-change: transform;
    transition: transform 0.35s var(--moon-ease), border-color var(--mochi-fast), box-shadow var(--mochi-fast);
}

.mochi-lunar-doll-theme.moon-cabinet-page .cabinet-drawer:hover .feature-card-front
{
    transform: none;
}

.mochi-lunar-doll-theme.moon-cabinet-page .shimmer-divider
{
    position: relative;
    overflow: hidden;
}

.mochi-lunar-doll-theme.moon-cabinet-page .shimmer-divider::after
{
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(100deg, transparent 20%, rgba(255,255,255,0.02) 35%, rgba(230,238,251,0.22) 50%, rgba(255,255,255,0.02) 65%, transparent 80%);
    transform: translateX(-120%);
    pointer-events: none;
}

.mochi-lunar-doll-theme.moon-cabinet-page .shimmer-divider.is-shimmering::after
{
    animation: moonDividerShimmer 1.4s ease forwards;
}

.mochi-lunar-doll-theme.moon-cabinet-page .cabinet-section
{
    position: relative;
}

.mochi-lunar-doll-theme.moon-cabinet-page .cabinet-note
{
    overflow: hidden;
}

.mochi-lunar-doll-theme.moon-cabinet-page .section-intro,
.mochi-lunar-doll-theme.moon-cabinet-page .registry-code,
.mochi-lunar-doll-theme.moon-cabinet-page .registry-kicker
{
    text-shadow: 0 0 14px rgba(157,196,242,0.06);
}

@keyframes moonDividerShimmer
{
    0% { transform: translateX(-120%); opacity: 0; }
    20% { opacity: 1; }
    100% { transform: translateX(120%); opacity: 0; }
}

@keyframes moonCabinetIntro
{
    from
    {
        opacity: 0;
        transform: translateY(20px);
    }
    to
    {
        opacity: 1;
        transform: translateY(0);
    }
}

/* ═══════════════════════════════════════════════════════
RESPONSIVE
═══════════════════════════════════════════════════════ */

@media (max-width: 1100px)
{
    .mochi-lunar-doll-theme .hero-header
    {
        grid-template-columns: 1fr;
    }

    .mochi-lunar-doll-theme .hero-side
    {
        max-width: 620px;
    }

    .mochi-lunar-doll-theme .lv-character-layout
    {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 768px)
{
    .mochi-lunar-doll-theme .project-hero
    {
        padding: 6.5rem 1rem 4rem;
        min-height: auto;
    }

    .mochi-lunar-doll-theme .hero-main,
    .mochi-lunar-doll-theme .hero-glyph-card,
    .mochi-lunar-doll-theme .frieren-quote-inner,
    .mochi-lunar-doll-theme .notice-card.grimoire-tome
    {
        border-radius: 22px;
    }

    .mochi-lunar-doll-theme .hero-main
    {
        padding: 1.4rem;
    }

    .mochi-lunar-doll-theme .project-description
    {
        font-size: 1rem;
    }

    .mochi-lunar-doll-theme .hero-actions
    {
        flex-direction: column;
        align-items: stretch;
    }

    .mochi-lunar-doll-theme .cyber-button
    {
        width: 100%;
        min-width: 0;
    }

    .mochi-lunar-doll-theme .tech-grid,
    .mochi-lunar-doll-theme .features-grid
    {
        grid-template-columns: 1fr;
    }

    .mochi-lunar-doll-theme .tome-page-inner
    {
        grid-template-columns: 1fr;
    }

    .mochi-lunar-doll-theme .notice-icon
    {
        width: 70px;
        height: 70px;
    }

    .mochi-lunar-doll-theme .notice-card.grimoire-tome
    {
        grid-template-columns: 1fr;
    }

    .mochi-lunar-doll-theme .tome-spine
    {
        flex-direction: row;
        gap: 0.7rem;
        padding: 0.9rem 1rem;
    }

    .mochi-lunar-doll-theme .tome-spine::after
    {
        display: none;
    }

    .mochi-lunar-doll-theme .tome-spine-title
    {
        writing-mode: initial;
        transform: none;
    }

    .mochi-lunar-doll-theme.moon-cabinet-page .registry-kicker-wrap
    {
        gap: 0.55rem;
    }

    .mochi-lunar-doll-theme.moon-cabinet-page .registry-kicker,
    .mochi-lunar-doll-theme.moon-cabinet-page .registry-code
    {
        width: 100%;
        justify-content: center;
    }

    .mochi-lunar-doll-theme.moon-cabinet-page .section-indexline
    {
        gap: 0.7rem;
    }

    .mochi-lunar-doll-theme.moon-cabinet-page .section-index-rule
    {
        width: min(82px, 20vw);
    }

    .mochi-lunar-doll-theme.moon-cabinet-page .moon-cursor-halo
    {
        width: 180px;
        height: 180px;
    }
}

@media (max-width: 520px)
{
    .mochi-lunar-doll-theme .project-title
    {
        font-size: clamp(2.15rem, 10vw, 3rem);
    }

    .mochi-lunar-doll-theme .project-subtitle
    {
        letter-spacing: 0.12em;
        font-size: 0.92rem;
    }

    .mochi-lunar-doll-theme .meta-item
    {
        width: 100%;
        justify-content: center;
    }

    .mochi-lunar-doll-theme .section-title
    {
        font-size: clamp(1.8rem, 9vw, 2.4rem);
    }

    .mochi-lunar-doll-theme .feature-card-front
    {
        min-height: 260px;
    }

    .mochi-lunar-doll-theme .frieren-quote-inner
    {
        padding: 2.4rem 1.1rem;
    }

    .mochi-lunar-doll-theme .hero-eye-signature
    {
        flex-direction: column;
    }

    .mochi-lunar-doll-theme.moon-cabinet-page .portrait-image
    {
        max-height: 200px;
    }
}

@media (prefers-reduced-motion: reduce)
{
    .mochi-lunar-doll-theme *,
    .mochi-lunar-doll-theme *::before,
    .mochi-lunar-doll-theme *::after
    {
        animation: none !important;
        transition: none !important;
        scroll-behavior: auto !important;
    }

    .mochi-lunar-doll-theme.moon-cabinet-page .section-indexline,
    .mochi-lunar-doll-theme.moon-cabinet-page .section-title,
    .mochi-lunar-doll-theme.moon-cabinet-page .section-intro,
    .mochi-lunar-doll-theme.moon-cabinet-page .section-line,
    .mochi-lunar-doll-theme.moon-cabinet-page .reveal-card,
    .mochi-lunar-doll-theme.moon-cabinet-page .reveal-sequence > *
    {
        opacity: 1 !important;
        transform: none !important;
        animation: none !important;
    }

    .mochi-lunar-doll-theme.moon-cabinet-page .moon-cursor-halo
    {
        display: none !important;
    }
}