.dating-site { --dating-ink:#233c32; --dating-paper:#faf8f2; --dating-muted:#53685d; --dating-line:#d6ded6; --dating-accent:#85613d; background:var(--dating-paper); color:var(--dating-ink); }
.dating-shell { max-width:1160px; margin:0 auto; padding:32px 24px 64px; }
.dating-shell--form { max-width:820px; }.dating-shell--chat { max-width:900px; }
.community-site.dating-site .dating-shell a.dating-button,.dating-admin a.dating-button { color:#fffdf5; }
.dating-shell h1,.dating-shell h2,.dating-admin h1 { font-family:Georgia,'Noto Serif TC','PMingLiU',serif; font-weight:500; letter-spacing:.025em; }
.dating-shell h1 { font-size:clamp(28px,4vw,44px); line-height:1.25; margin:8px 0 16px; }.dating-shell h2 { font-size:25px; }.dating-shell p { line-height:1.8; }.dating-shell a { color:var(--dating-ink); }.dating-shell small { font-size:14px; color:var(--dating-muted); }
.dating-eyebrow { color:var(--dating-accent,#765433); font-size:14px; letter-spacing:.06em; margin:0 0 8px; }.dating-intro { display:flex; align-items:center; justify-content:space-between; gap:24px; padding:8px 0 28px; }.dating-intro p { max-width:650px; }.dating-intro-art { position:relative; height:130px; width:180px; flex-shrink:0; overflow:hidden; }.dating-intro-art span { position:absolute; border:1px solid #799684; width:74px; height:112px; border-radius:50% 50% 0 0; bottom:0; transform:rotate(-18deg); left:30px; background:#e1e9dc; }.dating-intro-art span:nth-child(2) { left:78px; transform:rotate(14deg); background:#ede4d4; }.dating-intro-art span:nth-child(3) { width:38px; height:38px; border-radius:50%; left:125px; top:0; background:#d8c1a1; }
.dating-nav,.dating-inbox-tabs { display:flex; flex-wrap:wrap; gap:8px 18px; border-top:1px solid var(--dating-line,#d6ded6); border-bottom:1px solid var(--dating-line,#d6ded6); padding:10px 0; margin:0 0 30px; }.dating-nav a,.dating-inbox-tabs a { min-height:44px; display:inline-flex; align-items:center; padding:4px 0; text-decoration:none; }.dating-nav a[aria-current=page] { font-weight:700; text-decoration:underline; text-underline-offset:8px; }
.dating-button,.dating-shell button,.dating-admin button { display:inline-flex; justify-content:center; align-items:center; min-height:44px; border:1px solid #acb9ac; padding:9px 15px; border-radius:7px; background:transparent; color:#233c32; font:inherit; text-decoration:none; cursor:pointer; }.dating-button,.dating-shell .dating-button,.dating-admin .dating-button { background:#294d3c; border-color:#294d3c; color:#fff; }.dating-shell button:disabled,.dating-admin button:disabled { opacity:.65; cursor:wait; }.dating-shell :focus-visible,.dating-admin :focus-visible { outline:3px solid #926e34; outline-offset:3px; }.dating-text-link { display:inline-block; padding:12px; }
.dating-welcome { display:grid; grid-template-columns:1.25fr 1fr; gap:60px; padding:30px 0; }.dating-steps { margin:0; padding-left:24px; }.dating-steps li { padding:12px 8px; border-bottom:1px solid var(--dating-line); }.dating-steps strong { font-size:20px; }.dating-empty { padding:30px 0; border-block:1px solid var(--dating-line); }.dating-empty a { display:inline-flex; min-height:44px; align-items:center; margin-right:20px; }
.dating-filter { display:flex; align-items:end; flex-wrap:wrap; gap:16px; padding:8px 0 28px; }.dating-filter label { flex:1; min-width:180px; display:grid; gap:6px; }.dating-filter a { min-height:44px; display:inline-flex; align-items:center; }.dating-section-heading { display:flex; align-items:baseline; justify-content:space-between; flex-wrap:wrap; gap:4px 20px; margin:8px 0 20px; }.dating-section-heading h2,.dating-section-heading p { margin:0; }
.dating-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; }.dating-person { border:1px solid var(--dating-line,#d6ded6); border-radius:12px; overflow:hidden; background:#fffdf8; min-width:0; }.dating-person__portrait { display:flex; position:relative; aspect-ratio:1.2; align-items:center; justify-content:center; background:linear-gradient(145deg,#e4e9db,#f2eadc); overflow:hidden; text-decoration:none; }.dating-person__portrait img { width:100%; height:100%; object-fit:cover; }.dating-monogram { font-size:72px; font-family:Georgia,'PMingLiU',serif; color:#49624d; border:1px solid #8f9e89; padding:16px 30px; border-radius:50% 50% 8px 8px; }.dating-photo-caption { position:absolute; bottom:12px; font-size:14px; }.dating-person__body { padding:22px; }.dating-person h2 { margin:8px 0 20px; }.dating-person h2 a { text-decoration:none; }.dating-answer-label { font-size:14px; color:var(--dating-muted); margin:0; }.dating-answer { white-space:pre-wrap; overflow-wrap:anywhere; margin:6px 0 18px; }.dating-tags { display:flex; gap:8px; flex-wrap:wrap; }.dating-tags span { background:#eaf0e8; padding:5px 9px; border-radius:4px; font-size:14px; }.dating-card-actions { display:flex; flex-wrap:wrap; align-items:center; gap:10px; margin-top:20px; }.dating-card-actions form { display:flex; flex-wrap:wrap; gap:8px; }.dating-card-actions button { padding-inline:10px; }
.dating-person-detail { display:grid; grid-template-columns:minmax(240px,.8fr) minmax(0,1.2fr); gap:48px; }.dating-story { min-width:0; }.dating-prose { white-space:pre-wrap; overflow-wrap:anywhere; }.dating-like-form { border-top:1px solid var(--dating-line); margin-top:28px; padding-top:20px; }
.dating-form { display:grid; gap:22px; }.dating-form fieldset { border:0; border-top:1px solid var(--dating-line,#d6ded6); margin:0; padding:22px 0; min-width:0; }.dating-form legend { padding:0 16px 0 0; font-size:22px; font-weight:600; }.dating-form label { display:grid; gap:8px; margin:0 0 18px; }.dating-field-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 22px; }.dating-shell input:not([type=checkbox]):not([type=radio]),.dating-shell select,.dating-shell textarea,.dating-admin input:not([type=checkbox]):not([type=radio]),.dating-admin select,.dating-admin textarea { box-sizing:border-box; min-height:44px; width:100%; min-width:0; max-width:100%; font:inherit; font-size:16px; padding:11px 12px; background:#fff; color:#243d31; border:1px solid #a8b6a8; border-radius:6px; }.dating-shell textarea,.dating-admin textarea { resize:vertical; }.dating-shell input[type=file] { padding:8px; }.dating-check,.dating-form .dating-check { display:flex; align-items:flex-start; gap:10px; min-height:44px; }.dating-check input { width:20px; height:20px; margin:3px 0 0; flex-shrink:0; accent-color:#294d3c; }.dating-interest-options { display:flex; flex-wrap:wrap; gap:10px; margin-bottom:14px; }.dating-interest-options label { display:flex; align-items:center; min-height:44px; padding:7px 12px; background:#edf1e9; border-radius:5px; margin:0; }.dating-interest-options input { width:18px; height:18px; }.dating-form-actions { display:flex; gap:12px; flex-wrap:wrap; align-items:center; }.dating-validation,.dating-shell .field-validation-error { color:#942e27; }.dating-validation:empty { display:none; }.dating-notice { border-left:3px solid #86703e; padding:12px 18px; margin:20px 0; background:#f2eee2; }.dating-settings-state { padding:12px 0 28px; }
.dating-inbox-row { display:flex; justify-content:space-between; align-items:center; gap:20px; border-bottom:1px solid var(--dating-line); padding:20px 0; }.dating-inbox-row>div { min-width:0; }.dating-inbox-row h3 { margin:0 0 8px; }.dating-inbox-row p { margin:4px 0; overflow-wrap:anywhere; }.dating-inbox-row form,.dating-inbox-row>div:last-child { display:flex; align-items:center; flex-wrap:wrap; gap:10px; }.dating-shell section+section { margin-top:30px; }.dating-shell details { margin:24px 0; }.dating-shell summary { min-height:44px; cursor:pointer; padding:10px 0; }.dating-case { padding:24px 0; border-bottom:1px solid var(--dating-line); }.dating-pagination { display:flex; justify-content:center; align-items:center; flex-wrap:wrap; gap:20px; margin-top:30px; }.dating-pagination a { min-height:44px; display:inline-flex; align-items:center; }
.dating-chat-heading { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:12px; }.dating-chat-heading h1 { font-size:30px; }.dating-icebreaker { background:#edf0e5; padding:16px 20px; border-radius:10px; }.dating-icebreaker span { font-size:14px; color:#506553; }.dating-icebreaker p { margin:8px 0 0; }.dating-messages { display:flex; flex-direction:column; gap:18px; padding:24px 0; }.dating-message { align-self:flex-start; max-width:85%; border:1px solid #d4dfd3; background:#fffdf8; border-radius:12px 12px 12px 2px; padding:13px 18px; overflow-wrap:anywhere; }.dating-message.is-own { align-self:flex-end; background:#e5eddf; border-radius:12px 12px 2px 12px; }.dating-message p { margin:0 0 8px; white-space:pre-wrap; }.dating-message small { display:block; }.dating-chat-compose { display:grid; gap:10px; border-top:1px solid var(--dating-line); padding-top:22px; }.dating-chat-compose>div { display:flex; gap:14px; align-items:center; flex-wrap:wrap; }.dating-chat-controls form { display:flex; gap:16px; flex-wrap:wrap; }.dating-review-photo { display:block; width:100%; max-width:450px; height:auto; border-radius:10px; margin:20px 0; }
.dating-admin { --dating-line:#d7dfd6; --dating-ink:#233c32; --dating-muted:#53685d; color:var(--dating-ink); }.dating-admin-counts { display:grid; grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); gap:18px; margin:28px 0; }.dating-admin-counts section { padding:18px; border:1px solid #d7dfd6; border-radius:8px; background:#fff; }.dating-admin-counts span,.dating-admin-counts strong { display:block; }.dating-admin-counts strong { font-size:30px; padding-top:8px; }.dating-admin-table { overflow-x:auto; }.dating-admin table { border-collapse:collapse; width:100%; text-align:left; }.dating-admin th,.dating-admin td { padding:14px; border-bottom:1px solid #d7dfd6; min-width:140px; vertical-align:top; }.dating-admin td small { display:block; padding-top:7px; overflow-wrap:anywhere; }.dating-admin td form { margin-top:12px; }.dating-admin label { display:grid; gap:7px; }.dating-admin pre { white-space:pre-wrap; overflow-wrap:anywhere; font-size:14px; }.dating-review-details { display:grid; grid-template-columns:180px minmax(0,1fr); gap:15px; }.dating-review-details dt { color:#5a685c; }.dating-review-details dd { margin:0; white-space:pre-wrap; overflow-wrap:anywhere; }.dating-evidence { padding:18px; background:#eef0ea; border-left:3px solid #7c866b; }
@media(max-width:760px) { .ux-bottom-nav { grid-template-columns:repeat(5,minmax(0,1fr)); }.ux-bottom-nav a { font-size:14px; gap:2px; } }
@media(max-width:1000px) { .dating-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.dating-person-detail { gap:24px; } }
@media(max-width:640px) { .dating-shell { padding:22px 16px 45px; }.dating-intro-art { display:none; }.dating-welcome,.dating-grid,.dating-person-detail,.dating-field-grid { grid-template-columns:minmax(0,1fr); gap:22px; }.dating-nav { gap:4px 16px; margin-bottom:24px; }.dating-nav a { font-size:15px; }.dating-shell h2 { font-size:23px; }.dating-person__portrait { aspect-ratio:1.35; }.dating-inbox-row { align-items:flex-start; flex-direction:column; }.dating-message { max-width:95%; }.dating-review-details { grid-template-columns:minmax(0,1fr); gap:6px; }.dating-review-details dd { margin-bottom:12px; }.dating-admin-counts { grid-template-columns:repeat(2,minmax(0,1fr)); }.dating-filter label { min-width:100%; }.dating-shell--chat { padding-inline:12px; } }
