:root {
    --taotao-bg: #070b18;
    --taotao-bg-soft: #10182f;
    --taotao-surface: rgba(13, 19, 37, 0.72);
    --taotao-surface-strong: rgba(20, 27, 49, 0.88);
    --taotao-border: rgba(255, 183, 197, 0.2);
    --taotao-border-strong: rgba(255, 204, 226, 0.38);
    --taotao-text: #f7f7fb;
    --taotao-text-soft: rgba(245, 245, 250, 0.72);
    --taotao-primary: #ff9ec4;
    --taotao-primary-2: #ff6fba;
    --taotao-secondary: #7bdcff;
    --taotao-gold: #ffd978;
    --taotao-shadow: 0 24px 80px rgba(0, 0, 0, 0.24);
    --taotao-glow: 0 0 0 1px rgba(255, 183, 197, 0.08), 0 20px 50px rgba(255, 111, 186, 0.18);
}

body.taotao-universe {
    background:
        radial-gradient(circle at top left, rgba(255, 123, 196, 0.25), transparent 32%),
        radial-gradient(circle at top right, rgba(123, 220, 255, 0.18), transparent 28%),
        linear-gradient(180deg, #090d1b 0%, #101528 46%, #16192d 100%);
    color: var(--taotao-text);
    background-attachment: fixed;
}

body.taotao-universe::before {
    content: "";
    position: fixed;
    inset: 0;
    pointer-events: none;
    background-image:
        linear-gradient(rgba(255, 255, 255, 0.03) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255, 255, 255, 0.03) 1px, transparent 1px);
    background-size: 26px 26px;
    mask-image: linear-gradient(180deg, rgba(255, 255, 255, 0.5), transparent 78%);
    z-index: 0;
}

body.taotao-universe .sakura-container {
    opacity: 0.7;
    filter: saturate(1.15);
}

body.taotao-home .header,
body.taotao-subpage .header,
body.taotao-map-page .h,
body.taotao-timeline-page .h {
    background:
        linear-gradient(135deg, rgba(255, 142, 196, 0.88), rgba(103, 210, 255, 0.32)),
        rgba(10, 13, 28, 0.72);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
    box-shadow: 0 10px 36px rgba(2, 6, 18, 0.34);
}

body.taotao-home .header-content,
body.taotao-subpage .header-content,
body.taotao-map-page .c,
body.taotao-timeline-page .hc {
    max-width: 1180px;
}

body.taotao-home .header h1,
body.taotao-subpage .header h1,
body.taotao-map-page .h h1,
body.taotao-timeline-page .h h1 {
    font-weight: 700;
    color: #fff7fb;
    letter-spacing: 0.02em;
    text-shadow: 0 8px 18px rgba(0, 0, 0, 0.12);
}

body.taotao-home .header-nav {
    gap: 10px;
    justify-content: flex-end;
}

body.taotao-home .nav-btn,
body.taotao-subpage .back-btn,
body.taotao-subpage .tab-btn,
body.taotao-subpage .quick-nav-item,
body.taotao-map-page .btn,
body.taotao-map-page .nav a,
body.taotao-map-page .bp,
body.taotao-map-page .bs,
body.taotao-timeline-page .h a,
body.taotao-timeline-page .ft button,
body.taotao-timeline-page .year-nav button,
body.taotao-timeline-page .add-btn {
    border: 1px solid rgba(255, 255, 255, 0.12);
    background: rgba(255, 255, 255, 0.08);
    color: #fff7fb;
    box-shadow: none;
    transition: transform 0.25s ease, background 0.25s ease, border-color 0.25s ease, box-shadow 0.25s ease;
}

body.taotao-home .nav-btn:hover,
body.taotao-home .nav-btn.active,
body.taotao-subpage .back-btn:hover,
body.taotao-subpage .tab-btn:hover,
body.taotao-subpage .tab-btn.active,
body.taotao-subpage .quick-nav-item:hover,
body.taotao-map-page .btn:hover,
body.taotao-map-page .nav a:hover,
body.taotao-map-page .nav a.active,
body.taotao-map-page .bp:hover,
body.taotao-timeline-page .ft button:hover,
body.taotao-timeline-page .ft button.active,
body.taotao-timeline-page .year-nav button:hover,
body.taotao-timeline-page .year-nav button.active,
body.taotao-timeline-page .add-btn:hover {
    transform: translateY(-2px);
    border-color: rgba(255, 214, 236, 0.35);
    background: linear-gradient(135deg, rgba(255, 158, 196, 0.28), rgba(123, 220, 255, 0.2));
    box-shadow: 0 12px 28px rgba(0, 0, 0, 0.16);
}

body.taotao-home .container,
body.taotao-subpage .container,
body.taotao-map-page .main,
body.taotao-timeline-page .c {
    max-width: 1180px;
    position: relative;
    z-index: 1;
}

body.taotao-home .hero-section {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(300px, 0.85fr);
    gap: 28px;
    padding: 34px;
    margin-bottom: 28px;
    background:
        linear-gradient(135deg, rgba(255, 138, 193, 0.24), rgba(84, 213, 255, 0.14)),
        rgba(11, 16, 31, 0.74);
    border: 1px solid var(--taotao-border-strong);
    box-shadow: var(--taotao-shadow), inset 0 1px 0 rgba(255, 255, 255, 0.06);
    text-align: left;
}

body.taotao-home .hero-section::before {
    background: radial-gradient(circle at 20% 20%, rgba(255, 255, 255, 0.16), transparent 42%);
    animation: none;
}

body.taotao-home .hero-content {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 14px;
}

body.taotao-home .hero-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 14px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.14);
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: #fff2fa;
}

body.taotao-home .hero-title {
    font-family: 'ZCOOL KuaiLe', cursive;
    font-size: clamp(2.1rem, 4vw, 3.5rem);
    line-height: 1.05;
    margin: 0;
    text-shadow: 0 12px 36px rgba(255, 96, 181, 0.24);
}

body.taotao-home .hero-subcopy {
    max-width: 560px;
    color: var(--taotao-text-soft);
    font-size: 1.02rem;
    line-height: 1.8;
}

body.taotao-home .days-counter {
    margin: 2px 0 0;
    font-size: clamp(3rem, 7vw, 5.4rem);
    line-height: 1;
    color: #fff9fe;
}

body.taotao-home .days-label {
    color: rgba(255, 247, 251, 0.8);
}

body.taotao-home .couple-names {
    margin-top: 4px;
    justify-content: flex-start;
    flex-wrap: wrap;
    gap: 10px;
}

body.taotao-home .couple-names span {
    padding: 8px 14px;
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.12);
    color: #fff7fb;
}

body.taotao-home .hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 8px;
}

body.taotao-home .hero-action {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 46px;
    padding: 0 18px;
    border-radius: 16px;
    text-decoration: none;
    font-weight: 700;
    color: #fff8fc;
    border: 1px solid rgba(255, 255, 255, 0.12);
    background: linear-gradient(135deg, rgba(255, 138, 193, 0.34), rgba(123, 220, 255, 0.16));
    box-shadow: 0 14px 28px rgba(0, 0, 0, 0.16);
}

body.taotao-home .hero-action.secondary {
    background: rgba(255, 255, 255, 0.06);
}

body.taotao-home .hero-side {
    display: grid;
    gap: 14px;
    align-content: start;
}

body.taotao-home .hero-panel,
body.taotao-home .hero-mini-card {
    position: relative;
    overflow: hidden;
    padding: 18px 18px 16px;
    border-radius: 22px;
    background: rgba(8, 13, 27, 0.52);
    border: 1px solid rgba(255, 255, 255, 0.1);
    box-shadow: var(--taotao-glow);
}

body.taotao-home .hero-panel::before,
body.taotao-home .hero-mini-card::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.12), transparent 46%);
    pointer-events: none;
}

body.taotao-home .hero-panel-label,
body.taotao-home .hero-mini-label {
    position: relative;
    z-index: 1;
    display: block;
    margin-bottom: 8px;
    font-size: 0.74rem;
    font-weight: 700;
    color: rgba(255, 245, 250, 0.68);
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

body.taotao-home .hero-panel-title,
body.taotao-home .hero-mini-value {
    position: relative;
    z-index: 1;
    color: #fff9fd;
    font-size: 1.2rem;
    font-weight: 700;
}

body.taotao-home .hero-panel p,
body.taotao-home .hero-mini-desc {
    position: relative;
    z-index: 1;
    margin-top: 8px;
    color: var(--taotao-text-soft);
    line-height: 1.7;
    font-size: 0.92rem;
}

body.taotao-home .hero-mini-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

body.taotao-home .section-kicker {
    margin-bottom: 8px;
    font-size: 0.76rem;
    font-weight: 700;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: rgba(255, 243, 249, 0.58);
}

body.taotao-home .section-heading {
    font-size: clamp(1.35rem, 2.5vw, 2rem);
    color: #fff9fd;
    margin-bottom: 6px;
}

body.taotao-home .section-subtitle {
    color: var(--taotao-text-soft);
    line-height: 1.7;
    margin-bottom: 18px;
}

body.taotao-home .stats-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px;
    margin-bottom: 26px;
}

body.taotao-home .stat-card,
body.taotao-map-page .stat,
body.taotao-timeline-page .sb {
    background: rgba(10, 16, 30, 0.74);
    border: 1px solid var(--taotao-border);
    box-shadow: var(--taotao-glow);
}

body.taotao-home .stat-icon,
body.taotao-map-page .sn,
body.taotao-timeline-page .sn {
    color: var(--taotao-gold);
}

body.taotao-home .stat-value,
body.taotao-map-page .sn,
body.taotao-timeline-page .sn {
    color: #fff8fc;
}

body.taotao-home .stat-label,
body.taotao-map-page .sl,
body.taotao-timeline-page .sl {
    color: rgba(247, 247, 251, 0.64);
}

body.taotao-home .feature-block {
    margin-bottom: 28px;
}

body.taotao-home .feature-nav {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
    margin-bottom: 28px;
}

body.taotao-home .feature-nav-item {
    position: relative;
    overflow: hidden;
    min-height: 132px;
    padding: 18px 16px;
    text-align: left;
    border: 1px solid rgba(255, 255, 255, 0.1);
    background: rgba(8, 13, 27, 0.6);
    box-shadow: var(--taotao-glow);
}

body.taotao-home .feature-nav-item::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(145deg, rgba(255, 158, 196, 0.14), transparent 42%, rgba(123, 220, 255, 0.14));
    opacity: 0.9;
}

body.taotao-home .feature-nav-icon,
body.taotao-home .feature-nav-name {
    position: relative;
    z-index: 1;
}

body.taotao-home .feature-nav-icon {
    margin-bottom: 18px;
}

body.taotao-home .feature-nav-name {
    font-size: 1rem;
    color: #fff9fd;
}

body.taotao-home .feature-nav-item .feature-nav-hint {
    position: relative;
    z-index: 1;
    margin-top: 8px;
    color: rgba(247, 247, 251, 0.6);
    font-size: 0.82rem;
    line-height: 1.6;
}

body.taotao-home .universe-home-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.08fr) minmax(320px, 0.92fr);
    gap: 18px;
    align-items: start;
}

body.taotao-home .card,
body.taotao-subpage .card,
body.taotao-map-page .map-card,
body.taotao-map-page .tc,
body.taotao-map-page .m,
body.taotao-timeline-page .tc,
body.taotao-timeline-page .modal-in,
body.taotao-timeline-page .pwd-box {
    background: var(--taotao-surface);
    color: var(--taotao-text);
    border: 1px solid var(--taotao-border);
    box-shadow: var(--taotao-shadow);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
}

body.taotao-home .card:hover,
body.taotao-subpage .card:hover,
body.taotao-timeline-page .tc:hover {
    transform: translateY(-4px);
}

body.taotao-home .card-title,
body.taotao-subpage .card-title,
body.taotao-subpage .section-title,
body.taotao-subpage .section-header h2,
body.taotao-map-page .mh h2,
body.taotao-map-page .tc h3,
body.taotao-timeline-page .tt,
body.taotao-timeline-page .modal-in h2 {
    color: #fff9fd;
}

body.taotao-home .diary-textarea,
body.taotao-home .todo-input,
body.taotao-subpage .letter-input,
body.taotao-subpage .music-input,
body.taotao-subpage .tab-btn,
body.taotao-map-page .fg input,
body.taotao-map-page .fg textarea,
body.taotao-map-page .si,
body.taotao-timeline-page .search-box input,
body.taotao-timeline-page .modal-in input,
body.taotao-timeline-page .modal-in textarea,
body.taotao-timeline-page .modal-in select {
    background: rgba(255, 255, 255, 0.06);
    border-color: rgba(255, 255, 255, 0.12);
    color: #fff8fd;
}

body.taotao-home .diary-textarea::placeholder,
body.taotao-home .todo-input::placeholder,
body.taotao-subpage .letter-input::placeholder,
body.taotao-map-page .fg input::placeholder,
body.taotao-map-page .fg textarea::placeholder,
body.taotao-timeline-page .search-box input::placeholder,
body.taotao-timeline-page .modal-in input::placeholder,
body.taotao-timeline-page .modal-in textarea::placeholder {
    color: rgba(247, 247, 251, 0.42);
}

body.taotao-home .btn-primary,
body.taotao-home .todo-add-btn,
body.taotao-subpage .send-btn,
body.taotao-map-page .bp,
body.taotao-timeline-page .mb .bs,
body.taotao-timeline-page .pwd-box button {
    background: linear-gradient(135deg, var(--taotao-primary), var(--taotao-secondary));
    color: #09111f;
    font-weight: 700;
    border: none;
    box-shadow: 0 14px 30px rgba(123, 220, 255, 0.18);
}

body.taotao-home .todo-add-btn {
    min-width: 56px;
}

body.taotao-home .mood-selector {
    gap: 10px;
    flex-wrap: wrap;
}

body.taotao-home .mood-btn,
body.taotao-home .quick-gift-btn,
body.taotao-timeline-page .td {
    background: rgba(255, 255, 255, 0.06);
    border: 1px solid rgba(255, 255, 255, 0.08);
}

body.taotao-home .mood-btn.selected,
body.taotao-home .mood-btn:hover {
    background: linear-gradient(135deg, rgba(255, 158, 196, 0.3), rgba(123, 220, 255, 0.18));
}

body.taotao-home .todo-item,
body.taotao-home .diary-entry,
body.taotao-map-page .ti,
body.taotao-timeline-page .tc,
body.taotao-subpage .photo-item,
body.taotao-subpage .letter-card,
body.taotao-subpage .playlist-item {
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.08);
}

body.taotao-subpage .header,
body.taotao-map-page .h,
body.taotao-timeline-page .h {
    margin-bottom: 6px;
}

body.taotao-subpage .container,
body.taotao-map-page .main,
body.taotao-timeline-page .c {
    padding-top: 24px;
    padding-bottom: 40px;
}

body.taotao-subpage .write-section,
body.taotao-subpage .player-card,
body.taotao-map-page .mh,
body.taotao-timeline-page .pwd {
    box-shadow: var(--taotao-shadow);
}

body.taotao-subpage .write-section,
body.taotao-subpage .player-card {
    border: 1px solid var(--taotao-border-strong);
}

body.taotao-subpage .write-section,
body.taotao-subpage .upload-zone,
body.taotao-map-page .mc,
body.taotao-map-page .tip,
body.taotao-timeline-page .pwd {
    background:
        linear-gradient(135deg, rgba(255, 158, 196, 0.15), rgba(123, 220, 255, 0.08)),
        rgba(10, 15, 28, 0.64);
    color: var(--taotao-text);
}

body.taotao-subpage .tab-btn,
body.taotao-subpage .filter-tab,
body.taotao-subpage .quick-nav-item,
body.taotao-subpage .playlist-tab,
body.taotao-subpage .control-btn {
    color: #fff8fd;
}

body.taotao-subpage .tab-btn.active,
body.taotao-subpage .filter-tab.active {
    color: #09111f;
}

body.taotao-map-page .map-card,
body.taotao-map-page .tc,
body.taotao-map-page .m,
body.taotao-timeline-page .modal-in,
body.taotao-timeline-page .pwd-box {
    border-radius: 24px;
}

body.taotao-map-page .mh,
body.taotao-map-page .mh2 {
    background: linear-gradient(135deg, rgba(255, 158, 196, 0.84), rgba(123, 220, 255, 0.42));
}

body.taotao-map-page .nav {
    gap: 10px;
    padding: 4px 0 16px;
}

body.taotao-map-page .nav a {
    color: #fff8fd;
}

body.taotao-map-page .map-loading {
    color: #fff7fc;
}

body.taotao-map-page .ft,
body.taotao-map-page .ft a,
body.taotao-timeline-page .pwd-box p,
body.taotao-timeline-page .tdesc,
body.taotao-timeline-page .search-box input,
body.taotao-timeline-page .empty {
    color: var(--taotao-text-soft);
}

body.taotao-timeline-page .pwd-box,
body.taotao-timeline-page .tc,
body.taotao-timeline-page .modal-in {
    border: 1px solid var(--taotao-border-strong);
}

body.taotao-timeline-page .timeline::before {
    background: linear-gradient(180deg, rgba(255, 158, 196, 0.9), rgba(123, 220, 255, 0.45), rgba(255, 158, 196, 0.9));
}

body.taotao-timeline-page .ttag {
    background: rgba(255, 255, 255, 0.08);
    color: #fff4fb;
}

body.taotao-timeline-page .mb .bc {
    background: rgba(255, 255, 255, 0.08);
    color: #fff8fd;
}

@media (max-width: 1024px) {
    body.taotao-home .hero-section {
        grid-template-columns: 1fr;
    }

    body.taotao-home .stats-grid,
    body.taotao-home .feature-nav {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    body.taotao-home .universe-home-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 767px) {
    body.taotao-home .header-content,
    body.taotao-subpage .header-content,
    body.taotao-map-page .c,
    body.taotao-timeline-page .hc {
        gap: 10px;
    }

    body.taotao-home .hero-section {
        padding: 22px 18px;
        gap: 18px;
    }

    body.taotao-home .hero-actions {
        width: 100%;
    }

    body.taotao-home .hero-action {
        flex: 1 1 100%;
    }

    body.taotao-home .hero-mini-grid,
    body.taotao-home .stats-grid,
    body.taotao-home .feature-nav {
        grid-template-columns: 1fr 1fr;
    }

    body.taotao-home .feature-nav-item {
        min-height: 112px;
    }
}

@media (max-width: 520px) {
    body.taotao-home .hero-mini-grid,
    body.taotao-home .stats-grid,
    body.taotao-home .feature-nav,
    body.taotao-map-page .stats,
    body.taotao-timeline-page .s {
        grid-template-columns: 1fr;
    }

    body.taotao-home .couple-names {
        gap: 8px;
    }

    body.taotao-home .section-heading {
        font-size: 1.35rem;
    }
}

/* ========================================
   2026-03-30 Taotao Universe Harmony Refresh
   Main-site-aligned light sakura system
   ======================================== */

:root {
    --taotao-bg: #fff8fa;
    --taotao-bg-soft: #fff2f6;
    --taotao-surface: rgba(255, 255, 255, 0.88);
    --taotao-surface-strong: rgba(255, 255, 255, 0.97);
    --taotao-border: rgba(255, 183, 197, 0.3);
    --taotao-border-strong: rgba(255, 143, 171, 0.22);
    --taotao-text: #4c4752;
    --taotao-text-strong: #2c2431;
    --taotao-text-soft: #7d7380;
    --taotao-primary: #ffb7c5;
    --taotao-primary-strong: #ff7f9f;
    --taotao-secondary: #a9d6ff;
    --taotao-lavender: #e9e4ff;
    --taotao-mint: #ccefe0;
    --taotao-gold: #d4af37;
    --taotao-shadow: 0 24px 56px rgba(255, 143, 171, 0.12);
    --taotao-shadow-soft: 0 14px 36px rgba(255, 143, 171, 0.08);
}

html[data-theme="blue"] body.taotao-universe {
    --taotao-primary: #8cc6ff;
    --taotao-primary-strong: #5ca7ff;
    --taotao-secondary: #ffd8e6;
}

html[data-theme="purple"] body.taotao-universe {
    --taotao-primary: #dccdff;
    --taotao-primary-strong: #b59dff;
    --taotao-secondary: #ffd4e6;
}

html[data-theme="green"] body.taotao-universe {
    --taotao-primary: #bfe9d4;
    --taotao-primary-strong: #6dc99a;
    --taotao-secondary: #ffd7e4;
}

html[data-theme="orange"] body.taotao-universe {
    --taotao-primary: #ffd6a3;
    --taotao-primary-strong: #ffb06a;
    --taotao-secondary: #ffdce6;
}

body.taotao-universe {
    background:
        radial-gradient(circle at top right, rgba(255, 183, 197, 0.28), transparent 26%),
        radial-gradient(circle at top left, rgba(233, 228, 255, 0.62), transparent 22%),
        radial-gradient(circle at bottom left, rgba(169, 214, 255, 0.2), transparent 26%),
        linear-gradient(180deg, #fffdfd 0%, #fff5f8 45%, #fff8fb 100%);
    color: var(--taotao-text);
    background-attachment: fixed;
}

body.taotao-universe::before {
    content: "";
    position: fixed;
    inset: 0;
    pointer-events: none;
    background:
        radial-gradient(circle at 15% 18%, rgba(255,255,255,0.7), transparent 18%),
        radial-gradient(circle at 82% 12%, rgba(255,255,255,0.4), transparent 20%),
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160' viewBox='0 0 160 160'%3E%3Cpath fill='rgba(255,183,197,0.08)' d='M95 18c7 1 15 8 15 18 0 11-8 23-30 38C57 59 49 47 49 36c0-10 8-17 15-18 6 0 11 2 16 8 4-6 9-8 15-8Z'/%3E%3Ccircle cx='26' cy='26' r='2.2' fill='rgba(255,183,197,0.22)'/%3E%3Ccircle cx='132' cy='58' r='1.9' fill='rgba(169,214,255,0.24)'/%3E%3Ccircle cx='94' cy='126' r='1.6' fill='rgba(233,228,255,0.45)'/%3E%3C/svg%3E");
    opacity: 0.65;
    z-index: 0;
}

body.taotao-home .header,
body.taotao-subpage .header,
body.taotao-map-page .h,
body.taotao-timeline-page .h,
body.taotao-panel-page .header {
    background: rgba(255, 255, 255, 0.8);
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
    border-bottom: 1px solid rgba(255, 183, 197, 0.22);
    box-shadow: 0 18px 30px rgba(255, 183, 197, 0.08);
}

body.taotao-home .header-content,
body.taotao-subpage .header-content,
body.taotao-map-page .c,
body.taotao-timeline-page .hc,
body.taotao-panel-page .header-inner {
    max-width: 1160px;
}

body.taotao-home .header h1,
body.taotao-subpage .header h1,
body.taotao-map-page .h h1,
body.taotao-timeline-page .h h1,
body.taotao-panel-page .header h1 {
    color: var(--taotao-text-strong);
    text-shadow: none;
}

body.taotao-home .nav-btn,
body.taotao-subpage .back-btn,
body.taotao-subpage .tab-btn,
body.taotao-subpage .quick-nav-item,
body.taotao-map-page .btn,
body.taotao-map-page .nav a,
body.taotao-map-page .bp,
body.taotao-map-page .bs,
body.taotao-timeline-page .h a,
body.taotao-timeline-page .ft button,
body.taotao-timeline-page .year-nav button,
body.taotao-timeline-page .add-btn,
body.taotao-panel-page .header-btn,
body.taotao-panel-page .nav a,
body.taotao-panel-page .quick-nav a {
    background: rgba(255, 255, 255, 0.92);
    border: 1px solid rgba(255, 183, 197, 0.28);
    color: var(--taotao-text);
    box-shadow: 0 10px 24px rgba(255, 143, 171, 0.08);
}

body.taotao-home .nav-btn:hover,
body.taotao-home .nav-btn.active,
body.taotao-subpage .back-btn:hover,
body.taotao-subpage .tab-btn:hover,
body.taotao-subpage .tab-btn.active,
body.taotao-subpage .quick-nav-item:hover,
body.taotao-map-page .btn:hover,
body.taotao-map-page .nav a:hover,
body.taotao-map-page .nav a.active,
body.taotao-map-page .bp:hover,
body.taotao-timeline-page .ft button:hover,
body.taotao-timeline-page .ft button.active,
body.taotao-timeline-page .year-nav button:hover,
body.taotao-timeline-page .year-nav button.active,
body.taotao-timeline-page .add-btn:hover,
body.taotao-panel-page .header-btn:hover,
body.taotao-panel-page .nav a:hover,
body.taotao-panel-page .nav a.active,
body.taotao-panel-page .quick-nav a:hover,
body.taotao-panel-page .quick-nav a.active {
    transform: translateY(-2px);
    background: linear-gradient(135deg, rgba(255, 183, 197, 0.95), rgba(255, 221, 232, 0.96));
    color: var(--taotao-text-strong);
    border-color: rgba(255, 143, 171, 0.24);
}

body.taotao-home .container,
body.taotao-subpage .container,
body.taotao-map-page .main,
body.taotao-timeline-page .c,
body.taotao-panel-page .wrap {
    max-width: 1160px;
    position: relative;
    z-index: 1;
}

body.taotao-home .hero-section {
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) minmax(320px, 0.8fr);
    gap: 24px;
    padding: 34px;
    margin-bottom: 28px;
    border-radius: 34px;
    background:
        linear-gradient(135deg, rgba(255, 255, 255, 0.94), rgba(255, 245, 248, 0.96)),
        linear-gradient(135deg, rgba(255, 183, 197, 0.18), rgba(169, 214, 255, 0.12));
    border: 1px solid rgba(255, 183, 197, 0.22);
    box-shadow: var(--taotao-shadow);
}

body.taotao-home .hero-section::before {
    background:
        radial-gradient(circle at 18% 18%, rgba(255, 183, 197, 0.18), transparent 38%),
        radial-gradient(circle at 86% 12%, rgba(169, 214, 255, 0.16), transparent 26%);
}

body.taotao-home .hero-content {
    gap: 16px;
}

body.taotao-home .hero-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 14px;
    border-radius: 999px;
    background: rgba(255, 183, 197, 0.18);
    border: 1px solid rgba(255, 183, 197, 0.32);
    color: #c85e80;
    font-size: 0.74rem;
    font-weight: 800;
    letter-spacing: 0.16em;
    text-transform: uppercase;
}

body.taotao-home .hero-title {
    color: var(--taotao-text-strong);
    font-family: 'ZCOOL KuaiLe', cursive;
    font-size: clamp(2.25rem, 4vw, 3.8rem);
    line-height: 1.04;
    text-shadow: none;
}

body.taotao-home .hero-subcopy,
body.taotao-home .section-subtitle,
body.taotao-home .atlas-copy,
body.taotao-home .ritual-card p,
body.taotao-home .preference-card p {
    color: var(--taotao-text-soft);
    line-height: 1.8;
}

body.taotao-home .days-counter {
    color: var(--taotao-text-strong);
}

body.taotao-home .days-label {
    color: #8a7e88;
}

body.taotao-home .couple-names span {
    background: rgba(255, 255, 255, 0.78);
    border: 1px solid rgba(255, 183, 197, 0.24);
    color: var(--taotao-text);
    box-shadow: 0 10px 22px rgba(255, 143, 171, 0.06);
}

body.taotao-home .hero-action,
body.taotao-home .btn-primary,
body.taotao-home .todo-add-btn,
body.taotao-subpage .send-btn,
body.taotao-map-page .bp,
body.taotao-timeline-page .mb .bs,
body.taotao-timeline-page .pwd-box button,
body.taotao-panel-page .btn.buy {
    background: linear-gradient(135deg, var(--taotao-primary), #ffd6e4);
    color: var(--taotao-text-strong);
    font-weight: 800;
    border: 1px solid rgba(255, 183, 197, 0.3);
    box-shadow: 0 14px 32px rgba(255, 143, 171, 0.14);
}

body.taotao-home .hero-action.secondary,
body.taotao-panel-page .btn.apply {
    background: rgba(255, 255, 255, 0.86);
    color: var(--taotao-text);
}

body.taotao-home .hero-panel,
body.taotao-home .hero-mini-card,
body.taotao-home .stat-card,
body.taotao-home .feature-nav-item,
body.taotao-home .card,
body.taotao-home .ritual-card,
body.taotao-home .atlas-card,
body.taotao-home .preference-card,
body.taotao-map-page .map-card,
body.taotao-map-page .tc,
body.taotao-map-page .m,
body.taotao-timeline-page .tc,
body.taotao-timeline-page .modal-in,
body.taotao-timeline-page .pwd-box,
body.taotao-subpage .card,
body.taotao-panel-page .panel,
body.taotao-panel-page .item-card,
body.taotao-panel-page .achievement-card,
body.taotao-panel-page .category-card {
    background: rgba(255, 255, 255, 0.88);
    border: 1px solid rgba(255, 183, 197, 0.24);
    box-shadow: var(--taotao-shadow-soft);
    color: var(--taotao-text);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
}

body.taotao-home .hero-panel::before,
body.taotao-home .hero-mini-card::before,
body.taotao-home .feature-nav-item::before,
body.taotao-home .atlas-card::before,
body.taotao-home .preference-card::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(140deg, rgba(255,255,255,0.55), transparent 38%, rgba(255, 183, 197, 0.08));
    pointer-events: none;
}

body.taotao-home .hero-panel,
body.taotao-home .hero-mini-card,
body.taotao-home .feature-nav-item,
body.taotao-home .atlas-card,
body.taotao-home .preference-card {
    position: relative;
    overflow: hidden;
}

body.taotao-home .hero-panel-label,
body.taotao-home .hero-mini-label,
body.taotao-home .section-kicker,
body.taotao-home .ritual-eyebrow,
body.taotao-home .companion-role {
    color: #c86a89;
    font-size: 0.74rem;
    font-weight: 800;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

body.taotao-home .hero-panel-title,
body.taotao-home .hero-mini-value,
body.taotao-home .section-heading,
body.taotao-home .feature-nav-name,
body.taotao-home .atlas-title,
body.taotao-home .ritual-card h3,
body.taotao-home .preference-card h3,
body.taotao-home .card-title {
    color: var(--taotao-text-strong);
}

body.taotao-home .stats-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px;
}

body.taotao-home .stat-icon {
    color: #e3a323;
}

body.taotao-home .stat-label,
body.taotao-home .feature-nav-hint {
    color: var(--taotao-text-soft);
}

body.taotao-home .feature-nav {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px;
}

body.taotao-home .feature-nav-item {
    min-height: 148px;
    padding: 20px 18px;
    border-radius: 24px;
}

body.taotao-home .feature-nav-icon {
    font-size: 1.8rem;
    margin-bottom: 16px;
}

body.taotao-home .universe-home-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 18px;
    margin-bottom: 28px;
}

body.taotao-home .card,
body.taotao-subpage .card,
body.taotao-map-page .map-card,
body.taotao-map-page .tc,
body.taotao-timeline-page .tc {
    border-radius: 28px;
}

body.taotao-home .diary-textarea,
body.taotao-home .todo-input,
body.taotao-subpage .letter-input,
body.taotao-subpage .music-input,
body.taotao-subpage .tab-btn,
body.taotao-map-page .fg input,
body.taotao-map-page .fg textarea,
body.taotao-map-page .si,
body.taotao-timeline-page .search-box input,
body.taotao-timeline-page .modal-in input,
body.taotao-timeline-page .modal-in textarea,
body.taotao-timeline-page .modal-in select,
body.taotao-home .setting-input {
    background: rgba(255, 255, 255, 0.96);
    border: 1px solid rgba(255, 183, 197, 0.28);
    color: var(--taotao-text);
    border-radius: 16px;
}

body.taotao-home .diary-textarea::placeholder,
body.taotao-home .todo-input::placeholder,
body.taotao-home .setting-input::placeholder,
body.taotao-subpage .letter-input::placeholder,
body.taotao-map-page .fg input::placeholder,
body.taotao-map-page .fg textarea::placeholder,
body.taotao-timeline-page .search-box input::placeholder,
body.taotao-timeline-page .modal-in input::placeholder,
body.taotao-timeline-page .modal-in textarea::placeholder {
    color: #b39aa7;
}

body.taotao-home .mood-btn,
body.taotao-home .quick-gift-btn,
body.taotao-timeline-page .td {
    background: rgba(255, 245, 248, 0.92);
    border: 1px solid rgba(255, 183, 197, 0.25);
}

body.taotao-home .mood-btn.selected,
body.taotao-home .mood-btn:hover {
    background: linear-gradient(135deg, rgba(255, 183, 197, 0.94), rgba(255, 222, 231, 0.98));
}

body.taotao-home .todo-item,
body.taotao-home .diary-entry,
body.taotao-map-page .ti,
body.taotao-timeline-page .tc,
body.taotao-subpage .photo-item,
body.taotao-subpage .letter-card,
body.taotao-subpage .playlist-item {
    background: rgba(255, 250, 252, 0.9);
    border: 1px solid rgba(255, 183, 197, 0.18);
}

body.taotao-home .ritual-grid,
body.taotao-home .preference-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px;
    margin-bottom: 28px;
}

body.taotao-home .memory-atlas-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
    margin-bottom: 30px;
}

body.taotao-home .ritual-card,
body.taotao-home .atlas-card,
body.taotao-home .preference-card {
    border-radius: 28px;
    padding: 22px 20px;
}

body.taotao-home .ritual-card h3,
body.taotao-home .atlas-title,
body.taotao-home .preference-card h3 {
    font-size: 1.08rem;
    margin-top: 10px;
    margin-bottom: 10px;
}

.ritual-chip-row {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 14px;
}

.soft-chip {
    display: inline-flex;
    align-items: center;
    min-height: 32px;
    padding: 0 12px;
    border-radius: 999px;
    background: rgba(255, 183, 197, 0.16);
    border: 1px solid rgba(255, 183, 197, 0.22);
    color: #b95f81;
    font-size: 0.82rem;
    font-weight: 700;
}

.ritual-list {
    display: grid;
    gap: 10px;
    margin: 14px 0 0;
    padding-left: 18px;
    color: var(--taotao-text-soft);
}

.ritual-list.compact {
    gap: 8px;
}

.ritual-list li {
    line-height: 1.65;
}

body.taotao-home .atlas-link {
    display: grid;
    grid-template-columns: 56px 1fr;
    gap: 16px;
    align-items: start;
    text-decoration: none;
}

body.taotao-home .atlas-icon,
.companion-avatar {
    width: 56px;
    height: 56px;
    border-radius: 18px;
    display: grid;
    place-items: center;
    background: linear-gradient(135deg, rgba(255, 183, 197, 0.24), rgba(233, 228, 255, 0.76));
    font-size: 1.8rem;
}

.companion-head {
    display: grid;
    grid-template-columns: 56px 1fr;
    gap: 16px;
    align-items: center;
    margin-bottom: 12px;
}

.mini-log-list {
    display: grid;
    gap: 10px;
    margin-top: 14px;
}

.mini-log-item {
    display: flex;
    justify-content: space-between;
    gap: 14px;
    padding: 10px 12px;
    border-radius: 16px;
    background: rgba(255, 248, 251, 0.82);
    border: 1px solid rgba(255, 183, 197, 0.18);
    font-size: 0.88rem;
}

.mini-log-item span {
    color: var(--taotao-text-soft);
}

.mini-log-item strong {
    color: var(--taotao-text-strong);
    font-weight: 700;
}

body.taotao-home .settings-intro {
    margin-bottom: 18px;
}

body.taotao-home .settings-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
}

body.taotao-home .switch-row {
    display: flex;
    align-items: center;
    gap: 12px;
    min-height: 48px;
    padding: 0 2px;
    color: var(--taotao-text);
    font-size: 0.96rem;
}

body.taotao-home .switch-row input {
    width: 18px;
    height: 18px;
    accent-color: #ff8fab;
}

.device-stack {
    display: grid;
    gap: 12px;
}

.device-card {
    padding: 14px 16px;
    border-radius: 18px;
    background: rgba(255, 248, 251, 0.88);
    border: 1px solid rgba(255, 183, 197, 0.2);
}

.device-card strong {
    display: block;
    color: var(--taotao-text-strong);
}

.device-card span {
    display: block;
    margin-top: 4px;
    color: var(--taotao-text-soft);
    font-size: 0.88rem;
}

.text-link {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin-top: 14px;
    color: #c66687;
    font-weight: 700;
}

body.taotao-home .bottom-dock {
    position: sticky;
    bottom: 18px;
    display: flex;
    justify-content: center;
    gap: 10px;
    width: fit-content;
    margin: 18px auto 0;
    padding: 10px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.84);
    border: 1px solid rgba(255, 183, 197, 0.24);
    box-shadow: 0 18px 42px rgba(255, 143, 171, 0.14);
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
    z-index: 3;
}

body.taotao-home .bottom-nav-btn {
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-width: 74px;
    min-height: 58px;
    gap: 4px;
    border-radius: 999px;
}

body.taotao-home .bottom-nav-btn span {
    font-size: 1rem;
}

body.taotao-home .bottom-nav-btn em {
    font-style: normal;
    font-size: 0.74rem;
    font-weight: 700;
}

body.taotao-subpage .header,
body.taotao-map-page .h,
body.taotao-timeline-page .h,
body.taotao-panel-page .header {
    margin-bottom: 8px;
}

body.taotao-subpage .container,
body.taotao-map-page .main,
body.taotao-timeline-page .c,
body.taotao-panel-page .wrap {
    padding-top: 26px;
    padding-bottom: 40px;
}

body.taotao-subpage .write-section,
body.taotao-subpage .player-card,
body.taotao-map-page .mh,
body.taotao-map-page .mh2,
body.taotao-timeline-page .pwd,
body.taotao-panel-page .hero {
    box-shadow: var(--taotao-shadow-soft);
}

body.taotao-subpage .write-section,
body.taotao-subpage .player-card,
body.taotao-map-page .mh,
body.taotao-map-page .mh2,
body.taotao-timeline-page .pwd {
    background: linear-gradient(135deg, rgba(255,255,255,0.94), rgba(255,245,248,0.96));
    border: 1px solid rgba(255, 183, 197, 0.24);
    color: var(--taotao-text);
}

body.taotao-map-page .mh,
body.taotao-map-page .mh2,
body.taotao-panel-page .hero .panel:first-child,
body.taotao-panel-page .spotlight-badge,
body.taotao-panel-page .avatar-preview {
    background: linear-gradient(135deg, rgba(255, 183, 197, 0.28), rgba(233, 228, 255, 0.68));
}

body.taotao-map-page .nav a,
body.taotao-timeline-page .ft button,
body.taotao-timeline-page .year-nav button,
body.taotao-panel-page .nav a,
body.taotao-panel-page .quick-nav a {
    color: var(--taotao-text);
}

body.taotao-map-page .map-loading,
body.taotao-timeline-page .pwd-box p,
body.taotao-timeline-page .tdesc,
body.taotao-timeline-page .empty,
body.taotao-panel-page .summary-card span,
body.taotao-panel-page .item-card p {
    color: var(--taotao-text-soft);
}

body.taotao-map-page .sn,
body.taotao-timeline-page .sn,
body.taotao-panel-page .summary-card strong {
    color: var(--taotao-text-strong);
}

body.taotao-panel-page .nav,
body.taotao-panel-page .quick-nav {
    gap: 10px;
}

body.taotao-panel-page .achievement-card::after {
    background: rgba(255, 183, 197, 0.12);
}

body.taotao-panel-page .item-icon,
body.taotao-panel-page .achievement-icon {
    background: rgba(255, 238, 244, 0.92);
}

@media (max-width: 1080px) {
    body.taotao-home .feature-nav,
    body.taotao-home .ritual-grid,
    body.taotao-home .preference-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    body.taotao-home .memory-atlas-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 920px) {
    body.taotao-home .hero-section,
    body.taotao-home .universe-home-grid,
    body.taotao-home .settings-grid {
        grid-template-columns: 1fr;
    }

    body.taotao-home .feature-nav {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 640px) {
    body.taotao-home .hero-section {
        padding: 24px 20px;
        border-radius: 28px;
    }

    body.taotao-home .feature-nav,
    body.taotao-home .ritual-grid,
    body.taotao-home .preference-grid {
        grid-template-columns: 1fr;
    }

    body.taotao-home .bottom-dock {
        width: calc(100% - 16px);
        bottom: 10px;
        justify-content: space-between;
        gap: 6px;
    }

    body.taotao-home .bottom-nav-btn {
        min-width: 58px;
        flex: 1 1 0;
    }
}

/* 2026-03-30 深化版：根据已确认问卷答案收口 */
:root {
    --taotao-ink: #43373d;
    --taotao-ink-strong: #2c2429;
    --taotao-ink-soft: #7f6f78;
    --taotao-rose: #f4bac9;
    --taotao-rose-strong: #dc8faa;
    --taotao-sky: #b9d8ee;
    --taotao-mint: #cbe8dc;
    --taotao-paper: rgba(255, 252, 253, 0.82);
    --taotao-paper-strong: rgba(255, 255, 255, 0.92);
    --taotao-line: rgba(212, 177, 191, 0.26);
    --taotao-shadow-premium: 0 20px 60px rgba(162, 111, 134, 0.11);
}

body.taotao-universe {
    font-family: "Avenir Next", "PingFang SC", "Hiragino Sans GB", "Noto Sans SC", sans-serif;
    background:
        radial-gradient(circle at top left, rgba(244, 186, 201, 0.35), transparent 28%),
        radial-gradient(circle at top right, rgba(185, 216, 238, 0.35), transparent 26%),
        radial-gradient(circle at 40% 100%, rgba(203, 232, 220, 0.28), transparent 24%),
        linear-gradient(180deg, #fffafc 0%, #fff7fb 38%, #fdf6fa 100%);
    color: var(--taotao-ink);
}

body.taotao-universe::before {
    background-image:
        linear-gradient(rgba(215, 194, 204, 0.22) 1px, transparent 1px),
        linear-gradient(90deg, rgba(215, 194, 204, 0.18) 1px, transparent 1px);
    background-size: 32px 32px;
    opacity: 0.35;
}

body.taotao-home .header,
body.taotao-subpage .header,
body.taotao-map-page .h,
body.taotao-timeline-page .h,
body.taotao-panel-page .header {
    background:
        linear-gradient(135deg, rgba(255, 249, 251, 0.86), rgba(245, 250, 255, 0.82)),
        rgba(255, 255, 255, 0.68);
    border-bottom: 1px solid rgba(214, 183, 198, 0.22);
    box-shadow: 0 10px 30px rgba(184, 140, 160, 0.08);
}

body.taotao-home .header h1,
body.taotao-subpage .header h1,
body.taotao-map-page .h h1,
body.taotao-timeline-page .h h1,
body.taotao-panel-page .header h1 {
    color: var(--taotao-ink-strong);
    text-shadow: none;
}

body.taotao-home .nav-btn,
body.taotao-subpage .back-btn,
body.taotao-subpage .tab-btn,
body.taotao-subpage .quick-nav-item,
body.taotao-map-page .btn,
body.taotao-map-page .nav a,
body.taotao-map-page .bp,
body.taotao-map-page .bs,
body.taotao-timeline-page .h a,
body.taotao-timeline-page .ft button,
body.taotao-timeline-page .year-nav button,
body.taotao-timeline-page .add-btn,
body.taotao-panel-page .header-btn {
    background: rgba(255, 255, 255, 0.72);
    color: var(--taotao-ink);
    border: 1px solid rgba(214, 183, 198, 0.26);
    box-shadow: 0 8px 20px rgba(187, 152, 170, 0.06);
}

body.taotao-home .nav-btn:hover,
body.taotao-home .nav-btn.active,
body.taotao-subpage .back-btn:hover,
body.taotao-subpage .tab-btn:hover,
body.taotao-subpage .tab-btn.active,
body.taotao-subpage .quick-nav-item:hover,
body.taotao-map-page .btn:hover,
body.taotao-map-page .nav a:hover,
body.taotao-map-page .nav a.active,
body.taotao-map-page .bp:hover,
body.taotao-timeline-page .ft button:hover,
body.taotao-timeline-page .ft button.active,
body.taotao-timeline-page .year-nav button:hover,
body.taotao-timeline-page .year-nav button.active,
body.taotao-timeline-page .add-btn:hover,
body.taotao-panel-page .header-btn:hover {
    background: linear-gradient(135deg, rgba(244, 186, 201, 0.38), rgba(185, 216, 238, 0.34));
    color: var(--taotao-ink-strong);
    border-color: rgba(203, 153, 176, 0.35);
    box-shadow: 0 14px 28px rgba(184, 140, 160, 0.12);
}

body.taotao-home .hero-section {
    background:
        linear-gradient(135deg, rgba(255, 255, 255, 0.88), rgba(249, 251, 255, 0.76)),
        linear-gradient(145deg, rgba(244, 186, 201, 0.22), rgba(185, 216, 238, 0.2));
    border: 1px solid rgba(214, 183, 198, 0.22);
    box-shadow: var(--taotao-shadow-premium);
}

body.taotao-home .hero-section::before {
    background:
        radial-gradient(circle at 20% 20%, rgba(255, 255, 255, 0.65), transparent 36%),
        radial-gradient(circle at 88% 16%, rgba(185, 216, 238, 0.28), transparent 22%);
}

body.taotao-home .hero-badge,
body.taotao-home .hero-panel,
body.taotao-home .hero-mini-card,
body.taotao-home .stat-card,
body.taotao-home .feature-nav-item,
body.taotao-home .card,
body.taotao-home .ritual-card,
body.taotao-home .atlas-card,
body.taotao-home .preference-card,
body.taotao-home .questionnaire-card,
body.taotao-home .studio-overview-card,
body.taotao-subpage .write-section,
body.taotao-subpage .player-card,
body.taotao-map-page .mh,
body.taotao-map-page .mh2,
body.taotao-map-page .map-card,
body.taotao-map-page .tc,
body.taotao-map-page .m,
body.taotao-timeline-page .tc,
body.taotao-timeline-page .modal-in,
body.taotao-timeline-page .pwd-box,
body.taotao-panel-page .hero,
body.taotao-panel-page .panel,
body.taotao-panel-page .summary-card,
body.taotao-panel-page .item-card {
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.86), rgba(255, 250, 252, 0.82));
    color: var(--taotao-ink);
    border: 1px solid var(--taotao-line);
    box-shadow: var(--taotao-shadow-premium);
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
}

body.taotao-home .hero-badge,
body.taotao-home .hero-panel,
body.taotao-home .hero-mini-card {
    background:
        linear-gradient(135deg, rgba(255, 255, 255, 0.88), rgba(252, 247, 250, 0.78)),
        rgba(255, 255, 255, 0.62);
}

body.taotao-home .hero-title,
body.taotao-home .section-heading,
body.taotao-home .atlas-title,
body.taotao-home .ritual-card h3,
body.taotao-home .preference-card h3,
body.taotao-home .card-title,
body.taotao-subpage .card-title,
body.taotao-subpage .section-title,
body.taotao-subpage .section-header h2,
body.taotao-map-page .mh h2,
body.taotao-map-page .tc h3,
body.taotao-timeline-page .tt,
body.taotao-timeline-page .modal-in h2,
body.taotao-panel-page h2,
body.taotao-panel-page h3 {
    font-family: "Iowan Old Style", "Baskerville", "Palatino Linotype", "Songti SC", "Noto Serif SC", serif;
    color: var(--taotao-ink-strong);
    text-shadow: none;
    letter-spacing: 0.01em;
}

body.taotao-home .hero-title {
    font-size: clamp(2.35rem, 4.1vw, 4.2rem);
    line-height: 1.08;
}

body.taotao-home .hero-subcopy,
body.taotao-home .section-subtitle,
body.taotao-home .atlas-copy,
body.taotao-home .ritual-card p,
body.taotao-home .preference-card p,
body.taotao-home .hero-panel p,
body.taotao-home .hero-mini-desc,
body.taotao-subpage .section-desc,
body.taotao-map-page .map-loading,
body.taotao-map-page .ti p,
body.taotao-timeline-page .tdesc,
body.taotao-panel-page .summary-card span,
body.taotao-panel-page .item-card p {
    color: var(--taotao-ink-soft);
}

body.taotao-home .hero-panel-label,
body.taotao-home .hero-mini-label,
body.taotao-home .section-kicker,
body.taotao-home .ritual-eyebrow,
body.taotao-home .companion-role,
body.taotao-home .questionnaire-label,
body.taotao-home .studio-overview-card span {
    color: rgba(132, 104, 117, 0.72);
    letter-spacing: 0.16em;
}

body.taotao-home .days-counter,
body.taotao-home .hero-panel-title,
body.taotao-home .hero-mini-value,
body.taotao-home .stat-value,
body.taotao-home .questionnaire-card strong,
body.taotao-home .studio-overview-card strong,
body.taotao-map-page .sn,
body.taotao-timeline-page .sn,
body.taotao-panel-page .summary-card strong {
    color: var(--taotao-ink-strong);
}

body.taotao-home .days-label,
body.taotao-home .stat-label,
body.taotao-home .feature-nav-hint,
body.taotao-home .questionnaire-card p,
body.taotao-home .studio-overview-card p,
body.taotao-home .mini-log-item span {
    color: var(--taotao-ink-soft);
}

body.taotao-home .couple-names span,
body.taotao-home .soft-chip,
body.taotao-home .mini-log-item,
body.taotao-home .device-card,
body.taotao-home .status-note-card {
    background: rgba(255, 255, 255, 0.72);
    border: 1px solid rgba(214, 183, 198, 0.24);
    color: var(--taotao-ink);
}

body.taotao-home .questionnaire-strip,
body.taotao-home .studio-overview-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
    margin: 0 0 26px;
}

body.taotao-home .questionnaire-card,
body.taotao-home .studio-overview-card {
    position: relative;
    overflow: hidden;
    padding: 18px 18px 16px;
    border-radius: 24px;
}

body.taotao-home .questionnaire-card::before,
body.taotao-home .studio-overview-card::before,
body.taotao-home .feature-nav-item::before,
body.taotao-home .atlas-card::before,
body.taotao-home .preference-card::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(145deg, rgba(244, 186, 201, 0.14), transparent 40%, rgba(185, 216, 238, 0.14));
    pointer-events: none;
}

body.taotao-home .questionnaire-card strong,
body.taotao-home .studio-overview-card strong {
    display: block;
    position: relative;
    z-index: 1;
    margin-bottom: 8px;
    font-size: 1rem;
    line-height: 1.6;
}

body.taotao-home .questionnaire-card p,
body.taotao-home .studio-overview-card p {
    position: relative;
    z-index: 1;
    font-size: 0.88rem;
    line-height: 1.7;
}

body.taotao-home .feature-nav-button {
    width: 100%;
    appearance: none;
    cursor: pointer;
    text-align: left;
    font: inherit;
}

body.taotao-home .feature-nav-item,
body.taotao-home .questionnaire-card,
body.taotao-home .studio-overview-card,
body.taotao-home .ritual-card,
body.taotao-home .atlas-card,
body.taotao-home .preference-card {
    border-radius: 24px;
}

body.taotao-home .feature-nav-item {
    min-height: 144px;
}

body.taotao-home .feature-nav-icon {
    width: 48px;
    height: 48px;
    display: grid;
    place-items: center;
    border-radius: 16px;
    background: linear-gradient(135deg, rgba(244, 186, 201, 0.3), rgba(185, 216, 238, 0.28));
    color: var(--taotao-ink-strong);
}

body.taotao-home .diary-textarea,
body.taotao-home .todo-input,
body.taotao-home .setting-input,
body.taotao-subpage .letter-input,
body.taotao-subpage .music-input,
body.taotao-map-page .fg input,
body.taotao-map-page .fg textarea,
body.taotao-map-page .si,
body.taotao-timeline-page .search-box input,
body.taotao-timeline-page .modal-in input,
body.taotao-timeline-page .modal-in textarea,
body.taotao-timeline-page .modal-in select {
    background: rgba(255, 255, 255, 0.78);
    border: 1px solid rgba(214, 183, 198, 0.25);
    color: var(--taotao-ink-strong);
}

body.taotao-home .diary-textarea::placeholder,
body.taotao-home .todo-input::placeholder,
body.taotao-home .setting-input::placeholder,
body.taotao-subpage .letter-input::placeholder,
body.taotao-map-page .fg input::placeholder,
body.taotao-map-page .fg textarea::placeholder,
body.taotao-timeline-page .search-box input::placeholder,
body.taotao-timeline-page .modal-in input::placeholder,
body.taotao-timeline-page .modal-in textarea::placeholder {
    color: rgba(127, 111, 120, 0.64);
}

body.taotao-home .btn-primary,
body.taotao-home .todo-add-btn,
body.taotao-subpage .send-btn,
body.taotao-map-page .bp,
body.taotao-timeline-page .mb .bs,
body.taotao-timeline-page .pwd-box button {
    background: linear-gradient(135deg, var(--taotao-rose-strong), #e5adc2 48%, #bfddef);
    color: #fffdfd;
    box-shadow: 0 16px 32px rgba(187, 135, 159, 0.18);
}

body.taotao-home .btn-primary:hover,
body.taotao-home .todo-add-btn:hover,
body.taotao-subpage .send-btn:hover,
body.taotao-map-page .bp:hover,
body.taotao-timeline-page .mb .bs:hover,
body.taotao-timeline-page .pwd-box button:hover {
    transform: translateY(-2px);
    box-shadow: 0 18px 34px rgba(187, 135, 159, 0.22);
}

body.taotao-home .mood-btn,
body.taotao-home .quick-gift-btn,
body.taotao-timeline-page .td {
    background: rgba(255, 255, 255, 0.72);
    border: 1px solid rgba(214, 183, 198, 0.2);
}

body.taotao-home .mood-btn.selected,
body.taotao-home .mood-btn:hover {
    background: linear-gradient(135deg, rgba(244, 186, 201, 0.34), rgba(185, 216, 238, 0.28));
}

body.taotao-home .mini-log-item strong,
body.taotao-home .device-card strong,
body.taotao-home .status-note-strong {
    color: var(--taotao-ink-strong);
}

body.taotao-home .card-intro {
    margin: -2px 0 18px;
    color: var(--taotao-ink-soft);
    font-size: 0.9rem;
    line-height: 1.75;
}

body.taotao-home .status-note-card {
    margin-top: 10px;
    padding: 16px 18px;
    border-radius: 18px;
}

body.taotao-home .status-note-card p {
    margin-top: 8px;
    color: var(--taotao-ink-soft);
    line-height: 1.7;
}

body.taotao-home .bottom-dock {
    background: rgba(255, 255, 255, 0.78);
    border: 1px solid rgba(214, 183, 198, 0.22);
    box-shadow: 0 16px 40px rgba(170, 132, 151, 0.12);
}

body.taotao-home .bottom-nav-btn {
    color: var(--taotao-ink-soft);
}

body.taotao-home .bottom-nav-btn.active {
    background: linear-gradient(135deg, rgba(244, 186, 201, 0.34), rgba(185, 216, 238, 0.28));
    color: var(--taotao-ink-strong);
}

body.taotao-map-page .mh,
body.taotao-map-page .mh2,
body.taotao-panel-page .hero .panel:first-child,
body.taotao-panel-page .spotlight-badge,
body.taotao-panel-page .avatar-preview {
    background: linear-gradient(135deg, rgba(244, 186, 201, 0.26), rgba(185, 216, 238, 0.34));
}

body.taotao-map-page .nav a,
body.taotao-timeline-page .ft button,
body.taotao-timeline-page .year-nav button,
body.taotao-panel-page .nav a,
body.taotao-panel-page .quick-nav a {
    color: var(--taotao-ink);
}

@media (max-width: 1080px) {
    body.taotao-home .questionnaire-strip,
    body.taotao-home .studio-overview-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 640px) {
    body.taotao-home .questionnaire-strip,
    body.taotao-home .studio-overview-grid {
        grid-template-columns: 1fr;
    }

    body.taotao-home .hero-title {
        font-size: 2.1rem;
    }
}

/* 2026-03-30 双端界面与内页深化 */
body.taotao-home .page-shell {
    display: grid;
    gap: 18px;
}

body.taotao-home .subpage-hero {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(280px, 0.85fr);
    gap: 16px;
    padding: 24px 26px;
    border-radius: 28px;
    background:
        linear-gradient(135deg, rgba(255, 255, 255, 0.9), rgba(249, 251, 255, 0.78)),
        linear-gradient(145deg, rgba(244, 186, 201, 0.2), rgba(185, 216, 238, 0.16));
    border: 1px solid rgba(214, 183, 198, 0.22);
    box-shadow: var(--taotao-shadow-premium);
}

body.taotao-home .subpage-kicker {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 10px;
    font-size: 0.76rem;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: rgba(132, 104, 117, 0.7);
}

body.taotao-home .subpage-title {
    margin: 0;
    font-family: "Iowan Old Style", "Baskerville", "Palatino Linotype", "Songti SC", "Noto Serif SC", serif;
    font-size: clamp(1.55rem, 3vw, 2.45rem);
    line-height: 1.18;
    color: var(--taotao-ink-strong);
}

body.taotao-home .subpage-copy {
    margin-top: 12px;
    color: var(--taotao-ink-soft);
    line-height: 1.8;
    font-size: 0.96rem;
}

body.taotao-home .subpage-meta {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    align-content: start;
}

body.taotao-home .subpage-meta-card,
body.taotao-home .support-card {
    position: relative;
    overflow: hidden;
    padding: 16px 18px;
    border-radius: 22px;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.84), rgba(255, 250, 252, 0.8));
    border: 1px solid rgba(214, 183, 198, 0.22);
    box-shadow: 0 14px 34px rgba(182, 144, 161, 0.09);
}

body.taotao-home .subpage-meta-card::before,
body.taotao-home .support-card::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(145deg, rgba(244, 186, 201, 0.12), transparent 42%, rgba(185, 216, 238, 0.12));
    pointer-events: none;
}

body.taotao-home .subpage-meta-label,
body.taotao-home .support-card .card-mini-label {
    position: relative;
    z-index: 1;
    display: block;
    margin-bottom: 8px;
    font-size: 0.72rem;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: rgba(132, 104, 117, 0.68);
}

body.taotao-home .subpage-meta-value,
body.taotao-home .support-card h3 {
    position: relative;
    z-index: 1;
    margin: 0;
    font-size: 1rem;
    line-height: 1.55;
    color: var(--taotao-ink-strong);
}

body.taotao-home .subpage-meta-copy,
body.taotao-home .support-card p {
    position: relative;
    z-index: 1;
    margin-top: 8px;
    color: var(--taotao-ink-soft);
    line-height: 1.7;
    font-size: 0.88rem;
}

body.taotao-home .subpage-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(280px, 0.9fr);
    gap: 18px;
    align-items: start;
}

body.taotao-home .page-stack,
body.taotao-home .subpage-side {
    display: grid;
    gap: 16px;
}

body.taotao-home .subpage-side {
    align-content: start;
}

body.taotao-home .quick-pills {
    position: relative;
    z-index: 1;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 12px;
}

body.taotao-home .quick-pills span {
    display: inline-flex;
    align-items: center;
    min-height: 32px;
    padding: 0 12px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.82);
    border: 1px solid rgba(214, 183, 198, 0.2);
    color: var(--taotao-ink);
    font-size: 0.82rem;
}

body.taotao-home .support-list {
    position: relative;
    z-index: 1;
    display: grid;
    gap: 10px;
    margin-top: 12px;
    padding-left: 18px;
    color: var(--taotao-ink-soft);
}

body.taotao-home .support-list li {
    line-height: 1.7;
}

body.taotao-home .empty-text,
body.taotao-home .gallery-empty,
body.taotao-home .media-empty,
body.taotao-home .trash-empty {
    padding: 22px 18px;
    border-radius: 20px;
    background: linear-gradient(180deg, rgba(255,255,255,0.84), rgba(255,250,252,0.8));
    border: 1px dashed rgba(214, 183, 198, 0.34);
    color: var(--taotao-ink-soft);
    text-align: center;
}

body.taotao-home .status-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}

body.taotao-home .status-section {
    background: rgba(255, 255, 255, 0.54);
    border: 1px solid rgba(214, 183, 198, 0.2);
    border-radius: 22px;
    padding: 18px;
}

body.taotao-home .header-nav {
    flex-wrap: wrap;
    row-gap: 10px;
}

body.taotao-home .nav-btn {
    min-height: 38px;
}

@media (min-width: 1180px) {
    body.taotao-home .subpage-grid.is-wide {
        grid-template-columns: minmax(0, 1.22fr) minmax(320px, 0.78fr);
    }

    body.taotao-home .subpage-side.is-sticky {
        position: sticky;
        top: 112px;
    }

    body.taotao-home .settings-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    body.taotao-home .settings-grid .card:first-child,
    body.taotao-home .settings-grid .card:nth-child(2),
    body.taotao-home .settings-grid .card:nth-child(5) {
        grid-column: span 1;
    }
}

@media (max-width: 920px) {
    body.taotao-home .header-content {
        flex-direction: column;
        align-items: flex-start;
        gap: 12px;
    }

    body.taotao-home .header-nav {
        width: 100%;
        overflow-x: auto;
        flex-wrap: nowrap;
        justify-content: flex-start;
        padding-bottom: 4px;
        scrollbar-width: none;
    }

    body.taotao-home .header-nav::-webkit-scrollbar {
        display: none;
    }

    body.taotao-home .nav-btn {
        flex: 0 0 auto;
    }

    body.taotao-home .subpage-hero,
    body.taotao-home .subpage-grid,
    body.taotao-home .status-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 640px) {
    body.taotao-home .subpage-hero {
        padding: 20px 18px;
        border-radius: 24px;
    }

    body.taotao-home .subpage-meta {
        grid-template-columns: 1fr;
    }

    body.taotao-home .subpage-title {
        font-size: 1.5rem;
    }

    body.taotao-home .questionnaire-strip {
        display: flex;
        overflow-x: auto;
        gap: 12px;
        scroll-snap-type: x proximity;
        padding-bottom: 2px;
    }

    body.taotao-home .questionnaire-card {
        min-width: calc(100vw - 56px);
        scroll-snap-align: start;
    }
}

/* 2026-03-30 特殊日子模式与移动端首屏收口 */
body.taotao-home .priority-strip {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(320px, 0.85fr);
    gap: 18px;
    margin: 20px 0 24px;
}

body.taotao-home .priority-overview,
body.taotao-home .priority-actions-panel,
body.taotao-home .special-mode-summary-card,
body.taotao-home .special-day-item,
body.taotao-subpage .special-day-hero-block,
body.taotao-subpage .special-day-card,
body.taotao-subpage .template-chip {
    position: relative;
    overflow: hidden;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.9), rgba(255, 249, 252, 0.82));
    border: 1px solid rgba(214, 183, 198, 0.22);
    box-shadow: 0 18px 40px rgba(182, 144, 161, 0.11);
}

body.taotao-home .priority-overview,
body.taotao-home .priority-actions-panel {
    padding: 22px 24px;
    border-radius: 28px;
}

body.taotao-home .priority-overview::before,
body.taotao-home .priority-actions-panel::before,
body.taotao-home .special-mode-summary-card::before,
body.taotao-subpage .special-day-hero-block::before,
body.taotao-subpage .special-day-card::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(145deg, rgba(244, 186, 201, 0.14), transparent 42%, rgba(185, 216, 238, 0.12));
    pointer-events: none;
}

body.taotao-home .priority-kicker,
body.taotao-subpage .special-day-kicker {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 10px;
    font-size: 0.74rem;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: rgba(132, 104, 117, 0.72);
}

body.taotao-home .priority-overview h2,
body.taotao-subpage .special-day-title {
    position: relative;
    z-index: 1;
    margin: 0;
    font-family: "Iowan Old Style", "Baskerville", "Palatino Linotype", "Songti SC", "Noto Serif SC", serif;
    color: var(--taotao-ink-strong);
    line-height: 1.18;
}

body.taotao-home .priority-overview h2 {
    font-size: clamp(1.42rem, 3vw, 2.2rem);
}

body.taotao-home .priority-overview p,
body.taotao-home .priority-actions-panel,
body.taotao-subpage .special-day-copy {
    position: relative;
    z-index: 1;
    color: var(--taotao-ink-soft);
    line-height: 1.78;
}

body.taotao-home .priority-stats,
body.taotao-home .special-mode-summary-grid,
body.taotao-subpage .special-day-meta {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    margin-top: 16px;
}

body.taotao-home .priority-stat,
body.taotao-home .special-mode-summary-card {
    padding: 14px 16px;
    border-radius: 22px;
}

body.taotao-home .priority-stat strong,
body.taotao-home .special-mode-summary-card strong,
body.taotao-subpage .special-day-meta strong {
    display: block;
    color: var(--taotao-ink-strong);
    font-size: 1.12rem;
    line-height: 1.35;
}

body.taotao-home .priority-stat span,
body.taotao-home .special-mode-summary-card span,
body.taotao-subpage .special-day-meta span {
    display: block;
    margin-bottom: 6px;
    font-size: 0.72rem;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: rgba(132, 104, 117, 0.72);
}

body.taotao-home .priority-actions {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
    margin: 14px 0 16px;
}

body.taotao-home .priority-action-btn,
body.taotao-subpage .special-day-action,
body.taotao-subpage .template-chip {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 44px;
    padding: 0 14px;
    border-radius: 999px;
    border: 1px solid rgba(214, 183, 198, 0.22);
    background: rgba(255, 255, 255, 0.92);
    color: var(--taotao-ink-strong);
    text-decoration: none;
    font-weight: 600;
    transition: transform 0.22s ease, box-shadow 0.22s ease, border-color 0.22s ease;
}

body.taotao-home .priority-action-btn:hover,
body.taotao-subpage .special-day-action:hover,
body.taotao-subpage .template-chip:hover {
    transform: translateY(-2px);
    box-shadow: 0 12px 26px rgba(182, 144, 161, 0.14);
    border-color: rgba(214, 183, 198, 0.36);
}

body.taotao-home .priority-list,
body.taotao-home .support-list,
body.taotao-subpage .special-day-list {
    position: relative;
    z-index: 1;
    display: grid;
    gap: 10px;
    margin: 0;
    padding-left: 18px;
    color: var(--taotao-ink-soft);
}

body.taotao-home .milestone-layout {
    align-items: start;
}

body.taotao-home .special-day-item {
    padding: 18px 18px 16px;
    border-radius: 24px;
    margin-top: 14px;
}

body.taotao-home .special-day-item-main {
    display: grid;
    grid-template-columns: 48px minmax(0, 1fr);
    gap: 14px;
    align-items: start;
}

body.taotao-home .milestone-name-row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
}

body.taotao-home .special-day-badge {
    display: inline-flex;
    align-items: center;
    min-height: 28px;
    padding: 0 12px;
    border-radius: 999px;
    background: rgba(248, 210, 221, 0.58);
    color: #8a5364;
    font-size: 0.78rem;
    font-weight: 700;
}

body.taotao-home .special-day-note {
    margin: 8px 0 0;
    color: var(--taotao-ink-soft);
    line-height: 1.74;
}

body.taotao-home .header-actions-inline {
    display: inline-flex;
    align-items: center;
    gap: 14px;
    flex-wrap: wrap;
}

body.taotao-home .quick-pills a,
body.taotao-subpage .special-day-actions a {
    display: inline-flex;
    align-items: center;
    min-height: 34px;
    padding: 0 12px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.86);
    border: 1px solid rgba(214, 183, 198, 0.22);
    color: var(--taotao-ink);
    text-decoration: none;
}

body.taotao-subpage .special-day-hero-block {
    padding: 24px 24px 22px;
    border-radius: 26px;
    margin-bottom: 18px;
}

body.taotao-subpage .special-day-title {
    font-size: clamp(1.38rem, 3vw, 2rem);
}

body.taotao-subpage .special-day-copy {
    margin-top: 10px;
    font-size: 0.94rem;
}

body.taotao-subpage .special-day-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
    margin-bottom: 18px;
}

body.taotao-subpage .special-day-card {
    padding: 18px;
    border-radius: 24px;
}

body.taotao-subpage .special-day-card h3 {
    position: relative;
    z-index: 1;
    margin: 0 0 10px;
    font-size: 1rem;
    color: var(--taotao-ink-strong);
}

body.taotao-subpage .special-day-card p,
body.taotao-subpage .special-day-card li {
    position: relative;
    z-index: 1;
    color: var(--taotao-ink-soft);
    line-height: 1.72;
}

body.taotao-subpage .special-day-actions,
body.taotao-subpage .template-grid {
    position: relative;
    z-index: 1;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 14px;
}

body.taotao-subpage .special-day-meta {
    margin-top: 16px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

body.taotao-subpage .special-day-meta article {
    padding: 14px 16px;
    border-radius: 20px;
    background: rgba(255, 255, 255, 0.84);
    border: 1px solid rgba(214, 183, 198, 0.2);
}

body.taotao-subpage .template-chip {
    cursor: pointer;
}

@media (max-width: 920px) {
    body.taotao-home .priority-strip,
    body.taotao-home .priority-actions,
    body.taotao-home .special-mode-summary-grid,
    body.taotao-subpage .special-day-grid,
    body.taotao-subpage .special-day-meta {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 640px) {
    body.taotao-home .priority-strip {
        gap: 14px;
        margin: 16px 0 22px;
    }

    body.taotao-home .priority-overview,
    body.taotao-home .priority-actions-panel,
    body.taotao-subpage .special-day-hero-block,
    body.taotao-subpage .special-day-card {
        padding: 18px 16px;
        border-radius: 22px;
    }

    body.taotao-home .priority-overview h2 {
        font-size: 1.32rem;
    }

    body.taotao-home .priority-actions {
        grid-template-columns: 1fr;
    }

    body.taotao-home .priority-stat,
    body.taotao-home .special-mode-summary-card {
        padding: 13px 14px;
    }

    body.taotao-home .special-day-item-main {
        grid-template-columns: 1fr;
    }
}
