:root{
    --black:#0d0c0b;
    --cream:#f5efe3;
    --ink:#171512;
    --ink-soft:#6f695d;
    --coral:#ff5436;
    --hair:#d8cfba;
  }
  *{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent}
  html{background:#0a0908}
  body{
    font-family:'Inter',system-ui,-apple-system,sans-serif,system-ui,sans-serif;
    background:linear-gradient(180deg,#0a0908 0%,#0d0a08 45%,#151009 100%);
    color:var(--cream);
    max-width:430px;margin:0 auto;min-height:100vh;padding-bottom:96px;
    position:relative;
  }
  body::before{
    content:"";position:fixed;inset:0;pointer-events:none;opacity:.5;z-index:0;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .05 0'/%3E%3C/filter%3E%3Crect width='120' height='120' filter='url(%23n)'/%3E%3C/svg%3E");
  }
  .screen{display:none;position:relative;z-index:1;animation:fade .3s ease}
  .screen.active{display:block}
  @keyframes fade{from{opacity:0}to{opacity:1}}

  /* ── Masthead (compact) ── */
  .mast{padding:calc(52px + env(safe-area-inset-top)) 20px 0}
  .mastrow{display:flex;align-items:center;justify-content:space-between;gap:12px}
  .wordmark{
    font-family:'Fraunces',Georgia,'Times New Roman',serif;font-weight:700;font-size:13px;letter-spacing:4px;
    text-transform:uppercase;
  }
  .wordmark i{font-style:normal;color:var(--coral)}
  .plancount{font-size:10.5px;font-weight:600;letter-spacing:2px;text-transform:uppercase;color:#7a7469}
  .cityrow{display:flex;justify-content:center;align-items:center;gap:8px;margin-top:12px}
  /* admin-only report inbox shortcut next to the city selector */
  .adminmail{
    position:relative;flex:0 0 auto;width:38px;height:38px;border-radius:50%;cursor:pointer;
    border:1px solid var(--hair);background:rgba(255,255,255,.04);
    font-size:16px;line-height:1;display:flex;align-items:center;justify-content:center;
  }
  .adminmail:active{transform:scale(.94)}
  .mailbadge{
    position:absolute;top:-5px;right:-5px;min-width:18px;height:18px;padding:0 4px;border-radius:9px;
    background:var(--coral);color:#fff;font-size:10.5px;font-weight:800;
    display:flex;align-items:center;justify-content:center;box-shadow:0 0 0 2px var(--ink);
  }
  .citypick{
    display:inline-flex;align-items:center;gap:7px;cursor:pointer;max-width:100%;
    background:rgba(245,239,227,.08);border:1px solid rgba(245,239,227,.09);border-radius:999px;
    padding:7px 15px;
    font-family:'Inter',system-ui,-apple-system,sans-serif;
    font-size:12.5px;font-weight:600;letter-spacing:2px;text-transform:uppercase;
    color:#c9bda3;
  }
  .citypick:active{background:rgba(245,239,227,.15)}
  .citypin{font-size:12px;flex:0 0 auto}
  .citypick #cityName{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .cityarrow{font-size:10px;flex:0 0 auto;letter-spacing:0}
  .pulseframe{
    position:relative;margin:18px 12px 0;padding:0 0 7px;
    border-bottom:1px solid rgba(255,84,54,.28);
    display:flex;align-items:center;gap:10px;
  }
  .pulsebadge{
    display:inline-flex;align-items:center;gap:6px;flex:0 0 auto;
    background:linear-gradient(90deg,#ffb03a,var(--coral));
    color:#fff;font-size:9px;font-weight:800;letter-spacing:1.5px;
    padding:4px 10px;border-radius:999px;box-shadow:0 4px 10px rgba(255,84,54,.35);
  }
  .pulsebadge .pulsedot{background:#fff}
  .pulsedot{width:6px;height:6px;border-radius:50%;background:var(--coral);animation:pulsedotanim 1.6s infinite}
  @keyframes pulsedotanim{0%,100%{opacity:1}50%{opacity:.25}}
  .citybreath{
    font-family:'Fraunces',Georgia,'Times New Roman',serif;font-style:italic;font-size:13.5px;
    color:var(--cream);flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
    transition:opacity .25s ease;
  }
  .activitytoast{
    position:fixed;top:calc(env(safe-area-inset-top,0px) + 12px);left:50%;
    transform:translateX(-50%) translateY(-140%);
    background:#171009;border:1px solid rgba(255,84,54,.35);color:var(--cream);
    font-size:12px;font-weight:600;padding:10px 16px;border-radius:999px;
    box-shadow:0 12px 30px rgba(0,0,0,.5);z-index:50;white-space:nowrap;
    transition:transform .35s cubic-bezier(.2,.9,.3,1);
  }
  .activitytoast.show{transform:translateX(-50%) translateY(0)}
  @keyframes cardglow{
    0%,100%{box-shadow:0 2px 0 rgba(0,0,0,.7),0 6px 6px rgba(0,0,0,.55),0 14px 16px rgba(0,0,0,.45),0 28px 40px rgba(0,0,0,.4),inset 0 1.5px 0 rgba(255,255,255,.85)}
    50%{box-shadow:0 0 0 2px rgba(255,84,54,.75),0 2px 0 rgba(0,0,0,.7),0 6px 6px rgba(0,0,0,.55),0 14px 16px rgba(0,0,0,.45),0 28px 40px rgba(0,0,0,.4),inset 0 1.5px 0 rgba(255,255,255,.85)}
  }
  .ticket.similarglow{animation:cardglow 1.1s ease 2}
  .stub-join.full{background:#3a372f;color:#8a8477;pointer-events:none}
  .recobar{
    margin:10px 0 0;background:var(--coral);color:#fff;font-size:12px;font-weight:700;
    padding:9px 14px;border-radius:10px;text-align:center;animation:fade .3s ease;
  }
  .recobar b{font-family:'Fraunces',Georgia,'Times New Roman',serif}
  @keyframes recoglow{0%,100%{box-shadow:0 22px 50px rgba(0,0,0,.6),0 0 0 1.5px rgba(255,84,54,.35)}50%{box-shadow:0 22px 50px rgba(0,0,0,.6),0 0 0 3px rgba(255,84,54,.9)}}
  .ticket.featured.recopulse{animation:recoglow 1s ease 3}

  /* ── Day rail ── */
  .rail{
    display:flex;gap:22px;padding:14px 12px 2px;
    font-size:11.5px;font-weight:600;letter-spacing:2px;text-transform:uppercase;color:#7a7469;
  }
  .rail span{padding-bottom:6px;cursor:pointer}
  .rail span.on{color:var(--cream);border-bottom:1.5px solid var(--coral)}
  .railn{font-style:normal;font-size:9px;font-weight:800;color:var(--coral);letter-spacing:0}

  /* ── Tickets (compact) ── */
  .feed{padding:12px 8px 4px;display:flex;flex-direction:column;gap:13px}
  .feedmsg{text-align:center;font-size:12px;font-weight:600;color:var(--ink-soft);padding:44px 20px;opacity:.75}
  .mpmsg{font-size:12.5px;font-weight:600;color:var(--ink-soft);padding:10px 2px;opacity:.75}
  .ticket{
    position:relative;background:var(--cream);color:var(--ink);
    border-radius:13px;display:flex;cursor:pointer;
    box-shadow:
      0 2px 0 rgba(0,0,0,.7),
      0 3px 1px rgba(0,0,0,.6),
      0 6px 6px rgba(0,0,0,.55),
      0 14px 16px rgba(0,0,0,.45),
      0 28px 40px rgba(0,0,0,.4),
      inset 0 1.5px 0 rgba(255,255,255,.85);
    transition:transform .12s ease, box-shadow .12s ease;
  }
  .ticket:active{
    transform:translateY(3px) scale(.99);
    box-shadow:
      0 1px 0 rgba(0,0,0,.7),
      0 2px 2px rgba(0,0,0,.55),
      0 4px 6px rgba(0,0,0,.4),
      0 8px 12px rgba(0,0,0,.3),
      inset 0 1px 0 rgba(255,255,255,.7);
  }
  @keyframes badgepop{0%{transform:scale(.7);opacity:0}60%{transform:scale(1.08)}100%{transform:scale(1);opacity:1}}
  .trustmini{animation:badgepop .4s cubic-bezier(.2,1.4,.4,1) backwards}
  nav button{transition:transform .15s ease}
  nav button:active{transform:scale(.9)}
  .tmain{flex:1;padding:13px 14px 12px 21px;min-width:0;position:relative;overflow:hidden}
  .tmain>*:not(.atmo){position:relative;z-index:1}
  .atmo{position:absolute;top:0;right:0;width:72%;height:92%;z-index:0;filter:blur(18px);pointer-events:none}
  .atmo-night{background:
    radial-gradient(75% 75% at 88% 12%, rgba(140,116,168,.52), transparent 62%),
    radial-gradient(55% 55% at 68% 32%, rgba(255,94,154,.22), transparent 68%);}
  .atmo-sun{background:
    radial-gradient(75% 75% at 88% 10%, rgba(189,106,68,.54), transparent 62%),
    radial-gradient(55% 55% at 70% 35%, rgba(255,176,58,.3), transparent 68%);}
  .atmo-trip{background:
    radial-gradient(75% 75% at 88% 10%, rgba(95,138,114,.5), transparent 62%),
    radial-gradient(55% 58% at 72% 32%, rgba(63,169,220,.2), transparent 68%);}
  .atmo-food{background:
    radial-gradient(70% 70% at 88% 10%, rgba(212,130,46,.54), transparent 62%),
    radial-gradient(50% 68% at 75% 35%, rgba(255,176,58,.28), transparent 68%);}
  .atmo-coffee{background:
    radial-gradient(70% 70% at 88% 10%, rgba(122,90,68,.52), transparent 62%),
    radial-gradient(50% 68% at 75% 35%, rgba(180,140,100,.26), transparent 68%);}
  .atmo-sports{background:
    radial-gradient(70% 70% at 88% 10%, rgba(79,126,166,.5), transparent 62%),
    radial-gradient(50% 68% at 75% 35%, rgba(120,180,220,.24), transparent 68%);}
  .atmo-photo{background:
    radial-gradient(70% 70% at 88% 10%, rgba(168,90,114,.5), transparent 62%),
    radial-gradient(50% 68% at 75% 35%, rgba(220,140,160,.24), transparent 68%);}
  .atmo-language{background:
    radial-gradient(70% 70% at 88% 10%, rgba(74,158,143,.5), transparent 62%),
    radial-gradient(50% 68% at 75% 35%, rgba(120,200,185,.24), transparent 68%);}
  .spine{position:absolute;top:0;left:0;width:6px;height:100%;border-radius:13px 0 0 13px;overflow:hidden}
  /* soft vertical sheen for depth (no new hue, just light/shadow over the color) */
  .spine::before{
    content:"";position:absolute;inset:0;
    background:linear-gradient(180deg, rgba(255,255,255,.34), rgba(255,255,255,0) 30%, rgba(0,0,0,.34));
  }
  /* very faint grain */
  .spine::after{
    content:"";position:absolute;inset:0;opacity:.5;mix-blend-mode:soft-light;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='60' height='60'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='60' height='60' filter='url(%23n)'/%3E%3C/svg%3E");
    background-size:60px 60px;
  }
  .spine.c-night{background:#8c74a8}
  .spine.c-sun{background:#bd6a44}
  .spine.c-trip{background:#5f8a72}
  .spine.c-food{background:#d4822e}
  .spine.c-coffee{background:#7a5a44}
  .spine.c-sports{background:#4f7ea6}
  .spine.c-photo{background:#a85a72}
  .spine.c-language{background:#4a9e8f}
  .tstub{
    flex:0 0 72px;position:relative;
    display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;
    padding:8px 5px;
  }
  /* punched perforation line at the stub divider */
  .tstub::before{
    content:"";position:absolute;left:-1.5px;top:10px;bottom:10px;width:3px;
    background-image:radial-gradient(circle, var(--ink-soft) 0 1.6px, transparent 1.9px);
    background-size:3px 8px;background-position:center top;background-repeat:repeat-y;
  }
  .ticket::before,.ticket::after{
    content:"";position:absolute;right:66px;width:13px;height:13px;border-radius:50%;
    background:var(--black);z-index:2;
    box-shadow:inset 0 0 3px rgba(0,0,0,.55);
  }
  .ticket::before{top:-6.5px}
  .ticket::after{bottom:-6.5px}
  .cat{font-size:9px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;display:flex;align-items:center;gap:6px;flex-wrap:wrap}
  .catlabel{padding:3px 9px;border-radius:999px;color:#fff;display:inline-flex;align-items:center;gap:4px}
  .cicon{width:10px;height:10px;stroke:#fff;stroke-width:2.2;fill:none;stroke-linecap:round;stroke-linejoin:round;flex:0 0 auto}
  .ticket.featured{
    box-shadow:
      0 0 0 1.5px rgba(255,84,54,.4),
      0 3px 0 rgba(0,0,0,.75),
      0 5px 2px rgba(0,0,0,.65),
      0 9px 9px rgba(0,0,0,.6),
      0 20px 24px rgba(0,0,0,.5),
      0 38px 56px rgba(0,0,0,.45),
      inset 0 1.5px 0 rgba(255,255,255,.9);
    transform:scale(1.02);
  }
  .ticket.featured .ttitle{font-size:19px}
  .ticket.featured .tmain{padding-top:15px;padding-bottom:14px}
  .featkicker{
    position:absolute;top:-10px;left:16px;z-index:2;
    background:linear-gradient(90deg,var(--mango,#ffb03a),var(--coral));
    color:#fff;font-size:9px;font-weight:800;letter-spacing:1.5px;
    padding:4px 10px;border-radius:999px;box-shadow:0 4px 10px rgba(255,84,54,.4);
  }
  .pulseline{
    margin-top:6px;font-size:10.5px;font-weight:500;color:var(--ink-soft);opacity:.8;
    display:flex;align-items:center;gap:4px;
  }
  .fillbar{height:4px;background:#e4dac0;border-radius:999px;margin-top:6px;overflow:hidden;max-width:180px}
  .fillfill{height:100%;background:linear-gradient(90deg,#ffb03a,var(--coral));border-radius:999px;transition:width .6s ease}
  .hostquote{
    margin-top:5px;font-family:'Fraunces',Georgia,'Times New Roman',serif;
    font-style:italic;font-size:11.5px;color:var(--ink);
  }
  /* About this plan (detail) */
  .aboutdesc{font-size:12.5px;line-height:1.65;color:var(--ink)}
  .schedule{margin-top:14px;padding-top:12px;border-top:1px dashed var(--hair)}
  .slot{display:flex;gap:12px;align-items:baseline;padding:6px 0}
  .slottime{flex:0 0 46px;font-family:'Fraunces',Georgia,'Times New Roman',serif;font-weight:700;font-size:13px;color:var(--coral)}
  .slottext{font-size:12.5px;font-weight:500;color:var(--ink)}
  .vibetags{display:flex;gap:6px;flex-wrap:wrap;margin-top:7px}
  .vibetags span{
    font-size:11px;font-weight:700;color:var(--ink-soft);
    border:1px solid var(--hair);border-radius:999px;padding:5px 11px;
  }
  .vibetags.cold{
    font-size:9.5px;font-weight:600;font-style:italic;color:#a89a86;
    border:1px dashed var(--hair);border-radius:8px;padding:5px 9px;display:block;
  }
  .trustmini{
    display:flex;align-items:center;gap:4px;margin-top:3px;
    font-size:10px;font-weight:600;color:var(--ink-soft);
  }
  .trustmini.hi{color:var(--coral)}
  .foundingmini{
    font-size:8.5px;font-weight:700;color:var(--ink-soft);
    border:1px dashed var(--hair);padding:1.5px 5px;border-radius:999px;
    vertical-align:middle;margin-left:2px;
  }
  .tmicon{width:11px;height:11px;stroke:currentColor;stroke-width:1.8;fill:none;stroke-linecap:round;stroke-linejoin:round;flex:0 0 auto}
  .catlabel.c-night{background:#8c74a8}
  .catlabel.c-sun{background:#bd6a44}
  .catlabel.c-trip{background:#5f8a72}
  .catlabel.c-food{background:#d4822e}
  .catlabel.c-coffee{background:#7a5a44}
  .catlabel.c-sports{background:#4f7ea6}
  .catlabel.c-photo{background:#a85a72}
  .spine.c-photo{background:#a85a72}
  .cat .amb{
    color:var(--ink);border:1px solid var(--ink);border-radius:999px;
    padding:2px 7px;font-size:8.5px;letter-spacing:1.2px;
  }
  .cat .hot{
    background:var(--ink);color:var(--cream);border-radius:999px;
    padding:2px 7px;font-size:8.5px;letter-spacing:1.2px;
  }
  .ttitle{
    margin-top:6px;font-family:'Fraunces',Georgia,'Times New Roman',serif;font-weight:600;
    font-size:17.5px;line-height:1.15;letter-spacing:-.2px;
    white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
  }
  .tmeta{
    margin-top:4px;font-size:11.5px;font-weight:600;color:var(--ink-soft);
    white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
  }
  .tmeta a{color:var(--ink-soft);text-decoration:underline;text-underline-offset:2px}
  .thost{margin-top:3px;font-size:11px;font-weight:500;color:var(--ink-soft);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .hostlink{color:var(--ink);font-weight:700;text-decoration:none;cursor:pointer}
  .hostlink::after{content:" ↗";color:var(--coral);font-weight:800}
  .tfoot{margin-top:9px;display:flex;align-items:center}
  .tfoot.top{margin-top:8px}
  .tfoot.top .heads b{width:26px;height:26px;font-size:10px;margin-right:-8px;flex:0 0 26px}
  .tfoot.top+.ttitle{margin-top:7px}
  .heads{display:flex}
  .heads b{
    width:21px;height:21px;border-radius:50%;margin-right:-7px;
    border:1.5px solid var(--cream);background:var(--ink);color:var(--cream);
    display:flex;align-items:center;justify-content:center;font-size:9px;font-weight:700;
    background-size:cover;background-position:center;flex:0 0 21px;
  }
  .heads b.ph1{background-image:linear-gradient(135deg,#8c8574,#3a362e);color:transparent}
  .heads b.ph2{background-image:linear-gradient(135deg,#6f7a72,#2c3330);color:transparent}
  .heads b.ph3{background-image:linear-gradient(135deg,#9c8a6e,#33291d);color:transparent}
  .heads b.ph4{background-image:linear-gradient(135deg,#a89a86,#4a3f33);color:transparent}

  .hostcard2v2{padding:14px 16px}
  .hosttoprow{display:flex;align-items:center;gap:12px}
  .hostintent{margin-top:12px;padding-top:12px;border-top:1px dashed var(--hair)}
  .stylechip{
    display:inline-block;font-size:10px;font-weight:700;color:var(--ink);
    background:#efe7d4;border-radius:999px;padding:4px 10px;
  }
  .hostmotto{
    margin-top:7px;font-family:'Fraunces',Georgia,'Times New Roman',serif;
    font-style:italic;font-size:13.5px;color:var(--ink);
  }
  .hostavatar{position:relative;flex:0 0 46px}
  .avface{width:46px;height:46px;border-radius:50%;background-size:cover;background-position:center}
  .avface.ph1{background-image:linear-gradient(135deg,#8c8574,#3a362e)}
  .avface.ph2{background-image:linear-gradient(135deg,#6f7a72,#2c3330)}
  .avface.ph3{background-image:linear-gradient(135deg,#9c8a6e,#33291d)}
  .avface.ph4{background-image:linear-gradient(135deg,#a89a86,#4a3f33)}
  .flagpin{
    position:absolute;bottom:-3px;right:-3px;font-size:14px;line-height:1;
    background:var(--cream);border-radius:50%;padding:2px;
    box-shadow:0 1px 4px rgba(0,0,0,.35);
  }
  .hostinfo{flex:1;min-width:0}
  .hostname{font-weight:700;font-size:14.5px;display:flex;align-items:center;gap:7px;color:var(--ink)}
  .hoststats{font-size:10.5px;color:var(--ink-soft);margin-top:4px;font-weight:500}
  .trustpanel{background:linear-gradient(160deg,#fff9ef,var(--cream));border:1.5px solid #f0c9a8}
  .rankmain{display:flex;align-items:center;gap:16px}
  .rankblock{flex:1;min-width:0}
  .ranktitle{font-size:15px;font-weight:800;letter-spacing:1.2px;text-transform:uppercase;color:var(--ink)}
  .ranknext{font-size:10.5px;font-weight:700;color:var(--ink-soft);margin-top:8px}
  .ranknext b{color:var(--coral)}
  /* founder seal — dashed stamp, first 1000 members only */
  .founderseal{
    flex:0 0 76px;width:76px;height:76px;border-radius:50%;
    border:2px dashed var(--coral);display:flex;flex-direction:column;
    align-items:center;justify-content:center;color:var(--coral);
    text-align:center;transform:rotate(-7deg);
  }
  .fsmark{font-size:20px;line-height:1}
  .fslabel{font-size:8px;font-weight:800;letter-spacing:1.6px;text-transform:uppercase;margin-top:2px}
  .fsnum{font-family:'Fraunces',Georgia,'Times New Roman',serif;font-weight:700;font-size:12px;margin-top:1px}
  .trustgrid{flex:1;display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px 14px}
  .tgitem b{font-family:'Fraunces',Georgia,'Times New Roman',serif;font-weight:700;font-size:17px;display:block;color:var(--ink)}
  .tgitem span{font-size:9px;font-weight:700;letter-spacing:1.2px;text-transform:uppercase;color:var(--ink-soft)}
  .trustbar{height:6px;background:#e8dcc2;border-radius:999px;margin-top:9px;overflow:hidden}
  .trustfill{height:100%;width:60%;background:linear-gradient(90deg,#ffb03a,var(--coral));border-radius:999px}
  .sharestats{
    display:block;width:100%;margin-top:14px;padding:12px;border-radius:10px;
    background:none;border:1.5px solid var(--coral);color:var(--coral);
    font-family:'Inter',system-ui,-apple-system,sans-serif;font-size:11.5px;font-weight:700;letter-spacing:.5px;cursor:pointer;
  }
  /* Remembered summary line (own profile) */
  .remsummary{
    width:100%;margin-top:12px;display:flex;align-items:center;gap:10px;cursor:pointer;
    background:var(--cream);border:none;border-radius:13px;padding:14px 16px;
    box-shadow:0 16px 40px rgba(0,0,0,.45);
  }
  .remsummary:active{transform:scale(.99)}
  .remicon{font-size:16px;flex:0 0 auto}
  .remsummary .remtext{flex:1;text-align:left;font-size:12.5px;font-weight:600;color:var(--ink-soft)}
  .remsummary .remtext b{color:var(--ink);font-weight:800}
  .remarrow{color:var(--coral);font-weight:800;font-size:15px;flex:0 0 auto}
  /* Remembered screen list */
  .remrow{display:flex;align-items:center;gap:12px;padding:11px 0;border-bottom:1px solid var(--hair)}
  .remrow:last-child{border-bottom:none}
  .remrow b{
    flex:0 0 38px;width:38px;height:38px;border-radius:50%;background:var(--ink);color:var(--cream);
    display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;
  }
  .remname{font-weight:700;font-size:14px;color:var(--ink)}
  .remflag{font-size:13px;margin-left:2px}
  .remgo{margin-left:auto;color:var(--coral);font-weight:800;font-size:17px;cursor:pointer;text-decoration:none;padding:2px 6px}
  .remremove{background:none;border:none;cursor:pointer;font-size:11px;font-weight:600;color:var(--ink-soft);opacity:.65;padding:4px 2px}
  .remremove:active{color:var(--coral);opacity:1}
  .remempty{text-align:center;font-size:12.5px;font-weight:600;color:var(--ink-soft);padding:34px 0}
  .collecthint{margin-top:12px;font-size:11px;color:var(--ink-soft);font-weight:500}
  .collecthint b{color:var(--ink);font-family:'Fraunces',Georgia,'Times New Roman',serif;font-weight:700}
  .starrow{display:flex;justify-content:center;gap:8px;margin-top:10px;font-size:30px}
  .starrow span{color:#d8cfba;cursor:pointer;transition:color .15s}
  .starrow span.on{color:var(--coral)}
  .metrow{display:flex;gap:14px}
  .metperson{display:flex;flex-direction:column;align-items:center;gap:6px;font-size:11px;font-weight:700;color:var(--ink)}
  .metperson b{width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:15px}
  .metperson.add{color:var(--ink-soft)}
  .addcircle{width:44px;height:44px;border-radius:50%;border:1.5px dashed var(--hair);display:flex;align-items:center;justify-content:center;font-size:20px}
  .memoryrow{display:flex}
  .memoryadd{
    width:100%;aspect-ratio:2.2;border:1.5px dashed var(--hair);border-radius:12px;
    display:flex;align-items:center;justify-content:center;font-weight:700;font-size:12px;
    color:var(--ink-soft);cursor:pointer;
  }
  .count{margin-left:13px;font-size:10.5px;font-weight:500;color:var(--ink-soft);letter-spacing:.3px;opacity:.68}
  .stub-day{font-size:9px;font-weight:800;letter-spacing:1.7px;text-transform:uppercase;color:var(--ink-soft)}
  .stub-time{font-family:'Fraunces',Georgia,'Times New Roman',serif;font-weight:700;font-size:20px;letter-spacing:-.5px}
  .stub-join{
    margin-top:6px;border:none;cursor:pointer;font-family:'Inter',system-ui,-apple-system,sans-serif;
    background:var(--coral);color:#fff;font-size:9px;font-weight:700;
    letter-spacing:1.3px;text-transform:uppercase;padding:6px 12px;border-radius:999px;
    transition:transform .12s;
  }
  .stub-join:active{transform:scale(.93)}
  .stub-join.ok{background:var(--ink);color:var(--cream)}
  /* feed CTA: opens the plan detail (no direct join from the feed) */
  .stub-view{
    margin-top:8px;width:100%;border:none;cursor:pointer;
    font-family:'Inter',system-ui,-apple-system,sans-serif;
    background:var(--coral);color:#fff;font-size:8px;font-weight:800;
    letter-spacing:.6px;text-transform:uppercase;padding:7px 6px;border-radius:9px;
    line-height:1.2;transition:transform .12s;
  }
  .stub-view:active{transform:scale(.93)}

  .endnote{
    text-align:center;padding:18px 0 6px;font-family:'Fraunces',Georgia,'Times New Roman',serif;font-style:italic;
    font-size:13.5px;color:#7a7469;
  }
  .endnote b{color:var(--cream);font-weight:600}

  /* ── City sheet ── */
  .veil{
    position:fixed;inset:0;background:rgba(0,0,0,.6);backdrop-filter:blur(3px);
    z-index:20;display:none;
  }
  .veil.open{display:block}
  .sheetbox{
    position:fixed;bottom:0;left:50%;transform:translate(-50%,105%);
    width:100%;max-width:430px;z-index:21;
    background:var(--cream);color:var(--ink);
    border-radius:22px 22px 0 0;padding:22px 22px calc(26px + env(safe-area-inset-bottom,0px));
    transition:transform .28s cubic-bezier(.3,.9,.3,1);
  }
  .sheetbox.open{transform:translate(-50%,0)}
  .sheetbox h2{
    font-size:10px;font-weight:700;letter-spacing:2.5px;text-transform:uppercase;
    color:var(--ink-soft);margin-bottom:6px;
  }
  .cityline{
    display:flex;align-items:baseline;justify-content:space-between;
    padding:13px 0;border-bottom:1px solid var(--hair);cursor:pointer;
  }
  .cityline:last-child{border-bottom:none}
  .cityline .nm{font-family:'Fraunces',Georgia,'Times New Roman',serif;font-weight:600;font-size:20px;letter-spacing:-.2px}
  .cityline .ct{font-size:10px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:var(--ink-soft)}
  .cityline.sel .nm{color:var(--coral);font-style:italic}
  .cityline.soon{cursor:default}
  .cityline.soon .nm{color:var(--ink-soft)}
  .notifybtn{
    border:1.5px solid var(--ink);background:none;color:var(--ink);cursor:pointer;
    font-family:'Inter',system-ui,-apple-system,sans-serif;font-size:10px;font-weight:700;letter-spacing:1px;
    padding:7px 13px;border-radius:999px;
  }
  .notifybtn.done{border-color:var(--coral);color:var(--coral)}
  .cgroup{font-size:9px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--coral);margin:14px 0 2px}
  .eventdate{display:block;font-size:10.5px;font-weight:700;color:var(--coral);margin-top:3px;letter-spacing:.3px}

  /* ── Detail ── */
  .dhead{padding:calc(52px + env(safe-area-inset-top)) 20px 0}
  .dheadrow{display:flex;justify-content:space-between;align-items:center}
  .back{
    background:none;border:1px solid #3a372f;color:var(--cream);
    font-family:'Inter',system-ui,-apple-system,sans-serif;font-size:10.5px;font-weight:700;letter-spacing:2px;text-transform:uppercase;
    padding:8px 15px;border-radius:999px;cursor:pointer;
  }
  .dcat{margin-top:20px;font-size:10.5px;font-weight:700;letter-spacing:3px;text-transform:uppercase;color:var(--coral)}
  .dtitle{margin-top:8px;font-family:'Fraunces',Georgia,'Times New Roman',serif;font-weight:500;font-size:31px;line-height:1.08;letter-spacing:-.4px}
  .dtagline{margin-top:8px;font-family:'Fraunces',Georgia,'Times New Roman',serif;font-style:italic;font-size:14.5px;color:#c9bda3;line-height:1.4}
  .dmeta{margin-top:11px;font-size:12.5px;color:#a39c8d;font-weight:500;line-height:1.65}
  .venuerow{display:flex;flex-direction:column;gap:7px;margin-top:10px}
  .venuelink{
    display:flex;align-items:center;gap:7px;text-decoration:none;
    color:var(--coral);font-size:12px;font-weight:700;
  }
  .venuelink svg{width:15px;height:15px;stroke:var(--coral);stroke-width:1.8;fill:none;stroke-linecap:round;stroke-linejoin:round;flex:0 0 auto}
  .dmeta b{color:var(--cream)}
  .dmeta a{color:#a39c8d}
  .dbody{padding:18px 20px}
  .sheet{
    background:var(--cream);color:var(--ink);border-radius:13px;
    padding:16px;margin-bottom:12px;box-shadow:0 16px 40px rgba(0,0,0,.45);
  }
  .sheet h3{
    font-size:9.5px;font-weight:700;letter-spacing:2.2px;text-transform:uppercase;
    color:var(--ink-soft);margin-bottom:11px;
  }
  .row{display:flex;align-items:center;gap:10px;padding:9px 0;border-bottom:1px solid var(--hair)}
  .row:last-of-type{border-bottom:none}
  .row b{
    flex:0 0 32px;width:32px;height:32px;border-radius:50%;background:var(--ink);color:var(--cream);
    display:flex;align-items:center;justify-content:center;font-size:11.5px;font-weight:700;
  }
  .rn{font-weight:600;font-size:13.5px}
  .rf{font-size:11px;color:var(--ink-soft);margin-top:1px}
  .vb{margin-left:auto;font-size:8.5px;font-weight:700;letter-spacing:1.3px;border:1px solid var(--ink);padding:3.5px 7px;border-radius:999px}
  .lobbystats{
    font-size:11px;font-weight:600;color:var(--ink-soft);margin-bottom:12px;
    display:flex;align-items:center;gap:6px;flex-wrap:wrap;
  }
  /* 2-hour check-in prompt */
  #confirmSheet{display:none}
  #detail.checkin #confirmSheet{display:block}
  #detail.hostmode #confirmSheet{display:none}
  .confirmsheet{border:1.5px solid var(--coral);background:linear-gradient(0deg,rgba(255,84,54,.07),rgba(255,84,54,.07)),var(--cream)}
  .confirmq{
    font-family:'Fraunces',Georgia,'Times New Roman',serif;font-weight:600;
    font-size:17px;letter-spacing:-.2px;color:var(--ink);
  }
  .confirmsub{margin-top:4px;font-size:11.5px;font-weight:500;color:var(--ink-soft)}
  .confirmbtns{display:flex;gap:8px;margin-top:12px}
  .cbtn{
    flex:1;padding:11px 0;border-radius:11px;cursor:pointer;
    font-family:'Inter',system-ui,-apple-system,sans-serif;
    font-size:12px;font-weight:700;letter-spacing:.3px;
  }
  .cbtn.yes{border:none;background:var(--coral);color:#fff}
  .cbtn.no{border:1.5px solid var(--hair);background:none;color:var(--ink-soft)}
  .cbtn:active{transform:scale(.97)}
  .confirmdone{
    text-align:center;font-size:12.5px;font-weight:700;color:#3f7a58;
    padding:4px 0;
  }
  /* lobby confirmation state — confirmed reads green/normal, no-reply reads grey */
  .cfmsummary{
    font-size:11px;font-weight:600;color:var(--ink-soft);margin-bottom:10px;
    padding-bottom:10px;border-bottom:1px dashed var(--hair);
  }
  .cfmsummary b{color:#3f7a58}
  .cfmsummary span{opacity:.8}
  .cfm{
    display:inline-block;margin-top:4px;font-size:9px;font-weight:800;
    letter-spacing:.7px;text-transform:uppercase;padding:2.5px 8px;border-radius:999px;
    background:var(--hair);color:var(--ink-soft);
  }
  .cfm.yes{background:rgba(63,122,88,.15);color:#3f7a58}
  .row.pending{opacity:.5}
  .flagcluster{font-size:13px;letter-spacing:1px}
  .lsep{opacity:.5}
  .badgerow{display:flex;gap:5px;margin-top:3px;flex-wrap:wrap}
  /* Chat notify toggle (Madde 3) */
  .chatnotify{
    display:flex;align-items:center;gap:12px;margin-top:12px;padding-top:12px;
    border-top:1px dashed #b9ae95;
  }
  .chatnotify .cntx{flex:1;font-size:12px;font-weight:600;color:var(--ink);line-height:1.5}
  .chatnotify .cntx span{display:block;font-size:10.5px;font-weight:600;color:var(--ink-soft);margin-top:2px}
  /* Event ended state (Madde 1) */
  .chatended{
    display:none;text-align:center;font-size:11.5px;font-weight:700;color:var(--ink-soft);
    background:var(--hair);border-radius:10px;padding:10px;margin-top:10px;
  }
  #detail.ended .chatended{display:block}
  #detail.ended .composer,#detail.ended .reactbar,#detail.ended .quickreplies,#detail.ended .chatnotify{display:none}
  .hostphotobtn{
    display:none;width:100%;margin-top:12px;padding:12px;border-radius:11px;
    border:1.5px solid var(--coral);background:none;cursor:pointer;
    font-family:'Inter',sans-serif;font-size:12px;font-weight:700;color:var(--coral);
  }
  #detail.ended.hostmode .hostphotobtn{display:block}
  /* Photo picker sheet (Madde 1) */
  .photosheet{
    position:fixed;bottom:0;left:50%;transform:translate(-50%,105%);
    width:100%;max-width:430px;z-index:24;background:var(--cream);color:var(--ink);
    border-radius:22px 22px 0 0;padding:22px 20px calc(24px + env(safe-area-inset-bottom,0px));
    transition:transform .3s cubic-bezier(.3,.9,.3,1);max-height:80vh;overflow-y:auto;
  }
  .photosheet.open{transform:translate(-50%,0)}
  .photosheet h3{font-family:'Fraunces',Georgia,serif;font-weight:600;font-size:19px;margin-bottom:4px}
  .photosheet .psub{font-size:12px;color:var(--ink-soft);line-height:1.5;margin-bottom:14px}
  .photogrid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:6px}
  .photopick{
    aspect-ratio:1;border-radius:10px;cursor:pointer;position:relative;
    background-size:cover;background-position:center;border:2.5px solid transparent;
  }
  .photopick.sel{border-color:var(--coral)}
  .photopick.sel::after{
    content:"✓";position:absolute;top:4px;right:5px;width:18px;height:18px;
    background:var(--coral);color:#fff;border-radius:50%;font-size:11px;font-weight:800;
    display:flex;align-items:center;justify-content:center;
  }
  .photoupload{
    aspect-ratio:1;border-radius:10px;border:1.5px dashed var(--hair);cursor:pointer;
    display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;
    font-size:11px;font-weight:700;color:var(--ink-soft);
  }
  .photocount{font-size:11px;font-weight:700;color:var(--ink-soft);text-align:center;margin:8px 0 12px}
  /* Leave sheet (Madde 2) */
  .leavesheet{
    position:fixed;bottom:0;left:50%;transform:translate(-50%,105%);
    width:100%;max-width:430px;z-index:24;background:var(--cream);color:var(--ink);
    border-radius:22px 22px 0 0;padding:24px 22px calc(26px + env(safe-area-inset-bottom,0px));
    transition:transform .3s cubic-bezier(.3,.9,.3,1);
  }
  .leavesheet.open{transform:translate(-50%,0)}
  .leavesheet h3{font-family:'Fraunces',Georgia,serif;font-weight:600;font-size:20px;margin-bottom:8px}
  .leavesheet p{font-size:12.5px;line-height:1.55;color:var(--ink-soft);margin-bottom:14px}
  .reasonchips{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:14px}
  .reasonchip{
    border:1.5px solid var(--hair);border-radius:999px;padding:8px 13px;cursor:pointer;
    font-family:'Inter',sans-serif;font-size:11.5px;font-weight:600;color:var(--ink-soft);
  }
  .reasonchip.sel{border-color:var(--coral);background:var(--coral);color:#fff}
  .leaveconfirm{
    width:100%;padding:14px;border-radius:12px;border:none;cursor:pointer;
    background:#c8402d;color:#fff;font-family:'Inter',sans-serif;font-size:14px;font-weight:700;
  }
  .leavestay{
    width:100%;margin-top:8px;padding:12px;border:none;background:none;cursor:pointer;
    font-family:'Inter',sans-serif;font-size:13px;font-weight:700;color:var(--ink-soft);
  }
  .quickreplies{display:none;gap:6px;flex-wrap:wrap;margin-top:14px}
  .quickreplies.show{display:flex}
  .qr{
    border:1px solid var(--hair);background:none;color:var(--ink-soft);cursor:pointer;
    font-family:'Inter',system-ui,-apple-system,sans-serif;font-size:11px;font-weight:600;padding:7px 12px;border-radius:999px;
  }
  .qr:active{background:#efe7d4;color:var(--ink)}
  .reactbar{display:flex;gap:8px;margin-top:12px}
  .reactbar button{
    width:36px;height:36px;border-radius:50%;border:1px solid var(--hair);
    background:none;font-size:16px;cursor:pointer;
  }
  .reactbar button:active{background:#efe7d4;transform:scale(1.1)}
  .igl{margin-left:8px;font-size:10.5px;font-weight:700;color:var(--coral);text-decoration:none}
  body.ighidden .igl{display:none}
  .remember{
    margin-left:10px;border:none;background:none;cursor:pointer;padding:2px;
    display:flex;align-items:center;justify-content:center;
  }
  .remember svg{width:16px;height:16px;stroke:var(--ink-soft);stroke-width:1.6;fill:none;stroke-linecap:round;stroke-linejoin:round}
  .remember.on svg{stroke:var(--coral);fill:var(--coral)}
  /* host card: one-tap remember bookmark */
  .hostbookmark{margin-left:auto;border:none;background:none;cursor:pointer;padding:2px;display:flex;align-items:center;flex:0 0 auto}
  .hostbookmark svg{width:17px;height:17px;stroke:var(--ink-soft);stroke-width:1.6;fill:none;stroke-linecap:round;stroke-linejoin:round;transition:transform .12s}
  .hostbookmark.on svg{stroke:var(--coral);fill:var(--coral)}
  .hostbookmark:active svg{transform:scale(.85)}
  /* host stat box — same visual language as the profile Trust card */
  .hostboxtop{display:flex;align-items:center;gap:8px}
  .hbname{font-size:15px;font-weight:700;color:var(--ink)}
  .hoststatgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:16px}
  .hstatlabel{
    display:block;font-size:8.5px;font-weight:700;letter-spacing:1px;text-transform:uppercase;
    color:var(--ink-soft);line-height:1.3;
  }
  .hstatnum{
    display:block;margin-top:10px;font-family:'Fraunces',Georgia,'Times New Roman',serif;
    font-weight:700;font-size:18px;color:var(--ink);line-height:1;white-space:nowrap;
  }
  .hstatnum.sm{font-size:13px}
  .sysmsg{
    font-size:11px;font-weight:600;color:var(--ink-soft);text-align:center;
    padding:6px 10px;margin-bottom:6px;background:var(--hair);border-radius:8px;
  }
  /* Zavie system bot — centered, faded, avatarless, non-repliable */
  .botmsg{
    display:table;margin:9px auto;padding:5px 13px;
    font-size:10.5px;font-weight:700;letter-spacing:.2px;
    color:var(--ink-soft);background:rgba(23,21,18,.05);
    border:1px dashed var(--hair);border-radius:999px;opacity:.9;
  }
  .botmsg::before{content:"🤖 ";opacity:.8}
  .composer{
    display:flex;align-items:center;gap:8px;margin-top:12px;padding-top:12px;border-top:1px dashed #b9ae95;
  }
  .composer input[type=text]{
    flex:1;border:1.5px solid var(--hair);border-radius:999px;padding:9px 14px;
    font-family:'Inter',system-ui,-apple-system,sans-serif;font-size:12.5px;background:none;color:var(--ink);outline:none;
  }
  .composer input:read-only{color:#b0a890;cursor:pointer}
  .composer input:focus{border-color:var(--coral)}
  .camerabtn{flex:0 0 34px;width:34px;height:34px;border:none;background:none;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0}
  .camerabtn svg{width:21px;height:21px;stroke:var(--ink-soft);stroke-width:1.7;fill:none;stroke-linecap:round;stroke-linejoin:round}
  .camerabtn:active{transform:scale(.9)}
  .sendbtn{
    flex:0 0 38px;height:38px;border-radius:50%;border:none;cursor:pointer;
    background:var(--coral);display:flex;align-items:center;justify-content:center;
  }
  .sendbtn:disabled{background:var(--hair);cursor:not-allowed}
  .sendbtn svg{width:16px;height:16px;stroke:#fff;stroke-width:2;fill:none;stroke-linecap:round;stroke-linejoin:round}
  .chat .m{
    font-size:12.5px;line-height:1.55;padding:6px 0;
    display:flex;align-items:flex-start;justify-content:space-between;gap:8px;
  }
  .chat .m.hostwelcome{
    background:rgba(255,84,54,.07);border-left:2px solid var(--coral);
    padding:8px 10px;border-radius:0 8px 8px 0;margin-bottom:4px;
    animation:fade .4s ease;
  }
  .chat .m b{font-weight:700}
  .reportbtn{
    flex:0 0 auto;border:none;background:none;cursor:pointer;padding:2px;
    opacity:.35;transition:opacity .15s;
  }
  .reportbtn:active{opacity:1}
  .reportbtn svg{width:13px;height:13px;stroke:var(--ink-soft);stroke-width:1.8;fill:none;stroke-linecap:round;stroke-linejoin:round}
  /* per-message ⚑ report (real reports pipeline) */
  .msgreport{
    flex:0 0 auto;border:none;background:none;cursor:pointer;padding:0 2px;
    font-size:12px;line-height:1;opacity:.4;transition:opacity .15s;color:var(--ink-soft);
  }
  .msgreport:hover,.msgreport:active{opacity:1}
  .msgreport.done{opacity:1;color:var(--coral);cursor:default}
  /* sticky join bar — always reachable while scrolling the plan */
  .joinbarwrap{
    position:sticky;bottom:calc(70px + env(safe-area-inset-bottom,0px));z-index:6;
    margin-top:12px;padding-top:18px;
    background:linear-gradient(rgba(10,9,8,0), rgba(10,9,8,.94) 58%);
  }
  #detail.hostmode .joinbarwrap{position:static;background:none;padding-top:0}
  .joinbar{
    width:100%;border:none;cursor:pointer;font-family:'Inter',system-ui,-apple-system,sans-serif;
    background:linear-gradient(180deg,#ff6b50 0%,var(--coral) 55%,#e8492e 100%);
    color:#fff;font-size:11.5px;font-weight:700;
    letter-spacing:2.2px;text-transform:uppercase;padding:16px;border-radius:12px;
    box-shadow:
      0 14px 34px rgba(255,84,54,.32),
      inset 0 1px 0 rgba(255,255,255,.35),
      inset 0 -10px 16px rgba(0,0,0,.12),
      inset 0 0 22px rgba(255,176,140,.25);
    transition:transform .12s ease, box-shadow .12s ease;
    position:relative;overflow:hidden;
  }
  .joinbar::after{
    content:"";position:absolute;top:0;left:-60%;width:40%;height:100%;
    background:linear-gradient(115deg,transparent,rgba(255,255,255,.4),transparent);
    animation:shimmer 3.2s ease-in-out infinite;
  }
  @keyframes shimmer{0%{left:-60%}55%{left:120%}100%{left:120%}}
  .joinbar:active{transform:scale(.98)}
  .joinbar.joined{background:var(--ink);box-shadow:inset 0 1px 0 rgba(255,255,255,.08)}
  .joinbar.joined::after{display:none}
  .joinbar.pulse,.postbtn.pulse{animation:joinpulse .55s ease}
  @keyframes joinpulse{0%{transform:scale(1)}35%{transform:scale(1.045)}100%{transform:scale(1)}}
  .joinbar .jb1{display:block;font-size:12px;letter-spacing:2px}
  .joinbar .jb2{display:block;font-size:10px;letter-spacing:1px;text-transform:none;font-weight:600;opacity:.75;margin-top:4px}
  .plusone{
    position:absolute;right:16px;top:-4px;font-family:'Fraunces',Georgia,'Times New Roman',serif;font-weight:700;
    color:var(--coral);font-size:14px;pointer-events:none;opacity:0;
    animation:floatup 1.1s ease forwards;
  }
  @keyframes floatup{0%{opacity:0;transform:translateY(6px)}25%{opacity:1}100%{opacity:0;transform:translateY(-22px)}}
  .seewho{
    display:block;text-align:center;margin-top:12px;font-family:'Fraunces',Georgia,'Times New Roman',serif;font-style:italic;
    font-size:13px;color:var(--cream);text-decoration:none;border-bottom:1px solid transparent;
  }
  .bizbanner{
    display:flex;align-items:center;gap:9px;margin-top:8px;
    background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.09);
    border-radius:10px;padding:7px 10px;
  }
  .bizbanner .bmini{
    width:26px;height:26px;border-radius:8px;flex:0 0 26px;
    background:linear-gradient(135deg,#5f8a72,#1e3a2c);
    display:flex;align-items:center;justify-content:center;
    font-family:'Fraunces',Georgia,serif;font-weight:700;font-size:11px;color:var(--cream);
  }
  .bizbanner .bname{
    font-family:'Fraunces',Georgia,serif;font-weight:600;font-size:15px;
    letter-spacing:-.2px;color:var(--cream);
  }
  .bizbanner .bizbadge{margin-left:auto}
  .proggrid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-top:10px}
  .progph{aspect-ratio:1;border-radius:9px;background-size:cover;background-position:center;position:relative;cursor:pointer}
  .progph .px{
    position:absolute;top:4px;right:4px;width:18px;height:18px;border-radius:50%;
    background:rgba(13,12,11,.75);color:#fff;font-size:11px;line-height:18px;text-align:center;
  }
  .progadd{
    aspect-ratio:1;border-radius:9px;border:1.5px dashed var(--hair);cursor:pointer;
    display:flex;align-items:center;justify-content:center;font-size:20px;color:var(--ink-soft);background:none;
  }
  .timepair{display:flex;gap:10px;align-items:center}
  .timepair .timein{margin-top:0;width:96px}
  .timepair .tsep{font-size:13px;font-weight:700;color:var(--ink-soft)}
  .bizhead{display:flex;align-items:center;gap:12px}
  .bizlogo{
    width:52px;height:52px;border-radius:14px;flex:0 0 52px;
    background:linear-gradient(135deg,#5f8a72,#1e3a2c);
    display:flex;align-items:center;justify-content:center;
    font-family:'Fraunces',Georgia,serif;font-weight:700;font-size:20px;color:var(--cream);
  }
  .recrow{display:flex;align-items:center;gap:11px;padding:11px 0;border-bottom:1px solid var(--hair)}
  .recrow:last-of-type{border-bottom:none}
  .recday{
    flex:0 0 auto;font-size:9px;font-weight:800;letter-spacing:1px;color:var(--coral);
    border:1px solid var(--coral);border-radius:8px;padding:5px 8px;text-align:center;line-height:1.4;
  }
  .recinfo{flex:1;min-width:0}
  .recname{font-weight:700;font-size:13px;color:var(--ink)}
  .recmeta{font-size:11px;color:var(--ink-soft);margin-top:1px;font-weight:500}
  .addrec{
    display:block;width:100%;margin-top:12px;padding:11px;border-radius:10px;
    border:1.5px dashed var(--hair);background:none;color:var(--ink-soft);cursor:pointer;
    font-family:'Inter',system-ui,-apple-system,sans-serif;font-size:11.5px;font-weight:700;
  }
  .statgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
  .statgrid .tgitem{text-align:center}
  .coveredit{
    height:92px;border-radius:12px;margin-bottom:12px;position:relative;overflow:hidden;
    background:
      radial-gradient(60% 80% at 20% 100%, rgba(95,138,114,.65), transparent 60%),
      radial-gradient(50% 70% at 85% 20%, rgba(255,176,58,.35), transparent 65%),
      linear-gradient(160deg,#1b2a20,#0d0c0b);
  }
  .coveredit .pedit{position:absolute;bottom:8px;right:8px;border-color:transparent}
  .bizbadge{
    font-size:8.5px;font-weight:800;letter-spacing:1.2px;color:#fff;background:var(--ink);
    border-radius:999px;padding:2.5px 8px;
  }
  #detail.paidmode .hostcardsheet,#detail.paidmode #aboutsheet{display:none}
  #paidsheet,#bizhostsheet{display:none}
  #detail.paidmode #paidsheet,#detail.paidmode #bizhostsheet,#detail.paidmode #progsheet,#detail.paidmode #asksheet{display:block!important}
  #detail.paidmode .leavelink{display:none}
  .hostbanner{
    display:none;margin-top:12px;background:rgba(255,84,54,.1);border:1px solid rgba(255,84,54,.3);
    border-radius:12px;padding:10px 14px;font-size:12px;font-weight:700;color:var(--cream);
  }
  #detail.hostmode .hostbanner{display:block}
  #detail.hostmode #joinbar,#detail.hostmode .seewho,#detail.hostmode .hostcardsheet,
  #detail.hostmode .venuerow,#detail.hostmode #vibesheet{display:none}
  .hostbar{display:none;gap:10px}
  #detail.hostmode .hostbar{display:flex}
  .hostedit{
    flex:1;border:none;cursor:pointer;font-family:'Inter',system-ui,-apple-system,sans-serif;
    background:linear-gradient(180deg,#ff6b50 0%,var(--coral) 55%,#e8492e 100%);color:#fff;
    font-size:11px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;
    padding:15px;border-radius:12px;box-shadow:0 10px 26px rgba(255,84,54,.3);
  }
  .hostcancel{
    flex:1;border:1.5px solid #3a372f;background:none;cursor:pointer;
    font-family:'Inter',system-ui,-apple-system,sans-serif;color:#c9c2b4;
    font-size:11px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;
    padding:15px;border-radius:12px;
  }
  .kickbtn{
    display:none;flex:0 0 26px;width:26px;height:26px;border-radius:50%;
    border:1px solid var(--hair);background:none;color:var(--ink-soft);
    font-size:15px;line-height:1;cursor:pointer;align-items:center;justify-content:center;
    margin-left:6px;
  }
  #detail.hostmode .kickbtn{display:flex}
  .hostingtag{
    font-size:8.5px;font-weight:800;letter-spacing:1px;color:var(--coral);
    border:1px solid var(--coral);border-radius:999px;padding:2px 7px;margin-left:6px;
    vertical-align:middle;
  }
  .myplansbtn{
    position:relative;background:none;border:1px solid #2a2621;border-radius:999px;
    color:var(--cream);font-family:'Inter',system-ui,-apple-system,sans-serif;
    font-size:10px;font-weight:700;letter-spacing:1px;text-transform:uppercase;
    padding:7px 12px;cursor:pointer;
  }
  .mpdot{position:absolute;top:-2px;right:-2px;width:7px;height:7px;border-radius:50%;background:var(--coral)}
  .demorow{display:flex;gap:6px;margin-top:10px;flex-wrap:wrap;justify-content:center}
  .demobtn{
    border:1px dashed #3a372f;background:none;cursor:pointer;border-radius:8px;padding:6px 10px;
    font-family:'Inter',sans-serif;font-size:9.5px;font-weight:700;letter-spacing:.3px;color:#6f695d;
  }
  #detail.hostmode .demorow,#detail.paidmode .demorow{display:flex}
  .leavelink{
    display:none;text-align:center;margin-top:12px;font-size:11px;font-weight:700;
    color:#8a8477;text-decoration:underline;cursor:pointer;
  }
  .leavelink.show{display:block}
  #detail.hostmode .leavelink{display:none}
  .safetyrow{margin-top:14px;text-align:center}
  .safetylink{
    background:none;border:none;color:#6f695d;font-size:11px;font-weight:700;
    text-decoration:underline;cursor:pointer;font-family:'Inter',system-ui,-apple-system,sans-serif;
  }
  .reportbox{display:none;margin-top:10px;background:var(--cream);color:var(--ink);border-radius:13px;padding:14px;text-align:left}
  .reportbox.open{display:block;animation:fade .25s ease}
  .rbhead{font-size:9.5px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--ink-soft);margin-bottom:8px}
  .rbreason{
    display:block;width:100%;text-align:left;padding:9px 11px;margin-bottom:6px;
    border:1px solid var(--hair);border-radius:9px;background:none;cursor:pointer;
    font-family:'Inter',system-ui,-apple-system,sans-serif;font-size:12.5px;font-weight:600;color:var(--ink);
  }
  .rbblock{
    display:block;width:100%;text-align:center;padding:10px;margin-top:8px;
    border:1.5px solid var(--coral);border-radius:9px;background:none;cursor:pointer;
    font-family:'Inter',system-ui,-apple-system,sans-serif;font-size:12px;font-weight:700;color:var(--coral);
  }
  .rbnote{font-size:10.5px;color:var(--ink-soft);margin-top:9px;line-height:1.5}
  .reqrow{display:flex;gap:9px;align-items:center;font-size:12.5px;font-weight:600;color:var(--ink);padding:6px 0}
  .reqrow b{color:var(--coral)}
  .ambta{
    width:100%;min-height:110px;border:1.5px solid var(--hair);border-radius:11px;padding:11px;
    font-family:'Inter',system-ui,-apple-system,sans-serif;font-size:13px;background:none;color:var(--ink);
    outline:none;resize:vertical;line-height:1.5;
  }
  .ambta:focus{border-color:var(--coral)}
  .ambprogwrap{margin-top:14px}
  .ambprogtxt{margin-top:8px;font-size:12px;font-weight:700;color:var(--ink)}
  .ambgatehint{margin-top:3px;font-size:11px;font-weight:600;color:var(--ink-soft)}
  .ambreject{
    margin-top:16px;padding:13px 14px;border-radius:11px;
    border:1px solid var(--coral);background:rgba(255,84,54,.06);
  }
  .ambrejecttitle{font-size:12.5px;font-weight:800;letter-spacing:.3px;color:var(--coral)}
  .ambrejectsub{margin-top:2px;font-size:12px;font-weight:600;color:var(--ink)}
  .ambreject .ambprogtxt{margin-top:8px;color:var(--ink-soft);font-weight:600}

  /* ── Admin console (staff only) ── */
  .adminpill{
    margin-left:auto;font-size:8.5px;font-weight:800;letter-spacing:1.6px;
    border:1px solid var(--coral);color:var(--coral);border-radius:999px;padding:3px 9px;
  }
  .adminnote{
    font-size:11.5px;font-weight:600;color:var(--ink-soft);line-height:1.55;
    margin-bottom:14px;
  }
  /* applicant review card */
  .apphead{display:flex;align-items:flex-start;gap:10px;padding-bottom:12px;border-bottom:1px dashed var(--hair)}
  .appname{font-family:'Fraunces',Georgia,'Times New Roman',serif;font-weight:600;font-size:17px;letter-spacing:-.2px}
  .appcity{font-size:11px;font-weight:600;color:var(--ink-soft);margin-top:2px}
  .appplans{margin-left:auto;text-align:right}
  .appplans b{font-family:'Fraunces',Georgia,serif;font-weight:700;font-size:20px;display:block;line-height:1}
  .appplans span{font-size:9px;font-weight:700;letter-spacing:1.2px;text-transform:uppercase;color:var(--ink-soft)}
  .metrics{display:grid;grid-template-columns:1fr 1fr;gap:10px 12px;margin:13px 0}
  .metric b{font-family:'Fraunces',Georgia,serif;font-weight:700;font-size:17px;display:block;line-height:1.1}
  .metric span{font-size:9.5px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;color:var(--ink-soft)}
  .metric.good b{color:#3f7a58}
  .metric.bad b{color:var(--coral)}
  .appflag{font-size:11.5px;font-weight:600;line-height:1.5;border-radius:9px;padding:9px 11px}
  .appflag.ok{background:rgba(63,122,88,.12);color:#356b4c}
  .appflag.warn{background:rgba(255,84,54,.1);color:#b23a25}
  .appactions{display:flex;gap:9px;margin-top:13px}
  .appbtn{
    flex:1;padding:11px 0;border-radius:10px;cursor:pointer;
    font-family:'Inter',system-ui,-apple-system,sans-serif;
    font-size:11px;font-weight:800;letter-spacing:1px;text-transform:uppercase;
  }
  .appbtn.approve{border:none;background:#3f7a58;color:#fff}
  .appbtn.reject{border:1.5px solid var(--coral);background:none;color:var(--coral)}
  .appbtn:active{transform:scale(.97)}
  .appverdict{flex:1;text-align:center;font-size:12px;font-weight:700;padding:2px 0}
  .appverdict.approve{color:#3f7a58}
  .appverdict.reject{color:var(--coral)}
  .appcard.reviewed{opacity:.62}
  /* report inbox card */
  .reportcard{cursor:pointer}
  .reporttop{display:flex;align-items:center;gap:8px}
  .reportwho{font-size:13.5px;font-weight:600}
  .reportwho b{font-weight:700}
  .reportwhen{margin-left:auto;font-size:11px;font-weight:600;color:var(--ink-soft)}
  .reportmeta{margin-top:3px;font-size:11.5px;font-weight:600;color:var(--ink-soft)}
  .reportbody{display:none;margin-top:12px;padding-top:12px;border-top:1px dashed var(--hair)}
  .reportcard.open .reportbody{display:block}
  .reportquote{
    font-family:'Fraunces',Georgia,'Times New Roman',serif;font-style:italic;
    font-size:13.5px;line-height:1.5;color:var(--ink);
    border-left:2px solid var(--coral);padding-left:11px;
  }
  .reporthist{
    margin-top:6px;font-size:10.5px;font-weight:800;letter-spacing:.3px;
    color:#3f7a58;text-transform:uppercase;
  }
  .reporthist.bad{color:var(--coral)}
  .reporthist.neutral{color:var(--ink-soft)}
  /* legal links in Settings */
  .legalrow{ text-align:center; margin-top:22px; font-size:12px; font-weight:600; }
  .legalrow a{ color:var(--ink-soft); text-decoration:none; }
  .legalrow a:active{ color:var(--coral); }
  .legalrow span{ color:var(--ink-soft); opacity:.5; margin:0 6px; }
  .legalco{ text-align:center; margin-top:6px; font-size:10.5px; color:var(--ink-soft); opacity:.7; }
  /* suspended/banned banner (client-side gate; RLS is the real enforcement) */
  .banbanner{
    position:fixed;left:0;right:0;top:0;z-index:60;
    background:var(--coral);color:#fff;text-align:center;
    padding:9px 14px;font-size:11.5px;font-weight:700;line-height:1.4;
    box-shadow:0 2px 10px rgba(0,0,0,.25);
  }
  .banbanner span{display:block;font-weight:500;opacity:.9;font-size:10.5px}
  body.banned .joinbar,body.banned #composer,body.banned .postbtn{opacity:.5}
  /* real moderator control bar on the detail screen */
  .modplanbar{
    display:flex;align-items:center;gap:8px;flex-wrap:wrap;
    margin:0 0 14px;padding:11px 13px;border-radius:13px;
    background:rgba(255,84,54,.08);border:1px solid rgba(255,84,54,.35);
  }
  .mpblabel{font-size:10px;font-weight:800;letter-spacing:1px;text-transform:uppercase;color:var(--coral);margin-right:auto}
  .mpbtn{
    padding:7px 14px;border-radius:9px;cursor:pointer;border:1.5px solid var(--ink);background:none;color:var(--ink);
    font-family:'Inter',system-ui,-apple-system,sans-serif;font-size:11px;font-weight:800;letter-spacing:.3px;
  }
  .mpbtn.restore{border:none;background:#3f7a58;color:#fff}
  .mpbtn:active{transform:scale(.96)}
  .reportlink{
    display:inline-block;margin-top:9px;border:none;background:none;cursor:pointer;padding:0;
    font-family:'Inter',system-ui,-apple-system,sans-serif;
    font-size:11.5px;font-weight:700;color:var(--coral);letter-spacing:.2px;
  }
  .reportlink:active{opacity:.6}
  /* flagged message highlight when a mod jumps into the chat */
  .chat .m.flaggedmsg{
    background:rgba(255,84,54,.12);border-left:2px solid var(--coral);
    padding:8px 10px;border-radius:0 8px 8px 0;animation:fade .4s ease;
  }
  .reportactions{display:flex;gap:5px;margin-top:13px;flex-wrap:nowrap}
  .ractbtn{
    flex:1 1 0;min-width:0;padding:9px 2px;border-radius:8px;cursor:pointer;white-space:nowrap;
    font-family:'Inter',system-ui,-apple-system,sans-serif;
    font-size:10px;font-weight:800;letter-spacing:.2px;text-transform:uppercase;
  }
  .ractbtn:not(.warn):not(.susp):not(.ban){border:1.5px solid var(--hair);background:none;color:var(--ink-soft)}
  .ractbtn.warn{border:1.5px solid var(--ink);background:none;color:var(--ink)}
  .ractbtn.susp{border:none;background:#bd6a44;color:#fff}
  .ractbtn.ban{border:none;background:var(--coral);color:#fff}
  .ractbtn:active{transform:scale(.96)}
  .reportverdict{font-size:12px;font-weight:700;color:var(--ink-soft);text-align:center;padding:2px 0}
  .reportcard.handled{opacity:.62}

  /* ── Moderation (Manager / Admin) ── */
  /* role-gated visibility (body carries .role-user/.role-manager/.role-admin) */
  body:not(.role-admin) .adminonly{display:none!important}
  body:not(.role-admin) .ractbtn.ban{display:none}
  /* action icon above the trust card */
  .modbar{display:flex;justify-content:flex-end;margin-bottom:10px}
  .modicon{
    width:38px;height:38px;border-radius:11px;cursor:pointer;
    display:flex;align-items:center;justify-content:center;font-size:16px;
    background:var(--cream);
  }
  .modicon.edit{border:1.5px solid var(--hair);color:var(--ink)}
  .modicon.edit:active{transform:scale(.94)}
  /* shield: clearly different — bordered, muted red/grey, harder to hit by accident */
  .modicon.shield{
    width:auto;padding:0 14px;gap:7px;border:1.5px solid #b23a25;
    background:rgba(178,58,37,.08);color:#b23a25;font-size:14px;font-weight:800;
    letter-spacing:1px;text-transform:uppercase;
  }
  .modicon.shield::after{content:"Moderate";font-size:9.5px}
  .modicon.shield:active{transform:scale(.97)}
  /* HIDDEN badge (moderator view of a hidden plan) */
  .hiddenbadge{
    display:none;font-size:10px;font-weight:800;letter-spacing:1.2px;text-transform:uppercase;
    color:#b23a25;background:rgba(178,58,37,.1);border:1px dashed #b23a25;
    border-radius:9px;padding:8px 11px;margin-bottom:12px;
  }
  /* removed notices (host / participant view) */
  .removednotice{
    display:none;background:var(--cream);color:var(--ink);border-radius:13px;
    border:1.5px solid var(--coral);padding:18px;margin-bottom:12px;text-align:center;
    box-shadow:0 16px 40px rgba(0,0,0,.45);
  }
  .rnttl{font-family:'Fraunces',Georgia,'Times New Roman',serif;font-weight:600;font-size:19px;color:var(--coral)}
  .rntx{margin-top:8px;font-size:12.5px;font-weight:600;line-height:1.6;color:var(--ink)}
  .rntx a{color:var(--coral);font-weight:700}
  /* blackout: host & participants can't see a hidden plan's content */
  #detail.blackout .dbody > :not(.removednotice){display:none!important}
  /* frozen join bar */
  .joinbar.frozen{background:#8a8477;cursor:default;box-shadow:none}
  /* frozen plan: locked notice + host can't edit */
  .frozennotice{
    font-size:11px;font-weight:700;letter-spacing:.2px;line-height:1.5;
    color:#4f6b7a;background:rgba(79,107,122,.1);border:1px dashed #4f6b7a;
    border-radius:9px;padding:8px 11px;margin-bottom:12px;
  }
  #detail.frozen .hostedit{display:none}
  /* feed card / map pin when hidden but visible to moderators */
  .hiddenflag{
    display:none;position:absolute;top:10px;right:10px;z-index:3;
    font-size:9px;font-weight:800;letter-spacing:1.2px;text-transform:uppercase;
    color:#fff;background:#b23a25;border-radius:999px;padding:3px 9px;
  }
  .ticket.modhidden{outline:2px dashed #b23a25;outline-offset:-2px}
  .ticket.modhidden .hiddenflag{display:block}
  .pin.modhidden{filter:grayscale(.4);outline:2px dashed #b23a25;border-radius:50%}

  /* moderate bottom sheet */
  .modplantitle{
    font-family:'Fraunces',Georgia,'Times New Roman',serif;font-weight:600;
    font-size:19px;letter-spacing:-.2px;margin-bottom:14px;
  }
  .modreasonlabel{font-size:9.5px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--ink-soft);margin-bottom:8px}
  .modreason{display:flex;flex-direction:column;gap:2px;margin-bottom:16px}
  .rz{display:flex;align-items:center;gap:10px;font-size:13px;font-weight:600;color:var(--ink);padding:8px 0;cursor:pointer}
  .rz input{position:absolute;opacity:0;width:0;height:0}
  .rz span{
    width:18px;height:18px;border-radius:50%;border:1.5px solid var(--hair);flex:0 0 18px;
    display:inline-block;position:relative;
  }
  .rz input:checked + span{border-color:var(--coral)}
  .rz input:checked + span::after{
    content:"";position:absolute;inset:3px;border-radius:50%;background:var(--coral);
  }
  .modactions{display:flex;flex-direction:column;gap:9px}
  .modact{
    width:100%;padding:13px 0;border-radius:11px;cursor:pointer;
    font-family:'Inter',system-ui,-apple-system,sans-serif;
    font-size:11.5px;font-weight:800;letter-spacing:1px;text-transform:uppercase;
  }
  .modact.hide{border:none;background:#b23a25;color:#fff}
  .modact.freeze{border:1.5px solid var(--ink);background:none;color:var(--ink)}
  .modact.report{border:1.5px solid #bd6a44;background:none;color:#bd6a44}
  .modact.restore{border:none;background:#3f7a58;color:#fff}
  .modact:active{transform:scale(.98)}
  .modcancel{
    width:100%;margin-top:12px;background:none;border:none;cursor:pointer;
    font-size:12px;font-weight:700;color:var(--ink-soft);padding:8px;
  }
  .modcancel.danger{color:var(--coral);margin-top:4px}

  /* admin: assign manager + moderation log */
  .assignmgr{
    display:block;width:100%;margin-bottom:12px;padding:12px;border-radius:11px;cursor:pointer;
    border:1.5px dashed var(--ink);background:none;color:var(--ink);
    font-family:'Inter',system-ui,-apple-system,sans-serif;font-size:11px;font-weight:800;
    letter-spacing:1px;text-transform:uppercase;
  }
  .modlogrow{padding:11px 0;border-bottom:1px solid var(--hair)}
  .modlogrow:last-child{border-bottom:none}
  .modlogtitle{font-size:13.5px;font-weight:700;color:var(--ink);display:flex;align-items:center;gap:8px}
  .modtag{
    font-size:8.5px;font-weight:800;letter-spacing:1.2px;color:#fff;background:#b23a25;
    border-radius:999px;padding:2.5px 8px;
  }
  .modtag.restore{background:#3f7a58}
  .modtag.freeze{background:#bd6a44}
  .modtag.report-to-admin{background:var(--ink)}
  .modlogmeta{margin-top:3px;font-size:11px;font-weight:600;color:var(--ink-soft)}
  .modlogactions{display:flex;gap:8px;margin-top:9px}
  .mlbtn{
    padding:7px 16px;border-radius:9px;cursor:pointer;
    font-family:'Inter',system-ui,-apple-system,sans-serif;
    font-size:10px;font-weight:800;letter-spacing:.6px;text-transform:uppercase;
    border:1.5px solid var(--ink);background:none;color:var(--ink);
  }
  .mlbtn.restore{border:none;background:#3f7a58;color:#fff}
  .mlbtn:active{transform:scale(.96)}
  .ambrow{
    display:block;width:100%;margin-top:10px;padding:12px;border-radius:10px;
    background:none;border:1.5px dashed var(--ink);color:var(--ink);cursor:pointer;
    font-family:'Inter',system-ui,-apple-system,sans-serif;font-size:11.5px;font-weight:700;letter-spacing:.5px;
  }
  /* chat photo message (shareable, moderatable) */
  .photomsg{display:flex;align-items:center;gap:9px;flex-wrap:wrap;padding:6px 0}
  .pmauthor{font-size:12.5px;font-weight:600;color:var(--ink)}
  .pmauthor b{font-weight:700}
  .chatphotowrap{
    position:relative;width:150px;height:100px;border-radius:10px;overflow:hidden;cursor:pointer;
    background-size:cover;background-position:center;
  }
  .photohiddentag{
    display:none;position:absolute;top:6px;left:6px;font-size:8px;font-weight:800;letter-spacing:1px;
    color:#fff;background:#b23a25;border-radius:999px;padding:2.5px 8px;
  }
  .photomsg.phidden .chatphotowrap{outline:2px dashed #b23a25;outline-offset:-2px}
  .photoremoved{
    display:none;font-size:11.5px;font-weight:600;font-style:italic;color:var(--ink-soft);
    border:1px dashed var(--hair);border-radius:8px;padding:9px 12px;
  }
  /* role-aware chat photo lightbox actions */
  .cpvbar{
    position:absolute;bottom:calc(30px + env(safe-area-inset-bottom,0px));left:50%;transform:translateX(-50%);
    display:flex;gap:9px;flex-wrap:wrap;justify-content:center;max-width:90%;
  }
  .cpvbar .photoviewreport{position:static;transform:none;left:auto;bottom:auto}
  .cpvbar .cpvmod{border-color:#fff;color:#fff;background:rgba(255,255,255,.14)}
  /* moderation log photo thumbnail */
  .modlogthumb{width:100%;height:120px;border-radius:9px;margin-top:9px;background-size:cover;background-position:center}
  .endshint{font-size:10px;font-weight:600;color:var(--ink-soft);margin-top:6px;line-height:1.5}
  .backhome{
    display:block;width:100%;margin-top:16px;padding:13px;
    background:none;border:1.5px solid #3a372f;border-radius:12px;
    color:var(--cream);font-family:'Inter',system-ui,-apple-system,sans-serif;
    font-size:11px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;cursor:pointer;
  }
  .backhome:active{background:rgba(255,255,255,.05)}

  /* ── Profile ── */
  .pwrap{padding:calc(70px + env(safe-area-inset-top)) 20px 18px}
  .pheadrow{display:flex;justify-content:flex-end;margin-bottom:10px}
  .gearbtn{
    height:36px;border-radius:999px;border:1px solid #2a2621;background:none;
    display:flex;align-items:center;gap:7px;padding:0 14px;cursor:pointer;
    font-family:'Inter',system-ui,sans-serif;font-size:12px;font-weight:700;
    letter-spacing:.8px;color:var(--cream);
  }
  .gearbtn svg{width:15px;height:15px;stroke:var(--cream);stroke-width:1.6;fill:none;stroke-linecap:round;stroke-linejoin:round;flex:0 0 15px}
  .pcard{
    background:var(--cream);color:var(--ink);border-radius:15px;padding:24px 20px;
    box-shadow:0 20px 50px rgba(0,0,0,.5);position:relative;overflow:hidden;
  }
  .pinitwrap{position:relative;width:72px;height:72px;cursor:pointer}
  .pinit{
    width:72px;height:72px;border-radius:50%;background:#8d8676;color:var(--cream);
    display:flex;align-items:center;justify-content:center;
    font-family:'Fraunces',Georgia,'Times New Roman',serif;font-weight:600;font-size:26px;
    background-size:cover;background-position:center;overflow:hidden;
  }
  .pedit{
    position:absolute;bottom:-3px;right:-3px;width:24px;height:24px;border-radius:50%;
    background:var(--coral);border:2.5px solid var(--cream);
    display:flex;align-items:center;justify-content:center;
  }
  .pedit svg{width:11px;height:11px;stroke:#fff;stroke-width:2;fill:none;stroke-linecap:round;stroke-linejoin:round}
  .rankchip{
    display:inline-flex;align-items:center;gap:5px;margin-top:7px;
    font-size:10.5px;font-weight:800;letter-spacing:1.2px;text-transform:uppercase;
    color:var(--coral);border:1.5px solid var(--coral);border-radius:999px;padding:4px 11px;
  }
  .rankmini{font-size:11px;margin-left:3px}
  /* role badges shown next to the name (one per role, height matches .rankchip) */
  .rolebadge{
    display:inline-flex;align-items:center;gap:4px;vertical-align:middle;
    margin-left:9px;font-size:10.5px;font-weight:500;letter-spacing:.3px;
    line-height:1;white-space:nowrap;border-radius:999px;padding:4px 11px;
  }
  .rolebadge.rb-mod{background:#ff5436;color:#f5efe3}
  .rolebadge.rb-founder{background:#0d0c0b;color:#f5efe3}
  .rolebadge.rb-amb{background:#ff5436;color:#ffffff;border:2px solid #0d0c0b;padding:2px 10px}
  .rolebadge .rbcrown{display:inline-flex;width:12px;height:12px}
  .rolebadge .rbcrown svg{width:12px;height:12px;display:block;fill:#0d0c0b}
  .pnm{margin-top:14px;font-family:'Fraunces',Georgia,'Times New Roman',serif;font-weight:600;font-size:25px;letter-spacing:-.3px}
  .plc{margin-top:4px;font-size:11px;font-weight:600;letter-spacing:1.4px;text-transform:uppercase;color:var(--ink-soft)}
  .pstatus{
    margin-top:5px;font-size:12.5px;font-family:'Fraunces',Georgia,'Times New Roman',serif;font-style:italic;
    color:var(--ink);
  }
  .pstatus.editable{
    width:100%;border:none;background:none;outline:none;text-align:inherit;
    border-bottom:1px dashed var(--hair);padding-bottom:3px;
  }
  .pstatus.editable::placeholder{color:#c4b99f}
  .biocount{
    margin-top:4px;text-align:right;font-size:9.5px;font-weight:600;letter-spacing:.3px;
    color:var(--ink-soft);opacity:.7;transition:color .15s;
  }
  .biocount.warn{color:var(--coral);opacity:.55}
  .biocount.max{color:var(--coral);opacity:1}
  .pig{
    display:inline-flex;align-items:center;gap:6px;margin-top:12px;
    font-size:12px;font-weight:700;color:var(--coral);text-decoration:none;
    border:1.5px solid var(--coral);border-radius:999px;padding:6px 13px;
  }
  .pig:active{ background:rgba(255,84,54,.1); }
  .igico{ width:14px;height:14px;flex:0 0 14px;stroke:var(--coral);stroke-width:1.9;fill:none;stroke-linecap:round;stroke-linejoin:round; }
  .igico .igdot{ fill:var(--coral);stroke:none; }
  .igarrow{ opacity:.65;font-weight:600; }
  .pline{margin-top:18px;padding-top:14px;border-top:1px solid var(--hair);display:flex;gap:24px}

  .bigremember{
    margin:18px auto 0;display:flex;align-items:center;gap:8px;
    border:1.5px solid var(--ink);border-radius:999px;padding:10px 20px;
    background:none;cursor:pointer;
  }
  .bigremember svg{width:15px;height:15px;stroke:var(--ink);stroke-width:1.6;fill:none;stroke-linecap:round;stroke-linejoin:round}
  .bigremember span{font-size:11px;font-weight:700;letter-spacing:1.2px;text-transform:uppercase;color:var(--ink)}
  .bigremember.on{border-color:var(--coral);background:var(--coral)}
  .bigremember.on svg{stroke:#fff;fill:#fff}
  .bigremember.on span{color:#fff}

  .mutualrow{display:flex;align-items:center;gap:11px;padding:9px 0;border-bottom:1px solid var(--hair)}
  .mutualrow:last-child{border-bottom:none}
  .memo{width:34px;height:34px;border-radius:10px;background:var(--ink);display:flex;align-items:center;justify-content:center;font-size:15px;flex:0 0 34px}
  .mutitle{font-weight:600;font-size:13px}
  .mutmeta{font-size:11px;color:var(--ink-soft);margin-top:1px}
  /* venue booking (no payment, just a request) */
  .reqbook{
    flex:0 0 auto;border:none;cursor:pointer;background:var(--coral);color:#fff;
    font-family:'Inter',system-ui,-apple-system,sans-serif;
    font-size:9.5px;font-weight:800;letter-spacing:.8px;text-transform:uppercase;
    padding:8px 12px;border-radius:999px;
  }
  .reqbook:active{transform:scale(.95)}
  .venuewa{
    display:inline-block;margin-top:9px;font-size:12px;font-weight:700;color:var(--coral);
    text-decoration:none;border-bottom:1.5px solid var(--coral);padding-bottom:1px;
  }
  .bookfor{
    font-family:'Fraunces',Georgia,'Times New Roman',serif;font-weight:600;font-size:16px;
    color:var(--ink);margin-bottom:14px;
  }

  /* profile photo gallery (max 6, only uploaded shown) */
  .galgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
  .galph{
    position:relative;aspect-ratio:1;border-radius:10px;overflow:hidden;
    background-size:cover;background-position:center;cursor:pointer;
    -webkit-user-select:none;user-select:none;-webkit-touch-callout:none;
  }
  .galflag{
    position:absolute;top:6px;right:6px;display:none;width:27px;height:27px;
    border-radius:50%;border:none;background:rgba(23,21,18,.72);color:#fff;
    font-size:12px;align-items:center;justify-content:center;cursor:pointer;
  }
  .galph.flagged .galflag{display:flex}

  /* profile plan rows (color strip + emoji + title + meta) */
  .planrow{display:flex;align-items:center;gap:11px;padding:9px 0;border-bottom:1px solid var(--hair)}
  .planrow:last-child{border-bottom:none}
  .planrow.tap{cursor:pointer}
  .pstrip{flex:0 0 4px;width:4px;align-self:stretch;min-height:34px;border-radius:999px;background:var(--ink-soft)}
  .pstrip.c-night{background:#8c74a8}
  .pstrip.c-sun{background:#bd6a44}
  .pstrip.c-trip{background:#5f8a72}
  .pstrip.c-food{background:#d4822e}
  .pstrip.c-coffee{background:#7a5a44}
  .pstrip.c-sports{background:#4f7ea6}
  .pstrip.c-photo{background:#a85a72}
  .pstrip.c-language{background:#4a9e8f}
  .pemoji{flex:0 0 30px;width:30px;height:30px;border-radius:9px;background:#efe7d4;display:flex;align-items:center;justify-content:center;font-size:15px}
  .ptitle2{font-weight:600;font-size:13px;color:var(--ink)}
  .pmeta2{font-size:11px;color:var(--ink-soft);margin-top:1px}

  /* remember button (otherprofile) */
  .rememberbtn{
    width:100%;margin-top:6px;display:flex;align-items:center;justify-content:center;gap:8px;
    border:1.5px solid var(--ink);border-radius:12px;padding:13px;background:none;cursor:pointer;
    font-family:'Inter',system-ui,-apple-system,sans-serif;
    font-size:12px;font-weight:800;letter-spacing:1.4px;text-transform:uppercase;color:var(--ink);
  }
  .rememberbtn.on{background:var(--coral);border-color:var(--coral);color:#fff}
  .rememberbtn:active{transform:scale(.98)}
  .remembersub{text-align:center;font-size:11px;font-weight:600;color:var(--ink-soft);margin-top:7px}

  /* report / block mini row */
  .rbrow{display:flex;justify-content:center;gap:22px;margin-top:20px}
  .rbmini{background:none;border:none;cursor:pointer;font-size:11.5px;font-weight:700;color:var(--ink-soft);letter-spacing:.3px}
  .rbmini:active{color:var(--coral)}

  /* ── Past plan detail ── */
  .pastband{height:66px;border-radius:12px;margin-bottom:14px;box-shadow:inset 0 -20px 30px rgba(0,0,0,.28)}
  .pastband.c-night{background:linear-gradient(135deg,#8c74a8,#2e2142)}
  .pastband.c-sun{background:linear-gradient(135deg,#e8a24d,#8a4a2e)}
  .pastband.c-trip{background:linear-gradient(135deg,#5f8a72,#1e3a2c)}
  .pastband.c-food{background:linear-gradient(135deg,#d4822e,#5a3313)}
  .pastband.c-coffee{background:linear-gradient(135deg,#7a5a44,#2e2018)}
  .pastband.c-sports{background:linear-gradient(135deg,#4f7ea6,#1d3a52)}
  .pastband.c-photo{background:linear-gradient(135deg,#a85a72,#3a1f28)}
  .pasthead{display:flex;align-items:center;gap:12px}
  .pastemoji{
    flex:0 0 44px;width:44px;height:44px;border-radius:12px;background:#efe7d4;
    display:flex;align-items:center;justify-content:center;font-size:22px;
  }
  .pasttitle{font-family:'Fraunces',Georgia,'Times New Roman',serif;font-weight:600;font-size:19px;letter-spacing:-.2px}
  .pasthost{margin-top:2px;font-size:11.5px;font-weight:600;color:var(--ink-soft)}
  .pastmeta{margin-top:14px;padding-top:12px;border-top:1px solid var(--hair);display:flex;flex-direction:column;gap:7px}
  .pmline{font-size:12.5px;font-weight:600;color:var(--ink);text-decoration:none}
  .pmlink{color:var(--coral)}
  .pmsub{font-size:11px;font-weight:500;color:var(--ink-soft);margin:-4px 0 0 20px}
  .pastjoined{
    margin-top:14px;font-family:'Fraunces',Georgia,serif;font-weight:700;font-size:15px;color:var(--ink);
  }
  .pubnote{font-size:11.5px;font-weight:600;color:var(--ink-soft);line-height:1.5;margin-bottom:11px}

  /* gallery photo menu (Replace / Remove / Cancel) */
  .galmenu{padding-bottom:calc(18px + env(safe-area-inset-bottom,0px))}
  .galmenubtn{
    display:block;width:100%;padding:14px 0;border-radius:11px;cursor:pointer;margin-top:8px;
    border:1.5px solid var(--hair);background:none;color:var(--ink);
    font-family:'Inter',system-ui,-apple-system,sans-serif;font-size:13px;font-weight:700;letter-spacing:.3px;
  }
  .galmenubtn:first-child{margin-top:0}
  .galmenubtn.danger{border-color:var(--coral);color:var(--coral)}
  .galmenubtn.cancel{border:none;color:var(--ink-soft)}
  .galmenubtn:active{transform:scale(.98)}

  /* photo lightbox (otherprofile) */
  .photoview{
    position:fixed;inset:0;z-index:30;display:none;
    background:rgba(10,9,8,.94);backdrop-filter:blur(4px);
    align-items:center;justify-content:center;padding:16px;
  }
  .photoview.open{display:flex}
  .photoviewimg{
    width:min(440px,90vw);height:min(72vh,72vw*1.4);max-height:76vh;border-radius:16px;
    background-size:contain;background-repeat:no-repeat;background-position:center;
    box-shadow:0 30px 70px rgba(0,0,0,.6);
  }
  .photonav{
    position:absolute;top:50%;transform:translateY(-50%);z-index:2;
    width:44px;height:44px;border-radius:50%;border:none;cursor:pointer;
    background:rgba(255,255,255,.14);color:#fff;font-size:26px;line-height:1;
    display:flex;align-items:center;justify-content:center;
  }
  .photonav.prev{left:12px}
  .photonav.next{right:12px}
  .photonav:disabled{opacity:.25;pointer-events:none}
  .photoviewreport{
    position:absolute;bottom:calc(30px + env(safe-area-inset-bottom,0px));left:50%;transform:translateX(-50%);
    border:1.5px solid var(--coral);background:rgba(255,84,54,.12);color:var(--coral);
    border-radius:999px;padding:11px 22px;cursor:pointer;
    font-family:'Inter',system-ui,-apple-system,sans-serif;font-size:12px;font-weight:800;letter-spacing:.6px;
  }
  .photoviewclose{
    position:absolute;top:calc(18px + env(safe-area-inset-top,0px));right:18px;
    width:38px;height:38px;border-radius:50%;border:none;cursor:pointer;
    background:rgba(255,255,255,.14);color:#fff;font-size:16px;
  }

  .igstrip{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-top:14px}
  .igph{aspect-ratio:1;border-radius:8px;filter:grayscale(45%) contrast(1.05);cursor:pointer;background-size:cover;background-position:center}
  .igbrand{
    aspect-ratio:1;border-radius:8px;background:var(--ink);
    display:flex;align-items:center;justify-content:center;
    font-family:'Fraunces',Georgia,'Times New Roman',serif;font-weight:700;font-size:13px;color:var(--cream);
    letter-spacing:.5px;
  }
  .igbrand i{font-style:italic;color:var(--coral)}
  .igph.g1{background:linear-gradient(135deg,#e8a24d,#8a4a2e);position:relative}
  .igph.g1::after{content:"✈";position:absolute;bottom:4px;right:5px;font-size:10px;opacity:.55}
  .igph.g2{background:linear-gradient(135deg,#6b3fa0,#2b1a45);position:relative}
  .igph.g2::after{content:"🌙";position:absolute;bottom:4px;right:5px;font-size:9px;opacity:.6}
  .igph.g3{background:linear-gradient(135deg,#4f8f6b,#1e3a2c);position:relative}
  .igph.g3::after{content:"🌿";position:absolute;bottom:4px;right:5px;font-size:9px;opacity:.6}
  .igph.g4{background:linear-gradient(135deg,#d4692e,#7a2f18);position:relative}
  .igph.g4::after{content:"🍜";position:absolute;bottom:4px;right:5px;font-size:9px;opacity:.6}
  .igph.g5{background:linear-gradient(135deg,#e0a862,#a3562f);position:relative}
  .igph.g5::after{content:"👥";position:absolute;bottom:4px;right:5px;font-size:9px;opacity:.6}
  .igph.g6{background:linear-gradient(135deg,#3f8fa6,#1c4a56);position:relative}
  .igph.g6::after{content:"✈";position:absolute;bottom:4px;right:5px;font-size:10px;opacity:.55}
  .igph.g7{background:linear-gradient(135deg,#8a3f7a,#3a1a38);position:relative}
  .igph.g7::after{content:"🌙";position:absolute;bottom:4px;right:5px;font-size:9px;opacity:.6}

  .ptags{display:flex;flex-wrap:wrap;gap:6px;margin-top:14px}
  .ptag{
    font-size:10px;font-weight:700;letter-spacing:.8px;
    border:1px solid var(--ink);color:var(--ink);
    padding:4px 10px;border-radius:999px;
  }

  .plang{margin-top:12px;font-size:11.5px;font-weight:600;color:var(--ink-soft);letter-spacing:.2px}

  .pnextrow{margin-top:14px;display:flex;align-items:center;gap:10px;flex-wrap:wrap}
  .crossbtn{
    border:1px solid var(--coral);background:none;color:var(--coral);cursor:pointer;
    font-family:'Inter',system-ui,-apple-system,sans-serif;font-size:10px;font-weight:700;letter-spacing:1px;
    padding:6px 12px;border-radius:999px;white-space:nowrap;
  }
  .crossbtn.on{background:var(--coral);color:#fff}
  .crossnote{
    display:none;margin-top:10px;font-family:'Fraunces',Georgia,'Times New Roman',serif;font-style:italic;
    font-size:12px;color:var(--coral);line-height:1.5;
  }
  .crossnote.show{display:block}
  .pk b{font-family:'Fraunces',Georgia,'Times New Roman',serif;font-weight:600;font-size:20px;display:block}
  .pk span{font-size:9px;font-weight:700;letter-spacing:1.4px;text-transform:uppercase;color:var(--ink-soft)}
  .pnext{font-size:12px;color:var(--ink-soft);font-weight:500}
  .pnext b{color:var(--ink)}

  /* ── Create ── */
  .cwrap{padding:calc(52px + env(safe-area-inset-top)) 20px 20px}
  .chead{font-family:'Fraunces',Georgia,'Times New Roman',serif;font-weight:500;font-size:26px;letter-spacing:-.3px}
  .chead em{font-style:italic;color:var(--coral)}
  .csub{margin-top:6px;font-size:11px;font-weight:600;letter-spacing:1.8px;text-transform:uppercase;color:#7a7469}
  .philosophy{margin-top:14px;font-family:'Fraunces',Georgia,'Times New Roman',serif;font-style:italic;font-size:15px;color:var(--coral)}
  .form{
    margin-top:18px;color:var(--ink);border-radius:20px;padding:22px 18px;
    background:linear-gradient(180deg,#faf6ec 0%,#f1e8d6 100%);
    border:1px solid rgba(45,40,32,.07);
    box-shadow:
      0 1px 0 rgba(255,255,255,.55) inset,
      0 22px 50px -14px rgba(0,0,0,.55),
      0 3px 10px rgba(0,0,0,.28);
  }
  .fl{font-size:9.5px;font-weight:700;letter-spacing:2.2px;text-transform:uppercase;color:var(--ink-soft);margin-bottom:6px}
  .fi{
    width:100%;border:none;border-bottom:1.5px solid var(--hair);background:none;
    font-family:'Fraunces',Georgia,'Times New Roman',serif;font-weight:600;font-size:19px;color:var(--ink);
    padding:4px 0 9px;outline:none;letter-spacing:-.2px;
  }
  .fi::placeholder{color:#c4b99f;font-style:italic;font-weight:500}
  .fi:focus{border-color:var(--coral)}
  .fgap{margin-top:20px}
  .whenrow{display:flex;gap:8px;margin-top:2px}
  .wchip{
    flex:1;text-align:center;padding:10px 0;border:1.5px solid var(--hair);border-radius:11px;
    font-size:11px;font-weight:700;letter-spacing:1.2px;text-transform:uppercase;
    color:var(--ink-soft);cursor:pointer;
  }
  .wchip.on{border-color:var(--ink);color:var(--ink);background:#efe7d4}
  .timein{
    margin-top:10px;width:110px;border:1.5px solid var(--hair);border-radius:11px;
    font-family:'Fraunces',Georgia,'Times New Roman',serif;font-weight:700;font-size:18px;text-align:center;
    padding:8px 0;background:none;color:var(--ink);outline:none;
  }
  .daystrip{
    display:none;gap:7px;margin-top:12px;overflow-x:auto;padding-bottom:4px;
    scrollbar-width:none;
  }
  .daystrip::-webkit-scrollbar{display:none}
  .daystrip.open{display:flex}
  .day{
    flex:0 0 52px;text-align:center;padding:9px 0 8px;
    border:1.5px solid var(--hair);border-radius:11px;cursor:pointer;
  }
  .day .dw{font-size:8.5px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:var(--ink-soft)}
  .day .dn{font-family:'Fraunces',Georgia,'Times New Roman',serif;font-weight:700;font-size:17px;margin-top:1px}
  .day .dm{font-size:8.5px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:var(--ink-soft);margin-top:1px}
  .day.on{border-color:var(--ink);background:#efe7d4}
  .swatches{display:flex;gap:13px}
  .swatch{width:32px;height:32px;border-radius:50%;cursor:pointer;border:3px solid transparent;transition:transform .12s}
  .swatch.sel{border-color:var(--ink)}
  .swatch:active{transform:scale(.9)}
  .togrow{
    margin-top:16px;padding-top:14px;border-top:1px dashed #b9ae95;
    display:flex;align-items:center;gap:12px;cursor:pointer;
  }
  .togtx{font-size:12.5px;font-weight:600;color:var(--ink);line-height:1.5}
  .togtx b{font-weight:700}
  .togtx span{font-size:11px;font-weight:600;color:var(--coral)}
  .tog{
    flex:0 0 40px;width:40px;height:23px;border-radius:999px;background:var(--hair);
    position:relative;transition:background .18s;margin-left:auto;
  }
  .tog::after{
    content:"";position:absolute;top:2.5px;left:2.5px;width:18px;height:18px;
    border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.3);
    transition:transform .18s;
  }
  .tog.on{background:var(--coral)}
  .tog.on::after{transform:translateX(17px)}
  .catrow{display:flex;gap:7px;flex-wrap:wrap;margin-top:2px}
  .aitag{
    margin-left:8px;color:var(--coral);font-weight:700;letter-spacing:.5px;
    text-transform:none;font-size:10px;opacity:0;transition:opacity .2s;
  }
  .aitag.show{opacity:1}
  .places{display:none;margin-top:6px;border:1.5px solid var(--hair);border-radius:11px;overflow:hidden}
  .places.open{display:block}
  .pitem{padding:10px 13px;font-size:13px;font-weight:600;cursor:pointer;border-bottom:1px solid var(--hair)}
  .pitem:last-child{border-bottom:none}
  .pitem:active{background:#efe7d4}
  .pitem span{display:block;font-size:10.5px;font-weight:600;color:var(--ink-soft);margin-top:1px}
  .cchip{
    padding:8px 13px;border:1.5px solid var(--hair);border-radius:999px;
    font-size:10.5px;font-weight:700;letter-spacing:1px;text-transform:uppercase;
    color:var(--ink-soft);cursor:pointer;
  }
  .cchip.on{border-color:var(--ink);color:var(--ink);background:#efe7d4}
  .fi.small{font-family:'Inter',system-ui,-apple-system,sans-serif;font-weight:600;font-size:14px}

  /* ═══ New dark create-plan design — all scoped to #create ═══ */
  #create{--panel:#171512;--panel-2:#1e1b17;--line:#f5efe31a;--line-strong:#f5efe32e;--coral-dim:#ff543622;--coral-line:#ff543655;--cream-dim:#f5efe399;--cream-faint:#f5efe355;--silver:#c9ccd1}
  #create .ncp{max-width:520px;margin:0 auto;padding:calc(44px + env(safe-area-inset-top)) 20px calc(48px + env(safe-area-inset-bottom));color:var(--cream);font-family:'Inter',system-ui,-apple-system,sans-serif}
  #create .ncp-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}
  #create .ncp-word{font-family:'Fraunces',Georgia,serif;font-weight:600;font-size:26px;letter-spacing:.3px;color:var(--cream)}
  #create .ncp-word b{color:var(--coral);font-weight:600}
  #create .ncp-step{font-size:12px;color:var(--cream-faint);letter-spacing:.12em;text-transform:uppercase}
  #create .ncp-lead{margin-bottom:20px}
  #create .ncp-lead h1{font-family:'Fraunces',Georgia,serif;font-weight:500;font-size:29px;line-height:1.12;margin:0 0 6px;color:var(--cream)}
  #create .ncp-lead p{margin:0;color:var(--cream-dim);font-size:14px}
  #create .ncp-field{margin-bottom:22px}
  #create .ncp-labelrow{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:9px}
  #create .ncp-label{font-size:15px;font-weight:600;color:var(--cream)}
  #create .ncp-req{color:var(--coral);margin-left:2px}
  #create .ncp-opt{font-size:10px;font-weight:600;letter-spacing:.14em;color:var(--cream-faint);border:1px solid var(--line-strong);padding:2px 6px;border-radius:6px;white-space:nowrap}
  #create .ncp-o{font-size:9px;color:var(--cream-faint);border:1px solid var(--line-strong);padding:1px 4px;border-radius:5px;letter-spacing:.06em;white-space:nowrap}
  #create .ncp-hint{font-size:12px;color:var(--cream-dim);margin-top:8px;line-height:1.45}
  #create .ncp-sub{font-size:12.5px;color:var(--cream-dim);margin:-3px 0 9px}
  #create input[type=text],#create textarea{width:100%;background:var(--panel);border:1px solid var(--line);color:var(--cream);font-family:inherit;font-weight:400;font-size:16px;padding:14px 15px;border-radius:12px;outline:none;letter-spacing:0;transition:border-color .15s,background .15s}
  #create input[type=text]::placeholder,#create textarea::placeholder{color:var(--cream-faint);font-style:normal;font-weight:400}
  #create input[type=text]:focus,#create textarea:focus{border-color:var(--coral-line);background:var(--panel-2)}
  #create textarea{resize:none;min-height:96px;line-height:1.5}
  #create .ncp-counter{font-size:11px;color:var(--cream-faint);text-align:right;margin-top:6px;font-variant-numeric:tabular-nums}
  #create .ncp-counter.warn{color:var(--coral)}
  #create .ncp-where{display:grid;grid-template-columns:1fr 1fr;gap:10px}
  #create .ncp-wlabel{font-size:12px;color:var(--cream-dim);margin-bottom:6px;display:flex;align-items:center;gap:5px}
  #create .ncp-wmsg{font-size:11px;margin-top:6px;min-height:14px}
  #create .ncp-wmsg.ok{color:#5fbf7a}
  #create .ncp-wmsg.bad{color:var(--coral)}
  #create .ncp-ighalf{width:calc(50% - 5px);margin-top:14px}
  #create .ncp-chips{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}
  #create .ncp-chip{display:flex;align-items:center;gap:8px;background:var(--panel);border:1px solid var(--line);color:var(--cream-dim);padding:12px 13px;border-radius:12px;font-size:14px;font-weight:500;cursor:pointer;transition:all .14s;font-family:inherit}
  #create .ncp-emo{font-size:17px;line-height:1}
  #create .ncp-chip[aria-pressed=true]{background:var(--coral-dim);border-color:var(--coral);color:var(--cream)}
  #create .ncp-seg{display:flex;gap:8px}
  #create .ncp-seg .ncp-chip{flex:1;justify-content:center}
  #create .ncp-daystrip{display:flex;gap:8px;overflow-x:auto;padding:12px 0 2px;scrollbar-width:none}
  #create .ncp-daystrip::-webkit-scrollbar{display:none}
  #create .ncp-daystrip.ncp-hidden{display:none}
  #create .day{flex:0 0 auto;min-width:60px;text-align:center;background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:9px 10px;cursor:pointer;transition:all .14s;font-family:inherit;color:var(--cream)}
  #create .day .dow{font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--cream-faint)}
  #create .day .num{font-family:'Fraunces',Georgia,serif;font-size:19px;font-weight:500;margin:2px 0 1px;line-height:1;color:var(--silver)}
  #create .day .mon{font-size:10px;color:var(--cream-faint)}
  #create .day[aria-pressed=true]{background:var(--coral-dim);border-color:var(--coral)}
  #create .day[aria-pressed=true] .dow{color:var(--coral)}
  #create .day[aria-pressed=true] .num{color:var(--cream)}
  #create .ncp-trio{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px}
  #create .ncp-mini{font-size:11px;color:var(--cream-faint);margin-bottom:6px;display:flex;align-items:center;gap:5px}
  #create input[type=time]{width:100%;background:var(--panel);border:1px solid var(--line);color:var(--cream);font-family:inherit;font-size:16px;padding:13px 10px;border-radius:12px;outline:none;color-scheme:dark;text-align:center}
  #create input[type=time]:focus{border-color:var(--coral-line)}
  #create .ncp-stepper{display:flex;align-items:center;background:var(--panel);border:1px solid var(--line);border-radius:12px;overflow:hidden;height:48px}
  #create .ncp-stepper button{width:38px;height:100%;background:transparent;border:none;color:var(--cream);font-size:20px;cursor:pointer;transition:background .12s;font-family:inherit;flex:0 0 auto}
  #create .ncp-stepper button:disabled{color:var(--cream-faint);cursor:not-allowed}
  #create .ncp-stepper .ncp-val{flex:1;text-align:center;font-family:'Fraunces',Georgia,serif;font-size:20px;font-weight:500;color:var(--cream)}
  #create .ncp-minblock{margin-top:14px}
  #create .ncp-minbody{margin-top:12px;padding:14px 15px;background:var(--panel);border:1px solid var(--line);border-radius:12px}
  #create .ncp-minbody.ncp-hidden{display:none}
  #create .ncp-minrow{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
  #create .ncp-minlead{font-size:14px;color:var(--cream-dim)}
  #create .ncp-stepper.ncp-minstep{width:140px;height:44px;flex:0 0 auto}
  #create .ncp-stepper.ncp-minstep button{width:44px}
  #create .ncp-stepper.ncp-minstep .ncp-val{font-size:18px}
  #create .ncp-togglerow{display:flex;align-items:center;justify-content:space-between;gap:14px;background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:14px 15px}
  #create .ncp-tt{font-size:14px;font-weight:600;color:var(--cream)}
  #create .ncp-ts{font-size:12px;color:var(--cream-dim);margin-top:3px}
  #create .ncp-switch{flex:0 0 auto;width:50px;height:29px;border-radius:20px;background:var(--line-strong);position:relative;cursor:pointer;transition:background .18s;border:none;padding:0}
  #create .ncp-switch::after{content:"";position:absolute;top:3px;left:3px;width:23px;height:23px;border-radius:50%;background:var(--cream);transition:transform .18s}
  #create .ncp-switch[aria-checked=true]{background:var(--coral)}
  #create .ncp-switch[aria-checked=true]::after{transform:translateX(21px)}
  #create .ncp-divide{height:1px;background:var(--line);margin:6px 0 26px}
  #create .ncp-submit{width:100%;background:var(--coral);color:#1a0d09;border:none;border-radius:14px;padding:17px;font-family:'Fraunces',Georgia,serif;font-size:18px;font-weight:600;cursor:pointer;transition:transform .1s,filter .15s;letter-spacing:.2px}
  #create .ncp-submit:active{transform:translateY(1px)}
  @media (max-width:399px){#create .ncp-where{grid-template-columns:1fr}#create .ncp-ighalf{width:100%}}
  .mottocount{margin-top:4px;text-align:right;font-size:10px;font-weight:600;color:var(--ink-soft)}
  /* create: schedule slot editor */
  .slotrow{display:flex;gap:8px;align-items:center;margin-top:8px}
  .slottimein{flex:0 0 84px;text-align:center}
  .slotdescin{flex:1;min-width:0}
  .slotdel{
    flex:0 0 34px;height:34px;border-radius:9px;border:1.5px solid var(--hair);
    background:none;color:var(--ink-soft);font-size:16px;cursor:pointer;line-height:1;
  }
  .addslot{
    margin-top:10px;display:inline-block;padding:9px 16px;border-radius:10px;cursor:pointer;
    border:1.5px dashed var(--ink);background:none;color:var(--ink);
    font-family:'Inter',system-ui,-apple-system,sans-serif;font-size:11.5px;font-weight:700;letter-spacing:.5px;
  }
  .postbtn{
    width:100%;margin-top:22px;border:none;cursor:pointer;font-family:'Inter',system-ui,-apple-system,sans-serif;
    background:linear-gradient(180deg,#ff6b50 0%,var(--coral) 55%,#e8492e 100%);
    color:#fff;font-size:11.5px;font-weight:700;
    letter-spacing:2.2px;text-transform:uppercase;padding:16px;border-radius:12px;
    box-shadow:
      0 14px 34px rgba(255,84,54,.32),
      inset 0 1px 0 rgba(255,255,255,.35),
      inset 0 -10px 16px rgba(0,0,0,.12),
      inset 0 0 22px rgba(255,176,140,.25);
    transition:transform .12s ease, box-shadow .12s ease;
    position:relative;overflow:hidden;
  }
  .postbtn::after{
    content:"";position:absolute;top:0;left:-60%;width:40%;height:100%;
    background:linear-gradient(115deg,transparent,rgba(255,255,255,.4),transparent);
    animation:shimmer 3.2s ease-in-out infinite;
  }
  .postbtn:active{
    transform:scale(.98);
    box-shadow:
      0 8px 20px rgba(255,84,54,.28),
      inset 0 1px 0 rgba(255,255,255,.25),
      inset 0 -6px 12px rgba(0,0,0,.16);
  }
  .posthint{margin-top:12px;text-align:center;font-family:'Fraunces',Georgia,'Times New Roman',serif;font-style:italic;font-size:12.5px;color:#7a7469}
  .postbtn:disabled{
    background:#cfc6b4;color:#8a8477;cursor:not-allowed;box-shadow:none;
  }
  .postbtn:disabled::after{display:none}
  .postbtn:disabled:active{transform:none}

  /* ── Auth (Login/Verify) ── */
  .authwrap{padding:calc(90px + env(safe-area-inset-top)) 26px 30px;max-width:360px;margin:0 auto}
  .authhead{
    margin-top:30px;font-family:'Fraunces',Georgia,'Times New Roman',serif;font-weight:500;font-size:34px;
    line-height:1.08;letter-spacing:-.4px;text-align:center;
  }
  .authhead em{font-style:italic;color:var(--coral)}
  .welcomeline{font-family:'Fraunces',Georgia,'Times New Roman',serif;font-size:26px;color:var(--cream);margin-top:18px;line-height:1.3}
  .welcomeline.em{font-style:italic;color:var(--coral)}
  .authsub{margin-top:12px;font-size:13px;color:#9a9384;text-align:center;line-height:1.5}
  .authsub b{color:var(--cream)}
  .authform{
    margin-top:28px;background:var(--cream);color:var(--ink);border-radius:16px;
    padding:20px;box-shadow:0 20px 50px rgba(0,0,0,.5);
  }
  .authnote{margin-top:14px;text-align:center;font-size:11.5px;color:#8a8477;line-height:1.5}
  .authnote a{color:var(--coral);font-weight:700;text-decoration:none}
  .authlegal{margin-top:26px;text-align:center;font-size:10.5px;color:#6f695d;line-height:1.6}
  .phonerow{display:flex;gap:9px;align-items:flex-end}
  .ccbtn{
    flex:0 0 auto;display:flex;align-items:center;gap:5px;
    border:none;border-bottom:1.5px solid var(--hair);background:none;cursor:pointer;
    font-family:'Fraunces',Georgia,serif;font-weight:600;font-size:19px;color:var(--ink);
    padding:4px 0 9px;
  }
  .ccbtn .ccflag{font-size:18px;line-height:1}
  .ccbtn .ccarrow{font-size:11px;color:var(--ink-soft);font-family:'Inter',sans-serif}
  .phonerow .fi{flex:1}
  .ccsheet{
    position:fixed;bottom:0;left:50%;transform:translate(-50%,105%);
    width:100%;max-width:430px;z-index:23;background:var(--cream);color:var(--ink);
    border-radius:22px 22px 0 0;padding:20px 20px calc(20px + env(safe-area-inset-bottom,0px));
    transition:transform .28s cubic-bezier(.3,.9,.3,1);max-height:70vh;overflow-y:auto;
  }
  .ccsheet.open{transform:translate(-50%,0)}
  .ccsearch{
    width:100%;border:1.5px solid var(--hair);border-radius:11px;padding:10px 13px;
    font-family:'Inter',system-ui,sans-serif;font-size:13px;background:none;color:var(--ink);
    outline:none;margin-bottom:6px;
  }
  .ccsearch:focus{border-color:var(--coral)}
  .ccitem{
    display:flex;align-items:center;gap:11px;padding:11px 4px;cursor:pointer;
    border-bottom:1px solid var(--hair);
  }
  .ccitem:last-child{border-bottom:none}
  .ccitem:active{background:#efe7d4}
  .ccitem .f{font-size:19px;flex:0 0 24px}
  .ccitem .n{flex:1;font-size:13.5px;font-weight:600}
  .ccitem .d{font-family:'Fraunces',Georgia,serif;font-weight:700;font-size:14px;color:var(--ink-soft)}
  .resendwrap{margin-top:18px;text-align:center}
  .resendbtn{
    background:none;border:none;cursor:pointer;font-family:'Inter',system-ui,sans-serif;
    font-size:12px;font-weight:700;color:var(--coral);text-decoration:underline;text-underline-offset:2px;
  }
  .resendbtn:disabled{color:#5f5a51;cursor:default;text-decoration:none}
  .resendnote{margin-top:6px;font-size:10.5px;color:#6f695d;font-weight:600}
  .otprow{display:flex;gap:9px;justify-content:center;margin-top:28px}
  .otprow input{
    width:44px;height:54px;text-align:center;border-radius:12px;
    border:1.5px solid #3a372f;background:var(--card, #161f33);
    background:rgba(255,255,255,.05);color:var(--cream);
    font-family:'Fraunces',Georgia,'Times New Roman',serif;font-weight:700;font-size:22px;outline:none;
  }
  .otprow input:focus{border-color:var(--coral)}
  .natbtn{
    display:flex;align-items:center;gap:10px;width:100%;
    border:none;border-bottom:1.5px solid var(--hair);background:none;cursor:pointer;
    padding:4px 0 9px;text-align:left;
  }
  .natbtn .natflag{font-size:22px;line-height:1}
  .natbtn .natname{
    flex:1;font-family:'Fraunces',Georgia,serif;font-weight:600;font-size:19px;
    color:var(--ink);letter-spacing:-.2px;
  }
  .natbtn .natname.ph{color:#c4b99f;font-style:italic;font-weight:500}
  .natbtn .natarrow{font-size:12px;color:var(--ink-soft)}
  .flagpicks{display:flex;gap:8px;flex-wrap:wrap;margin-top:2px}
  .flagpick{
    width:38px;height:38px;border-radius:10px;border:1.5px solid var(--hair);
    background:none;font-size:16px;cursor:pointer;
  }
  .flagpick.sel{border-color:var(--ink);background:#efe7d4}
  .obdots{display:flex;justify-content:center;gap:6px;margin-top:22px}
  .obdot{width:6px;height:6px;border-radius:50%;background:#3a372f}
  .obdot.on{background:var(--coral);width:16px;border-radius:3px}
  .obtags{display:flex;flex-wrap:wrap;gap:8px}
  .obtag{
    font-size:12px;font-weight:700;letter-spacing:.3px;
    border:1.5px solid var(--hair);color:var(--ink-soft);
    padding:9px 15px;border-radius:999px;cursor:pointer;
  }
  .obtag.sel{border-color:var(--coral);background:var(--coral);color:#fff}
  .skiplink{
    display:block;width:100%;margin-top:12px;background:none;border:none;
    color:#8a8477;font-family:'Fraunces',Georgia,'Times New Roman',serif;font-style:italic;font-size:13px;cursor:pointer;
  }
  .geckologo{display:flex;align-items:center;gap:8px}
  .geckologo img{height:38px;width:auto;filter:drop-shadow(0 3px 6px rgba(255,84,54,.3))}
  .gkword{font-family:'Fraunces',Georgia,'Times New Roman',serif;font-weight:700;font-size:23px;letter-spacing:-.5px;color:var(--cream)}
  .gkword i{color:var(--coral);font-style:italic}
  .geckohero{text-align:center;margin-bottom:8px;animation:geckoBob 3.5s ease-in-out infinite}
  .geckohero img{width:150px;height:auto;filter:drop-shadow(0 12px 24px rgba(255,84,54,.25))}
  @keyframes geckoBob{0%,100%{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-7px) rotate(1deg)}}
  .emptyicon{
    width:64px;height:64px;margin:0 auto 8px;border-radius:50%;
    background:rgba(255,255,255,.05);border:1.5px dashed #3a372f;
    display:flex;align-items:center;justify-content:center;
  }
  .emptyicon svg{width:28px;height:28px;stroke:#6f695d;stroke-width:1.5;fill:none;stroke-linecap:round;stroke-linejoin:round}
  .teasercard{
    margin-top:26px;text-align:left;
    background:rgba(255,84,54,.08);border:1px solid rgba(255,84,54,.25);
    border-radius:16px;padding:16px;
  }
  .teaserstat{font-size:13.5px;font-weight:600;color:var(--cream);text-align:center;margin-bottom:10px}
  .teaserstat b{color:var(--coral);font-family:'Fraunces',Georgia,'Times New Roman',serif;font-weight:700}
  .teaserrow{
    display:flex;justify-content:space-between;align-items:baseline;gap:10px;
    font-size:12.5px;font-weight:600;color:var(--cream);
    padding:8px 2px;border-top:1px solid rgba(255,84,54,.15);
  }
  .teaserrow span{font-size:10.5px;font-weight:700;color:#9a9384;white-space:nowrap}
  .seedhead{
    margin-top:24px;font-size:9.5px;font-weight:700;letter-spacing:2px;
    text-transform:uppercase;color:var(--coral);text-align:center;
  }
  .seedlist{display:flex;flex-direction:column;gap:8px;margin-top:12px}
  .seedchip{
    width:100%;text-align:left;padding:12px 16px;cursor:pointer;
    background:rgba(255,255,255,.05);border:1px solid #2a2621;border-radius:12px;
    color:var(--cream);font-family:'Inter',system-ui,-apple-system,sans-serif;font-size:13px;font-weight:600;
    transition:transform .12s ease;
  }
  .seedchip:active{transform:scale(.97);border-color:var(--coral)}
  .helplink{
    display:block;margin:22px auto 0;background:none;border:none;cursor:pointer;
    font-size:12px;font-weight:700;color:var(--coral);text-decoration:underline;
    text-underline-offset:2px;
  }
  .helpbox{display:none;margin-top:16px;background:rgba(255,255,255,.05);border:1px solid #2a2621;border-radius:14px;padding:16px}
  .helpbox.open{display:block}
  .helptip{font-size:12px;color:#c9c2b4;line-height:1.6;margin-bottom:6px}
  .helpresend{
    display:block;width:100%;margin-top:10px;padding:12px;border-radius:10px;
    background:none;border:1.5px solid var(--coral);color:var(--coral);
    font-family:'Inter',system-ui,-apple-system,sans-serif;font-size:11.5px;font-weight:700;letter-spacing:.5px;cursor:pointer;
  }
  .helpsms{
    display:block;width:100%;margin-top:8px;padding:12px;border-radius:10px;
    background:none;border:none;color:#8a8477;
    font-family:'Inter',system-ui,-apple-system,sans-serif;font-size:11px;font-weight:600;text-decoration:underline;cursor:pointer;
  }
  .dangerbtn{
    width:100%;margin-top:10px;padding:13px;border-radius:12px;
    border:1.5px solid rgba(200,60,45,.4);background:none;cursor:pointer;
    font-family:'Inter',system-ui,sans-serif;font-size:13px;font-weight:700;color:#c8402d;
  }
  .recovsheet{
    position:fixed;bottom:0;left:50%;transform:translate(-50%,105%);
    width:100%;max-width:430px;z-index:24;background:var(--cream);color:var(--ink);
    border-radius:22px 22px 0 0;padding:24px 22px calc(26px + env(safe-area-inset-bottom,0px));
    transition:transform .3s cubic-bezier(.3,.9,.3,1);
  }
  .recovsheet.open{transform:translate(-50%,0)}
  .recovsheet h3{font-family:'Fraunces',Georgia,serif;font-weight:600;font-size:20px;margin-bottom:8px}
  .recovsheet p{font-size:12.5px;line-height:1.6;color:var(--ink-soft);margin-bottom:14px}
  .recovin{
    width:100%;border:1.5px solid var(--hair);border-radius:12px;padding:12px 14px;
    font-family:'Inter',sans-serif;font-size:14px;background:none;color:var(--ink);outline:none;margin-bottom:12px;
  }
  .recovin:focus{border-color:var(--coral)}
  .recovskip{
    width:100%;margin-top:8px;padding:11px;border:none;background:none;cursor:pointer;
    font-family:'Inter',sans-serif;font-size:12.5px;font-weight:700;color:var(--ink-soft);
  }
  .delsheet{
    position:fixed;bottom:0;left:50%;transform:translate(-50%,105%);
    width:100%;max-width:430px;z-index:24;background:var(--cream);color:var(--ink);
    border-radius:22px 22px 0 0;padding:24px 22px calc(26px + env(safe-area-inset-bottom,0px));
    transition:transform .28s cubic-bezier(.3,.9,.3,1);
  }
  .delsheet.open{transform:translate(-50%,0)}
  .delsheet h3{font-family:'Fraunces',Georgia,serif;font-weight:600;font-size:21px;margin-bottom:10px}
  .delwarn{font-size:13px;line-height:1.6;color:var(--ink);margin-bottom:12px}
  .delhost{
    background:#fdecea;border:1px solid #f2c4bd;border-radius:12px;padding:12px 14px;
    font-size:12px;line-height:1.55;color:#8a2c1e;font-weight:600;margin-bottom:14px;
  }
  .delbuffer{font-size:11px;color:var(--ink-soft);font-weight:600;margin-top:12px;text-align:center;line-height:1.5}
  .delfinal{
    width:100%;padding:14px;border-radius:12px;border:none;cursor:pointer;
    background:#c8402d;color:#fff;font-family:'Inter',sans-serif;font-size:14px;font-weight:700;
  }
  .delcancel{
    width:100%;margin-top:8px;padding:12px;border-radius:12px;border:none;background:none;cursor:pointer;
    font-family:'Inter',sans-serif;font-size:13px;font-weight:700;color:var(--ink-soft);
  }
  .logoutbtn{
    display:block;width:100%;margin-top:20px;padding:15px;
    background:none;border:1.5px solid #ff6b5a;color:#ff6b5a;border-radius:12px;
    font-family:'Inter',system-ui,-apple-system,sans-serif;font-size:12px;font-weight:700;letter-spacing:1.5px;
    text-transform:uppercase;cursor:pointer;
  }

  /* ── Map ── */
  .mapwrap{padding:calc(52px + env(safe-area-inset-top)) 0 16px}
  .maphead{padding:0 20px;display:flex;align-items:center;justify-content:space-between}
  .mapcanvas{
    position:relative;margin:12px 14px 0;height:calc(100vh - 300px);min-height:380px;
    border-radius:20px;overflow:hidden;border:1px solid rgba(255,255,255,.08);
    background:
      radial-gradient(55% 38% at 28% 72%, rgba(63,150,130,.22), transparent 60%),
      radial-gradient(45% 32% at 78% 22%, rgba(255,84,54,.14), transparent 60%),
      linear-gradient(160deg,#15130f,#0b0a09 70%);
  }
  .mapgrid{
    position:absolute;inset:0;opacity:.12;
    background-image:
      repeating-linear-gradient(0deg, rgba(255,255,255,.5) 0 1px, transparent 1px 42px),
      repeating-linear-gradient(90deg, rgba(255,255,255,.5) 0 1px, transparent 1px 42px);
  }
  .pin{
    position:absolute;width:44px;height:44px;cursor:pointer;
    background:var(--coral);border-radius:50% 50% 50% 0;
    transform:translate(-50%,-100%) rotate(-45deg);
    display:flex;align-items:center;justify-content:center;
    box-shadow:0 10px 24px rgba(255,84,54,.45);
    transition:transform .15s ease;
  }
  .pin:active{transform:translate(-50%,-100%) rotate(-45deg) scale(.92)}
  .pin.quiet{background:var(--cream);box-shadow:0 10px 24px rgba(0,0,0,.4)}
  .pin span{transform:rotate(45deg);display:flex}
  .pin svg{width:21px;height:21px;stroke:var(--cream);stroke-width:1.6;fill:none;stroke-linecap:round;stroke-linejoin:round}
  .pin.quiet svg{stroke:var(--ink)}
  .maphint{text-align:center;margin-top:12px;font-family:'Fraunces',Georgia,'Times New Roman',serif;font-style:italic;font-size:12.5px;color:#7a7469}
  .mapnote{
    text-align:center;margin:8px 24px 0;font-size:10.5px;font-weight:600;
    line-height:1.5;color:#5f5a51;
  }
  .mapfilter{
    display:flex;gap:6px;margin:14px 20px 0;padding:5px;border-radius:999px;
    background:rgba(255,255,255,.04);
    border:1px solid rgba(255,255,255,.08);
    width:fit-content;
  }
  .mapfilter button{
    border:none;background:none;cursor:pointer;padding:7px 15px;border-radius:999px;
    font-family:'Inter',system-ui,sans-serif;font-size:10.5px;font-weight:700;
    letter-spacing:1.4px;text-transform:uppercase;color:#8a8477;
    transition:background .15s,color .15s;
  }
  .mapfilter button.on{background:var(--coral);color:#fff}
  .pincount{
    position:absolute;top:-5px;right:-5px;min-width:19px;height:19px;padding:0 4px;
    border-radius:999px;background:var(--cream);color:var(--ink);
    font-family:'Inter',system-ui,sans-serif;font-size:9.5px;font-weight:800;
    display:flex;align-items:center;justify-content:center;
    transform:rotate(45deg);border:1.5px solid var(--black);
  }
  .pin.c-night{background:#8c74a8}
  .pin.c-sun{background:#bd6a44}
  .pin.c-trip{background:#5f8a72}
  .pin.c-food{background:#d4822e}
  .pin.c-coffee{background:#7a5a44}
  .pin[data-day]{transition:opacity .25s ease, transform .15s ease}
  .pin.hidden{opacity:0;pointer-events:none}
  .locatebtn{
    position:absolute;bottom:14px;right:14px;z-index:3;
    display:flex;align-items:center;gap:7px;
    background:rgba(13,12,11,.8);backdrop-filter:blur(12px);
    border:1px solid rgba(255,255,255,.1);border-radius:999px;
    padding:9px 14px;cursor:pointer;
    font-family:'Inter',system-ui,sans-serif;font-size:10.5px;font-weight:700;
    letter-spacing:1.2px;text-transform:uppercase;color:var(--cream);
  }
  .locatebtn svg{width:14px;height:14px;stroke:var(--coral);stroke-width:2;fill:none;stroke-linecap:round}
  .locatebtn.on{border-color:rgba(255,84,54,.5)}
  .locatebtn.on svg{fill:var(--coral)}
  .userdot{
    position:absolute;width:16px;height:16px;border-radius:50%;
    background:#3fa9dc;border:2.5px solid var(--cream);z-index:2;
    box-shadow:0 0 0 0 rgba(63,169,220,.5);
    display:none;
  }
  .userdot.show{display:block;animation:userpulse 2.2s infinite}
  @keyframes userpulse{
    70%{box-shadow:0 0 0 14px rgba(63,169,220,0)}
    100%{box-shadow:0 0 0 0 rgba(63,169,220,0)}
  }
  .pindist{
    position:absolute;bottom:-7px;left:50%;
    transform:translateX(-50%) rotate(45deg);
    background:var(--black);color:var(--cream);
    font-family:'Inter',system-ui,sans-serif;font-size:8.5px;font-weight:700;
    letter-spacing:.3px;padding:2px 6px;border-radius:999px;white-space:nowrap;
    border:1px solid rgba(255,255,255,.12);display:none;
  }
  body.located .pindist{display:block}
  .tdist{
    margin-top:4px;font-size:11px;font-weight:800;color:var(--ink-soft);
    display:none;align-items:center;gap:4px;
  }
  body.located .tdist{display:flex}
  .mapempty{
    position:absolute;inset:0;display:none;align-items:center;justify-content:center;
    font-family:'Fraunces',Georgia,serif;font-style:italic;font-size:14px;color:#7a7469;z-index:2;
  }
  .mapempty.show{display:flex}

  /* ── Nav ── */
  nav{
    position:fixed;bottom:0;left:50%;transform:translateX(-50%);z-index:5;
    width:100%;max-width:430px;
    background:rgba(13,12,11,.88);backdrop-filter:blur(16px);
    border-top:1px solid #24211c;
    display:flex;align-items:stretch;padding:0 8px calc(env(safe-area-inset-bottom,10px));
  }
  nav button{
    flex:1;border:none;background:none;cursor:pointer;padding:14px 0 10px;
    font-family:'Inter',system-ui,-apple-system,sans-serif;font-size:10px;font-weight:700;letter-spacing:2px;
    text-transform:uppercase;color:#6f695d;
  }
  nav button.on{color:var(--cream)}
  nav button.on::after{
    content:"";display:block;width:20px;height:2px;background:var(--coral);
    margin:5px auto 0;border-radius:2px;
  }
  nav .mk{flex:0 0 80px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px}
  .mkplus{color:var(--coral);font-family:'Fraunces',Georgia,'Times New Roman',serif;font-size:21px;font-weight:600;line-height:1}
  .mklabel{color:var(--coral);font-size:10px;font-weight:700;letter-spacing:2px;text-transform:uppercase}