.rvrh-jm-app{--ink:#17211d;--muted:#758078;--line:#e7ebe7;--surface:#fff;--soft:#f4f7f4;--accent:#1f7a52;--accent2:#e5f5ec;max-width:100%;margin:0;background:transparent;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--ink);min-height:760px}.rvrh-jm-app *{box-sizing:border-box}.rvrh-jm-phone{position:relative;max-width:520px;min-height:760px;margin:0 auto;background:transparent;overflow:hidden;box-shadow:0 18px 55px rgba(20,50,34,.12)}.rvrh-jm-topbar{height:72px;display:flex;align-items:center;justify-content:space-between;padding:0 20px;background:rgba(251,252,251,.94);backdrop-filter:blur(12px);position:sticky;top:0;z-index:20;border-bottom:1px solid rgba(231,235,231,.75)}.rvrh-jm-logo{display:flex;align-items:center;gap:9px;font-size:20px;font-weight:850;letter-spacing:-.03em}.rvrh-jm-logo-dot{display:grid;place-items:center;width:34px;height:34px;border-radius:11px;background:var(--ink);color:#fff;font-weight:900}.rvrh-jm-top-actions{display:flex;gap:8px}.rvrh-jm-icon-btn{width:40px;height:40px;border:1px solid var(--line);border-radius:13px;background:#fff;font-size:18px;cursor:pointer}.rvrh-jm-screen{padding:0 18px 104px}.rvrh-jm-hero{padding:30px 4px 20px}.rvrh-jm-eyebrow,.rvrh-jm-small-label{font-size:11px;font-weight:850;letter-spacing:.11em;color:var(--accent);margin:0 0 7px}.rvrh-jm-hero h1{font-size:38px;line-height:1.02;letter-spacing:-.045em;margin:0 0 12px}.rvrh-jm-hero p:last-child{font-size:15px;line-height:1.55;color:var(--muted);margin:0;max-width:430px}.rvrh-jm-pillar-stack{display:grid;gap:11px}.rvrh-jm-pillar{display:grid;grid-template-columns:56px 1fr 22px;align-items:center;gap:12px;width:100%;border:0;border-radius:21px;padding:15px;text-align:left;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease}.rvrh-jm-pillar:active{transform:scale(.985)}.rvrh-jm-pillar-join{background:var(--ink);color:#fff;box-shadow:0 12px 30px rgba(23,33,29,.18)}.rvrh-jm-pillar-feel{background:#efe9ff;color:#312652}.rvrh-jm-pillar-find{background:#e6f3ff;color:#173d5b}.rvrh-jm-pillar-icon{width:52px;height:52px;display:grid;place-items:center;border-radius:17px;background:rgba(255,255,255,.18);font-size:29px;font-weight:300}.rvrh-jm-pillar-feel .rvrh-jm-pillar-icon,.rvrh-jm-pillar-find .rvrh-jm-pillar-icon{background:rgba(255,255,255,.55)}.rvrh-jm-pillar-copy strong{display:block;font-size:19px;letter-spacing:-.02em}.rvrh-jm-pillar-copy small{display:block;margin-top:3px;opacity:.72;font-size:12px}.rvrh-jm-chevron{font-size:29px;opacity:.6}.rvrh-jm-today-control{margin:18px 0 24px}.rvrh-jm-today-control label{display:block}.rvrh-jm-today-control .rvrh-jm-small-label{display:block;margin:0 0 7px 2px}.rvrh-jm-today-control select{width:100%;min-height:48px;border:1px solid var(--line);border-radius:14px;background:var(--surface);color:var(--ink);font:inherit;font-size:15px;font-weight:750;padding:0 40px 0 14px;cursor:pointer}.rvrh-jm-preview{margin-top:8px}.rvrh-jm-section-head{display:flex;align-items:center;justify-content:space-between;margin:0 2px 12px}.rvrh-jm-section-head h2{font-size:19px;letter-spacing:-.025em;margin:0}.rvrh-jm-section-head button{border:0;background:transparent;color:var(--accent);font-weight:750;cursor:pointer}.rvrh-jm-mini-list,.rvrh-jm-activity-list{display:grid;gap:12px}.rvrh-jm-mini-card,.rvrh-jm-activity-card{background:#fff;border:1px solid var(--line);border-radius:19px;padding:16px}.rvrh-jm-mini-card{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center}.rvrh-jm-mini-card h3,.rvrh-jm-activity-card h3{margin:0;font-size:17px;letter-spacing:-.02em}.rvrh-jm-mini-meta,.rvrh-jm-meta{color:var(--muted);font-size:12px;margin-top:5px;line-height:1.4}.rvrh-jm-mini-badge{display:grid;place-items:center;min-width:44px;height:44px;border-radius:14px;background:var(--soft);font-size:20px}.rvrh-jm-loading,.rvrh-jm-empty{padding:28px 12px;text-align:center;color:var(--muted);font-size:14px}.rvrh-jm-page-head{display:flex;align-items:center;gap:12px;padding:24px 0 16px}.rvrh-jm-page-head h2{font-size:30px;letter-spacing:-.04em;margin:0}.rvrh-jm-back{width:42px;height:42px;border:1px solid var(--line);border-radius:14px;background:#fff;font-size:30px;line-height:1;cursor:pointer}.rvrh-jm-filter-row{display:flex;gap:8px;overflow:auto;padding:0 0 14px;scrollbar-width:none}.rvrh-jm-filter-row::-webkit-scrollbar{display:none}.rvrh-jm-filter-row button{white-space:nowrap;border:1px solid var(--line);background:#fff;border-radius:999px;padding:8px 13px;font-size:12px;font-weight:700}.rvrh-jm-filter-row button.active{background:var(--ink);color:#fff;border-color:var(--ink)}.rvrh-jm-activity-top{display:flex;justify-content:space-between;gap:14px}.rvrh-jm-free-badge{height:max-content;background:var(--accent2);color:var(--accent);font-weight:850;font-size:10px;padding:6px 9px;border-radius:999px}.rvrh-jm-activity-desc{font-size:13px;line-height:1.5;color:#445149}.rvrh-jm-chips{display:flex;gap:7px;flex-wrap:wrap;margin:13px 0}.rvrh-jm-chip{background:var(--soft);border-radius:999px;padding:6px 9px;font-size:11px;color:#48544d}.rvrh-jm-alias{font-size:11px;background:#f8faf8;border:1px dashed #d9dfda;border-radius:12px;padding:9px 11px;margin:10px 0;color:#667069}.rvrh-jm-actions{display:flex;gap:8px;margin-top:12px}.rvrh-jm-primary,.rvrh-jm-secondary,.rvrh-jm-main-btn{border:0;border-radius:14px;font-weight:800;cursor:pointer}.rvrh-jm-primary{background:var(--ink);color:#fff;padding:11px 15px;flex:1}.rvrh-jm-secondary{background:var(--soft);color:var(--ink);padding:11px 13px}.rvrh-jm-actions button:disabled{opacity:.5}.rvrh-jm-create-form{display:grid;gap:13px}.rvrh-jm-field{display:block;background:#fff;border:1px solid var(--line);border-radius:16px;padding:10px 13px}.rvrh-jm-field span{display:block;font-size:10px;font-weight:850;letter-spacing:.08em;color:var(--muted);text-transform:uppercase;margin-bottom:3px}.rvrh-jm-field input,.rvrh-jm-field textarea{width:100%;border:0;outline:0;background:transparent;color:var(--ink);font:inherit;padding:4px 0;resize:vertical}.rvrh-jm-field-large input{font-size:20px;font-weight:750}.rvrh-jm-form-grid{display:grid;grid-template-columns:1.4fr .6fr;gap:10px}.rvrh-jm-location-btn{justify-self:start;border:0;background:transparent;color:var(--accent);font-weight:750;padding:1px 3px;cursor:pointer}.rvrh-jm-form-block{background:#fff;border:1px solid var(--line);border-radius:18px;padding:14px}.rvrh-jm-form-title{display:block;font-size:13px;font-weight:800;margin-bottom:11px}.rvrh-jm-interaction-choice{display:grid;grid-template-columns:repeat(5,1fr);gap:6px}.rvrh-jm-interaction-choice label input{position:absolute;opacity:0;pointer-events:none}.rvrh-jm-interaction-choice label span{display:grid;place-items:center;gap:3px;padding:8px 2px;border:1px solid var(--line);border-radius:13px;font-size:20px;cursor:pointer}.rvrh-jm-interaction-choice label b{font-size:9px;font-weight:750}.rvrh-jm-interaction-choice input:checked+span{border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink);background:var(--soft)}.rvrh-jm-main-btn{width:100%;background:var(--ink);color:#fff;padding:15px 18px;font-size:15px;margin-top:3px}.rvrh-jm-main-btn:disabled{opacity:.45}.rvrh-jm-form-note{text-align:center;color:var(--muted);font-size:11px;line-height:1.4;margin:0 20px}.rvrh-jm-feel-card{text-align:center;background:#f2edff;border-radius:24px;padding:28px 20px}.rvrh-jm-feel-orb{width:72px;height:72px;display:grid;place-items:center;margin:0 auto 15px;background:#fff;border-radius:24px;font-size:40px;color:#6f55b7}.rvrh-jm-feel-card h3{font-size:22px;letter-spacing:-.03em;margin:0 0 8px}.rvrh-jm-feel-card p{color:#6e6681;line-height:1.5;font-size:13px}.rvrh-jm-feel-card input{width:100%;border:1px solid #ded5f5;border-radius:14px;padding:14px;margin:9px 0;background:#fff;font:inherit}.rvrh-jm-feel-card small{display:block;margin-top:10px;color:#7b7192}.rvrh-jm-bottom-nav{position:absolute;bottom:0;left:0;right:0;height:78px;padding:8px 12px 9px;display:grid;grid-template-columns:repeat(5,1fr);align-items:end;background:rgba(255,255,255,.96);backdrop-filter:blur(16px);border-top:1px solid var(--line);z-index:22}.rvrh-jm-bottom-nav button{border:0;background:transparent;color:#89928c;display:grid;place-items:center;gap:2px;cursor:pointer}.rvrh-jm-bottom-nav button>span{font-size:21px;line-height:1}.rvrh-jm-bottom-nav small{font-size:9px;font-weight:700}.rvrh-jm-bottom-nav button.active{color:var(--ink)}.rvrh-jm-bottom-nav .rvrh-jm-center-action{align-self:start;transform:translateY(-20px)}.rvrh-jm-center-action span{width:54px;height:54px;display:grid;place-items:center;border-radius:19px;background:var(--ink);color:#fff;font-size:32px!important;box-shadow:0 9px 22px rgba(23,33,29,.25)}.rvrh-jm-sheet{position:absolute;inset:0;z-index:40}.rvrh-jm-sheet-backdrop{position:absolute;inset:0;border:0;background:rgba(12,18,15,.42);width:100%}.rvrh-jm-sheet-card{position:absolute;left:0;right:0;bottom:0;background:#fff;border-radius:26px 26px 0 0;padding:10px 18px 24px;box-shadow:0 -15px 45px rgba(0,0,0,.16)}.rvrh-jm-sheet-handle{width:44px;height:5px;border-radius:999px;background:#d9dedb;margin:0 auto 17px}.rvrh-jm-sheet-card h2{font-size:24px;letter-spacing:-.03em;margin:0}.rvrh-jm-sheet-card>p{font-size:12px;color:var(--muted);line-height:1.45;margin:7px 0 14px}.rvrh-jm-mood-list{display:grid;gap:7px}.rvrh-jm-mood-list button{width:100%;display:grid;grid-template-columns:44px 1fr 24px;gap:9px;align-items:center;text-align:left;border:1px solid var(--line);background:#fff;border-radius:15px;padding:9px 11px;cursor:pointer}.rvrh-jm-mood-list button>span{font-size:25px}.rvrh-jm-mood-list b,.rvrh-jm-mood-list small{display:block}.rvrh-jm-mood-list b{font-size:13px}.rvrh-jm-mood-list small{font-size:10px;color:var(--muted);margin-top:1px}.rvrh-jm-mood-list i{font-style:normal;color:var(--accent);opacity:0;font-weight:900}.rvrh-jm-mood-list button.selected{background:var(--accent2);border-color:#bde3ce}.rvrh-jm-mood-list button.selected i{opacity:1}.rvrh-jm-toast{position:absolute;left:50%;bottom:92px;transform:translateX(-50%);z-index:60;background:#17211d;color:#fff;border-radius:999px;padding:10px 15px;font-size:12px;font-weight:750;box-shadow:0 8px 24px rgba(0,0,0,.22);white-space:nowrap}.rvrh-jm-app [hidden]{display:none!important}.rvrh-jm-shell{max-width:520px;margin:20px auto;padding:20px}.rvrh-jm-login-card{text-align:center;background:#fff;border:1px solid #e7ebe7;border-radius:24px;padding:34px 24px;box-shadow:0 14px 40px rgba(20,50,34,.08);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif}.rvrh-jm-mark{width:56px;height:56px;margin:0 auto 14px;display:grid;place-items:center;border-radius:18px;background:#17211d;color:#fff;font-size:28px;font-weight:900}.rvrh-jm-login-card h2{margin:0;font-size:26px}.rvrh-jm-login-card p{color:#758078;line-height:1.5}.rvrh-jm-login-btn{display:inline-block;text-decoration:none;background:#17211d;color:#fff!important;padding:13px 19px;border-radius:14px;font-weight:800}.rvrh-jm-app button,.rvrh-jm-app input,.rvrh-jm-app textarea{font-family:inherit}@media(max-width:560px){.rvrh-jm-app{min-height:100svh;background:transparent}.rvrh-jm-phone{max-width:none;min-height:100svh;box-shadow:none}.rvrh-jm-topbar{height:64px}.rvrh-jm-screen{padding-left:15px;padding-right:15px}.rvrh-jm-hero{padding-top:23px}.rvrh-jm-hero h1{font-size:34px}.rvrh-jm-bottom-nav{position:fixed;left:0;right:0;max-width:100%;margin:auto}.rvrh-jm-sheet{position:fixed}.rvrh-jm-toast{position:fixed}.rvrh-jm-form-grid{grid-template-columns:1fr 110px}}
.rvrh-jm-help-list{display:grid;gap:9px;margin:14px 0}.rvrh-jm-help-list>div{border:1px solid var(--line);border-radius:15px;padding:11px 12px;background:#fbfcfb}.rvrh-jm-help-list b,.rvrh-jm-help-list small{display:block}.rvrh-jm-help-list b{font-size:13px;margin-bottom:3px}.rvrh-jm-help-list small{font-size:11px;line-height:1.45;color:var(--muted)}.rvrh-jm-help-tip{background:var(--accent2);border-radius:13px;padding:10px 12px;color:#356348!important}.rvrh-jm-tooltip{position:fixed;z-index:99999;max-width:280px;background:#17211d;color:#fff;border-radius:10px;padding:8px 10px;font-size:11px;line-height:1.4;box-shadow:0 8px 24px rgba(0,0,0,.22);pointer-events:none;opacity:0;transform:translateY(3px);transition:opacity .12s ease,transform .12s ease}.rvrh-jm-tooltip.show{opacity:1;transform:translateY(0)}.rvrh-jm-app [data-help],.rvrh-jm-app button,.rvrh-jm-app input,.rvrh-jm-app textarea,.rvrh-jm-app select{outline-offset:3px}.rvrh-jm-app [data-help]:focus-visible,.rvrh-jm-app button:focus-visible,.rvrh-jm-app input:focus-visible,.rvrh-jm-app textarea:focus-visible,.rvrh-jm-app select:focus-visible{outline:2px solid var(--accent)}


/* v0.1.5 — interaction selector replaces the former mood button in the same header slot */
.rvrh-jm-header-interaction {
    min-height: 40px;
    max-width: 150px;
    padding: 7px 28px 7px 10px;
    border: 1px solid var(--jm-border, rgba(127,127,127,.35));
    border-radius: 12px;
    background: inherit;
    color: inherit;
    font: inherit;
    font-size: 13px;
    cursor: pointer;
}
.rvrh-jm-header-interaction:focus {
    outline: 2px solid currentColor;
    outline-offset: 2px;
}
@media (max-width: 420px) {
    .rvrh-jm-header-interaction {
        max-width: 128px;
        font-size: 12px;
    }
}


/* v0.1.6 — compact icon-only interaction selector, same footprint as original header button */
.rvrh-jm-header-interaction {
    width: 40px !important;
    min-width: 40px !important;
    max-width: 40px !important;
    height: 40px !important;
    min-height: 40px !important;
    padding: 0 !important;
    border-radius: 50% !important;
    text-align: center;
    text-align-last: center;
    font-size: 18px !important;
    line-height: 40px;
    appearance: none;
    -webkit-appearance: none;
    cursor: pointer;
}
.rvrh-jm-header-interaction option {
    font-size: 18px;
}
@media (max-width: 420px) {
    .rvrh-jm-header-interaction {
        width: 40px !important;
        min-width: 40px !important;
        max-width: 40px !important;
        font-size: 18px !important;
    }
}


/* v0.1.7 — closed control shows selected icon only; open menu shows full choices */
.rvrh-jm-interaction-combo {
    position: relative;
    display: inline-flex;
    flex: 0 0 auto;
}
.rvrh-jm-interaction-toggle {
    width: 40px !important;
    min-width: 40px !important;
    max-width: 40px !important;
    height: 40px !important;
    padding: 0 !important;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    font-size: 18px;
}
.rvrh-jm-interaction-menu[hidden] {
    display: none !important;
}
.rvrh-jm-interaction-menu {
    position: absolute;
    top: calc(100% + 8px);
    right: 0;
    z-index: 1000;
    min-width: 190px;
    padding: 6px;
    border: 1px solid rgba(127,127,127,.35);
    border-radius: 12px;
    background: #fff;
    color: #111;
    box-shadow: 0 10px 28px rgba(0,0,0,.16);
}
.rvrh-jm-interaction-menu button {
    width: 100%;
    min-height: 42px;
    padding: 8px 10px;
    border: 0;
    border-radius: 9px;
    background: transparent;
    color: inherit;
    font: inherit;
    text-align: left;
    cursor: pointer;
}
.rvrh-jm-interaction-menu button:hover,
.rvrh-jm-interaction-menu button:focus,
.rvrh-jm-interaction-menu button[aria-selected="true"] {
    background: rgba(127,127,127,.14);
    outline: none;
}
.rvrh-jm-interaction-menu button span {
    margin-left: 6px;
}


/* v0.2.3 — soft friendship background
   Warm golden yellow is used as the app's friendship tone. */
.rvrh-jm-app,
.rvrh-jm-phone {
    background: #FFF9EC !important;
}


/* v0.2.4 — extend soft friendship tone across JoinMe chrome */
.rvrh-jm-topbar,
.rvrh-jm-bottom-nav,
.rvrh-jm-footer {
    background: #FFF9EC !important;
}


/* v0.2.8 — clearly visible JoinMe status */
.rvrh-jm-status-row{display:flex;justify-content:flex-start;margin-bottom:8px}
.rvrh-jm-status{display:inline-flex;align-items:center;padding:4px 10px;border-radius:999px;font-size:12px;font-weight:800;background:rgba(127,127,127,.15)}
.rvrh-jm-status-active{background:rgba(34,197,94,.16)}
.rvrh-jm-status-in_progress{background:rgba(59,130,246,.16)}
.rvrh-jm-status-cancelled{background:rgba(107,114,128,.2)}
.rvrh-jm-status-completed{background:rgba(99,102,241,.16)}
.rvrh-jm-status-rejected{background:rgba(239,68,68,.16)}


/* v0.3.0 — lifecycle timing */
.rvrh-jm-meta { line-height:1.45; }


/* v0.3.1 — Find Something status filters */
.rvrh-jm-status-filters {
    display:flex;
    gap:14px;
    flex-wrap:wrap;
    align-items:center;
    margin:0 0 14px;
    font-size:13px;
}
.rvrh-jm-status-filters label {
    display:inline-flex;
    align-items:center;
    gap:6px;
    cursor:pointer;
}
.rvrh-jm-status-filters input {
    width:18px;
    height:18px;
    margin:0;
}


/* v0.3.3 — Find Something Google Map */
.rvrh-jm-find-view-toggle{
    display:flex;
    gap:6px;
    margin:0 0 12px;
}
.rvrh-jm-find-view-toggle button{
    min-height:38px;
    padding:7px 14px;
    border:1px solid rgba(127,127,127,.28);
    border-radius:999px;
    background:transparent;
    color:inherit;
    cursor:pointer;
}
.rvrh-jm-find-view-toggle button.active{
    background:rgba(127,127,127,.16);
    font-weight:700;
}
.rvrh-jm-map-wrap{
    position:relative;
    margin-bottom:14px;
}
.rvrh-jm-map{
    width:100%;
    min-height:360px;
    border-radius:16px;
    overflow:hidden;
    background:rgba(127,127,127,.1);
}
.rvrh-jm-map-message{
    margin-top:8px;
    padding:12px;
    border:1px solid rgba(127,127,127,.25);
    border-radius:12px;
    font-size:13px;
}
.rvrh-jm-map-popup{
    max-width:220px;
    font-size:13px;
    line-height:1.45;
}


/* v0.3.4 — location validation */
.rvrh-jm-location-validation{
    display:flex;
    align-items:center;
    gap:10px;
    flex-wrap:wrap;
    margin-top:8px;
}
.rvrh-jm-location-status{
    font-size:12px;
    font-weight:700;
}
.rvrh-jm-location-status[data-state="valid"]{color:#16733b}
.rvrh-jm-location-status[data-state="invalid"]{color:#b42318}
.rvrh-jm-location-status[data-state="pending"]{opacity:.75}


/* v0.3.5 — activity-address privacy and registration cutoff */
.rvrh-jm-private-address-choice{
    margin:0 0 12px;
    padding:10px 12px;
    border:1px solid rgba(127,127,127,.22);
    border-radius:12px;
}
.rvrh-jm-private-address-choice label{
    display:flex;
    align-items:center;
    gap:8px;
    font-weight:700;
}
.rvrh-jm-private-address-choice small,
.rvrh-jm-field small{
    display:block;
    margin-top:5px;
    font-size:12px;
    opacity:.72;
}

.rvrh-jm-distance-panel{margin:0 0 12px;padding:10px 12px;border:1px solid rgba(127,127,127,.22);border-radius:12px}
.rvrh-jm-distance-head{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;align-items:center;margin-bottom:8px}
.rvrh-jm-distance-head span{font-size:12px;opacity:.72}
.rvrh-jm-distance-panel label{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:13px}
.rvrh-jm-distance-panel select{min-height:36px;padding:5px 28px 5px 8px}


/* v0.4.0 — radius selector styled to match JoinMe controls */
.rvrh-jm-distance-panel {
    background: rgba(255,255,255,.34);
}

.rvrh-jm-distance-panel label {
    display:inline-flex;
    align-items:center;
    gap:8px;
    padding:6px 8px 6px 12px;
    border:1px solid rgba(127,127,127,.22);
    border-radius:999px;
    background:rgba(255,255,255,.58);
    font-weight:600;
}

.rvrh-jm-distance-panel label > span {
    font-size:13px;
    opacity:.82;
}

.rvrh-jm-distance-panel select {
    appearance:none;
    -webkit-appearance:none;
    min-height:34px;
    height:34px;
    margin:0;
    padding:0 30px 0 10px;
    border:0;
    border-radius:999px;
    background:
        linear-gradient(45deg, transparent 50%, currentColor 50%) calc(100% - 13px) 14px/5px 5px no-repeat,
        linear-gradient(135deg, currentColor 50%, transparent 50%) calc(100% - 9px) 14px/5px 5px no-repeat,
        rgba(255,255,255,.78);
    color:inherit;
    font:inherit;
    font-size:13px;
    font-weight:700;
    line-height:34px;
    cursor:pointer;
    box-shadow:none;
}

.rvrh-jm-distance-panel select:hover {
    background-color:rgba(255,255,255,.92);
}

.rvrh-jm-distance-panel select:focus {
    outline:2px solid currentColor;
    outline-offset:2px;
}

.rvrh-jm-distance-panel select:disabled {
    opacity:.55;
    cursor:not-allowed;
}


/* v0.4.1 — explicit Find Something search origin */
.rvrh-jm-search-origin{
    display:flex;
    align-items:center;
    gap:8px;
    flex-wrap:wrap;
    margin-bottom:10px;
}
.rvrh-jm-search-origin-label{
    font-size:13px;
    font-weight:700;
}
.rvrh-jm-origin-btn{
    min-height:36px;
    padding:7px 12px;
    border:1px solid rgba(127,127,127,.22);
    border-radius:999px;
    background:rgba(255,255,255,.58);
    color:inherit;
    font:inherit;
    font-size:13px;
    cursor:pointer;
}
.rvrh-jm-origin-btn:hover{
    background:rgba(255,255,255,.8);
}


/* v0.4.4 — temporary account-address diagnostic */
.rvrh-jm-address-diagnostic{
    width:100%;
    margin-top:10px;
    padding-top:8px;
    border-top:1px solid rgba(127,127,127,.18);
}
.rvrh-jm-address-diagnostic summary{
    cursor:pointer;
    font-size:12px;
    font-weight:700;
}
#jm-address-diagnostic-body{
    margin-top:8px;
    padding:10px;
    border-radius:10px;
    background:rgba(255,255,255,.5);
    font-size:12px;
    line-height:1.55;
}
#jm-address-diagnostic-body hr{
    border:0;
    border-top:1px solid rgba(127,127,127,.18);
    margin:7px 0;
}


/* v0.5.0 — participation state in map/list */
.rvrh-jm-map-popup-actions{
    margin-top:10px;
    display:flex;
    align-items:center;
    gap:8px;
    flex-wrap:wrap;
}
.rvrh-jm-map-action{
    min-height:36px;
    padding:7px 12px;
    border:1px solid rgba(127,127,127,.25);
    border-radius:999px;
    background:#fff;
    color:#111;
    font:inherit;
    font-weight:700;
    cursor:pointer;
}
.rvrh-jm-map-state{
    font-weight:700;
}
.rvrh-jm-map-state-in,
.rvrh-jm-youre-in{
    font-weight:800;
}
.rvrh-jm-youre-in{
    display:inline-flex;
    align-items:center;
    min-height:36px;
    padding:0 4px;
}

/* v0.5.2 — My Activities */
.rvrh-jm-my-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 14px}
.rvrh-jm-my-tabs button{min-height:38px;padding:7px 12px;border:1px solid rgba(127,127,127,.22);border-radius:999px;background:rgba(255,255,255,.45);color:inherit;font:inherit;font-size:13px;cursor:pointer}
.rvrh-jm-my-tabs button.active{background:rgba(255,255,255,.8);font-weight:800}
.rvrh-jm-my-list{display:grid;gap:12px}


/* v0.5.4 — inactive / disabled lifecycle */
.rvrh-jm-status-inactive{background:rgba(245,158,11,.16)}
.rvrh-jm-status-disabled{background:rgba(17,24,39,.14)}
.rvrh-jm-disabled-note{
    display:inline-flex;
    align-items:center;
    min-height:36px;
    font-size:13px;
    font-weight:800;
    opacity:.72;
}


/* v0.6.0 — recurrence controls */
.rvrh-jm-field select[name="recurrence_rule"]{
    min-height:42px;
    border-radius:12px;
}

.rvrh-jm-owner-status{margin-top:10px}
.rvrh-jm-owner-status label{display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:700}
.rvrh-jm-owner-status select{min-height:34px;padding:5px 28px 5px 10px;border-radius:999px;border:1px solid rgba(127,127,127,.22);background:rgba(255,255,255,.62);color:inherit;font:inherit}


/* v0.8.0 — My Activities current-first filtering */
.rvrh-jm-my-history-toggle{
    display:inline-flex;
    align-items:center;
    gap:8px;
    margin:0 0 10px;
    font-size:13px;
    font-weight:700;
}
.rvrh-jm-my-history-toggle input{
    width:16px;
    height:16px;
}

.rvrh-jm-load-completed-wrap{display:flex;justify-content:center;margin-top:18px;padding-top:12px}
.rvrh-jm-load-completed-wrap button{min-width:160px}


/* v1.0.0 — unified JoinMe intent flow */
.rvrh-jm-intent-block{
    margin-bottom:18px;
    padding:16px;
    border-radius:18px;
    background:rgba(255,255,255,.28);
    backdrop-filter:blur(8px);
}
.rvrh-jm-intent-block h2{
    margin:4px 0 12px;
}
.rvrh-jm-intent-search{
    display:flex;
    gap:8px;
    align-items:center;
}
.rvrh-jm-intent-search input{
    flex:1;
    min-width:0;
    min-height:44px;
    border-radius:14px;
    border:1px solid rgba(127,127,127,.22);
    padding:10px 12px;
    font:inherit;
}
.rvrh-jm-intent-results{
    display:grid;
    gap:10px;
    margin-top:14px;
}
.rvrh-jm-intent-heading{
    font-size:13px;
    font-weight:800;
    opacity:.72;
}
#jm-intent-create{
    margin-top:12px;
}


/* v1.0.1 — intent search moved to Find Something */
[data-panel="nearby"] .rvrh-jm-intent-block{
    margin-top:10px;
    margin-bottom:16px;
}

/* v1.0.7 — recurring participation sheet */
.rvrh-jm-recurring-sheet{
    position:fixed;
    inset:0;
    z-index:99999;
    display:flex;
    align-items:flex-end;
    justify-content:center;
    padding:18px;
    background:rgba(0,0,0,.28);
}
.rvrh-jm-recurring-sheet[hidden]{display:none}
.rvrh-jm-recurring-card{
    position:relative;
    width:min(520px,100%);
    padding:20px;
    border-radius:22px;
    background:rgba(255,255,255,.96);
    box-shadow:0 18px 60px rgba(0,0,0,.2);
}
.rvrh-jm-recurring-card h3{margin:4px 34px 14px 0}
.rvrh-jm-recurring-close{
    position:absolute;
    top:10px;
    right:12px;
    width:34px;
    height:34px;
    border:0;
    border-radius:50%;
    background:rgba(0,0,0,.07);
    font-size:22px;
    cursor:pointer;
}
.rvrh-jm-recurring-option{
    width:100%;
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    gap:3px;
    margin-top:9px;
    padding:13px 14px;
    border:1px solid rgba(127,127,127,.2);
    border-radius:15px;
    background:rgba(255,255,255,.7);
    color:inherit;
    text-align:left;
    font:inherit;
    cursor:pointer;
}
.rvrh-jm-recurring-option strong{font-size:14px}
.rvrh-jm-recurring-option small{opacity:.7}
.rvrh-jm-recurring-next{cursor:default}
.rvrh-jm-recurring-count-row{
    width:100%;
    display:flex;
    gap:8px;
    margin-top:8px;
}
.rvrh-jm-recurring-count-row input{
    width:90px;
    min-height:40px;
    border:1px solid rgba(127,127,127,.22);
    border-radius:12px;
    padding:8px 10px;
    font:inherit;
}

/* v1.0.8 — no-match decision view */
.rvrh-jm-intent-no-match{
    margin-top:14px;
    padding:16px;
    border-radius:18px;
    background:rgba(255,255,255,.34);
}
.rvrh-jm-intent-no-match h3{
    margin:0 0 8px;
}
.rvrh-jm-intent-no-match p{
    margin:0 0 14px;
    line-height:1.45;
}
.rvrh-jm-intent-no-match-actions{
    display:grid;
    grid-template-columns:1fr;
    gap:8px;
}
.rvrh-jm-intent-note{
    display:block;
    margin-top:10px;
    opacity:.7;
    line-height:1.4;
}

/* v1.0.19 — creator registrant IDs */
.rvrh-jm-creator-registrants{
    margin-top:12px;
    padding:12px;
    border-radius:14px;
    background:rgba(255,255,255,.28);
}
.rvrh-jm-creator-registrants-title{
    font-weight:800;
    margin-bottom:8px;
}
.rvrh-jm-reg-group + .rvrh-jm-reg-group{
    margin-top:8px;
}
.rvrh-jm-reg-group strong{
    display:block;
    font-size:12px;
    margin-bottom:5px;
}
.rvrh-jm-reg-ids{
    display:flex;
    flex-wrap:wrap;
    gap:6px;
}
.rvrh-jm-reg-id{
    display:inline-flex;
    align-items:center;
    min-height:28px;
    padding:4px 8px;
    border-radius:999px;
    background:rgba(255,255,255,.65);
    font-size:12px;
    font-weight:700;
}
.rvrh-jm-reg-empty{
    font-size:12px;
    opacity:.65;
}

/* v1.0.20 — creator registration progress */
.rvrh-jm-progress-head{
    display:flex;
    justify-content:space-between;
    gap:12px;
    align-items:center;
    margin-bottom:8px;
}
.rvrh-jm-progress-head span{
    font-size:12px;
    font-weight:700;
    opacity:.72;
}
.rvrh-jm-progress-track{
    width:100%;
    height:14px;
    overflow:hidden;
    border-radius:999px;
    background:rgba(0,0,0,.08);
}
.rvrh-jm-progress-fill{
    height:100%;
    border-radius:999px;
    background:currentColor;
    opacity:.75;
    transition:width .25s ease;
}
.rvrh-jm-progress-stats{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:6px;
    margin-top:9px;
}
.rvrh-jm-progress-stats span{
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    min-height:54px;
    padding:6px 4px;
    border-radius:12px;
    background:rgba(255,255,255,.45);
    font-size:11px;
    text-align:center;
}
.rvrh-jm-progress-stats strong{
    display:block;
    font-size:16px;
    line-height:1.1;
}
.rvrh-jm-registrant-details{
    margin-top:10px;
}
.rvrh-jm-registrant-details summary{
    cursor:pointer;
    font-size:12px;
    font-weight:800;
}
@media (max-width:520px){
    .rvrh-jm-progress-stats{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}

/* v1.0.22 — paid waiting-list spots */
.rvrh-jm-paid-waitlist{
    margin-top:12px;
    padding:12px;
    border-radius:14px;
    background:rgba(255,255,255,.46);
}
.rvrh-jm-paid-waitlist p{
    margin:5px 0 10px;
    font-size:12px;
    line-height:1.4;
}
.rvrh-jm-paid-waitlist-controls{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:8px;
}
.rvrh-jm-paid-waitlist-controls label{
    display:flex;
    flex-direction:column;
    gap:4px;
    font-size:11px;
    font-weight:700;
}
.rvrh-jm-paid-waitlist-controls input{
    min-height:38px;
    border-radius:10px;
    border:1px solid rgba(127,127,127,.22);
    padding:7px 9px;
    font:inherit;
}
.rvrh-jm-paid-waitlist-controls button{
    grid-column:1/-1;
}

/* v1.0.23 — paid spot strategy */
.rvrh-jm-paid-mode{
    display:grid;
    gap:7px;
    margin:10px 0;
}
.rvrh-jm-paid-mode label{
    display:flex;
    gap:8px;
    align-items:flex-start;
    padding:9px;
    border-radius:11px;
    background:rgba(255,255,255,.48);
    cursor:pointer;
}
.rvrh-jm-paid-mode input{
    margin-top:3px;
}
.rvrh-jm-paid-mode span{
    display:flex;
    flex-direction:column;
    gap:2px;
}
.rvrh-jm-paid-mode small{
    font-size:11px;
    font-weight:400;
    opacity:.72;
}
.rvrh-jm-paid-waitlist-controls select{
    min-height:38px;
    border-radius:10px;
    border:1px solid rgba(127,127,127,.22);
    padding:7px 9px;
    font:inherit;
}

/* v1.0.24 — JoinMe to Event promotion */
.rvrh-jm-event-convert,.rvrh-jm-event-mode{
    margin-top:12px;
    padding:12px;
    border-radius:14px;
    background:rgba(255,255,255,.52);
}
.rvrh-jm-event-convert{
    display:flex;
    gap:10px;
    align-items:center;
    justify-content:space-between;
    flex-wrap:wrap;
}
.rvrh-jm-event-convert div,.rvrh-jm-event-mode{
    display:flex;
    flex-direction:column;
    gap:2px;
}
.rvrh-jm-event-convert span,.rvrh-jm-event-mode span{
    font-size:11px;
    opacity:.7;
}

/* v1.0.26 — explicit participant registration state */
.rvrh-jm-participant-state{
    display:inline-flex;
    align-items:center;
    width:max-content;
    margin:7px 0 2px;
    padding:5px 9px;
    border-radius:999px;
    font-size:12px;
    font-weight:800;
    letter-spacing:.01em;
    background:rgba(255,255,255,.58);
}
.rvrh-jm-participant-confirmed{
    outline:1px solid rgba(0,120,70,.25);
}
.rvrh-jm-participant-waiting{
    outline:1px solid rgba(180,120,0,.28);
}
.rvrh-jm-participant-pending{
    outline:1px solid rgba(120,90,200,.28);
}

/* v1.0.33 — add free capacity */
.rvrh-jm-free-spots{
    margin-top:12px;
    padding:12px;
    border-radius:14px;
    background:rgba(255,255,255,.46);
}
.rvrh-jm-free-spots p{
    margin:5px 0 9px;
    font-size:12px;
    line-height:1.4;
}
.rvrh-jm-free-spots-controls{
    display:flex;
    gap:8px;
    flex-wrap:wrap;
}
.rvrh-jm-free-spots-controls input{
    width:90px;
    min-height:38px;
    border-radius:10px;
    border:1px solid rgba(127,127,127,.22);
    padding:7px 9px;
    font:inherit;
}

.rvrh-jm-clone-paid-setup{
    margin-bottom:14px;
    padding:14px;
    border-radius:16px;
    background:rgba(255,255,255,.46);
}
.rvrh-jm-clone-paid-setup h3{margin:4px 0 6px}
.rvrh-jm-clone-paid-setup p{margin:0 0 10px;font-size:12px;line-height:1.45}
.rvrh-jm-clone-paid-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.rvrh-jm-clone-paid-grid label{display:flex;flex-direction:column;gap:4px;font-size:11px;font-weight:700}
.rvrh-jm-clone-paid-grid input{min-height:38px;border:1px solid rgba(127,127,127,.22);border-radius:10px;padding:7px 9px;font:inherit}
@media(max-width:560px){.rvrh-jm-clone-paid-grid{grid-template-columns:1fr}}

.rvrh-jm-memory-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.rvrh-jm-memory-actions a{text-decoration:none}
.rvrh-jm-memory-modal{position:fixed;inset:0;z-index:99999;background:rgba(0,0,0,.72);padding:20px;overflow:auto}
.rvrh-jm-memory-dialog{position:relative;max-width:900px;margin:3vh auto;background:#fff;color:#111;border-radius:16px;padding:20px}
.rvrh-jm-memory-close{position:absolute;right:12px;top:10px;border:0;background:transparent;font-size:28px;cursor:pointer}
.rvrh-jm-memory-channel{font-size:13px;color:#666;margin:-6px 40px 16px 0}.rvrh-jm-memory-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}
.rvrh-jm-memory-clip{border:1px solid #ddd;border-radius:12px;overflow:hidden;background:#fafafa}.rvrh-jm-memory-clip iframe,.rvrh-jm-memory-clip video,.rvrh-jm-memory-clip img{display:block;width:100%;aspect-ratio:9/16;object-fit:cover;border:0;background:#000}.rvrh-jm-memory-clip>div{padding:10px}.rvrh-jm-memory-clip strong,.rvrh-jm-memory-clip span{display:block}.rvrh-jm-memory-clip span{font-size:12px;color:#666;margin-top:3px}

.rvrh-jm-capture-dialog{max-width:720px}
.rvrh-jm-capture-stage{background:#000;border-radius:14px;overflow:hidden;min-height:220px;display:flex;align-items:center;justify-content:center}
.rvrh-jm-capture-stage video{width:100%;max-height:60vh;display:block;background:#000}
.rvrh-jm-capture-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.rvrh-jm-capture-status{min-height:22px;margin-top:10px;font-size:13px}

.rvrh-jm-memory-status{margin-top:6px;font-weight:700;font-size:11px;text-transform:uppercase;letter-spacing:.04em}

.rvrh-jm-inline-memories{
    margin-top:12px;
    padding-top:10px;
    border-top:1px solid rgba(127,127,127,.18);
}
.rvrh-jm-inline-memory-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    margin-bottom:8px;
}
.rvrh-jm-inline-memory-head strong{
    font-size:13px;
}
.rvrh-jm-memory-small{
    padding:6px 10px;
    min-height:auto;
    font-size:12px;
}
.rvrh-jm-inline-memory-cards{
    display:flex;
    gap:10px;
    overflow-x:auto;
    padding-bottom:4px;
    scroll-snap-type:x proximity;
}
.rvrh-jm-inline-memory-cards .rvrh-jm-memory-clip{
    flex:0 0 150px;
    scroll-snap-align:start;
}
.rvrh-jm-inline-memory-cards .rvrh-jm-memory-clip iframe,
.rvrh-jm-inline-memory-cards .rvrh-jm-memory-clip video,
.rvrh-jm-inline-memory-cards .rvrh-jm-memory-clip img{
    aspect-ratio:9/16;
}

.rvrh-jm-inline-memories{
    display:block!important;
    margin-top:12px;
    padding:10px 0 8px;
    border-top:1px solid rgba(127,127,127,.18);
}
.rvrh-jm-inline-memory-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    margin-bottom:8px;
}
.rvrh-jm-inline-memory-head strong{font-size:13px}
.rvrh-jm-inline-memory-cards{
    display:flex;
    gap:10px;
    overflow-x:auto;
    min-height:60px;
    padding-bottom:4px;
}
.rvrh-jm-inline-memory-cards .rvrh-jm-memory-clip{
    flex:0 0 150px;
}
.rvrh-jm-memory-small{
    padding:6px 10px;
    min-height:auto;
    font-size:12px;
}

/* v1.0.53 Memory Clips: preview cards only, no inline playback */
.rvrh-jm-inline-memory-cards{
    display:grid!important;
    grid-template-columns:repeat(auto-fill,minmax(120px,1fr));
    gap:10px;
    overflow:visible!important;
    min-height:60px;
    padding-bottom:4px;
}
.rvrh-jm-inline-memory-cards .rvrh-jm-memory-clip{
    min-width:0!important;
    width:auto!important;
    flex:none!important;
    border:1px solid rgba(127,127,127,.22);
    border-radius:10px;
    overflow:hidden;
    background:rgba(127,127,127,.06);
}
.rvrh-jm-memory-thumb{
    width:100%;
    aspect-ratio:4/3;
    overflow:hidden;
    background:#111;
    display:flex;
    align-items:center;
    justify-content:center;
}
.rvrh-jm-memory-thumb img{
    width:100%;
    height:100%;
    display:block;
    object-fit:cover;
}
.rvrh-jm-memory-placeholder{
    font-size:32px;
    line-height:1;
}
.rvrh-jm-memory-copy{
    padding:8px;
}
.rvrh-jm-memory-copy strong,
.rvrh-jm-memory-copy span{
    display:block;
}
.rvrh-jm-memory-copy strong{
    font-size:12px;
    line-height:1.3;
}
.rvrh-jm-memory-copy span{
    margin-top:3px;
    font-size:10px;
    opacity:.75;
}

/* v1.0.54: inline cards stay previews; click opens the player */
.rvrh-jm-memory-clip{cursor:pointer}
.rvrh-jm-memory-thumb{position:relative}
.rvrh-jm-memory-play{
    position:absolute;
    left:50%;
    top:50%;
    transform:translate(-50%,-50%);
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:36px;
    height:36px;
    padding:0 10px;
    border-radius:999px;
    background:rgba(0,0,0,.72);
    color:#fff;
    font-size:14px;
    font-weight:700;
}
.rvrh-jm-memory-player-dialog{max-width:820px}
.rvrh-jm-memory-player-media{
    background:#000;
    border-radius:12px;
    overflow:hidden;
    display:flex;
    align-items:center;
    justify-content:center;
    min-height:260px;
}
.rvrh-jm-memory-player-media video,
.rvrh-jm-memory-player-media iframe,
.rvrh-jm-memory-player-media img{
    display:block;
    width:100%;
    max-height:72vh;
    border:0;
    object-fit:contain;
    background:#000;
}
.rvrh-jm-memory-player-media iframe{
    aspect-ratio:9/16;
}
.rvrh-jm-memory-player-copy{padding-top:12px}
.rvrh-jm-memory-player-copy h2{margin:0 0 4px}
.rvrh-jm-memory-player-meta{font-size:12px;opacity:.75}

/* v1.0.56: clip cards and playback are owned by RVRH Clips */
.rvrh-jm-inline-memory-cards{display:block!important;overflow:visible!important}
