@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Noto+Serif+SC:wght@600;700&display=swap');
 .profile-panel{background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:28px;margin-bottom:28px;scroll-margin-top:90px}.profile-panel .form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.profile-panel input,.profile-panel select{width:100%;min-width:0}.profile-panel .wide{grid-column:1/-1}@media(max-width:600px){.profile-panel{padding:20px}.profile-panel .form-grid{grid-template-columns:1fr}}
:root{--paper:#faf7f2;--surface:#fffdfa;--ink:#2b2724;--muted:#756e68;--line:#e7dfd7;--accent:#a44b50;--accent-dark:#873b40;--soft:#f5e6e4;--sage:#68776a;--shadow:0 12px 34px rgba(65,44,37,.08);--radius:20px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:"DM Sans","PingFang SC","Microsoft YaHei",sans-serif;line-height:1.6}button,input,select,textarea{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}.shell{width:min(1160px,calc(100% - 40px));margin:auto}.hidden{display:none!important}.site-header{position:sticky;top:0;z-index:10;background:rgba(250,247,242,.92);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}.nav{height:72px;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:10px;font:700 19px "Noto Serif SC",serif}.brand>span{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--accent);color:white}.nav nav{display:flex;align-items:center;gap:24px;font-size:14px}.button{border:0;border-radius:11px;background:var(--accent);color:white;min-height:42px;padding:0 18px;font-weight:700}.button:hover{background:var(--accent-dark)}.button.ghost{background:var(--surface);color:var(--ink);border:1px solid var(--line)}.hero{display:grid;grid-template-columns:1.3fr .7fr;gap:70px;align-items:end;padding:72px 0 48px}.kicker{color:var(--sage);font-weight:700;letter-spacing:.1em;font-size:13px}.hero h1{font:700 clamp(42px,6vw,70px)/1.2 "Noto Serif SC",serif;max-width:800px;margin:14px 0}.hero>div>p:last-child,.hero aside,.section-note{color:var(--muted)}.hero aside{border-left:1px solid var(--line);padding-left:26px}.hero aside strong{font:600 18px "Noto Serif SC",serif;color:var(--ink)}.toolbar{border-top:1px solid var(--line);padding:25px 0 14px;display:grid;grid-template-columns:1fr 150px 150px auto;gap:10px}.toolbar input,.toolbar select,input,select,textarea{border:1px solid var(--line);border-radius:10px;background:white;padding:10px 12px;color:var(--ink)}.member-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px 20px;padding:12px 0 80px}.member-card{min-width:0}.member-photo{position:relative;aspect-ratio:4/5;border-radius:var(--radius);overflow:hidden;background:#e8e1da;box-shadow:var(--shadow)}.member-photo img,.member-photo .empty-photo{width:100%;height:100%;object-fit:cover}.empty-photo{display:grid;place-items:center;background:linear-gradient(135deg,#f6e7df,#ead5d2);color:var(--accent);font:700 20px "Noto Serif SC",serif;border-radius:16px}.detail-layout .empty-photo{width:100%;height:350px}.city-tag{position:absolute;top:14px;left:14px;background:rgba(255,253,250,.92);padding:6px 10px;border-radius:999px;font-size:12px}.heart{position:absolute;top:12px;right:12px;border:0;width:42px;height:42px;border-radius:50%;background:white;color:var(--accent);font-size:20px}.heart.saved{background:var(--accent);color:white}.member-card h2{font:600 21px "Noto Serif SC",serif;margin:15px 0 2px}.member-card p{margin:3px 0;color:var(--muted);font-size:14px}.card-actions{display:flex;gap:8px;margin-top:12px}.card-actions button{flex:1}.promise{background:var(--ink);color:white;border-radius:28px;padding:38px 44px;margin-bottom:74px;display:flex;justify-content:space-between;align-items:center;gap:30px}.promise h2{font-family:"Noto Serif SC";margin:0}.promise p,.promise span{color:#d6cec8;font-size:13px}.dashboard{padding:0 0 70px}.section-heading{display:flex;justify-content:space-between;align-items:center}.conversation{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:16px;margin:10px 0}.message-list{padding:8px 0}.message{border-left:3px solid var(--line);padding:5px 12px;margin:6px 0}.message.admin{border-color:var(--accent)}.inline-form{display:flex;gap:8px}.inline-form input{flex:1}footer{border-top:1px solid var(--line);padding:28px 0;color:var(--muted);font-size:12px}dialog{width:min(680px,calc(100% - 28px));border:0;border-radius:24px;background:var(--surface);color:var(--ink);padding:34px;box-shadow:0 30px 90px rgba(30,20,16,.26)}dialog::backdrop{background:rgba(40,32,28,.48);backdrop-filter:blur(4px)}.dialog-close{position:absolute;right:14px;top:14px;border:1px solid var(--line);background:white;border-radius:50%;width:38px;height:38px;font-size:20px}.detail-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:28px}.detail-layout img{width:100%;height:350px;object-fit:cover;border-radius:16px}.detail-layout h2{font:600 30px "Noto Serif SC"}.form-error{color:#a12e35;min-height:24px;font-size:13px}#auth-form,.login-card{display:grid;gap:13px}label{display:grid;gap:5px;font-size:13px;font-weight:600}.text-button{border:0;background:transparent;color:var(--accent);padding:14px 0}.toast{position:fixed;left:50%;bottom:25px;z-index:100;transform:translate(-50%,18px);opacity:0;background:var(--ink);color:white;padding:10px 16px;border-radius:999px;transition:.2s}.toast.show{opacity:1;transform:translate(-50%,0)}
.admin-body{overflow:hidden}.admin-login{min-height:100vh;display:grid;place-items:center}.login-card{width:min(420px,calc(100% - 32px));background:var(--surface);border:1px solid var(--line);border-radius:24px;padding:36px;box-shadow:var(--shadow)}.login-card h1{font-family:"Noto Serif SC";margin-bottom:0}.login-card p{color:var(--muted);margin-top:0}.admin-app{height:100vh;display:grid;grid-template-columns:230px 1fr}.sidebar{background:#292522;color:white;padding:25px 16px;display:flex;flex-direction:column;gap:8px}.sidebar .brand{margin:0 8px 26px}.sidebar>p{color:#948b85;font-size:11px;margin:0 10px}.nav-item{border:0;border-radius:10px;background:transparent;color:#d3ccc7;text-align:left;padding:12px}.nav-item:hover,.nav-item.active{background:#3d3632;color:white}#admin-logout{margin-top:auto}.admin-main{min-width:0;overflow:auto;padding:0 28px 40px}.admin-main>header{height:82px;display:flex;justify-content:space-between;align-items:center}.admin-main h1{font:600 24px "Noto Serif SC";margin:0}.admin-main header p{margin:2px 0;color:var(--muted);font-size:12px}.admin-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.admin-card{background:var(--surface);border:1px solid var(--line);border-radius:15px;padding:16px}.admin-card img{width:100%;height:180px;object-fit:cover;border-radius:10px}.admin-card h3{margin:10px 0 2px}.badge{display:inline-block;padding:4px 8px;border-radius:999px;background:var(--soft);color:var(--accent);font-size:11px}.admin-table{width:100%;border-collapse:collapse;background:var(--surface);border-radius:15px;overflow:hidden}.admin-table th,.admin-table td{padding:13px;border-bottom:1px solid var(--line);text-align:left;font-size:12px}.conversation-layout{display:grid;grid-template-columns:330px 1fr;gap:16px}.thread-list,.chat-panel{background:var(--surface);border:1px solid var(--line);border-radius:15px;padding:14px}.thread-button{display:block;width:100%;text-align:left;border:0;border-bottom:1px solid var(--line);background:transparent;padding:14px 8px}.thread-button.active{background:var(--soft)}.chat-messages{min-height:280px;max-height:50vh;overflow:auto}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.form-grid .wide{grid-column:1/-1}.check{display:flex;align-items:center}.check input{width:auto}
.conversation-layout>*,.chat-panel,.thread-list{min-width:0}.chat-panel h2,.message,.thread-button,.conversation,.section-heading{overflow-wrap:anywhere}.inline-form input{min-width:0}.inline-form button{flex-shrink:0}.chat-panel textarea{width:100%;min-height:100px}.admin-main .toolbar{grid-template-columns:minmax(0,1fr) minmax(0,180px)}@media(max-width:600px){.admin-main .toolbar{grid-template-columns:1fr}.section-heading{flex-wrap:wrap;gap:8px}.nav nav{min-width:0}#account-button{max-width:180px;overflow:hidden;text-overflow:ellipsis}}
@media(max-width:900px){.member-grid{grid-template-columns:repeat(2,1fr)}.hero{grid-template-columns:1fr;gap:25px}.toolbar{grid-template-columns:1fr 1fr}.toolbar input{grid-column:1/-1}.admin-app{grid-template-columns:80px 1fr}.sidebar .brand{font-size:0}.sidebar .brand>span{font-size:15px}.sidebar>p{display:none}.conversation-layout{grid-template-columns:1fr}.admin-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.shell{width:min(100% - 28px,1160px)}.nav nav>a{display:none}.hero{padding-top:42px}.hero h1{font-size:38px}.toolbar{grid-template-columns:1fr}.toolbar input{grid-column:auto}.member-grid{grid-template-columns:1fr}.promise{align-items:flex-start;flex-direction:column;padding:28px}.detail-layout{grid-template-columns:1fr}.admin-body{overflow:auto}.admin-app{height:auto;display:block}.sidebar{position:sticky;top:0;z-index:5;flex-direction:row;padding:10px}.sidebar .brand{margin:0 auto 0 0}.sidebar>p{display:none}#admin-logout{display:block;margin-top:0}.sidebar{flex-wrap:wrap}.nav-item{font-size:11px}.admin-main{padding:0 14px}.admin-grid{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.form-grid .wide{grid-column:auto}.admin-table{display:block;overflow:auto}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
