/* Shanghai Companion · alternative themes (loaded after styles.css) */
/* Activated via body.theme-<slug>; default has NO body class. */

/* Warm Bund · Editorial Golden Hour — 1930s Peace Hotel glamour in ink-navy, brass, and tomato. */
/* palette: {"bg": "#0d1a2c", "text": "#f0e2c8", "accent": "#d4af37", "accent_secondary": "#dc6b4f", "card_bg": "#1a2942", "border": "#3a2a1f"} */

body.theme-warm-bund { background: #0d1a2c; color: #f0e2c8; font-family: -apple-system, BlinkMacSystemFont, "SF Pro Text", "Helvetica Neue", "Noto Sans Thai", sans-serif; }
body.theme-warm-bund h1, body.theme-warm-bund h2, body.theme-warm-bund h3, body.theme-warm-bund .cl-choose-title, body.theme-warm-bund .cl-group-day, body.theme-warm-bund .lb-title { font-family: Georgia, "Times New Roman", "Noto Serif Thai", serif; letter-spacing: 0.2px; }
body.theme-warm-bund a { color: #d4af37; }
body.theme-warm-bund a:active { color: #c9a961; }
body.theme-warm-bund .top { background: linear-gradient(180deg, #0d1a2c 80%, rgba(13,26,44,0.6)); border-bottom: 1px solid rgba(212,175,55,0.18); }
body.theme-warm-bund .trip-title h1 { color: #f5e6d3; font-weight: 700; }
body.theme-warm-bund .subtitle { color: #c9a961; font-style: italic; }
body.theme-warm-bund .day-tab { background: #1a2942; color: #d6c4a4; border: 1px solid #3d3528; border-radius: 4px; font-weight: 600; }
body.theme-warm-bund .day-tab.active { background: linear-gradient(180deg, #d4af37, #b8932d); color: #1a1208; border-color: #8a6f1f; box-shadow: 0 1px 3px rgba(0,0,0,0.4), inset 0 1px 0 rgba(255,235,180,0.4); text-shadow: 0 1px 0 rgba(255,235,180,0.3); }
body.theme-warm-bund .day-tab-pre { background: rgba(220,107,79,0.14); border-color: rgba(220,107,79,0.45); color: #e89578; }
body.theme-warm-bund .day-tab-pre.active { background: linear-gradient(180deg, #dc6b4f, #b8503a); color: #fbe6da; border-color: #8c3b29; box-shadow: 0 1px 3px rgba(0,0,0,0.4); text-shadow: none; }
body.theme-warm-bund .day-tab-summary { background: rgba(212,175,55,0.14); border-color: rgba(212,175,55,0.5); color: #e6c869; }
body.theme-warm-bund .day-tab-summary.active { background: linear-gradient(180deg, #d4af37, #b8932d); color: #1a1208; border-color: #8a6f1f; }
body.theme-warm-bund .day-tab-checklist { background: rgba(167,71,55,0.18); border-color: rgba(220,107,79,0.5); color: #e89578; }
body.theme-warm-bund .day-tab-checklist.active { background: linear-gradient(180deg, #dc6b4f, #a84938); color: #fbe6da; border-color: #7a3326; }
body.theme-warm-bund .chip { background: #1a2942; border: 1px solid #3d3528; color: #c9a961; border-radius: 4px; }
body.theme-warm-bund .chip-weather { background: #142336; border-color: #2d4a6b; color: #9bc2e6; }
body.theme-warm-bund .chip-weather.rainy { background: #1a2942; border-color: #4a6585; color: #b8d4ee; }
body.theme-warm-bund .headline { background: #1a2942; color: #e8d8b5; border-left: 3px solid #d4af37; border-radius: 4px; padding: 12px 14px; font-style: italic; }
body.theme-warm-bund .card { background: #1a2942; border: 1px solid #3d3528; border-radius: 4px; box-shadow: 0 1px 0 rgba(212,175,55,0.06); }
body.theme-warm-bund .card.mode-meal { border-left: 3px solid #dc6b4f; }
body.theme-warm-bund .card.mode-sightsee { border-left: 3px solid #d4af37; }
body.theme-warm-bund .card.mode-metro, body.theme-warm-bund .card.mode-maglev { border-left: 3px solid #6b8eb8; }
body.theme-warm-bund .card.mode-walk { border-left: 3px solid #8a7758; }
body.theme-warm-bund .card.mode-didi { border-left: 3px solid #e6c869; }
body.theme-warm-bund .card.mode-flight { border-left: 3px solid #b8503a; }
body.theme-warm-bund .card.mode-hotel { border-left: 3px solid #7a9070; }
body.theme-warm-bund .card.mode-rest { border-left: 3px solid #a89578; }
body.theme-warm-bund .card.mode-transit { border-left: 3px solid #6b5a48; }
body.theme-warm-bund .time { color: #d4af37; font-variant-numeric: tabular-nums; }
body.theme-warm-bund .time .end { color: #8a7758; }
body.theme-warm-bund .title-line { color: #f5e6d3; font-family: Georgia, "Times New Roman", serif; font-weight: 600; }
body.theme-warm-bund .notes { color: #b8a880; }
body.theme-warm-bund .card-meta a { background: #0d1a2c; border: 1px solid #3d3528; color: #d6c4a4; border-radius: 3px; }
body.theme-warm-bund .cost-tag { background: #0d1a2c; border: 1px solid #3d3528; color: #e6c869; border-radius: 3px; }
body.theme-warm-bund .waypoint { background: linear-gradient(180deg, rgba(212,175,55,0.10), rgba(212,175,55,0.03)); border-left: 3px solid #d4af37; border-radius: 4px; }
body.theme-warm-bund .wp-compass { color: #e6c869; letter-spacing: 0.4px; }
body.theme-warm-bund .wp-meta { color: #b8a880; }
body.theme-warm-bund .wp-go { background: rgba(212,175,55,0.18); border: 1px solid rgba(212,175,55,0.45); color: #f0e2c8; border-radius: 3px; }
body.theme-warm-bund .wp-via { color: #f0e2c8; }
body.theme-warm-bund .wp-cue { color: #d4af37; font-style: italic; }
body.theme-warm-bund .restaurant-note { background: rgba(220,107,79,0.08); border: 1px solid rgba(220,107,79,0.32); color: #f0c4a8; border-radius: 4px; }
body.theme-warm-bund .restaurant-note .strategy { color: #fbe6da; }
body.theme-warm-bund .branch-divider { background: rgba(212,175,55,0.08); border: 1px dashed #d4af37; border-radius: 4px; }
body.theme-warm-bund .branch-title { color: #e6c869; font-family: Georgia, serif; }
body.theme-warm-bund .branch-notes { color: #b8a880; }
body.theme-warm-bund .card.branch-a { border-left-color: #dc6b4f !important; }
body.theme-warm-bund .card.branch-b { border-left-color: #c9a961 !important; }
body.theme-warm-bund .section-block { background: #1a2942; border: 1px solid #3d3528; border-radius: 4px; }
body.theme-warm-bund .section-block.risks { border-left: 3px solid #b8503a; }
body.theme-warm-bund .section-block.alts { border-left: 3px solid #d4af37; }
body.theme-warm-bund .section-block h3 { color: #e6c869; font-family: Georgia, serif; letter-spacing: 1.2px; }
body.theme-warm-bund .section-block p { color: #c9b888; }
body.theme-warm-bund .summary-hero { background: linear-gradient(135deg, #1a2942, #0d1a2c); border: 1px solid #3d3528; border-radius: 6px; box-shadow: inset 0 1px 0 rgba(212,175,55,0.08); }
body.theme-warm-bund .hero-label { color: #c9a961; letter-spacing: 1px; }
body.theme-warm-bund .refresh-btn { background: #3d3528; color: #f0e2c8; }
body.theme-warm-bund .refresh-btn:active { background: #5a4938; }
body.theme-warm-bund .hero-thb, body.theme-warm-bund .hero-thb-small { color: #d4af37; }
body.theme-warm-bund .hero-cny, body.theme-warm-bund .hero-of, body.theme-warm-bund .hero-budget-line { color: #b8a880; }
body.theme-warm-bund .hero-pct { color: #e8d8b5; }
body.theme-warm-bund .plan-head { color: #f0e2c8; }
body.theme-warm-bund .plan-numbers, body.theme-warm-bund .bar-amt, body.theme-warm-bund .recent-amt { color: #d4af37; }
body.theme-warm-bund .plan-of, body.theme-warm-bund .bar-pct, body.theme-warm-bund .recent-cny { color: #8a7758; }
body.theme-warm-bund .plan-foot { color: #b8a880; }
body.theme-warm-bund .plan-footnote { color: #8a7758; border-top: 1px dashed #3d3528; font-style: italic; }
body.theme-warm-bund .summary-block { background: #1a2942; border: 1px solid #3d3528; border-radius: 6px; }
body.theme-warm-bund .summary-block h3 { color: #e6c869; font-family: Georgia, serif; letter-spacing: 1px; }
body.theme-warm-bund .bar-track { background: #0d1a2c; border-radius: 2px; }
body.theme-warm-bund .bar-fill { background: linear-gradient(90deg, #d4af37, #dc6b4f); }
body.theme-warm-bund .recent-row { border-bottom: 1px solid #3d3528; }
body.theme-warm-bund .recent-head { color: #f5e6d3; }
body.theme-warm-bund .recent-meta { color: #b8a880; }
body.theme-warm-bund .recent-day { background: #0d1a2c; border: 1px solid #3d3528; color: #d4af37; border-radius: 2px; }
body.theme-warm-bund .recent-row:active { background: #0d1a2c; }
body.theme-warm-bund .recent-hint { color: #6b5a48; }
body.theme-warm-bund .edit-meta { background: rgba(212,175,55,0.08); border: 1px solid rgba(212,175,55,0.3); color: #c9a961; border-radius: 4px; }
body.theme-warm-bund .edit-ts { color: #d4af37; }
body.theme-warm-bund .delete-btn { border: 1px solid rgba(220,107,79,0.5); color: #e89578; border-radius: 4px; }
body.theme-warm-bund .delete-btn:active { background: rgba(220,107,79,0.18); }
body.theme-warm-bund .summary-footer { color: #6b5a48; font-style: italic; }
body.theme-warm-bund .fab { background: linear-gradient(135deg, #d4af37, #b8932d); color: #1a1208; box-shadow: 0 8px 22px rgba(212,175,55,0.35), 0 2px 6px rgba(0,0,0,0.5), inset 0 1px 0 rgba(255,235,180,0.4); border: 1px solid #8a6f1f; font-weight: 400; }
body.theme-warm-bund .modal-backdrop { background: rgba(8,14,24,0.78); }
body.theme-warm-bund .modal { background: #1a2942; border-top: 2px solid #d4af37; border-radius: 8px 8px 0 0; }
body.theme-warm-bund .modal-head h2 { color: #f5e6d3; font-family: Georgia, serif; }
body.theme-warm-bund .modal-close { color: #c9a961; }
body.theme-warm-bund .field > span { color: #c9a961; letter-spacing: 1px; }
body.theme-warm-bund .field input, body.theme-warm-bund .field select { background: #0d1a2c; border: 1px solid #3d3528; color: #f0e2c8; border-radius: 4px; }
body.theme-warm-bund .field input:focus, body.theme-warm-bund .field select:focus { border-color: #d4af37; }
body.theme-warm-bund .submit { background: linear-gradient(180deg, #d4af37, #b8932d); color: #1a1208; border: 1px solid #8a6f1f; border-radius: 4px; box-shadow: inset 0 1px 0 rgba(255,235,180,0.4); font-weight: 700; letter-spacing: 0.5px; }
body.theme-warm-bund .submit:active { background: #b8932d; }
body.theme-warm-bund .form-msg.error { color: #e89578; }
body.theme-warm-bund .form-msg.success { color: #a8c498; }
body.theme-warm-bund .toast { background: #3d3528; color: #f5e6d3; border: 1px solid #d4af37; box-shadow: 0 4px 14px rgba(0,0,0,0.55); }
body.theme-warm-bund .ver-pill { background: #dc6b4f; color: #fbe6da; font-family: Georgia, serif; font-style: italic; }
body.theme-warm-bund .ref-badge { background: linear-gradient(135deg, #d4af37, #e6c869); color: #1a1208; }
body.theme-warm-bund .refs-strip { background: linear-gradient(135deg, rgba(212,175,55,0.10), rgba(220,107,79,0.06)); border: 1.5px solid rgba(212,175,55,0.32); border-radius: 6px; box-shadow: inset 0 1px 0 rgba(255,235,180,0.04); }
body.theme-warm-bund .refs-label { color: #e6c869; }
body.theme-warm-bund .ref-thumb { background: #0d1a2c; border: 2px solid #3d3528; border-radius: 4px; }
body.theme-warm-bund .ref-thumb:hover, body.theme-warm-bund .ref-thumb:active { border-color: #d4af37; box-shadow: 0 4px 12px rgba(212,175,55,0.3); }
body.theme-warm-bund .ref-num { background: rgba(13,26,44,0.92); color: #d4af37; }
body.theme-warm-bund .card.has-refs::after { background: #d4af37; box-shadow: 0 0 8px rgba(212,175,55,0.7); }
body.theme-warm-bund .lightbox { background: rgba(6,10,18,0.97); }
body.theme-warm-bund .lb-close, body.theme-warm-bund .lb-prev, body.theme-warm-bund .lb-next { background: rgba(26,41,66,0.88); border: 1px solid #5a4938; color: #f0e2c8; }
body.theme-warm-bund .lb-close:hover, body.theme-warm-bund .lb-prev:hover, body.theme-warm-bund .lb-next:hover { background: rgba(61,53,40,0.95); }
body.theme-warm-bund .lb-caption { background: rgba(26,41,66,0.92); color: #d6c4a4; border: 1px solid rgba(212,175,55,0.25); }
body.theme-warm-bund .lb-tricks { background: linear-gradient(180deg, #1a2942 0%, #0d1a2c 100%); border-top: 2px solid #d4af37; color: #f0e2c8; }
body.theme-warm-bund .lb-tricks-toggle { background: linear-gradient(135deg, #b8503a, #dc6b4f); color: #fbe6da; border: 1.5px solid #d4af37; }
body.theme-warm-bund .lb-tricks-label { color: #d4af37; border-bottom: 1px solid rgba(212,175,55,0.3); font-family: Georgia, serif; }
body.theme-warm-bund .lb-shot-head, body.theme-warm-bund .lb-tricks-head, body.theme-warm-bund .lb-sec-head { color: #c9a961; }
body.theme-warm-bund .lb-shot { color: #f5e6d3; }
body.theme-warm-bund .lb-tricks-list li { color: #f0e2c8; }
body.theme-warm-bund .lb-tricks-list li::before { color: #d4af37; }
body.theme-warm-bund .lb-tricks-list li strong { color: #dc6b4f; }
body.theme-warm-bund .lb-title { color: #f5e6d3; }
body.theme-warm-bund .lb-meta-chip { background: rgba(212,175,55,0.14); color: #e6c869; border: 1px solid rgba(212,175,55,0.4); }
body.theme-warm-bund .lb-cam-iphone { background: rgba(122,144,112,0.08); border-color: #7a9070; }
body.theme-warm-bund .lb-cam-canon { background: rgba(220,107,79,0.08); border-color: #dc6b4f; }
body.theme-warm-bund .lb-cam-head { color: #f5e6d3; }
body.theme-warm-bund .lb-cam-line { color: #d6c4a4; }
body.theme-warm-bund .lb-cam-line strong { color: #d4af37; }
body.theme-warm-bund .lb-settings { background: rgba(8,14,24,0.5); border-radius: 4px; }
body.theme-warm-bund .lb-setting { border-bottom: 1px dashed rgba(212,175,55,0.12); }
body.theme-warm-bund .lb-setting-k { color: #b8a880; }
body.theme-warm-bund .lb-setting-v { color: #f5e6d3; }
body.theme-warm-bund .prio-high { background: #b8503a; color: #fbe6da; }
body.theme-warm-bund .prio-medium { background: #d4af37; color: #1a1208; }
body.theme-warm-bund .prio-low { background: #5a4938; color: #d6c4a4; }
body.theme-warm-bund .prio-skip { background: #1a2942; color: #6b5a48; border: 1px solid #3d3528; }
body.theme-warm-bund .lb-tag { background: rgba(58,42,31,0.5); color: #b8a880; }
body.theme-warm-bund .cl-head { background: #0d1a2c; }
body.theme-warm-bund .cl-person-btn { background: #1a2942; border: 1px solid #3d3528; color: #d6c4a4; border-radius: 4px; }
body.theme-warm-bund .cl-person-btn.active { background: linear-gradient(180deg, #dc6b4f, #b8503a); border-color: #8c3b29; color: #fbe6da; box-shadow: inset 0 1px 0 rgba(255,200,180,0.3); }
body.theme-warm-bund .cl-progbar { background: #1a2942; border: 1px solid #3d3528; }
body.theme-warm-bund .cl-progfill { background: linear-gradient(90deg, #d4af37, #dc6b4f); }
body.theme-warm-bund .cl-progtxt { color: #b8a880; }
body.theme-warm-bund .cl-badge-enable { border: 1px solid #3d3528; color: #b8a880; border-radius: 999px; }
body.theme-warm-bund .cl-group-head { border-bottom: 2px solid #d4af37; }
body.theme-warm-bund .cl-group-day { color: #f5e6d3; font-family: Georgia, serif; }
body.theme-warm-bund .cl-group-sub { color: #d4af37; letter-spacing: 0.5px; }
body.theme-warm-bund .cl-item { background: #1a2942; border: 1px solid #3d3528; border-radius: 4px; }
body.theme-warm-bund .cl-box { border: 2px solid #5a4938; border-radius: 3px; }
body.theme-warm-bund .cl-item.done .cl-box { background: #d4af37; border-color: #b8932d; }
body.theme-warm-bund .cl-t { color: #f5e6d3; }
body.theme-warm-bund .cl-d { color: #b8a880; }
body.theme-warm-bund .cl-d a { color: #e6c869; border-bottom: 1px solid rgba(230,200,105,0.4); }
body.theme-warm-bund .cl-item.done .cl-t { color: #6b5a48; }
body.theme-warm-bund .cl-pill { background: #d4af37; color: #1a1208; }
body.theme-warm-bund .cl-pill.warn { background: #dc6b4f; color: #fbe6da; }
body.theme-warm-bund .cl-del { color: #8a7758; }
body.theme-warm-bund .cl-empty { color: #6b5a48; font-style: italic; }
body.theme-warm-bund .cl-add input { background: #1a2942; border: 1px solid #3d3528; color: #f5e6d3; border-radius: 4px; }
body.theme-warm-bund .cl-add input::placeholder { color: #6b5a48; }
body.theme-warm-bund .cl-add-btn { background: linear-gradient(180deg, #d4af37, #b8932d); color: #1a1208; border-radius: 4px; box-shadow: inset 0 1px 0 rgba(255,235,180,0.3); }
body.theme-warm-bund .cl-note { color: #6b5a48; }
body.theme-warm-bund .cl-choose-title { color: #f5e6d3; }
body.theme-warm-bund .cl-choose-sub { color: #b8a880; }
body.theme-warm-bund .cl-choose-sub strong { color: #dc6b4f; }
body.theme-warm-bund .cl-owner-btn { background: #1a2942; border: 1.5px solid #3d3528; color: #f5e6d3; border-radius: 6px; font-family: Georgia, serif; }
body.theme-warm-bund .cl-owner-btn:active { border-color: #d4af37; }
body.theme-warm-bund .cl-owner-name { color: #f5e6d3; font-family: Georgia, serif; }
body.theme-warm-bund .cl-switch { color: #8a7758; }
body.theme-warm-bund .cl-switch:active { color: #c9a961; }
body.theme-warm-bund .cl-local-banner { color: #e6c869; background: rgba(212,175,55,0.08); border: 1px solid rgba(212,175,55,0.3); border-radius: 4px; }
body.theme-warm-bund .qr-card { background: #142336; border: 1px solid #3d3528; border-radius: 4px; }
body.theme-warm-bund .qr-add { background: #d4af37; color: #1a1208; border-radius: 4px; font-weight: 700; }
body.theme-warm-bund .qr-view { background: #7a9070; color: #1a2412; border-radius: 4px; font-weight: 700; }
body.theme-warm-bund .qr-hint { color: #c9a961; }
body.theme-warm-bund .qr-remove { color: #b8a880; }
body.theme-warm-bund .search-btn { background: #1a2942; border: 1px solid #3d3528; color: #f0e2c8; }
body.theme-warm-bund .search-btn.active { background: linear-gradient(180deg, #d4af37, #b8932d); color: #1a1208; border-color: #8a6f1f; box-shadow: inset 0 1px 0 rgba(255,235,180,0.4); }
body.theme-warm-bund .search-panel { background: rgba(13,26,44,0.97); border-top: 1px solid #3d3528; }
body.theme-warm-bund #search-input { background: #0d1a2c; border: 1px solid #3d3528; color: #f5e6d3; border-radius: 4px; font-family: Georgia, "Times New Roman", serif; }
body.theme-warm-bund #search-input:focus { border-color: #d4af37; }
body.theme-warm-bund .search-close { background: #1a2942; border: 1px solid #3d3528; color: #d6c4a4; border-radius: 4px; }
body.theme-warm-bund .search-empty { color: #6b5a48; font-style: italic; }
body.theme-warm-bund .search-result { background: #1a2942; border: 1px solid #3d3528; color: #f0e2c8; border-radius: 4px; }
body.theme-warm-bund .search-result:hover { background: #243352; border-color: #d4af37; }
body.theme-warm-bund .sr-day { background: linear-gradient(180deg, #d4af37, #b8932d); color: #1a1208; box-shadow: inset 0 1px 0 rgba(255,235,180,0.3); }
body.theme-warm-bund .sr-day.sr-day-pre { background: linear-gradient(180deg, #dc6b4f, #b8503a); color: #fbe6da; }
body.theme-warm-bund .sr-day.sr-day-rest { background: linear-gradient(180deg, #c9a961, #a08543); color: #1a1208; }
body.theme-warm-bund .sr-time { color: #b8a880; }
body.theme-warm-bund .sr-title { color: #f5e6d3; }
body.theme-warm-bund .sr-snippet { color: #b8a880; }
body.theme-warm-bund .search-result mark { background: rgba(212,175,55,0.4); color: #1a1208; border-radius: 1px; }
body.theme-warm-bund @keyframes blockFlash { 0% { box-shadow: 0 0 0 3px rgba(212,175,55,0.85); background: rgba(212,175,55,0.2); } 60% { box-shadow: 0 0 0 3px rgba(212,175,55,0.35); background: rgba(212,175,55,0.08); } 100% { box-shadow: 0 0 0 0 rgba(212,175,55,0); background: transparent; } }

/* Paper Travel Journal — Cream paper, sepia ink, one bold passport-stamp red accent */
/* palette: {"bg": "#fdf6e3", "text": "#3a2a1d", "accent": "#c8392a", "accent_secondary": "#687d4d", "card_bg": "#fbf1d9", "border": "#d9c9a8"} */

/* === Paper Travel Journal — light mode === */
body.theme-paper-journal {
  background: #fdf6e3;
  color: #3a2a1d;
  font-family: "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, "Noto Sans Thai", serif;
}
body.theme-paper-journal a { color: #c8392a; }
body.theme-paper-journal a:active { color: #8e2418; }

/* Top header */
body.theme-paper-journal .top {
  background: linear-gradient(180deg, #fdf6e3 85%, rgba(253,246,227,0.85));
  border-bottom: 1px solid #d9c9a8;
}
body.theme-paper-journal .trip-title h1 { color: #3a2a1d; font-weight: 700; }
body.theme-paper-journal .subtitle { color: #8a6e52; }

/* Day tabs */
body.theme-paper-journal .day-tab {
  background: #f5ecd6;
  color: #6b4f36;
  border: 1px solid #c8b896;
  border-radius: 8px;
}
body.theme-paper-journal .day-tab.active {
  background: #c8392a;
  color: #fdf6e3;
  border-color: #a02d20;
  box-shadow: 0 2px 4px rgba(168,45,32,0.25);
}
body.theme-paper-journal .day-tab-pre {
  background: #fbe6c4;
  border-color: #d6a25b;
  color: #8a5418;
}
body.theme-paper-journal .day-tab-pre.active {
  background: #d6852b;
  color: #fdf6e3;
  border-color: #b56b1c;
}
body.theme-paper-journal .day-tab-checklist {
  background: #e6ecd4;
  border-color: #a8b585;
  color: #4b5d33;
}
body.theme-paper-journal .day-tab-checklist.active {
  background: #687d4d;
  color: #fdf6e3;
  border-color: #4d6038;
}
body.theme-paper-journal .day-tab-summary {
  background: #f5e6c4;
  border-color: #c8a85c;
  color: #7a5a18;
}
body.theme-paper-journal .day-tab-summary.active {
  background: #b8902b;
  color: #fdf6e3;
  border-color: #8e6c1c;
}

/* Chips & headline */
body.theme-paper-journal .chip {
  background: #f5ecd6;
  border: 1px solid #d9c9a8;
  color: #6b4f36;
  border-radius: 4px;
}
body.theme-paper-journal .chip-weather {
  background: #e6ecd4;
  border-color: #a8b585;
  color: #4b5d33;
}
body.theme-paper-journal .chip-weather.rainy {
  background: #e0e6dc;
  border-color: #7a8a6a;
  color: #3d4a2e;
}
body.theme-paper-journal .headline {
  background: #fbf1d9;
  border-left: 3px solid #c8392a;
  border-radius: 4px;
  color: #3a2a1d;
}

/* Cards */
body.theme-paper-journal .card {
  background: #fbf1d9;
  border: 1px solid #d9c9a8;
  border-radius: 6px;
  box-shadow: 0 1px 2px rgba(58,42,29,0.06);
}
body.theme-paper-journal .card.mode-meal { border-left: 3px solid #d6852b; }
body.theme-paper-journal .card.mode-sightsee { border-left: 3px solid #8a5a8a; }
body.theme-paper-journal .card.mode-metro,
body.theme-paper-journal .card.mode-maglev { border-left: 3px solid #3a6b8a; }
body.theme-paper-journal .card.mode-walk { border-left: 3px solid #8a6e52; }
body.theme-paper-journal .card.mode-didi { border-left: 3px solid #b8902b; }
body.theme-paper-journal .card.mode-flight { border-left: 3px solid #c8392a; }
body.theme-paper-journal .card.mode-hotel { border-left: 3px solid #687d4d; }
body.theme-paper-journal .card.mode-rest { border-left: 3px solid #a89880; }
body.theme-paper-journal .card.mode-transit { border-left: 3px solid #8a6e52; }

body.theme-paper-journal .time { color: #c8392a; }
body.theme-paper-journal .time .end { color: #a89880; }
body.theme-paper-journal .title-line { color: #2a1d12; font-weight: 700; }
body.theme-paper-journal .notes { color: #6b4f36; }

body.theme-paper-journal .card-meta a {
  background: #fdf6e3;
  border: 1px solid #d9c9a8;
  border-radius: 4px;
  color: #c8392a;
}
body.theme-paper-journal .cost-tag {
  background: #fdf6e3;
  border: 1px solid #c8a85c;
  color: #8a5418;
  border-radius: 4px;
}

/* Waypoint */
body.theme-paper-journal .waypoint {
  background: linear-gradient(180deg, #f3e7c8, #fbf1d9);
  border-left: 3px solid #8a5a8a;
  border-radius: 4px;
}
body.theme-paper-journal .wp-compass { color: #6e3e6e; }
body.theme-paper-journal .wp-meta { color: #8a6e52; }
body.theme-paper-journal .wp-go {
  background: #ede0ed;
  border: 1px solid #b89ab8;
  color: #4e2a4e;
}
body.theme-paper-journal .wp-via { color: #3a2a1d; }
body.theme-paper-journal .wp-cue { color: #8a5a8a; }

/* Restaurant note */
body.theme-paper-journal .restaurant-note {
  background: #fbe6c4;
  border: 1px solid #d6a25b;
  color: #6b4218;
  border-radius: 4px;
}
body.theme-paper-journal .restaurant-note .strategy { color: #8a5418; font-weight: 600; }

/* Branch divider */
body.theme-paper-journal .branch-divider {
  background: #f3e7c8;
  border: 1px dashed #8a5a8a;
  border-radius: 6px;
}
body.theme-paper-journal .branch-title { color: #6e3e6e; }
body.theme-paper-journal .branch-notes { color: #8a6e52; }
body.theme-paper-journal .card.branch-a { border-left-color: #c8392a !important; }
body.theme-paper-journal .card.branch-b { border-left-color: #687d4d !important; }

/* Section blocks */
body.theme-paper-journal .section-block {
  background: #fbf1d9;
  border: 1px solid #d9c9a8;
  border-radius: 6px;
}
body.theme-paper-journal .section-block.risks { border-left: 3px solid #c8392a; }
body.theme-paper-journal .section-block.alts { border-left: 3px solid #b8902b; }
body.theme-paper-journal .section-block h3 { color: #3a2a1d; }
body.theme-paper-journal .section-block p { color: #6b4f36; }

/* Summary view */
body.theme-paper-journal .summary-loading,
body.theme-paper-journal .summary-error { color: #6b4f36; }
body.theme-paper-journal .summary-hero {
  background: linear-gradient(135deg, #fbf1d9, #f3e7c8);
  border: 1px solid #c8b896;
  border-radius: 10px;
  box-shadow: 0 2px 6px rgba(58,42,29,0.08);
}
body.theme-paper-journal .hero-label { color: #8a6e52; }
body.theme-paper-journal .refresh-btn {
  background: #e6d6b0;
  color: #3a2a1d;
}
body.theme-paper-journal .refresh-btn:active { background: #d9c9a8; }
body.theme-paper-journal .hero-thb { color: #c8392a; }
body.theme-paper-journal .hero-cny { color: #8a6e52; }
body.theme-paper-journal .hero-thb-small { color: #c8392a; }
body.theme-paper-journal .hero-of,
body.theme-paper-journal .hero-budget-line { color: #8a6e52; }
body.theme-paper-journal .hero-pct { color: #3a2a1d; }
body.theme-paper-journal .plan-head { color: #3a2a1d; }
body.theme-paper-journal .plan-numbers { color: #c8392a; }
body.theme-paper-journal .plan-of,
body.theme-paper-journal .plan-foot { color: #8a6e52; }
body.theme-paper-journal .plan-footnote {
  color: #8a6e52;
  border-top: 1px dashed #c8b896;
}
body.theme-paper-journal .summary-block {
  background: #fbf1d9;
  border: 1px solid #d9c9a8;
  border-radius: 6px;
}
body.theme-paper-journal .summary-block h3 { color: #3a2a1d; }
body.theme-paper-journal .bar-label { color: #3a2a1d; }
body.theme-paper-journal .bar-amt { color: #c8392a; }
body.theme-paper-journal .bar-pct { color: #8a6e52; }
body.theme-paper-journal .bar-track { background: #ede0c0; }
body.theme-paper-journal .bar-fill { background: linear-gradient(90deg, #c8392a, #d6852b); }
body.theme-paper-journal .recent-row { border-bottom: 1px solid #d9c9a8; }
body.theme-paper-journal .recent-head { color: #3a2a1d; }
body.theme-paper-journal .recent-amt { color: #c8392a; }
body.theme-paper-journal .recent-meta { color: #8a6e52; }
body.theme-paper-journal .recent-day {
  background: #fdf6e3;
  border: 1px solid #d9c9a8;
  color: #c8392a;
}
body.theme-paper-journal .recent-cny { color: #a89880; }
body.theme-paper-journal .recent-row:active { background: #f3e7c8; }
body.theme-paper-journal .recent-hint { color: #a89880; }
body.theme-paper-journal .edit-meta {
  background: #fbe6c4;
  border: 1px solid #d6a25b;
  color: #6b4f36;
  border-radius: 4px;
}
body.theme-paper-journal .edit-ts { color: #c8392a; }
body.theme-paper-journal .delete-btn {
  background: transparent;
  border: 1px solid #c8392a;
  color: #c8392a;
  border-radius: 6px;
}
body.theme-paper-journal .delete-btn:active { background: rgba(200,57,42,0.1); }
body.theme-paper-journal .summary-footer { color: #a89880; }

/* FAB — bold passport stamp */
body.theme-paper-journal .fab {
  background: #c8392a;
  color: #fdf6e3;
  box-shadow: 0 6px 16px rgba(168,45,32,0.45), 0 2px 4px rgba(58,42,29,0.2);
}

/* Modal */
body.theme-paper-journal .modal-backdrop { background: rgba(58,42,29,0.5); }
body.theme-paper-journal .modal {
  background: #fdf6e3;
  border-radius: 12px 12px 0 0;
  box-shadow: 0 -4px 20px rgba(58,42,29,0.2);
}
body.theme-paper-journal .modal-head h2 { color: #3a2a1d; }
body.theme-paper-journal .modal-close { color: #8a6e52; }
body.theme-paper-journal .field > span { color: #8a6e52; }
body.theme-paper-journal .field input,
body.theme-paper-journal .field select {
  background: #fbf1d9;
  border: 1px solid #c8b896;
  color: #3a2a1d;
  border-radius: 6px;
}
body.theme-paper-journal .field input:focus,
body.theme-paper-journal .field select:focus { border-color: #c8392a; }
body.theme-paper-journal .submit {
  background: #c8392a;
  color: #fdf6e3;
  border-radius: 6px;
}
body.theme-paper-journal .submit:active { background: #8e2418; }
body.theme-paper-journal .form-msg.error { color: #8e2418; }
body.theme-paper-journal .form-msg.success { color: #4d6038; }

/* Toast */
body.theme-paper-journal .toast {
  background: #3a2a1d;
  color: #fdf6e3;
  box-shadow: 0 4px 12px rgba(58,42,29,0.3);
}

/* Refs strip */
body.theme-paper-journal .refs-strip {
  background: linear-gradient(135deg, #f3e7c8, #fbf1d9);
  border: 1.5px solid #c8b896;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.3);
  border-radius: 6px;
}
body.theme-paper-journal .refs-label { color: #6e3e6e; }
body.theme-paper-journal .ref-thumb {
  background: #fbf1d9;
  border: 2px solid #c8b896;
  border-radius: 4px;
}
body.theme-paper-journal .ref-thumb:hover,
body.theme-paper-journal .ref-thumb:active {
  border-color: #c8392a;
  box-shadow: 0 4px 12px rgba(200,57,42,0.25);
}
body.theme-paper-journal .ref-num {
  background: rgba(58,42,29,0.85);
  color: #fdf6e3;
}

/* Version pill + ref badge */
body.theme-paper-journal .ver-pill {
  background: #3a2a1d;
  color: #fdf6e3;
}
body.theme-paper-journal .ref-badge {
  background: linear-gradient(135deg, #c8392a, #d6852b);
  color: #fdf6e3;
}
body.theme-paper-journal .card.has-refs::after {
  background: #c8392a;
  box-shadow: 0 0 6px rgba(200,57,42,0.5);
}

/* Lightbox */
body.theme-paper-journal .lightbox { background: rgba(58,42,29,0.95); }
body.theme-paper-journal .lb-close,
body.theme-paper-journal .lb-prev,
body.theme-paper-journal .lb-next {
  background: rgba(253,246,227,0.95);
  border: 1px solid #d9c9a8;
  color: #3a2a1d;
}
body.theme-paper-journal .lb-close:hover,
body.theme-paper-journal .lb-prev:hover,
body.theme-paper-journal .lb-next:hover { background: #fdf6e3; }
body.theme-paper-journal .lb-caption {
  background: rgba(253,246,227,0.95);
  color: #3a2a1d;
}
body.theme-paper-journal .lb-tricks {
  background: linear-gradient(180deg, #fbf1d9 0%, #f3e7c8 100%);
  border-top: 2px solid #c8392a;
  color: #3a2a1d;
}
body.theme-paper-journal .lb-tricks-toggle {
  background: linear-gradient(135deg, #c8392a, #d6852b);
  color: #fdf6e3;
  border: 1.5px solid #a02d20;
}
body.theme-paper-journal .lb-tricks-label {
  color: #c8392a;
  border-bottom: 1px solid rgba(200,57,42,0.3);
}
body.theme-paper-journal .lb-shot-head,
body.theme-paper-journal .lb-tricks-head { color: #6b4f36; }
body.theme-paper-journal .lb-shot { color: #3a2a1d; }
body.theme-paper-journal .lb-tricks-list li { color: #3a2a1d; }
body.theme-paper-journal .lb-tricks-list li::before { color: #c8392a; }
body.theme-paper-journal .lb-tricks-list li strong { color: #8a5418; }
body.theme-paper-journal .lb-title { color: #3a2a1d; }
body.theme-paper-journal .lb-meta-chip {
  background: #fbe6c4;
  color: #6b4218;
  border: 1px solid #d6a25b;
}
body.theme-paper-journal .lb-sec-head { color: #8a6e52; }
body.theme-paper-journal .lb-cam-iphone { background: #e6ecd4; border-color: #687d4d; }
body.theme-paper-journal .lb-cam-canon { background: #fbe6c4; border-color: #d6852b; }
body.theme-paper-journal .lb-cam-head { color: #3a2a1d; }
body.theme-paper-journal .lb-cam-line { color: #3a2a1d; }
body.theme-paper-journal .lb-cam-line strong { color: #8a5418; }
body.theme-paper-journal .lb-settings {
  background: rgba(58,42,29,0.06);
  font-family: ui-monospace, monospace;
}
body.theme-paper-journal .lb-setting { border-bottom: 1px dashed rgba(58,42,29,0.15); }
body.theme-paper-journal .lb-setting-k { color: #8a6e52; }
body.theme-paper-journal .lb-setting-v { color: #3a2a1d; }
body.theme-paper-journal .prio-high { background: #c8392a; color: #fdf6e3; }
body.theme-paper-journal .prio-medium { background: #d6852b; color: #fdf6e3; }
body.theme-paper-journal .prio-low { background: #a89880; color: #fdf6e3; }
body.theme-paper-journal .prio-skip {
  background: #f3e7c8;
  color: #8a6e52;
  border: 1px solid #c8b896;
}
body.theme-paper-journal .lb-tag {
  background: rgba(138,110,82,0.2);
  color: #6b4f36;
}

/* Checklist */
body.theme-paper-journal .tab-badge { background: #c8392a; color: #fdf6e3; }
body.theme-paper-journal .day-tab-checklist.active .tab-badge { background: #fdf6e3; color: #c8392a; }
body.theme-paper-journal .cl-head { background: #fdf6e3; }
body.theme-paper-journal .cl-person-btn {
  background: #fbf1d9;
  border: 1px solid #c8b896;
  color: #3a2a1d;
  border-radius: 6px;
}
body.theme-paper-journal .cl-person-btn.active {
  background: #687d4d;
  border-color: #4d6038;
  color: #fdf6e3;
}
body.theme-paper-journal .cl-progbar {
  background: #ede0c0;
  border: 1px solid #c8b896;
}
body.theme-paper-journal .cl-progfill { background: linear-gradient(90deg, #687d4d, #9ab07a); }
body.theme-paper-journal .cl-progtxt { color: #6b4f36; }
body.theme-paper-journal .cl-badge-enable {
  border: 1px solid #c8b896;
  color: #6b4f36;
}
body.theme-paper-journal .cl-group-head { border-bottom: 2px solid #c8b896; }
body.theme-paper-journal .cl-group-day { color: #3a2a1d; }
body.theme-paper-journal .cl-group-sub { color: #4d6038; }
body.theme-paper-journal .cl-item {
  background: #fbf1d9;
  border: 1px solid #d9c9a8;
  border-radius: 6px;
}
body.theme-paper-journal .cl-box { border: 2px solid #a89880; }
body.theme-paper-journal .cl-item.done .cl-box { background: #687d4d; border-color: #4d6038; }
body.theme-paper-journal .cl-t { color: #3a2a1d; }
body.theme-paper-journal .cl-d { color: #6b4f36; }
body.theme-paper-journal .cl-d a { color: #c8392a; border-bottom: 1px solid rgba(200,57,42,0.4); }
body.theme-paper-journal .cl-item.done .cl-t { color: #a89880; }
body.theme-paper-journal .cl-pill { background: #c8392a; color: #fdf6e3; }
body.theme-paper-journal .cl-pill.warn { background: #d6852b; }
body.theme-paper-journal .cl-del { color: #a89880; }
body.theme-paper-journal .cl-empty { color: #a89880; }
body.theme-paper-journal .cl-add input {
  background: #fbf1d9;
  border: 1px solid #c8b896;
  color: #3a2a1d;
  border-radius: 6px;
}
body.theme-paper-journal .cl-add input::placeholder { color: #a89880; }
body.theme-paper-journal .cl-add-btn {
  background: #687d4d;
  color: #fdf6e3;
  border-radius: 6px;
}
body.theme-paper-journal .cl-note { color: #a89880; }
body.theme-paper-journal .cl-choose-title { color: #3a2a1d; }
body.theme-paper-journal .cl-choose-sub { color: #6b4f36; }
body.theme-paper-journal .cl-choose-sub strong { color: #c8392a; }
body.theme-paper-journal .cl-owner-btn {
  background: #fbf1d9;
  border: 1.5px solid #c8b896;
  color: #3a2a1d;
  border-radius: 8px;
}
body.theme-paper-journal .cl-owner-btn:active { border-color: #687d4d; }
body.theme-paper-journal .cl-owner-name { color: #3a2a1d; }
body.theme-paper-journal .cl-switch { color: #8a6e52; }
body.theme-paper-journal .cl-local-banner {
  color: #6b4218;
  background: #fbe6c4;
  border: 1px solid #d6a25b;
  border-radius: 4px;
}

/* QR card */
body.theme-paper-journal .qr-card {
  background: #e6ecd4;
  border: 1px solid #a8b585;
  border-radius: 6px;
}
body.theme-paper-journal .qr-add { background: #687d4d; color: #fdf6e3; border-radius: 6px; }
body.theme-paper-journal .qr-view { background: #c8392a; color: #fdf6e3; border-radius: 6px; }
body.theme-paper-journal .qr-hint { color: #4d6038; }
body.theme-paper-journal .qr-remove { color: #8a6e52; }

/* Search */
body.theme-paper-journal .search-btn {
  background: #f5ecd6;
  border: 1px solid #c8b896;
  color: #3a2a1d;
}
body.theme-paper-journal .search-btn.active {
  background: #c8392a;
  color: #fdf6e3;
  border-color: #a02d20;
}
body.theme-paper-journal .search-panel {
  border-top: 1px solid #d9c9a8;
  background: rgba(253,246,227,0.97);
}
body.theme-paper-journal #search-input {
  background: #fbf1d9;
  border: 1px solid #c8b896;
  color: #3a2a1d;
  border-radius: 6px;
}
body.theme-paper-journal #search-input:focus { border-color: #c8392a; }
body.theme-paper-journal .search-close {
  background: #f5ecd6;
  border: 1px solid #c8b896;
  color: #3a2a1d;
  border-radius: 6px;
}
body.theme-paper-journal .search-empty { color: #a89880; }
body.theme-paper-journal .search-result {
  background: #fbf1d9;
  border: 1px solid #d9c9a8;
  color: #3a2a1d;
  border-radius: 6px;
}
body.theme-paper-journal .search-result:hover { background: #f3e7c8; }
body.theme-paper-journal .sr-day {
  background: #c8392a;
  color: #fdf6e3;
}
body.theme-paper-journal .sr-day.sr-day-pre { background: #d6852b; }
body.theme-paper-journal .sr-day.sr-day-rest { background: #8a5a8a; }
body.theme-paper-journal .sr-time { color: #8a6e52; }
body.theme-paper-journal .sr-snippet { color: #6b4f36; }
body.theme-paper-journal .search-result mark {
  background: rgba(214,133,43,0.4);
  color: #3a2a1d;
}

/* Flash warp */
body.theme-paper-journal .card.flash-warp,
body.theme-paper-journal .branch-divider.flash-warp,
body.theme-paper-journal .restaurant-note.flash-warp {
  animation: blockFlash 2.2s ease-out;
}


/* Y2K Soft · Meiji — Sakura pastels, ultra-rounded, light-mode Pinterest-cute Korean travel vibes */
/* palette: {"bg": "#fef6f9", "text": "#4a3858", "accent": "#ff8db5", "accent_secondary": "#b794f4", "card_bg": "#ffffff", "border": "#f4c8dc"} */

/* === Y2K Soft · Meiji aesthetic === */
body.theme-y2k-soft,
body.theme-y2k-soft html { background: #fef6f9; color: #4a3858; }
body.theme-y2k-soft { background: linear-gradient(180deg, #fef6f9 0%, #fdeaf2 100%); }
body.theme-y2k-soft a { color: #ff6fa3; }
body.theme-y2k-soft a:active { color: #e0407e; }

/* Top header */
body.theme-y2k-soft .top {
  background: linear-gradient(180deg, rgba(254,246,249,0.96) 85%, rgba(253,234,242,0.7));
  border-bottom: 1px solid #fadbe8;
}
body.theme-y2k-soft .trip-title h1 { color: #4a3858; }
body.theme-y2k-soft .subtitle { color: #b8a0c4; }

/* Day tabs */
body.theme-y2k-soft .day-tab {
  background: #ffffff;
  color: #8870a0;
  border: 1.5px solid #f4c8dc;
  border-radius: 999px;
  box-shadow: 0 2px 6px rgba(255,141,181,0.08);
}
body.theme-y2k-soft .day-tab.active {
  background: linear-gradient(135deg, #ff8db5, #ffa9c5);
  color: #ffffff;
  border-color: #ff8db5;
  box-shadow: 0 4px 14px rgba(255,141,181,0.45);
}
body.theme-y2k-soft .day-tab-pre {
  background: #fff1e3;
  border-color: #ffd2a8;
  color: #d97a30;
}
body.theme-y2k-soft .day-tab-pre.active {
  background: linear-gradient(135deg, #ffb578, #ffc89a);
  color: #ffffff;
  border-color: #ffb578;
}
body.theme-y2k-soft .day-tab-summary {
  background: #fdf3d9;
  border-color: #f5d36d;
  color: #a07d1a;
}
body.theme-y2k-soft .day-tab-summary.active {
  background: linear-gradient(135deg, #f5d36d, #ffe79a);
  color: #6b4d10;
  border-color: #f5d36d;
}
body.theme-y2k-soft .day-tab-checklist {
  background: #e2fbef;
  border-color: #9eebc4;
  color: #2d8a5f;
}
body.theme-y2k-soft .day-tab-checklist.active {
  background: linear-gradient(135deg, #6ee7b7, #a6f0cf);
  color: #0f4d31;
  border-color: #6ee7b7;
}

/* Chips & headline */
body.theme-y2k-soft .chip {
  background: #ffffff;
  border: 1.5px solid #f4c8dc;
  border-radius: 999px;
  color: #8870a0;
}
body.theme-y2k-soft .chip-weather { background: #e6f4ff; border-color: #b9def7; color: #2c6da0; }
body.theme-y2k-soft .chip-weather.rainy { background: #ecebff; border-color: #c4befb; color: #5d4ec4; }
body.theme-y2k-soft .headline {
  background: #ffffff;
  border-left: 4px solid #ff8db5;
  border-radius: 16px;
  color: #4a3858;
  box-shadow: 0 2px 10px rgba(255,141,181,0.1);
}

/* Cards */
body.theme-y2k-soft .card {
  background: #ffffff;
  border: 1.5px solid #fadbe8;
  border-radius: 20px;
  box-shadow: 0 3px 14px rgba(183,148,244,0.08);
}
body.theme-y2k-soft .card.mode-meal { border-left: 4px solid #ffb578; }
body.theme-y2k-soft .card.mode-sightsee { border-left: 4px solid #b794f4; }
body.theme-y2k-soft .card.mode-metro,
body.theme-y2k-soft .card.mode-maglev { border-left: 4px solid #7ec9f0; }
body.theme-y2k-soft .card.mode-walk { border-left: 4px solid #c8b8d9; }
body.theme-y2k-soft .card.mode-didi { border-left: 4px solid #f5d36d; }
body.theme-y2k-soft .card.mode-flight { border-left: 4px solid #ff8da6; }
body.theme-y2k-soft .card.mode-hotel { border-left: 4px solid #6ee7b7; }
body.theme-y2k-soft .card.mode-rest { border-left: 4px solid #d4c5e2; }
body.theme-y2k-soft .card.mode-transit { border-left: 4px solid #c8b8d9; }
body.theme-y2k-soft .card.branch-a { border-left-color: #ff8db5 !important; }
body.theme-y2k-soft .card.branch-b { border-left-color: #6ee7b7 !important; }
body.theme-y2k-soft .time { color: #ff6fa3; font-weight: 700; }
body.theme-y2k-soft .time .end { color: #b8a0c4; }
body.theme-y2k-soft .title-line { color: #4a3858; font-weight: 700; }
body.theme-y2k-soft .notes { color: #8870a0; }
body.theme-y2k-soft .card-meta a {
  background: #fef0f6;
  border: 1.5px solid #fadbe8;
  border-radius: 999px;
  color: #c75e8a;
}
body.theme-y2k-soft .cost-tag {
  background: #fff7d9;
  border: 1.5px solid #f5d36d;
  border-radius: 999px;
  color: #a07d1a;
}

/* Waypoint */
body.theme-y2k-soft .waypoint {
  background: linear-gradient(180deg, #f3ecff, #f9f3ff);
  border-left: 4px solid #b794f4;
  border-radius: 14px;
}
body.theme-y2k-soft .wp-compass { color: #7d5dd1; }
body.theme-y2k-soft .wp-meta { color: #a08fc4; }
body.theme-y2k-soft .wp-go {
  background: #e9defc;
  border: 1.5px solid #b794f4;
  border-radius: 999px;
  color: #5d3fb0;
  font-weight: 700;
}
body.theme-y2k-soft .wp-via { color: #4a3858; }
body.theme-y2k-soft .wp-cue { color: #7d5dd1; }

/* Restaurant note + branch */
body.theme-y2k-soft .restaurant-note {
  background: #fff3e0;
  border: 1.5px solid #ffd2a8;
  border-radius: 14px;
  color: #b8651a;
}
body.theme-y2k-soft .restaurant-note .strategy { color: #d97a30; font-weight: 600; }
body.theme-y2k-soft .branch-divider {
  background: linear-gradient(135deg, #fff1f7, #f3ecff);
  border: 1.5px dashed #b794f4;
  border-radius: 16px;
}
body.theme-y2k-soft .branch-title { color: #7d5dd1; }
body.theme-y2k-soft .branch-notes { color: #8870a0; }

/* Section blocks */
body.theme-y2k-soft .section-block {
  background: #ffffff;
  border: 1.5px solid #fadbe8;
  border-radius: 18px;
  box-shadow: 0 2px 8px rgba(183,148,244,0.06);
}
body.theme-y2k-soft .section-block.risks { border-left: 4px solid #ff8da6; }
body.theme-y2k-soft .section-block.alts { border-left: 4px solid #f5d36d; }
body.theme-y2k-soft .section-block h3 { color: #7d5dd1; }
body.theme-y2k-soft .section-block p { color: #8870a0; }

/* Summary view */
body.theme-y2k-soft .summary-loading,
body.theme-y2k-soft .summary-error { color: #8870a0; }
body.theme-y2k-soft .summary-hero {
  background: linear-gradient(135deg, #ffffff, #fef0f6);
  border: 1.5px solid #fadbe8;
  border-radius: 22px;
  box-shadow: 0 6px 20px rgba(255,141,181,0.12);
}
body.theme-y2k-soft .hero-label { color: #b8a0c4; }
body.theme-y2k-soft .refresh-btn { background: #fef0f6; color: #c75e8a; }
body.theme-y2k-soft .refresh-btn:active { background: #fadbe8; }
body.theme-y2k-soft .hero-thb { color: #ff6fa3; }
body.theme-y2k-soft .hero-cny { color: #b8a0c4; }
body.theme-y2k-soft .hero-thb-small { color: #ff6fa3; }
body.theme-y2k-soft .hero-of { color: #b8a0c4; }
body.theme-y2k-soft .hero-pct { color: #7d5dd1; }
body.theme-y2k-soft .hero-budget-line { color: #8870a0; }
body.theme-y2k-soft .plan-head { color: #4a3858; }
body.theme-y2k-soft .plan-numbers { color: #ff6fa3; }
body.theme-y2k-soft .plan-of { color: #b8a0c4; }
body.theme-y2k-soft .plan-foot { color: #8870a0; }
body.theme-y2k-soft .plan-footnote { color: #a08fc4; border-top: 1.5px dashed #f4c8dc; }
body.theme-y2k-soft .summary-block {
  background: #ffffff;
  border: 1.5px solid #fadbe8;
  border-radius: 18px;
  box-shadow: 0 2px 10px rgba(255,141,181,0.08);
}
body.theme-y2k-soft .summary-block h3 { color: #7d5dd1; }
body.theme-y2k-soft .bar-label { color: #4a3858; }
body.theme-y2k-soft .bar-amt { color: #ff6fa3; }
body.theme-y2k-soft .bar-pct { color: #b8a0c4; }
body.theme-y2k-soft .bar-track { background: #fef0f6; border-radius: 999px; }
body.theme-y2k-soft .bar-fill { background: linear-gradient(90deg, #ff8db5, #b794f4); border-radius: 999px; }
body.theme-y2k-soft .recent-row { border-bottom: 1px solid #fadbe8; }
body.theme-y2k-soft .recent-row:active { background: #fef0f6; }
body.theme-y2k-soft .recent-head { color: #4a3858; }
body.theme-y2k-soft .recent-amt { color: #ff6fa3; }
body.theme-y2k-soft .recent-meta { color: #8870a0; }
body.theme-y2k-soft .recent-day {
  background: #fef0f6;
  border: 1px solid #fadbe8;
  border-radius: 999px;
  color: #c75e8a;
}
body.theme-y2k-soft .recent-cny { color: #a08fc4; }
body.theme-y2k-soft .recent-hint { color: #c8b8d9; }
body.theme-y2k-soft .edit-meta {
  background: #fef0f6;
  border: 1.5px solid #fadbe8;
  border-radius: 12px;
  color: #8870a0;
}
body.theme-y2k-soft .edit-ts { color: #ff6fa3; }
body.theme-y2k-soft .delete-btn {
  background: #fff0f3;
  border: 1.5px solid #ffb3c1;
  color: #d04068;
  border-radius: 14px;
}
body.theme-y2k-soft .delete-btn:active { background: #ffd9e1; }
body.theme-y2k-soft .summary-footer { color: #b8a0c4; }

/* FAB */
body.theme-y2k-soft .fab {
  background: linear-gradient(135deg, #ff8db5, #b794f4);
  color: #ffffff;
  box-shadow: 0 10px 24px rgba(255,141,181,0.5), 0 4px 8px rgba(183,148,244,0.3);
  font-weight: 400;
}
body.theme-y2k-soft .fab:active { transform: scale(0.92); }

/* Modal */
body.theme-y2k-soft .modal-backdrop { background: rgba(74,56,88,0.4); }
body.theme-y2k-soft .modal {
  background: #ffffff;
  border-radius: 24px 24px 0 0;
  box-shadow: 0 -8px 30px rgba(255,141,181,0.25);
}
body.theme-y2k-soft .modal-head h2 { color: #4a3858; }
body.theme-y2k-soft .modal-close { color: #b8a0c4; }
body.theme-y2k-soft .field > span { color: #8870a0; }
body.theme-y2k-soft .field input,
body.theme-y2k-soft .field select {
  background: #fef0f6;
  border: 1.5px solid #fadbe8;
  border-radius: 14px;
  color: #4a3858;
}
body.theme-y2k-soft .field input:focus,
body.theme-y2k-soft .field select:focus { border-color: #ff8db5; background: #ffffff; }
body.theme-y2k-soft .submit {
  background: linear-gradient(135deg, #ff8db5, #ffa9c5);
  color: #ffffff;
  border-radius: 16px;
  box-shadow: 0 4px 14px rgba(255,141,181,0.4);
}
body.theme-y2k-soft .submit:active { background: linear-gradient(135deg, #e0407e, #ff8db5); }
body.theme-y2k-soft .form-msg.error { color: #d04068; }
body.theme-y2k-soft .form-msg.success { color: #2d8a5f; }

/* Toast */
body.theme-y2k-soft .toast {
  background: linear-gradient(135deg, #ff8db5, #b794f4);
  color: #ffffff;
  box-shadow: 0 6px 18px rgba(255,141,181,0.4);
  border-radius: 999px;
  font-weight: 600;
}

/* Version pill */
body.theme-y2k-soft .ver-pill {
  background: linear-gradient(135deg, #b794f4, #ff8db5);
  color: #ffffff;
}
body.theme-y2k-soft .ref-badge {
  background: linear-gradient(135deg, #b794f4, #ffd1ea);
  color: #4a3858;
}
body.theme-y2k-soft .card.has-refs::after {
  background: #b794f4;
  box-shadow: 0 0 10px rgba(183,148,244,0.7);
}

/* Refs strip */
body.theme-y2k-soft .refs-strip {
  background: linear-gradient(135deg, #f3ecff, #fef0f6);
  border: 1.5px solid #d4c5e2;
  border-radius: 16px;
}
body.theme-y2k-soft .refs-label { color: #7d5dd1; }
body.theme-y2k-soft .ref-thumb {
  background: #ffffff;
  border: 2px solid #d4c5e2;
  border-radius: 14px;
}
body.theme-y2k-soft .ref-thumb:hover,
body.theme-y2k-soft .ref-thumb:active {
  border-color: #b794f4;
  box-shadow: 0 4px 14px rgba(183,148,244,0.35);
}
body.theme-y2k-soft .ref-num {
  background: rgba(125,93,209,0.92);
  color: #ffffff;
  border-radius: 999px;
}

/* Lightbox */
body.theme-y2k-soft .lightbox { background: rgba(74,56,88,0.95); }
body.theme-y2k-soft .lb-close,
body.theme-y2k-soft .lb-prev,
body.theme-y2k-soft .lb-next {
  background: rgba(255,255,255,0.92);
  border: 1.5px solid #fadbe8;
  color: #4a3858;
}
body.theme-y2k-soft .lb-close:hover,
body.theme-y2k-soft .lb-prev:hover,
body.theme-y2k-soft .lb-next:hover { background: #ffffff; }
body.theme-y2k-soft .lb-caption {
  background: rgba(255,255,255,0.92);
  color: #4a3858;
}
body.theme-y2k-soft .lb-tricks {
  background: linear-gradient(180deg, #ffffff 0%, #fef0f6 100%);
  border-top: 2px solid #b794f4;
  color: #4a3858;
}
body.theme-y2k-soft .lb-tricks-toggle {
  background: linear-gradient(135deg, #ff8db5, #b794f4);
  border: 1.5px solid #b794f4;
  color: #ffffff;
}
body.theme-y2k-soft .lb-tricks-label { color: #7d5dd1; border-bottom: 1px solid #d4c5e2; }
body.theme-y2k-soft .lb-shot-head,
body.theme-y2k-soft .lb-tricks-head { color: #8870a0; }
body.theme-y2k-soft .lb-shot { color: #4a3858; }
body.theme-y2k-soft .lb-tricks-list li { color: #4a3858; }
body.theme-y2k-soft .lb-tricks-list li::before { color: #b794f4; }
body.theme-y2k-soft .lb-tricks-list li strong { color: #d97a30; }
body.theme-y2k-soft .lb-title { color: #4a3858; }
body.theme-y2k-soft .lb-meta-chip {
  background: #f3ecff;
  color: #5d3fb0;
  border: 1px solid #d4c5e2;
}
body.theme-y2k-soft .lb-sec-head { color: #8870a0; }
body.theme-y2k-soft .lb-cam-iphone { background: #e8fbf2; border-color: #6ee7b7; }
body.theme-y2k-soft .lb-cam-canon { background: #fff3e0; border-color: #ffb578; }
body.theme-y2k-soft .lb-cam-head { color: #4a3858; }
body.theme-y2k-soft .lb-cam-line { color: #6b557a; }
body.theme-y2k-soft .lb-cam-line strong { color: #d97a30; }
body.theme-y2k-soft .lb-settings {
  background: rgba(254,240,246,0.6);
  border-radius: 10px;
}
body.theme-y2k-soft .lb-setting { border-bottom: 1px dashed #fadbe8; }
body.theme-y2k-soft .lb-setting-k { color: #8870a0; }
body.theme-y2k-soft .lb-setting-v { color: #4a3858; }
body.theme-y2k-soft .prio-high { background: #ff8da6; color: #ffffff; }
body.theme-y2k-soft .prio-medium { background: #ffb578; color: #6b3010; }
body.theme-y2k-soft .prio-low { background: #d4c5e2; color: #5d3fb0; }
body.theme-y2k-soft .prio-skip { background: #ffffff; color: #b8a0c4; border: 1px solid #fadbe8; }
body.theme-y2k-soft .lb-tag { background: #fef0f6; color: #8870a0; border-radius: 6px; }

/* Checklist */
body.theme-y2k-soft .tab-badge { background: #ff6fa3; color: #ffffff; box-shadow: 0 2px 6px rgba(255,111,163,0.4); }
body.theme-y2k-soft .day-tab-checklist.active .tab-badge { background: #ffffff; color: #2d8a5f; }
body.theme-y2k-soft .cl-head { background: #fef6f9; }
body.theme-y2k-soft .cl-person-btn {
  background: #ffffff;
  border: 1.5px solid #fadbe8;
  color: #8870a0;
  border-radius: 16px;
}
body.theme-y2k-soft .cl-person-btn.active {
  background: linear-gradient(135deg, #6ee7b7, #a6f0cf);
  border-color: #6ee7b7;
  color: #0f4d31;
  box-shadow: 0 4px 12px rgba(110,231,183,0.35);
}
body.theme-y2k-soft .cl-progbar { background: #fef0f6; border: 1.5px solid #fadbe8; border-radius: 999px; }
body.theme-y2k-soft .cl-progfill { background: linear-gradient(90deg, #6ee7b7, #b794f4); }
body.theme-y2k-soft .cl-progtxt { color: #8870a0; }
body.theme-y2k-soft .cl-badge-enable {
  background: #ffffff;
  border: 1.5px solid #fadbe8;
  color: #8870a0;
  border-radius: 999px;
}
body.theme-y2k-soft .cl-group-head { border-bottom: 2px solid #fadbe8; }
body.theme-y2k-soft .cl-group-day { color: #4a3858; }
body.theme-y2k-soft .cl-group-sub { color: #2d8a5f; }
body.theme-y2k-soft .cl-item {
  background: #ffffff;
  border: 1.5px solid #fadbe8;
  border-radius: 18px;
  box-shadow: 0 2px 8px rgba(255,141,181,0.06);
}
body.theme-y2k-soft .cl-box { border: 2px solid #d4c5e2; border-radius: 8px; }
body.theme-y2k-soft .cl-item.done .cl-box { background: #6ee7b7; border-color: #6ee7b7; }
body.theme-y2k-soft .cl-t { color: #4a3858; }
body.theme-y2k-soft .cl-d { color: #8870a0; }
body.theme-y2k-soft .cl-d a { color: #5d8eb8; border-bottom: 1px solid rgba(93,142,184,0.4); }
body.theme-y2k-soft .cl-item.done .cl-t { color: #b8a0c4; }
body.theme-y2k-soft .cl-pill { background: linear-gradient(135deg, #ff8db5, #ffa9c5); color: #ffffff; }
body.theme-y2k-soft .cl-pill.warn { background: linear-gradient(135deg, #ffb578, #ffc89a); color: #ffffff; }
body.theme-y2k-soft .cl-del { color: #b8a0c4; }
body.theme-y2k-soft .cl-empty { color: #b8a0c4; }
body.theme-y2k-soft .cl-add input {
  background: #ffffff;
  border: 1.5px solid #fadbe8;
  border-radius: 14px;
  color: #4a3858;
}
body.theme-y2k-soft .cl-add input::placeholder { color: #c8b8d9; }
body.theme-y2k-soft .cl-add-btn {
  background: linear-gradient(135deg, #6ee7b7, #a6f0cf);
  color: #0f4d31;
  border-radius: 14px;
  box-shadow: 0 4px 12px rgba(110,231,183,0.35);
}
body.theme-y2k-soft .cl-note { color: #b8a0c4; }
body.theme-y2k-soft .cl-choose-title { color: #4a3858; }
body.theme-y2k-soft .cl-choose-sub { color: #8870a0; }
body.theme-y2k-soft .cl-choose-sub strong { color: #d04068; }
body.theme-y2k-soft .cl-owner-btn {
  background: #ffffff;
  border: 1.5px solid #fadbe8;
  color: #4a3858;
  border-radius: 18px;
  box-shadow: 0 4px 12px rgba(255,141,181,0.1);
}
body.theme-y2k-soft .cl-owner-btn:active { border-color: #6ee7b7; }
body.theme-y2k-soft .cl-owner-name { color: #4a3858; }
body.theme-y2k-soft .cl-switch { color: #b8a0c4; }
body.theme-y2k-soft .cl-local-banner {
  background: #fff7d9;
  border: 1.5px solid #f5d36d;
  border-radius: 12px;
  color: #a07d1a;
}

/* QR */
body.theme-y2k-soft .qr-card {
  background: #f3ecff;
  border: 1.5px solid #d4c5e2;
  border-radius: 14px;
}
body.theme-y2k-soft .qr-add {
  background: linear-gradient(135deg, #b794f4, #d4c5e2);
  color: #ffffff;
  border-radius: 12px;
}
body.theme-y2k-soft .qr-view {
  background: linear-gradient(135deg, #6ee7b7, #a6f0cf);
  color: #0f4d31;
  border-radius: 12px;
}
body.theme-y2k-soft .qr-hint { color: #7d5dd1; }
body.theme-y2k-soft .qr-remove { color: #b8a0c4; }

/* Search */
body.theme-y2k-soft .search-btn {
  background: #ffffff;
  border: 1.5px solid #f4c8dc;
  color: #8870a0;
}
body.theme-y2k-soft .search-btn.active {
  background: linear-gradient(135deg, #ff8db5, #ffa9c5);
  color: #ffffff;
  border-color: #ff8db5;
}
body.theme-y2k-soft .search-panel {
  background: rgba(254,246,249,0.97);
  border-top: 1px solid #fadbe8;
}
body.theme-y2k-soft #search-input {
  background: #ffffff;
  border: 1.5px solid #fadbe8;
  color: #4a3858;
  border-radius: 14px;
}
body.theme-y2k-soft #search-input:focus { border-color: #ff8db5; box-shadow: 0 0 0 3px rgba(255,141,181,0.15); }
body.theme-y2k-soft .search-close {
  background: #ffffff;
  border: 1.5px solid #fadbe8;
  color: #8870a0;
  border-radius: 14px;
}
body.theme-y2k-soft .search-empty { color: #b8a0c4; }
body.theme-y2k-soft .search-result {
  background: #ffffff;
  border: 1.5px solid #fadbe8;
  color: #4a3858;
  border-radius: 14px;
  box-shadow: 0 2px 6px rgba(255,141,181,0.06);
}
body.theme-y2k-soft .search-result:hover { background: #fef0f6; }
body.theme-y2k-soft .sr-day {
  background: linear-gradient(135deg, #ff8db5, #ffa9c5);
  color: #ffffff;
}
body.theme-y2k-soft .sr-day.sr-day-pre { background: linear-gradient(135deg, #ffb578, #ffc89a); }
body.theme-y2k-soft .sr-day.sr-day-rest { background: linear-gradient(135deg, #b794f4, #d4c5e2); }
body.theme-y2k-soft .sr-time { color: #8870a0; }
body.theme-y2k-soft .sr-snippet { color: #8870a0; }
body.theme-y2k-soft .search-result mark {
  background: rgba(255,141,181,0.35);
  color: #c0306c;
  border-radius: 4px;
  padding: 0 2px;
}

/* Flash warp keyframe color */
body.theme-y2k-soft .card.flash-warp,
body.theme-y2k-soft .branch-divider.flash-warp,
body.theme-y2k-soft .restaurant-note.flash-warp {
  animation: blockFlashY2k 2.2s ease-out;
}
@keyframes blockFlashY2k {
  0%   { box-shadow: 0 0 0 4px rgba(255,141,181,0.8); background: rgba(255,141,181,0.18); }
  60%  { box-shadow: 0 0 0 4px rgba(255,141,181,0.3); background: rgba(255,141,181,0.08); }
  100% { box-shadow: 0 0 0 0 rgba(255,141,181,0); }
}


/* iOS Glass — True-black canvas with vibrant frosted glass and Apple-blue accents */
/* palette: {"bg": "#000000", "text": "#f5f5f7", "accent": "#0a84ff", "accent_secondary": "#ff375f", "card_bg": "#16161a", "border": "#2a2a2e"} */

/* iOS Glass — true-black, frosted glass, Apple-native premium */
body.theme-ios-glass { background: #000000; color: #f5f5f7; font-family: -apple-system, BlinkMacSystemFont, "SF Pro Text", "SF Pro Display", "Helvetica Neue", "Noto Sans Thai", sans-serif; }
body.theme-ios-glass html { background: #000000; color: #f5f5f7; }
body.theme-ios-glass a { color: #0a84ff; }
body.theme-ios-glass a:active { color: #409cff; }

/* Top header — translucent glass */
body.theme-ios-glass .top { background: linear-gradient(180deg, rgba(0,0,0,0.78) 85%, rgba(0,0,0,0.4)); backdrop-filter: saturate(180%) blur(20px); -webkit-backdrop-filter: saturate(180%) blur(20px); border-bottom: 0.5px solid rgba(255,255,255,0.08); }
body.theme-ios-glass .trip-title h1 { color: #f5f5f7; letter-spacing: -0.6px; }
body.theme-ios-glass .subtitle { color: #8e8e93; }

/* Day tabs — glass pills */
body.theme-ios-glass .day-tab { background: rgba(255,255,255,0.06); color: #ebebf0; border: 0.5px solid rgba(255,255,255,0.12); backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px); font-weight: 600; letter-spacing: -0.1px; }
body.theme-ios-glass .day-tab.active { background: #0a84ff; color: #ffffff; border-color: #0a84ff; box-shadow: 0 4px 14px rgba(10,132,255,0.45), inset 0 1px 0 rgba(255,255,255,0.18); }
body.theme-ios-glass .day-tab-pre { background: rgba(255,159,10,0.16); border-color: rgba(255,159,10,0.35); color: #ffb340; }
body.theme-ios-glass .day-tab-pre.active { background: #ff9f0a; color: #1c1c1e; border-color: #ff9f0a; box-shadow: 0 4px 14px rgba(255,159,10,0.45); }
body.theme-ios-glass .day-tab-summary { background: rgba(255,214,10,0.14); border-color: rgba(255,214,10,0.32); color: #ffd60a; }
body.theme-ios-glass .day-tab-summary.active { background: #ffd60a; color: #1c1c1e; border-color: #ffd60a; box-shadow: 0 4px 14px rgba(255,214,10,0.45); }
body.theme-ios-glass .day-tab-checklist { background: rgba(48,209,88,0.14); border-color: rgba(48,209,88,0.32); color: #30d158; }
body.theme-ios-glass .day-tab-checklist.active { background: #30d158; color: #052e16; border-color: #30d158; box-shadow: 0 4px 14px rgba(48,209,88,0.45); }

/* Chips */
body.theme-ios-glass .chip { background: rgba(255,255,255,0.06); border: 0.5px solid rgba(255,255,255,0.12); color: #ebebf0; backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); border-radius: 999px; }
body.theme-ios-glass .chip-weather { background: rgba(10,132,255,0.14); border-color: rgba(10,132,255,0.35); color: #64d2ff; }
body.theme-ios-glass .chip-weather.rainy { background: rgba(94,92,230,0.18); border-color: rgba(94,92,230,0.4); color: #a5a5ff; }

body.theme-ios-glass .headline { background: rgba(255,255,255,0.05); border-left: 3px solid #0a84ff; color: #ebebf0; border-radius: 10px; backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px); }

/* Cards — frosted glass */
body.theme-ios-glass .card { background: rgba(255,255,255,0.06); border: 0.5px solid rgba(255,255,255,0.10); border-radius: 14px; backdrop-filter: saturate(160%) blur(18px); -webkit-backdrop-filter: saturate(160%) blur(18px); box-shadow: 0 1px 0 rgba(255,255,255,0.05) inset, 0 8px 24px rgba(0,0,0,0.35); }
body.theme-ios-glass .card.mode-meal { border-left: 3px solid #ff9f0a; }
body.theme-ios-glass .card.mode-sightsee { border-left: 3px solid #bf5af2; }
body.theme-ios-glass .card.mode-metro, body.theme-ios-glass .card.mode-maglev { border-left: 3px solid #0a84ff; }
body.theme-ios-glass .card.mode-walk { border-left: 3px solid #8e8e93; }
body.theme-ios-glass .card.mode-didi { border-left: 3px solid #ffd60a; }
body.theme-ios-glass .card.mode-flight { border-left: 3px solid #ff375f; }
body.theme-ios-glass .card.mode-hotel { border-left: 3px solid #30d158; }
body.theme-ios-glass .card.mode-rest { border-left: 3px solid #8e8e93; }
body.theme-ios-glass .card.mode-transit { border-left: 3px solid #64d2ff; }
body.theme-ios-glass .card.branch-a { border-left-color: #ff375f !important; }
body.theme-ios-glass .card.branch-b { border-left-color: #30d158 !important; }
body.theme-ios-glass .card.has-refs::after { background: #bf5af2; box-shadow: 0 0 10px rgba(191,90,242,0.7); }

body.theme-ios-glass .time { color: #0a84ff; font-variant-numeric: tabular-nums; }
body.theme-ios-glass .time .end { color: #636366; }
body.theme-ios-glass .title-line { color: #f5f5f7; letter-spacing: -0.2px; }
body.theme-ios-glass .notes { color: #aeaeb2; }
body.theme-ios-glass .card-meta a { background: rgba(255,255,255,0.06); border: 0.5px solid rgba(255,255,255,0.14); color: #0a84ff; border-radius: 8px; }
body.theme-ios-glass .cost-tag { background: rgba(255,214,10,0.12); border: 0.5px solid rgba(255,214,10,0.3); color: #ffd60a; border-radius: 8px; }

/* Waypoint */
body.theme-ios-glass .waypoint { background: linear-gradient(180deg, rgba(191,90,242,0.14), rgba(191,90,242,0.04)); border-left: 3px solid #bf5af2; border-radius: 10px; }
body.theme-ios-glass .wp-compass { color: #d3a5f7; }
body.theme-ios-glass .wp-meta { color: #aeaeb2; }
body.theme-ios-glass .wp-go { background: rgba(191,90,242,0.22); border: 0.5px solid rgba(191,90,242,0.5); color: #e9d5ff; border-radius: 999px; }
body.theme-ios-glass .wp-via { color: #ebebf0; }
body.theme-ios-glass .wp-cue { color: #bf5af2; }

/* Restaurant note */
body.theme-ios-glass .restaurant-note { background: rgba(255,159,10,0.10); border: 0.5px solid rgba(255,159,10,0.3); color: #ffd07a; border-radius: 10px; }
body.theme-ios-glass .restaurant-note .strategy { color: #ffe2a8; }

/* Branch divider */
body.theme-ios-glass .branch-divider { background: rgba(191,90,242,0.10); border: 1px dashed rgba(191,90,242,0.55); border-radius: 12px; }
body.theme-ios-glass .branch-title { color: #d3a5f7; }
body.theme-ios-glass .branch-notes { color: #aeaeb2; }

/* Section block */
body.theme-ios-glass .section-block { background: rgba(255,255,255,0.05); border: 0.5px solid rgba(255,255,255,0.10); border-radius: 12px; backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px); }
body.theme-ios-glass .section-block.risks { border-left: 3px solid #ff375f; }
body.theme-ios-glass .section-block.alts { border-left: 3px solid #ffd60a; }
body.theme-ios-glass .section-block h3 { color: #ebebf0; }
body.theme-ios-glass .section-block p { color: #aeaeb2; }

/* Summary view */
body.theme-ios-glass .summary-loading, body.theme-ios-glass .summary-error { color: #aeaeb2; }
body.theme-ios-glass .summary-hero { background: linear-gradient(135deg, rgba(10,132,255,0.18), rgba(255,55,95,0.10) 50%, rgba(255,214,10,0.08)); border: 0.5px solid rgba(255,255,255,0.12); border-radius: 18px; backdrop-filter: blur(20px); -webkit-backdrop-filter: blur(20px); box-shadow: 0 1px 0 rgba(255,255,255,0.08) inset, 0 10px 30px rgba(0,0,0,0.4); }
body.theme-ios-glass .hero-label { color: #aeaeb2; }
body.theme-ios-glass .refresh-btn { background: rgba(255,255,255,0.12); color: #f5f5f7; }
body.theme-ios-glass .refresh-btn:active { background: rgba(255,255,255,0.2); }
body.theme-ios-glass .hero-thb { color: #ffd60a; }
body.theme-ios-glass .hero-cny { color: #aeaeb2; }
body.theme-ios-glass .hero-thb-small { color: #ffd60a; }
body.theme-ios-glass .hero-of { color: #aeaeb2; }
body.theme-ios-glass .hero-pct { color: #ebebf0; }
body.theme-ios-glass .hero-budget-line { color: #aeaeb2; }
body.theme-ios-glass .plan-head { color: #ebebf0; }
body.theme-ios-glass .plan-numbers { color: #ffd60a; }
body.theme-ios-glass .plan-of { color: #636366; }
body.theme-ios-glass .plan-foot { color: #aeaeb2; }
body.theme-ios-glass .plan-footnote { color: #8e8e93; border-top: 0.5px dashed rgba(255,255,255,0.15); }
body.theme-ios-glass .summary-block { background: rgba(255,255,255,0.05); border: 0.5px solid rgba(255,255,255,0.10); border-radius: 14px; backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px); }
body.theme-ios-glass .summary-block h3 { color: #ebebf0; }
body.theme-ios-glass .bar-label { color: #ebebf0; }
body.theme-ios-glass .bar-amt { color: #ffd60a; }
body.theme-ios-glass .bar-pct { color: #636366; }
body.theme-ios-glass .bar-track { background: rgba(0,0,0,0.5); }
body.theme-ios-glass .bar-fill { background: linear-gradient(90deg, #0a84ff, #ff375f); }
body.theme-ios-glass .recent-row { border-bottom: 0.5px solid rgba(255,255,255,0.08); }
body.theme-ios-glass .recent-row:active { background: rgba(255,255,255,0.06); }
body.theme-ios-glass .recent-head { color: #f5f5f7; }
body.theme-ios-glass .recent-amt { color: #ffd60a; }
body.theme-ios-glass .recent-meta { color: #aeaeb2; }
body.theme-ios-glass .recent-day { background: rgba(10,132,255,0.18); border: 0.5px solid rgba(10,132,255,0.4); color: #64d2ff; border-radius: 6px; }
body.theme-ios-glass .recent-cny { color: #636366; }
body.theme-ios-glass .recent-hint { color: #48484a; }
body.theme-ios-glass .edit-meta { background: rgba(10,132,255,0.12); border: 0.5px solid rgba(10,132,255,0.32); color: #aeaeb2; border-radius: 10px; }
body.theme-ios-glass .edit-ts { color: #0a84ff; }
body.theme-ios-glass .delete-btn { background: transparent; border: 0.5px solid rgba(255,55,95,0.5); color: #ff6482; border-radius: 12px; }
body.theme-ios-glass .delete-btn:active { background: rgba(255,55,95,0.18); }
body.theme-ios-glass .summary-footer { color: #636366; }

/* FAB — iridescent gradient */
body.theme-ios-glass .fab { background: linear-gradient(135deg, #0a84ff 0%, #5e5ce6 50%, #bf5af2 100%); color: #ffffff; box-shadow: 0 10px 28px rgba(10,132,255,0.55), 0 2px 8px rgba(0,0,0,0.45), inset 0 1px 0 rgba(255,255,255,0.25); }

/* Modal */
body.theme-ios-glass .modal-backdrop { background: rgba(0,0,0,0.55); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); }
body.theme-ios-glass .modal { background: rgba(28,28,30,0.85); border-top: 0.5px solid rgba(255,255,255,0.15); border-radius: 22px 22px 0 0; backdrop-filter: saturate(180%) blur(30px); -webkit-backdrop-filter: saturate(180%) blur(30px); }
body.theme-ios-glass .modal-head h2 { color: #f5f5f7; }
body.theme-ios-glass .modal-close { color: #8e8e93; }
body.theme-ios-glass .field > span { color: #8e8e93; }
body.theme-ios-glass .field input, body.theme-ios-glass .field select { background: rgba(255,255,255,0.08); border: 0.5px solid rgba(255,255,255,0.12); color: #f5f5f7; border-radius: 10px; }
body.theme-ios-glass .field input:focus, body.theme-ios-glass .field select:focus { border-color: #0a84ff; background: rgba(10,132,255,0.10); }
body.theme-ios-glass .submit { background: #0a84ff; color: #ffffff; border-radius: 12px; box-shadow: 0 4px 14px rgba(10,132,255,0.45); }
body.theme-ios-glass .submit:active { background: #0066d6; }
body.theme-ios-glass .form-msg.error { color: #ff6482; }
body.theme-ios-glass .form-msg.success { color: #30d158; }

/* Toast */
body.theme-ios-glass .toast { background: rgba(44,44,46,0.92); color: #f5f5f7; border: 0.5px solid rgba(255,255,255,0.12); backdrop-filter: blur(20px); -webkit-backdrop-filter: blur(20px); box-shadow: 0 8px 28px rgba(0,0,0,0.5); }

/* Refs strip + thumbs */
body.theme-ios-glass .refs-strip { background: linear-gradient(135deg, rgba(191,90,242,0.14), rgba(94,92,230,0.10)); border: 0.5px solid rgba(191,90,242,0.35); border-radius: 12px; box-shadow: inset 0 1px 0 rgba(255,255,255,0.06); }
body.theme-ios-glass .refs-label { color: #d3a5f7; }
body.theme-ios-glass .ref-thumb { background: rgba(255,255,255,0.05); border: 0.5px solid rgba(255,255,255,0.12); border-radius: 10px; }
body.theme-ios-glass .ref-thumb:hover, body.theme-ios-glass .ref-thumb:active { border-color: #bf5af2; box-shadow: 0 6px 18px rgba(191,90,242,0.35); }
body.theme-ios-glass .ref-num { background: rgba(191,90,242,0.92); color: #ffffff; }
body.theme-ios-glass .refs-scroll::-webkit-scrollbar-thumb { background: rgba(255,255,255,0.18); }

/* Lightbox */
body.theme-ios-glass .lightbox { background: rgba(0,0,0,0.98); }
body.theme-ios-glass .lb-close, body.theme-ios-glass .lb-prev, body.theme-ios-glass .lb-next { background: rgba(44,44,46,0.85); border: 0.5px solid rgba(255,255,255,0.18); color: #f5f5f7; backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px); }
body.theme-ios-glass .lb-close:hover, body.theme-ios-glass .lb-prev:hover, body.theme-ios-glass .lb-next:hover { background: rgba(72,72,74,0.95); }
body.theme-ios-glass .lb-caption { background: rgba(44,44,46,0.88); color: #ebebf0; backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px); }
body.theme-ios-glass .lb-tricks { background: linear-gradient(180deg, rgba(28,28,30,0.95), rgba(0,0,0,0.98)); border-top: 0.5px solid #bf5af2; color: #ebebf0; }
body.theme-ios-glass .lb-tricks-toggle { background: linear-gradient(135deg, #bf5af2, #0a84ff); color: #ffffff; border: 0.5px solid rgba(255,255,255,0.18); }
body.theme-ios-glass .lb-tricks-label { color: #bf5af2; border-bottom: 0.5px solid rgba(191,90,242,0.3); }
body.theme-ios-glass .lb-shot-head, body.theme-ios-glass .lb-tricks-head { color: #ebebf0; }
body.theme-ios-glass .lb-shot { color: #f5f5f7; }
body.theme-ios-glass .lb-tricks-list li { color: #ebebf0; }
body.theme-ios-glass .lb-tricks-list li::before { color: #bf5af2; }
body.theme-ios-glass .lb-tricks-list li strong { color: #ffd60a; }
body.theme-ios-glass .lb-title { color: #f5f5f7; }
body.theme-ios-glass .lb-meta-chip { background: rgba(191,90,242,0.22); color: #e9d5ff; border: 0.5px solid rgba(191,90,242,0.45); }
body.theme-ios-glass .lb-sec-head { color: #aeaeb2; }
body.theme-ios-glass .lb-cam-iphone { background: rgba(48,209,88,0.08); border-color: #30d158; }
body.theme-ios-glass .lb-cam-canon { background: rgba(255,159,10,0.08); border-color: #ff9f0a; }
body.theme-ios-glass .lb-cam-head { color: #f5f5f7; }
body.theme-ios-glass .lb-cam-line { color: #ebebf0; }
body.theme-ios-glass .lb-cam-line strong { color: #ffd60a; }
body.theme-ios-glass .lb-settings { background: rgba(0,0,0,0.4); border: 0.5px solid rgba(255,255,255,0.08); }
body.theme-ios-glass .lb-setting { border-bottom: 0.5px dashed rgba(255,255,255,0.08); }
body.theme-ios-glass .lb-setting-k { color: #aeaeb2; }
body.theme-ios-glass .lb-setting-v { color: #f5f5f7; }
body.theme-ios-glass .prio-high { background: #ff375f; color: #ffffff; }
body.theme-ios-glass .prio-medium { background: #ff9f0a; color: #1c1c1e; }
body.theme-ios-glass .prio-low { background: rgba(255,255,255,0.12); color: #ebebf0; }
body.theme-ios-glass .prio-skip { background: rgba(0,0,0,0.4); color: #636366; border: 0.5px solid rgba(255,255,255,0.1); }
body.theme-ios-glass .lb-tag { background: rgba(255,255,255,0.08); color: #aeaeb2; }

/* Version pill + ref badge */
body.theme-ios-glass .ver-pill { background: linear-gradient(135deg, #bf5af2, #5e5ce6); color: #ffffff; }
body.theme-ios-glass .ref-badge { background: linear-gradient(135deg, #0a84ff, #bf5af2); color: #ffffff; }

/* Checklist */
body.theme-ios-glass .tab-badge { background: #ff375f; color: #ffffff; }
body.theme-ios-glass .day-tab-checklist.active .tab-badge { background: #052e16; color: #30d158; }
body.theme-ios-glass .cl-head { background: rgba(0,0,0,0.9); backdrop-filter: blur(20px); -webkit-backdrop-filter: blur(20px); }
body.theme-ios-glass .cl-person-btn { background: rgba(255,255,255,0.06); border: 0.5px solid rgba(255,255,255,0.12); color: #ebebf0; border-radius: 12px; }
body.theme-ios-glass .cl-person-btn.active { background: #30d158; border-color: #30d158; color: #052e16; box-shadow: 0 4px 14px rgba(48,209,88,0.4); }
body.theme-ios-glass .cl-progbar { background: rgba(255,255,255,0.06); border: 0.5px solid rgba(255,255,255,0.10); }
body.theme-ios-glass .cl-progfill { background: linear-gradient(90deg, #30d158, #64d2ff); }
body.theme-ios-glass .cl-progtxt { color: #aeaeb2; }
body.theme-ios-glass .cl-badge-enable { background: none; border: 0.5px solid rgba(255,255,255,0.15); color: #aeaeb2; }
body.theme-ios-glass .cl-group-head { border-bottom: 0.5px solid rgba(255,255,255,0.15); }
body.theme-ios-glass .cl-group-day { color: #f5f5f7; }
body.theme-ios-glass .cl-group-sub { color: #30d158; }
body.theme-ios-glass .cl-item { background: rgba(255,255,255,0.05); border: 0.5px solid rgba(255,255,255,0.10); border-radius: 14px; backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px); }
body.theme-ios-glass .cl-box { border: 1.5px solid rgba(255,255,255,0.25); border-radius: 7px; }
body.theme-ios-glass .cl-item.done .cl-box { background: #30d158; border-color: #30d158; }
body.theme-ios-glass .cl-t { color: #f5f5f7; }
body.theme-ios-glass .cl-d { color: #aeaeb2; }
body.theme-ios-glass .cl-d a { color: #64d2ff; border-bottom: 0.5px solid rgba(100,210,255,0.4); }
body.theme-ios-glass .cl-item.done .cl-t { color: #636366; }
body.theme-ios-glass .cl-pill { background: #0a84ff; color: #ffffff; }
body.theme-ios-glass .cl-pill.warn { background: #ff9f0a; color: #1c1c1e; }
body.theme-ios-glass .cl-del { color: #636366; }
body.theme-ios-glass .cl-empty { color: #636366; }
body.theme-ios-glass .cl-add input { background: rgba(255,255,255,0.06); border: 0.5px solid rgba(255,255,255,0.12); color: #f5f5f7; border-radius: 12px; }
body.theme-ios-glass .cl-add input::placeholder { color: #636366; }
body.theme-ios-glass .cl-add-btn { background: #30d158; color: #052e16; border-radius: 12px; box-shadow: 0 4px 14px rgba(48,209,88,0.4); }
body.theme-ios-glass .cl-note { color: #636366; }

/* Owner choose */
body.theme-ios-glass .cl-choose-title { color: #f5f5f7; }
body.theme-ios-glass .cl-choose-sub { color: #aeaeb2; }
body.theme-ios-glass .cl-choose-sub strong { color: #ff6482; }
body.theme-ios-glass .cl-owner-btn { background: rgba(255,255,255,0.06); border: 0.5px solid rgba(255,255,255,0.14); color: #f5f5f7; border-radius: 16px; backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px); }
body.theme-ios-glass .cl-owner-btn:active { border-color: #30d158; }
body.theme-ios-glass .cl-owner-name { color: #f5f5f7; }
body.theme-ios-glass .cl-switch { color: #636366; }
body.theme-ios-glass .cl-switch:active { color: #aeaeb2; }
body.theme-ios-glass .cl-local-banner { color: #ffd60a; background: rgba(255,214,10,0.08); border: 0.5px solid rgba(255,214,10,0.28); border-radius: 10px; }

/* QR */
body.theme-ios-glass .qr-card { background: rgba(10,132,255,0.10); border: 0.5px solid rgba(10,132,255,0.32); border-radius: 12px; }
body.theme-ios-glass .qr-add { background: #0a84ff; color: #ffffff; border-radius: 10px; }
body.theme-ios-glass .qr-view { background: #30d158; color: #052e16; border-radius: 10px; }
body.theme-ios-glass .qr-hint { color: #64d2ff; }
body.theme-ios-glass .qr-remove { color: #aeaeb2; }

/* Search */
body.theme-ios-glass .search-btn { background: rgba(255,255,255,0.08); border: 0.5px solid rgba(255,255,255,0.14); color: #f5f5f7; backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px); }
body.theme-ios-glass .search-btn.active { background: #0a84ff; color: #ffffff; border-color: #0a84ff; }
body.theme-ios-glass .search-panel { background: rgba(0,0,0,0.85); border-top: 0.5px solid rgba(255,255,255,0.10); backdrop-filter: saturate(180%) blur(22px); -webkit-backdrop-filter: saturate(180%) blur(22px); }
body.theme-ios-glass #search-input { background: rgba(255,255,255,0.08); border: 0.5px solid rgba(255,255,255,0.14); color: #f5f5f7; border-radius: 12px; }
body.theme-ios-glass #search-input:focus { border-color: #0a84ff; }
body.theme-ios-glass .search-close { background: rgba(255,255,255,0.08); border: 0.5px solid rgba(255,255,255,0.14); color: #ebebf0; border-radius: 12px; }
body.theme-ios-glass .search-empty { color: #636366; }
body.theme-ios-glass .search-result { background: rgba(255,255,255,0.05); border: 0.5px solid rgba(255,255,255,0.10); color: #f5f5f7; border-radius: 12px; backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px); }
body.theme-ios-glass .search-result:hover { background: rgba(255,255,255,0.10); }
body.theme-ios-glass .sr-day { background: #0a84ff; color: #ffffff; }
body.theme-ios-glass .sr-day.sr-day-pre { background: #ff9f0a; color: #1c1c1e; }
body.theme-ios-glass .sr-day.sr-day-rest { background: #bf5af2; color: #ffffff; }
body.theme-ios-glass .sr-time { color: #aeaeb2; }
body.theme-ios-glass .sr-snippet { color: #aeaeb2; }
body.theme-ios-glass .search-result mark { background: rgba(255,214,10,0.35); color: #ffe97a; }

@keyframes blockFlashGlass {
  0% { box-shadow: 0 0 0 3px rgba(10,132,255,0.85); background: rgba(10,132,255,0.20); }
  60% { box-shadow: 0 0 0 3px rgba(10,132,255,0.30); background: rgba(10,132,255,0.08); }
  100% { box-shadow: 0 0 0 0 rgba(10,132,255,0); background: transparent; }
}
body.theme-ios-glass .card.flash-warp,
body.theme-ios-glass .branch-divider.flash-warp,
body.theme-ios-glass .restaurant-note.flash-warp { animation: blockFlashGlass 2.2s ease-out; }
