*{box-sizing:border-box;margin:0;padding:0;}
:root{--lilac-50:#EEEDFE;--lilac-100:#CECBF6;--lilac-200:#AFA9EC;--lilac-400:#7F77DD;--lilac-600:#534AB7;--lilac-800:#3C3489;--lilac-900:#26215C;--teal:#0F6E56;--amber:#854F0B;--bg:#F7F6FD;--line:rgba(38,33,92,0.12);}
html{-webkit-text-size-adjust:100%;}
body{font-family:'Comfortaa',system-ui,sans-serif;background:var(--bg);color:var(--lilac-900);line-height:1.6;}
a{color:inherit;}
.icon{width:1em;height:1em;display:inline-block;vertical-align:-0.125em;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;}
.wrap{max-width:680px;margin:0 auto;padding:18px 16px 56px;}
.narrow{max-width:400px;}
header.site{display:flex;align-items:center;justify-content:space-between;padding:4px 0 16px;}
header.site a.logo{display:flex;align-items:center;gap:7px;font-size:17px;font-weight:700;text-decoration:none;}
nav.crumbs{font-size:12px;color:var(--lilac-400);margin-bottom:14px;}
nav.crumbs a{color:var(--lilac-600);text-decoration:none;}
h1{font-size:28px;font-weight:700;line-height:1.25;margin-bottom:6px;}
h2{font-size:20px;font-weight:600;margin:30px 0 10px;}
h3{font-size:15px;font-weight:600;margin:0 0 4px;color:var(--lilac-800);display:flex;align-items:center;gap:6px;}
p{margin-bottom:14px;font-size:15px;}
.subtitle{font-family:'Caveat',cursive;font-size:21px;color:var(--lilac-600);margin-bottom:20px;line-height:1.35;}
.dateline{font-size:13px;color:var(--lilac-400);margin-bottom:16px;}
.callout{background:var(--lilac-50);border-left:3px solid var(--lilac-400);border-radius:8px;padding:14px 16px;margin:18px 0;font-size:14.5px;}
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:16px 0;}
.mini{background:#fff;border:0.5px solid var(--lilac-100);border-radius:12px;padding:14px;}
.mini ul{list-style:none;font-size:13.5px;}
.mini li{padding:4px 0 4px 16px;position:relative;}
.mini li::before{content:"";position:absolute;left:0;top:11px;width:5px;height:5px;border-radius:50%;background:var(--lilac-400);}
.facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(118px,1fr));gap:10px;margin-bottom:24px;}
.fact{background:#fff;border:0.5px solid var(--lilac-100);border-radius:12px;padding:11px 13px;}
.fact .k{font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--lilac-400);}
.fact .v{font-size:15px;font-weight:600;margin-top:3px;}
.sign-head{display:flex;align-items:center;gap:16px;margin-bottom:8px;}
.glyph{width:68px;height:68px;border-radius:50%;background:var(--lilac-50);border:0.5px solid var(--lilac-100);display:flex;align-items:center;justify-content:center;font-size:32px;flex-shrink:0;}
.pair{display:flex;align-items:center;justify-content:center;gap:14px;margin:4px 0 22px;}
.pair .glyph{width:58px;height:58px;font-size:26px;}
.pair .plus{color:var(--lilac-400);font-size:22px;}
.scores{background:#fff;border:0.5px solid var(--lilac-100);border-radius:16px;padding:16px 16px 6px;margin-bottom:10px;}
.score-row{display:flex;align-items:center;gap:12px;margin-bottom:12px;}
.score-label{width:118px;font-size:13px;font-weight:500;flex-shrink:0;}
.bar{flex:1;height:8px;background:var(--lilac-50);border-radius:8px;overflow:hidden;}
.bar-fill{display:block;height:100%;background:var(--lilac-400);border-radius:8px;}
.score-val{width:38px;text-align:right;font-size:13px;font-weight:600;color:var(--lilac-600);}
.score-note{font-size:12px;color:var(--lilac-400);margin:0 0 24px;}
details{border:0.5px solid var(--lilac-100);border-radius:10px;padding:12px 15px;margin-bottom:9px;background:#fff;}
summary{font-weight:600;font-size:14.5px;cursor:pointer;}
details p{margin:9px 0 0;font-size:14px;}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px;}
.chip{font-size:13px;text-decoration:none;color:var(--lilac-800);background:var(--lilac-50);border:0.5px solid var(--lilac-100);border-radius:20px;padding:7px 13px;}
span.chip{opacity:.5;}
.section-label{font-size:15px;color:var(--lilac-400);font-weight:500;margin:26px 0 0;}
.sign-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:10px;}
.sign-grid a{font-size:12.5px;text-decoration:none;color:var(--lilac-600);background:#fff;border:0.5px solid var(--lilac-100);border-radius:8px;padding:8px 6px;text-align:center;}
footer.site{border-top:0.5px solid var(--lilac-100);margin-top:34px;padding-top:18px;}
footer.site .fine{text-align:center;font-size:12px;color:var(--lilac-400);margin-top:22px;}

/* hook */
.hook{background:var(--lilac-600);color:#fff;border-radius:18px;padding:22px 20px;margin:30px 0 22px;text-align:center;}
.hook h2{color:#fff;margin:6px 0 6px;font-size:19px;}
.hook p{color:var(--lilac-100);font-size:14px;margin-bottom:0;}
.dob{display:flex;gap:8px;justify-content:center;margin:14px 0 2px;flex-wrap:wrap;}
.dob input{font-family:inherit;font-size:15px;padding:10px 12px;border-radius:10px;border:none;min-width:160px;text-align:center;color:var(--lilac-900);background:#fff;}
.btn-light{font-family:inherit;font-weight:600;font-size:14px;background:#fff;color:var(--lilac-800);border:none;border-radius:10px;padding:11px 18px;cursor:pointer;text-decoration:none;display:inline-block;}
.hook .reveal{background:rgba(255,255,255,.12);border-radius:12px;padding:14px;margin-top:14px;}
.hook .reveal .who{font-family:'Caveat',cursive;font-size:22px;color:#fff;}
.hook .err{color:#FAC775;font-size:13px;margin-top:8px;}
[hidden]{display:none !important;}

/* message card */
.card{width:100%;background:var(--lilac-50);border:0.5px solid var(--line);border-radius:16px;padding:20px 20px 17px;position:relative;overflow:hidden;margin:6px 0 0;}
.card.mood-warm{background:#FAEEDA;}
.card.mood-soft{background:#DCD9F8;}
.spark{position:absolute;border-radius:50%;background:var(--lilac-400);}
.card .top{display:flex;align-items:center;justify-content:space-between;margin-bottom:11px;gap:8px;}
.card .who-tag{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:600;}
.streak{display:flex;align-items:center;gap:4px;font-size:11px;padding:3px 9px;border-radius:8px;background:var(--lilac-100);color:var(--lilac-800);font-weight:500;white-space:nowrap;}
.mood-warm .streak{background:#FAC775;color:#633806;}
.nest{display:flex;flex-direction:column;align-items:center;text-align:center;margin-bottom:8px;}
.sender{font-family:'Caveat',cursive;font-size:20px;font-weight:600;color:var(--lilac-600);margin:4px 0 0;}
.mood-warm .sender{color:var(--amber);}
.card .msg{font-size:17px;font-weight:500;line-height:1.5;text-align:center;margin:6px 0 17px;}
.tips{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-bottom:16px;}
.tip{background:rgba(255,255,255,0.58);border-radius:8px;padding:11px;display:flex;flex-direction:column;gap:6px;}
.tip-head{display:flex;align-items:center;gap:6px;font-size:11px;font-weight:600;}
.tip-text{font-size:12.5px;line-height:1.4;color:var(--lilac-800);}
.card .foot{display:flex;align-items:center;gap:8px;}
.share{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;background:var(--lilac-600);color:#fff;border:none;border-radius:8px;font-size:13px;font-weight:600;padding:10px 0;cursor:pointer;font-family:inherit;}
.mood-warm .share{background:#BA7517;}
.ico-btn{width:40px;height:38px;display:flex;align-items:center;justify-content:center;border-radius:8px;border:none;background:var(--lilac-100);color:var(--lilac-800);cursor:pointer;font-family:inherit;font-weight:700;}
.mood-warm .ico-btn{background:#FAC775;color:#633806;}
.install{display:flex;align-items:center;gap:11px;background:#fff;border:0.5px solid var(--line);border-radius:12px;padding:11px 13px;margin-top:11px;width:100%;}
.install p{margin:0;}
.install-btn{display:flex;align-items:center;gap:5px;background:transparent;border:0.5px solid var(--lilac-400);color:var(--lilac-800);border-radius:8px;font-size:12.5px;font-weight:600;padding:7px 12px;cursor:pointer;font-family:inherit;white-space:nowrap;}
.install-help{font-size:12px;color:var(--lilac-800);margin-top:6px;}
.change-dob{display:block;text-align:center;font-size:12px;color:var(--lilac-400);margin-top:12px;background:none;border:none;cursor:pointer;font-family:inherit;text-decoration:underline;width:100%;}

/* home */
.home-hero{text-align:center;margin:8px 0 18px;}
.home-hero h1{display:flex;align-items:center;justify-content:center;gap:8px;font-size:20px;margin-bottom:4px;}
.home-hero .subtitle{margin-bottom:6px;}
.home-hero .dateline{margin-bottom:0;}
.home-intro{font-size:14px;color:var(--lilac-800);text-align:center;margin:16px 0 0;}
@media (max-width:360px){.two-col,.tips{grid-template-columns:1fr;}.score-label{width:96px;}}

/* ---------- variant B layout ---------- */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0;}
.wrap{max-width:760px;}
.wrap.wide{max-width:1200px;}
.topbar{width:100%;}
.topnav{max-width:1200px;margin:0 auto;padding:16px 16px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 24px;}
.topnav .logo{display:flex;align-items:center;gap:8px;font-size:19px;font-weight:700;text-decoration:none;color:var(--lilac-900);}
.navlinks{display:flex;flex-wrap:wrap;gap:6px 22px;font-size:14.5px;}
.navlinks a{text-decoration:none;color:var(--lilac-800);padding:6px 0;}
.navlinks a:hover{color:var(--lilac-900);}

.home-hero{display:flex;flex-direction:column;align-items:center;text-align:center;margin:8px 0 0;}
.tagline{font-family:'Caveat',cursive;font-size:30px;font-weight:600;color:var(--lilac-600);margin:0;line-height:1.2;}
.home-hero .dateline{margin:6px 0 20px;}
.card-big{max-width:640px;text-align:left;padding:28px 30px 24px;border-radius:24px;}
.card-big .nest svg{width:84px;height:84px;}
.card-big .sender{font-size:25px;}
.card-big .msg{font-size:26px;font-weight:600;line-height:1.4;margin:10px 0 22px;}
.card-big .tip-text{font-size:14.5px;}
.card-big .foot{flex-wrap:wrap;}
.install-inline{min-height:40px;padding:0 16px;border:0.5px solid var(--lilac-400);border-radius:8px;background:#fff;color:var(--lilac-800);font-family:inherit;font-size:13px;font-weight:600;cursor:pointer;}
.card .install-help{margin:10px 0 0;}

.wall-section{margin-top:52px;}
.wall-section h2,.duo h2{margin:0 0 6px;}
.wall-section h2{text-align:center;font-size:24px;}
.section-sub{text-align:center;color:var(--lilac-800);font-size:15px;margin:0 0 20px;}
.wall{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;}
.wall-tile{display:flex;flex-direction:column;align-items:center;gap:7px;background:#fff;border:0.5px solid var(--lilac-100);border-radius:16px;padding:18px 6px;text-decoration:none;color:var(--lilac-900);text-align:center;}
.wall-tile:hover{border-color:var(--lilac-400);}
.wall-glyph{width:52px;height:52px;border-radius:50%;background:var(--lilac-50);display:flex;align-items:center;justify-content:center;font-size:24px;color:var(--lilac-600);}
.wall-name{font-size:15px;font-weight:600;}
.wall-dates{font-size:12px;color:var(--lilac-600);}

.duo{display:flex;flex-wrap:wrap;gap:20px;margin-top:44px;}
.duo-panel{flex:1 1 360px;min-width:0;}
.panel-white{background:#fff;border:0.5px solid var(--lilac-100);border-radius:20px;padding:22px 24px;}
.panel-white h2{font-size:20px;margin-bottom:12px;}
.hook-inner{margin:0;height:100%;text-align:left;border-radius:20px;padding:24px 26px;}
.hook-inner .dob{justify-content:flex-start;}
.hook h2{font-size:21px;}

.band{background:var(--lilac-50);border-bottom:0.5px solid var(--lilac-100);}
.band-inner{max-width:1200px;margin:0 auto;padding:16px 16px 34px;display:flex;flex-wrap:wrap;align-items:center;gap:20px 30px;}
.band-glyph{width:120px;height:120px;border-radius:50%;background:#fff;border:0.5px solid var(--lilac-100);display:flex;align-items:center;justify-content:center;font-size:56px;color:var(--lilac-600);flex-shrink:0;}
.band-text{flex:1 1 320px;min-width:0;}
.band-text h1{font-size:46px;margin:0;}
.band-text .subtitle{font-size:25px;margin:4px 0 12px;}
.band-facts{font-size:14.5px;color:var(--lilac-800);margin:0;}
.band nav.crumbs{margin-bottom:8px;}
.switcher{display:flex;flex-wrap:wrap;gap:8px;padding-top:18px;}
.switch{display:inline-flex;align-items:center;min-height:40px;padding:0 14px;border-radius:20px;text-decoration:none;font-size:14px;background:#fff;color:var(--lilac-800);border:0.5px solid var(--lilac-100);}
.switch.on{background:var(--lilac-600);color:#fff;border-color:var(--lilac-600);}
.wrap > p{font-size:16.5px;line-height:1.7;}

.today-mini{display:flex;flex-wrap:wrap;align-items:center;gap:18px;background:var(--lilac-50);border:0.5px solid var(--lilac-100);border-radius:20px;padding:22px;margin:24px 0;}
.today-mini.mood-warm{background:#FAEEDA;}
.today-mini.mood-soft{background:#DCD9F8;}
.today-mini-text{flex:1 1 260px;}
.today-mini .sender{margin:0;}
.today-mini .msg{font-size:19px;font-weight:500;line-height:1.5;margin:4px 0 12px;}
.btn-solid{display:inline-flex;align-items:center;min-height:44px;padding:0 16px;border-radius:10px;background:var(--lilac-600);color:#fff;text-decoration:none;font-size:14px;font-weight:600;}

.pair-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
.pair-row{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:50px;padding:0 16px;background:#fff;border:0.5px solid var(--lilac-100);border-radius:12px;text-decoration:none;font-size:14.5px;color:var(--lilac-900);}
.pair-row .pct{font-weight:600;color:var(--lilac-600);}
.pair-row.muted{opacity:.55;}
a.pair-row:hover{border-color:var(--lilac-400);}

@media (max-width:900px){.wall{grid-template-columns:repeat(4,minmax(0,1fr));}}
@media (max-width:600px){
  .wall{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;}
  .wall-dates{display:none;}
  .card-big{padding:20px 18px 18px;}
  .card-big .msg{font-size:21px;}
  .band-glyph{width:84px;height:84px;font-size:40px;}
  .band-text h1{font-size:34px;}
  .pair-list{grid-template-columns:1fr;}
  .navlinks{font-size:13.5px;gap:4px 16px;}
}

@media (min-width:700px){footer.site .sign-grid{grid-template-columns:repeat(6,minmax(0,1fr));}}
@media (max-width:600px){.card-big .share{flex:1 1 100%;min-height:44px;}.card-big .install-inline{flex:1;min-height:40px;}}

/* tips cards: more emphasis (canvas comment, Nov 2) */
.tips{gap:12px;}
.tip{border-radius:14px;padding:14px 14px 16px;gap:8px;}
.tip:first-child{background:#E1F5EE;border:1px solid #9FE1CB;}
.tip:last-child{background:#FAEEDA;border:1px solid #FAC775;}
.mood-warm .tip:last-child{background:#FFF7EC;}
.tip-head{font-size:11.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;gap:8px;}
.tip-head .icon{width:30px !important;height:30px !important;padding:6px;background:#fff;border-radius:50%;flex-shrink:0;}
.tip-text{font-size:14.5px;font-weight:600;line-height:1.4;}
.tip:first-child .tip-text{color:#04342C;}
.tip:last-child .tip-text{color:#412402;}
.card-big .tips{gap:14px;}
.card-big .tip{padding:18px 18px 20px;border-radius:16px;}
.card-big .tip-head{font-size:12.5px;}
.card-big .tip-head .icon{width:36px !important;height:36px !important;padding:8px;}
.card-big .tip-text{font-size:17.5px;}

/* message is the hero: white "note" panel (Nov 2) */
.card .msg{background:#fff;border-radius:16px;padding:16px 18px;font-weight:700;color:var(--lilac-900);margin:10px 0 14px;}
.card-big .msg{border-radius:20px;padding:26px 28px;font-size:34px;line-height:1.3;margin:14px 0 18px;}
.tip-text{font-weight:500;}
.card-big .tip-text{font-size:16px;line-height:1.45;}
@media (max-width:600px){.card-big .msg{font-size:23px;padding:18px 18px;}}

/* message on deep violet (Nov 2) */
.card .msg{background:#3C3489;color:#fff;}

/* ===== Night-sky card (chosen Nov 2, canvas option 2) ===== */
.card,.card.mood-calm,.card.mood-warm,.card.mood-soft{background:#26215C;border:none;color:#fff;}
.card .spark{background:#CECBF6;}
.card .spark:nth-of-type(2){background:#FAC775;}
.card .who-tag{color:#CECBF6;}
.card .streak,.mood-warm .streak{background:rgba(255,255,255,.12);color:#EEEDFE;}
.card .sender,.mood-warm .sender{color:#CECBF6;}
.card .msg{background:none;color:#fff;padding:0;border-radius:0;font-size:22px;font-weight:700;line-height:1.35;margin:12px 0 20px;}
.card-big .msg{font-size:34px;line-height:1.3;padding:0;margin:14px 0 26px;}
.card .tip,.card .tip:first-child,.card .tip:last-child,.mood-warm .tip:last-child{background:rgba(255,255,255,.08);border:none;}
.card .tip:first-child .tip-head{color:#9FE1CB !important;}
.card .tip:last-child .tip-head{color:#FAC775 !important;}
.card .tip-head .icon{background:rgba(255,255,255,.1);}
.card .tip-text,.card .tip:first-child .tip-text,.card .tip:last-child .tip-text{color:#EEEDFE;font-weight:500;}
.card .share,.mood-warm .share{background:#fff;color:#26215C;}
.card .ico-btn,.mood-warm .ico-btn{background:transparent;border:1px solid rgba(255,255,255,.35);color:#fff;}
.card .install-inline{background:transparent;border:1px solid rgba(255,255,255,.35);color:#fff;}
.card .install-help{color:#CECBF6;}
.today-mini,.today-mini.mood-warm,.today-mini.mood-soft{background:#26215C;border:none;color:#fff;}
.today-mini .sender{color:#CECBF6;}
.today-mini .msg{color:#fff;font-weight:700;}
.today-mini .btn-solid{background:#fff;color:#26215C;}
@media (max-width:600px){.card-big .msg{font-size:24px;}}

/* full-width hero card (Nov 2) */
.card-big{max-width:none;width:100%;border-radius:28px;padding:40px 48px 36px;}
.card-big .msg{max-width:820px;margin:14px auto 30px;font-size:40px;line-height:1.25;text-align:center;}
.card-big .tips{max-width:900px;margin:0 auto 28px;}
.card-big .foot{max-width:900px;margin:0 auto;justify-content:center;}
.card-big .install-help{max-width:900px;margin:10px auto 0;}
@media (max-width:600px){.card-big{padding:22px 18px 20px;border-radius:22px;}.card-big .msg{font-size:24px;margin:10px auto 20px;}}
@media (min-width:601px){.card-big .share{flex:0 0 auto;padding:0 36px;min-height:46px;}.card-big .install-inline,.card-big .ico-btn{min-height:46px;}}

/* actions: gold pill + quiet text actions (Nov 2) */
.card .actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:12px 28px;}
.card .quiet{display:flex;flex-wrap:wrap;justify-content:center;gap:4px 24px;}
.pill{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:0 30px;border:none;border-radius:999px;background:#FAC775;color:#26215C;font-family:inherit;font-size:15px;font-weight:700;cursor:pointer;}
.pill:hover{background:#FBD48E;}
.act{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 4px;border:none;background:transparent;color:#CECBF6;font-family:inherit;font-size:14.5px;font-weight:600;cursor:pointer;}
.act:hover{color:#fff;}
.card .install-help{text-align:center;}
@media (max-width:600px){.card .pill{flex:1 1 100%;}.card .actions{gap:6px;}}
