/* "我的喜欢" page — inherits site.css + overview.css. */
.fav-hero h1 em{color:var(--brick)}
.fav-privacy{font-size:.68em!important;color:var(--muted);margin-top:16px!important}
.fav-hero .ov-actions button{font:inherit;font-size:.8em;cursor:pointer}
.fav-howto{background:var(--paper);border:1px solid var(--line-2);border-radius:24px;padding:26px 30px;box-shadow:var(--shadow-2)}
.fav-howto h2{font-family:var(--serif);font-size:1.05em;margin:0 0 10px;color:var(--green)}
.fav-howto ol{margin:0;padding-left:1.2em}.fav-howto li{font-size:.8em;margin:8px 0}.fav-howto p{font-size:.76em;color:var(--muted);margin:12px 0 0}
.fav-howto a{color:var(--brick);font-weight:700}
.fav-share .ov-actions{margin-top:12px}.fav-share button{font:inherit;cursor:pointer}
.fav-stats{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px;margin:30px 0 10px}
.fav-stat{display:grid;gap:4px;padding:18px 20px;border-radius:20px;background:var(--paper);border:1px solid var(--line-2);box-shadow:var(--shadow-2);text-decoration:none;color:var(--ink);position:relative;overflow:hidden}
.fav-stat::before{content:"♥";position:absolute;right:14px;top:8px;font-size:1.6em;color:#f1d8cf}
.fav-stat span{font-size:.72em;color:var(--muted);font-weight:700;letter-spacing:1px}
.fav-stat strong{font-family:var(--serif);font-size:1.7em;line-height:1.1;color:var(--brick)}
.fav-stat small{font-size:.66em;color:var(--muted);line-height:1.45}
.fav-stat.empty strong{color:#c5cbc0}.fav-stat.empty::before{color:#ebeee6}
.fav-empty{text-align:center;padding:50px 20px;margin:20px 0;border:2px dashed #dcc9be;border-radius:28px;background:#fffaf6}
.fav-empty h2{font-family:var(--serif);margin:0 0 8px}.fav-empty p{color:var(--muted);font-size:.85em}
.fav-start{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:22px}
.fav-start a{display:grid;gap:4px;padding:18px;border-radius:18px;background:var(--paper);border:1px solid var(--line-2);text-decoration:none;color:var(--green)}
.fav-start b{font-family:var(--serif);font-size:1.05em}.fav-start span{font-size:.72em;color:var(--muted)}
.fav-map-wrap{margin:26px 0 0;border:1px solid var(--line-2);border-radius:24px;overflow:hidden;background:#fff;box-shadow:var(--shadow-2)}
.fav-map{height:420px;background:#e9eee7}
.fav-map-legend{display:flex;flex-wrap:wrap;gap:10px 22px;padding:12px 20px;margin:0;font-size:.66em;color:var(--muted);background:#fffcf5}
.fav-map-legend span{display:inline-flex;align-items:center;gap:8px}
.fav-pin b,.fav-pin-dot{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;color:#fff;font-weight:800;font-size:15px;font-style:normal;border:3px solid #fff;box-shadow:0 3px 10px #1235}
.fav-pin-dot{width:26px;height:26px;font-size:12px;border-width:2px}
.fav-pin.l b,.fav-pin-dot.l{background:var(--green)}.fav-pin.f b,.fav-pin-dot.f{background:var(--brick)}
.fav-pin{background:none;border:0}
.fav-areas{display:grid;gap:26px}
.fav-area{background:var(--paper);border:1px solid var(--line-2);border-radius:26px;padding:26px 28px;box-shadow:var(--shadow-2)}
.fav-area>header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}
.fav-area>header>div>span{font-family:Georgia,serif;color:var(--brick);font-size:.72em;letter-spacing:2px}
.fav-area h3{font-family:var(--serif);font-size:1.25em;margin:4px 0 6px}
.fav-area-intro{font-size:.76em;color:var(--muted);margin:0 0 18px}
.fav-cols{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;border-top:1px solid var(--line-2);padding-top:18px}
.fav-col h4{display:flex;align-items:center;gap:8px;font-family:var(--serif);font-size:1em;color:var(--green);margin:0 0 12px}
.fav-col h4 span{font:700 .65em/1 -apple-system,sans-serif;background:#e8eee4;color:var(--green);border-radius:999px;padding:4px 8px}
.fav-col h4 span:empty{display:none}
.fav-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.fav-card{display:grid;grid-template-columns:96px minmax(0,1fr);gap:14px;align-items:start;padding:12px;border:1px solid var(--line);border-radius:16px;background:#fff;margin-bottom:12px}
.fav-card img,.fav-noimg{width:96px;height:96px;border-radius:12px;object-fit:cover;background:#eef1ea}
.fav-card img.contain{object-fit:contain;mix-blend-mode:multiply;padding:6px}
.fav-noimg{display:grid;place-items:center;font-family:var(--serif);font-size:1.4em;color:#9fb0a3}
.fav-card-top{display:flex;justify-content:space-between;align-items:center;gap:8px}
.fav-tag{font-size:.6em;font-weight:700;color:var(--brick);letter-spacing:.5px}
.fav-card h4{font-size:.8em;line-height:1.4;margin:4px 0 6px}
.fav-card h4 a{color:var(--ink);text-decoration:none}.fav-card h4 a:hover{color:var(--green);text-decoration:underline}
.fav-card p{font-size:.66em;line-height:1.5;margin:2px 0;color:var(--ink);overflow-wrap:anywhere}
.fav-card b{color:var(--green)}
.fav-muted{color:var(--muted)!important}
.fav-links a{color:var(--green);font-weight:650}
.fav-card .like-btn.small{font-size:.62em}
.fav-empty-col{font-size:.7em;color:var(--muted);border:1px dashed var(--line-2);border-radius:14px;padding:14px;margin:0}
.fav-empty-col a{color:var(--brick);font-weight:700}
.fav-table{width:100%;border-collapse:collapse;font-size:.76em}
.fav-table th{text-align:left;background:#f3f1e8;color:var(--muted);padding:14px 16px;border-bottom:1px solid var(--line)}
.fav-table td{padding:14px 16px;border-bottom:1px solid var(--line);vertical-align:top}
.fav-table tr.total td{background:#fbf1ec;font-weight:650}.fav-table tr.total b{color:var(--brick);font-size:1.15em}
.fav-textbox{margin:30px 0 10px;border:1px solid var(--line-2);border-radius:18px;background:var(--paper);padding:16px 22px}
.fav-textbox summary{cursor:pointer;font-weight:700;color:var(--green);font-size:.82em}
.fav-textbox textarea{width:100%;margin-top:14px;border:1px solid var(--line);border-radius:12px;padding:14px;font:.7em/1.7 -apple-system,"PingFang SC",sans-serif;color:var(--ink);background:#fff}
.fav-clear-line{text-align:right}.fav-clear{font:inherit;font-size:.72em;background:none;border:0;color:var(--muted);text-decoration:underline;cursor:pointer}
.fav-toast{position:fixed;left:50%;bottom:28px;transform:translateX(-50%);z-index:2000;background:#10362b;color:#fff;padding:12px 22px;border-radius:999px;font-size:.7em;box-shadow:0 14px 30px -12px #000a}
.fav-error{padding:24px;border:1px solid #af5d48;border-radius:14px;background:#fff4e9;color:#863d30}
@media(max-width:1350px){.fav-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.fav-cols,.fav-grid{grid-template-columns:1fr 1fr}.fav-cols .fav-col:last-child{grid-column:1/-1}}
@media(max-width:900px){
  .fav-howto{padding:18px;border-radius:18px}.fav-howto h2{font-size:19px}.fav-howto li,.fav-howto p{font-size:15px}
  .fav-privacy{font-size:13px!important}
  .fav-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.fav-stat{padding:14px}.fav-stat span{font-size:13px}.fav-stat strong{font-size:28px}.fav-stat small{font-size:12px}
  .fav-start{grid-template-columns:1fr 1fr}.fav-start b{font-size:17px}.fav-start span{font-size:13px}
  .fav-empty p{font-size:15px}
  .fav-map{height:300px}.fav-map-legend{font-size:13px;padding:10px 14px}
  .fav-area{padding:18px 16px;border-radius:18px}.fav-area>header>div>span{font-size:12px}.fav-area h3{font-size:21px}.fav-area-intro{font-size:14px}
  .fav-cols,.fav-grid{grid-template-columns:1fr}
  .fav-col h4{font-size:18px}
  .fav-card{grid-template-columns:76px minmax(0,1fr);gap:12px}.fav-card img,.fav-noimg{width:76px;height:76px}
  .fav-tag{font-size:12px}.fav-card h4{font-size:15px}.fav-card p{font-size:13px}.fav-card .like-btn.small{font-size:13px}
  .fav-empty-col{font-size:14px}
  .fav-table{font-size:14px;min-width:560px}.fav-table th,.fav-table td{padding:10px 12px}
  .fav-textbox summary{font-size:15px}.fav-textbox textarea{font-size:14px}
  .fav-clear{font-size:14px}.fav-toast{font-size:14px;bottom:18px;width:max-content;max-width:calc(100vw - 32px)}
  .fav-hero .ov-actions button{font-size:14px}
}

/* Two-person mode */
.fav-people{display:grid;gap:10px;margin:22px 0 6px;padding:16px 18px;border:1px solid var(--line);border-radius:18px;background:#fffdf8}
.fav-me{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;font-size:.8em;color:var(--muted);font-weight:650}
.fav-me input{font:inherit;color:var(--ink);border:1px solid var(--line-2,#cfd6c9);border-radius:12px;padding:8px 14px;min-height:48px;width:min(260px,100%);background:#fff}
.fav-partner-state{margin:0;font-size:.74em;color:var(--muted);line-height:1.7}
.fav-linkbtn{font:inherit;font-size:.95em;background:none!important;border:0;padding:0;color:var(--brick,#a44135);text-decoration:underline;text-underline-offset:4px;cursor:pointer;min-height:0}
.fav-views{display:flex;flex-wrap:wrap;gap:10px;margin:26px 0 6px}
.fav-views button{font:inherit;font-size:.74em;border:1px solid var(--line);background:#fff;color:var(--green);border-radius:999px;padding:8px 18px;min-height:48px;font-weight:700}
.fav-views button span{display:inline-block;margin-left:.35em;padding:0 .55em;border-radius:999px;background:#0000000f;font-size:.88em}
.fav-views button[aria-pressed=true]{background:var(--green);color:#fff;border-color:var(--green)}
.fav-views button[aria-pressed=true] span{background:#ffffff2e}
.fav-views button[data-view=both][aria-pressed=true]{background:linear-gradient(135deg,#c8902f,#a86722);border-color:#a86722}
.fav-view-empty{margin:18px 0;padding:22px;border:1px dashed var(--line);border-radius:16px;text-align:center}
.who{display:inline-flex;align-items:center;padding:.15em .65em;border-radius:999px;font-size:.78em;font-weight:700;white-space:nowrap}
.who.me{background:#f4e6de;color:#93372c}
.who.partner{background:#e3eadf;color:#174b3c}
.who.both{background:linear-gradient(135deg,#c8902f,#a86722);color:#fff}
.fav-card.both{border-color:#d1a457!important;box-shadow:0 0 0 2px #d1a45755,var(--shadow)}
.fav-card-top{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}
.fav-score{font-style:normal;margin-left:.5em;color:#a86722;font-weight:700}
.fav-pin.both b{outline:3px solid #e1af57;outline-offset:1px}
.fav-pin.partner b{opacity:.82}
.fav-pin-dot.both{background:linear-gradient(135deg,#c8902f,#a86722)!important}
.fav-share p{margin:.3em 0}
@media (max-width:900px){.fav-views button{font-size:15px;padding:6px 14px;min-height:42px}.fav-me,.fav-partner-state{font-size:15px}.who{font-size:13px}}
@media print{.fav-views,.fav-people input,.fav-linkbtn{display:none}}

.fav-pin.s b,.fav-pin-dot.s{background:#487e89}
