:root {
    --color-bg: #FCF9F5;
    --color-text: #394867;
    --color-text-muted: rgba(57, 72, 103, 0.7);
    --color-accent-sky: #A5C9CA;
    --color-accent-sky-darker: #89b6b8;
    --color-accent-grass: #E7F6F2;
    --color-accent-apricot: #FAD6A5;
    --color-card-bg: rgba(255, 255, 255, 0.4);
    --color-card-border: rgba(165, 201, 202, 0.2);
    --color-card-hover-bg: rgba(255, 255, 255, 0.9);
    --color-card-hover-border: var(--color-accent-sky);
    --color-input-bg: rgba(255, 255, 255, 0.5);
    --color-input-border: rgba(165, 201, 202, 0.3);
    --color-input-focus-bg: rgba(255, 255, 255, 0.8);
    --color-input-focus-border: var(--color-accent-sky);
    --color-btn-primary-bg: var(--color-accent-sky);
    --color-btn-primary-text: white;
    --color-btn-primary-hover-bg: var(--color-accent-sky-darker);
    --color-btn-secondary-border: var(--color-accent-sky);
    --color-btn-secondary-text: var(--color-accent-sky);
    --color-btn-secondary-hover-bg: var(--color-accent-sky);
    --color-btn-secondary-hover-text: white;
    --color-morning-mist-start: #FCF9F5;
    --color-morning-mist-mid: #E7F6F2;
    --color-morning-mist-end: #D1E9E9;
    --color-post-meta: var(--color-accent-sky);
    --color-post-readmore-border: rgba(165, 201, 202, 0.5);
    --font-weight-normal: 400;
    --font-weight-bold: 700;
}

[data-theme="dark"] {
    --color-bg: #2c3a57;
    --color-text: #F0EBE3;
    --color-text-muted: rgba(240, 235, 227, 0.7);
    --color-accent-sky: #A5C9CA;
    --color-accent-sky-darker: #89b6b8;
    --color-accent-grass: #394867;
    --color-accent-apricot: #FAD6A5;
    --color-card-bg: rgba(57, 72, 103, 0.4);
    --color-card-border: rgba(165, 201, 202, 0.1);
    --color-card-hover-bg: rgba(57, 72, 103, 0.8);
    --color-card-hover-border: var(--color-accent-apricot);
    --color-input-bg: rgba(57, 72, 103, 0.5);
    --color-input-border: rgba(165, 201, 202, 0.2);
    --color-input-focus-bg: rgba(57, 72, 103, 0.8);
    --color-input-focus-border: var(--color-accent-apricot);
    --color-btn-primary-bg: var(--color-accent-apricot);
    --color-btn-primary-text: #25324c;
    --color-btn-primary-hover-bg: #eabf8c;
    --color-btn-secondary-border: var(--color-accent-apricot);
    --color-btn-secondary-text: var(--color-accent-apricot);
    --color-btn-secondary-hover-bg: var(--color-accent-apricot);
    --color-btn-secondary-hover-text: #25324c;
    --color-morning-mist-start: #25324c;
    --color-morning-mist-mid: #2c3a57;
    --color-morning-mist-end: #394867;
    --color-post-meta: var(--color-accent-apricot);
    --color-post-readmore-border: rgba(250, 214, 165, 0.5);
    --font-weight-normal: 300;
    --font-weight-bold: 500;
}

body { 
    font-family: 'Quicksand', 'Noto Sans TC', system-ui, -apple-system, 'PingFang TC', 'Microsoft JhengHei', sans-serif; 
    background-color: var(--color-bg);
    color: var(--color-text);
    font-weight: var(--font-weight-normal);
    overflow-x: hidden;
    transition: background-color 0.5s ease, color 0.5s ease;
}

h1, h2, h3, h4, h5, h6, .font-bold {
    font-weight: var(--font-weight-bold);
}

.morning-mist { 
    background: linear-gradient(135deg, var(--color-morning-mist-start) 0%, var(--color-morning-mist-mid) 50%, var(--color-morning-mist-end) 100%); 
    position: relative; 
}

.soft-card { 
    background: var(--color-card-bg); 
    backdrop-filter: blur(10px); 
    border: 1px solid var(--color-card-border);
    transition: all 0.6s ease; 
}

.soft-card:hover { 
    transform: translateY(-8px); 
    background: var(--color-card-hover-bg); 
    border-color: var(--color-card-hover-border);
}

.price-badge { 
    background: var(--color-accent-sky); 
    color: var(--color-btn-primary-text); 
    padding: 4px 12px; 
    border-radius: 99px; 
    font-size: 10px; 
    font-weight: var(--font-weight-bold); 
    letter-spacing: 0.1em; 
}

.guarantee-banner { 
    background: var(--color-accent-apricot); 
    color: var(--color-text);
}

.input-field {
    background: var(--color-input-bg);
    border: 1px solid var(--color-input-border);
    transition: all 0.3s ease;
    border-radius: 0.75rem;
    padding: 1rem 1.5rem;
    width: 100%;
}

.input-field:focus {
    background: var(--color-input-focus-bg);
    border-color: var(--color-input-focus-border);
    outline: none;
}

.btn-primary {
    background-color: var(--color-btn-primary-bg);
    color: var(--color-btn-primary-text);
    border-radius: 99px;
    padding: 0.75rem 1.5rem;
    font-weight: var(--font-weight-bold);
    text-transform: uppercase;
    letter-spacing: 0.1em;
    font-size: 10px;
    transition: background-color 0.3s ease;
    box-shadow: 0 4px 14px 0 rgba(165, 201, 202, 0.3);
}

.btn-primary:hover {
    background-color: var(--color-btn-primary-hover-bg);
}

.btn-secondary {
    background-color: transparent;
    border: 1px solid var(--color-btn-secondary-border);
    color: var(--color-btn-secondary-text);
    border-radius: 99px;
    padding: 0.75rem 1.5rem;
    font-weight: var(--font-weight-bold);
    text-transform: uppercase;
    letter-spacing: 0.1em;
    font-size: 10px;
    transition: all 0.3s ease;
}

.btn-secondary:hover {
    background-color: var(--color-btn-secondary-hover-bg);
    color: var(--color-btn-secondary-hover-text);
}

.post-card {
    background: var(--color-card-bg); 
    backdrop-filter: blur(10px); 
    border: 1px solid var(--color-card-border);
    padding: 3rem;
    border-radius: 1rem;
    transition: all 0.5s ease;
}
.post-card:hover { 
    border-color: var(--color-card-hover-border);
    transform: translateY(-5px);
}
.post-card .post-meta {
    color: var(--color-post-meta);
}
.post-card .post-title {
    color: var(--color-text);
}
.post-card .post-excerpt {
    color: var(--color-text-muted);
}
.post-card .post-readmore {
    color: var(--color-post-meta);
    border-bottom: 1px solid var(--color-post-readmore-border);
}
.post-card .post-readmore:hover {
    border-color: var(--color-post-meta);
}
