/**
 * 内页主题：与首页 landing 统一的暖色编辑风。
 */

body:not(.page-home-landing) {
    font-family: var(--font-sans);
    -webkit-font-smoothing: antialiased;
}

body:not(.page-home-landing)::before {
    content: '';
    position: fixed;
    inset: 0;
    pointer-events: none;
    z-index: -1;
    background:
        radial-gradient(520px 420px at 92% -8%, rgba(196, 92, 62, 0.11), transparent 58%),
        radial-gradient(420px 360px at -8% 28%, rgba(232, 160, 152, 0.09), transparent 52%),
        radial-gradient(320px 280px at 48% 88%, rgba(152, 200, 152, 0.05), transparent 55%),
        var(--bg);
}

body:not(.page-home-landing)::after {
    content: '';
    position: fixed;
    inset: 0;
    pointer-events: none;
    z-index: 9998;
    opacity: 0.028;
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}

body:not(.page-home-landing) a:hover {
    text-decoration: none;
}

/* ── Typography ── */
body:not(.page-home-landing) .container h1,
body:not(.page-home-landing) .container h2,
body:not(.page-home-landing) .container h3,
body:not(.page-home-landing) .card h1,
body:not(.page-home-landing) .card h2,
body:not(.page-home-landing) .card h3,
body:not(.page-home-landing) .list-page-title,
body:not(.page-home-landing) #proj-title {
    font-family: var(--font-serif);
    font-weight: 400;
    letter-spacing: -0.02em;
    line-height: 1.12;
}

body:not(.page-home-landing) .list-page-title {
    font-size: clamp(2rem, 4vw, 2.75rem);
}

body:not(.page-home-landing) .container h2,
body:not(.page-home-landing) #proj-title {
    font-size: clamp(1.65rem, 3vw, 2rem);
}

body:not(.page-home-landing) .container h3,
body:not(.page-home-landing) .card h3 {
    font-size: 1.25rem;
}

body:not(.page-home-landing) .proj-card-title,
body:not(.page-home-landing) .page-card .page-card-title-text b {
    font-family: var(--font-serif);
    font-weight: 400;
    letter-spacing: -0.01em;
}

body:not(.page-home-landing) .proj-card-title {
    font-size: 1.35rem;
}

body:not(.page-home-landing) .empty-state {
    font-family: var(--font-serif);
    font-size: 1.125rem;
    line-height: 1.5;
}

/* ── Buttons ── */
body:not(.page-home-landing) .btn {
    border-radius: 100px;
    border: none;
    background: var(--fg);
    color: var(--bg);
    padding: 0.625rem 1.25rem;
    font-family: var(--font-sans);
    font-size: 0.875rem;
    font-weight: 500;
    transition: all 0.25s var(--ease);
}

body:not(.page-home-landing) .btn:hover {
    opacity: 1;
    background: var(--accent);
    transform: translateY(-1px);
    box-shadow: 0 10px 28px rgba(196, 92, 62, 0.28);
    text-decoration: none;
}

body:not(.page-home-landing) .btn:active {
    transform: translateY(0);
}

body:not(.page-home-landing) .btn.ghost {
    background: transparent;
    color: var(--muted);
    border: 1px solid var(--line);
    box-shadow: none;
}

body:not(.page-home-landing) .btn.ghost:hover {
    background: var(--accent-soft);
    color: var(--accent);
    border-color: rgba(196, 92, 62, 0.35);
    transform: none;
    box-shadow: none;
}

body:not(.page-home-landing) .btn.danger {
    background: var(--danger);
    color: #fff;
}

body:not(.page-home-landing) .btn.danger:hover {
    background: #9a3628;
    box-shadow: 0 10px 28px rgba(181, 65, 50, 0.25);
}

body:not(.page-home-landing) .list-delete-btn {
    color: var(--danger);
    border-color: rgba(181, 65, 50, 0.28);
}

body:not(.page-home-landing) .list-delete-btn:hover {
    background: rgba(181, 65, 50, 0.08);
    color: var(--danger);
    border-color: rgba(181, 65, 50, 0.4);
}

/* ── Cards & forms ── */
body:not(.page-home-landing) .card {
    border: 1px solid var(--line);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow);
    background: var(--card);
}

body:not(.page-home-landing) .field label {
    font-size: 0.75rem;
    font-weight: 500;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--muted);
}

body:not(.page-home-landing) .field input,
body:not(.page-home-landing) .field textarea,
body:not(.page-home-landing) .field select {
    border: 1px solid var(--line);
    border-radius: var(--radius);
    background: #fff;
    transition: border-color 0.25s var(--ease), box-shadow 0.25s var(--ease);
}

body:not(.page-home-landing) .field input:focus,
body:not(.page-home-landing) .field textarea:focus,
body:not(.page-home-landing) .field select:focus {
    border-color: rgba(196, 92, 62, 0.45);
    box-shadow: 0 0 0 3px rgba(196, 92, 62, 0.08);
}

/* ── List / project grid ── */
body:not(.page-home-landing) .proj-card {
    border: 1px solid var(--line);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow);
    transition: transform 0.3s var(--ease), box-shadow 0.3s var(--ease);
}

body:not(.page-home-landing) .proj-card:hover {
    transform: translateY(-4px);
    box-shadow: var(--shadow-lg);
}

body:not(.page-home-landing) .proj-card .thumb {
    background: #f3efe8;
}

body:not(.page-home-landing) .empty-state {
    border: 1px dashed var(--line);
    border-radius: var(--radius-lg);
    background: rgba(255, 255, 255, 0.55);
}

/* ── Page cards (view / agent feed) ── */
body:not(.page-home-landing) .page-card {
    border: 1px solid var(--line);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow);
}

body:not(.page-home-landing) .page-arrow:hover:not(:disabled) {
    background: var(--accent);
    border-color: var(--accent);
    color: #fff;
}

/* ── Toasts ── */
body:not(.page-home-landing) .toast {
    border-radius: 100px;
    font-family: var(--font-sans);
    font-size: 0.8125rem;
    box-shadow: var(--shadow-lg);
}

body:not(.page-home-landing) .toast.ok {
    background: #3d7a52;
}

/* ── Agent page ── */
body.page-agent .agent-left-head .agent-title {
    font-family: var(--font-serif);
    font-weight: 400;
    font-size: 1.35rem;
    letter-spacing: -0.02em;
}

body.page-agent .feed-bar-title {
    font-family: var(--font-serif);
    font-weight: 400;
    font-size: 0.9375rem;
    letter-spacing: 0.02em;
    text-transform: none;
    color: var(--fg);
}

body.page-agent .agent-left-head .agent-meta a {
    color: var(--accent);
}

body.page-agent .btn-gen-circle {
    background: var(--fg);
    box-shadow: 0 4px 16px rgba(26, 24, 20, 0.18);
}

body.page-agent .btn-gen-circle:hover {
    background: var(--accent);
}

body.page-agent .in-flight-pill::before {
    background: var(--accent);
}

body.page-agent .composer-box {
    border-radius: var(--radius-lg);
}

body.page-agent .agent-quota-banner a {
    color: var(--accent);
}

body.page-agent .chat-msg.role-user .bubble {
    background: var(--accent-soft);
    border-color: rgba(196, 92, 62, 0.15);
}

/* ── Ref thumbnails ── */
body:not(.page-home-landing) .ref-add:hover {
    border-color: var(--accent);
    color: var(--accent);
    background: var(--accent-soft);
}

body:not(.page-home-landing) .ref-zone {
    border-radius: var(--radius);
    background: rgba(255, 255, 255, 0.6);
}
