/* 願望池 — 設計系統。暖色暗底 + 琥珀金(願望/希望)+ 青(互動)。Noto Serif TC 標題。
   注意:所有 class 名沿用 JS 產生的元素(.card/.badge/.vote/.detail/.answer/.board-card...),只重設樣式,勿改名。 */
:root {
  --bg: #12100c; --bg-2: #17140e;
  --surface: #1e1a12; --surface-2: #262115; --surface-3: #2f2818;
  --border: #38301f; --border-soft: #2a2417;
  --text: #f3efe6; --muted: #b6ad98; --dim: #8c846f;
  --amber: #f4b53a; --amber-deep: #d98a1e; --amber-soft: #ffd98a;
  --cyan: #22d3ee; --cyan-deep: #0e9fbf;
  --on-amber: #241a08;
  --success: #4ade80; --building: #f7a81b; --adopted: #7cc4ff; --danger: #e0685f; --line: #06c755;
  --overlay: rgba(8, 6, 3, .68);
  --r: 16px; --r-sm: 10px; --gap: 16px;
  --shadow: 0 8px 30px rgba(0,0,0,.35);
  --glow-amber: 0 0 40px rgba(244,181,58,.10);
  --serif: 'Noto Serif TC', 'Songti TC', serif;
  --sans: 'Noto Sans TC', system-ui, -apple-system, 'PingFang TC', sans-serif;
}
* { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body {
  margin: 0; color: var(--text); font-family: var(--sans); line-height: 1.65; letter-spacing: .01em;
  background:
    radial-gradient(1100px 520px at 50% -8%, rgba(244,181,58,.10), transparent 60%),
    radial-gradient(800px 500px at 88% 8%, rgba(34,211,238,.06), transparent 55%),
    linear-gradient(180deg, var(--bg-2), var(--bg) 40%);
  background-attachment: fixed; min-height: 100vh;
}
.wrap { max-width: 860px; margin: 0 auto; padding: 0 20px 40px; }

/* hero */
header.hero { text-align: center; padding: 62px 0 22px; position: relative; }
header.hero .kicker { display: inline-block; font: 500 .72rem/1 var(--sans); letter-spacing: .32em; text-transform: uppercase;
  color: var(--amber); padding: 7px 16px; border: 1px solid rgba(244,181,58,.28); border-radius: 999px; margin-bottom: 22px; background: rgba(244,181,58,.05); }
header.hero h1 { font-family: var(--serif); font-weight: 700; font-size: clamp(2rem, 6vw, 3.1rem); line-height: 1.12; margin: 0 0 14px;
  background: linear-gradient(180deg, #fff 10%, var(--amber-soft) 130%); -webkit-background-clip: text; background-clip: text; color: transparent; }
header.hero p { color: var(--muted); margin: 0 auto; max-width: 30em; font-size: 1.02rem; }
header.hero p a, .hero-links a { color: var(--cyan); text-decoration: none; border-bottom: 1px solid rgba(34,211,238,.3); }
header.hero p a:hover { border-color: var(--cyan); }

/* bar */
.bar { display: flex; gap: 10px; align-items: center; margin: 26px 0; flex-wrap: wrap; }
.bar .spacer { flex: 1; }

/* buttons */
button, .btn { font: 500 .95rem var(--sans); cursor: pointer; border: 1px solid var(--border); background: var(--surface-2); color: var(--text);
  border-radius: 999px; padding: 11px 18px; min-height: 44px; transition: transform .12s, background .18s, border-color .18s, box-shadow .18s; }
button:hover { border-color: #4a3f28; transform: translateY(-1px); }
button:active { transform: translateY(0); }
button.primary { background: linear-gradient(135deg, var(--amber) 0%, var(--amber-deep) 100%); color: var(--on-amber); border-color: transparent;
  font-weight: 700; box-shadow: 0 6px 18px rgba(217,138,30,.28); }
button.primary:hover { box-shadow: 0 8px 24px rgba(217,138,30,.4); }
button.sort { background: transparent; border-color: transparent; color: var(--muted); min-height: 38px; padding: 8px 16px; }
button.sort.active { background: var(--surface-3); color: var(--amber-soft); }

/* card */
#wall { display: flex; flex-direction: column; gap: 18px; }
.card { position: relative; background: linear-gradient(165deg, var(--surface) 0%, var(--surface-2) 100%);
  border: 1px solid var(--border); border-radius: var(--r); padding: 22px; box-shadow: var(--shadow);
  transition: transform .16s, border-color .16s, box-shadow .16s; }
.card:hover { transform: translateY(-2px); border-color: #4a3f28; box-shadow: var(--shadow), var(--glow-amber); }
.card > .row { align-items: flex-start; gap: 10px; }
.card h3 { font-family: var(--serif); font-weight: 700; margin: 0 0 4px; font-size: 1.3rem; line-height: 1.35; letter-spacing: 0; }
.badge { flex: none; font: 600 .72rem var(--sans); padding: 4px 11px; border-radius: 999px; background: var(--surface-3); color: var(--muted);
  border: 1px solid var(--border); white-space: nowrap; }
.badge.adopted { color: var(--adopted); border-color: rgba(124,196,255,.3); background: rgba(124,196,255,.08); }
.badge.building { color: var(--building); border-color: rgba(247,168,27,.3); background: rgba(247,168,27,.08); }
.badge.done { color: var(--success); border-color: rgba(74,222,128,.3); background: rgba(74,222,128,.08); }
.kv { display: grid; grid-template-columns: auto 1fr; gap: 6px 14px; margin: 14px 0 4px; font-size: .95rem; }
.kv dt { color: var(--dim); white-space: nowrap; font-size: .88rem; padding-top: 1px; }
.kv dd { margin: 0; color: #e2dccf; }
.card-foot { display: flex; align-items: center; gap: 10px; margin-top: 16px; flex-wrap: wrap; }
.vote { display: inline-flex; align-items: center; gap: 7px; font-weight: 600; font-variant-numeric: tabular-nums; padding: 9px 15px; }
.vote:hover { color: var(--amber-soft); border-color: rgba(244,181,58,.4); }
.muted { color: var(--muted); }
.row { display: flex; gap: 8px; }

/* detail */
.detail { margin-top: 18px; padding-top: 6px; border-top: 1px solid var(--border-soft); }
.detail-h { font-family: var(--serif); font-weight: 700; margin: 20px 0 8px; font-size: 1.02rem; color: var(--amber-soft);
  display: flex; align-items: center; gap: 8px; }
.detail-h::before { content: ''; width: 3px; height: 15px; border-radius: 2px; background: var(--amber); }
.need { border-left: 2px solid var(--cyan-deep); padding: 6px 12px; margin: 6px 0; color: var(--muted); font-size: .92rem; background: rgba(34,211,238,.03); border-radius: 0 6px 6px 0; }
.need.resolved { border-left-color: rgba(74,222,128,.55); background: rgba(74,222,128,.04); }
.need.resolved > div:first-child { opacity: .55; text-decoration: line-through; }
.need.resolved .need-answer { opacity: 1; text-decoration: none; }
.update { padding: 7px 0; font-size: .92rem; border-bottom: 1px dashed var(--border-soft); }
.update-kind { font: 600 .7rem var(--sans); padding: 2px 9px; border-radius: 999px; background: var(--surface-3); color: var(--muted); margin-right: 4px; }
.update-kind.claim { color: var(--amber-soft); } .update-kind.blocked { color: var(--danger); }
.answer { background: linear-gradient(165deg, var(--surface-2), var(--surface-3)); border: 1px solid var(--border); border-radius: var(--r-sm); padding: 13px 15px; margin: 10px 0; }
.answer-top { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }
.repo-link { color: var(--cyan); word-break: break-all; text-decoration: none; border-bottom: 1px solid rgba(34,211,238,.25); font-size: .92rem; }
.repo-link:hover { border-color: var(--cyan); }
.answer-foot { display: flex; gap: 12px; align-items: center; margin-top: 9px; }
.resp { background: var(--surface-2); border-radius: var(--r-sm); padding: 10px 14px; margin: 8px 0; font-size: .92rem; }
.resp .who, .who { color: var(--dim); font-size: .8rem; }
.detail button { margin: 8px 8px 0 0; min-height: 40px; padding: 9px 15px; font-size: .88rem; }

/* modal */
.modal-bg { position: fixed; inset: 0; background: var(--overlay); backdrop-filter: blur(6px); display: none; align-items: center; justify-content: center; padding: 14px; z-index: 50; }
.modal-bg.open { display: flex; }
.modal { background: linear-gradient(165deg, var(--surface) 0%, var(--surface-2) 100%); border: 1px solid var(--border); border-radius: var(--r);
  width: 100%; max-width: 580px; max-height: 90vh; overflow: auto; padding: 26px; box-shadow: 0 30px 80px rgba(0,0,0,.6); }
.modal h3 { font-family: var(--serif); font-size: 1.35rem; }
input, textarea, select { width: 100%; font: inherit; color: var(--text); background: var(--bg-2); border: 1px solid var(--border); border-radius: var(--r-sm); padding: 12px; min-height: 44px; transition: border-color .16s; }
input:focus, textarea:focus { outline: none; border-color: var(--amber); }
textarea { min-height: 84px; resize: vertical; }
label.muted { display: block; font-size: .82rem; margin-bottom: 5px; }
.chat-log { display: flex; flex-direction: column; gap: 9px; margin: 14px 0; }
.msg { padding: 10px 14px; border-radius: 13px; max-width: 86%; font-size: .95rem; }
.msg.user { align-self: flex-end; background: linear-gradient(135deg, var(--amber), var(--amber-deep)); color: var(--on-amber); }
.msg.bot { align-self: flex-start; background: var(--surface-3); }

/* board */
#board { margin-top: 8px; }
.board-col { margin-bottom: 26px; }
.board-col-h { font-family: var(--serif); font-weight: 700; font-size: 1.08rem; padding-bottom: 8px; margin: 0 0 10px; border-bottom: 1px solid var(--border); color: var(--amber-soft); }
.board-card { display: block; background: linear-gradient(165deg, var(--surface), var(--surface-2)); border: 1px solid var(--border); border-radius: var(--r-sm);
  padding: 14px 16px; margin: 10px 0; color: var(--text); text-decoration: none; transition: transform .14s, border-color .14s; }
.board-card:hover { transform: translateY(-2px); border-color: var(--amber-deep); }
.board-card-title { font-family: var(--serif); font-weight: 600; margin-bottom: 5px; line-height: 1.4; }
@media (min-width: 860px) { #board { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; align-items: start; } .board-col { margin-bottom: 0; } .board-card { padding: 12px 13px; } .board-card-title { font-size: .95rem; } }

/* footer */
.site-footer { margin: 56px 0 30px; display: flex; flex-direction: column; align-items: center; gap: 12px; }
.footer-icons { display: flex; gap: 14px; align-items: center; }
.footer-icon { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; border-radius: 999px; border: 1px solid var(--border); background: var(--surface); color: var(--muted); transition: color .15s, border-color .15s, transform .15s; }
.footer-icon:hover { color: var(--amber-soft); border-color: var(--amber-deep); transform: translateY(-2px); }

/* admin manage panel */
.mdetail { margin-top: 12px; padding: 12px; border: 1px dashed var(--border); border-radius: var(--r-sm); background: var(--bg-2); }
.mdetail .card-foot { margin-top: 8px; }

#empty { text-align: center; padding: 30px 0; }
@media (max-width: 560px) { .wrap { padding: 0 15px 34px; } .card { padding: 18px; } header.hero { padding: 46px 0 18px; } }

/* ============ 池的世界觀(index) ============ */
#pond { position: fixed; inset: 0; z-index: 0; pointer-events: none; }
.pond-page .wrap { position: relative; z-index: 1; }
.pond-page { background:
    radial-gradient(1200px 640px at 50% -10%, rgba(244,181,58,.13), transparent 62%),
    radial-gradient(900px 560px at 85% 6%, rgba(34,211,238,.07), transparent 55%),
    radial-gradient(1400px 900px at 50% 115%, rgba(14,60,72,.35), transparent 60%),
    linear-gradient(180deg, #14110b, #0e0c08 45%, #0a0d0e);
  background-attachment: fixed; }

/* 星帶:成真的願望 */
.band-label { text-align: center; color: var(--dim); font-size: .8rem; letter-spacing: .22em; margin: 6px 0 10px; }
/* 星河:三排錯落、拖曳滑動、邊緣漸隱示意左右還有、無限輪迴(無捲軸) */
#starband.river { position: relative; overflow: hidden; padding: 4px 0 8px; cursor: grab; touch-action: pan-y;
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
  mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); }
#starband.river:active { cursor: grabbing; }
.river-row { position: relative; height: 54px; margin: 4px 0; }
.river-strip { position: absolute; left: 0; top: 0; display: flex; align-items: center; will-change: transform; }
.star { flex: none; display: inline-flex; align-items: center; gap: 9px; max-width: 300px; text-align: left; user-select: none; -webkit-user-select: none;
  background: rgba(244,181,58,.07); border: 1px solid rgba(244,181,58,.32); border-radius: 999px;
  padding: 9px 16px 9px 12px; color: var(--amber-soft); min-height: 44px; }
.star:hover { border-color: var(--amber); background: rgba(244,181,58,.13); transform: translateY(-1px); }
.star-dot { flex: none; width: 10px; height: 10px; border-radius: 50%; background: var(--amber);
  box-shadow: 0 0 10px 3px rgba(244,181,58,.55); animation: starPulse 2.6s ease-in-out infinite; }
.star-title { font-family: var(--serif); font-weight: 600; font-size: .88rem; line-height: 1.3;
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
@keyframes starPulse { 0%,100% { box-shadow: 0 0 8px 2px rgba(244,181,58,.45); } 50% { box-shadow: 0 0 14px 5px rgba(244,181,58,.75); } }

/* 願望燈 */
#lanterns { display: flex; flex-direction: column; gap: 20px; padding-bottom: 8px; }
.lantern { position: relative; cursor: pointer; border-radius: 18px; padding: 22px 22px 18px;
  background: linear-gradient(170deg, rgba(58,46,24,.92), rgba(38,32,20,.94));
  border: 1px solid rgba(244,181,58,.22);
  box-shadow: 0 10px 34px rgba(0,0,0,.4), 0 0 26px rgba(244,181,58,.05), inset 0 1px 0 rgba(255,220,150,.08);
  animation: bob 7s ease-in-out infinite; transition: border-color .18s, box-shadow .18s, transform .18s; }
.lantern:nth-child(2n) { animation-delay: -2.3s; animation-duration: 8s; }
.lantern:nth-child(3n) { animation-delay: -4.1s; animation-duration: 6.4s; }
.lantern:hover, .lantern:focus-visible { border-color: rgba(244,181,58,.55);
  box-shadow: 0 14px 40px rgba(0,0,0,.45), 0 0 44px rgba(244,181,58,.14), inset 0 1px 0 rgba(255,220,150,.12); outline: none; }
.lantern::after { content: ''; position: absolute; left: 12%; right: 12%; bottom: -14px; height: 16px;
  background: radial-gradient(50% 100% at 50% 0%, rgba(244,181,58,.16), transparent 75%); pointer-events: none; }
@keyframes bob { 0%,100% { transform: translateY(0) rotate(0); } 50% { transform: translateY(-5px) rotate(.25deg); } }
.lantern h3 { font-family: var(--serif); font-weight: 700; font-size: 1.28rem; line-height: 1.4; margin: 2px 0 10px; color: #f6edda; }
.lantern-foot { display: flex; gap: 14px; align-items: center; flex-wrap: wrap; }
.coins { color: var(--amber-soft); font-size: .88rem; font-variant-numeric: tabular-nums; }
.wisher { color: var(--dim); font-size: .82rem; }
.phrase { display: inline-block; font: 600 .72rem var(--sans); padding: 4px 12px; border-radius: 999px;
  background: var(--surface-3); color: var(--muted); border: 1px solid var(--border); }
.phrase.adopted { color: var(--adopted); border-color: rgba(124,196,255,.35); background: rgba(124,196,255,.08); }
.phrase.building { color: var(--building); border-color: rgba(247,168,27,.35); background: rgba(247,168,27,.08); }
.phrase.done { color: var(--success); border-color: rgba(74,222,128,.35); background: rgba(74,222,128,.08); }

/* bottom-sheet:打開一盞燈 */
.sheet-bg { position: fixed; inset: 0; z-index: 60; background: var(--overlay); backdrop-filter: blur(6px);
  display: none; align-items: flex-end; justify-content: center; }
.sheet-bg.open { display: flex; }
.sheet { width: 100%; max-width: 640px; max-height: 88vh; overflow-y: auto; overscroll-behavior: contain;
  background: linear-gradient(175deg, #292216, #1c1810 60%); border: 1px solid rgba(244,181,58,.25); border-bottom: none;
  border-radius: 22px 22px 0 0; padding: 18px 22px 34px; box-shadow: 0 -20px 70px rgba(0,0,0,.6);
  animation: sheetUp .28s cubic-bezier(.2,.9,.3,1); }
@keyframes sheetUp { from { transform: translateY(48px); opacity: .4; } to { transform: none; opacity: 1; } }
.sheet-head { display: flex; justify-content: space-between; align-items: center; margin-bottom: 10px; }
.sheet-close { min-height: 38px; padding: 7px 14px; font-size: .85rem; }
.sheet-title { font-family: var(--serif); font-weight: 700; font-size: 1.5rem; line-height: 1.35; margin: 2px 0 4px; color: #f8f0dd; }
.sheet-label { font-family: var(--serif); font-weight: 700; color: var(--amber-soft); font-size: .95rem; margin: 18px 0 7px;
  display: flex; align-items: center; gap: 8px; }
.sheet-label::before { content: ''; width: 3px; height: 14px; border-radius: 2px; background: var(--amber); }
.sheet-label-row { display: flex; align-items: center; justify-content: space-between; gap: 10px; flex-wrap: wrap; }
.sheet-label-row .sheet-label { flex: none; }
.hope { color: #eadfc8; margin: 4px 0; }
/* 女神的整理筆記:多段文字,保留 \n 分段 */
.goddess-notes { white-space: pre-wrap; }
.hope-list { margin: 4px 0 0; padding-left: 22px; color: #eadfc8; }
.hope-list li { margin: 3px 0; }
.sheet-actions { display: flex; gap: 10px; flex-wrap: wrap; margin: 16px 0 4px; }
.coin-btn { background: linear-gradient(135deg, var(--amber), var(--amber-deep)); color: var(--on-amber);
  border: none; font-weight: 700; box-shadow: 0 6px 18px rgba(217,138,30,.3); }
.coin-btn .coin-count { background: rgba(0,0,0,.18); border-radius: 999px; padding: 2px 10px; margin-left: 6px; font-variant-numeric: tabular-nums; }
.celebrate { text-align: center; background: rgba(74,222,128,.06); border: 1px solid rgba(74,222,128,.28);
  border-radius: 14px; padding: 16px; margin: 12px 0; }
.celebrate-line { font-family: var(--serif); font-weight: 700; color: var(--success); font-size: 1.05rem; margin: 0 0 8px; }
.celebrate-repo { color: var(--cyan); word-break: break-all; text-decoration: none; border-bottom: 1px solid rgba(34,211,238,.3); }
.echo { background: rgba(255,232,180,.05); border-left: 2px solid rgba(244,181,58,.4); border-radius: 0 10px 10px 0;
  padding: 9px 13px; margin: 7px 0; font-size: .93rem; }
.echo.solved { border-left-color: rgba(74,222,128,.55); background: rgba(74,222,128,.05); }
.echo-actions { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; margin-top: 6px; }
.echo-solve, .echo-reply, .echo-more, .sort-toggle { min-height: 32px; padding: 5px 12px; font-size: .8rem; }
.replies { margin: 6px 0 0 16px; padding-left: 12px; border-left: 1px dashed var(--border); }
.echo.reply { margin: 6px 0; font-size: .9rem; }
.helper { margin-top: 22px; border-top: 1px dashed var(--border); padding-top: 12px; }
.helper summary { cursor: pointer; color: var(--muted); font-size: .9rem; padding: 8px 2px; list-style-position: inside; }
.helper summary:hover { color: var(--amber-soft); }
.helper-body { padding: 4px 2px 0; }
.helper-tools { display: flex; gap: 8px; flex-wrap: wrap; margin: 14px 0 12px; }
.helper-tools button { min-height: 40px; padding: 9px 14px; font-size: .87rem; }

@media (prefers-reduced-motion: reduce) {
  .lantern, .star-dot { animation: none; }
  .sheet { animation: none; }
}
@media (min-width: 640px) { .sheet-bg { align-items: center; padding: 20px; } .sheet { border-radius: 22px; border-bottom: 1px solid rgba(244,181,58,.25); } }

/* ============ 晨光湖(day theme,html.theme-day;預設)============ */
:root.theme-day {
  --bg: #eef7f3; --bg-2: #f6fbf8;
  --surface: #ffffff; --surface-2: #f0f8f4; --surface-3: #e3f2ec;
  --border: #cfe6dc; --border-soft: #e0efe8;
  --text: #2c4a44; --muted: #5d7d75; --dim: #8ba49c;
  --amber: #f2b53c; --amber-deep: #e09a1f; --amber-soft: #b57f12;
  --cyan: #1f9db2; --cyan-deep: #177f92; --on-amber: #3a2a05;
  --success: #2f9e6e; --building: #d98f22; --adopted: #4a8ec7; --danger: #d96a5f;
  --overlay: rgba(190,220,212,.55);
  --shadow: 0 10px 28px rgba(70,130,115,.13);
  --glow-amber: 0 0 26px rgba(242,181,60,.12);
}
html.theme-day body.pond-page { background:
  radial-gradient(1100px 500px at 50% -6%, rgba(255,244,205,.75), transparent 60%),
  radial-gradient(900px 500px at 12% 10%, rgba(200,238,250,.5), transparent 55%),
  linear-gradient(180deg, #f2fbff 0%, #e6f6f0 34%, #d4ede4 62%, #c6e6dd 100%);
  background-attachment: fixed; }
.theme-day header.hero h1 { background: linear-gradient(180deg, #2e5a52 20%, #177f92 120%); -webkit-background-clip: text; background-clip: text; }
.theme-day header.hero .kicker { color: #b57f12; border-color: rgba(226,170,60,.45); background: rgba(255,236,190,.4); }
.theme-day .star { background: rgba(255,247,224,.85); border-color: rgba(226,170,60,.5); color: #8a6410; }
.theme-day .star-dot { box-shadow: 0 0 10px 3px rgba(242,181,60,.5); }
.theme-day .lantern { background: linear-gradient(170deg, #ffffff, #f4faf7); border-color: #d5e9df;
  box-shadow: 0 12px 30px rgba(70,130,115,.12), inset 0 1px 0 #fff; }
.theme-day .lantern:hover, .theme-day .lantern:focus-visible { border-color: #a9d4c4; box-shadow: 0 16px 36px rgba(70,130,115,.18); }
.theme-day .lantern::after { background: radial-gradient(50% 100% at 50% 0%, rgba(140,200,180,.28), transparent 75%); }
.theme-day .lantern h3, .theme-day .sheet-title { color: #274741; }
.theme-day .sheet { background: linear-gradient(175deg, #ffffff, #f2f9f5 60%); border-color: #cfe6dc; }
.theme-day .sheet-label { color: #177f92; }
.theme-day .sheet-label::before { background: #f2b53c; }
.theme-day .hope, .theme-day .hope-list, .theme-day .kv dd { color: #3d5b54; }
.theme-day .echo { background: rgba(210,240,228,.5); border-left-color: rgba(31,157,178,.5); }
.theme-day .echo.solved, .theme-day .need-answer.solved { background: rgba(47,158,110,.08); border-left-color: var(--success); }
.theme-day .replies { border-left-color: #cfe6dc; }
.theme-day .celebrate { background: rgba(214,244,228,.6); border-color: rgba(47,158,110,.4); }
.theme-day .msg.bot { background: #e8f4ee; color: #2c4a44; }
.theme-day .modal, .theme-day input, .theme-day textarea { background: #ffffff; border-color: #cfe6dc; color: #2c4a44; }
.theme-day textarea, .theme-day input { background: #fbfdfc; }
.theme-day button { background: #ffffff; border-color: #cfe6dc; color: #2c4a44; }
.theme-day button.primary, .theme-day .coin-btn { background: linear-gradient(135deg, var(--amber), var(--amber-deep)); color: var(--on-amber); border-color: transparent; }
.theme-day .coin-btn .coin-count { background: rgba(0,0,0,.15); }
.theme-day button.sort { background: transparent; border-color: transparent; color: #5d7d75; }
.theme-day button.sort.active { background: #dff0e9; color: #177f92; }
.theme-day .footer-icon { background: #ffffff; border-color: #cfe6dc; color: #5d7d75; }
/* 工坊/admin(非 pond 頁)day 底色與元件 */
html.theme-day body { background:
  radial-gradient(1000px 460px at 50% -6%, rgba(255,244,205,.6), transparent 60%),
  linear-gradient(180deg, #f2fbff 0%, #e8f6f0 40%, #d8eee5 100%);
  background-attachment: fixed; }
.theme-day .board-card { background: linear-gradient(170deg, #ffffff, #f4faf7); border-color: #d5e9df; }
.theme-day .board-card:hover { border-color: #a9d4c4; }
.theme-day .board-card-title { color: #274741; }
.theme-day .board-col-h { border-color: #cfe6dc; }
.theme-day .card { background: linear-gradient(165deg, #ffffff, #f2f9f5); border-color: #d5e9df; box-shadow: 0 10px 26px rgba(70,130,115,.12); }
.theme-day .card h3 { color: #274741; }
.theme-day .badge { background: #eef6f2; border-color: #cfe6dc; }
.theme-day .mdetail { background: #f4faf7; border-color: #cfe6dc; }
.theme-day .need { background: rgba(31,157,178,.05); }
.theme-day .answer { background: linear-gradient(165deg, #f0f8f4, #e6f2ec); border-color: #d5e9df; }

/* 實現成果預覽圖(GitHub OG 卡) */
.shot { display: block; width: 100%; border-radius: 10px; border: 1px solid var(--border); margin: 10px 0 4px; }
.shot-sm { max-width: 420px; }
.theme-day .shot { border-color: #d5e9df; }
.star-meta { flex: none; font-size: .76rem; color: var(--dim); font-variant-numeric: tabular-nums; padding-left: 2px; }
.theme-day .star-meta { color: #a08a4e; }

/* 主題切換:右上角低調小圓鈕(z 低於 sheet/modal,不蓋內容) */
.theme-corner { position: fixed; top: 14px; right: 14px; z-index: 40; width: 42px; height: 42px; min-height: 0;
  padding: 0; border-radius: 50%; display: flex; align-items: center; justify-content: center;
  font-size: .82rem; background: var(--surface-2); border: 1px solid var(--border); color: var(--muted); opacity: .72; }
.theme-corner:hover { opacity: 1; color: var(--amber-soft); border-color: var(--amber-deep); transform: none; }
.theme-day .theme-corner { background: rgba(255,255,255,.8); border-color: #cfe6dc; color: #5d7d75; }
.need-answer { margin: 6px 0 2px 14px; padding-left: 10px; border-left: 2px solid rgba(74,222,128,.4); font-size: .9rem; color: var(--text); }
.need-answer.solved { border-left-color: var(--success); background: rgba(74,222,128,.06); border-radius: 0 8px 8px 0; }
.need-reply { margin-top: 6px; min-height: 34px; padding: 6px 12px; font-size: .82rem; }
.giscus-box { margin: 8px 0 4px; min-height: 120px; }
.giscus-box .giscus { width: 100%; }
.phrase.fresh { color: var(--on-amber); background: linear-gradient(135deg, var(--amber), var(--amber-deep)); border-color: transparent; font-weight: 700; margin-right: 8px; }
/* 站內通知:sheet 內「上次看過之後」的新項目 */
.tag-new { display: inline-block; margin-left: 6px; padding: 0 7px; border-radius: 999px; font-size: .7rem; font-weight: 700; line-height: 1.5;
  color: var(--on-amber); background: linear-gradient(135deg, var(--amber), var(--amber-deep)); vertical-align: text-bottom; }
/* 站內通知:成真的星有新動靜時發亮(只動光暈不動排版 —— 星河每組寬度是先量好的,加字會裂縫) */
.star.fresh { border-color: var(--amber); background: rgba(244,181,58,.16); }
.star.fresh .star-dot { animation: starPulseFresh 1.4s ease-in-out infinite; }
@keyframes starPulseFresh { 0%,100% { box-shadow: 0 0 10px 3px rgba(244,181,58,.6); } 50% { box-shadow: 0 0 18px 7px rgba(244,181,58,.95); } }
.sub-hint { font-size: .85rem; margin: -2px 0 10px; }
