/* ============================================
   主题系统 themes.css
   ============================================ */
/* 非像素主题去掉逐帧动画 */
body:not([data-theme="pixel"]) .story-text-inner {
    animation: smoothFade .4s ease;
}

body:not([data-theme="pixel"]) .choice-card {
    animation: smoothAppear .3s ease backwards;
}

body:not([data-theme="pixel"]) .modal-overlay.show {
    animation: smoothFade .3s ease;
}

@keyframes smoothFade {
    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}

@keyframes smoothAppear {
    from {
        opacity: 0;
        transform: translateY(8px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}
/* ===== 主题选择器UI ===== */
.theme-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 8px;
}

.theme-card {
    border: 2px solid #d0d8e0;
    padding: 6px;
    text-align: center;
    cursor: pointer;
    transition: all .15s;
    background: white;
}

.theme-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, .1);
}

.theme-card:active {
    transform: translateY(0);
}

.theme-card.active {
    border-color: #ffc8dd;
    box-shadow: 0 0 0 2px rgba(255, 200, 221, .4);
}

.theme-card-preview {
    height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 4px;
}

.theme-card-icon {
    font-size: 22px;
}

.theme-card-name {
    font-size: 11px;
    font-weight: 600;
    color: #2d3748;
    margin-bottom: 2px;
}

.theme-card-desc {
    font-size: 9px;
    color: #8a9aaa;
    line-height: 1.3;
}

/* ===== 特效层通用 ===== */
.theme-effect-layer {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    pointer-events: none;
    z-index: 9997;
    overflow: hidden;
}

/* ============================================
   #2 古风卷轴
   ============================================ */

/* ─── 特效动画 ─── */
.gf-petal {
    position: absolute;
    top: -30px;
    font-size: 14px;
    opacity: 0.5;
    animation: gfFall 10s linear infinite;
}

@keyframes gfFall {
    0% {
        transform: translateY(-30px) rotate(0deg) translateX(0);
        opacity: 0;
    }

    10% {
        opacity: 0.5;
    }

    90% {
        opacity: 0.5;
    }

    100% {
        transform: translateY(100vh) rotate(360deg) translateX(40px);
        opacity: 0;
    }
}

.gf-ink-splash {
    position: absolute;
    bottom: 10%;
    right: 5%;
    width: 80px;
    height: 80px;
    background: radial-gradient(circle, rgba(60, 40, 20, 0.06) 0%, transparent 70%);
    border-radius: 50%;
    animation: gfInk 8s ease-in-out infinite;
}

@keyframes gfInk {

    0%,
    100% {
        transform: scale(0.8);
        opacity: 0;
    }

    50% {
        transform: scale(1.2);
        opacity: 1;
    }
}

/* ─── 页面底色 ─── */
body[data-theme="guofeng"] {
    background: #f5edd6;
    background-image: url("data:image/svg+xml,%3Csvg width='60' height='60' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence baseFrequency='0.65' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.03'/%3E%3C/svg%3E");
}

/* ─── 设置页 ─── */
body[data-theme="guofeng"] .setup-page {
    background: #f5edd6;
}

body[data-theme="guofeng"] .setup-hero {
    background: linear-gradient(135deg, #f5edd6, #e8d8b8);
    border: 3px double #8b6914;
    border-radius: 0;
    box-shadow: 2px 2px 0 rgba(100, 60, 20, .15);
}

body[data-theme="guofeng"] .setup-hero::before,
body[data-theme="guofeng"] .setup-hero::after {
    content: '◆ ◇ ◆ ◇ ◆ ◇ ◆ ◇ ◆ ◇ ◆ ◇ ◆ ◇ ◆ ◇ ◆ ◇ ◆';
    color: rgba(139, 105, 20, 0.3);
}

body[data-theme="guofeng"] .setup-hero-title {
    color: #4a3520;
    font-family: 'Noto Serif SC', 'SimSun', serif;
}

body[data-theme="guofeng"] .setup-hero-sub {
    color: #7a6a4a;
}

body[data-theme="guofeng"] .setup-input-card {
    background: #faf6e8;
    border: 2px solid #c4a860;
    border-radius: 0;
    box-shadow: 2px 2px 0 rgba(100, 60, 20, .1);
}

body[data-theme="guofeng"] .setup-input-label {
    color: #6a4a20;
}

body[data-theme="guofeng"] .pixel-textarea {
    background: #fdf8ec;
    border: 1px solid #d4c490;
    color: #2c2417;
    font-family: 'Noto Serif SC', 'SimSun', serif;
}

body[data-theme="guofeng"] .pixel-textarea:focus {
    border-color: #8b6914;
}

body[data-theme="guofeng"] .examples-accordion {
    border: 2px solid #c4a860;
    box-shadow: 2px 2px 0 rgba(100, 60, 20, .1);
}

body[data-theme="guofeng"] .examples-header {
    background: linear-gradient(180deg, #f0e6cc, #e8dcc0);
    color: #4a3520;
}

body[data-theme="guofeng"] .examples-arrow {
    color: #8b6914;
}

body[data-theme="guofeng"] .examples-body {
    background: #faf6e8;
}

body[data-theme="guofeng"] .setup-tip {
    background: #fdf8ec;
    border: 1px solid #d4c490;
    color: #6a5a30;
}

body[data-theme="guofeng"] .setup-back {
    background: #f0e6cc;
    border-color: #c4a860;
    color: #6a4a20;
}

/* ─── 按钮 ─── */
body[data-theme="guofeng"] .pixel-btn {
    background: linear-gradient(180deg, #c03030, #a02828);
    border: 2px solid #c03030;
    border-radius: 2px;
    color: #fff;
    text-shadow: 1px 1px 0 rgba(0, 0, 0, .3);
    box-shadow: 2px 2px 0 rgba(100, 20, 20, .2);
    font-family: 'Noto Serif SC', 'SimSun', serif;
}

body[data-theme="guofeng"] .pixel-btn:active {
    transform: translate(2px, 2px);
    box-shadow: none;
}

body[data-theme="guofeng"] .pixel-btn.blue {
    background: linear-gradient(180deg, #4a6a50, #3a5a40);
    border-color: #4a6a50;
    color: #e8f0e0;
}

/* ─── 游戏HUD ─── */
body[data-theme="guofeng"] .game-hud {
    background: #3c2a14;
    border-bottom: 3px solid #2a1a0a;
}

body[data-theme="guofeng"] .game-hud::after {
    background: repeating-linear-gradient(90deg, #c4a860 0px, #c4a860 4px, transparent 4px, transparent 8px);
}

body[data-theme="guofeng"] .hud-item {
    background: rgba(0, 0, 0, .3);
    border-color: rgba(196, 168, 96, .3);
}

body[data-theme="guofeng"] .hud-value {
    color: #e8d8a0;
}

body[data-theme="guofeng"] .hud-label {
    color: #a08a60;
}

body[data-theme="guofeng"] .hud-btn {
    background: rgba(255, 255, 255, .08);
    border-color: rgba(196, 168, 96, .3);
}

body[data-theme="guofeng"] .hud-btn svg {
    fill: #c4a860;
}

body[data-theme="guofeng"] .hud-btn:hover {
    border-color: #c4a860;
    background: rgba(196, 168, 96, .15);
}

/* ─── 游戏主体 ─── */
body[data-theme="guofeng"] .game-page {
    background: #f5edd6;
}

body[data-theme="guofeng"] .story-text-box {
    background: #faf6e8;
    border: 2px double #8b6914;
    box-shadow: 2px 2px 0 rgba(100, 60, 20, .1);
}

body[data-theme="guofeng"] .story-text-titlebar {
    background: linear-gradient(90deg, #3c2a14, #5a4020, #3c2a14);
    border-bottom: 2px solid #8b6914;
}

body[data-theme="guofeng"] .story-text-titlebar svg {
    fill: #c4a860;
}

body[data-theme="guofeng"] .story-text-titlebar-text {
    color: #c4a860;
}

body[data-theme="guofeng"] .story-text-inner {
    color: #2c2417;
    font-family: 'Noto Serif SC', 'SimSun', serif;
    line-height: 2;
}

body[data-theme="guofeng"] .story-text-inner .dialogue {
    color: #8b3020;
    border-left-color: #c03030;
}

body[data-theme="guofeng"] .loading-text-pixel {
    color: #8b6914;
}

/* ─── 选项 ─── */
body[data-theme="guofeng"] .game-controls {
    background: #ede4cc;
    border-top: 3px solid #8b6914;
}

body[data-theme="guofeng"] .game-controls::before {
    background: repeating-linear-gradient(90deg, #c03030 0px, #c03030 4px, transparent 4px, transparent 8px);
}

body[data-theme="guofeng"] .choice-card {
    background: #fdf8ec;
    border: 2px solid #c4a860;
    box-shadow: 1px 1px 0 rgba(100, 60, 20, .1);
}

body[data-theme="guofeng"] .choice-card:hover {
    transform: translate(-1px, -1px);
    box-shadow: 3px 3px 0 rgba(100, 60, 20, .2);
}

body[data-theme="guofeng"] .choice-card:active {
    background: #f5edd6;
    transform: translate(1px, 1px);
    box-shadow: none;
}

body[data-theme="guofeng"] .choice-id {
    background: #c03030;
    border-color: #8b2020;
    color: #fff;
    border-radius: 50%;
}

body[data-theme="guofeng"] .choice-text {
    color: #2c2417;
    font-family: 'Noto Serif SC', 'SimSun', serif;
}

body[data-theme="guofeng"] .choice-toggle {
    color: #8b6914;
}

body[data-theme="guofeng"] .choice-toggle svg {
    fill: #8b6914;
}

body[data-theme="guofeng"] .pixel-input {
    background: #fdf8ec;
    border: 1px solid #c4a860;
    color: #2c2417;
    font-family: 'Noto Serif SC', 'SimSun', serif;
}

body[data-theme="guofeng"] .pixel-input:focus {
    border-color: #8b6914;
}

body[data-theme="guofeng"] .send-btn {
    background: linear-gradient(180deg, #c03030, #a02828);
    border-color: #8b2020;
}

body[data-theme="guofeng"] .send-btn svg {
    fill: #fff;
}

/* ─── 工具栏 ─── */
body[data-theme="guofeng"] .tool-btn {
    background: rgba(139, 105, 20, 0.06);
    border: 1px solid #c4a860;
    color: #6a4a20;
}

body[data-theme="guofeng"] .tool-btn svg {
    fill: #6a4a20;
}

body[data-theme="guofeng"] .tool-btn:hover {
    background: #c03030;
    color: #fff;
    border-color: #8b2020;
}

body[data-theme="guofeng"] .tool-btn:hover svg {
    fill: #fff;
}

/* ─── 底部导航 ─── */
body[data-theme="guofeng"] .bottom-nav {
    background: #3c2a14;
    border-top: 3px solid #2a1a0a;
}

body[data-theme="guofeng"] .bottom-nav::before {
    background: repeating-linear-gradient(90deg, #c4a860 0px, #c4a860 4px, transparent 4px, transparent 8px);
}

body[data-theme="guofeng"] .nav-item.active {
    background: rgba(196, 168, 96, .1);
}

body[data-theme="guofeng"] .nav-item.active::after {
    background: #c03030;
}

body[data-theme="guofeng"] .nav-icon svg {
    fill: #a08a60;
}

body[data-theme="guofeng"] .nav-item.active .nav-icon svg {
    fill: #c4a860;
}

body[data-theme="guofeng"] .nav-item:hover .nav-icon svg {
    fill: #c4a860;
}

body[data-theme="guofeng"] .nav-label {
    color: #a08a60;
}

body[data-theme="guofeng"] .nav-item.active .nav-label {
    color: #c4a860;
}

/* ─── 面板通用 ─── */
body[data-theme="guofeng"] .player-card {
    background: #faf6e8;
    border: 2px double #8b6914;
    box-shadow: 2px 2px 0 rgba(100, 60, 20, .1);
}

body[data-theme="guofeng"] .player-card-header {
    background: linear-gradient(135deg, #c03030, #8b6914);
    border-bottom: 2px solid #6a4a20;
}

body[data-theme="guofeng"] .player-card-header svg {
    fill: #fff;
}

body[data-theme="guofeng"] .player-card-header-text {
    color: #fff;
}

body[data-theme="guofeng"] .player-stat-item {
    background: #fdf8ec;
    border: 1px solid #d4c490;
}

body[data-theme="guofeng"] .player-stat-label {
    color: #8a7a50;
}

body[data-theme="guofeng"] .player-stat-value {
    color: #2c2417;
}

body[data-theme="guofeng"] .section-title {
    color: #6a4a20;
}

body[data-theme="guofeng"] .section-title svg {
    fill: #6a4a20;
}

body[data-theme="guofeng"] .section-title::after {
    background: repeating-linear-gradient(90deg, #c4a860 0px, #c4a860 4px, transparent 4px, transparent 8px);
}

body[data-theme="guofeng"] .npc-card {
    background: #faf6e8;
    border: 2px solid #c4a860;
    box-shadow: 1px 1px 0 rgba(100, 60, 20, .1);
}

body[data-theme="guofeng"] .npc-card:hover {
    box-shadow: 2px 2px 0 rgba(100, 60, 20, .2);
}

body[data-theme="guofeng"] .npc-name {
    color: #2c2417;
}

body[data-theme="guofeng"] .npc-title {
    color: #7a6a4a;
}

body[data-theme="guofeng"] .npc-favor-mini {
    color: #c03030;
}

body[data-theme="guofeng"] .npc-arrow {
    color: #8b6914;
}

body[data-theme="guofeng"] .pixel-tag.pink {
    background: #c03030;
    color: #fff;
    border-color: #8b2020;
}

body[data-theme="guofeng"] .world-module {
    background: #faf6e8;
    border: 2px solid #c4a860;
    box-shadow: 1px 1px 0 rgba(100, 60, 20, .1);
}

body[data-theme="guofeng"] .module-header {
    background: linear-gradient(180deg, #f0e6cc, #e8dcc0);
    border-bottom: 1px solid #c4a860;
}

body[data-theme="guofeng"] .module-header-text {
    color: #4a3520;
}

body[data-theme="guofeng"] .mod-text {
    color: #4a3a20;
}

body[data-theme="guofeng"] .mod-list-bullet {
    color: #c03030;
}

body[data-theme="guofeng"] .bag-item {
    background: #faf6e8;
    border: 2px solid #c4a860;
}

body[data-theme="guofeng"] .bag-item:hover {
    box-shadow: 2px 2px 0 rgba(100, 60, 20, .2);
}

body[data-theme="guofeng"] .bag-name {
    color: #2c2417;
}

body[data-theme="guofeng"] .bag-count {
    color: #7a6a4a;
}

body[data-theme="guofeng"] .bag-desc {
    color: #8a7a50;
}

/* ─── 弹窗 ─── */
body[data-theme="guofeng"] .pixel-modal {
    background: #f5edd6;
    border: 3px double #8b6914;
    box-shadow: 6px 6px 0 rgba(60, 42, 20, .25);
}

body[data-theme="guofeng"] .modal-titlebar {
    background: linear-gradient(90deg, #3c2a14, #5a4020, #3c2a14);
    border-bottom: 2px solid #8b6914;
}

body[data-theme="guofeng"] .modal-titlebar-text {
    color: #c4a860;
}

body[data-theme="guofeng"] .modal-close-btn {
    background: #c03030;
    border-color: #8b2020;
    color: #fff;
}

body[data-theme="guofeng"] .modal-detail-inner {
    background: #faf6e8;
    border: 1px solid #c4a860;
}

body[data-theme="guofeng"] .modal-detail-key {
    color: #8a7a50;
}

body[data-theme="guofeng"] .modal-detail-val {
    color: #2c2417;
}

body[data-theme="guofeng"] .pixel-progress {
    background: #3c2a14;
    border-color: #8b6914;
}

body[data-theme="guofeng"] .pixel-progress-fill {
    background: repeating-linear-gradient(-45deg, #c03030 0px, #c03030 4px, #a02828 4px, #a02828 8px);
}

body[data-theme="guofeng"] .setting-label {
    color: #4a3520;
}

body[data-theme="guofeng"] .setting-label svg {
    fill: #8b6914;
}

body[data-theme="guofeng"] .setting-context-box {
    background: #fdf8ec;
    border-color: #c4a860;
}

body[data-theme="guofeng"] .setting-context-info {
    color: #6a5a30;
}

body[data-theme="guofeng"] .setting-context-info span {
    color: #c03030;
}

body[data-theme="guofeng"] .review-item {
    background: #faf6e8;
    border-color: #d4c490;
}

body[data-theme="guofeng"] .review-item-header {
    color: #8b6914;
}

body[data-theme="guofeng"] .review-item-body {
    color: #4a3a20;
}

/* ─── 主题选择器自适应 ─── */
body[data-theme="guofeng"] .theme-card {
    background: #faf6e8;
    border-color: #c4a860;
}

body[data-theme="guofeng"] .theme-card.active {
    border-color: #c03030;
    box-shadow: 0 0 0 2px rgba(192, 48, 48, .3);
}

body[data-theme="guofeng"] .theme-card-name {
    color: #2c2417;
}

body[data-theme="guofeng"] .theme-card-desc {
    color: #8a7a50;
}


/* ============================================
   #3 森系手账
   ============================================ */

/* ─── 特效动画 ─── */
.fr-leaf {
    position: absolute;
    top: -30px;
    font-size: 16px;
    opacity: 0.5;
    animation: frFall 12s linear infinite;
}

@keyframes frFall {
    0% {
        transform: translateY(-30px) rotate(0deg) translateX(0);
        opacity: 0;
    }

    10% {
        opacity: 0.5;
    }

    90% {
        opacity: 0.4;
    }

    100% {
        transform: translateY(100vh) rotate(200deg) translateX(-30px);
        opacity: 0;
    }
}

/* ─── 页面底色 ─── */
body[data-theme="forest"] {
    background: #faf6ef;
}

body[data-theme="forest"] .setup-page {
    background: #faf6ef;
}

body[data-theme="forest"] .game-page {
    background: #faf6ef;
}

body[data-theme="forest"] .setup-hero {
    background: linear-gradient(135deg, #e8f0d8, #d0e4c0);
    border: 2px dashed #7a9a6a;
    border-radius: 16px;
    box-shadow: 3px 3px 0 rgba(90, 120, 80, .12);
}

body[data-theme="forest"] .setup-hero::before,
body[data-theme="forest"] .setup-hero::after {
    content: '🌿 🌸 🍃 🌿 🌸 🍃 🌿 🌸 🍃 🌿';
    color: rgba(90, 120, 80, .4);
}

body[data-theme="forest"] .setup-hero-title {
    color: #3a5a30;
    font-family: -apple-system, 'PingFang SC', sans-serif;
}

body[data-theme="forest"] .setup-hero-sub {
    color: #6a8a5a;
}

body[data-theme="forest"] .setup-input-card {
    background: #fff;
    border: 2px dashed #8aaa7a;
    border-radius: 12px;
    box-shadow: 2px 2px 0 rgba(90, 120, 80, .08);
}

body[data-theme="forest"] .setup-input-label {
    color: #4a6a3a;
}

body[data-theme="forest"] .pixel-textarea {
    background: #fafaf4;
    border: 1.5px solid #b8ccaa;
    border-radius: 8px;
    color: #4a3f35;
}

body[data-theme="forest"] .pixel-textarea:focus {
    border-color: #6a9a5a;
}

body[data-theme="forest"] .examples-accordion {
    border: 2px dashed #8aaa7a;
    border-radius: 12px;
    box-shadow: 2px 2px 0 rgba(90, 120, 80, .08);
    overflow: hidden;
}

body[data-theme="forest"] .examples-header {
    background: linear-gradient(180deg, #eef4e6, #e4ecd8);
    color: #3a5a30;
    border-radius: 10px 10px 0 0;
}

body[data-theme="forest"] .examples-arrow {
    color: #6a9a5a;
}

body[data-theme="forest"] .examples-body {
    background: #fff;
}

body[data-theme="forest"] .setup-tip {
    background: #f4f8ee;
    border: 1.5px dashed #a8c098;
    border-radius: 8px;
    color: #5a7a4a;
}

body[data-theme="forest"] .setup-back {
    background: #eef4e6;
    border: 1.5px solid #a8c098;
    border-radius: 10px;
    color: #5a7a4a;
}

/* ─── 按钮 ─── */
body[data-theme="forest"] .pixel-btn {
    background: linear-gradient(180deg, #7aaa68, #6a9a58);
    border: 2px solid #5a8a48;
    border-radius: 20px;
    color: #fff;
    text-shadow: 1px 1px 0 rgba(0, 0, 0, .15);
    box-shadow: 2px 3px 0 rgba(80, 110, 60, .2);
    transition: all .15s;
}

body[data-theme="forest"] .pixel-btn:hover {
    transform: translateY(-1px);
    box-shadow: 2px 4px 0 rgba(80, 110, 60, .25);
}

body[data-theme="forest"] .pixel-btn:active {
    transform: translateY(1px);
    box-shadow: none;
}

body[data-theme="forest"] .pixel-btn.blue {
    background: linear-gradient(180deg, #a0886a, #8a7858);
    border-color: #7a6848;
    color: #fff;
}

/* ─── HUD ─── */
body[data-theme="forest"] .game-hud {
    background: #5a4a38;
    border-bottom: 3px solid #3a2a1a;
}

body[data-theme="forest"] .game-hud::after {
    background: repeating-linear-gradient(90deg, #8aaa7a 0px, #8aaa7a 4px, transparent 4px, transparent 8px);
}

body[data-theme="forest"] .hud-item {
    background: rgba(0, 0, 0, .2);
    border-color: rgba(138, 170, 122, .3);
    border-radius: 8px;
}

body[data-theme="forest"] .hud-value {
    color: #c8e0b8;
}

body[data-theme="forest"] .hud-label {
    color: #8a9a7a;
}

body[data-theme="forest"] .hud-btn {
    background: rgba(255, 255, 255, .08);
    border-color: rgba(138, 170, 122, .3);
    border-radius: 8px;
}

body[data-theme="forest"] .hud-btn svg {
    fill: #a8c898;
}

body[data-theme="forest"] .hud-btn:hover {
    border-color: #a8c898;
    background: rgba(138, 170, 122, .15);
}

/* ─── 剧情区 ─── */
body[data-theme="forest"] .story-text-box {
    background: #fff;
    border: 2px dashed #8aaa7a;
    border-radius: 12px;
    box-shadow: 2px 2px 0 rgba(90, 120, 80, .08);
}

body[data-theme="forest"] .story-text-titlebar {
    background: linear-gradient(90deg, #5a4a38, #6a5a48, #5a4a38);
    border-bottom: 2px solid #8aaa7a;
    border-radius: 10px 10px 0 0;
}

body[data-theme="forest"] .story-text-titlebar svg {
    fill: #a8c898;
}

body[data-theme="forest"] .story-text-titlebar-text {
    color: #a8c898;
}

body[data-theme="forest"] .story-text-inner {
    color: #4a3f35;
    line-height: 1.9;
}

body[data-theme="forest"] .story-text-inner .dialogue {
    color: #5a7a4a;
    border-left-color: #8aaa7a;
}

/* ─── 选项 ─── */
body[data-theme="forest"] .game-controls {
    background: #f0ece4;
    border-top: 3px solid #8aaa7a;
}

body[data-theme="forest"] .game-controls::before {
    background: repeating-linear-gradient(90deg, #d4c4a8 0px, #d4c4a8 4px, transparent 4px, transparent 8px);
}

body[data-theme="forest"] .choice-card {
    background: #fefcf6;
    border: 1.5px solid #c8c0aa;
    border-radius: 10px;
    box-shadow: 2px 2px 0 rgba(90, 80, 60, .06);
    position: relative;
}

/* 便签纸胶带装饰 */
body[data-theme="forest"] .choice-card::before {
    content: '';
    position: absolute;
    top: -4px;
    left: 15px;
    width: 30px;
    height: 8px;
    background: rgba(138, 170, 122, .5);
    border-radius: 0 0 3px 3px;
}

body[data-theme="forest"] .choice-card:nth-child(2)::before {
    background: rgba(220, 190, 140, .6);
    left: 20px;
}

body[data-theme="forest"] .choice-card:nth-child(3)::before {
    background: rgba(180, 160, 200, .5);
    left: 12px;
}

body[data-theme="forest"] .choice-card:nth-child(4)::before {
    background: rgba(200, 170, 160, .5);
    left: 25px;
}

body[data-theme="forest"] .choice-card:hover {
    transform: translate(-1px, -2px) rotate(-0.5deg);
    box-shadow: 3px 4px 0 rgba(90, 80, 60, .1);
}

body[data-theme="forest"] .choice-card:active {
    transform: translate(0, 0) rotate(0deg);
    box-shadow: none;
    background: #f5f0e6;
}

body[data-theme="forest"] .choice-id {
    background: #7aaa68;
    border: none;
    border-radius: 50%;
    color: #fff;
}

body[data-theme="forest"] .choice-text {
    color: #4a3f35;
}

body[data-theme="forest"] .choice-toggle {
    color: #6a9a5a;
}

body[data-theme="forest"] .choice-toggle svg {
    fill: #6a9a5a;
}

body[data-theme="forest"] .pixel-input {
    background: #fafaf4;
    border: 1.5px solid #b8ccaa;
    border-radius: 10px;
    color: #4a3f35;
}

body[data-theme="forest"] .pixel-input:focus {
    border-color: #6a9a5a;
}

body[data-theme="forest"] .send-btn {
    background: linear-gradient(180deg, #7aaa68, #6a9a58);
    border: 2px solid #5a8a48;
    border-radius: 12px;
}

body[data-theme="forest"] .send-btn svg {
    fill: #fff;
}

/* ─── 工具栏 ─── */
body[data-theme="forest"] .tool-btn {
    background: rgba(0, 0, 0, .02);
    border: 1.5px solid #b8ccaa;
    border-radius: 8px;
    color: #5a7a4a;
}

body[data-theme="forest"] .tool-btn svg {
    fill: #5a7a4a;
}

body[data-theme="forest"] .tool-btn:hover {
    background: #7aaa68;
    color: #fff;
    border-color: #5a8a48;
}

body[data-theme="forest"] .tool-btn:hover svg {
    fill: #fff;
}

/* ─── 底部导航 ─── */
body[data-theme="forest"] .bottom-nav {
    background: #5a4a38;
    border-top: 3px solid #3a2a1a;
}

body[data-theme="forest"] .bottom-nav::before {
    background: repeating-linear-gradient(90deg, #8aaa7a 0px, #8aaa7a 4px, transparent 4px, transparent 8px);
}

body[data-theme="forest"] .nav-item.active {
    background: rgba(138, 170, 122, .1);
}

body[data-theme="forest"] .nav-item.active::after {
    background: #7aaa68;
}

body[data-theme="forest"] .nav-icon svg {
    fill: #8a9a7a;
}

body[data-theme="forest"] .nav-item.active .nav-icon svg {
    fill: #a8c898;
}

body[data-theme="forest"] .nav-item:hover .nav-icon svg {
    fill: #a8c898;
}

body[data-theme="forest"] .nav-label {
    color: #8a9a7a;
}

body[data-theme="forest"] .nav-item.active .nav-label {
    color: #a8c898;
}

/* ─── 人物/世界/背包面板 ─── */
body[data-theme="forest"] .player-card {
    background: #fff;
    border: 2px dashed #8aaa7a;
    border-radius: 12px;
    box-shadow: 2px 2px 0 rgba(90, 120, 80, .08);
}

body[data-theme="forest"] .player-card-header {
    background: linear-gradient(135deg, #7aaa68, #a0886a);
    border-bottom: none;
    border-radius: 10px 10px 0 0;
}

body[data-theme="forest"] .player-card-header svg {
    fill: #fff;
}

body[data-theme="forest"] .player-card-header-text {
    color: #fff;
}

body[data-theme="forest"] .player-stat-item {
    background: #f8f6f0;
    border: 1.5px solid #d4ccb8;
    border-radius: 8px;
}

body[data-theme="forest"] .player-stat-label {
    color: #8a8070;
}

body[data-theme="forest"] .player-stat-value {
    color: #4a3f35;
}

body[data-theme="forest"] .section-title {
    color: #5a4a38;
}

body[data-theme="forest"] .section-title svg {
    fill: #5a4a38;
}

body[data-theme="forest"] .section-title::after {
    background: repeating-linear-gradient(90deg, #c8c0aa 0px, #c8c0aa 4px, transparent 4px, transparent 8px);
}

body[data-theme="forest"] .npc-card {
    background: #fff;
    border: 1.5px solid #c8c0aa;
    border-radius: 10px;
}

body[data-theme="forest"] .npc-card:hover {
    box-shadow: 2px 3px 0 rgba(90, 80, 60, .1);
}

body[data-theme="forest"] .npc-name {
    color: #4a3f35;
}

body[data-theme="forest"] .npc-title {
    color: #8a8070;
}

body[data-theme="forest"] .npc-favor-mini {
    color: #c07070;
}

body[data-theme="forest"] .npc-arrow {
    color: #8aaa7a;
}

body[data-theme="forest"] .pixel-tag.pink {
    background: #e8d0c0;
    color: #7a5040;
    border-color: #d0b8a0;
    border-radius: 10px;
}

body[data-theme="forest"] .world-module {
    background: #fff;
    border: 2px dashed #8aaa7a;
    border-radius: 12px;
}

body[data-theme="forest"] .module-header {
    background: linear-gradient(180deg, #eef4e6, #e4ecd8);
    border-bottom: 1px dashed #b8ccaa;
    border-radius: 10px 10px 0 0;
}

body[data-theme="forest"] .module-header-text {
    color: #3a5a30;
}

body[data-theme="forest"] .mod-text {
    color: #5a5040;
}

body[data-theme="forest"] .mod-list-bullet {
    color: #7aaa68;
}

body[data-theme="forest"] .bag-item {
    background: #fff;
    border: 1.5px solid #c8c0aa;
    border-radius: 10px;
}

body[data-theme="forest"] .bag-name {
    color: #4a3f35;
}

/* ─── 弹窗 ─── */
body[data-theme="forest"] .pixel-modal {
    background: #faf6ef;
    border: 2px dashed #8aaa7a;
    border-radius: 14px;
    box-shadow: 6px 6px 0 rgba(90, 80, 60, .15);
}

body[data-theme="forest"] .modal-titlebar {
    background: linear-gradient(90deg, #5a4a38, #6a5a48, #5a4a38);
    border-bottom: 2px solid #8aaa7a;
    border-radius: 12px 12px 0 0;
}

body[data-theme="forest"] .modal-titlebar-text {
    color: #a8c898;
}

body[data-theme="forest"] .modal-close-btn {
    background: #7aaa68;
    border-color: #5a8a48;
    color: #fff;
    border-radius: 50%;
}

body[data-theme="forest"] .modal-detail-inner {
    background: #fff;
    border: 1.5px solid #c8c0aa;
    border-radius: 8px;
}

body[data-theme="forest"] .setting-label {
    color: #3a5a30;
}

body[data-theme="forest"] .setting-label svg {
    fill: #5a8a48;
}

body[data-theme="forest"] .setting-context-box {
    background: #f4f8ee;
    border: 1.5px dashed #a8c098;
    border-radius: 8px;
}

body[data-theme="forest"] .theme-card {
    background: #fff;
    border-color: #c8c0aa;
    border-radius: 10px;
}

body[data-theme="forest"] .theme-card.active {
    border-color: #6a9a5a;
    box-shadow: 0 0 0 2px rgba(106, 154, 90, .3);
}

body[data-theme="forest"] .theme-card-preview {
    border-radius: 8px;
}


/* ============================================
   #4 星空梦幻
   ============================================ */

/* ─── 特效动画 ─── */
.st-nebula {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: radial-gradient(ellipse at 30% 20%, rgba(100, 60, 180, 0.08) 0%, transparent 50%),
        radial-gradient(ellipse at 70% 70%, rgba(60, 100, 200, 0.06) 0%, transparent 50%);
    animation: stNebula 15s ease-in-out infinite alternate;
}

@keyframes stNebula {
    0% {
        opacity: 0.6;
    }

    100% {
        opacity: 1;
    }
}

.st-star {
    position: absolute;
    width: 3px;
    height: 3px;
    background: #fff;
    border-radius: 50%;
    animation: stTwinkle 3s ease-in-out infinite;
}

@keyframes stTwinkle {

    0%,
    100% {
        opacity: 0.2;
        transform: scale(0.8);
    }

    50% {
        opacity: 1;
        transform: scale(1.3);
        box-shadow: 0 0 6px rgba(200, 180, 255, 0.6);
    }
}

.st-meteor {
    position: absolute;
    top: 10%;
    left: 100%;
    width: 2px;
    height: 2px;
    background: #fff;
    border-radius: 50%;
    box-shadow: 0 0 4px #fff, -40px 0 20px rgba(200, 180, 255, 0.3);
    animation: stMeteor 8s linear infinite;
}

@keyframes stMeteor {
    0% {
        top: 5%;
        left: 110%;
        opacity: 0;
    }

    5% {
        opacity: 1;
    }

    15% {
        top: 25%;
        left: -10%;
        opacity: 0;
    }

    100% {
        top: 25%;
        left: -10%;
        opacity: 0;
    }
}

/* ─── 页面底色 ─── */
body[data-theme="starry"] {
    background: linear-gradient(180deg, #0e0a1e, #1a1040, #0e0a1e);
}

body[data-theme="starry"] .setup-page {
    background: linear-gradient(180deg, #0e0a1e, #1a1040);
}

body[data-theme="starry"] .game-page {
    background: linear-gradient(180deg, #0e0a1e, #1a1040);
}

body[data-theme="starry"] .setup-hero {
    background: linear-gradient(135deg, rgba(100, 60, 180, 0.2), rgba(60, 100, 200, 0.2));
    border: 1px solid rgba(160, 140, 220, 0.3);
    border-radius: 16px;
    box-shadow: 0 0 20px rgba(100, 60, 180, 0.15);
}

body[data-theme="starry"] .setup-hero::before,
body[data-theme="starry"] .setup-hero::after {
    content: '✦ ✧ ✦ ✧ ✦ ✧ ✦ ✧ ✦ ✧ ✦ ✧ ✦ ✧ ✦';
    color: rgba(200, 180, 255, 0.3);
}

body[data-theme="starry"] .setup-hero-title {
    color: #e0d0ff;
}

body[data-theme="starry"] .setup-hero-sub {
    color: #8a7aaa;
}

body[data-theme="starry"] .setup-input-card {
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(160, 140, 220, 0.25);
    border-radius: 14px;
    backdrop-filter: blur(8px);
}

body[data-theme="starry"] .setup-input-label {
    color: #c0b0e0;
}

body[data-theme="starry"] .pixel-textarea {
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(160, 140, 220, 0.2);
    border-radius: 10px;
    color: #e0d8f0;
}

body[data-theme="starry"] .pixel-textarea::placeholder {
    color: rgba(200, 180, 255, 0.3);
}

body[data-theme="starry"] .pixel-textarea:focus {
    border-color: rgba(160, 140, 220, 0.5);
}

body[data-theme="starry"] .examples-accordion {
    border: 1px solid rgba(160, 140, 220, 0.25);
    border-radius: 14px;
    backdrop-filter: blur(8px);
    overflow: hidden;
}

body[data-theme="starry"] .examples-header {
    background: rgba(255, 255, 255, 0.04);
    color: #c0b0e0;
}

body[data-theme="starry"] .examples-arrow {
    color: #8a7aaa;
}

body[data-theme="starry"] .examples-body {
    background: rgba(255, 255, 255, 0.02);
}

body[data-theme="starry"] .theme-item:hover {
    background: rgba(100, 60, 180, 0.1);
}

body[data-theme="starry"] .setup-tip {
    background: rgba(100, 60, 180, 0.1);
    border: 1px solid rgba(160, 140, 220, 0.2);
    border-radius: 10px;
    color: #a090c0;
}

body[data-theme="starry"] .setup-back {
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(160, 140, 220, 0.2);
    border-radius: 12px;
    color: #8a7aaa;
}

/* ─── 按钮 ─── */
body[data-theme="starry"] .pixel-btn {
    background: linear-gradient(135deg, rgba(120, 80, 200, 0.4), rgba(80, 60, 180, 0.4));
    border: 1px solid rgba(160, 140, 220, 0.4);
    border-radius: 12px;
    color: #e0d0ff;
    text-shadow: 0 0 8px rgba(160, 140, 220, 0.4);
    box-shadow: 0 0 12px rgba(100, 60, 180, 0.2);
    backdrop-filter: blur(4px);
}

body[data-theme="starry"] .pixel-btn:hover {
    box-shadow: 0 0 20px rgba(100, 60, 180, 0.35);
}

body[data-theme="starry"] .pixel-btn:active {
    transform: translateY(1px);
    box-shadow: 0 0 8px rgba(100, 60, 180, 0.15);
}

body[data-theme="starry"] .pixel-btn.blue {
    background: linear-gradient(135deg, rgba(60, 100, 200, 0.4), rgba(40, 80, 180, 0.4));
    border-color: rgba(100, 140, 220, 0.4);
    color: #c0d8ff;
}

/* ─── HUD ─── */
body[data-theme="starry"] .game-hud {
    background: rgba(10, 10, 20, 0.9);
    border-bottom: 1px solid rgba(160, 140, 220, 0.2);
    backdrop-filter: blur(10px);
}

body[data-theme="starry"] .game-hud::after {
    background: linear-gradient(90deg, transparent, rgba(160, 140, 220, 0.3), transparent);
    height: 1px;
}

body[data-theme="starry"] .hud-item {
    background: rgba(160, 140, 220, 0.06);
    border: 1px solid rgba(160, 140, 220, 0.15);
    border-radius: 8px;
}

body[data-theme="starry"] .hud-value {
    color: #d0c0f0;
}

body[data-theme="starry"] .hud-label {
    color: #6a5a8a;
}

body[data-theme="starry"] .hud-btn {
    background: rgba(160, 140, 220, 0.06);
    border: 1px solid rgba(160, 140, 220, 0.2);
    border-radius: 8px;
}

body[data-theme="starry"] .hud-btn svg {
    fill: #a090c0;
}

body[data-theme="starry"] .hud-btn:hover {
    border-color: rgba(160, 140, 220, 0.5);
    box-shadow: 0 0 8px rgba(100, 60, 180, 0.2);
}

body[data-theme="starry"] .hud-btn:hover svg {
    fill: #d0c0f0;
}

/* ─── 剧情区 ─── */
body[data-theme="starry"] .story-text-box {
    background: rgba(255, 255, 255, 0.03);
    border: 1px solid rgba(160, 140, 220, 0.2);
    border-radius: 14px;
    backdrop-filter: blur(8px);
    box-shadow: 0 0 20px rgba(100, 60, 180, 0.08);
}

body[data-theme="starry"] .story-text-titlebar {
    background: rgba(100, 60, 180, 0.12);
    border-bottom: 1px solid rgba(160, 140, 220, 0.15);
    border-radius: 13px 13px 0 0;
}

body[data-theme="starry"] .story-text-titlebar svg {
    fill: #b0a0d0;
}

body[data-theme="starry"] .story-text-titlebar-text {
    color: #b0a0d0;
}

body[data-theme="starry"] .story-text-inner {
    color: #d8d0e8;
    line-height: 1.9;
}

body[data-theme="starry"] .story-text-inner .dialogue {
    color: #e0b8d0;
    border-left-color: rgba(200, 160, 220, 0.4);
}

body[data-theme="starry"] .loading-text-pixel {
    color: #b0a0d0;
}

/* ─── 选项 ─── */
body[data-theme="starry"] .game-controls {
    background: rgba(14, 10, 30, 0.95);
    border-top: 1px solid rgba(160, 140, 220, 0.2);
    backdrop-filter: blur(10px);
}

body[data-theme="starry"] .game-controls::before {
    background: linear-gradient(90deg, transparent, rgba(160, 140, 220, 0.4), transparent);
    height: 1px;
}

body[data-theme="starry"] .choice-card {
    background: rgba(255, 255, 255, 0.03);
    border: 1px solid rgba(160, 140, 220, 0.2);
    border-radius: 10px;
    backdrop-filter: blur(4px);
}

body[data-theme="starry"] .choice-card:hover {
    transform: translate(-1px, -1px);
    box-shadow: 0 0 14px rgba(100, 60, 180, 0.2);
    border-color: rgba(160, 140, 220, 0.4);
}

body[data-theme="starry"] .choice-card:active {
    transform: translate(0, 0);
    background: rgba(100, 60, 180, 0.1);
}

body[data-theme="starry"] .choice-id {
    background: rgba(120, 80, 200, 0.3);
    border: 1px solid rgba(160, 140, 220, 0.4);
    border-radius: 8px;
    color: #d0c0f0;
}

body[data-theme="starry"] .choice-text {
    color: #d8d0e8;
}

body[data-theme="starry"] .choice-toggle {
    color: #8a7aaa;
}

body[data-theme="starry"] .choice-toggle svg {
    fill: #8a7aaa;
}

body[data-theme="starry"] .pixel-input {
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(160, 140, 220, 0.2);
    border-radius: 10px;
    color: #d8d0e8;
}

body[data-theme="starry"] .pixel-input::placeholder {
    color: rgba(160, 140, 220, 0.3);
}

body[data-theme="starry"] .pixel-input:focus {
    border-color: rgba(160, 140, 220, 0.5);
}

body[data-theme="starry"] .send-btn {
    background: linear-gradient(135deg, rgba(120, 80, 200, 0.4), rgba(80, 60, 180, 0.4));
    border: 1px solid rgba(160, 140, 220, 0.4);
    border-radius: 10px;
}

body[data-theme="starry"] .send-btn svg {
    fill: #d0c0f0;
}

/* ─── 工具栏 ─── */
body[data-theme="starry"] .toolbar {
    border-top-color: rgba(160, 140, 220, 0.1);
}

body[data-theme="starry"] .tool-btn {
    background: rgba(160, 140, 220, 0.06);
    border: 1px solid rgba(160, 140, 220, 0.2);
    border-radius: 8px;
    color: #8a7aaa;
}

body[data-theme="starry"] .tool-btn svg {
    fill: #8a7aaa;
}

body[data-theme="starry"] .tool-btn:hover {
    background: rgba(120, 80, 200, 0.2);
    color: #d0c0f0;
    border-color: rgba(160, 140, 220, 0.4);
}

body[data-theme="starry"] .tool-btn:hover svg {
    fill: #d0c0f0;
}

/* ─── 底部导航 ─── */
body[data-theme="starry"] .bottom-nav {
    background: rgba(10, 10, 20, 0.95);
    border-top: 1px solid rgba(160, 140, 220, 0.2);
    backdrop-filter: blur(10px);
}

body[data-theme="starry"] .bottom-nav::before {
    background: linear-gradient(90deg, transparent, rgba(160, 140, 220, 0.3), transparent);
    height: 1px;
}

body[data-theme="starry"] .nav-item.active {
    background: rgba(100, 60, 180, 0.1);
}

body[data-theme="starry"] .nav-item.active::after {
    background: #a080d0;
    box-shadow: 0 0 8px rgba(160, 128, 208, 0.5);
}

body[data-theme="starry"] .nav-icon svg {
    fill: #5a4a7a;
}

body[data-theme="starry"] .nav-item.active .nav-icon svg {
    fill: #c0a8e0;
}

body[data-theme="starry"] .nav-item:hover .nav-icon svg {
    fill: #c0a8e0;
}

body[data-theme="starry"] .nav-label {
    color: #5a4a7a;
}

body[data-theme="starry"] .nav-item.active .nav-label {
    color: #c0a8e0;
}

/* ─── 面板 ─── */
body[data-theme="starry"] .player-card {
    background: rgba(255, 255, 255, 0.03);
    border: 1px solid rgba(160, 140, 220, 0.2);
    border-radius: 14px;
    backdrop-filter: blur(8px);
}

body[data-theme="starry"] .player-card-header {
    background: linear-gradient(135deg, rgba(120, 80, 200, 0.2), rgba(60, 100, 200, 0.2));
    border-bottom: 1px solid rgba(160, 140, 220, 0.15);
    border-radius: 13px 13px 0 0;
}

body[data-theme="starry"] .player-card-header svg {
    fill: #d0c0f0;
}

body[data-theme="starry"] .player-card-header-text {
    color: #d0c0f0;
}

body[data-theme="starry"] .player-stat-item {
    background: rgba(160, 140, 220, 0.06);
    border: 1px solid rgba(160, 140, 220, 0.12);
    border-radius: 8px;
}

body[data-theme="starry"] .player-stat-label {
    color: #7a6a9a;
}

body[data-theme="starry"] .player-stat-value {
    color: #d8d0e8;
}

body[data-theme="starry"] .section-title {
    color: #8a7aaa;
}

body[data-theme="starry"] .section-title svg {
    fill: #8a7aaa;
}

body[data-theme="starry"] .section-title::after {
    background: linear-gradient(90deg, rgba(160, 140, 220, 0.2), transparent);
}

body[data-theme="starry"] .npc-card {
    background: rgba(255, 255, 255, 0.03);
    border: 1px solid rgba(160, 140, 220, 0.2);
    border-radius: 10px;
}

body[data-theme="starry"] .npc-card:hover {
    box-shadow: 0 0 12px rgba(100, 60, 180, 0.15);
}

body[data-theme="starry"] .npc-name {
    color: #d8d0e8;
}

body[data-theme="starry"] .npc-title {
    color: #7a6a9a;
}

body[data-theme="starry"] .npc-favor-mini {
    color: #d0a0c0;
}

body[data-theme="starry"] .npc-arrow {
    color: #8a7aaa;
}

body[data-theme="starry"] .pixel-tag.pink {
    background: rgba(200, 160, 220, 0.2);
    color: #d0a0c0;
    border-color: rgba(200, 160, 220, 0.3);
    border-radius: 8px;
}

body[data-theme="starry"] .world-module {
    background: rgba(255, 255, 255, 0.03);
    border: 1px solid rgba(160, 140, 220, 0.2);
    border-radius: 14px;
}

body[data-theme="starry"] .module-header {
    background: rgba(100, 60, 180, 0.08);
    border-bottom: 1px solid rgba(160, 140, 220, 0.1);
    border-radius: 13px 13px 0 0;
}

body[data-theme="starry"] .module-header-text {
    color: #b0a0d0;
}

body[data-theme="starry"] .mod-text {
    color: #a098b8;
}

body[data-theme="starry"] .mod-list-bullet {
    color: #a080d0;
}

body[data-theme="starry"] .mod-kv-item {
    border-bottom-color: rgba(160, 140, 220, 0.08);
}

body[data-theme="starry"] .kv-key {
    color: #6a5a8a;
}

body[data-theme="starry"] .kv-val {
    color: #d8d0e8;
}

body[data-theme="starry"] .bag-item {
    background: rgba(255, 255, 255, 0.03);
    border: 1px solid rgba(160, 140, 220, 0.2);
    border-radius: 10px;
}

body[data-theme="starry"] .bag-name {
    color: #d8d0e8;
}

body[data-theme="starry"] .bag-count {
    color: #7a6a9a;
}

body[data-theme="starry"] .bag-desc {
    color: #6a5a8a;
}

/* ─── 弹窗 ─── */
body[data-theme="starry"] .modal-overlay {
    background: rgba(10, 10, 20, 0.7);
}

body[data-theme="starry"] .pixel-modal {
    background: rgba(20, 16, 40, 0.95);
    border: 1px solid rgba(160, 140, 220, 0.3);
    border-radius: 16px;
    box-shadow: 0 0 40px rgba(100, 60, 180, 0.2);
    backdrop-filter: blur(12px);
}

body[data-theme="starry"] .modal-titlebar {
    background: rgba(100, 60, 180, 0.15);
    border-bottom: 1px solid rgba(160, 140, 220, 0.15);
    border-radius: 15px 15px 0 0;
}

body[data-theme="starry"] .modal-titlebar-text {
    color: #c0b0e0;
}

body[data-theme="starry"] .modal-close-btn {
    background: rgba(160, 140, 220, 0.15);
    border: 1px solid rgba(160, 140, 220, 0.3);
    color: #c0b0e0;
    border-radius: 6px;
}

body[data-theme="starry"] .modal-detail-inner {
    background: rgba(255, 255, 255, 0.03);
    border: 1px solid rgba(160, 140, 220, 0.15);
    border-radius: 10px;
}

body[data-theme="starry"] .modal-detail-key {
    color: #6a5a8a;
}

body[data-theme="starry"] .modal-detail-val {
    color: #d8d0e8;
}

body[data-theme="starry"] .pixel-progress {
    background: rgba(0, 0, 0, .3);
    border: 1px solid rgba(160, 140, 220, 0.2);
    border-radius: 4px;
}

body[data-theme="starry"] .pixel-progress-fill {
    background: linear-gradient(90deg, #6a40c0, #a060e0);
    border-radius: 3px;
}

body[data-theme="starry"] .setting-label {
    color: #c0b0e0;
}

body[data-theme="starry"] .setting-label svg {
    fill: #a090c0;
}

body[data-theme="starry"] .setting-context-box {
    background: rgba(100, 60, 180, 0.06);
    border: 1px dashed rgba(160, 140, 220, 0.2);
    border-radius: 10px;
}

body[data-theme="starry"] .setting-context-info {
    color: #8a7aaa;
}

body[data-theme="starry"] .setting-context-info span {
    color: #c0a0e0;
}

body[data-theme="starry"] .setting-slider-val {
    background: rgba(160, 140, 220, 0.1);
    border-color: rgba(160, 140, 220, 0.2);
    color: #c0b0e0;
}

body[data-theme="starry"] .review-item {
    background: rgba(255, 255, 255, 0.03);
    border: 1px solid rgba(160, 140, 220, 0.15);
    border-radius: 10px;
}

body[data-theme="starry"] .review-item-header {
    color: #a090c0;
}

body[data-theme="starry"] .review-item-body {
    color: #a098b8;
}

body[data-theme="starry"] .theme-card {
    background: rgba(255, 255, 255, 0.04);
    border-color: rgba(160, 140, 220, 0.2);
    border-radius: 10px;
}

body[data-theme="starry"] .theme-card.active {
    border-color: #a080d0;
    box-shadow: 0 0 12px rgba(160, 128, 208, 0.3);
}

body[data-theme="starry"] .theme-card-name {
    color: #d8d0e8;
}

body[data-theme="starry"] .theme-card-desc {
    color: #6a5a8a;
}

/* ─── 星空主题下题材库等小组件 ─── */
body[data-theme="starry"] .theme-tab {
    background: rgba(160, 140, 220, 0.08);
    border-color: rgba(160, 140, 220, 0.2);
    color: #8a7aaa;
}

body[data-theme="starry"] .theme-tab.active {
    background: rgba(120, 80, 200, 0.3);
    color: #d0c0f0;
    border-color: rgba(160, 140, 220, 0.4);
}

body[data-theme="starry"] .theme-title {
    color: #d8d0e8;
}

body[data-theme="starry"] .theme-desc {
    color: #7a6a9a;
}

body[data-theme="starry"] .theme-tag-mini {
    background: rgba(160, 140, 220, 0.1);
    border-color: rgba(160, 140, 220, 0.2);
    color: #8a7aaa;
}

body[data-theme="starry"] .style-textarea {
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(160, 140, 220, 0.2);
    color: #d8d0e8;
    border-radius: 8px;
}

body[data-theme="starry"] .empty-text {
    color: #5a4a7a;
}

/* ─── 古风/森系下题材库自适应 ─── */
body[data-theme="guofeng"] .theme-tab {
    background: #f0e6cc;
    border-color: #c4a860;
    color: #6a5a30;
}

body[data-theme="guofeng"] .theme-tab.active {
    background: #c03030;
    color: #fff;
    border-color: #8b2020;
}

body[data-theme="guofeng"] .theme-title {
    color: #2c2417;
}

body[data-theme="guofeng"] .theme-desc {
    color: #7a6a4a;
}

body[data-theme="guofeng"] .theme-item:hover {
    background: #fdf8ec;
}

body[data-theme="guofeng"] .style-textarea {
    background: #fdf8ec;
    border-color: #c4a860;
    color: #2c2417;
}

body[data-theme="guofeng"] .empty-text {
    color: #8a7a50;
}

body[data-theme="forest"] .theme-tab {
    background: #eef4e6;
    border-color: #b8ccaa;
    color: #5a7a4a;
    border-radius: 10px;
}

body[data-theme="forest"] .theme-tab.active {
    background: #7aaa68;
    color: #fff;
    border-color: #5a8a48;
}

body[data-theme="forest"] .theme-title {
    color: #4a3f35;
}

body[data-theme="forest"] .theme-desc {
    color: #8a8070;
}

body[data-theme="forest"] .theme-item:hover {
    background: #f4f8ee;
}

body[data-theme="forest"] .style-textarea {
    background: #fafaf4;
    border-color: #b8ccaa;
    color: #4a3f35;
    border-radius: 8px;
}

body[data-theme="forest"] .empty-text {
    color: #8a8070;
}

/* ============================================
   #5 漫画波普
   ============================================ */

/* ─── 特效：半调网点底纹 ─── */
.cm-halftone {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-image: radial-gradient(circle, rgba(0, 0, 0, 0.06) 1px, transparent 1px);
    background-size: 6px 6px;
}

/* ─── 页面底色 ─── */
body[data-theme="comic"] {
    background: #fff;
}

body[data-theme="comic"] .setup-page {
    background: #fff;
}

body[data-theme="comic"] .game-page {
    background: #fff;
}

body[data-theme="comic"] .setup-hero {
    background: #fff;
    border: 4px solid #222;
    border-radius: 0;
    box-shadow: 5px 5px 0 #222;
    position: relative;
}

body[data-theme="comic"] .setup-hero::before {
    content: '★ POW! ★ BAM! ★ ZAP! ★ BOOM! ★ POW! ★';
    color: #e03030;
    font-weight: 900;
    letter-spacing: 4px;
}

body[data-theme="comic"] .setup-hero::after {
    content: '★ POW! ★ BAM! ★ ZAP! ★ BOOM! ★ POW! ★';
    color: #2060d0;
    font-weight: 900;
    letter-spacing: 4px;
}

body[data-theme="comic"] .setup-hero-title {
    color: #222;
    font-weight: 900;
    text-transform: uppercase;
    text-shadow: 3px 3px 0 #ffe040, -1px -1px 0 #e03030;
}

body[data-theme="comic"] .setup-hero-sub {
    color: #555;
    font-weight: 700;
}

body[data-theme="comic"] .setup-input-card {
    background: #fff;
    border: 3px solid #222;
    border-radius: 0;
    box-shadow: 4px 4px 0 #222;
}

body[data-theme="comic"] .setup-input-label {
    color: #e03030;
    font-weight: 900;
}

body[data-theme="comic"] .pixel-textarea {
    background: #fffef0;
    border: 2px solid #222;
    border-radius: 0;
    color: #222;
    font-weight: 600;
}

body[data-theme="comic"] .pixel-textarea:focus {
    border-color: #e03030;
}

body[data-theme="comic"] .examples-accordion {
    border: 3px solid #222;
    border-radius: 0;
    box-shadow: 4px 4px 0 #222;
    overflow: hidden;
}

body[data-theme="comic"] .examples-header {
    background: #ffe040;
    color: #222;
    font-weight: 900;
    border-bottom: 2px solid #222;
}

body[data-theme="comic"] .examples-arrow {
    color: #e03030;
    font-weight: 900;
}

body[data-theme="comic"] .examples-body {
    background: #fff;
}

body[data-theme="comic"] .setup-tip {
    background: #e0f0ff;
    border: 2px solid #222;
    border-radius: 0;
    color: #2060d0;
    font-weight: 700;
}

body[data-theme="comic"] .setup-back {
    background: #f0f0f0;
    border: 2px solid #222;
    border-radius: 0;
    color: #222;
    font-weight: 700;
}

/* ─── 按钮 ─── */
body[data-theme="comic"] .pixel-btn {
    background: #e03030;
    border: 3px solid #222;
    border-radius: 0;
    color: #fff;
    font-weight: 900;
    text-transform: uppercase;
    text-shadow: 1px 1px 0 rgba(0, 0, 0, .3);
    box-shadow: 4px 4px 0 #222;
    letter-spacing: 1px;
    transition: all .08s;
}

body[data-theme="comic"] .pixel-btn:hover {
    transform: translate(-2px, -2px);
    box-shadow: 6px 6px 0 #222;
}

body[data-theme="comic"] .pixel-btn:active {
    transform: translate(2px, 2px);
    box-shadow: 1px 1px 0 #222;
}

body[data-theme="comic"] .pixel-btn.blue {
    background: #2060d0;
    color: #fff;
}

/* ─── HUD ─── */
body[data-theme="comic"] .game-hud {
    background: #222;
    border-bottom: 4px solid #000;
}

body[data-theme="comic"] .game-hud::after {
    background: repeating-linear-gradient(90deg, #ffe040 0px, #ffe040 6px, #e03030 6px, #e03030 12px, #2060d0 12px, #2060d0 18px);
    height: 3px;
}

body[data-theme="comic"] .hud-item {
    background: rgba(255, 255, 255, .1);
    border: 2px solid #444;
    border-radius: 0;
}

body[data-theme="comic"] .hud-value {
    color: #ffe040;
    font-weight: 900;
}

body[data-theme="comic"] .hud-label {
    color: #aaa;
    font-weight: 700;
}

body[data-theme="comic"] .hud-btn {
    background: rgba(255, 255, 255, .1);
    border: 2px solid #444;
    border-radius: 0;
}

body[data-theme="comic"] .hud-btn svg {
    fill: #ffe040;
}

body[data-theme="comic"] .hud-btn:hover {
    border-color: #e03030;
    background: rgba(224, 48, 48, .2);
}

body[data-theme="comic"] .hud-btn:hover svg {
    fill: #e03030;
}

/* ─── 剧情区 ─── */
body[data-theme="comic"] .story-text-box {
    background: #fff;
    border: 3px solid #222;
    border-radius: 0;
    box-shadow: 4px 4px 0 #222;
}

body[data-theme="comic"] .story-text-titlebar {
    background: #ffe040;
    border-bottom: 3px solid #222;
    border-radius: 0;
}

body[data-theme="comic"] .story-text-titlebar svg {
    fill: #222;
}

body[data-theme="comic"] .story-text-titlebar-text {
    color: #222;
    font-weight: 900;
}

body[data-theme="comic"] .story-text-inner {
    color: #222;
    font-weight: 500;
    line-height: 1.8;
}

body[data-theme="comic"] .story-text-inner .dialogue {
    color: #e03030;
    border-left: 4px solid #e03030;
    font-weight: 700;
}

body[data-theme="comic"] .loading-text-pixel {
    color: #2060d0;
    font-weight: 700;
}

/* ─── 选项（爆炸对话框风格）─── */
body[data-theme="comic"] .game-controls {
    background: #f8f8f0;
    border-top: 4px solid #222;
}

body[data-theme="comic"] .game-controls::before {
    background: repeating-linear-gradient(90deg, #e03030 0px, #e03030 6px, #ffe040 6px, #ffe040 12px, #2060d0 12px, #2060d0 18px);
    height: 3px;
}

body[data-theme="comic"] .choice-card {
    background: #fff;
    border: 3px solid #222;
    border-radius: 0;
    box-shadow: 3px 3px 0 #222;
    position: relative;
    transition: all .08s;
}

/* 锯齿爆炸边缘效果用阴影模拟 */
body[data-theme="comic"] .choice-card:hover {
    transform: translate(-2px, -2px) rotate(-0.5deg);
    box-shadow: 5px 5px 0 #222;
    background: #fffee0;
}

body[data-theme="comic"] .choice-card:active {
    transform: translate(2px, 2px);
    box-shadow: 1px 1px 0 #222;
    background: #ffe040;
}

body[data-theme="comic"] .choice-id {
    background: #e03030;
    border: 2px solid #222;
    border-radius: 0;
    color: #fff;
    font-weight: 900;
}

body[data-theme="comic"] .choice-card:nth-child(2) .choice-id {
    background: #2060d0;
}

body[data-theme="comic"] .choice-card:nth-child(3) .choice-id {
    background: #ffe040;
    color: #222;
}

body[data-theme="comic"] .choice-card:nth-child(4) .choice-id {
    background: #30b060;
}

body[data-theme="comic"] .choice-card:nth-child(5) .choice-id {
    background: #f080a0;
}

body[data-theme="comic"] .choice-text {
    color: #222;
    font-weight: 700;
}

body[data-theme="comic"] .choice-toggle {
    color: #e03030;
    font-weight: 700;
}

body[data-theme="comic"] .choice-toggle svg {
    fill: #e03030;
}

body[data-theme="comic"] .pixel-input {
    background: #fffef0;
    border: 2px solid #222;
    border-radius: 0;
    color: #222;
    font-weight: 600;
}

body[data-theme="comic"] .pixel-input:focus {
    border-color: #e03030;
}

body[data-theme="comic"] .pixel-input::placeholder {
    color: #aaa;
}

body[data-theme="comic"] .send-btn {
    background: #e03030;
    border: 2px solid #222;
    border-radius: 0;
    box-shadow: 2px 2px 0 #222;
}

body[data-theme="comic"] .send-btn svg {
    fill: #fff;
}

/* ─── 工具栏 ─── */
body[data-theme="comic"] .toolbar {
    border-top-color: #ddd;
}

body[data-theme="comic"] .tool-btn {
    background: #f0f0f0;
    border: 2px solid #222;
    border-radius: 0;
    color: #222;
    font-weight: 700;
    box-shadow: 2px 2px 0 #222;
}

body[data-theme="comic"] .tool-btn svg {
    fill: #222;
}

body[data-theme="comic"] .tool-btn:hover {
    background: #ffe040;
    color: #222;
}

body[data-theme="comic"] .tool-btn:hover svg {
    fill: #222;
}

body[data-theme="comic"] .tool-btn:active {
    transform: translate(2px, 2px);
    box-shadow: none;
}

/* ─── 底部导航 ─── */
body[data-theme="comic"] .bottom-nav {
    background: #222;
    border-top: 4px solid #000;
}

body[data-theme="comic"] .bottom-nav::before {
    background: repeating-linear-gradient(90deg, #ffe040 0px, #ffe040 6px, #e03030 6px, #e03030 12px, #2060d0 12px, #2060d0 18px);
    height: 3px;
}

body[data-theme="comic"] .nav-item.active {
    background: rgba(255, 224, 64, .1);
}

body[data-theme="comic"] .nav-item.active::after {
    background: #ffe040;
    box-shadow: 0 0 6px rgba(255, 224, 64, .5);
}

body[data-theme="comic"] .nav-icon svg {
    fill: #888;
}

body[data-theme="comic"] .nav-item.active .nav-icon svg {
    fill: #ffe040;
}

body[data-theme="comic"] .nav-item:hover .nav-icon svg {
    fill: #ffe040;
}

body[data-theme="comic"] .nav-label {
    color: #888;
    font-weight: 700;
}

body[data-theme="comic"] .nav-item.active .nav-label {
    color: #ffe040;
}

/* ─── 面板 ─── */
body[data-theme="comic"] .player-card {
    background: #fff;
    border: 3px solid #222;
    border-radius: 0;
    box-shadow: 4px 4px 0 #222;
}

body[data-theme="comic"] .player-card-header {
    background: #e03030;
    border-bottom: 3px solid #222;
    border-radius: 0;
}

body[data-theme="comic"] .player-card-header svg {
    fill: #fff;
}

body[data-theme="comic"] .player-card-header-text {
    color: #fff;
    font-weight: 900;
}

body[data-theme="comic"] .player-stat-item {
    background: #f8f8f0;
    border: 2px solid #222;
    border-radius: 0;
}

body[data-theme="comic"] .player-stat-label {
    color: #888;
    font-weight: 700;
}

body[data-theme="comic"] .player-stat-value {
    color: #222;
    font-weight: 900;
}

body[data-theme="comic"] .section-title {
    color: #222;
    font-weight: 900;
}

body[data-theme="comic"] .section-title svg {
    fill: #222;
}

body[data-theme="comic"] .section-title::after {
    background: repeating-linear-gradient(90deg, #222 0px, #222 4px, transparent 4px, transparent 8px);
}

body[data-theme="comic"] .npc-card {
    background: #fff;
    border: 2px solid #222;
    border-radius: 0;
    box-shadow: 3px 3px 0 #222;
}

body[data-theme="comic"] .npc-card:hover {
    transform: translate(-1px, -1px);
    box-shadow: 4px 4px 0 #222;
}

body[data-theme="comic"] .npc-card:active {
    transform: translate(1px, 1px);
    box-shadow: 1px 1px 0 #222;
}

body[data-theme="comic"] .npc-name {
    color: #222;
    font-weight: 900;
}

body[data-theme="comic"] .npc-title {
    color: #666;
    font-weight: 600;
}

body[data-theme="comic"] .npc-favor-mini {
    color: #e03030;
}

body[data-theme="comic"] .npc-arrow {
    color: #e03030;
    font-weight: 900;
}

body[data-theme="comic"] .pixel-tag.pink {
    background: #e03030;
    color: #fff;
    border: 2px solid #222;
    border-radius: 0;
}

body[data-theme="comic"] .pixel-tag.blue {
    background: #2060d0;
    color: #fff;
    border: 2px solid #222;
    border-radius: 0;
}

body[data-theme="comic"] .pixel-tag.yellow {
    background: #ffe040;
    color: #222;
    border: 2px solid #222;
    border-radius: 0;
}

body[data-theme="comic"] .world-module {
    background: #fff;
    border: 3px solid #222;
    border-radius: 0;
    box-shadow: 3px 3px 0 #222;
}

body[data-theme="comic"] .module-header {
    background: #ffe040;
    border-bottom: 2px solid #222;
    border-radius: 0;
}

body[data-theme="comic"] .module-header-text {
    color: #222;
    font-weight: 900;
}

body[data-theme="comic"] .mod-text {
    color: #333;
    font-weight: 500;
}

body[data-theme="comic"] .mod-list-bullet {
    color: #e03030;
    font-weight: 900;
}

body[data-theme="comic"] .mod-kv-item {
    border-bottom-color: #eee;
}

body[data-theme="comic"] .kv-key {
    color: #888;
}

body[data-theme="comic"] .kv-val {
    color: #222;
    font-weight: 900;
}

body[data-theme="comic"] .bag-item {
    background: #fff;
    border: 2px solid #222;
    border-radius: 0;
    box-shadow: 2px 2px 0 #222;
}

body[data-theme="comic"] .bag-item:hover {
    transform: translate(-1px, -1px);
    box-shadow: 3px 3px 0 #222;
}

body[data-theme="comic"] .bag-name {
    color: #222;
    font-weight: 700;
}

body[data-theme="comic"] .bag-count {
    color: #e03030;
    font-weight: 700;
}

body[data-theme="comic"] .bag-desc {
    color: #666;
}

/* ─── 弹窗 ─── */
body[data-theme="comic"] .pixel-modal {
    background: #fff;
    border: 4px solid #222;
    border-radius: 0;
    box-shadow: 8px 8px 0 #222;
}

body[data-theme="comic"] .modal-titlebar {
    background: #2060d0;
    border-bottom: 3px solid #222;
    border-radius: 0;
}

body[data-theme="comic"] .modal-titlebar-text {
    color: #fff;
    font-weight: 900;
}

body[data-theme="comic"] .modal-close-btn {
    background: #e03030;
    border: 2px solid #222;
    color: #fff;
    border-radius: 0;
    font-weight: 900;
}

body[data-theme="comic"] .modal-detail-inner {
    background: #f8f8f0;
    border: 2px solid #222;
    border-radius: 0;
}

body[data-theme="comic"] .modal-detail-key {
    color: #888;
}

body[data-theme="comic"] .modal-detail-val {
    color: #222;
    font-weight: 900;
}

body[data-theme="comic"] .pixel-progress {
    background: #ddd;
    border: 2px solid #222;
    border-radius: 0;
}

body[data-theme="comic"] .pixel-progress-fill {
    background: repeating-linear-gradient(-45deg, #e03030 0px, #e03030 4px, #c02020 4px, #c02020 8px);
}

body[data-theme="comic"] .setting-label {
    color: #222;
    font-weight: 900;
}

body[data-theme="comic"] .setting-label svg {
    fill: #e03030;
}

body[data-theme="comic"] .setting-context-box {
    background: #f8f8f0;
    border: 2px solid #222;
    border-radius: 0;
}

body[data-theme="comic"] .setting-context-info {
    color: #555;
}

body[data-theme="comic"] .setting-context-info span {
    color: #e03030;
    font-weight: 900;
}

body[data-theme="comic"] .setting-slider-val {
    background: #ffe040;
    border: 2px solid #222;
    color: #222;
    font-weight: 700;
    border-radius: 0;
}

body[data-theme="comic"] .review-item {
    background: #fff;
    border: 2px solid #222;
    border-radius: 0;
}

body[data-theme="comic"] .review-item-header {
    color: #e03030;
    font-weight: 900;
}

body[data-theme="comic"] .review-item-body {
    color: #333;
}

body[data-theme="comic"] .theme-card {
    background: #fff;
    border: 2px solid #222;
    border-radius: 0;
}

body[data-theme="comic"] .theme-card.active {
    border-color: #e03030;
    box-shadow: 0 0 0 2px rgba(224, 48, 48, .3);
}

body[data-theme="comic"] .theme-card-name {
    color: #222;
    font-weight: 900;
}

body[data-theme="comic"] .theme-card-desc {
    color: #888;
}

body[data-theme="comic"] .theme-card-preview {
    border-radius: 0;
}

body[data-theme="comic"] .theme-tab {
    background: #f0f0f0;
    border: 2px solid #222;
    color: #222;
    font-weight: 700;
    border-radius: 0;
}

body[data-theme="comic"] .theme-tab.active {
    background: #e03030;
    color: #fff;
}

body[data-theme="comic"] .theme-title {
    color: #222;
    font-weight: 700;
}

body[data-theme="comic"] .theme-desc {
    color: #666;
}

body[data-theme="comic"] .theme-item:hover {
    background: #fffee0;
}

body[data-theme="comic"] .style-textarea {
    background: #fffef0;
    border: 2px solid #222;
    color: #222;
    border-radius: 0;
}

body[data-theme="comic"] .empty-text {
    color: #888;
    font-weight: 700;
}

body[data-theme="comic"] .pin-btn {
    border: 2px solid #222;
    border-radius: 0;
}

body[data-theme="comic"] .pin-btn.pinned {
    background: #ffe040;
    border-color: #222;
}

body[data-theme="comic"] .pin-btn.pinned svg {
    fill: #222;
}


/* ============================================
   #6 日式和风
   ============================================ */

/* ─── 特效动画 ─── */
.wf-sakura {
    position: absolute;
    top: -30px;
    font-size: 14px;
    color: #e8a0b0;
    animation: wfFall 11s linear infinite;
}

@keyframes wfFall {
    0% {
        transform: translateY(-30px) rotate(0deg) translateX(0);
        opacity: 0;
    }

    10% {
        opacity: 0.6;
    }

    90% {
        opacity: 0.4;
    }

    100% {
        transform: translateY(100vh) rotate(300deg) translateX(30px);
        opacity: 0;
    }
}

.wf-kinpaku {
    position: absolute;
    width: 4px;
    height: 4px;
    background: #c8a44e;
    border-radius: 50%;
    animation: wfGold 5s ease-in-out infinite;
}

@keyframes wfGold {

    0%,
    100% {
        opacity: 0;
        transform: scale(0.5);
    }

    50% {
        opacity: 0.7;
        transform: scale(1.2);
        box-shadow: 0 0 8px rgba(200, 164, 78, 0.4);
    }
}

/* ─── 页面底色 ─── */
body[data-theme="wafuu"] {
    background: #f8f2e8;
    background-image: url("data:image/svg+xml,%3Csvg width='40' height='40' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence baseFrequency='0.9' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.02'/%3E%3C/svg%3E");
}

body[data-theme="wafuu"] .setup-page {
    background: #f8f2e8;
}

body[data-theme="wafuu"] .game-page {
    background: #f8f2e8;
}

body[data-theme="wafuu"] .setup-hero {
    background: linear-gradient(135deg, #f8f0e0, #efe4d0);
    border: 2px solid #c73e3a;
    border-radius: 4px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, .08);
    position: relative;
}

body[data-theme="wafuu"] .setup-hero::before,
body[data-theme="wafuu"] .setup-hero::after {
    content: '〜 ❀ 〜 ❀ 〜 ❀ 〜 ❀ 〜 ❀ 〜 ❀ 〜 ❀ 〜';
    color: rgba(199, 62, 58, 0.3);
}

body[data-theme="wafuu"] .setup-hero-title {
    color: #1c1c1c;
    font-family: 'Noto Serif SC', 'SimSun', serif;
}

body[data-theme="wafuu"] .setup-hero-sub {
    color: #8f8f8a;
}

body[data-theme="wafuu"] .setup-input-card {
    background: #faf6ee;
    border: 1px solid #d0c4a8;
    border-radius: 4px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .05);
}

body[data-theme="wafuu"] .setup-input-label {
    color: #c73e3a;
}

body[data-theme="wafuu"] .pixel-textarea {
    background: #fdfaf2;
    border: 1px solid #d8ccb0;
    border-radius: 4px;
    color: #1c1c1c;
    font-family: 'Noto Serif SC', 'SimSun', serif;
}

body[data-theme="wafuu"] .pixel-textarea:focus {
    border-color: #c73e3a;
}

body[data-theme="wafuu"] .examples-accordion {
    border: 1px solid #d0c4a8;
    border-radius: 4px;
    overflow: hidden;
}

body[data-theme="wafuu"] .examples-header {
    background: linear-gradient(180deg, #f4ece0, #efe4d4);
    color: #1c1c1c;
    font-family: 'Noto Serif SC', 'SimSun', serif;
}

body[data-theme="wafuu"] .examples-arrow {
    color: #c73e3a;
}

body[data-theme="wafuu"] .examples-body {
    background: #faf6ee;
}

body[data-theme="wafuu"] .setup-tip {
    background: #fdf8ee;
    border: 1px solid #d8ccb0;
    border-radius: 4px;
    color: #8f8f8a;
}

body[data-theme="wafuu"] .setup-back {
    background: #f4ece0;
    border: 1px solid #d0c4a8;
    border-radius: 4px;
    color: #8f8f8a;
}

/* ─── 按钮 ─── */
body[data-theme="wafuu"] .pixel-btn {
    background: linear-gradient(180deg, #c73e3a, #b03430);
    border: 1px solid #8a2a28;
    border-radius: 4px;
    color: #fff;
    text-shadow: 0 1px 2px rgba(0, 0, 0, .2);
    box-shadow: 0 2px 4px rgba(138, 42, 40, .2);
    font-family: 'Noto Serif SC', 'SimSun', serif;
}

body[data-theme="wafuu"] .pixel-btn:hover {
    box-shadow: 0 3px 8px rgba(138, 42, 40, .3);
}

body[data-theme="wafuu"] .pixel-btn:active {
    transform: translateY(1px);
    box-shadow: none;
}

body[data-theme="wafuu"] .pixel-btn.blue {
    background: linear-gradient(180deg, #2a4073, #1e3060);
    border-color: #152450;
    color: #d0d8e8;
}

/* ─── HUD ─── */
body[data-theme="wafuu"] .game-hud {
    background: #1a1a1a;
    border-bottom: 2px solid #000;
}

body[data-theme="wafuu"] .game-hud::after {
    background: linear-gradient(90deg, #c73e3a, #c8a44e, #c73e3a);
    height: 2px;
}

body[data-theme="wafuu"] .hud-item {
    background: rgba(255, 255, 255, .05);
    border: 1px solid rgba(200, 164, 78, .2);
    border-radius: 4px;
}

body[data-theme="wafuu"] .hud-value {
    color: #c8a44e;
}

body[data-theme="wafuu"] .hud-label {
    color: #8a8a80;
}

body[data-theme="wafuu"] .hud-btn {
    background: rgba(255, 255, 255, .05);
    border: 1px solid rgba(200, 164, 78, .2);
    border-radius: 4px;
}

body[data-theme="wafuu"] .hud-btn svg {
    fill: #c8a44e;
}

body[data-theme="wafuu"] .hud-btn:hover {
    border-color: #c8a44e;
}

body[data-theme="wafuu"] .hud-btn:hover svg {
    fill: #e0c060;
}

/* ─── 剧情区 ─── */
body[data-theme="wafuu"] .story-text-box {
    background: #faf6ee;
    border: 1px solid #d0c4a8;
    border-radius: 4px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, .05);
}

body[data-theme="wafuu"] .story-text-titlebar {
    background: #1a1a1a;
    border-bottom: 1px solid #c8a44e;
    border-radius: 3px 3px 0 0;
}

body[data-theme="wafuu"] .story-text-titlebar svg {
    fill: #c8a44e;
}

body[data-theme="wafuu"] .story-text-titlebar-text {
    color: #c8a44e;
}

body[data-theme="wafuu"] .story-text-inner {
    color: #1c1c1c;
    font-family: 'Noto Serif SC', 'SimSun', serif;
    line-height: 2.1;
}

body[data-theme="wafuu"] .story-text-inner .dialogue {
    color: #c73e3a;
    border-left: 3px solid #c73e3a;
}

body[data-theme="wafuu"] .loading-text-pixel {
    color: #c73e3a;
}

/* ─── 选项（绘马木牌风格）─── */
body[data-theme="wafuu"] .game-controls {
    background: #efe4d4;
    border-top: 2px solid #c8a44e;
}

body[data-theme="wafuu"] .game-controls::before {
    background: linear-gradient(90deg, transparent, #c73e3a, transparent);
    height: 1px;
}

body[data-theme="wafuu"] .choice-card {
    background: #fdf8ee;
    border: 1px solid #d8ccb0;
    border-radius: 6px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, .06);
    position: relative;
}

/* 绘马丝带装饰 */
body[data-theme="wafuu"] .choice-card::before {
    content: '';
    position: absolute;
    top: 8px;
    right: -6px;
    width: 12px;
    height: 20px;
    background: #c73e3a;
    clip-path: polygon(0 0, 100% 0, 100% 70%, 50% 100%, 0 70%);
}

body[data-theme="wafuu"] .choice-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, .08);
}

body[data-theme="wafuu"] .choice-card:active {
    transform: translateY(0);
    background: #f5ece0;
}

body[data-theme="wafuu"] .choice-id {
    background: #c73e3a;
    border: none;
    border-radius: 50%;
    color: #fff;
    font-weight: 700;
}

body[data-theme="wafuu"] .choice-text {
    color: #1c1c1c;
    font-family: 'Noto Serif SC', 'SimSun', serif;
}

body[data-theme="wafuu"] .choice-toggle {
    color: #c73e3a;
}

body[data-theme="wafuu"] .choice-toggle svg {
    fill: #c73e3a;
}

body[data-theme="wafuu"] .pixel-input {
    background: #fdfaf2;
    border: 1px solid #d8ccb0;
    border-radius: 4px;
    color: #1c1c1c;
    font-family: 'Noto Serif SC', 'SimSun', serif;
}

body[data-theme="wafuu"] .pixel-input:focus {
    border-color: #c73e3a;
}

body[data-theme="wafuu"] .send-btn {
    background: linear-gradient(180deg, #c73e3a, #b03430);
    border: 1px solid #8a2a28;
    border-radius: 6px;
}

body[data-theme="wafuu"] .send-btn svg {
    fill: #fff;
}

/* ─── 工具栏 ─── */
body[data-theme="wafuu"] .toolbar {
    border-top-color: #e0d8c4;
}

body[data-theme="wafuu"] .tool-btn {
    background: rgba(0, 0, 0, .02);
    border: 1px solid #d0c4a8;
    border-radius: 4px;
    color: #8f8f8a;
}

body[data-theme="wafuu"] .tool-btn svg {
    fill: #8f8f8a;
}

body[data-theme="wafuu"] .tool-btn:hover {
    background: #c73e3a;
    color: #fff;
    border-color: #8a2a28;
}

body[data-theme="wafuu"] .tool-btn:hover svg {
    fill: #fff;
}

/* ─── 底部导航 ─── */
body[data-theme="wafuu"] .bottom-nav {
    background: #1a1a1a;
    border-top: 2px solid #000;
}

body[data-theme="wafuu"] .bottom-nav::before {
    background: linear-gradient(90deg, #c73e3a, #c8a44e, #c73e3a);
    height: 2px;
}

body[data-theme="wafuu"] .nav-item.active {
    background: rgba(200, 164, 78, .08);
}

body[data-theme="wafuu"] .nav-item.active::after {
    background: #c8a44e;
}

body[data-theme="wafuu"] .nav-icon svg {
    fill: #6a6a60;
}

body[data-theme="wafuu"] .nav-item.active .nav-icon svg {
    fill: #c8a44e;
}

body[data-theme="wafuu"] .nav-item:hover .nav-icon svg {
    fill: #c8a44e;
}

body[data-theme="wafuu"] .nav-label {
    color: #6a6a60;
}

body[data-theme="wafuu"] .nav-item.active .nav-label {
    color: #c8a44e;
}

/* ─── 面板 ─── */
body[data-theme="wafuu"] .player-card {
    background: #faf6ee;
    border: 1px solid #d0c4a8;
    border-radius: 4px;
}

body[data-theme="wafuu"] .player-card-header {
    background: linear-gradient(135deg, #c73e3a, #2a4073);
    border-bottom: 1px solid #8a2a28;
    border-radius: 3px 3px 0 0;
}

body[data-theme="wafuu"] .player-card-header svg {
    fill: #fff;
}

body[data-theme="wafuu"] .player-card-header-text {
    color: #fff;
}

body[data-theme="wafuu"] .player-stat-item {
    background: #fdfaf2;
    border: 1px solid #d8ccb0;
    border-radius: 4px;
}

body[data-theme="wafuu"] .player-stat-label {
    color: #8f8f8a;
}

body[data-theme="wafuu"] .player-stat-value {
    color: #1c1c1c;
}

body[data-theme="wafuu"] .section-title {
    color: #1c1c1c;
}

body[data-theme="wafuu"] .section-title svg {
    fill: #c73e3a;
}

body[data-theme="wafuu"] .section-title::after {
    background: linear-gradient(90deg, #d0c4a8, transparent);
}

body[data-theme="wafuu"] .npc-card {
    background: #faf6ee;
    border: 1px solid #d0c4a8;
    border-radius: 4px;
}

body[data-theme="wafuu"] .npc-card:hover {
    box-shadow: 0 2px 8px rgba(0, 0, 0, .06);
}

body[data-theme="wafuu"] .npc-name {
    color: #1c1c1c;
}

body[data-theme="wafuu"] .npc-title {
    color: #8f8f8a;
}

body[data-theme="wafuu"] .npc-favor-mini {
    color: #c73e3a;
}

body[data-theme="wafuu"] .npc-arrow {
    color: #c8a44e;
}

body[data-theme="wafuu"] .pixel-tag.pink {
    background: #c73e3a;
    color: #fff;
    border-color: #8a2a28;
    border-radius: 3px;
}

body[data-theme="wafuu"] .world-module {
    background: #faf6ee;
    border: 1px solid #d0c4a8;
    border-radius: 4px;
}

body[data-theme="wafuu"] .module-header {
    background: linear-gradient(180deg, #f4ece0, #efe4d4);
    border-bottom: 1px solid #d0c4a8;
    border-radius: 3px 3px 0 0;
}

body[data-theme="wafuu"] .module-header-text {
    color: #1c1c1c;
}

body[data-theme="wafuu"] .mod-text {
    color: #4a4a44;
}

body[data-theme="wafuu"] .mod-list-bullet {
    color: #c73e3a;
}

body[data-theme="wafuu"] .kv-key {
    color: #8f8f8a;
}

body[data-theme="wafuu"] .kv-val {
    color: #1c1c1c;
}

body[data-theme="wafuu"] .bag-item {
    background: #faf6ee;
    border: 1px solid #d0c4a8;
    border-radius: 4px;
}

body[data-theme="wafuu"] .bag-name {
    color: #1c1c1c;
}

body[data-theme="wafuu"] .bag-count {
    color: #8f8f8a;
}

/* ─── 弹窗 ─── */
body[data-theme="wafuu"] .pixel-modal {
    background: #f8f2e8;
    border: 2px solid #c73e3a;
    border-radius: 6px;
    box-shadow: 0 8px 30px rgba(0, 0, 0, .15);
}

body[data-theme="wafuu"] .modal-titlebar {
    background: #1a1a1a;
    border-bottom: 1px solid #c8a44e;
    border-radius: 4px 4px 0 0;
}

body[data-theme="wafuu"] .modal-titlebar-text {
    color: #c8a44e;
}

body[data-theme="wafuu"] .modal-close-btn {
    background: #c73e3a;
    border-color: #8a2a28;
    color: #fff;
    border-radius: 3px;
}

body[data-theme="wafuu"] .modal-detail-inner {
    background: #fdfaf2;
    border: 1px solid #d0c4a8;
    border-radius: 4px;
}

body[data-theme="wafuu"] .modal-detail-key {
    color: #8f8f8a;
}

body[data-theme="wafuu"] .modal-detail-val {
    color: #1c1c1c;
}

body[data-theme="wafuu"] .pixel-progress {
    background: #2a2a2a;
    border: 1px solid #c8a44e;
    border-radius: 3px;
}

body[data-theme="wafuu"] .pixel-progress-fill {
    background: linear-gradient(90deg, #c73e3a, #e05050);
    border-radius: 2px;
}

body[data-theme="wafuu"] .setting-label {
    color: #1c1c1c;
}

body[data-theme="wafuu"] .setting-label svg {
    fill: #c73e3a;
}

body[data-theme="wafuu"] .setting-context-box {
    background: #fdfaf2;
    border: 1px solid #d0c4a8;
    border-radius: 4px;
}

body[data-theme="wafuu"] .setting-slider-val {
    background: #fdfaf2;
    border-color: #d0c4a8;
    color: #1c1c1c;
    border-radius: 3px;
}

body[data-theme="wafuu"] .theme-card {
    background: #faf6ee;
    border-color: #d0c4a8;
    border-radius: 4px;
}

body[data-theme="wafuu"] .theme-card.active {
    border-color: #c73e3a;
    box-shadow: 0 0 0 2px rgba(199, 62, 58, .2);
}

body[data-theme="wafuu"] .theme-card-preview {
    border-radius: 3px;
}

body[data-theme="wafuu"] .theme-tab {
    background: #f4ece0;
    border-color: #d0c4a8;
    color: #4a4a44;
    border-radius: 3px;
}

body[data-theme="wafuu"] .theme-tab.active {
    background: #c73e3a;
    color: #fff;
    border-color: #8a2a28;
}

body[data-theme="wafuu"] .theme-title {
    color: #1c1c1c;
}

body[data-theme="wafuu"] .theme-desc {
    color: #8f8f8a;
}

body[data-theme="wafuu"] .theme-item:hover {
    background: #fdf8ee;
}

body[data-theme="wafuu"] .style-textarea {
    background: #fdfaf2;
    border-color: #d8ccb0;
    color: #1c1c1c;
    border-radius: 4px;
}

body[data-theme="wafuu"] .empty-text {
    color: #8f8f8a;
}

body[data-theme="wafuu"] .review-item {
    background: #faf6ee;
    border-color: #d0c4a8;
    border-radius: 4px;
}

body[data-theme="wafuu"] .review-item-header {
    color: #c73e3a;
}

body[data-theme="wafuu"] .review-item-body {
    color: #4a4a44;
}


/* ============================================
   #7 童话绘本
   ============================================ */

/* ─── 特效动画 ─── */
.fy-glow {
    position: absolute;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(255, 220, 180, 0.2) 0%, transparent 70%);
    animation: fyFloat 8s ease-in-out infinite;
}

@keyframes fyFloat {

    0%,
    100% {
        transform: translateY(0) translateX(0);
        opacity: 0.4;
    }

    33% {
        transform: translateY(-20px) translateX(10px);
        opacity: 0.7;
    }

    66% {
        transform: translateY(10px) translateX(-15px);
        opacity: 0.5;
    }
}

.fy-sparkle {
    position: absolute;
    font-size: 14px;
    animation: fySpark 4s ease-in-out infinite;
}

@keyframes fySpark {

    0%,
    100% {
        opacity: 0;
        transform: scale(0.5) rotate(0deg);
    }

    50% {
        opacity: 0.8;
        transform: scale(1.2) rotate(180deg);
    }
}

/* ─── 页面底色（水彩渐变）─── */
body[data-theme="fairy"] {
    background: linear-gradient(135deg, #fde8e8 0%, #e8eeff 40%, #fff8e0 70%, #e8ffe8 100%);
    background-attachment: fixed;
}

body[data-theme="fairy"] .setup-page {
    background: linear-gradient(135deg, #fde8e8, #e8eeff, #fff8e0);
}

body[data-theme="fairy"] .game-page {
    background: linear-gradient(135deg, #fde8e8, #e8eeff, #fff8e0);
}

body[data-theme="fairy"] .setup-hero {
    background: rgba(255, 255, 255, 0.6);
    border: 3px solid transparent;
    border-image: linear-gradient(135deg, #f0a0b0, #a0b0f0, #f0e0a0, #a0e0b0) 1;
    border-radius: 0;
    box-shadow: 0 4px 20px rgba(200, 180, 220, 0.15);
    backdrop-filter: blur(4px);
}

body[data-theme="fairy"] .setup-hero::before,
body[data-theme="fairy"] .setup-hero::after {
    content: '♡ ☆ ♡ ☆ ♡ ☆ ♡ ☆ ♡ ☆ ♡ ☆ ♡ ☆ ♡';
    color: rgba(200, 160, 180, 0.4);
}

body[data-theme="fairy"] .setup-hero-title {
    color: #5a4060;
    background: linear-gradient(90deg, #e07080, #7080e0, #e0b040);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

body[data-theme="fairy"] .setup-hero-sub {
    color: #9a8aa0;
}

body[data-theme="fairy"] .setup-input-card {
    background: rgba(255, 255, 255, 0.65);
    border: 2px solid #d8c8e0;
    border-radius: 16px;
    box-shadow: 0 3px 12px rgba(200, 180, 220, 0.1);
    backdrop-filter: blur(4px);
}

body[data-theme="fairy"] .setup-input-label {
    color: #8a6090;
}

body[data-theme="fairy"] .pixel-textarea {
    background: rgba(255, 255, 255, 0.5);
    border: 1.5px solid #d8c8e0;
    border-radius: 12px;
    color: #3a3530;
}

body[data-theme="fairy"] .pixel-textarea:focus {
    border-color: #c0a0d0;
}

body[data-theme="fairy"] .examples-accordion {
    border: 2px solid #d8c8e0;
    border-radius: 16px;
    overflow: hidden;
    backdrop-filter: blur(4px);
}

body[data-theme="fairy"] .examples-header {
    background: rgba(255, 255, 255, 0.5);
    color: #5a4060;
}

body[data-theme="fairy"] .examples-arrow {
    color: #c0a0d0;
}

body[data-theme="fairy"] .examples-body {
    background: rgba(255, 255, 255, 0.4);
}

body[data-theme="fairy"] .setup-tip {
    background: rgba(255, 248, 220, 0.6);
    border: 1.5px solid #e0d8b0;
    border-radius: 12px;
    color: #8a7a50;
}

body[data-theme="fairy"] .setup-back {
    background: rgba(255, 255, 255, 0.5);
    border: 1.5px solid #d8c8e0;
    border-radius: 14px;
    color: #8a6090;
}

/* ─── 按钮（蜡笔风格）─── */
body[data-theme="fairy"] .pixel-btn {
    background: linear-gradient(135deg, #f0a0b0, #e090a0);
    border: 2px solid #d88098;
    border-radius: 20px;
    color: #fff;
    text-shadow: 0 1px 2px rgba(0, 0, 0, .1);
    box-shadow: 0 3px 8px rgba(220, 120, 140, 0.2);
    transition: all .2s;
}

body[data-theme="fairy"] .pixel-btn:hover {
    transform: translateY(-2px) rotate(-1deg);
    box-shadow: 0 6px 16px rgba(220, 120, 140, 0.3);
}

body[data-theme="fairy"] .pixel-btn:active {
    transform: translateY(1px) rotate(0deg);
    box-shadow: none;
}

body[data-theme="fairy"] .pixel-btn.blue {
    background: linear-gradient(135deg, #90a0e0, #8090d0);
    border-color: #7080c0;
}

/* ─── HUD ─── */
body[data-theme="fairy"] .game-hud {
    background: rgba(60, 50, 70, 0.9);
    border-bottom: 2px solid rgba(200, 180, 220, 0.3);
    backdrop-filter: blur(8px);
}

body[data-theme="fairy"] .game-hud::after {
    background: linear-gradient(90deg, #f0a0b0, #a0b0f0, #f0e0a0);
    height: 2px;
}

body[data-theme="fairy"] .hud-item {
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(200, 180, 220, 0.2);
    border-radius: 10px;
}

body[data-theme="fairy"] .hud-value {
    color: #f0c8d0;
}

body[data-theme="fairy"] .hud-label {
    color: #9a8aa0;
}

body[data-theme="fairy"] .hud-btn {
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(200, 180, 220, 0.2);
    border-radius: 10px;
}

body[data-theme="fairy"] .hud-btn svg {
    fill: #c8b0d0;
}

body[data-theme="fairy"] .hud-btn:hover {
    border-color: #f0a0b0;
}

body[data-theme="fairy"] .hud-btn:hover svg {
    fill: #f0a0b0;
}

/* ─── 剧情区 ─── */
body[data-theme="fairy"] .story-text-box {
    background: rgba(255, 255, 255, 0.65);
    border: 2px solid #d8c8e0;
    border-radius: 16px;
    backdrop-filter: blur(4px);
    box-shadow: 0 4px 16px rgba(200, 180, 220, 0.1);
}

body[data-theme="fairy"] .story-text-titlebar {
    background: rgba(60, 50, 70, 0.85);
    border-bottom: 2px solid rgba(200, 180, 220, 0.3);
    border-radius: 14px 14px 0 0;
}

body[data-theme="fairy"] .story-text-titlebar svg {
    fill: #d8c0e0;
}

body[data-theme="fairy"] .story-text-titlebar-text {
    color: #d8c0e0;
}

body[data-theme="fairy"] .story-text-inner {
    color: #3a3530;
    line-height: 2;
}

body[data-theme="fairy"] .story-text-inner .dialogue {
    color: #8a5070;
    border-left: 3px solid #f0a0b0;
}

body[data-theme="fairy"] .loading-text-pixel {
    color: #a090c0;
}

/* ─── 选项（蜡笔卡片）─── */
body[data-theme="fairy"] .game-controls {
    background: rgba(240, 230, 245, 0.9);
    border-top: 2px solid rgba(200, 180, 220, 0.3);
    backdrop-filter: blur(6px);
}

body[data-theme="fairy"] .game-controls::before {
    background: linear-gradient(90deg, #f0a0b0, #a0b0f0, #f0e0a0);
    height: 2px;
}

body[data-theme="fairy"] .choice-card {
    background: rgba(255, 255, 255, 0.7);
    border: 2px solid #d8c8e0;
    border-radius: 14px;
    box-shadow: 0 2px 8px rgba(200, 180, 220, 0.1);
    transform: rotate(-0.3deg);
    transition: all .2s;
}

body[data-theme="fairy"] .choice-card:nth-child(2) {
    transform: rotate(0.4deg);
}

body[data-theme="fairy"] .choice-card:nth-child(3) {
    transform: rotate(-0.6deg);
}

body[data-theme="fairy"] .choice-card:nth-child(4) {
    transform: rotate(0.2deg);
}

body[data-theme="fairy"] .choice-card:hover {
    transform: translateY(-3px) rotate(0deg);
    box-shadow: 0 6px 16px rgba(200, 180, 220, 0.2);
}

body[data-theme="fairy"] .choice-card:active {
    transform: translateY(0) rotate(0deg);
    box-shadow: none;
}

/* 每个选项不同底色 */
body[data-theme="fairy"] .choice-card:nth-child(1) {
    background: rgba(255, 220, 220, 0.5);
    border-color: #f0c0c0;
}

body[data-theme="fairy"] .choice-card:nth-child(2) {
    background: rgba(220, 230, 255, 0.5);
    border-color: #c0c8f0;
}

body[data-theme="fairy"] .choice-card:nth-child(3) {
    background: rgba(255, 248, 210, 0.5);
    border-color: #e8e0b0;
}

body[data-theme="fairy"] .choice-card:nth-child(4) {
    background: rgba(220, 245, 220, 0.5);
    border-color: #b8d8b8;
}

body[data-theme="fairy"] .choice-card:nth-child(5) {
    background: rgba(240, 220, 245, 0.5);
    border-color: #d8c0e0;
}

body[data-theme="fairy"] .choice-id {
    background: linear-gradient(135deg, #f0a0b0, #a0b0f0);
    border: none;
    border-radius: 50%;
    color: #fff;
}

body[data-theme="fairy"] .choice-text {
    color: #3a3530;
}

body[data-theme="fairy"] .choice-toggle {
    color: #a090c0;
}

body[data-theme="fairy"] .choice-toggle svg {
    fill: #a090c0;
}

body[data-theme="fairy"] .pixel-input {
    background: rgba(255, 255, 255, 0.6);
    border: 1.5px solid #d8c8e0;
    border-radius: 14px;
    color: #3a3530;
}

body[data-theme="fairy"] .pixel-input:focus {
    border-color: #c0a0d0;
}

body[data-theme="fairy"] .send-btn {
    background: linear-gradient(135deg, #f0a0b0, #a0b0f0);
    border: 1.5px solid #c8a0c0;
    border-radius: 14px;
}

body[data-theme="fairy"] .send-btn svg {
    fill: #fff;
}

/* ─── 工具栏 ─── */
body[data-theme="fairy"] .toolbar {
    border-top-color: rgba(200, 180, 220, 0.2);
}

body[data-theme="fairy"] .tool-btn {
    background: rgba(255, 255, 255, 0.4);
    border: 1.5px solid #d8c8e0;
    border-radius: 12px;
    color: #8a6090;
}

body[data-theme="fairy"] .tool-btn svg {
    fill: #8a6090;
}

body[data-theme="fairy"] .tool-btn:hover {
    background: linear-gradient(135deg, #f0a0b0, #a0b0f0);
    color: #fff;
    border-color: transparent;
}

body[data-theme="fairy"] .tool-btn:hover svg {
    fill: #fff;
}

/* ─── 底部导航 ─── */
body[data-theme="fairy"] .bottom-nav {
    background: rgba(60, 50, 70, 0.92);
    border-top: 2px solid rgba(200, 180, 220, 0.3);
    backdrop-filter: blur(8px);
}

body[data-theme="fairy"] .bottom-nav::before {
    background: linear-gradient(90deg, #f0a0b0, #a0b0f0, #f0e0a0);
    height: 2px;
}

body[data-theme="fairy"] .nav-item.active {
    background: rgba(240, 160, 176, 0.1);
}

body[data-theme="fairy"] .nav-item.active::after {
    background: linear-gradient(90deg, #f0a0b0, #a0b0f0);
}

body[data-theme="fairy"] .nav-icon svg {
    fill: #7a6a80;
}

body[data-theme="fairy"] .nav-item.active .nav-icon svg {
    fill: #f0b0c0;
}

body[data-theme="fairy"] .nav-item:hover .nav-icon svg {
    fill: #f0b0c0;
}

body[data-theme="fairy"] .nav-label {
    color: #7a6a80;
}

body[data-theme="fairy"] .nav-item.active .nav-label {
    color: #f0b0c0;
}

/* ─── 面板 ─── */
body[data-theme="fairy"] .player-card {
    background: rgba(255, 255, 255, 0.65);
    border: 2px solid #d8c8e0;
    border-radius: 16px;
    backdrop-filter: blur(4px);
}

body[data-theme="fairy"] .player-card-header {
    background: linear-gradient(135deg, #f0a0b0, #a0b0f0, #f0e0a0);
    border-bottom: none;
    border-radius: 14px 14px 0 0;
}

body[data-theme="fairy"] .player-card-header svg {
    fill: #fff;
}

body[data-theme="fairy"] .player-card-header-text {
    color: #fff;
}

body[data-theme="fairy"] .player-stat-item {
    background: rgba(255, 255, 255, 0.5);
    border: 1px solid #e0d8e8;
    border-radius: 10px;
}

body[data-theme="fairy"] .player-stat-label {
    color: #9a8aa0;
}

body[data-theme="fairy"] .player-stat-value {
    color: #3a3530;
}

body[data-theme="fairy"] .section-title {
    color: #5a4060;
}

body[data-theme="fairy"] .section-title svg {
    fill: #a090c0;
}

body[data-theme="fairy"] .section-title::after {
    background: linear-gradient(90deg, #d8c8e0, transparent);
}

body[data-theme="fairy"] .npc-card {
    background: rgba(255, 255, 255, 0.6);
    border: 1.5px solid #d8c8e0;
    border-radius: 12px;
}

body[data-theme="fairy"] .npc-card:hover {
    box-shadow: 0 4px 12px rgba(200, 180, 220, 0.15);
}

body[data-theme="fairy"] .npc-name {
    color: #3a3530;
}

body[data-theme="fairy"] .npc-title {
    color: #9a8aa0;
}

body[data-theme="fairy"] .npc-favor-mini {
    color: #e08090;
}

body[data-theme="fairy"] .npc-arrow {
    color: #c0a0d0;
}

body[data-theme="fairy"] .pixel-tag.pink {
    background: #f0c0c0;
    color: #8a4050;
    border-color: #e0a0a0;
    border-radius: 10px;
}

body[data-theme="fairy"] .world-module {
    background: rgba(255, 255, 255, 0.6);
    border: 2px solid #d8c8e0;
    border-radius: 16px;
}

body[data-theme="fairy"] .module-header {
    background: rgba(255, 255, 255, 0.4);
    border-bottom: 1px solid #e0d8e8;
    border-radius: 14px 14px 0 0;
}

body[data-theme="fairy"] .module-header-text {
    color: #5a4060;
}

body[data-theme="fairy"] .mod-text {
    color: #5a5050;
}

body[data-theme="fairy"] .mod-list-bullet {
    color: #e08090;
}

body[data-theme="fairy"] .bag-item {
    background: rgba(255, 255, 255, 0.6);
    border: 1.5px solid #d8c8e0;
    border-radius: 12px;
}

body[data-theme="fairy"] .bag-name {
    color: #3a3530;
}

/* ─── 弹窗 ─── */
body[data-theme="fairy"] .modal-overlay {
    background: rgba(60, 50, 70, 0.4);
}

body[data-theme="fairy"] .pixel-modal {
    background: linear-gradient(135deg, #fde8e8, #e8eeff, #fff8e0);
    border: 2px solid #d8c8e0;
    border-radius: 20px;
    box-shadow: 0 8px 40px rgba(200, 180, 220, 0.2);
}

body[data-theme="fairy"] .modal-titlebar {
    background: rgba(60, 50, 70, 0.85);
    border-bottom: 2px solid rgba(200, 180, 220, 0.3);
    border-radius: 18px 18px 0 0;
}

body[data-theme="fairy"] .modal-titlebar-text {
    color: #f0c0d0;
}

body[data-theme="fairy"] .modal-close-btn {
    background: linear-gradient(135deg, #f0a0b0, #a0b0f0);
    border: none;
    color: #fff;
    border-radius: 50%;
}

body[data-theme="fairy"] .modal-detail-inner {
    background: rgba(255, 255, 255, 0.5);
    border: 1px solid #e0d8e8;
    border-radius: 12px;
}

body[data-theme="fairy"] .modal-detail-key {
    color: #9a8aa0;
}

body[data-theme="fairy"] .modal-detail-val {
    color: #3a3530;
}

body[data-theme="fairy"] .pixel-progress {
    background: rgba(0, 0, 0, .08);
    border: 1px solid #d8c8e0;
    border-radius: 6px;
}

body[data-theme="fairy"] .pixel-progress-fill {
    background: linear-gradient(90deg, #f0a0b0, #a0b0f0);
    border-radius: 5px;
}

body[data-theme="fairy"] .setting-label {
    color: #5a4060;
}

body[data-theme="fairy"] .setting-label svg {
    fill: #a090c0;
}

body[data-theme="fairy"] .setting-context-box {
    background: rgba(255, 255, 255, 0.4);
    border: 1.5px dashed #d8c8e0;
    border-radius: 12px;
}

body[data-theme="fairy"] .setting-slider-val {
    background: rgba(255, 255, 255, 0.5);
    border-color: #d8c8e0;
    color: #5a4060;
    border-radius: 8px;
}

body[data-theme="fairy"] .review-item {
    background: rgba(255, 255, 255, 0.5);
    border: 1.5px solid #d8c8e0;
    border-radius: 12px;
}

body[data-theme="fairy"] .review-item-header {
    color: #a090c0;
}

body[data-theme="fairy"] .review-item-body {
    color: #5a5050;
}

body[data-theme="fairy"] .theme-card {
    background: rgba(255, 255, 255, 0.6);
    border-color: #d8c8e0;
    border-radius: 12px;
}

body[data-theme="fairy"] .theme-card.active {
    border-color: #f0a0b0;
    box-shadow: 0 0 12px rgba(240, 160, 176, 0.2);
}

body[data-theme="fairy"] .theme-card-preview {
    border-radius: 10px;
}

body[data-theme="fairy"] .theme-card-name {
    color: #3a3530;
}

body[data-theme="fairy"] .theme-card-desc {
    color: #9a8aa0;
}

body[data-theme="fairy"] .theme-tab {
    background: rgba(255, 255, 255, 0.4);
    border-color: #d8c8e0;
    color: #8a6090;
    border-radius: 12px;
}

body[data-theme="fairy"] .theme-tab.active {
    background: linear-gradient(135deg, #f0a0b0, #a0b0f0);
    color: #fff;
    border-color: transparent;
}

body[data-theme="fairy"] .theme-title {
    color: #3a3530;
}

body[data-theme="fairy"] .theme-desc {
    color: #9a8aa0;
}

body[data-theme="fairy"] .theme-item:hover {
    background: rgba(240, 200, 220, 0.15);
}

body[data-theme="fairy"] .style-textarea {
    background: rgba(255, 255, 255, 0.5);
    border-color: #d8c8e0;
    color: #3a3530;
    border-radius: 10px;
}

body[data-theme="fairy"] .empty-text {
    color: #9a8aa0;
}

body[data-theme="fairy"] .pin-btn {
    border-color: #d8c8e0;
    border-radius: 8px;
}

body[data-theme="fairy"] .pin-btn.pinned {
    background: linear-gradient(135deg, #f0a0b0, #a0b0f0);
    border-color: transparent;
}

body[data-theme="fairy"] .pin-btn.pinned svg {
    fill: #fff;
}
/* ============================================
   #8 奶茶暖冬
   ============================================ */

/* ─── 特效动画 ─── */
.mt-bubble {
    position: absolute;
    bottom: -20px;
    width: 8px;
    height: 8px;
    background: radial-gradient(circle, rgba(200, 150, 106, 0.15) 0%, transparent 70%);
    border: 1px solid rgba(200, 150, 106, 0.1);
    border-radius: 50%;
    animation: mtRise 8s ease-in infinite;
}

@keyframes mtRise {
    0% {
        transform: translateY(0) scale(1);
        opacity: 0;
    }

    10% {
        opacity: 0.6;
    }

    90% {
        opacity: 0.3;
    }

    100% {
        transform: translateY(-100vh) scale(0.5);
        opacity: 0;
    }
}

.mt-warmglow {
    position: absolute;
    top: 30%;
    left: 50%;
    width: 200px;
    height: 200px;
    transform: translate(-50%, -50%);
    background: radial-gradient(circle, rgba(220, 180, 140, 0.06) 0%, transparent 70%);
    border-radius: 50%;
    animation: mtGlow 6s ease-in-out infinite;
}

@keyframes mtGlow {

    0%,
    100% {
        transform: translate(-50%, -50%) scale(0.8);
        opacity: 0.5;
    }

    50% {
        transform: translate(-50%, -50%) scale(1.2);
        opacity: 1;
    }
}

/* ─── 页面底色 ─── */
body[data-theme="milktea"] {
    background: #f5ede3;
}

body[data-theme="milktea"] .setup-page {
    background: #f5ede3;
}

body[data-theme="milktea"] .game-page {
    background: #f5ede3;
}

body[data-theme="milktea"] .setup-hero {
    background: linear-gradient(135deg, #f0e4d4, #e8d8c4);
    border: 2px solid #c8956a;
    border-radius: 20px;
    box-shadow: 0 4px 16px rgba(160, 120, 80, 0.1);
}

body[data-theme="milktea"] .setup-hero::before,
body[data-theme="milktea"] .setup-hero::after {
    content: '☕ · ☕ · ☕ · ☕ · ☕ · ☕ · ☕ · ☕ · ☕';
    color: rgba(200, 149, 106, 0.3);
}

body[data-theme="milktea"] .setup-hero-title {
    color: #4a3a2a;
}

body[data-theme="milktea"] .setup-hero-sub {
    color: #a09080;
}

body[data-theme="milktea"] .setup-input-card {
    background: #faf6f0;
    border: 2px solid #d8c4a8;
    border-radius: 16px;
    box-shadow: 0 2px 8px rgba(160, 120, 80, 0.06);
}

body[data-theme="milktea"] .setup-input-label {
    color: #8a6a40;
}

body[data-theme="milktea"] .pixel-textarea {
    background: #fdf9f2;
    border: 1.5px solid #ddd0bc;
    border-radius: 12px;
    color: #4a3a2a;
}

body[data-theme="milktea"] .pixel-textarea::placeholder {
    color: #c0b0a0;
}

body[data-theme="milktea"] .pixel-textarea:focus {
    border-color: #c8956a;
}

body[data-theme="milktea"] .examples-accordion {
    border: 2px solid #d8c4a8;
    border-radius: 16px;
    overflow: hidden;
}

body[data-theme="milktea"] .examples-header {
    background: linear-gradient(180deg, #f4ece0, #efe4d6);
    color: #4a3a2a;
}

body[data-theme="milktea"] .examples-arrow {
    color: #c8956a;
}

body[data-theme="milktea"] .examples-body {
    background: #faf6f0;
}

body[data-theme="milktea"] .setup-tip {
    background: #fdf8ee;
    border: 1.5px solid #ddd0bc;
    border-radius: 12px;
    color: #8a7a60;
}

body[data-theme="milktea"] .setup-back {
    background: #f0e6d8;
    border: 1.5px solid #d8c4a8;
    border-radius: 14px;
    color: #8a7a60;
}

/* ─── 按钮 ─── */
body[data-theme="milktea"] .pixel-btn {
    background: linear-gradient(180deg, #c8956a, #b8854a);
    border: 2px solid #a07040;
    border-radius: 24px;
    color: #fff;
    text-shadow: 0 1px 2px rgba(0, 0, 0, .15);
    box-shadow: 0 3px 10px rgba(160, 112, 64, 0.2);
    transition: all .2s;
}

body[data-theme="milktea"] .pixel-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 5px 16px rgba(160, 112, 64, 0.3);
}

body[data-theme="milktea"] .pixel-btn:active {
    transform: translateY(1px);
    box-shadow: none;
}

body[data-theme="milktea"] .pixel-btn.blue {
    background: linear-gradient(180deg, #8a7a60, #7a6a50);
    border-color: #6a5a40;
    color: #f0e8d8;
}

/* ─── HUD ─── */
body[data-theme="milktea"] .game-hud {
    background: #3a2e22;
    border-bottom: 2px solid #2a1e14;
}

body[data-theme="milktea"] .game-hud::after {
    background: linear-gradient(90deg, #c8956a, #d8b08a, #c8956a);
    height: 2px;
}

body[data-theme="milktea"] .hud-item {
    background: rgba(255, 255, 255, .06);
    border: 1px solid rgba(200, 149, 106, .2);
    border-radius: 10px;
}

body[data-theme="milktea"] .hud-value {
    color: #e8d0b0;
}

body[data-theme="milktea"] .hud-label {
    color: #8a7a60;
}

body[data-theme="milktea"] .hud-btn {
    background: rgba(255, 255, 255, .06);
    border: 1px solid rgba(200, 149, 106, .2);
    border-radius: 10px;
}

body[data-theme="milktea"] .hud-btn svg {
    fill: #c8a880;
}

body[data-theme="milktea"] .hud-btn:hover {
    border-color: #c8956a;
}

body[data-theme="milktea"] .hud-btn:hover svg {
    fill: #e8c8a0;
}

/* ─── 剧情区 ─── */
body[data-theme="milktea"] .story-text-box {
    background: #faf6f0;
    border: 2px solid #d8c4a8;
    border-radius: 16px;
    box-shadow: 0 2px 10px rgba(160, 120, 80, 0.06);
}

body[data-theme="milktea"] .story-text-titlebar {
    background: #3a2e22;
    border-bottom: 2px solid rgba(200, 149, 106, .3);
    border-radius: 14px 14px 0 0;
}

body[data-theme="milktea"] .story-text-titlebar svg {
    fill: #c8a880;
}

body[data-theme="milktea"] .story-text-titlebar-text {
    color: #c8a880;
}

body[data-theme="milktea"] .story-text-inner {
    color: #4a3a2a;
    line-height: 1.9;
}

body[data-theme="milktea"] .story-text-inner .dialogue {
    color: #8a5a30;
    border-left: 3px solid #c8956a;
}

body[data-theme="milktea"] .loading-text-pixel {
    color: #c8956a;
}

/* ─── 选项 ─── */
body[data-theme="milktea"] .game-controls {
    background: #efe4d6;
    border-top: 2px solid #c8956a;
}

body[data-theme="milktea"] .game-controls::before {
    background: linear-gradient(90deg, transparent, #d8b08a, transparent);
    height: 1px;
}

body[data-theme="milktea"] .choice-card {
    background: #faf6f0;
    border: 1.5px solid #ddd0bc;
    border-radius: 14px;
    box-shadow: 0 2px 6px rgba(160, 120, 80, 0.05);
    transition: all .15s;
}

body[data-theme="milktea"] .choice-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(160, 120, 80, 0.1);
}

body[data-theme="milktea"] .choice-card:active {
    transform: translateY(0);
    background: #f0e6d8;
}

body[data-theme="milktea"] .choice-id {
    background: #c8956a;
    border: none;
    border-radius: 50%;
    color: #fff;
}

body[data-theme="milktea"] .choice-text {
    color: #4a3a2a;
}

body[data-theme="milktea"] .choice-toggle {
    color: #c8956a;
}

body[data-theme="milktea"] .choice-toggle svg {
    fill: #c8956a;
}

body[data-theme="milktea"] .pixel-input {
    background: #fdf9f2;
    border: 1.5px solid #ddd0bc;
    border-radius: 14px;
    color: #4a3a2a;
}

body[data-theme="milktea"] .pixel-input::placeholder {
    color: #c0b0a0;
}

body[data-theme="milktea"] .pixel-input:focus {
    border-color: #c8956a;
}

body[data-theme="milktea"] .send-btn {
    background: linear-gradient(180deg, #c8956a, #b8854a);
    border: 2px solid #a07040;
    border-radius: 14px;
}

body[data-theme="milktea"] .send-btn svg {
    fill: #fff;
}

/* ─── 工具栏 ─── */
body[data-theme="milktea"] .toolbar {
    border-top-color: rgba(200, 149, 106, .15);
}

body[data-theme="milktea"] .tool-btn {
    background: rgba(200, 149, 106, .06);
    border: 1.5px solid #ddd0bc;
    border-radius: 10px;
    color: #8a7a60;
}

body[data-theme="milktea"] .tool-btn svg {
    fill: #8a7a60;
}

body[data-theme="milktea"] .tool-btn:hover {
    background: #c8956a;
    color: #fff;
    border-color: #a07040;
}

body[data-theme="milktea"] .tool-btn:hover svg {
    fill: #fff;
}

/* ─── 底部导航 ─── */
body[data-theme="milktea"] .bottom-nav {
    background: #3a2e22;
    border-top: 2px solid #2a1e14;
}

body[data-theme="milktea"] .bottom-nav::before {
    background: linear-gradient(90deg, #c8956a, #d8b08a, #c8956a);
    height: 2px;
}

body[data-theme="milktea"] .nav-item.active {
    background: rgba(200, 149, 106, .08);
}

body[data-theme="milktea"] .nav-item.active::after {
    background: #c8956a;
}

body[data-theme="milktea"] .nav-icon svg {
    fill: #6a5a48;
}

body[data-theme="milktea"] .nav-item.active .nav-icon svg {
    fill: #d8b88a;
}

body[data-theme="milktea"] .nav-item:hover .nav-icon svg {
    fill: #d8b88a;
}

body[data-theme="milktea"] .nav-label {
    color: #6a5a48;
}

body[data-theme="milktea"] .nav-item.active .nav-label {
    color: #d8b88a;
}

/* ─── 面板 ─── */
body[data-theme="milktea"] .player-card {
    background: #faf6f0;
    border: 2px solid #d8c4a8;
    border-radius: 16px;
}

body[data-theme="milktea"] .player-card-header {
    background: linear-gradient(135deg, #c8956a, #a08060);
    border-bottom: none;
    border-radius: 14px 14px 0 0;
}

body[data-theme="milktea"] .player-card-header svg {
    fill: #fff;
}

body[data-theme="milktea"] .player-card-header-text {
    color: #fff;
}

body[data-theme="milktea"] .player-stat-item {
    background: #fdf9f2;
    border: 1px solid #e0d4c0;
    border-radius: 10px;
}

body[data-theme="milktea"] .player-stat-label {
    color: #a09080;
}

body[data-theme="milktea"] .player-stat-value {
    color: #4a3a2a;
}

body[data-theme="milktea"] .section-title {
    color: #5a4a38;
}

body[data-theme="milktea"] .section-title svg {
    fill: #8a6a40;
}

body[data-theme="milktea"] .section-title::after {
    background: linear-gradient(90deg, #d8c4a8, transparent);
}

body[data-theme="milktea"] .npc-card {
    background: #faf6f0;
    border: 1.5px solid #ddd0bc;
    border-radius: 12px;
}

body[data-theme="milktea"] .npc-card:hover {
    box-shadow: 0 3px 10px rgba(160, 120, 80, 0.08);
}

body[data-theme="milktea"] .npc-name {
    color: #4a3a2a;
}

body[data-theme="milktea"] .npc-title {
    color: #a09080;
}

body[data-theme="milktea"] .npc-favor-mini {
    color: #c87a60;
}

body[data-theme="milktea"] .npc-arrow {
    color: #c8956a;
}

body[data-theme="milktea"] .pixel-tag.pink {
    background: #e8c8a8;
    color: #6a4a2a;
    border-color: #d4b494;
    border-radius: 12px;
}

body[data-theme="milktea"] .world-module {
    background: #faf6f0;
    border: 2px solid #d8c4a8;
    border-radius: 16px;
}

body[data-theme="milktea"] .module-header {
    background: linear-gradient(180deg, #f4ece0, #efe4d6);
    border-bottom: 1px solid #d8c4a8;
    border-radius: 14px 14px 0 0;
}

body[data-theme="milktea"] .module-header-text {
    color: #4a3a2a;
}

body[data-theme="milktea"] .mod-text {
    color: #5a4a38;
}

body[data-theme="milktea"] .mod-list-bullet {
    color: #c8956a;
}

body[data-theme="milktea"] .kv-key {
    color: #a09080;
}

body[data-theme="milktea"] .kv-val {
    color: #4a3a2a;
}

body[data-theme="milktea"] .bag-item {
    background: #faf6f0;
    border: 1.5px solid #ddd0bc;
    border-radius: 12px;
}

body[data-theme="milktea"] .bag-name {
    color: #4a3a2a;
}

body[data-theme="milktea"] .bag-count {
    color: #a09080;
}

body[data-theme="milktea"] .bag-desc {
    color: #a09080;
}

/* ─── 弹窗 ─── */
body[data-theme="milktea"] .pixel-modal {
    background: #f5ede3;
    border: 2px solid #c8956a;
    border-radius: 20px;
    box-shadow: 0 8px 30px rgba(160, 120, 80, 0.15);
}

body[data-theme="milktea"] .modal-titlebar {
    background: #3a2e22;
    border-bottom: 2px solid rgba(200, 149, 106, .3);
    border-radius: 18px 18px 0 0;
}

body[data-theme="milktea"] .modal-titlebar-text {
    color: #d8b88a;
}

body[data-theme="milktea"] .modal-close-btn {
    background: #c8956a;
    border: none;
    color: #fff;
    border-radius: 50%;
}

body[data-theme="milktea"] .modal-detail-inner {
    background: #faf6f0;
    border: 1px solid #d8c4a8;
    border-radius: 10px;
}

body[data-theme="milktea"] .modal-detail-key {
    color: #a09080;
}

body[data-theme="milktea"] .modal-detail-val {
    color: #4a3a2a;
}

body[data-theme="milktea"] .pixel-progress {
    background: #e8dcc8;
    border: 1px solid #d8c4a8;
    border-radius: 6px;
}

body[data-theme="milktea"] .pixel-progress-fill {
    background: linear-gradient(90deg, #c8956a, #d8a87a);
    border-radius: 5px;
}

body[data-theme="milktea"] .setting-label {
    color: #4a3a2a;
}

body[data-theme="milktea"] .setting-label svg {
    fill: #c8956a;
}

body[data-theme="milktea"] .setting-context-box {
    background: #fdf8ee;
    border: 1.5px dashed #d8c4a8;
    border-radius: 10px;
}

body[data-theme="milktea"] .setting-context-info {
    color: #8a7a60;
}

body[data-theme="milktea"] .setting-context-info span {
    color: #c8956a;
}

body[data-theme="milktea"] .setting-slider-val {
    background: #fdf9f2;
    border-color: #d8c4a8;
    color: #8a6a40;
    border-radius: 10px;
}

body[data-theme="milktea"] .review-item {
    background: #faf6f0;
    border: 1.5px solid #ddd0bc;
    border-radius: 12px;
}

body[data-theme="milktea"] .review-item-header {
    color: #c8956a;
}

body[data-theme="milktea"] .review-item-body {
    color: #5a4a38;
}

body[data-theme="milktea"] .theme-card {
    background: #faf6f0;
    border-color: #d8c4a8;
    border-radius: 12px;
}

body[data-theme="milktea"] .theme-card.active {
    border-color: #c8956a;
    box-shadow: 0 0 0 2px rgba(200, 149, 106, .2);
}

body[data-theme="milktea"] .theme-card-preview {
    border-radius: 10px;
}

body[data-theme="milktea"] .theme-card-name {
    color: #4a3a2a;
}

body[data-theme="milktea"] .theme-card-desc {
    color: #a09080;
}

body[data-theme="milktea"] .theme-tab {
    background: #f0e6d8;
    border-color: #d8c4a8;
    color: #6a5a40;
    border-radius: 12px;
}

body[data-theme="milktea"] .theme-tab.active {
    background: #c8956a;
    color: #fff;
    border-color: #a07040;
}

body[data-theme="milktea"] .theme-title {
    color: #4a3a2a;
}

body[data-theme="milktea"] .theme-desc {
    color: #a09080;
}

body[data-theme="milktea"] .theme-item:hover {
    background: #fdf8ee;
}

body[data-theme="milktea"] .style-textarea {
    background: #fdf9f2;
    border-color: #ddd0bc;
    color: #4a3a2a;
    border-radius: 10px;
}

body[data-theme="milktea"] .empty-text {
    color: #a09080;
}

body[data-theme="milktea"] .pin-btn {
    border-color: #d8c4a8;
    border-radius: 10px;
}

body[data-theme="milktea"] .pin-btn.pinned {
    background: #c8956a;
    border-color: #a07040;
}

body[data-theme="milktea"] .pin-btn.pinned svg {
    fill: #fff;
}


/* ============================================
   #9 薄荷汽水
   ============================================ */

/* ─── 特效动画 ─── */
.mn-bubble {
    position: absolute;
    bottom: -20px;
    background: radial-gradient(circle at 30% 30%, rgba(255, 255, 255, 0.4), rgba(108, 196, 161, 0.1));
    border: 1px solid rgba(108, 196, 161, 0.2);
    border-radius: 50%;
    animation: mnRise 7s ease-in infinite;
}

@keyframes mnRise {
    0% {
        transform: translateY(0) translateX(0);
        opacity: 0;
    }

    10% {
        opacity: 0.7;
    }

    50% {
        transform: translateY(-50vh) translateX(10px);
        opacity: 0.5;
    }

    100% {
        transform: translateY(-100vh) translateX(-5px);
        opacity: 0;
    }
}

.mn-ripple {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 60px;
    background: linear-gradient(180deg, transparent, rgba(108, 196, 161, 0.03));
    animation: mnWave 4s ease-in-out infinite;
}

@keyframes mnWave {

    0%,
    100% {
        transform: translateY(0);
    }

    50% {
        transform: translateY(-4px);
    }
}

/* ─── 页面底色 ─── */
body[data-theme="mint"] {
    background: #f0faf6;
}

body[data-theme="mint"] .setup-page {
    background: #f0faf6;
}

body[data-theme="mint"] .game-page {
    background: #f0faf6;
}

body[data-theme="mint"] .setup-hero {
    background: rgba(255, 255, 255, 0.6);
    border: 1.5px solid rgba(108, 196, 161, 0.3);
    border-radius: 20px;
    box-shadow: 0 4px 20px rgba(80, 160, 130, 0.08);
    backdrop-filter: blur(8px);
}

body[data-theme="mint"] .setup-hero::before,
body[data-theme="mint"] .setup-hero::after {
    content: '○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○';
    color: rgba(108, 196, 161, 0.25);
}

body[data-theme="mint"] .setup-hero-title {
    color: #2a5a48;
}

body[data-theme="mint"] .setup-hero-sub {
    color: #7aaa98;
}

body[data-theme="mint"] .setup-input-card {
    background: rgba(255, 255, 255, 0.65);
    border: 1.5px solid rgba(108, 196, 161, 0.25);
    border-radius: 16px;
    backdrop-filter: blur(6px);
}

body[data-theme="mint"] .setup-input-label {
    color: #3a8a6a;
}

body[data-theme="mint"] .pixel-textarea {
    background: rgba(255, 255, 255, 0.5);
    border: 1px solid rgba(108, 196, 161, 0.25);
    border-radius: 12px;
    color: #2a4a42;
}

body[data-theme="mint"] .pixel-textarea::placeholder {
    color: #a0c8b8;
}

body[data-theme="mint"] .pixel-textarea:focus {
    border-color: #6cc4a1;
}

body[data-theme="mint"] .examples-accordion {
    border: 1.5px solid rgba(108, 196, 161, 0.25);
    border-radius: 16px;
    overflow: hidden;
    backdrop-filter: blur(6px);
}

body[data-theme="mint"] .examples-header {
    background: rgba(255, 255, 255, 0.5);
    color: #2a5a48;
}

body[data-theme="mint"] .examples-arrow {
    color: #6cc4a1;
}

body[data-theme="mint"] .examples-body {
    background: rgba(255, 255, 255, 0.4);
}

body[data-theme="mint"] .setup-tip {
    background: rgba(240, 255, 248, 0.6);
    border: 1px solid rgba(108, 196, 161, 0.2);
    border-radius: 12px;
    color: #5a8a78;
}

body[data-theme="mint"] .setup-back {
    background: rgba(255, 255, 255, 0.5);
    border: 1px solid rgba(108, 196, 161, 0.2);
    border-radius: 14px;
    color: #5a8a78;
}

/* ─── 按钮 ─── */
body[data-theme="mint"] .pixel-btn {
    background: linear-gradient(180deg, #6cc4a1, #58b48e);
    border: 1.5px solid #48a47e;
    border-radius: 24px;
    color: #fff;
    text-shadow: 0 1px 2px rgba(0, 0, 0, .1);
    box-shadow: 0 3px 10px rgba(88, 180, 142, 0.2);
    transition: all .2s;
}

body[data-theme="mint"] .pixel-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 5px 16px rgba(88, 180, 142, 0.3);
}

body[data-theme="mint"] .pixel-btn:active {
    transform: translateY(1px);
    box-shadow: none;
}

body[data-theme="mint"] .pixel-btn.blue {
    background: linear-gradient(180deg, #6098c8, #5088b8);
    border-color: #4078a8;
    color: #fff;
}

/* ─── HUD ─── */
body[data-theme="mint"] .game-hud {
    background: #1a3a32;
    border-bottom: 1.5px solid #0a2a22;
}

body[data-theme="mint"] .game-hud::after {
    background: linear-gradient(90deg, transparent, #6cc4a1, transparent);
    height: 2px;
}

body[data-theme="mint"] .hud-item {
    background: rgba(255, 255, 255, .05);
    border: 1px solid rgba(108, 196, 161, .2);
    border-radius: 10px;
}

body[data-theme="mint"] .hud-value {
    color: #a0e8cc;
}

body[data-theme="mint"] .hud-label {
    color: #5a8a78;
}

body[data-theme="mint"] .hud-btn {
    background: rgba(255, 255, 255, .05);
    border: 1px solid rgba(108, 196, 161, .2);
    border-radius: 10px;
}

body[data-theme="mint"] .hud-btn svg {
    fill: #80c8a8;
}

body[data-theme="mint"] .hud-btn:hover {
    border-color: #6cc4a1;
}

body[data-theme="mint"] .hud-btn:hover svg {
    fill: #a0e8cc;
}

/* ─── 剧情区 ─── */
body[data-theme="mint"] .story-text-box {
    background: rgba(255, 255, 255, 0.65);
    border: 1.5px solid rgba(108, 196, 161, 0.25);
    border-radius: 16px;
    backdrop-filter: blur(6px);
    box-shadow: 0 2px 12px rgba(80, 160, 130, 0.06);
}

body[data-theme="mint"] .story-text-titlebar {
    background: #1a3a32;
    border-bottom: 1.5px solid rgba(108, 196, 161, .3);
    border-radius: 15px 15px 0 0;
}

body[data-theme="mint"] .story-text-titlebar svg {
    fill: #80c8a8;
}

body[data-theme="mint"] .story-text-titlebar-text {
    color: #80c8a8;
}

body[data-theme="mint"] .story-text-inner {
    color: #2a4a42;
    line-height: 1.9;
}

body[data-theme="mint"] .story-text-inner .dialogue {
    color: #2a7a5a;
    border-left: 3px solid #6cc4a1;
}

body[data-theme="mint"] .loading-text-pixel {
    color: #6cc4a1;
}

/* ─── 选项 ─── */
body[data-theme="mint"] .game-controls {
    background: rgba(232, 248, 240, 0.9);
    border-top: 1.5px solid rgba(108, 196, 161, .3);
    backdrop-filter: blur(6px);
}

body[data-theme="mint"] .game-controls::before {
    background: linear-gradient(90deg, transparent, #6cc4a1, transparent);
    height: 1px;
}

body[data-theme="mint"] .choice-card {
    background: rgba(255, 255, 255, 0.65);
    border: 1px solid rgba(108, 196, 161, 0.25);
    border-radius: 14px;
    backdrop-filter: blur(4px);
    transition: all .15s;
}

body[data-theme="mint"] .choice-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(80, 160, 130, 0.1);
    border-color: rgba(108, 196, 161, 0.4);
}

body[data-theme="mint"] .choice-card:active {
    transform: translateY(0);
    background: rgba(240, 255, 248, 0.6);
}

body[data-theme="mint"] .choice-id {
    background: #6cc4a1;
    border: none;
    border-radius: 50%;
    color: #fff;
}

body[data-theme="mint"] .choice-text {
    color: #2a4a42;
}

body[data-theme="mint"] .choice-toggle {
    color: #6cc4a1;
}

body[data-theme="mint"] .choice-toggle svg {
    fill: #6cc4a1;
}

body[data-theme="mint"] .pixel-input {
    background: rgba(255, 255, 255, 0.55);
    border: 1px solid rgba(108, 196, 161, 0.25);
    border-radius: 14px;
    color: #2a4a42;
}

body[data-theme="mint"] .pixel-input::placeholder {
    color: #a0c8b8;
}

body[data-theme="mint"] .pixel-input:focus {
    border-color: #6cc4a1;
}

body[data-theme="mint"] .send-btn {
    background: linear-gradient(180deg, #6cc4a1, #58b48e);
    border: 1.5px solid #48a47e;
    border-radius: 14px;
}

body[data-theme="mint"] .send-btn svg {
    fill: #fff;
}

/* ─── 工具栏 ─── */
body[data-theme="mint"] .toolbar {
    border-top-color: rgba(108, 196, 161, .1);
}

body[data-theme="mint"] .tool-btn {
    background: rgba(108, 196, 161, .06);
    border: 1px solid rgba(108, 196, 161, .2);
    border-radius: 10px;
    color: #5a8a78;
}

body[data-theme="mint"] .tool-btn svg {
    fill: #5a8a78;
}

body[data-theme="mint"] .tool-btn:hover {
    background: #6cc4a1;
    color: #fff;
    border-color: #48a47e;
}

body[data-theme="mint"] .tool-btn:hover svg {
    fill: #fff;
}

/* ─── 底部导航 ─── */
body[data-theme="mint"] .bottom-nav {
    background: #1a3a32;
    border-top: 1.5px solid #0a2a22;
}

body[data-theme="mint"] .bottom-nav::before {
    background: linear-gradient(90deg, transparent, #6cc4a1, transparent);
    height: 2px;
}

body[data-theme="mint"] .nav-item.active {
    background: rgba(108, 196, 161, .08);
}

body[data-theme="mint"] .nav-item.active::after {
    background: #6cc4a1;
}

body[data-theme="mint"] .nav-icon svg {
    fill: #4a7a68;
}

body[data-theme="mint"] .nav-item.active .nav-icon svg {
    fill: #a0e8cc;
}

body[data-theme="mint"] .nav-item:hover .nav-icon svg {
    fill: #a0e8cc;
}

body[data-theme="mint"] .nav-label {
    color: #4a7a68;
}

body[data-theme="mint"] .nav-item.active .nav-label {
    color: #a0e8cc;
}

/* ─── 面板 ─── */
body[data-theme="mint"] .player-card {
    background: rgba(255, 255, 255, 0.65);
    border: 1.5px solid rgba(108, 196, 161, .25);
    border-radius: 16px;
    backdrop-filter: blur(6px);
}

body[data-theme="mint"] .player-card-header {
    background: linear-gradient(135deg, #6cc4a1, #4098a8);
    border-bottom: none;
    border-radius: 15px 15px 0 0;
}

body[data-theme="mint"] .player-card-header svg {
    fill: #fff;
}

body[data-theme="mint"] .player-card-header-text {
    color: #fff;
}

body[data-theme="mint"] .player-stat-item {
    background: rgba(255, 255, 255, 0.45);
    border: 1px solid rgba(108, 196, 161, .15);
    border-radius: 10px;
}

body[data-theme="mint"] .player-stat-label {
    color: #7aaa98;
}

body[data-theme="mint"] .player-stat-value {
    color: #2a4a42;
}

body[data-theme="mint"] .section-title {
    color: #2a5a48;
}

body[data-theme="mint"] .section-title svg {
    fill: #5a8a78;
}

body[data-theme="mint"] .section-title::after {
    background: linear-gradient(90deg, rgba(108, 196, 161, .25), transparent);
}

body[data-theme="mint"] .npc-card {
    background: rgba(255, 255, 255, 0.6);
    border: 1px solid rgba(108, 196, 161, .2);
    border-radius: 12px;
}

body[data-theme="mint"] .npc-card:hover {
    box-shadow: 0 3px 10px rgba(80, 160, 130, 0.08);
}

body[data-theme="mint"] .npc-name {
    color: #2a4a42;
}

body[data-theme="mint"] .npc-title {
    color: #7aaa98;
}

body[data-theme="mint"] .npc-favor-mini {
    color: #e08080;
}

body[data-theme="mint"] .npc-arrow {
    color: #6cc4a1;
}

body[data-theme="mint"] .pixel-tag.pink {
    background: rgba(108, 196, 161, .15);
    color: #2a7a5a;
    border-color: rgba(108, 196, 161, .3);
    border-radius: 12px;
}

body[data-theme="mint"] .world-module {
    background: rgba(255, 255, 255, 0.6);
    border: 1.5px solid rgba(108, 196, 161, .25);
    border-radius: 16px;
}

body[data-theme="mint"] .module-header {
    background: rgba(240, 255, 248, 0.5);
    border-bottom: 1px solid rgba(108, 196, 161, .15);
    border-radius: 15px 15px 0 0;
}

body[data-theme="mint"] .module-header-text {
    color: #2a5a48;
}

body[data-theme="mint"] .mod-text {
    color: #3a6a58;
}

body[data-theme="mint"] .mod-list-bullet {
    color: #6cc4a1;
}

body[data-theme="mint"] .kv-key {
    color: #7aaa98;
}

body[data-theme="mint"] .kv-val {
    color: #2a4a42;
}

body[data-theme="mint"] .bag-item {
    background: rgba(255, 255, 255, 0.6);
    border: 1px solid rgba(108, 196, 161, .2);
    border-radius: 12px;
}

body[data-theme="mint"] .bag-name {
    color: #2a4a42;
}

body[data-theme="mint"] .bag-count {
    color: #7aaa98;
}

/* ─── 弹窗 ─── */
body[data-theme="mint"] .modal-overlay {
    background: rgba(20, 50, 40, .35);
}

body[data-theme="mint"] .pixel-modal {
    background: #f0faf6;
    border: 1.5px solid rgba(108, 196, 161, .35);
    border-radius: 20px;
    box-shadow: 0 8px 30px rgba(80, 160, 130, 0.12);
    backdrop-filter: blur(10px);
}

body[data-theme="mint"] .modal-titlebar {
    background: #1a3a32;
    border-bottom: 1.5px solid rgba(108, 196, 161, .3);
    border-radius: 19px 19px 0 0;
}

body[data-theme="mint"] .modal-titlebar-text {
    color: #a0e8cc;
}

body[data-theme="mint"] .modal-close-btn {
    background: #6cc4a1;
    border: none;
    color: #fff;
    border-radius: 50%;
}

body[data-theme="mint"] .modal-detail-inner {
    background: rgba(255, 255, 255, 0.55);
    border: 1px solid rgba(108, 196, 161, .2);
    border-radius: 10px;
}

body[data-theme="mint"] .modal-detail-key {
    color: #7aaa98;
}

body[data-theme="mint"] .modal-detail-val {
    color: #2a4a42;
}

body[data-theme="mint"] .pixel-progress {
    background: rgba(0, 0, 0, .06);
    border: 1px solid rgba(108, 196, 161, .25);
    border-radius: 6px;
}

body[data-theme="mint"] .pixel-progress-fill {
    background: linear-gradient(90deg, #6cc4a1, #48d8b0);
    border-radius: 5px;
}

body[data-theme="mint"] .setting-label {
    color: #2a5a48;
}

body[data-theme="mint"] .setting-label svg {
    fill: #5a8a78;
}

body[data-theme="mint"] .setting-context-box {
    background: rgba(240, 255, 248, .5);
    border: 1px dashed rgba(108, 196, 161, .25);
    border-radius: 10px;
}

body[data-theme="mint"] .setting-context-info {
    color: #5a8a78;
}

body[data-theme="mint"] .setting-context-info span {
    color: #3a8a6a;
}

body[data-theme="mint"] .setting-slider-val {
    background: rgba(255, 255, 255, .5);
    border-color: rgba(108, 196, 161, .2);
    color: #3a8a6a;
    border-radius: 10px;
}

body[data-theme="mint"] .review-item {
    background: rgba(255, 255, 255, .55);
    border: 1px solid rgba(108, 196, 161, .2);
    border-radius: 12px;
}

body[data-theme="mint"] .review-item-header {
    color: #3a8a6a;
}

body[data-theme="mint"] .review-item-body {
    color: #3a6a58;
}

body[data-theme="mint"] .theme-card {
    background: rgba(255, 255, 255, .6);
    border-color: rgba(108, 196, 161, .2);
    border-radius: 12px;
}

body[data-theme="mint"] .theme-card.active {
    border-color: #6cc4a1;
    box-shadow: 0 0 0 2px rgba(108, 196, 161, .2);
}

body[data-theme="mint"] .theme-card-preview {
    border-radius: 10px;
}

body[data-theme="mint"] .theme-card-name {
    color: #2a4a42;
}

body[data-theme="mint"] .theme-card-desc {
    color: #7aaa98;
}

body[data-theme="mint"] .theme-tab {
    background: rgba(240, 255, 248, .5);
    border-color: rgba(108, 196, 161, .2);
    color: #5a8a78;
    border-radius: 12px;
}

body[data-theme="mint"] .theme-tab.active {
    background: #6cc4a1;
    color: #fff;
    border-color: #48a47e;
}

body[data-theme="mint"] .theme-title {
    color: #2a4a42;
}

body[data-theme="mint"] .theme-desc {
    color: #7aaa98;
}

body[data-theme="mint"] .theme-item:hover {
    background: rgba(240, 255, 248, .4);
}

body[data-theme="mint"] .style-textarea {
    background: rgba(255, 255, 255, .5);
    border-color: rgba(108, 196, 161, .2);
    color: #2a4a42;
    border-radius: 10px;
}

body[data-theme="mint"] .empty-text {
    color: #7aaa98;
}

body[data-theme="mint"] .pin-btn {
    border-color: rgba(108, 196, 161, .2);
    border-radius: 10px;
}

body[data-theme="mint"] .pin-btn.pinned {
    background: #6cc4a1;
    border-color: #48a47e;
}

body[data-theme="mint"] .pin-btn.pinned svg {
    fill: #fff;
}


/* ============================================
   #10 晚霞云朵
   ============================================ */

/* ─── 特效动画 ─── */
.ss-cloud {
    position: absolute;
    left: -80px;
    animation: ssFloat 30s linear infinite;
}

@keyframes ssFloat {
    0% {
        transform: translateX(-80px);
    }

    100% {
        transform: translateX(calc(100vw + 80px));
    }
}

.ss-meteor {
    position: absolute;
    top: 8%;
    left: 110%;
    width: 3px;
    height: 3px;
    background: #ffe0a0;
    border-radius: 50%;
    box-shadow: 0 0 6px #ffe0a0, -30px 0 15px rgba(255, 224, 160, 0.3);
    animation: ssMeteor 10s linear infinite;
}

@keyframes ssMeteor {
    0% {
        top: 5%;
        left: 110%;
        opacity: 0;
    }

    5% {
        opacity: 1;
    }

    15% {
        top: 30%;
        left: -10%;
        opacity: 0;
    }

    100% {
        top: 30%;
        left: -10%;
        opacity: 0;
    }
}

/* ─── 页面底色 ─── */
body[data-theme="sunset"] {
    background: linear-gradient(180deg, #2a1a3a 0%, #5a2a4a 30%, #c86040 65%, #e8a060 100%);
    background-attachment: fixed;
}

body[data-theme="sunset"] .setup-page {
    background: linear-gradient(180deg, #2a1a3a, #5a2a4a, #c86040, #e8a060);
}

body[data-theme="sunset"] .game-page {
    background: linear-gradient(180deg, #2a1a3a, #5a2a4a, #c86040);
}

body[data-theme="sunset"] .setup-hero {
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(218, 168, 96, 0.3);
    border-radius: 20px;
    box-shadow: 0 4px 24px rgba(0, 0, 0, 0.15);
    backdrop-filter: blur(10px);
}

body[data-theme="sunset"] .setup-hero::before,
body[data-theme="sunset"] .setup-hero::after {
    content: '☁ · ✦ · ☁ · ✦ · ☁ · ✦ · ☁ · ✦ · ☁';
    color: rgba(255, 224, 160, 0.25);
}

body[data-theme="sunset"] .setup-hero-title {
    color: #ffe0c0;
}

body[data-theme="sunset"] .setup-hero-sub {
    color: #c0a088;
}

body[data-theme="sunset"] .setup-input-card {
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(218, 168, 96, 0.25);
    border-radius: 16px;
    backdrop-filter: blur(8px);
}

body[data-theme="sunset"] .setup-input-label {
    color: #e8c080;
}

body[data-theme="sunset"] .pixel-textarea {
    background: rgba(255, 255, 255, 0.06);
    border: 1px solid rgba(218, 168, 96, 0.2);
    border-radius: 12px;
    color: #f5ede0;
}

body[data-theme="sunset"] .pixel-textarea::placeholder {
    color: rgba(218, 168, 96, 0.35);
}

body[data-theme="sunset"] .pixel-textarea:focus {
    border-color: rgba(218, 168, 96, 0.5);
}

body[data-theme="sunset"] .examples-accordion {
    border: 1px solid rgba(218, 168, 96, 0.25);
    border-radius: 16px;
    overflow: hidden;
    backdrop-filter: blur(8px);
}

body[data-theme="sunset"] .examples-header {
    background: rgba(255, 255, 255, 0.06);
    color: #e8c080;
}

body[data-theme="sunset"] .examples-arrow {
    color: #daa860;
}

body[data-theme="sunset"] .examples-body {
    background: rgba(255, 255, 255, 0.03);
}

body[data-theme="sunset"] .setup-tip {
    background: rgba(218, 168, 96, 0.08);
    border: 1px solid rgba(218, 168, 96, 0.2);
    border-radius: 12px;
    color: #c0a070;
}

body[data-theme="sunset"] .setup-back {
    background: rgba(255, 255, 255, 0.06);
    border: 1px solid rgba(218, 168, 96, 0.2);
    border-radius: 14px;
    color: #c0a070;
}

/* ─── 按钮 ─── */
body[data-theme="sunset"] .pixel-btn {
    background: linear-gradient(135deg, rgba(200, 96, 64, 0.6), rgba(232, 160, 96, 0.6));
    border: 1px solid rgba(218, 168, 96, 0.4);
    border-radius: 14px;
    color: #fff;
    text-shadow: 0 1px 3px rgba(0, 0, 0, .2);
    box-shadow: 0 3px 12px rgba(200, 96, 64, 0.2);
    backdrop-filter: blur(4px);
}

body[data-theme="sunset"] .pixel-btn:hover {
    box-shadow: 0 5px 20px rgba(200, 96, 64, 0.3);
}

body[data-theme="sunset"] .pixel-btn:active {
    transform: translateY(1px);
    box-shadow: none;
}

body[data-theme="sunset"] .pixel-btn.blue {
    background: linear-gradient(135deg, rgba(90, 42, 74, 0.6), rgba(60, 40, 80, 0.6));
    border-color: rgba(160, 100, 140, 0.4);
    color: #e0c8d8;
}

/* ─── HUD ─── */
body[data-theme="sunset"] .game-hud {
    background: rgba(30, 18, 40, 0.9);
    border-bottom: 1px solid rgba(218, 168, 96, 0.2);
    backdrop-filter: blur(10px);
}

body[data-theme="sunset"] .game-hud::after {
    background: linear-gradient(90deg, transparent, #daa860, #c86040, transparent);
    height: 2px;
}

body[data-theme="sunset"] .hud-item {
    background: rgba(255, 255, 255, .05);
    border: 1px solid rgba(218, 168, 96, .15);
    border-radius: 10px;
}

body[data-theme="sunset"] .hud-value {
    color: #e8c080;
}

body[data-theme="sunset"] .hud-label {
    color: #8a7060;
}

body[data-theme="sunset"] .hud-btn {
    background: rgba(255, 255, 255, .05);
    border: 1px solid rgba(218, 168, 96, .15);
    border-radius: 10px;
}

body[data-theme="sunset"] .hud-btn svg {
    fill: #c8a068;
}

body[data-theme="sunset"] .hud-btn:hover {
    border-color: #daa860;
    box-shadow: 0 0 8px rgba(218, 168, 96, .2);
}

body[data-theme="sunset"] .hud-btn:hover svg {
    fill: #e8c080;
}

/* ─── 剧情区 ─── */
body[data-theme="sunset"] .story-text-box {
    background: rgba(255, 255, 255, 0.06);
    border: 1px solid rgba(218, 168, 96, 0.2);
    border-radius: 16px;
    backdrop-filter: blur(8px);
    box-shadow: 0 2px 16px rgba(0, 0, 0, .08);
}

body[data-theme="sunset"] .story-text-titlebar {
    background: rgba(30, 18, 40, 0.8);
    border-bottom: 1px solid rgba(218, 168, 96, .2);
    border-radius: 15px 15px 0 0;
}

body[data-theme="sunset"] .story-text-titlebar svg {
    fill: #daa860;
}

body[data-theme="sunset"] .story-text-titlebar-text {
    color: #daa860;
}

body[data-theme="sunset"] .story-text-inner {
    color: #f0e4d0;
    line-height: 1.9;
}

body[data-theme="sunset"] .story-text-inner .dialogue {
    color: #f0c090;
    border-left: 3px solid rgba(218, 168, 96, 0.4);
}

body[data-theme="sunset"] .loading-text-pixel {
    color: #daa860;
}

/* ─── 选项 ─── */
body[data-theme="sunset"] .game-controls {
    background: rgba(30, 18, 40, 0.9);
    border-top: 1px solid rgba(218, 168, 96, 0.2);
    backdrop-filter: blur(10px);
}

body[data-theme="sunset"] .game-controls::before {
    background: linear-gradient(90deg, transparent, #daa860, #c86040, transparent);
    height: 1px;
}

body[data-theme="sunset"] .choice-card {
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(218, 168, 96, 0.2);
    border-radius: 12px;
    backdrop-filter: blur(4px);
    transition: all .15s;
}

body[data-theme="sunset"] .choice-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 14px rgba(218, 168, 96, 0.12);
    border-color: rgba(218, 168, 96, 0.4);
}

body[data-theme="sunset"] .choice-card:active {
    transform: translateY(0);
    background: rgba(218, 168, 96, 0.08);
}

body[data-theme="sunset"] .choice-id {
    background: rgba(218, 168, 96, 0.3);
    border: 1px solid rgba(218, 168, 96, 0.4);
    border-radius: 8px;
    color: #ffe0c0;
}

body[data-theme="sunset"] .choice-text {
    color: #f0e4d0;
}

body[data-theme="sunset"] .choice-toggle {
    color: #c8a068;
}

body[data-theme="sunset"] .choice-toggle svg {
    fill: #c8a068;
}

body[data-theme="sunset"] .pixel-input {
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(218, 168, 96, 0.2);
    border-radius: 12px;
    color: #f0e4d0;
}

body[data-theme="sunset"] .pixel-input::placeholder {
    color: rgba(218, 168, 96, 0.3);
}

body[data-theme="sunset"] .pixel-input:focus {
    border-color: rgba(218, 168, 96, 0.5);
}

body[data-theme="sunset"] .send-btn {
    background: linear-gradient(135deg, rgba(200, 96, 64, 0.5), rgba(218, 168, 96, 0.5));
    border: 1px solid rgba(218, 168, 96, 0.4);
    border-radius: 12px;
}

body[data-theme="sunset"] .send-btn svg {
    fill: #fff;
}

/* ─── 工具栏 ─── */
body[data-theme="sunset"] .toolbar {
    border-top-color: rgba(218, 168, 96, .1);
}

body[data-theme="sunset"] .tool-btn {
    background: rgba(218, 168, 96, .06);
    border: 1px solid rgba(218, 168, 96, .2);
    border-radius: 8px;
    color: #c0a070;
}

body[data-theme="sunset"] .tool-btn svg {
    fill: #c0a070;
}

body[data-theme="sunset"] .tool-btn:hover {
    background: rgba(218, 168, 96, .2);
    color: #ffe0c0;
    border-color: rgba(218, 168, 96, .4);
}

body[data-theme="sunset"] .tool-btn:hover svg {
    fill: #ffe0c0;
}

/* ─── 底部导航 ─── */
body[data-theme="sunset"] .bottom-nav {
    background: rgba(30, 18, 40, 0.95);
    border-top: 1px solid rgba(218, 168, 96, 0.2);
    backdrop-filter: blur(10px);
}

body[data-theme="sunset"] .bottom-nav::before {
    background: linear-gradient(90deg, transparent, #daa860, #c86040, transparent);
    height: 2px;
}

body[data-theme="sunset"] .nav-item.active {
    background: rgba(218, 168, 96, .06);
}

body[data-theme="sunset"] .nav-item.active::after {
    background: #daa860;
    box-shadow: 0 0 8px rgba(218, 168, 96, .4);
}

body[data-theme="sunset"] .nav-icon svg {
    fill: #6a5040;
}

body[data-theme="sunset"] .nav-item.active .nav-icon svg {
    fill: #e8c080;
}

body[data-theme="sunset"] .nav-item:hover .nav-icon svg {
    fill: #e8c080;
}

body[data-theme="sunset"] .nav-label {
    color: #6a5040;
}

body[data-theme="sunset"] .nav-item.active .nav-label {
    color: #e8c080;
}

/* ─── 面板 ─── */
body[data-theme="sunset"] .player-card {
    background: rgba(255, 255, 255, .06);
    border: 1px solid rgba(218, 168, 96, .2);
    border-radius: 16px;
    backdrop-filter: blur(8px);
}

body[data-theme="sunset"] .player-card-header {
    background: linear-gradient(135deg, rgba(200, 96, 64, .4), rgba(218, 168, 96, .4));
    border-bottom: 1px solid rgba(218, 168, 96, .2);
    border-radius: 15px 15px 0 0;
}

body[data-theme="sunset"] .player-card-header svg {
    fill: #ffe0c0;
}

body[data-theme="sunset"] .player-card-header-text {
    color: #ffe0c0;
}

body[data-theme="sunset"] .player-stat-item {
    background: rgba(255, 255, 255, .04);
    border: 1px solid rgba(218, 168, 96, .12);
    border-radius: 10px;
}

body[data-theme="sunset"] .player-stat-label {
    color: #8a7060;
}

body[data-theme="sunset"] .player-stat-value {
    color: #f0e4d0;
}

body[data-theme="sunset"] .section-title {
    color: #c0a070;
}

body[data-theme="sunset"] .section-title svg {
    fill: #c0a070;
}

body[data-theme="sunset"] .section-title::after {
    background: linear-gradient(90deg, rgba(218, 168, 96, .2), transparent);
}

body[data-theme="sunset"] .npc-card {
    background: rgba(255, 255, 255, .05);
    border: 1px solid rgba(218, 168, 96, .2);
    border-radius: 12px;
}

body[data-theme="sunset"] .npc-card:hover {
    box-shadow: 0 3px 12px rgba(218, 168, 96, .08);
}

body[data-theme="sunset"] .npc-name {
    color: #f0e4d0;
}

body[data-theme="sunset"] .npc-title {
    color: #8a7060;
}

body[data-theme="sunset"] .npc-favor-mini {
    color: #e8a080;
}

body[data-theme="sunset"] .npc-arrow {
    color: #daa860;
}

body[data-theme="sunset"] .pixel-tag.pink {
    background: rgba(218, 168, 96, .15);
    color: #e8c080;
    border-color: rgba(218, 168, 96, .3);
    border-radius: 10px;
}

body[data-theme="sunset"] .world-module {
    background: rgba(255, 255, 255, .05);
    border: 1px solid rgba(218, 168, 96, .2);
    border-radius: 16px;
}

body[data-theme="sunset"] .module-header {
    background: rgba(218, 168, 96, .06);
    border-bottom: 1px solid rgba(218, 168, 96, .12);
    border-radius: 15px 15px 0 0;
}

body[data-theme="sunset"] .module-header-text {
    color: #e8c080;
}

body[data-theme="sunset"] .mod-text {
    color: #c8b098;
}

body[data-theme="sunset"] .mod-list-bullet {
    color: #daa860;
}

body[data-theme="sunset"] .kv-key {
    color: #8a7060;
}

body[data-theme="sunset"] .kv-val {
    color: #f0e4d0;
}

body[data-theme="sunset"] .mod-kv-item {
    border-bottom-color: rgba(218, 168, 96, .08);
}

body[data-theme="sunset"] .bag-item {
    background: rgba(255, 255, 255, .05);
    border: 1px solid rgba(218, 168, 96, .2);
    border-radius: 12px;
}

body[data-theme="sunset"] .bag-name {
    color: #f0e4d0;
}

body[data-theme="sunset"] .bag-count {
    color: #8a7060;
}

body[data-theme="sunset"] .bag-desc {
    color: #8a7060;
}

/* ─── 弹窗 ─── */
body[data-theme="sunset"] .modal-overlay {
    background: rgba(20, 10, 30, .55);
}

body[data-theme="sunset"] .pixel-modal {
    background: linear-gradient(180deg, rgba(42, 26, 58, .95), rgba(90, 42, 74, .95));
    border: 1px solid rgba(218, 168, 96, .3);
    border-radius: 20px;
    box-shadow: 0 8px 40px rgba(0, 0, 0, .25);
    backdrop-filter: blur(12px);
}

body[data-theme="sunset"] .modal-titlebar {
    background: rgba(0, 0, 0, .3);
    border-bottom: 1px solid rgba(218, 168, 96, .2);
    border-radius: 19px 19px 0 0;
}

body[data-theme="sunset"] .modal-titlebar-text {
    color: #e8c080;
}

body[data-theme="sunset"] .modal-close-btn {
    background: rgba(218, 168, 96, .2);
    border: 1px solid rgba(218, 168, 96, .3);
    color: #e8c080;
    border-radius: 6px;
}

body[data-theme="sunset"] .modal-detail-inner {
    background: rgba(255, 255, 255, .04);
    border: 1px solid rgba(218, 168, 96, .15);
    border-radius: 10px;
}

body[data-theme="sunset"] .modal-detail-key {
    color: #8a7060;
}

body[data-theme="sunset"] .modal-detail-val {
    color: #f0e4d0;
}

body[data-theme="sunset"] .pixel-progress {
    background: rgba(0, 0, 0, .2);
    border: 1px solid rgba(218, 168, 96, .2);
    border-radius: 5px;
}

body[data-theme="sunset"] .pixel-progress-fill {
    background: linear-gradient(90deg, #c86040, #e8a060);
    border-radius: 4px;
}

body[data-theme="sunset"] .setting-label {
    color: #e8c080;
}

body[data-theme="sunset"] .setting-label svg {
    fill: #daa860;
}

body[data-theme="sunset"] .setting-context-box {
    background: rgba(218, 168, 96, .06);
    border: 1px dashed rgba(218, 168, 96, .2);
    border-radius: 10px;
}

body[data-theme="sunset"] .setting-context-info {
    color: #a08868;
}

body[data-theme="sunset"] .setting-context-info span {
    color: #e8c080;
}

body[data-theme="sunset"] .setting-slider-val {
    background: rgba(218, 168, 96, .1);
    border-color: rgba(218, 168, 96, .2);
    color: #e8c080;
    border-radius: 8px;
}

body[data-theme="sunset"] .review-item {
    background: rgba(255, 255, 255, .04);
    border: 1px solid rgba(218, 168, 96, .15);
    border-radius: 12px;
}

body[data-theme="sunset"] .review-item-header {
    color: #daa860;
}

body[data-theme="sunset"] .review-item-body {
    color: #c8b098;
}

body[data-theme="sunset"] .theme-card {
    background: rgba(255, 255, 255, .05);
    border-color: rgba(218, 168, 96, .2);
    border-radius: 12px;
}

body[data-theme="sunset"] .theme-card.active {
    border-color: #daa860;
    box-shadow: 0 0 12px rgba(218, 168, 96, .2);
}

body[data-theme="sunset"] .theme-card-preview {
    border-radius: 10px;
}

body[data-theme="sunset"] .theme-card-name {
    color: #f0e4d0;
}

body[data-theme="sunset"] .theme-card-desc {
    color: #8a7060;
}

body[data-theme="sunset"] .theme-tab {
    background: rgba(218, 168, 96, .08);
    border-color: rgba(218, 168, 96, .2);
    color: #c0a070;
    border-radius: 10px;
}

body[data-theme="sunset"] .theme-tab.active {
    background: rgba(218, 168, 96, .3);
    color: #ffe0c0;
    border-color: rgba(218, 168, 96, .5);
}

body[data-theme="sunset"] .theme-title {
    color: #f0e4d0;
}

body[data-theme="sunset"] .theme-desc {
    color: #8a7060;
}

body[data-theme="sunset"] .theme-item:hover {
    background: rgba(218, 168, 96, .06);
}

body[data-theme="sunset"] .style-textarea {
    background: rgba(255, 255, 255, .05);
    border-color: rgba(218, 168, 96, .2);
    color: #f0e4d0;
    border-radius: 10px;
}

body[data-theme="sunset"] .empty-text {
    color: #6a5040;
}

body[data-theme="sunset"] .pin-btn {
    border-color: rgba(218, 168, 96, .2);
    border-radius: 8px;
}

body[data-theme="sunset"] .pin-btn.pinned {
    background: rgba(218, 168, 96, .3);
    border-color: rgba(218, 168, 96, .5);
}

body[data-theme="sunset"] .pin-btn.pinned svg {
    fill: #ffe0c0;
}
/* ============================================
   #11 樱花牛奶
   ============================================ */

/* ─── 特效动画 ─── */
.sk-petal {
    position: absolute;
    top: -30px;
    font-size: 12px;
    color: #f0b8c8;
    animation: skFall 14s linear infinite;
}

@keyframes skFall {
    0% {
        transform: translateY(-30px) rotate(0deg) translateX(0);
        opacity: 0;
    }

    10% {
        opacity: 0.4;
    }

    90% {
        opacity: 0.3;
    }

    100% {
        transform: translateY(100vh) rotate(260deg) translateX(20px);
        opacity: 0;
    }
}

.sk-bokeh {
    position: absolute;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(255, 200, 220, 0.12) 0%, transparent 70%);
    animation: skBokeh 7s ease-in-out infinite;
}

@keyframes skBokeh {

    0%,
    100% {
        transform: scale(0.8);
        opacity: 0.3;
    }

    50% {
        transform: scale(1.3);
        opacity: 0.6;
    }
}

/* ─── 页面底色 ─── */
body[data-theme="sakura"] {
    background: #fdf6f8;
}

body[data-theme="sakura"] .setup-page {
    background: #fdf6f8;
}

body[data-theme="sakura"] .game-page {
    background: #fdf6f8;
}

body[data-theme="sakura"] .setup-hero {
    background: rgba(255, 255, 255, 0.55);
    border: 1.5px solid rgba(240, 184, 200, 0.3);
    border-radius: 20px;
    box-shadow: 0 4px 20px rgba(200, 140, 160, 0.08);
    backdrop-filter: blur(10px);
}

body[data-theme="sakura"] .setup-hero::before,
body[data-theme="sakura"] .setup-hero::after {
    content: '✿ · ✿ · ✿ · ✿ · ✿ · ✿ · ✿ · ✿ · ✿';
    color: rgba(240, 184, 200, 0.3);
}

body[data-theme="sakura"] .setup-hero-title {
    color: #8a5068;
}

body[data-theme="sakura"] .setup-hero-sub {
    color: #b0a0a8;
}

body[data-theme="sakura"] .setup-input-card {
    background: rgba(255, 255, 255, 0.55);
    border: 1.5px solid rgba(240, 200, 212, 0.3);
    border-radius: 16px;
    backdrop-filter: blur(8px);
}

body[data-theme="sakura"] .setup-input-label {
    color: #c87a90;
}

body[data-theme="sakura"] .pixel-textarea {
    background: rgba(255, 255, 255, 0.45);
    border: 1px solid rgba(240, 200, 212, 0.3);
    border-radius: 12px;
    color: #5a4a50;
}

body[data-theme="sakura"] .pixel-textarea::placeholder {
    color: #d0b8c0;
}

body[data-theme="sakura"] .pixel-textarea:focus {
    border-color: rgba(200, 122, 144, 0.4);
}

body[data-theme="sakura"] .examples-accordion {
    border: 1.5px solid rgba(240, 200, 212, 0.3);
    border-radius: 16px;
    overflow: hidden;
    backdrop-filter: blur(8px);
}

body[data-theme="sakura"] .examples-header {
    background: rgba(255, 255, 255, 0.45);
    color: #8a5068;
}

body[data-theme="sakura"] .examples-arrow {
    color: #d8a0b0;
}

body[data-theme="sakura"] .examples-body {
    background: rgba(255, 255, 255, 0.35);
}

body[data-theme="sakura"] .setup-tip {
    background: rgba(255, 240, 244, 0.5);
    border: 1px solid rgba(240, 200, 212, 0.25);
    border-radius: 12px;
    color: #a08890;
}

body[data-theme="sakura"] .setup-back {
    background: rgba(255, 255, 255, 0.45);
    border: 1px solid rgba(240, 200, 212, 0.25);
    border-radius: 14px;
    color: #a08890;
}

/* ─── 按钮（珠光感）─── */
body[data-theme="sakura"] .pixel-btn {
    background: linear-gradient(135deg, #f0c0d0, #e8b0c4, #f0c8d8);
    border: 1.5px solid rgba(200, 122, 144, 0.3);
    border-radius: 24px;
    color: #6a3048;
    text-shadow: 0 1px 1px rgba(255, 255, 255, 0.4);
    box-shadow: 0 3px 12px rgba(200, 140, 160, 0.15), inset 0 1px 2px rgba(255, 255, 255, 0.5);
    transition: all .2s;
}

body[data-theme="sakura"] .pixel-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 5px 18px rgba(200, 140, 160, 0.22), inset 0 1px 2px rgba(255, 255, 255, 0.5);
    background: linear-gradient(135deg, #f4c8d8, #f0b8cc, #f4d0e0);
}

body[data-theme="sakura"] .pixel-btn:active {
    transform: translateY(1px);
    box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.05);
}

body[data-theme="sakura"] .pixel-btn.blue {
    background: linear-gradient(135deg, #c8b8d8, #b8a8cc, #c8c0e0);
    border-color: rgba(160, 140, 180, 0.3);
    color: #4a3858;
}

/* ─── HUD ─── */
body[data-theme="sakura"] .game-hud {
    background: #3a2830;
    border-bottom: 1.5px solid #2a1820;
}

body[data-theme="sakura"] .game-hud::after {
    background: linear-gradient(90deg, transparent, rgba(240, 184, 200, 0.4), transparent);
    height: 2px;
}

body[data-theme="sakura"] .hud-item {
    background: rgba(255, 255, 255, .05);
    border: 1px solid rgba(240, 184, 200, .15);
    border-radius: 10px;
}

body[data-theme="sakura"] .hud-value {
    color: #f0c8d8;
}

body[data-theme="sakura"] .hud-label {
    color: #8a6878;
}

body[data-theme="sakura"] .hud-btn {
    background: rgba(255, 255, 255, .05);
    border: 1px solid rgba(240, 184, 200, .15);
    border-radius: 10px;
}

body[data-theme="sakura"] .hud-btn svg {
    fill: #d8a0b8;
}

body[data-theme="sakura"] .hud-btn:hover {
    border-color: rgba(240, 184, 200, .4);
}

body[data-theme="sakura"] .hud-btn:hover svg {
    fill: #f0c8d8;
}

/* ─── 剧情区 ─── */
body[data-theme="sakura"] .story-text-box {
    background: rgba(255, 255, 255, 0.55);
    border: 1.5px solid rgba(240, 200, 212, 0.25);
    border-radius: 16px;
    backdrop-filter: blur(8px);
    box-shadow: 0 2px 12px rgba(200, 140, 160, 0.06);
}

body[data-theme="sakura"] .story-text-titlebar {
    background: #3a2830;
    border-bottom: 1.5px solid rgba(240, 184, 200, .25);
    border-radius: 15px 15px 0 0;
}

body[data-theme="sakura"] .story-text-titlebar svg {
    fill: #d8a0b8;
}

body[data-theme="sakura"] .story-text-titlebar-text {
    color: #d8a0b8;
}

body[data-theme="sakura"] .story-text-inner {
    color: #5a4a50;
    line-height: 2;
}

body[data-theme="sakura"] .story-text-inner .dialogue {
    color: #a06078;
    border-left: 3px solid rgba(240, 184, 200, 0.4);
}

body[data-theme="sakura"] .loading-text-pixel {
    color: #d8a0b8;
}

/* ─── 选项 ─── */
body[data-theme="sakura"] .game-controls {
    background: rgba(252, 244, 248, 0.9);
    border-top: 1.5px solid rgba(240, 184, 200, .25);
    backdrop-filter: blur(6px);
}

body[data-theme="sakura"] .game-controls::before {
    background: linear-gradient(90deg, transparent, rgba(240, 184, 200, 0.35), transparent);
    height: 1px;
}

body[data-theme="sakura"] .choice-card {
    background: rgba(255, 255, 255, 0.6);
    border: 1px solid rgba(240, 200, 212, 0.25);
    border-radius: 14px;
    backdrop-filter: blur(4px);
    box-shadow: 0 2px 6px rgba(200, 140, 160, 0.04);
    transition: all .15s;
}

/* 左侧樱粉竖条 */
body[data-theme="sakura"] .choice-card::before {
    content: '';
    position: absolute;
    top: 8px;
    bottom: 8px;
    left: 0;
    width: 3px;
    background: linear-gradient(180deg, #f0c0d0, #e0a0b8);
    border-radius: 0 2px 2px 0;
}

body[data-theme="sakura"] .choice-card {
    padding-left: 16px;
}

body[data-theme="sakura"] .choice-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 14px rgba(200, 140, 160, 0.1);
    border-color: rgba(240, 184, 200, 0.4);
}

body[data-theme="sakura"] .choice-card:active {
    transform: translateY(0);
    background: rgba(255, 240, 244, 0.6);
}

body[data-theme="sakura"] .choice-id {
    background: linear-gradient(135deg, #f0c0d0, #e8b0c4);
    border: none;
    border-radius: 50%;
    color: #6a3048;
    box-shadow: 0 1px 4px rgba(200, 140, 160, 0.15), inset 0 1px 1px rgba(255, 255, 255, 0.4);
}

body[data-theme="sakura"] .choice-text {
    color: #5a4a50;
}

body[data-theme="sakura"] .choice-toggle {
    color: #c87a90;
}

body[data-theme="sakura"] .choice-toggle svg {
    fill: #c87a90;
}

body[data-theme="sakura"] .pixel-input {
    background: rgba(255, 255, 255, 0.5);
    border: 1px solid rgba(240, 200, 212, 0.25);
    border-radius: 14px;
    color: #5a4a50;
}

body[data-theme="sakura"] .pixel-input::placeholder {
    color: #d0b8c0;
}

body[data-theme="sakura"] .pixel-input:focus {
    border-color: rgba(200, 122, 144, 0.4);
}

body[data-theme="sakura"] .send-btn {
    background: linear-gradient(135deg, #f0c0d0, #e8b0c4);
    border: 1.5px solid rgba(200, 122, 144, 0.3);
    border-radius: 14px;
    box-shadow: 0 2px 6px rgba(200, 140, 160, 0.12), inset 0 1px 1px rgba(255, 255, 255, 0.4);
}

body[data-theme="sakura"] .send-btn svg {
    fill: #6a3048;
}

/* ─── 工具栏 ─── */
body[data-theme="sakura"] .toolbar {
    border-top-color: rgba(240, 200, 212, .15);
}

body[data-theme="sakura"] .tool-btn {
    background: rgba(240, 184, 200, .06);
    border: 1px solid rgba(240, 200, 212, .2);
    border-radius: 10px;
    color: #a08090;
}

body[data-theme="sakura"] .tool-btn svg {
    fill: #a08090;
}

body[data-theme="sakura"] .tool-btn:hover {
    background: linear-gradient(135deg, #f0c0d0, #e8b0c4);
    color: #6a3048;
    border-color: rgba(200, 122, 144, 0.3);
}

body[data-theme="sakura"] .tool-btn:hover svg {
    fill: #6a3048;
}

/* ─── 底部导航 ─── */
body[data-theme="sakura"] .bottom-nav {
    background: #3a2830;
    border-top: 1.5px solid #2a1820;
}

body[data-theme="sakura"] .bottom-nav::before {
    background: linear-gradient(90deg, transparent, rgba(240, 184, 200, 0.4), transparent);
    height: 2px;
}

body[data-theme="sakura"] .nav-item.active {
    background: rgba(240, 184, 200, .06);
}

body[data-theme="sakura"] .nav-item.active::after {
    background: #e8b0c4;
    box-shadow: 0 0 6px rgba(232, 176, 196, .4);
}

body[data-theme="sakura"] .nav-icon svg {
    fill: #6a5060;
}

body[data-theme="sakura"] .nav-item.active .nav-icon svg {
    fill: #f0c8d8;
}

body[data-theme="sakura"] .nav-item:hover .nav-icon svg {
    fill: #f0c8d8;
}

body[data-theme="sakura"] .nav-label {
    color: #6a5060;
}

body[data-theme="sakura"] .nav-item.active .nav-label {
    color: #f0c8d8;
}

/* ─── 面板 ─── */
body[data-theme="sakura"] .player-card {
    background: rgba(255, 255, 255, 0.55);
    border: 1.5px solid rgba(240, 200, 212, .25);
    border-radius: 16px;
    backdrop-filter: blur(8px);
}

body[data-theme="sakura"] .player-card-header {
    background: linear-gradient(135deg, #f0b8c8, #d8a0c0);
    border-bottom: none;
    border-radius: 15px 15px 0 0;
}

body[data-theme="sakura"] .player-card-header svg {
    fill: #fff;
}

body[data-theme="sakura"] .player-card-header-text {
    color: #fff;
    text-shadow: 0 1px 2px rgba(0, 0, 0, .1);
}

body[data-theme="sakura"] .player-stat-item {
    background: rgba(255, 255, 255, 0.4);
    border: 1px solid rgba(240, 200, 212, .15);
    border-radius: 10px;
}

body[data-theme="sakura"] .player-stat-label {
    color: #b0a0a8;
}

body[data-theme="sakura"] .player-stat-value {
    color: #5a4a50;
}

body[data-theme="sakura"] .section-title {
    color: #8a5068;
}

body[data-theme="sakura"] .section-title svg {
    fill: #c87a90;
}

body[data-theme="sakura"] .section-title::after {
    background: linear-gradient(90deg, rgba(240, 200, 212, .25), transparent);
}

body[data-theme="sakura"] .npc-card {
    background: rgba(255, 255, 255, 0.5);
    border: 1px solid rgba(240, 200, 212, .2);
    border-radius: 12px;
}

body[data-theme="sakura"] .npc-card:hover {
    box-shadow: 0 3px 10px rgba(200, 140, 160, 0.08);
}

body[data-theme="sakura"] .npc-name {
    color: #5a4a50;
}

body[data-theme="sakura"] .npc-title {
    color: #b0a0a8;
}

body[data-theme="sakura"] .npc-favor-mini {
    color: #e08898;
}

body[data-theme="sakura"] .npc-arrow {
    color: #d8a0b0;
}

body[data-theme="sakura"] .pixel-tag.pink {
    background: rgba(240, 184, 200, .2);
    color: #a06078;
    border-color: rgba(240, 184, 200, .3);
    border-radius: 12px;
}

body[data-theme="sakura"] .world-module {
    background: rgba(255, 255, 255, 0.5);
    border: 1.5px solid rgba(240, 200, 212, .2);
    border-radius: 16px;
}

body[data-theme="sakura"] .module-header {
    background: rgba(255, 240, 244, .4);
    border-bottom: 1px solid rgba(240, 200, 212, .15);
    border-radius: 15px 15px 0 0;
}

body[data-theme="sakura"] .module-header-text {
    color: #8a5068;
}

body[data-theme="sakura"] .mod-text {
    color: #6a5a60;
}

body[data-theme="sakura"] .mod-list-bullet {
    color: #d8a0b0;
}

body[data-theme="sakura"] .kv-key {
    color: #b0a0a8;
}

body[data-theme="sakura"] .kv-val {
    color: #5a4a50;
}

body[data-theme="sakura"] .mod-kv-item {
    border-bottom-color: rgba(240, 200, 212, .1);
}

body[data-theme="sakura"] .bag-item {
    background: rgba(255, 255, 255, 0.5);
    border: 1px solid rgba(240, 200, 212, .2);
    border-radius: 12px;
}

body[data-theme="sakura"] .bag-name {
    color: #5a4a50;
}

body[data-theme="sakura"] .bag-count {
    color: #b0a0a8;
}

body[data-theme="sakura"] .bag-desc {
    color: #b0a0a8;
}

/* ─── 弹窗 ─── */
body[data-theme="sakura"] .modal-overlay {
    background: rgba(50, 30, 40, .3);
}

body[data-theme="sakura"] .pixel-modal {
    background: #fdf6f8;
    border: 1.5px solid rgba(240, 184, 200, .3);
    border-radius: 20px;
    box-shadow: 0 8px 32px rgba(200, 140, 160, 0.12);
    backdrop-filter: blur(10px);
}

body[data-theme="sakura"] .modal-titlebar {
    background: #3a2830;
    border-bottom: 1.5px solid rgba(240, 184, 200, .25);
    border-radius: 19px 19px 0 0;
}

body[data-theme="sakura"] .modal-titlebar-text {
    color: #f0c8d8;
}

body[data-theme="sakura"] .modal-close-btn {
    background: linear-gradient(135deg, #f0c0d0, #e8b0c4);
    border: none;
    color: #6a3048;
    border-radius: 50%;
}

body[data-theme="sakura"] .modal-detail-inner {
    background: rgba(255, 255, 255, 0.5);
    border: 1px solid rgba(240, 200, 212, .2);
    border-radius: 10px;
}

body[data-theme="sakura"] .modal-detail-key {
    color: #b0a0a8;
}

body[data-theme="sakura"] .modal-detail-val {
    color: #5a4a50;
}

body[data-theme="sakura"] .modal-detail-row {
    border-bottom-color: rgba(240, 200, 212, .1);
}

body[data-theme="sakura"] .pixel-progress {
    background: rgba(0, 0, 0, .05);
    border: 1px solid rgba(240, 200, 212, .2);
    border-radius: 6px;
}

body[data-theme="sakura"] .pixel-progress-fill {
    background: linear-gradient(90deg, #f0b0c0, #e0a0b8);
    border-radius: 5px;
}

body[data-theme="sakura"] .modal-favor-label {
    color: #c87a90;
}

body[data-theme="sakura"] .setting-label {
    color: #8a5068;
}

body[data-theme="sakura"] .setting-label svg {
    fill: #c87a90;
}

body[data-theme="sakura"] .setting-context-box {
    background: rgba(255, 240, 244, .4);
    border: 1px dashed rgba(240, 200, 212, .25);
    border-radius: 10px;
}

body[data-theme="sakura"] .setting-context-info {
    color: #a08890;
}

body[data-theme="sakura"] .setting-context-info span {
    color: #c87a90;
}

body[data-theme="sakura"] .setting-slider-val {
    background: rgba(255, 255, 255, .45);
    border-color: rgba(240, 200, 212, .2);
    color: #c87a90;
    border-radius: 10px;
}

body[data-theme="sakura"] .review-item {
    background: rgba(255, 255, 255, .45);
    border: 1px solid rgba(240, 200, 212, .2);
    border-radius: 12px;
}

body[data-theme="sakura"] .review-item-header {
    color: #c87a90;
}

body[data-theme="sakura"] .review-item-body {
    color: #6a5a60;
}

body[data-theme="sakura"] .theme-card {
    background: rgba(255, 255, 255, .55);
    border-color: rgba(240, 200, 212, .2);
    border-radius: 12px;
}

body[data-theme="sakura"] .theme-card.active {
    border-color: #d8a0b0;
    box-shadow: 0 0 10px rgba(216, 160, 176, .2);
}

body[data-theme="sakura"] .theme-card-preview {
    border-radius: 10px;
}

body[data-theme="sakura"] .theme-card-name {
    color: #5a4a50;
}

body[data-theme="sakura"] .theme-card-desc {
    color: #b0a0a8;
}

body[data-theme="sakura"] .theme-tab {
    background: rgba(255, 240, 244, .4);
    border-color: rgba(240, 200, 212, .2);
    color: #a08090;
    border-radius: 12px;
}

body[data-theme="sakura"] .theme-tab.active {
    background: linear-gradient(135deg, #f0c0d0, #e8b0c4);
    color: #6a3048;
    border-color: transparent;
}

body[data-theme="sakura"] .theme-title {
    color: #5a4a50;
}

body[data-theme="sakura"] .theme-desc {
    color: #b0a0a8;
}

body[data-theme="sakura"] .theme-item:hover {
    background: rgba(255, 240, 244, .3);
}

body[data-theme="sakura"] .style-textarea {
    background: rgba(255, 255, 255, .45);
    border-color: rgba(240, 200, 212, .2);
    color: #5a4a50;
    border-radius: 10px;
}

body[data-theme="sakura"] .empty-text {
    color: #b0a0a8;
}

body[data-theme="sakura"] .pin-btn {
    border-color: rgba(240, 200, 212, .2);
    border-radius: 10px;
}

body[data-theme="sakura"] .pin-btn.pinned {
    background: linear-gradient(135deg, #f0c0d0, #e8b0c4);
    border-color: transparent;
}

body[data-theme="sakura"] .pin-btn.pinned svg {
    fill: #6a3048;
}

/* ─── 滚动条 ─── */
body[data-theme="sakura"] ::-webkit-scrollbar-thumb {
    background: linear-gradient(180deg, #f0c0d0, #e0a0b8);
}


/* ============================================
   #12 薰衣草信笺
   ============================================ */

/* ─── 特效动画 ─── */
.lv-petal {
    position: absolute;
    top: -30px;
    font-size: 11px;
    color: #b8a0d0;
    animation: lvFloat 12s linear infinite;
}

@keyframes lvFloat {
    0% {
        transform: translateY(-30px) rotate(0deg) translateX(0);
        opacity: 0;
    }

    10% {
        opacity: 0.45;
    }

    50% {
        transform: translateY(50vh) rotate(180deg) translateX(15px);
        opacity: 0.4;
    }

    90% {
        opacity: 0.3;
    }

    100% {
        transform: translateY(100vh) rotate(340deg) translateX(-10px);
        opacity: 0;
    }
}

/* ─── 页面底色 ─── */
body[data-theme="lavender"] {
    background: #f4f0f8;
}

body[data-theme="lavender"] .setup-page {
    background: #f4f0f8;
}

body[data-theme="lavender"] .game-page {
    background: #f4f0f8;
}

body[data-theme="lavender"] .setup-hero {
    background: #faf8fc;
    border: 1.5px solid #c8b8d8;
    border-radius: 4px;
    box-shadow: 0 2px 10px rgba(140, 120, 170, 0.08);
    position: relative;
}

/* 信封折角 */
body[data-theme="lavender"] .setup-hero::before {
    content: '〰 ✉ 〰 ✉ 〰 ✉ 〰 ✉ 〰 ✉ 〰 ✉ 〰 ✉ 〰';
    color: rgba(184, 160, 210, 0.3);
}

body[data-theme="lavender"] .setup-hero::after {
    content: '〰 ✉ 〰 ✉ 〰 ✉ 〰 ✉ 〰 ✉ 〰 ✉ 〰 ✉ 〰';
    color: rgba(184, 160, 210, 0.3);
}

body[data-theme="lavender"] .setup-hero-title {
    color: #5a4870;
    font-family: 'Georgia', 'Noto Serif SC', serif;
}

body[data-theme="lavender"] .setup-hero-sub {
    color: #a098b0;
}

body[data-theme="lavender"] .setup-input-card {
    background: #fff;
    border: 1.5px solid #d0c4e0;
    border-radius: 4px;
    box-shadow: 0 1px 6px rgba(140, 120, 170, 0.06);
    /* 信纸横线 */
    background-image: repeating-linear-gradient(180deg,
            transparent 0px,
            transparent 31px,
            rgba(184, 160, 210, 0.12) 31px,
            rgba(184, 160, 210, 0.12) 32px);
    background-position: 0 16px;
}

body[data-theme="lavender"] .setup-input-label {
    color: #7a68a0;
}

body[data-theme="lavender"] .pixel-textarea {
    background: transparent;
    border: 1px solid #d8d0e4;
    border-radius: 4px;
    color: #3a3548;
    font-family: 'Georgia', 'Noto Serif SC', serif;
}

body[data-theme="lavender"] .pixel-textarea::placeholder {
    color: #c0b8d0;
}

body[data-theme="lavender"] .pixel-textarea:focus {
    border-color: #a090c0;
}

body[data-theme="lavender"] .examples-accordion {
    border: 1.5px solid #d0c4e0;
    border-radius: 4px;
    overflow: hidden;
}

body[data-theme="lavender"] .examples-header {
    background: linear-gradient(180deg, #f6f2fa, #f0ecf6);
    color: #5a4870;
    font-family: 'Georgia', 'Noto Serif SC', serif;
}

body[data-theme="lavender"] .examples-arrow {
    color: #a090c0;
}

body[data-theme="lavender"] .examples-body {
    background: #faf8fc;
}

body[data-theme="lavender"] .setup-tip {
    background: #f8f4fc;
    border: 1px solid #d8d0e4;
    border-radius: 4px;
    color: #8a80a0;
}

body[data-theme="lavender"] .setup-back {
    background: #f0ecf6;
    border: 1px solid #d0c4e0;
    border-radius: 4px;
    color: #8a80a0;
}

/* ─── 按钮（蜡封感）─── */
body[data-theme="lavender"] .pixel-btn {
    background: linear-gradient(180deg, #8a70a8, #7a60a0);
    border: 1.5px solid #6a5090;
    border-radius: 4px;
    color: #f0ecf6;
    text-shadow: 0 1px 2px rgba(0, 0, 0, .15);
    box-shadow: 0 2px 8px rgba(100, 80, 130, 0.2);
    font-family: 'Georgia', 'Noto Serif SC', serif;
    transition: all .15s;
}

body[data-theme="lavender"] .pixel-btn:hover {
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(100, 80, 130, 0.25);
}

body[data-theme="lavender"] .pixel-btn:active {
    transform: translateY(1px);
    box-shadow: none;
}

body[data-theme="lavender"] .pixel-btn.blue {
    background: linear-gradient(180deg, #7888a8, #6878a0);
    border-color: #586890;
    color: #e8ecf4;
}

/* ─── HUD ─── */
body[data-theme="lavender"] .game-hud {
    background: #2a2438;
    border-bottom: 1.5px solid #1a1828;
}

body[data-theme="lavender"] .game-hud::after {
    background: linear-gradient(90deg, transparent, #a090c0, transparent);
    height: 2px;
}

body[data-theme="lavender"] .hud-item {
    background: rgba(255, 255, 255, .05);
    border: 1px solid rgba(160, 144, 192, .2);
    border-radius: 4px;
}

body[data-theme="lavender"] .hud-value {
    color: #d0c0e8;
}

body[data-theme="lavender"] .hud-label {
    color: #7a6a90;
}

body[data-theme="lavender"] .hud-btn {
    background: rgba(255, 255, 255, .05);
    border: 1px solid rgba(160, 144, 192, .2);
    border-radius: 4px;
}

body[data-theme="lavender"] .hud-btn svg {
    fill: #a898c0;
}

body[data-theme="lavender"] .hud-btn:hover {
    border-color: #a090c0;
}

body[data-theme="lavender"] .hud-btn:hover svg {
    fill: #d0c0e8;
}

/* ─── 剧情区 ─── */
body[data-theme="lavender"] .story-text-box {
    background: #fff;
    border: 1.5px solid #d0c4e0;
    border-radius: 4px;
    box-shadow: 0 1px 6px rgba(140, 120, 170, 0.06);
    /* 信纸横线 */
    background-image: repeating-linear-gradient(180deg,
            transparent 0px,
            transparent 31px,
            rgba(184, 160, 210, 0.08) 31px,
            rgba(184, 160, 210, 0.08) 32px);
}

body[data-theme="lavender"] .story-text-titlebar {
    background: #2a2438;
    border-bottom: 1.5px solid rgba(160, 144, 192, .25);
    border-radius: 3px 3px 0 0;
}

body[data-theme="lavender"] .story-text-titlebar svg {
    fill: #a898c0;
}

body[data-theme="lavender"] .story-text-titlebar-text {
    color: #a898c0;
}

body[data-theme="lavender"] .story-text-inner {
    color: #3a3548;
    font-family: 'Georgia', 'Noto Serif SC', serif;
    line-height: 2;
}

body[data-theme="lavender"] .story-text-inner .dialogue {
    color: #7a5890;
    border-left: 3px solid #b8a0d0;
}

body[data-theme="lavender"] .loading-text-pixel {
    color: #a090c0;
}

/* ─── 选项（信封+蜡封风格）─── */
body[data-theme="lavender"] .game-controls {
    background: #ece8f2;
    border-top: 1.5px solid #c8b8d8;
}

body[data-theme="lavender"] .game-controls::before {
    background: linear-gradient(90deg, transparent, #b8a0d0, transparent);
    height: 1px;
}

body[data-theme="lavender"] .choice-card {
    background: #faf8fc;
    border: 1px solid #d8d0e4;
    border-radius: 4px;
    box-shadow: 0 1px 4px rgba(140, 120, 170, 0.06);
    transition: all .15s;
    position: relative;
}

/* 邮戳装饰 */
body[data-theme="lavender"] .choice-card::after {
    content: '';
    position: absolute;
    top: 6px;
    right: 8px;
    width: 16px;
    height: 16px;
    border: 2px solid rgba(184, 160, 210, 0.2);
    border-radius: 50%;
}

body[data-theme="lavender"] .choice-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 10px rgba(140, 120, 170, 0.1);
}

body[data-theme="lavender"] .choice-card:active {
    transform: translateY(0);
    background: #f4f0f8;
}

/* 蜡封编号 */
body[data-theme="lavender"] .choice-id {
    background: linear-gradient(135deg, #8a5a6a, #7a4a68);
    border: none;
    border-radius: 50%;
    color: #f0e0e8;
    box-shadow: 0 1px 3px rgba(100, 60, 80, 0.2);
}

body[data-theme="lavender"] .choice-text {
    color: #3a3548;
    font-family: 'Georgia', 'Noto Serif SC', serif;
}

body[data-theme="lavender"] .choice-toggle {
    color: #8a70a0;
}

body[data-theme="lavender"] .choice-toggle svg {
    fill: #8a70a0;
}

body[data-theme="lavender"] .pixel-input {
    background: #faf8fc;
    border: 1px solid #d8d0e4;
    border-radius: 4px;
    color: #3a3548;
    font-family: 'Georgia', 'Noto Serif SC', serif;
}

body[data-theme="lavender"] .pixel-input::placeholder {
    color: #c0b8d0;
}

body[data-theme="lavender"] .pixel-input:focus {
    border-color: #a090c0;
}

body[data-theme="lavender"] .send-btn {
    background: linear-gradient(180deg, #8a70a8, #7a60a0);
    border: 1.5px solid #6a5090;
    border-radius: 4px;
}

body[data-theme="lavender"] .send-btn svg {
    fill: #f0ecf6;
}

/* ─── 工具栏 ─── */
body[data-theme="lavender"] .toolbar {
    border-top-color: rgba(184, 160, 210, .1);
}

body[data-theme="lavender"] .tool-btn {
    background: rgba(184, 160, 210, .06);
    border: 1px solid #d0c4e0;
    border-radius: 4px;
    color: #8a80a0;
    font-family: 'Georgia', 'Noto Serif SC', serif;
}

body[data-theme="lavender"] .tool-btn svg {
    fill: #8a80a0;
}

body[data-theme="lavender"] .tool-btn:hover {
    background: #8a70a8;
    color: #f0ecf6;
    border-color: #6a5090;
}

body[data-theme="lavender"] .tool-btn:hover svg {
    fill: #f0ecf6;
}

/* ─── 底部导航 ─── */
body[data-theme="lavender"] .bottom-nav {
    background: #2a2438;
    border-top: 1.5px solid #1a1828;
}

body[data-theme="lavender"] .bottom-nav::before {
    background: linear-gradient(90deg, transparent, #a090c0, transparent);
    height: 2px;
}

body[data-theme="lavender"] .nav-item.active {
    background: rgba(160, 144, 192, .08);
}

body[data-theme="lavender"] .nav-item.active::after {
    background: #a090c0;
}

body[data-theme="lavender"] .nav-icon svg {
    fill: #5a4a6a;
}

body[data-theme="lavender"] .nav-item.active .nav-icon svg {
    fill: #c8b8e0;
}

body[data-theme="lavender"] .nav-item:hover .nav-icon svg {
    fill: #c8b8e0;
}

body[data-theme="lavender"] .nav-label {
    color: #5a4a6a;
}

body[data-theme="lavender"] .nav-item.active .nav-label {
    color: #c8b8e0;
}

/* ─── 面板 ─── */
body[data-theme="lavender"] .player-card {
    background: #faf8fc;
    border: 1.5px solid #d0c4e0;
    border-radius: 4px;
}

body[data-theme="lavender"] .player-card-header {
    background: linear-gradient(135deg, #8a70a8, #6878a0);
    border-bottom: none;
    border-radius: 3px 3px 0 0;
}

body[data-theme="lavender"] .player-card-header svg {
    fill: #f0ecf6;
}

body[data-theme="lavender"] .player-card-header-text {
    color: #f0ecf6;
}

body[data-theme="lavender"] .player-stat-item {
    background: #f8f4fc;
    border: 1px solid #e0d8ec;
    border-radius: 4px;
}

body[data-theme="lavender"] .player-stat-label {
    color: #a098b0;
}

body[data-theme="lavender"] .player-stat-value {
    color: #3a3548;
}

body[data-theme="lavender"] .section-title {
    color: #5a4870;
}

body[data-theme="lavender"] .section-title svg {
    fill: #7a68a0;
}

body[data-theme="lavender"] .section-title::after {
    background: linear-gradient(90deg, #d0c4e0, transparent);
}

body[data-theme="lavender"] .npc-card {
    background: #faf8fc;
    border: 1px solid #d8d0e4;
    border-radius: 4px;
}

body[data-theme="lavender"] .npc-card:hover {
    box-shadow: 0 2px 8px rgba(140, 120, 170, 0.08);
}

body[data-theme="lavender"] .npc-name {
    color: #3a3548;
}

body[data-theme="lavender"] .npc-title {
    color: #a098b0;
}

body[data-theme="lavender"] .npc-favor-mini {
    color: #c08090;
}

body[data-theme="lavender"] .npc-arrow {
    color: #a090c0;
}

body[data-theme="lavender"] .pixel-tag.pink {
    background: #e8d8f0;
    color: #6a5080;
    border-color: #d0c0e0;
    border-radius: 3px;
}

body[data-theme="lavender"] .world-module {
    background: #faf8fc;
    border: 1.5px solid #d0c4e0;
    border-radius: 4px;
}

body[data-theme="lavender"] .module-header {
    background: linear-gradient(180deg, #f6f2fa, #f0ecf6);
    border-bottom: 1px solid #d8d0e4;
    border-radius: 3px 3px 0 0;
}

body[data-theme="lavender"] .module-header-text {
    color: #5a4870;
}

body[data-theme="lavender"] .mod-text {
    color: #5a5068;
}

body[data-theme="lavender"] .mod-list-bullet {
    color: #a090c0;
}

body[data-theme="lavender"] .kv-key {
    color: #a098b0;
}

body[data-theme="lavender"] .kv-val {
    color: #3a3548;
}

body[data-theme="lavender"] .mod-kv-item {
    border-bottom-color: rgba(184, 160, 210, .1);
}

body[data-theme="lavender"] .bag-item {
    background: #faf8fc;
    border: 1px solid #d8d0e4;
    border-radius: 4px;
}

body[data-theme="lavender"] .bag-name {
    color: #3a3548;
}

body[data-theme="lavender"] .bag-count {
    color: #a098b0;
}

body[data-theme="lavender"] .bag-desc {
    color: #a098b0;
}

/* ─── 弹窗 ─── */
body[data-theme="lavender"] .modal-overlay {
    background: rgba(30, 24, 40, .35);
}

body[data-theme="lavender"] .pixel-modal {
    background: #f4f0f8;
    border: 1.5px solid #c8b8d8;
    border-radius: 6px;
    box-shadow: 0 8px 28px rgba(100, 80, 130, 0.12);
}

body[data-theme="lavender"] .modal-titlebar {
    background: #2a2438;
    border-bottom: 1.5px solid rgba(160, 144, 192, .25);
    border-radius: 5px 5px 0 0;
}

body[data-theme="lavender"] .modal-titlebar-text {
    color: #c8b8e0;
}

body[data-theme="lavender"] .modal-close-btn {
    background: #8a70a8;
    border: none;
    color: #f0ecf6;
    border-radius: 3px;
}

body[data-theme="lavender"] .modal-detail-inner {
    background: #faf8fc;
    border: 1px solid #d8d0e4;
    border-radius: 4px;
}

body[data-theme="lavender"] .modal-detail-key {
    color: #a098b0;
}

body[data-theme="lavender"] .modal-detail-val {
    color: #3a3548;
}

body[data-theme="lavender"] .modal-detail-row {
    border-bottom-color: rgba(184, 160, 210, .1);
}

body[data-theme="lavender"] .pixel-progress {
    background: #e8e0f0;
    border: 1px solid #d0c4e0;
    border-radius: 4px;
}

body[data-theme="lavender"] .pixel-progress-fill {
    background: linear-gradient(90deg, #8a70a8, #a888c0);
    border-radius: 3px;
}

body[data-theme="lavender"] .setting-label {
    color: #5a4870;
}

body[data-theme="lavender"] .setting-label svg {
    fill: #7a68a0;
}

body[data-theme="lavender"] .setting-context-box {
    background: #f8f4fc;
    border: 1px dashed #d0c4e0;
    border-radius: 4px;
}

body[data-theme="lavender"] .setting-context-info {
    color: #8a80a0;
}

body[data-theme="lavender"] .setting-context-info span {
    color: #7a68a0;
}

body[data-theme="lavender"] .setting-slider-val {
    background: #f8f4fc;
    border-color: #d0c4e0;
    color: #7a68a0;
    border-radius: 4px;
}

body[data-theme="lavender"] .review-item {
    background: #faf8fc;
    border: 1px solid #d8d0e4;
    border-radius: 4px;
}

body[data-theme="lavender"] .review-item-header {
    color: #7a68a0;
}

body[data-theme="lavender"] .review-item-body {
    color: #5a5068;
}

body[data-theme="lavender"] .theme-card {
    background: #faf8fc;
    border-color: #d0c4e0;
    border-radius: 4px;
}

body[data-theme="lavender"] .theme-card.active {
    border-color: #8a70a8;
    box-shadow: 0 0 0 2px rgba(138, 112, 168, .2);
}

body[data-theme="lavender"] .theme-card-preview {
    border-radius: 3px;
}

body[data-theme="lavender"] .theme-card-name {
    color: #3a3548;
}

body[data-theme="lavender"] .theme-card-desc {
    color: #a098b0;
}

body[data-theme="lavender"] .theme-tab {
    background: #f0ecf6;
    border-color: #d0c4e0;
    color: #6a5a80;
    border-radius: 3px;
}

body[data-theme="lavender"] .theme-tab.active {
    background: #8a70a8;
    color: #f0ecf6;
    border-color: #6a5090;
}

body[data-theme="lavender"] .theme-title {
    color: #3a3548;
}

body[data-theme="lavender"] .theme-desc {
    color: #a098b0;
}

body[data-theme="lavender"] .theme-item:hover {
    background: #f8f4fc;
}

body[data-theme="lavender"] .style-textarea {
    background: #faf8fc;
    border-color: #d8d0e4;
    color: #3a3548;
    border-radius: 4px;
    font-family: 'Georgia', 'Noto Serif SC', serif;
}

body[data-theme="lavender"] .empty-text {
    color: #a098b0;
}

body[data-theme="lavender"] .pin-btn {
    border-color: #d0c4e0;
    border-radius: 4px;
}

body[data-theme="lavender"] .pin-btn.pinned {
    background: #8a70a8;
    border-color: #6a5090;
}

body[data-theme="lavender"] .pin-btn.pinned svg {
    fill: #f0ecf6;
}

/* ─── 滚动条 ─── */
body[data-theme="lavender"] ::-webkit-scrollbar-thumb {
    background: linear-gradient(180deg, #b8a0d0, #a090c0);
}