/* gush. — Home (ported from the Velvet Room direction) */
.home-top{position:sticky;top:0;z-index:30;display:flex;align-items:center;justify-content:space-between;padding:58px 20px 12px;transition:background-color .6s var(--ease),box-shadow .6s var(--ease)}
.home-top.is-stuck{background:var(--bar);-webkit-backdrop-filter:blur(22px) saturate(1.3);backdrop-filter:blur(22px) saturate(1.3);box-shadow:0 1px 0 var(--line)}
.home-top .appbar-r{gap:12px}
.pair-link{display:inline-flex}
.hello{padding:14px 20px 0}
.hello h1{font-size:43px;line-height:1.02}
.hello p{margin-top:12px;color:var(--ink-2)}

/* tonight */
.tonight{box-shadow:inset 0 0 0 1px rgba(246,238,225,.08);margin:22px 20px 0;min-height:500px;display:flex;flex-direction:column;justify-content:space-between}
.tonight .ph img{object-position:50% 18%}
.tonight .scrim{border-radius:inherit;background:linear-gradient(180deg,rgba(20,10,16,.4) 0%,rgba(20,10,16,0) 20%,rgba(42,15,35,.05) 36%,rgba(42,15,35,.78) 58%,rgba(30,14,24,.97) 82%)}
.tonight .card-in.t{padding:20px 20px 0;display:flex;justify-content:space-between;align-items:center;gap:8px}
.tonight .card-in.b{padding:0 20px 20px}
.tonight q{display:block;quotes:none;margin:0 0 18px;font-size:29px;line-height:1.1}
.tonight .on-img-p{color:var(--on-img-2);margin:-6px 0 18px;font-size:14.5px}
.sealed{display:flex;align-items:center;gap:12px;padding:10px 12px 10px 10px;border-radius:18px;background:rgba(246,238,225,.07);border:1px solid rgba(246,238,225,.12);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);margin-bottom:14px}
.sealed .av{box-shadow:0 0 0 2px #2A0F23}
.sealed .av--you{background:transparent;color:#F6EEE1;border:1px dashed rgba(246,238,225,.55);margin-left:-8px;position:relative}
.sealed .av--you.done{background:#F5D0D9;color:#2A0F23;border-style:solid}
.sealed .av--you:not(.done)::after{content:"";position:absolute;inset:-5px;border-radius:50%;border:1px solid rgba(232,105,123,.6);animation:pulse 3.2s var(--ease) infinite}
@keyframes pulse{0%{transform:scale(.85);opacity:0}40%{opacity:1}100%{transform:scale(1.25);opacity:0}}
.sealed .st{flex:1;min-width:0}
.sealed .st b{display:block;font:600 13.5px/1.25 var(--sans);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sealed .st b span{color:#F5D0D9}
.redact{display:flex;gap:5px;margin-top:8px;align-items:center;color:#F5D0D9}
.redact svg.ic{width:12px;height:12px;margin-right:3px}
.redact i{height:6px;border-radius:3px;background:rgba(246,238,225,.28);filter:blur(1.2px)}
.lock{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:rgba(20,10,16,.4);border:1px solid rgba(246,238,225,.16);color:#F5D0D9;flex:none}
.lock svg.ic{width:16px;height:16px}
.note{display:flex;align-items:center;justify-content:center;gap:7px;margin:12px 0 0;font-size:12.5px;color:var(--on-img-3)}
.note svg.ic{width:13px;height:13px}

/* week */
.week{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:18px 18px 16px}
.week-h{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:16px}
.week-h .n{font:italic 300 22px/1 var(--serif);font-variation-settings:"opsz" 144,"SOFT" 100}
.week-h .n b{font-weight:500;font-style:normal}
.days{display:grid;grid-template-columns:repeat(7,1fr);text-align:center;gap:2px}
.day{display:flex;flex-direction:column;align-items:center;gap:8px;color:var(--ink-3);font-size:11.5px;font-weight:600;letter-spacing:.08em}
.day .d{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;font:500 15px/1 var(--serif);font-variation-settings:"opsz" 30,"SOFT" 100;color:var(--ink-2);letter-spacing:0;position:relative}
.day.done .d{background:var(--raised);color:var(--ink)}
:root[data-theme="light"] .day.done .d{background:#2A0F23;color:#F6EEE1}
.day.done .d::after{content:"";position:absolute;bottom:-9px;width:4px;height:4px;border-radius:50%;background:var(--accent)}
.day.today{color:var(--ink)}
.day.today .d{border:1px solid var(--accent);color:var(--ink);box-shadow:0 0 18px -4px var(--btn-glow)}

/* matches */
.match{min-height:278px;padding:22px 20px 20px;display:flex;flex-direction:column;justify-content:space-between;background:#2A0F23}
.match .ph img{object-position:60% 50%;transform:scale(1.15)}
.match:hover .ph img{transform:scale(1.18)}
.match h3{margin:10px 0 10px;font-size:30px;line-height:1.05}
.match p{font-size:14px;line-height:1.5;color:var(--on-img-2);max-width:270px}
.match p b{color:var(--on-img);font-weight:600}
.match-f{display:flex;align-items:center;justify-content:space-between;margin-top:20px}
.veiled{display:flex;position:relative;align-items:center}
.veiled .vl{position:absolute;z-index:2;left:50%;top:50%;width:30px;height:30px;margin:-15px 0 0 -15px;border-radius:50%;display:grid;place-items:center;background:rgba(20,10,16,.55);border:1px solid rgba(246,238,225,.28);color:#F6EEE1;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.veiled .vl svg.ic{width:14px;height:14px}
.veiled>span:not(.vl){width:48px;height:62px;border-radius:12px;overflow:hidden;position:relative;box-shadow:0 0 0 1.5px rgba(246,238,225,.22),0 10px 20px -8px rgba(0,0,0,.6);transform:rotate(-6deg)}
.veiled>span:nth-child(2){margin-left:-14px;transform:rotate(2deg)}
.veiled>span:nth-child(3){margin-left:-14px;transform:rotate(9deg)}
.veiled img{width:100%;height:100%;object-fit:cover;filter:blur(4px) saturate(1.25) brightness(1.15);transform:scale(1.25)}
.swipe-cta{display:flex;align-items:center;gap:14px;margin-top:12px;padding:14px 16px}
.swipe-cta>svg.ic:first-child{color:var(--accent)}
.swipe-cta span{flex:1}
.swipe-cta b{display:block;font:500 17px/1.2 var(--serif);font-variation-settings:"opsz" 48,"SOFT" 100}
.swipe-cta span span{display:block;font-size:12.5px;color:var(--ink-2);margin-top:2px}
.swipe-cta>svg.ic:last-child{width:16px;height:16px;color:var(--ink-3)}

/* learning */
.learn{background:var(--surface);border:1px solid var(--line);min-height:252px;display:flex;flex-direction:column;justify-content:space-between;padding:20px;color:var(--ink)}
.learn .por{position:absolute;z-index:0;right:-34px;top:0;bottom:0;width:66%;-webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 46%);mask-image:linear-gradient(90deg,transparent 0%,#000 46%)}
.learn .por img{width:100%;height:100%;object-fit:cover;object-position:56% 18%}
.learn .por::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,0) 55%,var(--surface) 100%)}
.learn h3{margin:10px 0 6px;font-size:30px;line-height:1.02;max-width:170px}
.learn .by{font-size:13.5px;color:var(--ink-2);max-width:170px}
.learn .eyebrow{color:var(--ink-2)}
.learn .lesson{margin:0 0 12px;font-size:13.5px;line-height:1.4;max-width:250px}
.learn .lesson span{color:var(--ink-2);display:block;font-size:12.5px;margin-bottom:2px;letter-spacing:.02em}
.prog{display:flex;align-items:center;gap:14px}
.prog small{font-size:12.5px;color:var(--ink-2);white-space:nowrap}
.learn .play-btn{background:var(--btn);color:var(--btn-ink)}

/* date */
.date{min-height:420px;padding:20px;display:flex;flex-direction:column;justify-content:space-between}
.date .ph img{object-position:50% 34%}
.date .scrim{background:linear-gradient(180deg,rgba(20,10,16,.45) 0%,rgba(20,10,16,0) 26%,rgba(30,14,24,.2) 46%,rgba(30,14,24,.94) 86%)}
.date h3{margin:0 0 14px;font-size:32px;line-height:1.04}
.facts{display:flex;margin:0 0 18px;padding:0;list-style:none;font-size:13.5px;color:var(--on-img-2);flex-wrap:wrap;row-gap:6px}
.facts li{display:flex;align-items:center;gap:7px}
.facts li+li::before{content:"";width:1px;height:12px;background:rgba(246,238,225,.3);margin:0 12px}
.facts svg.ic{width:15px;height:15px}

/* saved */
.saved-row{display:flex;align-items:center;gap:16px;padding:14px 16px 14px 14px}
.thumbs{display:flex;flex:none}
.thumbs img{width:40px;height:52px;border-radius:10px;object-fit:cover;box-shadow:0 0 0 2px var(--surface)}
.thumbs img+img{margin-left:-14px}
.saved-row .tx{flex:1}
.saved-row .tx b{display:block;font:500 19px/1.2 var(--serif);font-variation-settings:"opsz" 48,"SOFT" 100}
.saved-row .tx span{font-size:13px;color:var(--ink-2)}
.saved-row>svg.ic{width:18px;height:18px;color:var(--ink-2)}

/* membership card */
.member{height:206px;padding:20px 22px;color:#F6EEE1;display:flex;flex-direction:column;justify-content:space-between;
  background:radial-gradient(90% 120% at 100% 0%,rgba(232,105,123,.42) 0%,rgba(232,105,123,0) 55%),radial-gradient(80% 90% at 0% 100%,rgba(20,10,16,.9),rgba(20,10,16,0) 70%),linear-gradient(135deg,#3A1430,#2A0F23 55%,#1C0A16);
  box-shadow:inset 0 0 0 1px rgba(246,238,225,.10),0 30px 60px -30px rgba(0,0,0,.6)}
.member .silk{position:absolute;inset:0;z-index:0;opacity:.38;mix-blend-mode:screen}
.member .silk img{width:100%;height:100%;object-fit:cover;object-position:70% 40%}
.member .row{display:flex;justify-content:space-between;align-items:center;position:relative;z-index:3;gap:12px}
.member .wordmark{font-size:22px}
.member .eyebrow{color:rgba(246,238,225,.72)}
.member h3{margin:0 0 6px;font-size:27px;line-height:1}
.member p{font-size:12.5px;color:rgba(246,238,225,.72);letter-spacing:.02em}
.member .pair{border-color:rgba(246,238,225,.2)}
.member .pair .av{box-shadow:0 0 0 2px #2A0F23}
.member::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(115deg,rgba(255,255,255,0) 35%,rgba(255,255,255,.07) 48%,rgba(255,255,255,0) 60%);background-size:250% 100%;animation:sheen 9s var(--ease) infinite}
@keyframes sheen{0%,60%{background-position:120% 0}100%{background-position:-60% 0}}

.sig{margin:56px 0 0;text-align:center;color:var(--ink-3);display:flex;flex-direction:column;align-items:center}
.sig .monogram{width:34px;height:34px;font-size:18px;color:var(--ink-2)}
.sig p{margin-top:12px;font:italic 300 18px/1.3 var(--serif);font-variation-settings:"opsz" 72,"SOFT" 100}
@media (max-width:599px){.home-top{padding-top:calc(env(safe-area-inset-top,0px) + 14px)}}
