
/* ===========================================
   AKAME GA KILL — Akame Theme
   Murasame crimson, silent blade
   =========================================== */

.akame-ga-kill-theme
{
    --panel-accent: #ff0066;
}

.akame-ga-kill-theme .manga-show-content
{
    background: radial-gradient(ellipse at top, rgba(255, 0, 102, 0.08) 0%, transparent 60%);
}

.akame-ga-kill-theme .dedication-card
{
    border-color: #ff0066;
    box-shadow: 0 0 40px rgba(255, 0, 102, 0.42), 0 0 80px rgba(255, 0, 102, 0.12), inset 0 1px 0 rgba(255,255,255,0.05);
}

.akame-ga-kill-theme .dedication-card::before
{
    background: linear-gradient(90deg, transparent, #ff0066, #cc0044, #ff0066, transparent);
}

.akame-ga-kill-theme .dedication-tagline
{
    color: #ffb3cc;
    text-shadow: 0 0 15px rgba(255, 0, 102, 0.95), 0 0 40px rgba(255, 0, 102, 0.36);
    font-style: normal;
    letter-spacing: 0.05em;
}

.akame-ga-kill-theme .dedication-icon i
{
    color: #ff0066;
    text-shadow: 0 0 20px rgba(255,0,102,0.9);
    animation: murasame 2.5s ease-in-out infinite;
}

@keyframes murasame
{
    0%, 90%, 100% { text-shadow: 0 0 20px rgba(255,0,102,0.9); transform: scale(1); }
    45% { text-shadow: 0 0 40px rgba(255,0,102,1), 0 0 80px rgba(255, 0, 102, 0.6); transform: scale(1.12); }
}

.akame-ga-kill-theme .manga-hero-banner
{
    filter: saturate(0.5) contrast(1.15);
}

.akame-ga-kill-theme .manga-hero-overlay
{
    background: linear-gradient(to bottom, rgba(0,0,0,0.1) 0%, rgba(80,0,30,0.55) 60%, rgba(255, 0, 102, 0.95) 100%);
}

.akame-ga-kill-theme .panel-glow-bar
{
    background: linear-gradient(90deg, transparent, #cc0044, #ff0066, #cc0044, transparent);
}

.akame-ga-kill-theme .manga-panel-frame
{
    border-color: rgba(255, 0, 102, 0.36);
    filter: saturate(0.6);
}

.akame-ga-kill-theme .manga-panel-frame:hover
{
    border-color: #ff0066;
    box-shadow: 0 0 30px rgba(255, 0, 102, 0.72);
    filter: saturate(1);
}

.akame-ga-kill-theme .section-title
{
    background: linear-gradient(45deg, #cc0044, #ff0066, #ffb3cc);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.akame-ga-kill-theme .section-line
{
    background: linear-gradient(90deg, #cc0044, #ff0066, #cc0044);
    box-shadow: 0 0 20px rgba(255, 0, 102, 0.6);
}

.akame-ga-kill-theme .cyber-button.secondary
{
    border-color: #ff0066;
    color: #ffb3cc;
}

.akame-ga-kill-theme .cyber-button.secondary:hover
{
    background: rgba(255, 0, 102, 0.18);
    box-shadow: 0 0 30px rgba(255, 0, 102, 0.72);
    color: #ffffff;
}

.recording-mode .akame-ga-kill-theme .dedication-icon i
{
    animation: none !important;
    transform: none !important;
}


/* ===========================================
   AKAME GA KILL — Dossier + Ledger Sections
   =========================================== */

/* ── Dossier container ── */
.akame-dossier
{
    position: relative;
    width: 100%;
    min-height: 580px;
    margin-bottom: 3.48rem;
    border-radius: 12px;
    overflow: hidden;
    border: 1px solid rgba(255, 0, 102, 0.24);
    background: #040001;
    transition: border-color 0.6s ease;
}

.akame-dossier.drawn
{
    border-color: rgba(255, 0, 102, 0.84);
}

/* Scanline */
.akame-dossier-scanline {
    position: absolute;
    inset: 0;
    background: repeating-linear-gradient(0deg, transparent, transparent 2px, rgba(0,0,0,0.07) 2px, rgba(0,0,0,0.07) 4px);
    z-index: 10;
    pointer-events: none;
}

/* ── Terminal bar ── */
.akame-terminal-bar
{
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 1.16rem 2.32rem;
    border-bottom: 1px solid rgba(255, 0, 102, 0.18);
    background: rgba(4, 0, 1, 0.95);
    position: relative;
    z-index: 5;
    gap: 1.16rem;
    flex-wrap: wrap;
}

.akame-terminal-org
{
    font-family: var(--font-ghost);
    font-size: 0.696rem;
    letter-spacing: 0.45em;
    color: rgba(255, 0, 102, 0.84);
    text-transform: uppercase;
}

.akame-terminal-status
{
    font-family: var(--font-ghost);
    font-size: 0.719rem;
    letter-spacing: 0.3em;
    color: rgba(255, 0, 102, 0.85);
    text-transform: uppercase;
    transition: all 0.5s ease;
}

.akame-dossier.drawn .akame-terminal-status
{
    color: #ff0066;
    text-shadow: 0 0 10px rgba(255, 0, 102, 0.9);
    animation: akameStatusBlink 0.8s step-end 4;
}

@keyframes akameStatusBlink
{
    0%, 100% { opacity: 1; }
    50%       { opacity: 0; }
}

/* ── Stage layout ── */
.akame-dossier-stage
{
    display: grid;
    grid-template-columns: 1fr 1fr;
    position: relative;
    z-index: 5;
}

/* ── Portrait zone ── */
.akame-portrait-zone
{
    position: relative;
    min-height: 400px;
    border-right: 1px solid rgba(255, 0, 102, 0.12);
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    transition: border-color 0.6s ease;
}

.akame-dossier.drawn .akame-portrait-zone
{
    border-right-color: rgba(255, 0, 102, 0.48);
}

.akame-portrait-img
{
    width: 220px;
    height: 300px;
    background-size: cover;
    background-position: center top;
    background-repeat: no-repeat;
    border-radius: 4px;
    position: relative;
    z-index: 3;
    filter: saturate(0.3) brightness(0.5);
    opacity: 0.5;
    transform: scale(0.96);
    transition: filter 1.2s ease 0.3s, opacity 1s ease 0.3s, transform 1.2s cubic-bezier(0.23,1,0.32,1) 0.2s, box-shadow 1s ease 0.5s;
}

.akame-dossier.drawn .akame-portrait-img
{
    filter: saturate(0.75) brightness(0.9) contrast(1.1);
    opacity: 1;
    transform: scale(1);
    box-shadow: 0 0 40px rgba(255, 0, 102, 0.6), 0 0 80px rgba(255, 0, 102, 0.24);
}

/* Blood drip — appears when drawn */
.akame-blood-drip
{
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 2px;
    height: 0;
    background: linear-gradient(to bottom, #ff0066, rgba(180, 0, 40, 0.48), transparent);
    border-radius: 0 0 2px 2px;
    z-index: 6;
    transition: height 1.4s cubic-bezier(0.23, 1, 0.32, 1) 0.6s;
    pointer-events: none;
}

.akame-dossier.drawn .akame-blood-drip
{
    height: 100%;
}

.akame-portrait-name
{
    position: absolute;
    bottom: 1.74rem;
    left: 50%;
    transform: translateX(-50%);
    font-family: var(--font-ghost);
    font-size: 0.719rem;
    letter-spacing: 0.5em;
    color: transparent;
    text-transform: uppercase;
    white-space: nowrap;
    z-index: 6;
    transition: color 0.8s ease 0.9s, text-shadow 0.8s ease 0.9s;
}

.akame-dossier.drawn .akame-portrait-name
{
    color: rgba(255, 100, 130, 0.75);
    text-shadow: 0 0 15px rgba(255, 0, 102, 0.72);
}

/* ── Stats zone ── */
.akame-stats-zone
{
    padding: 2.32rem;
    display: flex;
    flex-direction: column;
    gap: 0;
    position: relative;
    z-index: 5;
}

.akame-stats-heading
{
    font-family: var(--font-ghost);
    font-size: 0.673rem;
    letter-spacing: 0.5em;
    color: rgba(255, 0, 102, 0.9);
    text-transform: uppercase;
    border-bottom: 1px solid rgba(255, 0, 102, 0.46);
    padding-bottom: 0.812rem;
    margin-bottom: 1.392rem;
    display: flex;
    align-items: center;
    gap: 0.696rem;
}

.akame-stats-heading::before
{
    content: '▸';
    color: rgba(255, 0, 102, 0.71);
}

.akame-stat-card
{
    padding: 0.812rem 0;
    border-bottom: 1px solid rgba(255, 0, 102, 0.21);
    display: grid;
    grid-template-columns: 45% 1fr;
    gap: 0.58rem;
    align-items: center;
    filter: blur(5px);
    opacity: 0;
    transform: translateX(10px);
    transition: filter 0.5s ease, opacity 0.5s ease, transform 0.5s ease;
}

.akame-stat-card:last-of-type { border-bottom: none; }

/* Staggered reveal */
.akame-dossier.drawn .akame-stat-card:nth-child(1) { filter: none; opacity: 1; transform: none; transition-delay: 0.2s; }
.akame-dossier.drawn .akame-stat-card:nth-child(2) { filter: none; opacity: 1; transform: none; transition-delay: 0.35s; }
.akame-dossier.drawn .akame-stat-card:nth-child(3) { filter: none; opacity: 1; transform: none; transition-delay: 0.5s; }
.akame-dossier.drawn .akame-stat-card:nth-child(4) { filter: none; opacity: 1; transform: none; transition-delay: 0.65s; }
.akame-dossier.drawn .akame-stat-card:nth-child(5) { filter: none; opacity: 1; transform: none; transition-delay: 0.8s; }
.akame-dossier.drawn .akame-stat-card:nth-child(6) { filter: none; opacity: 1; transform: none; transition-delay: 0.95s; }

.akame-stat-key
{
    font-family: var(--font-ghost);
    font-size: 0.731rem;
    letter-spacing: 0.18em;
    color: rgba(255, 0, 102, 0.72);
    text-transform: uppercase;
    display: flex;
    align-items: center;
    gap: 0.464rem;
}

.akame-stat-key::before
{
    content: '//';
    opacity: 0.35;
    font-size: 0.638rem;
}

.akame-stat-val
{
    font-family: var(--font-ghost);
    font-size: 0.951rem;
    color: #ffb3cc;
    letter-spacing: 0.05em;
    line-height: 1.4;
}

/* Redacted fields */
.akame-stat-val.redacted-akame
{
    position: relative;
    color: transparent;
    user-select: none;
}

.akame-stat-val.redacted-akame::after
{
    content: '██████████';
    position: absolute;
    left: 0; top: 0;
    color: rgba(255, 0, 102, 0.82);
}

.akame-dossier.drawn .akame-stat-val.redacted-akame
{
    color: #ffb3cc;
    transition: color 0.4s ease 1.6s;
}

.akame-dossier.drawn .akame-stat-val.redacted-akame::after
{
    opacity: 0;
    transition: opacity 0.3s ease 1.5s;
}

/* ── Draw button wrap ── */
.akame-draw-wrap
{
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.928rem;
    margin-top: auto;
    padding-top: 1.74rem;
}

.akame-draw-label
{
    font-family: var(--font-ghost);
    font-size: 0.673rem;
    letter-spacing: 0.4em;
    color: rgba(255, 0, 102, 0.63);
    text-transform: uppercase;
    transition: opacity 0.4s ease;
}

.akame-dossier.drawn .akame-draw-label
{
    opacity: 0;
    pointer-events: none;
}

.akame-draw-btn
{
    font-family: var(--font-ghost);
    font-size: 0.835rem;
    letter-spacing: 0.4em;
    text-transform: uppercase;
    color: #ff0066;
    background: transparent;
    border: 1px solid rgba(255, 0, 102, 0.6);
    border-radius: 4px;
    padding: 0.812rem 2.32rem;
    cursor: pointer;
    transition: all 0.3s ease;
    text-shadow: 0 0 10px rgba(255, 0, 102, 0.6);
    box-shadow: 0 0 15px rgba(255, 0, 102, 0.18), inset 0 0 15px rgba(255, 0, 102, 0.06);
}

.akame-draw-btn:hover
{
    border-color: #ff0066;
    box-shadow: 0 0 30px rgba(255, 0, 102, 0.6), inset 0 0 20px rgba(255, 0, 102, 0.12);
    text-shadow: 0 0 20px rgba(255, 0, 102, 0.9);
    transform: scale(1.03);
}

.akame-dossier.drawn .akame-draw-btn
{
    border-color: rgba(255, 0, 102, 0.42);
    color: rgba(255, 0, 102, 0.63);
    cursor: default;
    pointer-events: none;
    box-shadow: none;
    text-shadow: none;
    transform: none;
}

.akame-sheathe-btn
{
    font-family: var(--font-ghost);
    font-size: 0.638rem;
    letter-spacing: 0.35em;
    text-transform: uppercase;
    color: rgba(255, 206, 220, 0.8);
    background: transparent;
    border: none;
    cursor: pointer;
    padding: 0.348rem 0.58rem;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.5s ease 1.8s, color 0.3s ease;
}

.akame-dossier.drawn .akame-sheathe-btn
{
    opacity: 1;
    pointer-events: all;
}

.akame-sheathe-btn:hover { color: rgba(255, 0, 102, 0.72); }

/* ── Quote strip ── */
.akame-quote-strip
{
    border-top: 1px solid rgba(255, 0, 102, 0.33);
    padding: 1.624rem 2.9rem;
    background: rgba(4, 0, 1, 0.95);
    display: flex;
    align-items: center;
    gap: 2.32rem;
    position: relative;
    z-index: 5;
    transition: border-color 0.6s ease;
}

.akame-dossier.drawn .akame-quote-strip
{
    border-top-color: rgba(255, 0, 102, 0.51);
}

.akame-quote-mark
{
    font-family: var(--font-ghost);
    font-size: 4.06rem;
    color: rgba(255, 0, 102, 0.95);
    line-height: 1;
    flex-shrink: 0;
    margin-top: -0.928rem;
}

.akame-quote-text
{
    font-family: var(--font-ghost);
    font-size: clamp(0.969rem, 1.4vw, 1.144rem);
    font-style: italic;
    line-height: 1.9;
    flex: 1;
    color: transparent;
    transition: color 0.8s ease 1.4s;
}

.akame-dossier.drawn .akame-quote-text
{
    color: rgba(255, 220, 235, 0.9);
}

.akame-quote-attr
{
    font-family: var(--font-ghost);
    font-size: 0.673rem;
    letter-spacing: 0.3em;
    color: transparent;
    text-transform: uppercase;
    line-height: 1.6;
    flex-shrink: 0;
    text-align: right;
    transition: color 0.6s ease 1.7s;
}

.akame-dossier.drawn .akame-quote-attr
{
    color: rgba(255, 0, 102, 0.7);
}


/* ══════════════════════════════════════════
   AKAME vs KUROME — Duel Dossier
   ══════════════════════════════════════════ */

.duel-dossier
{
    position: relative;
    width: 100%;
    margin-bottom: 3.48rem;
    border-radius: 12px;
    overflow: hidden;
    border: 1px solid rgba(255, 0, 102, 0.37);
    background: #030001;
}

/* Scanline */
.duel-scanline
{
    position: absolute;
    inset: 0;
    background: repeating-linear-gradient(0deg, transparent, transparent 2px, rgba(0,0,0,0.07) 2px, rgba(0,0,0,0.07) 4px);
    z-index: 10;
    pointer-events: none;
}

/* ── Top bar ── */
.duel-topbar
{
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 1.16rem 2.32rem;
    background: rgba(4, 0, 1, 0.95);
    border-bottom: 1px solid rgba(255, 0, 102, 0.34);
    position: relative;
    z-index: 5;
    flex-wrap: wrap;
    gap: 0.58rem;
}

.duel-topbar-label
{
    font-family: var(--font-ghost);
    font-size: 0.673rem;
    letter-spacing: 0.45em;
    color: rgba(255, 0, 102, 0.78);
    text-transform: uppercase;
}

.duel-topbar-status
{
    font-family: var(--font-ghost);
    font-size: 0.719rem;
    letter-spacing: 0.3em;
    color: rgba(255, 0, 102, 0.76);
    text-transform: uppercase;
}

/* ── Stage: three columns ── */
.duel-stage
{
    display: grid;
    grid-template-columns: 1fr 200px 1fr;
    position: relative;
    z-index: 5;
    min-height: 480px;
}

/* ── Each half ── */
.duel-half
{
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1.392rem;
    padding: 2.32rem 1.74rem;
}

.duel-akame
{
    border-right: 1px solid rgba(255, 0, 102, 0.38);
    background: linear-gradient(135deg, rgba(255, 0, 102, 0.09) 0%, transparent 60%);
}

.duel-kurome
{
    border-left: 1px solid rgba(80, 0, 40, 0.15);
    background: linear-gradient(225deg, rgba(120,0,60,0.05) 0%, transparent 60%);
}

/* Portrait */
.duel-portrait-wrap
{
    position: relative;
    width: 160px;
    height: 200px;
    flex-shrink: 0;
}

.duel-portrait
{
    width: 100%;
    height: 100%;
    background-size: cover;
    background-position: center top;
    border-radius: 6px;
    border: 1px solid rgba(255, 0, 102, 0.4);
    filter: saturate(0.4) brightness(0.7);
    transition: filter 0.6s ease, box-shadow 0.6s ease;
}

.duel-dossier:hover .duel-portrait
{
    filter: saturate(0.75) brightness(0.9);
}

.duel-half:hover .duel-portrait
{
    filter: saturate(0.9) brightness(1);
    box-shadow: 0 0 30px rgba(255, 0, 102, 0.48);
}

.duel-portrait-glow
{
    position: absolute;
    inset: -4px;
    border-radius: 8px;
    opacity: 0;
    transition: opacity 0.5s ease;
    pointer-events: none;
}

.akame-side-glow
{
    box-shadow: 0 0 30px rgba(255, 0, 102, 0.73), 0 0 60px rgba(255, 0, 102, 0.35);
}

.kurome-side-glow
{
    box-shadow: 0 0 30px rgba(180, 0, 80, 0.72), 0 0 60px rgba(100, 0, 40, 0.34);
}

.duel-half:hover .duel-portrait-glow { opacity: 1; }

/* Identity block */
.duel-identity
{
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.348rem;
    text-align: center;
}

.duel-codename
{
    font-family: var(--font-ghost);
    font-size: 1.16rem;
    letter-spacing: 0.4em;
    color: #ff0066;
    text-transform: uppercase;
    text-shadow: 0 0 12px rgba(255, 0, 102, 0.8);
}

.duel-subtitle
{
    font-family: var(--font-ghost);
    font-size: 0.638rem;
    letter-spacing: 0.25em;
    color: rgba(255, 0, 102, 0.8);
    text-transform: uppercase;
}

/* Stats block */
.duel-stats
{
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 0;
    border-top: 1px solid rgba(255, 0, 102, 0.33);
    padding-top: 1.16rem;
}

.duel-stat-row
{
    display: flex;
    flex-direction: column;
    gap: 0.232rem;
    padding: 0.696rem 0;
    border-bottom: 1px solid rgba(255, 0, 102, 0.33);
}

.duel-stat-row:last-child { border-bottom: none; }

.duel-stat-row-final
{
    margin-top: 0.464rem;
    padding-top: 0.928rem;
    border-top: 1px solid rgba(255, 0, 102, 0.33);
}

.duel-stat-key
{
    font-family: var(--font-ghost);
    font-size: 0.603rem;
    letter-spacing: 0.3em;
    color: rgba(255, 0, 102, 0.54);
    text-transform: uppercase;
}

.duel-stat-val
{
    font-family: var(--font-ghost);
    font-size: 0.835rem;
    letter-spacing: 0.08em;
    color: rgba(255, 179, 204, 0.8);
    line-height: 1.5;
}

.duel-answer-red
{
    color: #ff0066;
    text-shadow: 0 0 10px rgba(255, 0, 102, 0.6);
}

.duel-answer-dark
{
    color: rgba(200, 100, 140, 0.85);
}

/* ── Centre column ── */
.duel-centre
{
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 1.16rem;
    padding: 2.32rem 1.16rem;
    position: relative;
}

.duel-centre-line
{
    flex: 1;
    width: 1px;
    background: linear-gradient(to bottom, transparent, rgba(255, 0, 102, 0.42), transparent);
    min-height: 40px;
}

.duel-centre-node
{
    font-size: 1.624rem;
    color: rgba(255, 0, 102, 0.84);
    text-shadow: 0 0 15px rgba(255, 0, 102, 0.72);
    flex-shrink: 0;
    animation: duelNodePulse 3s ease-in-out infinite;
}

@keyframes duelNodePulse
{
    0%, 100% { opacity: 0.6; transform: scale(1); }
    50%       { opacity: 1;   transform: scale(1.15); }
}

.duel-centre-quote
{
    flex-shrink: 0;
}

.duel-centre-quote p
{
    font-family: var(--font-ghost);
    font-size: 0.673rem;
    font-style: italic;
    line-height: 2;
    color: rgba(255, 0, 102, 0.73);
    text-align: center;
    letter-spacing: 0.1em;
    transition: color 0.4s ease;
}

.duel-dossier:hover .duel-centre-quote p
{
    color: rgba(255, 0, 102, 0.78);
}

/* ── Outcome bar ── */
.duel-outcome-bar
{
    display: flex;
    align-items: center;
    gap: 1.74rem;
    padding: 1.16rem 2.32rem;
    border-top: 1px solid rgba(255, 0, 102, 0.31);
    background: rgba(4, 0, 1, 0.95);
    position: relative;
    z-index: 5;
}

.duel-outcome-label
{
    font-family: var(--font-ghost);
    font-size: 0.638rem;
    letter-spacing: 0.4em;
    color: rgba(255, 0, 102, 0.73);
    text-transform: uppercase;
    flex-shrink: 0;
}

.duel-outcome-val
{
    font-family: var(--font-ghost);
    font-size: 0.835rem;
    font-style: italic;
    letter-spacing: 0.08em;
    color: rgba(255, 179, 204, 0.83);
    line-height: 1.6;
}

/* ── Responsive ── */
@media (max-width: 750px)
{
    .duel-stage
    {
        grid-template-columns: 1fr;
    }

    .duel-centre
    {
        flex-direction: row;
        padding: 1.16rem 2.32rem;
        border-top: 1px solid rgba(255, 0, 102, 0.31);
        border-bottom: 1px solid rgba(255, 0, 102, 0.31);
    }

    .duel-centre-line
    {
        flex: 1;
        width: 100%;
        height: 1px;
        min-height: unset;
        background: linear-gradient(to right, transparent, rgba(255, 0, 102, 0.4), transparent);
    }

    .duel-centre-quote { display: none; }

    .duel-akame { border-right: none; border-bottom: 1px solid rgba(255, 0, 102, 0.2); }
    .duel-kurome { border-left: none; }
}

/* ══════════════════════════════════════════
   TEIGU ARSENAL
   ══════════════════════════════════════════ */

.teigu-arsenal
{
    position: relative;
    width: 100%;
    margin-bottom: 3.48rem;
    border-radius: 12px;
    overflow: hidden;
    border: 1px solid rgba(255, 0, 102, 0.34);
    background: #030001;
}

.teigu-scanline
{
    position: absolute;
    inset: 0;
    background: repeating-linear-gradient(0deg, transparent, transparent 2px, rgba(0,0,0,0.07) 2px, rgba(0,0,0,0.07) 4px);
    z-index: 10;
    pointer-events: none;
}

/* ── Top bar ── */
.teigu-topbar
{
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 1.16rem 2.32rem;
    background: rgba(4, 0, 1, 0.95);
    border-bottom: 1px solid rgba(255, 0, 102, 0.32);
    position: relative;
    z-index: 5;
    flex-wrap: wrap;
    gap: 0.58rem;
}

.teigu-topbar-label
{
    font-family: var(--font-ghost);
    font-size: 0.673rem;
    letter-spacing: 0.45em;
    color: rgba(255, 0, 102, 0.78);
    text-transform: uppercase;
}

.teigu-topbar-status
{
    font-family: var(--font-ghost);
    font-size: 0.719rem;
    letter-spacing: 0.3em;
    color: rgba(255, 0, 102, 0.85);
    text-transform: uppercase;
    transition: all 0.4s ease;
}

/* ── Three-column stage ── */
.teigu-stage
{
    display: grid;
    grid-template-columns: 220px 1fr 220px;
    min-height: 480px;
    position: relative;
    z-index: 5;
}

/* ── Faction columns ── */
.teigu-faction-col
{
    display: flex;
    flex-direction: column;
    background: rgba(4, 0, 1, 0.6);
}

.teigu-night-raid
{
    border-right: 1px solid rgba(255, 0, 102, 0.41);
}

.teigu-jaegers
{
    border-left: 1px solid rgba(255, 0, 102, 0.31);
}

.teigu-faction-header
{
    display: flex;
    align-items: center;
    gap: 0.812rem;
    padding: 1.16rem 1.392rem;
    border-bottom: 1px solid rgba(255, 0, 102, 0.43);
    background: rgba(255, 0, 102, 0.05);
}

.teigu-faction-sigil
{
    font-size: 1.16rem;
    color: rgba(255, 0, 102, 0.84);
}

.teigu-faction-name
{
    font-family: var(--font-ghost);
    font-size: 0.754rem;
    letter-spacing: 0.35em;
    color: rgba(255, 0, 102, 0.9);
    text-transform: uppercase;
}

/* ── Entry rows ── */
.teigu-list
{
    display: flex;
    flex-direction: column;
    flex: 1;
}

.teigu-entry
{
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 0.58rem;
    padding: 0.87rem 1.392rem;
    border-bottom: 1px solid rgba(255, 0, 102, 0.39);
    cursor: pointer;
    transition: background 0.25s ease, border-color 0.25s ease;
    border-left: 2px solid transparent;
}

.teigu-night-raid .teigu-entry { border-left: 2px solid transparent; }
.teigu-jaegers   .teigu-entry { border-right: 2px solid transparent; border-left: none; }

.teigu-entry:last-child { border-bottom: none; }

.teigu-entry:hover
{
    background: rgba(255, 0, 102, 0.08);
}

.teigu-night-raid .teigu-entry:hover,
.teigu-night-raid .teigu-entry.selected
{
    border-left-color: #ff0066;
}

.teigu-jaegers .teigu-entry:hover,
.teigu-jaegers .teigu-entry.selected
{
    border-right-color: #ff0066;
}

.teigu-entry.selected
{
    background: rgba(255, 0, 102, 0.12);
}

.teigu-entry-name
{
    font-family: var(--font-ghost);
    font-size: 0.812rem;
    letter-spacing: 0.12em;
    color: rgba(255, 179, 204, 0.8);
    text-transform: uppercase;
    transition: color 0.25s ease;
}

.teigu-entry:hover .teigu-entry-name,
.teigu-entry.selected .teigu-entry-name
{
    color: #ffb3cc;
    text-shadow: 0 0 8px rgba(255, 0, 102, 0.61);
}

.teigu-entry-type
{
    font-family: var(--font-ghost);
    font-size: 0.603rem;
    letter-spacing: 0.2em;
    color: rgba(255, 0, 102, 0.61);
    text-transform: uppercase;
    flex-shrink: 0;
}

/* ── Centre dossier panel ── */
.teigu-dossier-panel
{
    padding: 1.74rem;
    display: flex;
    flex-direction: column;
    position: relative;
    background: radial-gradient(ellipse at 50% 30%, rgba(255, 0, 102, 0.05) 0%, transparent 70%);
}

/* Idle state */
.teigu-dossier-idle
{
    position: absolute;
    inset: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.928rem;
    transition: opacity 0.3s ease;
    pointer-events: none;
}

.teigu-dossier-idle.hidden
{
    opacity: 0;
}

.teigu-idle-glyph
{
    font-size: 2.32rem;
    opacity: 0.1;
    filter: grayscale(1);
    animation: teiguIdleSpin 8s linear infinite;
}

@keyframes teiguIdleSpin
{
    0%   { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

.teigu-idle-text
{
    font-family: var(--font-ghost);
    font-size: 0.673rem;
    letter-spacing: 0.4em;
    color: rgba(255, 0, 102, 0.6);
    text-transform: uppercase;
}

/* Dossier content */
.teigu-dossier-content
{
    display: flex;
    flex-direction: column;
    gap: 0.812rem;
    opacity: 0;
    transform: translateY(8px);
    pointer-events: none;
    transition: opacity 0.4s ease, transform 0.4s ease;
    height: 100%;
}

.teigu-dossier-content.visible
{
    opacity: 1;
    transform: none;
    pointer-events: all;
}

.teigu-dossier-name
{
    font-family: var(--font-ghost);
    font-size: 1.276rem;
    letter-spacing: 0.2em;
    color: #ff0066;
    text-transform: uppercase;
    text-shadow: 0 0 15px rgba(255, 0, 102, 0.78);
    display: block;
}

.teigu-dossier-type
{
    font-family: var(--font-ghost);
    font-size: 0.673rem;
    letter-spacing: 0.3em;
    color: rgba(255, 0, 102, 0.74);
    text-transform: uppercase;
    display: block;
    border-bottom: 1px solid rgba(255, 0, 102, 0.3);
    padding-bottom: 0.928rem;
}

/* Field rows */
.teigu-dossier-fields
{
    display: flex;
    flex-direction: column;
    gap: 0.696rem;
}

.td-field
{
    display: flex;
    flex-direction: column;
    gap: 0.232rem;
}

.td-field-key
{
    font-family: var(--font-ghost);
    font-size: 0.603rem;
    letter-spacing: 0.35em;
    color: rgba(255, 0, 102, 0.71);
    text-transform: uppercase;
}

.td-field-val
{
    font-family: var(--font-ghost);
    font-size: 0.835rem;
    color: rgba(255, 179, 204, 0.8);
    line-height: 1.6;
    letter-spacing: 0.05em;
}

/* Operator */
.teigu-dossier-operator-label
{
    font-family: var(--font-ghost);
    font-size: 0.603rem;
    letter-spacing: 0.35em;
    color: rgba(255, 0, 102, 0.72);
    text-transform: uppercase;
    display: block;
    margin-top: auto;
    padding-top: 0.928rem;
    border-top: 1px solid rgba(255, 0, 102, 0.26);
}

.teigu-dossier-operator
{
    font-family: var(--font-ghost);
    font-size: 1.021rem;
    letter-spacing: 0.15em;
    color: #ffb3cc;
    display: block;
}

/* Status badge */
.teigu-dossier-status-badge
{
    display: inline-block;
    font-family: var(--font-ghost);
    font-size: 0.603rem;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    padding: 0.29rem 0.812rem;
    border-radius: 3px;
    border: 1px solid transparent;
    align-self: flex-start;
}

.teigu-status-active
{
    color: rgba(100, 255, 180, 0.88);
    border-color: rgba(100, 255, 180, 0.3);
    background: rgba(0, 255, 120, 0.05);
}

.teigu-status-destroyed
{
    color: rgba(255, 0, 102, 0.88);
    border-color: rgba(255, 0, 102, 0.42);
    background: rgba(255, 0, 102, 0.08);
}

.teigu-status-fallen
{
    color: rgba(255, 180, 60, 0.88);
    border-color: rgba(255, 180, 60, 0.3);
    background: rgba(255, 160, 0, 0.05);
}

/* Note */
.teigu-dossier-note
{
    font-family: var(--font-ghost);
    font-size: 0.719rem;
    font-style: italic;
    color: rgba(255, 0, 102, 0.68);
    line-height: 1.7;
    letter-spacing: 0.08em;
    display: block;
}

/* ── Responsive ── */
@media (max-width: 800px)
{
    .teigu-stage
    {
        grid-template-columns: 1fr;
    }

    .teigu-night-raid { border-right: none; border-bottom: 1px solid rgba(255, 0, 102, 0.27); }
    .teigu-jaegers    { border-left: none;  border-top:    1px solid rgba(255, 0, 102, 0.27); }

    .teigu-dossier-panel
    {
        min-height: 300px;
        border-top: 1px solid rgba(255, 0, 102, 0.26);
        border-bottom: 1px solid rgba(255, 0, 102, 0.27);
    }

    .teigu-jaegers .teigu-entry
    {
        border-right: none;
        border-left: 2px solid transparent;
    }

    .teigu-jaegers .teigu-entry:hover,
    .teigu-jaegers .teigu-entry.selected
    {
        border-left-color: #ff0066;
        border-right-color: transparent;
    }
}

/* ══════════════════════════════════════════
   REVOLUTIONARY WAR TERMINAL
   ══════════════════════════════════════════ */

.rev-war-terminal
{
    position: relative;
    width: 100%;
    margin-bottom: 3.48rem;
    border-radius: 12px;
    overflow: hidden;
    border: 1px solid rgba(255, 0, 102, 0.36);
    background: #030001;
}

.rev-scanline {
    position: absolute;
    inset: 0;
    background: repeating-linear-gradient(0deg, transparent, transparent 2px, rgba(0,0,0,0.07) 2px, rgba(0,0,0,0.07) 4px);
    z-index: 10;
    pointer-events: none;
}

/* ── Top bar ── */
.rev-topbar
{
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 1.16rem 2.32rem;
    background: rgba(4, 0, 1, 0.95);
    border-bottom: 1px solid rgba(255, 0, 102, 0.38);
    position: relative;
    z-index: 5;
    flex-wrap: wrap;
    gap: 0.58rem;
}

.rev-topbar-label
{
    font-family: var(--font-ghost);
    font-size: 0.673rem;
    letter-spacing: 0.45em;
    color: rgba(255, 0, 102, 0.78);
    text-transform: uppercase;
}

.rev-topbar-status
{
    font-family: var(--font-ghost);
    font-size: 0.719rem;
    letter-spacing: 0.3em;
    color: rgba(255, 0, 102, 0.85);
    text-transform: uppercase;
    transition: all 0.4s ease;
}

/* ── Phase list ── */
.rev-body
{
    display: flex;
    flex-direction: column;
    position: relative;
    z-index: 5;
}

/* ── Single phase block ── */
.rev-phase
{
    border-bottom: 1px solid rgba(255, 0, 102, 0.27);
    transition: background 0.4s ease;
}

.rev-phase:last-child { border-bottom: none; }

.rev-phase.unlocked
{
    background: rgba(255, 0, 102, 0.04);
}

/* Phase header row */
.rev-phase-header
{
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 1.392rem 2.32rem;
    gap: 1.16rem;
    flex-wrap: wrap;
}

.rev-phase-left
{
    display: flex;
    align-items: center;
    gap: 1.392rem;
}

.rev-phase-num
{
    font-family: var(--font-ghost);
    font-size: 2.088rem;
    color: rgba(255, 0, 102, 0.55);
    line-height: 1;
    flex-shrink: 0;
    transition: color 0.5s ease;
}

.rev-phase.unlocked .rev-phase-num
{
    color: rgba(255, 0, 102, 0.72);
    text-shadow: 0 0 15px rgba(255, 0, 102, 0.48);
}

.rev-phase-titles
{
    display: flex;
    flex-direction: column;
    gap: 0.29rem;
}

.rev-phase-name
{
    font-family: var(--font-ghost);
    font-size: 0.951rem;
    letter-spacing: 0.2em;
    color: rgba(255, 205, 222, 0.78);
    text-transform: uppercase;
    transition: color 0.4s ease;
}

.rev-phase.unlocked .rev-phase-name
{
    color: rgba(255, 179, 204, 0.9);
}

.rev-phase-sub
{
    font-family: var(--font-ghost);
    font-size: 0.638rem;
    letter-spacing: 0.15em;
    color: rgba(255, 0, 102, 0.6);
    text-transform: uppercase;
    transition: color 0.4s ease;
}

.rev-phase.unlocked .rev-phase-sub
{
    color: rgba(255, 0, 102, 0.66);
}

/* Unlock button */
.rev-phase-unlock-btn
{
    font-family: var(--font-ghost);
    font-size: 0.696rem;
    letter-spacing: 0.35em;
    text-transform: uppercase;
    color: #ff0066;
    background: transparent;
    border: 1px solid rgba(255, 0, 102, 0.63);
    border-radius: 4px;
    padding: 0.58rem 1.392rem;
    cursor: pointer;
    transition: all 0.3s ease;
    flex-shrink: 0;
    text-shadow: 0 0 8px rgba(255, 0, 102, 0.53);
}

.rev-phase-unlock-btn:hover
{
    border-color: #ff0066;
    background: rgba(255, 0, 102, 0.1);
    box-shadow: 0 0 20px rgba(255, 0, 102, 0.36);
    text-shadow: 0 0 15px rgba(255, 0, 102, 0.95);
}

.rev-phase-unlock-btn:disabled
{
    color: rgba(255, 0, 102, 0.3);
    border-color: rgba(255, 0, 102, 0.51);
    cursor: default;
    box-shadow: none;
    text-shadow: none;
}

/* ── Progress bar ── */
.rev-phase-bar-wrap
{
    display: flex;
    align-items: center;
    gap: 1.16rem;
    padding: 0 2.32rem 1.16rem;
}

.rev-phase-bar
{
    flex: 1;
    height: 4px;
    background: rgba(255, 0, 102, 0.32);
    border-radius: 2px;
    overflow: hidden;
    border: 1px solid rgba(255, 0, 102, 0.32);
}

.rev-phase-fill
{
    height: 100%;
    background: linear-gradient(90deg, #cc0044, #ff0066);
    border-radius: 2px;
    transition: width 0.05s linear;
    box-shadow: 0 0 8px rgba(255, 0, 102, 0.72);
}

/* Phase III fill — amber/warning */
.rev-fill-critical
{
    background: linear-gradient(90deg, #cc4400, #ff6600, #ff0066);
    box-shadow: 0 0 10px rgba(255, 80, 0, 0.7);
}

.rev-phase-pct
{
    font-family: var(--font-ghost);
    font-size: 0.696rem;
    letter-spacing: 0.2em;
    color: rgba(255, 0, 102, 0.72);
    width: 3.48rem;
    text-align: right;
    flex-shrink: 0;
}

/* ── Phase content ── */
.rev-phase-content
{
    padding: 0 2.32rem;
    max-height: 0;
    overflow: hidden;
    opacity: 0;
    transform: translateY(6px);
    transition: max-height 0.6s ease, opacity 0.5s ease,transform 0.5s ease, padding 0.4s ease;
}

.rev-phase-content.visible
{
    max-height: 600px;
    opacity: 1;
    transform: none;
    padding: 0 2.32rem 1.74rem;
}

/* Event list */
.rev-event-list
{
    display: flex;
    flex-direction: column;
    gap: 0.928rem;
    margin-bottom: 1.392rem;
}

.rev-event
{
    display: flex;
    align-items: flex-start;
    gap: 0.928rem;
}

.rev-event-dot
{
    width: 6px;
    height: 6px;
    border-radius: 50%;
    flex-shrink: 0;
    margin-top: 0.522rem;
}

.rev-dot-empire { background: rgba(255, 0, 102, 0.84); box-shadow: 0 0 6px rgba(255, 0, 102, 0.6); }
.rev-dot-raid   { background: rgba(100, 255, 180, 0.7); box-shadow: 0 0 6px rgba(100,255,180,0.4); }
.rev-dot-fallen { background: rgba(255, 180, 60, 0.8); box-shadow: 0 0 6px rgba(255,160,0,0.5); }

.rev-event-text
{
    font-family: var(--font-ghost);
    font-size: 0.835rem;
    color: rgba(255, 179, 204, 0.82);
    line-height: 1.7;
    letter-spacing: 0.05em;
}

/* Casualties block */
.rev-phase-casualties
{
    display: flex;
    flex-direction: column;
    gap: 0.348rem;
    padding: 0.928rem 1.16rem;
    border: 1px solid rgba(255, 0, 102, 0.32);
    border-radius: 6px;
    background: rgba(255, 0, 102, 0.04);
}

.rev-cas-label
{
    font-family: var(--font-ghost);
    font-size: 0.603rem;
    letter-spacing: 0.4em;
    color: rgba(255, 0, 102, 0.68);
    text-transform: uppercase;
    margin-bottom: 0.348rem;
    display: block;
}

.rev-cas-val
{
    font-family: var(--font-ghost);
    font-size: 0.754rem;
    letter-spacing: 0.08em;
    line-height: 1.5;
    display: block;
}

.rev-cas-empire { color: rgba(255, 0, 102, 0.78); }
.rev-cas-raid   { color: rgba(100, 255, 180, 0.65); }
.rev-cas-fallen { color: rgba(255, 180, 60, 0.75); }
.rev-cas-cost
{
    color: rgba(255, 179, 204, 0.68);
    font-style: italic;
    margin-top: 0.348rem;
    padding-top: 0.58rem;
    border-top: 1px solid rgba(255, 0, 102, 0.24);
}

/* ── Footer ── */
.rev-footer
{
    padding: 1.16rem 2.32rem;
    border-top: 1px solid rgba(255, 0, 102, 0.25);
    background: rgba(4, 0, 1, 0.9);
    position: relative;
    z-index: 5;
}

.rev-footer-line
{
    font-family: var(--font-ghost);
    font-size: 0.696rem;
    font-style: italic;
    letter-spacing: 0.15em;
    color: rgba(255, 0, 102, 0.53);
    display: block;
    text-align: center;
}

/* ── Responsive ── */
@media (max-width: 600px) {
    .rev-phase-header { padding: 1.16rem; }
    .rev-phase-bar-wrap { padding: 0 1.16rem 1.16rem; }
    .rev-phase-content.visible { padding: 0 1.16rem 1.392rem; }
    .rev-phase-num { font-size: 1.392rem; }
}


/* ══════════════════════════════════════════
   NIGHT RAID KILL LEDGER
   ══════════════════════════════════════════ */
.night-raid-ledger {
    position: relative;
    width: 100%;
    margin-bottom: 3.48rem;
    border-radius: 12px;
    overflow: hidden;
    border: 1px solid rgba(255, 0, 102, 0.24);
    background: #030001;
    padding-bottom: 0;
}

.night-raid-ledger::before
{
    content: '';
    position: absolute;
    inset: 0;
    background: repeating-linear-gradient(0deg, transparent, transparent 2px, rgba(0,0,0,0.07) 2px, rgba(0,0,0,0.07) 4px);
    z-index: 10;
    pointer-events: none;
}

.nrl-header
{
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 1.16rem 2.32rem;
    border-bottom: 1px solid rgba(255, 0, 102, 0.3);
    background: rgba(4, 0, 1, 0.95);
    position: relative;
    z-index: 5;
    flex-wrap: wrap;
    gap: 0.58rem;
}

.nrl-org
{
    font-family: var(--font-ghost);
    font-size: 0.673rem;
    letter-spacing: 0.4em;
    color: rgba(255, 0, 102, 0.78);
    text-transform: uppercase;
}

.nrl-total
{
    font-family: var(--font-ghost);
    font-size: 0.812rem;
    letter-spacing: 0.2em;
    color: #ff0066;
    text-shadow: 0 0 10px rgba(255, 0, 102, 0.84);
    text-transform: uppercase;
}

.nrl-body
{
    padding: 0.58rem 0;
    display: flex;
    flex-direction: column;
    position: relative;
    z-index: 5;
}

.nrl-row
{
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
    gap: 0 1.74rem;
    padding: 1.044rem 2.32rem;
    border-bottom: 1px solid rgba(255, 0, 102, 0.12);
    transition: background 0.3s ease;
    cursor: default;
}

.nrl-row:last-child { border-bottom: none; }

.nrl-row:hover
{
    background: rgba(255, 0, 102, 0.06);
}

.nrl-key
{
    font-family: var(--font-ghost);
    font-size: 0.87rem;
    letter-spacing: 0.15em;
    color: rgba(255, 179, 204, 0.88);
    text-transform: uppercase;
    display: flex;
    align-items: center;
    gap: 0.58rem;
}

.nrl-key::before
{
    content: '//';
    opacity: 0.3;
    font-size: 0.638rem;
    flex-shrink: 0;
}

/* Status tags */
.nrl-tag
{
    font-family: var(--font-ghost);
    font-size: 0.603rem;
    letter-spacing: 0.25em;
    text-transform: uppercase;
    padding: 0.29rem 0.812rem;
    border-radius: 3px;
    white-space: nowrap;
    border: 1px solid transparent;
}

.nrl-tag-killed
{
    color: rgba(255, 0, 102, 0.9);
    border-color: rgba(255, 0, 102, 0.42);
    background: rgba(255, 0, 102, 0.1);
}

.nrl-tag-survived
{
    color: rgba(100, 255, 180, 0.85);
    border-color: rgba(100, 255, 180, 0.3);
    background: rgba(0, 255, 120, 0.05);
}

.nrl-tag-fallen
{
    color: rgba(255, 180, 60, 0.85);
    border-color: rgba(255, 180, 60, 0.3);
    background: rgba(255, 160, 0, 0.05);
}

/* Hover-reveal note */
.nrl-note
{
    font-family: var(--font-ghost);
    font-size: 0.673rem;
    color: rgba(255, 179, 204, 0.63);
    letter-spacing: 0.15em;
    text-align: right;
    opacity: 0;
    transform: translateX(10px);
    transition: opacity 0.35s ease, transform 0.35s ease;
}

.nrl-row:hover .nrl-note { opacity: 1; transform: translateX(0); }

.redacted-note
{
    color: transparent;
    position: relative;
}

.redacted-note::after
{
    content: '████████████████';
    position: absolute;
    right: 0; top: 0;
    color: rgba(255, 180, 60, 0.4);
    font-size: 0.638rem;
}

/* Footer line */
.nrl-footer
{
    padding: 1.16rem 2.32rem;
    border-top: 1px solid rgba(255, 0, 102, 0.25);
    background: rgba(4, 0, 1, 0.9);
    position: relative;
    z-index: 5;
}

.nrl-footer-line
{
    font-family: var(--font-ghost);
    font-size: 0.696rem;
    font-style: italic;
    letter-spacing: 0.15em;
    color: rgba(255, 0, 102, 0.53);
    display: block;
    text-align: center;
}

/* ══════════════════════════════════════════
   WHY AKAME GA KILL — Reasons card
   ══════════════════════════════════════════ */
.akame-ga-kill-theme .agk-reasons-card
{
    border-color: #cc0044;
    background: linear-gradient(135deg, rgba(12,0,4,0.95) 0%, rgba(25,0,8,0.9) 100%);
    box-shadow: 0 0 40px rgba(255, 0, 102, 0.36), 0 0 80px rgba(255, 0, 102, 0.1), inset 0 1px 0 rgba(255,255,255,0.04);
}

.agk-about-list
{
    list-style: none;
    padding: 0;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    gap: 1.16rem;
    text-align: left;
    max-width: 780px;
}

.agk-about-list li
{
    display: flex;
    align-items: flex-start;
    gap: 1.16rem;
    font-family: var(--font-ghost);
    font-size: 1.021rem;
    color: rgba(255, 179, 204, 0.87);
    line-height: 1.85;
    padding: 0.986rem 1.16rem;
    border-left: 2px solid rgba(255, 0, 102, 0.43);
    background: rgba(255, 0, 102, 0.04);
    border-radius: 0 6px 6px 0;
    transition: border-color 0.3s ease, background 0.3s ease, color 0.3s ease;
}

.agk-about-list li:hover
{
    border-left-color: #ff0066;
    background: rgba(255, 0, 102, 0.1);
    color: rgba(255, 200, 220, 0.95);
}

.agk-about-list li i
{
    color: #ff0066;
    font-size: 1.044rem;
    flex-shrink: 0;
    margin-top: 0.232rem;
    text-shadow: 0 0 10px rgba(255, 0, 102, 0.72);
    transition: text-shadow 0.3s ease;
}

.agk-about-list li:hover i
{
    text-shadow: 0 0 15px rgba(255, 0, 102, 1), 0 0 30px rgba(255, 0, 102, 0.6);
}

/* ── Responsive ── */
@media (max-width: 700px)
{
    .akame-dossier-stage { grid-template-columns: 1fr; }

    .akame-portrait-zone
    {
        min-height: 260px;
        border-right: none;
        border-bottom: 1px solid rgba(255, 0, 102, 0.36);
    }

    .akame-quote-strip
    {
        flex-direction: column;
        gap: 0.696rem;
        padding: 1.392rem;
        text-align: center;
    }

    .akame-quote-mark { display: none; }
    .akame-quote-attr { text-align: center; }

    .nrl-row { grid-template-columns: 1fr auto; }
    .nrl-note { display: none; }
}