.app-header{height:72px;background:#fff;border-bottom:1px solid #ebe5ed;display:flex;align-items:center;padding:0 max(24px,calc((100vw - 1200px)/2));gap:70px}.app-header nav{display:flex;gap:27px;height:100%}.app-header nav a{align-content:center;text-decoration:none;color:#766c7e;font-size:13px;font-weight:600;border-bottom:2px solid transparent}.app-header nav .selected{color:var(--plum);border-color:var(--coral)}.app-header nav b{font-size:9px;background:var(--coral);color:#fff;border-radius:10px;padding:2px 5px}.user-avatar{border:0;border-radius:50%;height:36px;width:36px;background:#d9c8f4;color:var(--plum);font-weight:700}.app-header>.user-avatar{margin-left:auto}.app{max-width:var(--page);margin:auto;display:grid;grid-template-columns:200px 1fr;gap:62px;padding:47px 28px 80px}.my-profile{display:flex;align-items:center;gap:10px}.my-profile div{display:grid;gap:4px}.my-profile strong{font-size:13px}.my-profile span{font-size:10px;color:#84798a}.add-photo{margin:18px 0 20px;width:100%;border:0;border-radius:5px;padding:10px;background:#eee7fa;color:var(--plum);font-weight:700;font-size:12px;text-align:left}aside hr{border:0;border-top:1px solid #e7e0e9}aside p{font-size:10px;letter-spacing:1.3px;color:#8a7f91;font-weight:700;margin:23px 0 10px}.filters button{border:0;background:none;color:#766b7b;font-size:12px;padding:7px 8px;border-radius:4px}.filters .chosen{background:var(--plum);color:white}.distance{font-size:12px;color:#665b6d;display:grid;gap:8px}.distance input{margin:0;accent-color:var(--coral)}.app-title{display:flex;justify-content:space-between;align-items:end;margin-bottom:30px}.app-title label,dialog>label{font-size:10px;letter-spacing:1.3px;color:#80728c;font-weight:700}.app-title h1{font:600 43px/.98 'Fraunces',serif;letter-spacing:-1.8px;margin:9px 0}.app-title h1 em{color:var(--coral);font-style:italic}.app-title p{font-size:13px;color:#7c7283;margin:0}.profile-btn{border:1px solid #d9d1df;background:transparent;border-radius:5px;padding:10px;color:var(--plum);font-size:12px;font-weight:700}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.card{background:#fff;border:1px solid #eee8ef;border-radius:10px;overflow:hidden;cursor:pointer;transition:.2s}.card:hover{transform:translateY(-3px);box-shadow:0 10px 25px #3f285214}.photo{height:252px;position:relative;background:#d6cce2}.photo>img{width:100%;height:100%;object-fit:cover}.hidden{height:100%;display:grid;place-items:center;background:linear-gradient(145deg,#dacde8,#a399b4)}.silhouette{height:100px;width:100px;border-radius:50%;background:#f8f5fb;position:relative}.silhouette:before{content:'';position:absolute;height:41px;width:41px;border-radius:50%;background:#aa9dbb;left:30px;top:15px}.silhouette:after{content:'';position:absolute;height:55px;width:82px;border-radius:50% 50% 0 0;background:#aa9dbb;left:9px;bottom:-23px}.pill{position:absolute;top:10px;right:10px;border-radius:13px;background:var(--plum);color:white;font-size:10px;padding:5px 8px}.hidden-note{position:absolute;top:10px;left:10px;background:#fffdfbdd;padding:5px 8px;border-radius:12px;font-size:9px}.card-body{padding:13px}.card h2{font:600 20px 'Fraunces',serif;margin:0}.card .meta{font-size:11px;color:#877b8c;margin:4px 0 12px}.card .prompt{border-top:1px solid #eee9ee;margin:0;padding-top:11px;font:italic 13px/1.35 'Fraunces',serif;color:#574a60}dialog p{font-size:14px;color:#756a7d}.drop-zone{height:160px;margin:22px 0 8px;border:1px dashed #b6a9c3;border-radius:8px;background:white;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;cursor:pointer}.drop-zone span{height:45px;width:45px;background:#eee5fa;border-radius:50%;color:var(--plum);display:grid;place-items:center;font-size:25px;overflow:hidden}.drop-zone span img{height:100%;width:100%;object-fit:cover}.drop-zone strong{font-size:13px}.drop-zone small,#status{font-size:11px;color:#81758a}#status{min-height:16px;margin:0 0 13px}.detail-photo{width:100%;height:210px;object-fit:cover;border-radius:8px}.detail-hidden{height:180px;border-radius:8px}.detail-prompt{background:#efe8f9;padding:13px;border-radius:7px;font:italic 15px/1.4 'Fraunces',serif;color:#544765}@media(max-width:740px){.app-header{padding:0 18px;gap:20px}.app-header nav{margin-left:auto;gap:14px}.app-header nav a{font-size:11px}.app{display:block;padding:28px 18px}aside{display:none}.app-title h1{font-size:36px}.profile-btn{display:none}.cards{grid-template-columns:repeat(2,1fr);gap:12px}.photo{height:205px}}@media(max-width:430px){.app-header nav a:last-child{display:none}.cards{grid-template-columns:1fr}.photo{height:290px}}

/* --- shared Columbia date spots on a match card --- */
.shared-spots{display:flex;flex-wrap:wrap;gap:5px;margin:9px 0 0}
.shared-spots b{background:#fff0ec;border:1px solid #f6cfc4;border-radius:14px;padding:4px 9px;
  color:#b8503c;font:700 10px 'DM Sans',sans-serif}
.no-hood-note{grid-column:1/-1;margin:0 0 4px;padding:11px 13px;background:#f4eefa;
  border-radius:8px;color:#6b5f76;font-size:12px;font-weight:600}

/* --- live filter panel --- */
.filter-panel{margin-top:6px}
.filter-head{display:flex;align-items:center;justify-content:space-between;margin:14px 0 4px;
  padding-bottom:10px;border-bottom:1px solid #ece4f2}
.filter-head strong{font:700 13px 'DM Sans',sans-serif;color:#402c68}
.filter-head button{border:0;background:none;color:#ed7662;font:700 11px 'DM Sans',sans-serif;cursor:pointer}
.f-label{display:flex;align-items:baseline;justify-content:space-between;margin:18px 0 7px!important;
  font:700 10px 'DM Sans',sans-serif!important;letter-spacing:.9px;text-transform:uppercase;color:#9a8ea4!important}
.f-label output{font-size:11px;font-weight:700;color:#402c68;text-transform:none;letter-spacing:0}
.seg{display:flex;flex-wrap:wrap;gap:5px}
.seg button{flex:1 1 auto;border:1.5px solid #e3d9e9;border-radius:7px;padding:9px 8px;background:#fff;
  color:#5c5167;font:700 11.5px 'DM Sans',sans-serif;cursor:pointer;transition:.15s}
.seg button:hover{border-color:#b9a6d6}
.seg button.on{background:#402c68;border-color:#402c68;color:#fff}
.dual{display:grid;gap:5px}
.filter-panel input[type=range]{width:100%;accent-color:#ed7662;margin:0}
.chips{display:flex;flex-wrap:wrap;gap:5px}
.chips button{border:1.5px solid #e3d9e9;border-radius:16px;padding:7px 11px;background:#fff;
  color:#5c5167;font:600 11px 'DM Sans',sans-serif;cursor:pointer;transition:.15s}
.chips button:hover{border-color:#b9a6d6}
.chips button.on{background:#ed7662;border-color:#ed7662;color:#fff}
.f-toggle{display:flex;align-items:flex-start;gap:8px;margin:12px 0;cursor:pointer;
  font:600 12px 'DM Sans',sans-serif;color:#5c5167;line-height:1.35}
.f-toggle input{width:auto;margin:1px 0 0;accent-color:#402c68;flex:none}
.f-toggle em{font-style:normal;color:#9a8ea4;font-weight:400}
.f-note{margin:6px 0 0;font-size:11px;color:#9a8ea4;line-height:1.4}
.f-note a{color:#ed7662;font-weight:700;text-decoration:none}
.card .live{position:absolute;left:9px;top:9px;background:#2f7d4f;color:#fff;border-radius:12px;
  padding:3px 8px;font:700 9px 'DM Sans',sans-serif}
.detail-traits{margin:14px 0}
.detail-traits .score-row{display:grid;grid-template-columns:118px 1fr 30px;align-items:center;gap:10px;
  padding:5px 0;font-size:12px;color:#5f5468}
.detail-traits .score-row i{display:block;height:8px;border-radius:4px;background:#efe8f4;overflow:hidden}
.detail-traits .score-row i b{display:block;height:100%;border-radius:4px;background:#402c68}
.detail-traits .score-row strong{text-align:right;font-size:12px;color:#39234d}
/* The live badge sits top-left; move the hidden-photo label out from under it. */
.card .hidden .hidden-note{top:auto!important;bottom:14px}
/* --- favourite soda badge --- */
.soda-badge{position:absolute;left:9px;bottom:9px;display:inline-flex;align-items:center;gap:4px;
  background:#fffdfbee;border-left:3px solid var(--st,#ed7662);border-radius:4px 12px 12px 4px;
  padding:4px 9px;font:700 9.5px 'DM Sans',sans-serif;color:#4b4055}
.soda-line{display:flex;align-items:center;gap:7px;margin:8px 0 0}
.soda-line b{display:inline-flex;align-items:center;gap:5px;background:#fff8f5;
  border-left:3px solid var(--st,#ed7662);border-radius:4px 14px 14px 4px;padding:6px 12px;
  font:700 12px 'DM Sans',sans-serif;color:#4b4055}
.soda-line em{font-style:normal;font-size:11px;color:#9a8ea4}
/* six-word ad on a match card */
.sixword-line{margin:9px 0 0;font:600 13px/1.4 'Fraunces',Georgia,serif;color:#6b4b93;
  padding-left:10px;border-left:2px solid #d9c8f4}
