/* ============================================================
   保利风主题（海上日出 · 央企大气 · 品牌金蓝）—— 在 style.css 之后加载，仅做覆盖
   风格提炼：深海蓝 #0a2e5c → 天际蓝 #2f7fd0 → 日出金 #f0a63c，点缀保利橙
   ============================================================ */
body.theme-poly {
  --navy: #0a2e5c;            /* 深海蓝 */
  --blue: #155a9c;
  --blue-2: #2f7fd0;          /* 天际蓝 */
  --blue-soft: #e9f2fc;
  --orange: #d98e1e;          /* 日出金 */
  --orange-2: #f0a63c;
  --orange-soft: #fdf3e2;
  --ink: #1b2a3d;
  --muted: #5d7186;
  --line: #d8e4f2;
  --panel: #f4f8fd;
  --green: #2f8f6b;
  --red: #c0452f;
  --shadow: 0 16px 44px rgba(10, 46, 92, .13);
  --radius: 18px;
  background: #f2f8fe;
}

html:has(body.theme-poly) { background: #f2f8fe; }

/* 页面背景：保利品牌图（游艇日出）+ 半透明浅色蒙版保证内容可读 */
body.theme-poly::before {
  content: ""; position: fixed; inset: 0; z-index: -1; pointer-events: none;
  background:
    linear-gradient(180deg, rgba(242, 248, 254, .82) 0%, rgba(236, 245, 253, .7) 34%, rgba(242, 248, 254, .86) 100%),
    url("/assets/poly-sunrise.jpg?v=20260910g") center top / cover no-repeat;
  /* 支持 WebP 的浏览器改用更小体积的 WebP（不理解 image-set 的浏览器忽略本行，沿用上方 JPG） */
  background-image:
    linear-gradient(180deg, rgba(242, 248, 254, .82) 0%, rgba(236, 245, 253, .7) 34%, rgba(242, 248, 254, .86) 100%),
    image-set(url("/assets/poly-sunrise.webp?v=20260910g") type("image/webp"), url("/assets/poly-sunrise.jpg?v=20260910g") type("image/jpeg"));
}

/* 顶栏：深海渐变 + 金色底线 */
.theme-poly .topbar {
  background: linear-gradient(96deg, #0a2e5c 0%, #123f7a 55%, #1c5aa8 100%);
  border-bottom: 3px solid #f0a63c;
  box-shadow: 0 8px 26px rgba(10, 46, 92, .3);
}
.theme-poly .topbar .brand .mark {
  background: linear-gradient(145deg, #f0a63c, #d98e1e); color: #fff;
  border-radius: 10px; box-shadow: 0 0 14px rgba(240,166,60,.45);
}
.theme-poly .topbar nav a { border-radius: 8px; }
.theme-poly .topbar nav a.active { background: rgba(240,166,60,.22); color: #ffd88f; }
.theme-poly .topbar .me .role-tag { background: rgba(240,166,60,.2); color: #ffd88f; }
.theme-poly .topbar .me button:hover { background: rgba(240,166,60,.18); }

/* Hero：海上日出实景图 + 深海蓝渐变罩层（保证文字可读）；加高区域让轮船完整入画 */
.theme-poly .hero {
  border-radius: 24px;
  min-height: 340px;
  padding: 42px 40px;
  background:
    linear-gradient(180deg, rgba(10,46,92,.3) 0%, rgba(10,46,92,.2) 45%, rgba(10,46,92,.48) 100%),
    url('/assets/poly-sunrise.jpg?v=20260910g') center 86% / cover no-repeat;
  background-image:
    linear-gradient(180deg, rgba(10,46,92,.3) 0%, rgba(10,46,92,.2) 45%, rgba(10,46,92,.48) 100%),
    image-set(url('/assets/poly-sunrise.webp?v=20260910g') type('image/webp'), url('/assets/poly-sunrise.jpg?v=20260910g') type('image/jpeg'));
  box-shadow: 0 22px 56px rgba(10, 46, 92, .35);
}
.theme-poly .hero::after { display: none; } /* 实景图自带海平线波光，不再叠加 */
/* kicker 隐藏（与顶栏品牌重复），h1 大标题保留展示「AI+保利置业 · 智启新程」 */
.theme-poly .hero .kicker { display: none; }
.theme-poly .hero h1 { text-shadow: 0 2px 18px rgba(10,46,92,.45); }
.theme-poly .hero p { color: rgba(255,255,255,.92); }
.theme-poly .hero .stage-pill { background: rgba(10,46,92,.38); border: 1px solid rgba(255,227,173,.45); color: #ffe3ad; }
.theme-poly .hero .stage-pill .dot { background: #ffd88f; box-shadow: 0 0 12px #ffd88f; animation: polySun 2.6s ease-in-out infinite; }
@keyframes polySun { 0%,100% { box-shadow: 0 0 6px 1px rgba(255,216,143,.8); } 50% { box-shadow: 0 0 16px 4px rgba(255,216,143,.5); } }

/* 阶段卡：三个圆角方框顶边统一深海蓝 */
.theme-poly .stage-card { border: 1px solid var(--line); border-top: 5px solid #0a2e5c; box-shadow: 0 8px 24px rgba(10,46,92,.07); }
.theme-poly .stage-card.s2 { border-top-color: #0a2e5c; }
.theme-poly .stage-card.s3 { border-top-color: #0a2e5c; }
/* 不凸显当前环节：三个框样式始终保持一致（仅保留卡内「进行中」徽标提示） */
.theme-poly .stage-card h3 { color: #0a2e5c; }
.theme-poly .stage-card .time { color: #d98e1e; }
.theme-poly .stage-card .now { color: #155a9c; background: var(--blue-soft); }
.theme-poly .stage-card.current .now { color: #fff; background: linear-gradient(90deg, #d98e1e, #f0a63c); }
.theme-poly .section-title { border-bottom: 2px solid var(--line); }
.theme-poly .section-title h2 { color: #0a2e5c; }
.theme-poly .section-title h2 span { color: #d98e1e !important; }

/* 项目卡 */
.theme-poly .project-card { border: 1px solid var(--line); box-shadow: 0 8px 24px rgba(10,46,92,.06); }
.theme-poly .project-card:hover { transform: translateY(-4px); box-shadow: var(--shadow); border-color: rgba(47,127,208,.4); }
.theme-poly .project-card h3 { color: #14335c; }
.theme-poly .project-card .go { color: #d98e1e; }

/* 按钮 */
.theme-poly .btn {
  border-radius: 10px;
  background: linear-gradient(92deg, #123f7a, #2f7fd0);
  box-shadow: 0 8px 20px rgba(18, 63, 122, .28);
  transition: transform .16s ease, box-shadow .16s ease;
}
.theme-poly .btn:hover { background: linear-gradient(92deg, #1c5aa8, #4a90dd); transform: translateY(-2px); }
.theme-poly .btn.orange {
  background: linear-gradient(92deg, #d98e1e, #f0a63c);
  box-shadow: 0 8px 20px rgba(217, 142, 30, .35);
  /* 金底配深海蓝字：解决白字在亮金底上看不清的问题（呼应实景图深色船体压金色海面） */
  color: #0a2e5c; font-weight: 800;
}
.theme-poly .btn.orange:hover { background: linear-gradient(92deg, #e8a63c, #f7bd63); color: #0a2e5c; }
.theme-poly .btn.ghost { background: #fff; color: #155a9c; border: 1.5px solid var(--line); box-shadow: none; }
.theme-poly .btn.big { border-radius: 12px; }

/* 提示条 */
.theme-poly .notice { border: 1px solid #f0ddba; border-left: 6px solid #f0a63c; background: var(--orange-soft); border-radius: 14px; color: #6b5326; }
.theme-poly .notice.blue { border-left-color: #2f7fd0; border-color: #cfdff2; background: var(--blue-soft); color: #28425f; }
.theme-poly .notice strong { color: #d98e1e; }
.theme-poly .notice.blue strong { color: #155a9c; }
.theme-poly .notice a { color: #d98e1e; font-weight: 700; }
.theme-poly .notice.blue a { color: #155a9c; }

/* 表单 */
.theme-poly .field label { color: #0a2e5c; }
.theme-poly .field input, .theme-poly .field textarea, .theme-poly .field select {
  border: 1.5px solid var(--line); border-radius: 12px;
}
.theme-poly .field input:focus, .theme-poly .field textarea:focus {
  border-color: #2f7fd0; box-shadow: 0 0 0 4px rgba(47,127,208,.13);
}

/* 登录页：海上日出实景全屏背景 + 轻微深海罩层（让白色登录卡更跳） */
.theme-poly .login-page {
  background:
    linear-gradient(180deg, rgba(6,26,54,.28) 0%, rgba(6,26,54,.12) 50%, rgba(6,26,54,.3) 100%),
    url('/assets/poly-sunrise.jpg?v=20260910g') center / cover no-repeat;
  background-image:
    linear-gradient(180deg, rgba(6,26,54,.28) 0%, rgba(6,26,54,.12) 50%, rgba(6,26,54,.3) 100%),
    image-set(url('/assets/poly-sunrise.webp?v=20260910g') type('image/webp'), url('/assets/poly-sunrise.jpg?v=20260910g') type('image/jpeg'));
}
.theme-poly .login-card {
  border-radius: 24px;
  box-shadow: 0 30px 90px rgba(6, 26, 54, .55);
  border-top: 4px solid #f0a63c;
  animation: polyRise .55s cubic-bezier(.25,1.35,.45,1);
}
@keyframes polyRise { from { transform: translateY(26px); opacity: 0; } to { transform: none; opacity: 1; } }
.theme-poly .login-card .mark {
  border-radius: 14px; background: linear-gradient(145deg, #f0a63c, #d98e1e);
  color: #fff; box-shadow: 0 6px 18px rgba(240,166,60,.45);
}
.theme-poly .login-card h1 { color: #0a2e5c; }
.theme-poly .code-row button { border-radius: 10px; border: 1.5px solid #2f7fd0; background: var(--blue-soft); color: #155a9c; }
.theme-poly .login-alt .wecom { border: 1.5px dashed var(--line); border-radius: 10px; background: var(--panel); }
.theme-poly .mock-tip { background: var(--blue-soft); color: #155a9c; }
.theme-poly .watch-tip { background: var(--orange-soft); border: 1px solid #f0ddba; border-left: 5px solid #f0a63c; color: #6b5326; }
.theme-poly .watch-tip b, .theme-poly .watch-tip a { color: #d98e1e; }

/* 投票 */
.theme-poly .vote-card { border: 2px solid var(--line); }
.theme-poly .vote-card:hover { border-color: #7db4ea; transform: translateY(-2px); }
.theme-poly .vote-card.selected { border-color: #f0a63c; background: var(--orange-soft); box-shadow: 0 8px 22px rgba(240,166,60,.22); }
.theme-poly .vote-card.selected .pick { background: linear-gradient(145deg, #d98e1e, #f0a63c); border-color: transparent; }
.theme-poly .vote-card .tag { background: var(--blue-soft); color: #155a9c; }
.theme-poly .vote-bar {
  border-radius: 16px;
  background: linear-gradient(95deg, #0a2e5c, #123f7a 60%, #1c5aa8);
  border-bottom: 3px solid #f0a63c;
  box-shadow: 0 18px 44px rgba(10,46,92,.42);
}
.theme-poly .vote-bar .cnt b { color: #ffd88f; }

/* 结果 */
.theme-poly .result-row { border: 1px solid var(--line); box-shadow: 0 6px 20px rgba(10,46,92,.06); }
.theme-poly .result-row.top1 { border: 2px solid #f0a63c; background: linear-gradient(90deg, #fdf6e6, #fff); }
.theme-poly .result-row.top2 { border: 2px solid #b8c2cc; background: linear-gradient(90deg, #fafcfd, #fff); }
.theme-poly .result-row.top3 { border: 2px solid #c98f5e; background: linear-gradient(90deg, #fdf8f3, #fff); }
.theme-poly .result-row .rank { background: var(--blue-soft); color: #155a9c; }
.theme-poly .result-row.top1 .rank { background: linear-gradient(145deg, #d98e1e, #f0a63c); box-shadow: 0 4px 12px rgba(240,166,60,.4); }
.theme-poly .result-row.top2 .rank { background: #8a98a5; }
.theme-poly .result-row.top3 .rank { background: #b0764a; }
.theme-poly .result-row .info h3 { color: #14335c; }
.theme-poly .result-row .score b { color: #d98e1e; }
.theme-poly .score-bar { background: #e4edf8; }
.theme-poly .score-bar i { background: linear-gradient(90deg, #2f7fd0, #f0a63c); }
.theme-poly .stat-card { border: 1px solid var(--line); box-shadow: 0 6px 18px rgba(10,46,92,.06); }
.theme-poly .stat-card b { color: #0a2e5c; }
.theme-poly .stat-card .wt { background: var(--orange-soft); color: #d98e1e; }
.theme-poly .award-1 { background: linear-gradient(92deg, #d98e1e, #f0a63c); }
.theme-poly .award-2 { background: #8a98a5; }
.theme-poly .award-3 { background: #b0764a; }
.theme-poly .modal-names { color: #0a2e5c; }

/* 详情页 */
.theme-poly .detail-cover { border-radius: 24px; }
.theme-poly .video-cta {
  border-radius: 18px;
  background: linear-gradient(110deg, #0a2e5c, #123f7a 55%, #1c5aa8);
  border-bottom: 3px solid #f0a63c;
}
.theme-poly .detail-sec { border: 1px solid var(--line); }
.theme-poly .detail-sec h3 { color: #0a2e5c; }
.theme-poly .modal h3 { color: #0a2e5c; }
.theme-poly .toast { background: rgba(10, 46, 92, .95); border-bottom: 2px solid #f0a63c; }
.theme-poly a { color: #155a9c; }
