/* Readable Portal surfaces, mobile first. */
:root { --text-secondary:#d2d2d5; --text-dim:#a7a0ae; --text-muted:#b4adbd; }
button,input { font:inherit; }
button { cursor:pointer; }
:focus-visible { outline:2px solid #84cfc3; outline-offset:4px; }
.ux-page-heading { padding:18px 16px 22px; }
.ux-page-heading h1 { font-family:'Oswald',sans-serif; font-size:32px; line-height:1.12; font-weight:700; color:#ffffff; margin:6px 0 10px; }
.ux-page-heading p { color:#d2d2d5; font-size:14px; line-height:1.5; }
.ux-eyebrow,.ux-page-heading .ux-eyebrow { color:#84cfc3; font-size:11px; letter-spacing:.12em; font-weight:600; }
#circles-list { display:block; }
#circles-list > .community-search-bar { order:-1; }
#circles-list .community-search-bar span { color:#d2d2d5!important; }
.ux-circle-empty { margin:0 16px; padding:24px; background:#141416; border:1px solid #514a51; border-radius:16px; }
.ux-circle-empty h2 { font-size:21px; margin-bottom:8px; }
.ux-circle-empty p,.ux-muted { font-size:14px;line-height:1.6;color:#d2d2d5;margin-bottom:14px; }
.ux-button { border:0;border-radius:10px;background:#ffa300;color:#141416;font-size:14px;font-weight:700;padding:13px 18px;min-height:44px; }
.ux-local-events { padding:20px 16px 8px; }
.ux-local-events:empty { display:none; }
.ux-section-head { display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px; }
.ux-section-head h2,#ux-continue h2 { font-size:18px; font-weight:600; }
.ux-section-head button { background:none;border:0;color:#84cfc3;min-height:44px;font-size:13px; }
.ux-local-event { width:100%;display:flex;align-items:center;gap:14px;text-align:left;color:#ffffff;background:#141416;border:1px solid #303034;border-radius:12px;padding:16px;margin-bottom:10px; }
.ux-local-event > span:nth-child(2) { flex:1;min-width:0; }
.ux-local-event strong {font-size:15px;line-height:1.4;display:block;}
.ux-local-event small {display:block;color:#d2d2d5;line-height:1.5;margin-top:4px;}
.ux-local-date {color:#ff9abb;font-size:13px;min-width:45px;}
.ux-network { margin:24px 16px; border-top:1px solid #303034;padding-top:12px; }
.ux-network summary { padding:14px 0;color:#d2d2d5;font-size:14px;cursor:pointer; }
#screen-circles .section-title {font-size:13px;color:#d2d2d5;}
.ux-event-tools {display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:0 16px 16px;}
.ux-filter,.ux-date-label {background:#141416;border:1px solid #424248;border-radius:10px;color:#ffffff;padding:10px 12px;min-height:44px;font-size:13px;}
.ux-filter[aria-pressed=true] {background:#84cfc3;color:#172a27;border-color:#84cfc3;font-weight:600;}
.ux-date-label {display:flex;gap:8px;align-items:center;flex-wrap:wrap;}
.ux-date-label input {background:transparent;border:0;color:#ffffff;color-scheme:dark;font-size:14px;min-width:0;max-width:150px;}
.ux-reset {border:0;background:none;color:#d2d2d5;text-decoration:underline;padding:10px;min-height:44px;font-size:13px;}
.events-city-pill {font-family:inherit;min-height:40px;}
#events-result-count {font-size:13px;color:#d2d2d5;padding-top:8px;padding-bottom:8px;}
.event-card-venue,.event-card-desc {color:#d2d2d5!important;font-size:13px!important;line-height:1.5!important;}
.event-card-desc:empty {display:none;}
.event-card-date {font-size:13px!important;color:#ff9abb!important;}
.event-card-title {font-size:16px!important;line-height:1.4!important;}
.event-card {background:#141416!important;border-color:#303034!important;box-shadow:none!important;}
.event-card-accent {opacity:.45;}
.ux-event-price {font-size:13px;color:#84cfc3;margin-top:8px;}
.ux-detail-location,.ux-rsvp-note {color:#d2d2d5;font-size:14px;line-height:1.65;margin:16px 0;}
.ux-rsvp-note {padding:16px 0;border-top:1px solid #303034;}
.ux-circle-link {width:100%;text-align:left;background:#293532;color:#ffffff;border:1px solid #536f68;border-radius:12px;padding:16px;margin:12px 0;font-size:15px;}
.ux-circle-link span {display:block;font-size:13px;color:#a9dfd5;margin-top:6px;}
#rsvp-interested-btn {flex:0 1 32%;background:#141416!important;color:#ffffff!important;border:1px solid #817585!important;box-shadow:none!important;}
#rsvp-interested-btn.interested {border-color:#84cfc3!important;color:#84cfc3!important;}
#rsvp-btn {background:linear-gradient(110deg,#ffa300,#ff629a)!important;color:#141416!important;box-shadow:none!important;}
.event-detail-rsvp-bar {gap:8px!important;padding:12px max(12px,env(safe-area-inset-right)) calc(12px + env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left))!important;}
.event-detail-rsvp-bar .rsvp-btn {font-size:14px!important;min-height:48px;}
.ux-hub-heading {display:flex;gap:18px;align-items:center;}
.ux-hub-heading img {width:88px;height:auto;flex-shrink:0;}
.ux-hub-heading h1 {font-size:25px;margin-bottom:0;}
#ux-hub-feature {padding:0 16px;}
.ux-feature {position:relative;display:block;width:100%;border:0;border-radius:16px;overflow:hidden;text-align:left;background:#141416;min-height:285px;color:#ffffff;}
.ux-feature > img {width:100%;height:100%;position:absolute;inset:0;object-fit:cover;object-position:center 30%;}
.ux-feature:after {content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.93),rgba(0,0,0,.08) 100%);}
.ux-feature-copy {position:relative;z-index:1;display:flex;flex-direction:column;justify-content:flex-end;padding:24px;min-height:285px;gap:12px;}
.ux-feature-copy strong {font-family:'Oswald',sans-serif;font-weight:700;font-size:28px;line-height:1.15;max-width:520px;}
.ux-feature-play {font-size:14px;font-weight:600;color:#ffffff;}
.ux-hub-links {padding:16px;display:grid;gap:8px;grid-template-columns:1fr;}
.ux-hub-links button {border:1px solid #303034;border-radius:12px;background:#141416;padding:15px;text-align:left;color:#ffffff;font-size:16px;font-weight:600;}
.ux-hub-links span {display:block;color:#d2d2d5;font-size:13px;font-weight:400;line-height:1.5;margin-top:4px;}
#ux-continue {padding:22px 16px 0;}
.ux-resume {display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:10px;padding:16px;background:#141416;color:#ffffff;text-align:left;width:100%;border:1px solid #303034;border-radius:12px;font-size:14px;}
.ux-resume > span:first-child {flex:1;min-width:170px;}
.ux-resume small {display:block;margin-top:5px;color:#d2d2d5;}
.ux-resume progress {width:70px;height:5px;accent-color:#84cfc3;}
#portal-hub-member-card {text-align:left!important;}
.ux-journey-tabs {display:flex;gap:6px;padding:5px;background:#141416;border:1px solid #424248;border-radius:12px;}
.ux-journey-tabs button {flex:1;background:transparent;color:#d2d2d5;border:0;padding:13px 5px;border-radius:8px;min-height:46px;font-size:15px;}
.ux-journey-tabs button[aria-pressed=true] {background:#84cfc3;color:#172a27;font-weight:600;}
.ux-journey-intro {color:#d2d2d5;line-height:1.6;font-size:15px;margin:18px 0;}
.ux-support {display:flex;gap:8px;flex-wrap:wrap;align-items:center;padding:16px;background:#141416;border:1px solid #424248;border-radius:12px;margin-bottom:20px;}
.ux-support > div {flex:1;min-width:150px;}
.ux-support strong {display:block;font-size:15px;}
.ux-support span {display:block;font-size:13px;color:#d2d2d5;margin-top:5px;}
.ux-support a {display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 14px;border-radius:8px;background:#3b3023;color:#ffd08a;text-decoration:none;font-size:14px;}
#journey-tab-content .resource-desc {color:#d2d2d5;font-size:14px;line-height:1.5;}
#journey-tab-content .resource-name {font-size:16px;}
#journey-tab-content .resource-item {min-height:72px;}
.ux-journey-calm .starfield,.ux-journey-calm #starfield,.ux-journey-calm .portal-speckle:before,.ux-journey-calm .portal-speckle:after {display:none!important;}
.ux-journey-calm * {animation:none!important;transition:none!important;}
.ds-nav-item,.nav-tab {color:#bdb4c7!important;}
.ds-nav-item.active,.nav-tab.active {color:#ffffff!important;}
@media (min-width:768px) {
 .ux-page-heading h1 {font-size:40px;}
 .ux-hub-heading h1 {font-size:32px;}
 .ux-hub-links {grid-template-columns:repeat(3,minmax(0,1fr));}
 .ux-feature,.ux-feature-copy {min-height:320px;}
 .ux-feature-copy strong {font-size:38px;}
 .ux-feature > img {object-position:center 35%;}
 .ux-event-tools {flex-wrap:nowrap;}
 .event-detail-rsvp-bar {justify-content:center;}
 .event-detail-rsvp-bar .rsvp-btn {max-width:300px;}
 .event-detail-hero {max-height:360px;}
}
@media (prefers-reduced-motion:reduce) { .portal-speckle:before,.portal-speckle:after {animation:none!important;} .ux-feature,*[class^="ux-"] {transition:none!important;} }
#journey-tab-content {padding:0 16px 24px;}
#screen-portal .screen-content {padding-top:12px!important;}
#ux-local-people {padding:12px 16px;}
#ux-local-people:empty {display:none;}
#ux-local-people h2 {font-size:16px;margin-bottom:12px;}
.ux-people {display:flex;gap:12px;overflow-x:auto;padding:4px 0 12px;}
.ux-people button {border:0;background:none;color:#ffffff;flex:0 0 80px;display:flex;align-items:center;flex-direction:column;gap:8px;font-size:12px;}
@media (min-width:768px) {#journey-tab-content {padding:0 0 24px;}}
.ux-conversation-cta {display:block;color:#84cfc3;font-size:14px;font-weight:600;margin-top:12px;}
#my-circle-container .my-circle {border-color:#536f68;background:#252d2b;}
@media (min-width:768px) {
 #screen-events > .ux-events-heading,#screen-events > .ux-event-tools {width:100%;max-width:1240px;align-self:center;}
}
@media (min-width:768px) {
 #event-detail .event-detail-rsvp-bar {justify-content:center!important;}
 #event-detail-hero {height:320px!important;max-height:320px!important;}
}
@media (min-width:768px) {
 .ux-feature > img {left:auto;right:0;width:55%;object-position:center 20%;}
 .ux-feature:after {background:linear-gradient(90deg,#09090b 0%,#09090b 35%,rgba(9,9,11,.55) 58%,rgba(9,9,11,0) 100%);}
 .ux-feature-copy strong {max-width:48%;}
}

/* Crisp neutral foundation: white type, ink canvas, distinct raised surfaces. */
:root {
 --portal-dark:#08080a; --portal-darker:#050506; --bg-deep:#08080a;
 --bg-glass:rgba(10,10,12,.96); --bg-glass-solid:#101012;
 --bg-card:#141416; --bg-elevated:#1c1c20;
 --warm-white:#fff; --text-primary:#fff; --text-secondary:#d2d2d5;
 --text-dim:#a9a9b0; --text-muted:#bcbcc3; --border-glass:rgba(255,255,255,.14);
}
html,body {background:#08080a!important;color:#fff;}
#screen-circles,#screen-events,#screen-portal,#screen-journey {background-color:#08080a!important;}
#desktop-sidebar,#bottom-nav {background:#0b0b0d!important;border-color:#29292d!important;}
.ds-nav-item,.nav-tab {color:#d2d2d5!important;}
.ds-nav-item.active,.nav-tab.active {color:#fff!important;}
.community-search-bar,.events-search-input,.city-dropdown-search {background:#101012!important;color:#fff!important;border-color:#36363b!important;}
input::placeholder {color:#bcbcc3!important;opacity:1;}
.event-card-title,.circle-name,.resource-name,.ux-page-heading h1 {color:#fff!important;}
.events-city-pill,.event-filter {color:#d2d2d5;border-color:#36363b;}
.events-city-pill.active {background:#fff!important;color:#08080a!important;border-color:#fff!important;font-weight:600;}
.city-dropdown-item {display:flex;width:100%;justify-content:space-between;gap:12px;text-align:left;font:inherit;color:#fff;background:transparent;border:0;border-bottom:1px solid #29292d;min-height:48px;}
.city-dropdown-item.active {background:#202024;color:#84cfc3;}
.city-dropdown-item:hover {background:#202024;}
.city-dropdown-list,.city-dropdown-content {background:#101012;}
#my-circle-container .circle-card {background:#111917!important;border:1px solid #40645b!important;box-shadow:inset 3px 0 #84cfc3;}
#my-circle-container .circle-name {color:#fff!important;}
#my-circle-container .circle-meta {color:#d2d2d5!important;}
.ux-local-event:hover,.ux-hub-links button:hover,.event-card:hover {border-color:#696970!important;background:#19191d!important;}
.ux-city-suggestions {padding:0 16px 12px;display:flex;flex-wrap:wrap;gap:8px;}
.ux-city-suggestions:empty {display:none;}
.ux-city-suggestions button {background:#fff;color:#08080a;border:0;border-radius:8px;padding:12px 14px;min-height:44px;font-size:14px;font-weight:600;}
@media(min-width:768px) {.ux-city-suggestions {width:100%;max-width:1240px;align-self:center;}}

/* City results must sit above the app navigation, including one-result searches. */
#city-dropdown-overlay {z-index:100010;}
#city-dropdown-overlay .city-dropdown {background:#101012;padding-bottom:env(safe-area-inset-bottom,0px);max-height:70dvh;}
#city-dropdown-overlay .city-dropdown-header {display:flex;align-items:center;gap:10px;}
#city-dropdown-search {min-width:0;flex:1;font-size:16px;}
.ux-city-close {flex:0 0 44px;min-height:44px;border:1px solid #424248;background:#1c1c20;color:#fff;border-radius:10px;font-size:24px;}
#city-dropdown-list {min-height:112px;padding-bottom:16px;}

/* Invitations, with a shared rhythm across discovery and saved collections. */
.ux-events-heading {position:relative;padding-right:120px;}
.ux-saved-entry {display:inline-flex;align-items:center;gap:9px;min-height:44px;padding:10px 15px;border:1px solid #45454c;background:#141416;color:#fff;border-radius:10px;font-weight:600;font-size:14px;}
.ux-events-heading>.ux-saved-entry {position:absolute;right:16px;top:28px;}
.ux-saved-entry [data-ux-saved-count] {font-size:12px;background:#2d2d33;border-radius:20px;padding:2px 7px;font-variant-numeric:tabular-nums;}
.ux-hub-saved {margin:12px 16px 0;}
.ux-invitation {display:flex!important;flex-direction:column;position:relative;border-radius:16px!important;overflow:hidden;isolation:isolate;}
.ux-invitation .event-card-image {height:auto!important;aspect-ratio:16/10;flex-shrink:0;background:#17171a;}
.ux-invitation .event-card-image img {width:100%;height:100%;object-fit:cover;}
.ux-invitation .event-card-body {padding:20px!important;display:flex;flex:1;flex-direction:column;align-items:stretch;}
.ux-invitation .event-card-title {font-family:'Inter',sans-serif;font-size:19px!important;font-weight:600;letter-spacing:-.035em;line-height:1.32!important;margin:0 0 10px;display:block!important;text-wrap:pretty;}
.ux-card-kicker {font-size:11px;line-height:1.5;color:#84cfc3;letter-spacing:.055em;margin:0 0 10px;text-transform:uppercase;font-weight:600;}
.ux-invitation .event-card-venue {margin:0;}
.ux-date-block {position:absolute;left:16px;top:16px;display:flex;flex-direction:column;align-items:center;justify-content:center;width:54px;min-height:62px;border:1px solid #fff9;border-radius:10px;background:#fff;color:#0a0a0c;box-shadow:0 3px 12px #0003;}
.ux-date-block span {font-size:10px;letter-spacing:.1em;text-transform:uppercase;font-weight:700;}
.ux-date-block strong {font-size:25px;line-height:1.15;font-weight:600;letter-spacing:-.04em;font-variant-numeric:tabular-nums;}
.ux-card-bottom {margin-top:auto;padding-top:22px;display:flex;align-items:center;justify-content:space-between;gap:8px;}
.ux-card-open {background:none;border:0;border-bottom:1px solid #56565c;padding:10px 0;min-height:44px;text-align:left;color:#fff;font-size:14px;font-weight:600;}
.ux-card-open span {display:inline-block;margin-left:14px;transition:transform 160ms ease;}
.ux-card-open:hover span {transform:translate(2px,-2px);}
.ux-bookmark {display:inline-flex;align-items:center;justify-content:center;gap:6px;background:#101013;border:1px solid #494950;border-radius:9px;min-height:44px;min-width:44px;color:#d2d2d5;padding:9px;font-size:12px;flex-shrink:0;}
.ux-bookmark[aria-pressed=true] {border-color:#84cfc3;color:#84cfc3;background:#142320;}
.ux-bookmark[aria-pressed=true] svg {fill:#84cfc333;}
.ux-going-label {color:#84cfc3;font-size:12px;margin-top:12px;}
.ux-featured-label {position:absolute;right:14px;top:18px;display:flex;align-items:center;gap:9px;font-size:11px;color:#fff;background:#08080ade;padding:8px 12px;border:1px solid #ffffff40;border-radius:100px;}
.ux-orbit-dot {display:inline-block;width:12px;height:12px;border:1px solid #84cfc3;border-radius:50%;position:relative;animation:ux-orbit 1000ms cubic-bezier(.2,.7,.2,1) 1;}
.ux-orbit-dot:after {content:'';position:absolute;top:-3px;left:3px;width:4px;height:4px;border-radius:50%;background:#fff;}
@keyframes ux-orbit {from{transform:rotate(-150deg);opacity:.4}to{transform:rotate(0);opacity:1}}
@media(min-width:1000px){.ux-featured-gathering{grid-column:span 2;display:grid!important;grid-template-columns:1.06fr 1fr;}.ux-featured-gathering .event-card-image {height:100%!important;aspect-ratio:auto;min-height:295px;}.ux-featured-gathering .event-card-body{padding:28px!important;}.ux-featured-gathering .event-card-title {font-size:27px!important;}.ux-featured-gathering .ux-featured-label{top:auto;bottom:16px;left:16px;right:auto;}}
@media(max-width:767px){.ux-events-heading{padding-right:16px}.ux-events-heading>.ux-saved-entry{position:static;margin-top:8px}.ux-invitation .event-card-image{aspect-ratio:16/9}.ux-invitation .event-card-title{font-size:20px!important}.ux-invitation .event-card-body{padding:18px!important}}
button,a.ux-card-open,.ux-local-event {transition:transform 140ms ease,background-color 140ms ease,border-color 140ms ease;}
button:active:not(:disabled){transform:scale(.98);}
#event-detail.visible {animation:ux-detail-in 220ms cubic-bezier(.2,.75,.2,1);}
@keyframes ux-detail-in {from{opacity:.6;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
#ux-feedback {position:fixed;z-index:100030;left:50%;bottom:calc(86px + env(safe-area-inset-bottom));transform:translateX(-50%);width:max-content;max-width:calc(100vw - 32px);display:flex;align-items:center;gap:20px;padding:12px 16px;border:1px solid #55555b;border-radius:12px;background:#fff;color:#0b0b0d;box-shadow:0 8px 28px #0006;font-size:14px;}
#ux-feedback[hidden] {display:none;}
#ux-feedback button{min-height:40px;padding:6px 10px;background:#0b0b0d;border:0;color:#fff;border-radius:7px;font-weight:600;}
#ux-saved-dialog {padding:24px;background:#101012;color:#fff;border:1px solid #424249;border-radius:20px;width:min(680px,calc(100vw - 24px));max-height:85dvh;overflow:auto;margin:auto;}
#ux-saved-dialog::backdrop {background:#000b;backdrop-filter:blur(5px);}
#ux-saved-dialog>header {display:flex;align-items:center;justify-content:space-between;gap:16px;}
#ux-saved-title {font-family:Oswald,sans-serif;font-size:32px;margin:6px 0;}
.ux-dialog-close {min-width:44px;min-height:44px;border:1px solid #44444b;background:#1c1c20;color:#fff;border-radius:9px;font-size:25px;}
.ux-saved-note {color:#bcbcc3;font-size:13px;margin:12px 0 26px;}
#ux-saved-items section>h3 {font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.09em;color:#84cfc3;margin:24px 0 10px;}
.ux-saved-row {padding:18px 0;border-top:1px solid #34343a;display:flex;align-items:center;justify-content:space-between;gap:18px;}
.ux-saved-row>div{min-width:0}.ux-saved-row strong{font-size:16px;line-height:1.4;display:block;}.ux-saved-row small{display:block;color:#bcbcc3;font-size:12px;margin-top:6px;}
.ux-saved-row>div>button,.ux-empty button,.ux-empty-action {border:0;background:none;color:#84cfc3;padding:12px 0;min-height:44px;font-size:14px;text-align:left;}
.ux-empty {text-align:center;padding:32px 12px;}.ux-empty h3{font-size:23px;margin:20px 0 10px;}.ux-empty p{color:#d2d2d5;font-size:14px;line-height:1.6;max-width:350px;margin:auto}.ux-orbit-mark {margin:auto;width:56px;height:56px;border:1px solid #84cfc3;border-radius:50%;display:grid;place-items:center;color:#84cfc3;font-size:24px;}
.ux-plan {border:1px solid #3a4e47;border-radius:14px;background:#101b17;padding:20px;margin:24px 0;}
.ux-plan-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}.ux-plan h2{font-size:19px;line-height:1.35;margin:8px 0}.ux-plan-head p:last-child{font-size:13px;line-height:1.5;color:#d2d2d5;}
.ux-plan-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}.ux-plan-actions>a,.ux-plan-actions>button{display:inline-flex;align-items:center;min-height:44px;border:1px solid #496157;border-radius:8px;background:#14251f;color:#fff;text-decoration:none;padding:11px 13px;font-size:13px;}
.portal-tv-card {position:relative;}
.ux-video-watch {display:block;width:100%;height:100%;border:0;background:transparent;color:inherit;padding:0;text-align:left;}
.portal-tv-card>.ux-bookmark {position:absolute;right:8px;top:8px;box-shadow:0 3px 12px #0005;}
.portal-tv-card>.ux-bookmark span{display:none;}
#ux-hub-feature {position:relative;}#ux-hub-feature>.ux-bookmark{position:absolute;right:30px;top:14px;z-index:2;}
#ux-video-save {margin:10px 0;}
.ux-circle-next {margin-top:14px;padding-top:12px;border-top:1px solid #ffffff20;white-space:normal;}
.ux-circle-next span{font-size:11px;color:#84cfc3;display:block;margin-bottom:5px}.ux-circle-next strong{display:block;font-size:13px;color:#fff;line-height:1.4;font-weight:500;}
#ux-local-people .ux-people button{font-size:12px;line-height:1.4}.ux-people button:hover{color:#84cfc3;}
.ux-error {margin:12px 16px;padding:16px;border:1px solid #83693e;border-radius:12px;background:#221b10;color:#ffe2af;display:flex;gap:16px;align-items:center;font-size:14px;line-height:1.5}.ux-error[hidden]{display:none}.ux-error button{min-height:44px;flex-shrink:0;background:#ffe2af;color:#21180c;border:0;border-radius:8px;padding:10px 14px;}
.ux-loading {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;grid-column:1/-1;width:100%;}.ux-skeleton{background:#141416;border:1px solid #303034;border-radius:16px;overflow:hidden;padding-bottom:22px}.ux-skeleton>div{aspect-ratio:16/10;background:#232327}.ux-skeleton>span{display:block;margin:18px 18px 0;height:16px;background:#29292e;border-radius:4px}.ux-skeleton>span:last-child{width:60%;height:12px}.ux-skeleton {animation:ux-load 1400ms ease-in-out infinite alternate;}@keyframes ux-load{to{opacity:.5}}
@media(max-width:600px){.ux-loading{grid-template-columns:1fr}.ux-plan{padding:16px}.ux-plan-head{gap:10px}.ux-plan-head .ux-bookmark span{display:none}}
@media(prefers-reduced-motion:reduce){.ux-orbit-dot,.ux-skeleton,#event-detail.visible{animation:none!important}button,a.ux-card-open,.ux-local-event{transition:none!important}button:active:not(:disabled){transform:none}.ux-card-open:hover span{transform:none}}

.ux-date-block,.ux-featured-label {z-index:3;pointer-events:none;}
.ux-art-open {display:block;width:100%;padding:0;border:0;border-radius:0;position:relative;text-align:left;}
.ux-art-open:active {transform:none!important;}
.ux-art-open:focus-visible {outline-offset:-4px;}

#event-detail-hero {background:#08080a!important;overflow:hidden;}
#event-detail-hero>img {height:100%!important;max-height:100%!important;object-fit:cover;}
#event-detail .rsvp-btn-group {display:flex;flex:0 1 608px;min-width:0;gap:8px;}
#event-detail .rsvp-btn-group>.rsvp-btn {flex:1;min-width:0;}
.ux-card-price{display:block;color:#84cfc3;font-size:12px;margin-top:10px;}
.ux-video-error{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;background:#101012;color:#fff;font-size:15px;}
.ux-video-error button {min-height:44px;padding:10px 18px;border:1px solid #84cfc3;background:#14251f;color:#fff;border-radius:8px;}
/* The legacy gradient pseudo-element painted over the home-card surface. */
#my-circle-container .circle-card.my-circle {border-image:none!important;border-radius:16px!important;}
#my-circle-container .circle-card.my-circle::before {display:none!important;}

/* Quiet discovery toolbar; secondary choices live in the Filters sheet. */
#events-city-bar {display:none!important;}
#screen-events > .ux-event-tools {flex-wrap:wrap;padding-top:4px;padding-bottom:8px;}
#ux-location {margin-right:auto;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
#ux-filter-summary {width:100%;max-width:1240px;align-self:center;padding:0 16px;display:flex;align-items:center;gap:6px;font-size:13px;color:#fff;}
#ux-filter-summary[hidden] {display:none;}
#ux-filters-dialog {width:min(520px,calc(100% - 32px));max-height:85dvh;margin:auto;padding:24px;border:1px solid #37373b;border-radius:20px;background:#09090b;color:#fff;box-shadow:0 24px 90px #0008;}
#ux-filters-dialog::backdrop {background:#000a;backdrop-filter:blur(5px);}
#ux-filters-dialog header,#ux-filters-dialog footer {display:flex;align-items:center;justify-content:space-between;gap:12px;}
#ux-filters-dialog h2 {font-size:24px;margin:0;letter-spacing:-.03em;}
#ux-filters-dialog h3 {font-size:14px;margin:24px 0 12px;}
.ux-filter-hint {font-size:14px;line-height:1.5;color:#ccc;margin:14px 0 0;}
#ux-filters-dialog #events-filters {display:flex;flex-wrap:wrap;overflow:visible;padding:0;margin:0;gap:8px;}
#ux-filters-dialog .event-filter {font:inherit;font-size:13px;min-height:44px;cursor:pointer;color:#fff;background:#151517;border:1px solid #414145;border-radius:10px;padding:10px 13px;}
#ux-filters-dialog .event-filter.active {background:#fff;color:#09090b;border-color:#fff;}
.ux-sheet-dates {display:flex;gap:8px;margin-bottom:12px;}
#ux-filters-dialog footer {margin-top:24px;padding-top:16px;border-top:1px solid #303034;}
#ux-filters-dialog .ux-show-results {background:#fff;color:#09090b;font-weight:600;}
#city-dropdown-overlay #ux-near-me {margin:16px 16px 0;}
@media(max-width:600px) {
 #screen-events > .ux-event-tools {gap:6px;}
 #screen-events > .ux-event-tools .ux-filter {font-size:12px;padding:10px;}
 #ux-location {flex-basis:100%;text-align:left;}
 #ux-filters-dialog {width:100%;max-width:100%;max-height:88dvh;margin:auto 0 0;border-radius:20px 20px 0 0;padding:22px 20px max(22px,env(safe-area-inset-bottom));}
}

.ux-circle-pending {min-height:150px;display:flex;align-items:center;gap:16px;padding:24px;border:1px solid #303034;border-radius:16px;background:#09090b;color:#ccc;font-size:14px;}

/* One card action; RSVP or tickets lead the event details. */
.ux-invitation {position:relative;cursor:pointer;}
.ux-invitation .ux-card-open::after {content:"";position:absolute;inset:0;z-index:4;border-radius:inherit;}
.ux-invitation:focus-within {outline:2px solid #fff;outline-offset:3px;}
.ux-event-more {position:relative;flex-shrink:0;}
.ux-event-more summary {cursor:pointer;list-style:none;min-width:44px;min-height:44px;display:flex;align-items:center;justify-content:center;border:1px solid #496157;border-radius:8px;}
.ux-event-more summary::-webkit-details-marker {display:none;}
.ux-event-more>div {position:absolute;right:0;top:50px;padding:8px;background:#09090b;border:1px solid #414145;border-radius:10px;z-index:5;white-space:nowrap;}
#event-detail #rsvp-btn {background:#fff;color:#09090b;border-color:#fff;font-weight:700;}
#event-detail #rsvp-interested-btn {background:transparent;color:#ddd;border-color:#49494d;}
#event-detail .ux-ticketed #rsvp-interested-btn {display:none!important;}
#event-detail .ux-ticketed #rsvp-btn {background:transparent;color:#fff;border-color:#49494d;flex:0 1 auto;}
.ux-primary-tickets {display:flex;align-items:center;justify-content:center;flex:1;min-height:48px;padding:12px 16px;background:#fff;color:#09090b;border-radius:10px;text-decoration:none;font-size:14px;font-weight:700;white-space:nowrap;}

.ux-invitation .event-card-body,.ux-invitation .ux-card-bottom,.ux-invitation .ux-card-open {position:static;}

/* Keep discovery controls compact so gatherings own the viewport. */
#screen-events > .ux-events-heading {display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 16px;flex-shrink:0;}
#screen-events > .ux-events-heading h1 {margin:0;font-size:30px;line-height:1.15;}
#screen-events > .ux-events-heading > .ux-saved-entry {position:static;margin:0;flex-shrink:0;min-height:44px;}
#screen-events > .events-search-bar {padding-top:0;padding-bottom:4px;}
#screen-events > .ux-event-tools {padding-top:4px;padding-bottom:4px;flex-shrink:0;}
#screen-events > #events-result-count {padding-top:4px;padding-bottom:6px;flex-shrink:0;}
@media(max-width:600px) {
 #screen-events > .ux-events-heading h1 {font-size:24px;}
 #screen-events > .ux-event-tools {flex-wrap:nowrap;}
 #screen-events > .ux-event-tools > [data-ux-date] {display:none;}
 #screen-events > .ux-event-tools > #ux-location {flex:1;min-width:0;text-align:left;}
 #screen-events > .ux-event-tools > #ux-filters-trigger {flex-shrink:0;}
}

/* Portal: an editorial home for its films, collection and mission. */
#screen-portal {background:#050505;}
#screen-portal .screen-content {background:#050505;}
#screen-portal .ux-hub-heading {justify-content:space-between;align-items:center;padding:28px 16px 24px;gap:20px;}
#screen-portal .ux-hub-heading h1 {font-size:38px;line-height:1.05;letter-spacing:-.025em;margin:0;color:#fff;text-wrap:balance;}
#screen-portal .ux-hub-heading p {font-size:14px;line-height:1.5;color:#ddd;margin:10px 0 0;max-width:380px;}
#screen-portal .ux-hub-heading>.ux-saved-entry {flex-shrink:0;min-height:44px;background:transparent;border-color:#555;}
#screen-portal .ux-feature {display:grid;grid-template-columns:1.1fr 1fr;min-height:0;background:#101010;border-radius:18px;border:1px solid #282828;}
#screen-portal .ux-feature::after {display:none;}
#screen-portal .ux-feature>img {position:static;width:100%;height:100%;min-height:360px;max-height:460px;object-fit:cover;object-position:center 35%;}
#screen-portal .ux-feature-copy {min-height:0;padding:40px;gap:20px;justify-content:center;}
#screen-portal .ux-feature-copy strong {font-size:clamp(30px,3.1vw,48px);line-height:1.08;letter-spacing:-.015em;text-wrap:balance;}
#screen-portal .ux-feature-copy .ux-eyebrow {font-size:10px;letter-spacing:.16em;color:#84cfc3;}
#screen-portal .ux-feature-play {display:flex;align-items:center;gap:12px;margin-top:10px;font-size:14px;}
.ux-play-disc {width:44px;height:44px;border-radius:50%;background:#fff;color:#050505;display:inline-flex;align-items:center;justify-content:center;font-size:12px;padding-left:2px;transition:transform .18s ease;}
#screen-portal .ux-feature:hover .ux-play-disc {transform:scale(1.08);}
#screen-portal #ux-hub-feature>.ux-bookmark {right:30px;top:14px;}
#screen-portal .ux-hub-section {padding:36px 16px 0;}
.ux-hub-section-head {display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px;}
.ux-hub-section-head h2 {font-family:var(--font-heading);font-size:27px;line-height:1.1;font-weight:600;letter-spacing:-.02em;color:#fff;margin:0;}
.ux-hub-section-head p {font-size:13px;color:#ccc;line-height:1.5;margin:7px 0 0;}
.ux-hub-text-link {background:transparent;border:0;color:inherit;font-size:13px;min-height:44px;padding:10px 0;display:inline-flex;align-items:center;gap:12px;white-space:nowrap;text-align:left;}
.ux-hub-text-link:hover {text-decoration:underline;text-underline-offset:5px;}
#screen-portal .merch-scroll {gap:18px;scroll-snap-type:x proximity;padding-bottom:12px;}
#screen-portal .portal-tv-card {flex:0 0 280px;width:280px;background:transparent;border:0;border-radius:0;box-shadow:none;scroll-snap-align:start;}
#screen-portal .portal-tv-thumb-wrap {aspect-ratio:16/10;border-radius:10px;overflow:hidden;background:#111;}
#screen-portal .portal-tv-thumb-wrap img {width:100%;height:100%;object-fit:cover;}
#screen-portal .portal-tv-body {padding:13px 0 0;}
#screen-portal .portal-tv-title {font-size:16px;line-height:1.35;font-weight:600;color:#fff;}
#screen-portal .portal-tv-badge {font-size:11px;color:#ccc;margin-top:8px;}
#screen-portal .ptv-new-badge {display:none;}
#screen-portal .merch-card {flex:0 0 220px;width:220px;border:0;background:transparent;border-radius:0;scroll-snap-align:start;}
#screen-portal .merch-card-img {aspect-ratio:1;height:auto;width:100%;object-fit:cover;background:#fff;border-radius:10px;}
#screen-portal .merch-card-body {padding:13px 0 0;}
#screen-portal .merch-card-name {color:#fff;font-size:14px;line-height:1.4;}
#screen-portal .merch-card-price {color:#ddd;font-size:13px;font-variant-numeric:tabular-nums;margin-top:5px;}
#screen-portal #portal-hub-membership {padding:28px 16px 0!important;}
#screen-portal #portal-hub-member-card button {border-radius:8px!important;background:#fff!important;color:#050505!important;max-width:none;min-height:48px;}
#screen-portal .ux-hub-manifesto {margin:28px 16px 0;padding:32px;background:#fff;color:#080808;border-radius:12px;}
#screen-portal .ux-hub-manifesto .ux-eyebrow {color:#40574e;}
#screen-portal .ux-hub-manifesto h2 {font-family:var(--font-heading);font-size:clamp(36px,4.5vw,58px);line-height:1.08;letter-spacing:-.02em;margin:16px 0;color:#080808;text-wrap:balance;}
#screen-portal .ux-hub-manifesto p {font-size:15px;line-height:1.65;max-width:620px;color:#333;margin:0 0 12px;}
.ux-hub-footer-title {font-size:18px;font-weight:500;color:#fff;margin:0 0 14px;}
#screen-portal .ux-hub-footer .profile-section-card {background:transparent;border:0;}
#screen-portal .ux-hub-footer .profile-row {border-bottom:1px solid #292929;min-height:54px;}
#screen-portal .ux-hub-footer .profile-row-label {color:#fff;}
@media(min-width:1000px) {#screen-portal .ux-hub-footer .profile-section-card {display:grid;grid-template-columns:1fr 1fr;column-gap:40px;}}
@media(max-width:600px) {
 #screen-portal .ux-hub-heading {padding-top:18px;padding-bottom:20px;align-items:flex-start;}
 #screen-portal .ux-hub-heading h1 {font-size:32px;}
 #screen-portal .ux-hub-heading p {font-size:13px;}
 #screen-portal .ux-feature {grid-template-columns:1fr;}
 #screen-portal .ux-feature>img {aspect-ratio:16/10;min-height:0;max-height:none;height:auto;object-position:center 32%;}
 #screen-portal .ux-feature-copy {padding:22px;gap:14px;}
 #screen-portal .ux-feature-copy strong {font-size:30px;}
 #screen-portal .ux-feature-play {margin-top:2px;}
 #screen-portal .portal-tv-card {flex-basis:250px;width:250px;}
 #screen-portal .merch-card {flex-basis:168px;width:168px;}
 #screen-portal .ux-hub-manifesto {padding:26px;}
 #screen-portal .ux-hub-section {padding-top:30px;}
}
@media(prefers-reduced-motion:reduce) {.ux-play-disc {transition:none;}#screen-portal .ux-feature:hover .ux-play-disc {transform:none;}}
#screen-portal .ux-feature-copy strong {max-width:100%;}

/* A short opening title, with an independent CSS exit if initialization fails. */
.portal-arrival {position:fixed;inset:0;z-index:10000;background:#050505;color:#fff;display:grid;place-items:center;overflow:hidden;animation:portal-arrival-exit .3s ease 5s forwards;}
.portal-arrival-center {position:relative;z-index:1;text-align:center;width:min(76vw,600px);animation:portal-arrival-in .75s cubic-bezier(.2,.7,.2,1) both;}
.portal-arrival-mark {display:block;width:100%;height:auto;filter:grayscale(1);}
.portal-arrival-center p {font-size:12px;letter-spacing:.14em;color:#ddd;margin:8px 0 0;}
.portal-arrival-skip {position:absolute;bottom:max(30px,env(safe-area-inset-bottom));right:max(24px,env(safe-area-inset-right));z-index:2;min-height:44px;padding:10px 16px;border:1px solid #666;border-radius:8px;background:#050505;color:#fff;font-size:13px;display:flex;gap:18px;align-items:center;}
/* Original Portal motion exports; only the selected asset is requested. */
.portal-arrival-art {position:absolute;inset:0;pointer-events:none;display:flex;justify-content:center;align-items:center;}
.portal-arrival-art img {opacity:0;transition:opacity .2s ease;object-fit:contain;mix-blend-mode:screen;}
.portal-arrival.art-ready .portal-arrival-art img {opacity:1;}
.portal-arrival[data-variant="0"] .portal-arrival-art {align-items:flex-start;padding-top:max(8vh,40px);}
.portal-arrival[data-variant="0"] .portal-arrival-art img {width:300px;max-width:80vw;height:auto;}
.portal-arrival[data-variant="0"] .portal-arrival-center {transform:translateY(35px);}
.portal-arrival[data-variant="1"] .portal-arrival-art img {width:min(100vw,660px);height:auto;}
.portal-arrival[data-variant="1"].art-ready .portal-arrival-art img {opacity:.65;}
.portal-arrival[data-variant="1"] .portal-arrival-center {width:min(60vw,400px);}
.portal-arrival[data-variant="2"] .portal-arrival-center {animation-name:portal-arrival-drift;}
@media(max-height:550px){.portal-arrival[data-variant="0"] .portal-arrival-art {padding-top:0;}.portal-arrival[data-variant="0"] .portal-arrival-art img {width:200px;}}
.portal-arrival.is-leaving {animation:portal-arrival-exit .25s ease forwards;pointer-events:none;}
@keyframes portal-arrival-in {from{opacity:0;transform:translateY(10px) scale(.97)}to{opacity:1;transform:none}}
@keyframes portal-arrival-drift {from{opacity:0;transform:translateX(-12px)}to{opacity:1;transform:none}}
@keyframes portal-arrival-orbit {from{opacity:0;scale:.9}to{opacity:.3;scale:1.03}}
@keyframes portal-arrival-exit {to{opacity:0;visibility:hidden;pointer-events:none}}
@media(prefers-reduced-motion:reduce){.portal-arrival{display:none;animation:none}.portal-arrival *{animation:none!important}}

/* Psychedelic arrival: slow depth, chromatic echoes and original astronaut motion. */
.portal-arrival[data-variant="0"] {isolation:isolate;background:#030208;}
.portal-arrival[data-variant="0"]::before {
 content:'';position:absolute;inset:-40%;z-index:-1;pointer-events:none;
 background:repeating-radial-gradient(ellipse at 50% 43%,transparent 0 35px,#8c53ca55 37px 39px,transparent 42px 73px,#4ed4c344 76px 78px,transparent 81px 112px);
 transform-origin:50% 43%;animation:portal-tunnel-drift 9s ease-in-out infinite alternate;
 -webkit-mask-image:radial-gradient(ellipse,#000 12%,transparent 65%);mask-image:radial-gradient(ellipse,#000 12%,transparent 65%);
}
.portal-arrival[data-variant="0"]::after {
 content:'';position:absolute;inset:-20%;z-index:-1;pointer-events:none;opacity:.55;
 background:conic-gradient(from 20deg at 50% 38%,transparent,#7724bc55,transparent 30%,#19b6a244,transparent 60%,#d6529355,transparent);
 animation:portal-aura-drift 12s linear infinite;
}
.portal-arrival[data-variant="0"] .portal-arrival-art {
 inset:auto;left:50%;top:14%;width:min(125vw,620px);aspect-ratio:300/166;height:auto;padding:0;display:block;
 transform:translateX(-50%);mix-blend-mode:screen;
}
.portal-arrival[data-variant="0"] .portal-arrival-art img {position:relative;z-index:2;width:100%;max-width:none;height:auto;animation:portal-astronaut-float 5s ease-in-out infinite alternate;}
.portal-arrival[data-variant="0"] .portal-arrival-art::before,
.portal-arrival[data-variant="0"] .portal-arrival-art::after {
 content:'';position:absolute;inset:0;background:url('/assets/portal-astronauts.gif') center/contain no-repeat;mix-blend-mode:screen;opacity:0;transition:opacity .5s;
 filter:sepia(1) saturate(5) hue-rotate(115deg);animation:portal-echo-left 6s ease-in-out infinite alternate;
}
.portal-arrival[data-variant="0"] .portal-arrival-art::after {filter:sepia(1) saturate(5) hue-rotate(255deg);animation-name:portal-echo-right;}
.portal-arrival[data-variant="0"].art-ready .portal-arrival-art::before,
.portal-arrival[data-variant="0"].art-ready .portal-arrival-art::after {opacity:.38;}
.portal-arrival[data-variant="0"] .portal-arrival-center {position:absolute;top:57%;width:min(76vw,480px);transform:none;}
.portal-arrival[data-variant="0"] .portal-arrival-center p {color:#fff;letter-spacing:.2em;}
@keyframes portal-tunnel-drift {from{transform:perspective(700px) rotateX(24deg) rotateZ(-16deg) scale(.85)}to{transform:perspective(700px) rotateX(-12deg) rotateZ(20deg) scale(1.18)}}
@keyframes portal-aura-drift {to{transform:rotate(360deg)}}
@keyframes portal-astronaut-float {from{transform:translateY(8px) rotate(-4deg)}to{transform:translateY(-12px) rotate(4deg)}}
@keyframes portal-echo-left {from{transform:translate(-18px,8px) rotate(-9deg) scale(1.04)}to{transform:translate(-48px,-12px) rotate(-14deg) scale(1.12)}}
@keyframes portal-echo-right {from{transform:translate(18px,8px) rotate(9deg) scale(1.04)}to{transform:translate(48px,-12px) rotate(14deg) scale(1.12)}}
@media(max-height:550px){.portal-arrival[data-variant="0"] .portal-arrival-art{width:300px;top:1%}.portal-arrival[data-variant="0"] .portal-arrival-center{top:51%;width:min(50vw,300px)}}
@media(prefers-reduced-motion:reduce){.portal-arrival::before,.portal-arrival::after,.portal-arrival-art::before,.portal-arrival-art::after{animation:none!important}}

#circle-join-invite {background:#08060e!important;border-color:#9477aa88!important;box-shadow:0 18px 80px #0009,0 0 40px #a065c522;overflow:hidden;}
#circle-join-invite button {min-height:44px;}
#circle-join-invite button:first-child {background:#fff!important;color:#080808!important;}
.ux-join-sigil {position:relative;width:72px;height:72px;margin:0 auto 16px;display:grid;place-items:center;}
.ux-join-sigil span {width:36px;height:36px;border:1px solid #c69ee3;border-radius:50%;box-shadow:inset 5px 0 12px #94e4d366,-5px 0 14px #94e4d344,5px 0 14px #c683e055;}
.ux-join-sigil::before,.ux-join-sigil::after {content:'';position:absolute;inset:7px;border:1px solid #86d9cc;border-radius:50%;animation:ux-join-ripple 1.8s ease-out both;}
.ux-join-sigil::after {border-color:#ca8de6;animation-delay:.25s;}
@keyframes ux-join-ripple {from{opacity:0;transform:scale(.5) rotateX(25deg)}35%{opacity:.8}to{opacity:0;transform:scale(1.5) rotateX(-25deg)}}
@media(prefers-reduced-motion:reduce){.ux-join-sigil::before,.ux-join-sigil::after{animation:none!important;opacity:.3}}

/* Two companion openings: an iridescent gate and a refracted wordmark. */
.portal-arrival[data-variant="1"] {isolation:isolate;background:#030207;}
.portal-arrival[data-variant="1"]::before {content:'';position:absolute;z-index:-1;width:min(135vw,850px);aspect-ratio:1;border-radius:50%;background:conic-gradient(#91e4d644,#b358d455,#f084b933,#91e4d644);mask-image:radial-gradient(circle,transparent 22%,#000 33%,transparent 66%);animation:portal-aura-drift 14s linear infinite;}
.portal-arrival[data-variant="1"].art-ready .portal-arrival-art img {opacity:.9;filter:drop-shadow(-10px 0 9px #80ded34d) drop-shadow(10px 0 9px #c66dd94d);animation:ux-gate-breathe 5s ease-in-out infinite alternate;}
@keyframes ux-gate-breathe {from{transform:scale(.94) rotate(-6deg)}to{transform:scale(1.08) rotate(6deg)}}
.portal-arrival[data-variant="2"] {isolation:isolate;background:#030207;}
.portal-arrival[data-variant="2"]::before {content:'';position:absolute;inset:-50%;z-index:-1;background:repeating-radial-gradient(ellipse at center,transparent 0 48px,#a978cd33 50px 51px,transparent 53px 95px,#8bdbcd33 97px 98px,transparent 100px 145px);transform:perspective(500px) rotateY(40deg) rotateZ(30deg);animation:ux-prism-space 7s ease-out both;mask-image:radial-gradient(ellipse,#000,transparent 65%);}
.portal-arrival[data-variant="2"] .portal-arrival-mark {filter:grayscale(1) drop-shadow(-8px 0 0 #74d8c64d) drop-shadow(8px 0 0 #d07ccd4d);animation:ux-prism-settle 3s ease-out both;}
.portal-arrival[data-variant="3"] {background:#131212;animation:portal-arrival-exit .3s ease 8s forwards;}
.portal-arrival[data-variant="3"] .portal-arrival-center {display:none;}
.portal-arrival[data-variant="3"] .portal-arrival-art {display:block;}
.portal-arrival-poster-fallback {position:absolute;inset:0;overflow:hidden;background-color:#131212;background-image:radial-gradient(1.5px 1.5px at 12% 18%,#84cfc3 50%,transparent 100%),radial-gradient(1.5px 1.5px at 25% 40%,#ff629a 50%,transparent 100%),radial-gradient(2px 2px at 38% 10%,#84cfc3 50%,transparent 100%),radial-gradient(1.5px 1.5px at 50% 28%,#ff629a 50%,transparent 100%),radial-gradient(1.5px 1.5px at 60% 50%,#84cfc3 50%,transparent 100%),radial-gradient(2px 2px at 70% 15%,#ffa300 50%,transparent 100%),radial-gradient(1.5px 1.5px at 80% 42%,#ff629a 50%,transparent 100%),radial-gradient(1.5px 1.5px at 90% 60%,#84cfc3 50%,transparent 100%),radial-gradient(1.5px 1.5px at 8% 65%,#ff629a 50%,transparent 100%),radial-gradient(2px 2px at 18% 82%,#84cfc3 50%,transparent 100%),radial-gradient(1.5px 1.5px at 32% 70%,#ffa300 50%,transparent 100%),radial-gradient(1.5px 1.5px at 45% 85%,#ff629a 50%,transparent 100%),radial-gradient(1.5px 1.5px at 55% 75%,#84cfc3 50%,transparent 100%),radial-gradient(2px 2px at 68% 62%,#ff629a 50%,transparent 100%),radial-gradient(1.5px 1.5px at 78% 80%,#84cfc3 50%,transparent 100%),radial-gradient(1.5px 1.5px at 88% 72%,#ffa300 50%,transparent 100%),radial-gradient(1.5px 1.5px at 95% 88%,#ff629a 50%,transparent 100%),radial-gradient(1.5px 1.5px at 4% 35%,#ffa300 50%,transparent 100%);background-size:340px 340px;}
.portal-arrival[data-variant="3"].art-ready .portal-arrival-poster-fallback {opacity:0;}
.portal-arrival-poster-fallback img {position:absolute;display:block;max-width:none;height:auto;mix-blend-mode:normal;opacity:1;}
.portal-arrival-fallback-logo {z-index:2;top:1%;left:50%;width:min(48vw,700px);transform:translateX(-50%);}
.portal-arrival-fallback-aliens {z-index:3;top:-1.5%;left:50%;width:min(19vw,340px);transform:translateX(-50%);}
.portal-arrival-fallback-art {z-index:1;bottom:-8%;left:50%;width:min(94vw,1640px);height:92vh!important;object-fit:contain;object-position:center bottom;transform:translateX(-50%);}
@media(max-width:700px){.portal-arrival-fallback-logo{top:calc(50% - 32vh);width:94vw}.portal-arrival-fallback-aliens{top:calc(50% - 36vh);width:46vw}.portal-arrival-fallback-art{top:calc(50% - 12vh);bottom:auto;width:112vw;height:auto!important;max-height:56vh;}}
.portal-arrival-poster-frame {position:absolute;inset:0;width:100%;height:100%;border:0;opacity:0;pointer-events:none;}
.portal-arrival[data-variant="3"].art-ready .portal-arrival-poster-frame {opacity:1;}
.portal-arrival[data-variant="3"].is-leaving {animation:portal-arrival-exit .25s ease forwards;}
@keyframes ux-prism-space {from{transform:perspective(500px) rotateY(55deg) rotateZ(15deg) scale(.9)}to{transform:perspective(500px) rotateY(25deg) rotateZ(40deg) scale(1.1)}}
@keyframes ux-prism-settle {from{transform:scale(.91);filter:grayscale(1) drop-shadow(-18px 0 0 #74d8c660) drop-shadow(18px 0 0 #d07ccd60)}to{transform:scale(1);filter:grayscale(1) drop-shadow(-3px 0 0 #74d8c630) drop-shadow(3px 0 0 #d07ccd30)}}
@media(prefers-reduced-motion:reduce){.portal-arrival[data-variant="1"] .portal-arrival-art img,.portal-arrival[data-variant="2"] .portal-arrival-mark{animation:none!important}}
#ux-circle-celebration {position:fixed;z-index:99998;bottom:calc(85px + env(safe-area-inset-bottom,0px));left:50%;transform:translateX(-50%);width:calc(100% - 40px);max-width:340px;padding:22px 42px;background:#08060e;color:#fff;border:1px solid #9477aa88;border-radius:16px;text-align:center;box-shadow:0 18px 80px #0009,0 0 40px #a065c522;box-sizing:border-box;}
#ux-circle-celebration p {margin:0;font-size:15px;line-height:1.5;}
#ux-circle-celebration button {position:absolute;top:4px;right:4px;width:44px;height:44px;border:0;background:transparent;color:#fff;font-size:24px;}

/* Content-first headers and a proper discovery button. */
#screen-portal .ux-hub-heading {padding:12px 16px 16px;align-items:center;}
#screen-portal .ux-hub-heading h1 {font-size:30px;}
#circles-list > button.community-search-bar {width:calc(100% - 32px);min-height:46px;text-align:left;font-family:inherit;box-sizing:border-box;flex-shrink:0;}
#circles-list > button.community-search-bar svg {stroke:#ccc;flex-shrink:0;}
#circles-list > button.community-search-bar:focus-visible {outline:2px solid #84cfc3;outline-offset:3px;}
@media(max-width:600px){#screen-portal .ux-hub-heading h1{font-size:26px;}}

/* Circles: home first, memberships second, discovery on demand. */
#my-circle-container .circle-card {position:relative;background:#fff!important;color:#080808!important;border:0!important;padding:24px!important;align-items:flex-start;border-radius:16px;}
#my-circle-container .circle-icon {display:none;}
#my-circle-container .circle-info {min-width:0;padding-right:28px;}
#my-circle-container .circle-name {color:#080808!important;font-size:30px!important;line-height:1.1;letter-spacing:-.025em;margin-bottom:10px;}
#my-circle-container .circle-meta,#my-circle-container .circle-preview {color:#484848!important;}
#my-circle-container .home-badge {display:none;}
#my-circle-container .ux-conversation-cta {display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:22px;color:#080808!important;font-size:14px;font-weight:600;}
#my-circle-container .circle-invite-btn {background:#f0f0f0;color:#111;border-color:#ddd;min-width:44px;min-height:44px;display:grid;place-items:center;}
#circles-list .section-title {text-transform:none;letter-spacing:0;font-size:18px;color:#fff;}
.ux-group-label {padding:0 16px 10px;font-size:13px;color:#ccc;}
.ux-group-discovery {margin:12px 16px 0;border-top:1px solid #303030;}
.ux-group-discovery>summary {cursor:pointer;min-height:48px;display:flex;align-items:center;justify-content:space-between;font-size:14px;color:#fff;list-style:none;}
.ux-group-discovery>summary::-webkit-details-marker {display:none;}
.ux-group-discovery>summary span {color:#aaa;}
.ux-group-discovery>summary::after {content:'+';font-size:21px;margin-left:12px;}
.ux-group-discovery[open]>summary::after {content:'−';}
.ux-group-discovery>summary span {margin-left:auto;}
.ux-group-discovery .identity-circle-card {margin-left:0!important;margin-right:0!important;}

/* City artwork is part of the circle itself, with the conversation one tap away. */
.circle-card.ux-city-art-card,#my-circle-container .circle-card.ux-city-art-card {display:grid!important;grid-template-columns:1fr auto;gap:0 12px;padding:0 22px 22px!important;overflow:hidden;}
.ux-city-art {grid-column:1/-1;width:calc(100% + 44px);max-width:none;height:260px;object-fit:contain;background:#242424;margin:0 -22px 22px;display:block;}
.ux-city-art[hidden] {display:none;}
.ux-city-art-card .circle-icon {display:none;}
.ux-city-art-card .circle-info {grid-column:1;}
.ux-city-art-card .circle-invite-btn {grid-column:2;grid-row:2;align-self:start;}
.ux-city-art-card .circle-badge {display:none;}
.ux-city-art-card .circle-unread-dot {position:absolute;right:20px;top:20px;}
.ux-circle-invite-link {display:block;margin:0 20px 8px;padding:8px 0;min-height:44px;border:0;background:none;color:var(--cyan);text-align:left;font:inherit;font-size:13px;cursor:pointer;}
.ux-circle-invite-link[hidden] {display:none;}

/* Home is an entrance; followed cities are a compact list. */
.circle-card.ux-home-panel,#my-circle-container .circle-card.ux-home-panel {display:block!important;width:calc(100% - 32px);box-sizing:border-box;margin:0 16px 20px;padding:0!important;border:0!important;border-radius:18px!important;background:#0a0a0a!important;box-shadow:none!important;color:#fff!important;text-align:left;overflow:hidden;font:inherit;cursor:pointer;}
.ux-home-panel::before,.ux-home-panel::after {display:none!important;}
.ux-home-art {display:block;width:100%;height:300px;object-fit:contain;background:#242424;mask-image:linear-gradient(#000 78%,transparent);-webkit-mask-image:linear-gradient(#000 78%,transparent);}
.ux-home-art[hidden],.ux-follow-art[hidden] {display:none;}
.ux-home-panel .ux-circle-content {display:block;padding:18px 24px 24px;}
.ux-home-panel .ux-home-art + .ux-circle-content {margin-top:-12px;position:relative;}
.ux-home-panel .circle-name,#my-circle-container .ux-home-panel .circle-name {display:block;color:#fff!important;font-size:34px!important;line-height:1.08;letter-spacing:-.035em;margin-bottom:10px;}
.ux-home-panel .circle-meta,#my-circle-container .ux-home-panel .circle-meta {display:flex;align-items:center;flex-wrap:wrap;gap:14px;color:#c6c6ca!important;font-size:13px;}
.ux-circle-unread {display:inline-flex;align-items:center;gap:6px;color:#84cfc3;}
.ux-circle-unread::before {content:'';width:6px;height:6px;border-radius:50%;background:currentColor;}
.ux-home-panel .circle-preview,#my-circle-container .ux-home-panel .circle-preview {display:block;color:#bfbfc5!important;margin-top:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.ux-home-panel .ux-conversation-cta,#my-circle-container .ux-home-panel .ux-conversation-cta {display:flex;justify-content:space-between;align-items:center;color:#fff!important;font-size:14px;font-weight:600;margin-top:22px;padding-top:16px;border-top:1px solid #272727;}
.circle-card.ux-follow-row {display:flex!important;align-items:center;gap:14px;width:calc(100% - 32px);box-sizing:border-box;margin:0 16px!important;padding:14px 0!important;min-height:82px;background:transparent!important;border:0!important;border-bottom:1px solid #222!important;border-radius:0!important;box-shadow:none!important;color:#fff;text-align:left;font:inherit;cursor:pointer;}
.ux-follow-row::before,.ux-follow-row::after {display:none!important;}
.ux-follow-thumb {display:grid;place-items:center;flex:0 0 54px;width:54px;height:54px;border-radius:50%;overflow:hidden;background:#242424;}
.ux-follow-art {width:100%;height:100%;object-fit:cover;}
.ux-follow-fallback {display:block;width:38px;height:38px;object-fit:contain;}
.ux-follow-row .ux-circle-content {flex:1;min-width:0;}
.ux-follow-row .circle-name {display:block;font-size:17px!important;font-weight:600;color:#fff!important;margin:0!important;}
.ux-follow-unread {width:7px;height:7px;background:#84cfc3;border-radius:50%;flex-shrink:0;}
.ux-follow-arrow {font-size:20px;color:#aaa;}
.ux-home-panel:focus-visible,.ux-follow-row:focus-visible {outline:2px solid #84cfc3;outline-offset:4px;}
.ux-home-panel:active,.ux-follow-row:active {opacity:.85;}
@media(min-width:800px){.ux-home-art{height:340px;}}
/* Deep-black city portal with a restrained spectral edge. */
#my-circle-container .circle-card,.circle-card.ux-home-panel,#my-circle-container .circle-card.ux-home-panel {border:1px solid transparent!important;background:linear-gradient(#050507,#050507) padding-box,linear-gradient(135deg,#84cfc380,#ff629a45 48%,#ffa30060) border-box!important;box-shadow:none!important;color:#fff!important;}
#my-circle-container .circle-info,#my-circle-container .ux-circle-content {background:transparent!important;}
#my-circle-container .circle-name,#my-circle-container .ux-conversation-cta {color:#fff!important;}
#my-circle-container .circle-meta,#my-circle-container .circle-preview {color:#b8b8c2!important;}
#my-circle-container .circle-invite-btn {background:#111116!important;border-color:#353540!important;color:#fff!important;}
.ux-home-panel .ux-home-art {width:min(100%,330px);height:auto;aspect-ratio:1;margin:12px auto 0;background:transparent;clip-path:circle(48%);mask-image:none;-webkit-mask-image:none;}
.ux-home-panel .ux-home-art + .ux-circle-content {margin-top:0;}
#my-circle-container .ux-home-panel .ux-conversation-cta {border-top-color:#ffffff1c;padding-top:18px;}
#my-circle-container .ux-home-panel .ux-conversation-cta>span {display:grid;place-items:center;width:36px;height:36px;border:1px solid #84cfc370;border-radius:50%;color:#b8f4e7;}
.ux-home-panel:hover {filter:brightness(1.08);}
@media(min-width:800px){
 #my-circle-container .circle-card.ux-home-panel:has(.ux-home-art:not([hidden])) {display:grid!important;grid-template-columns:minmax(220px,.9fr) minmax(0,1fr);align-items:center;gap:16px;padding:22px!important;}
 .ux-home-panel .ux-home-art {width:100%;max-width:360px;margin:0 auto;}
 .ux-home-panel .ux-circle-content {min-width:0;padding:24px;}
 #my-circle-container .ux-home-panel .circle-name {font-size:clamp(32px,3.5vw,48px)!important;}
}

/* Slow, asynchronous drifting; labels and hit areas stay stationary. */
#ux-local-people .ux-people {padding-top:12px;}
.ux-connecting-portrait {display:block;width:48px;height:48px;animation:portal-people-drift 5.8s ease-in-out infinite;animation-play-state:paused;}
#screen-circles.active .ux-connecting-portrait {animation-play-state:running;}
.ux-people button:nth-child(2n) .ux-connecting-portrait {animation-delay:-2.4s;animation-duration:6.7s;}
.ux-people button:nth-child(3n) .ux-connecting-portrait {animation-delay:-4.1s;animation-duration:5.3s;}
.ux-people button:nth-child(4n) .ux-connecting-portrait {animation-delay:-1.2s;}
.ux-people button:hover .ux-connecting-portrait,.ux-people button:focus-visible .ux-connecting-portrait {animation-play-state:paused!important;}
@keyframes portal-people-drift {0%,100%{transform:translateY(2px) rotate(-2deg);}50%{transform:translateY(-5px) rotate(2deg);}}
@media(prefers-reduced-motion:reduce){.ux-connecting-portrait{animation:none!important;transform:none!important;}}

.ux-event-brand-cover {position:absolute;inset:0;overflow:hidden;background:#060608;}
.ux-event-brand-cover[hidden] {display:none!important;}
.event-cover[hidden] {display:none!important;}

@media(prefers-reduced-motion:reduce){.portal-launch-avatar{background-image:url('/portal-logo.png')!important;background-size:75% auto!important;}}
/* Portal city headline treatment. */
#my-circle-container .ux-home-panel .circle-name {
 text-transform:uppercase;
 letter-spacing:-.015em;
 color:#fff!important;
}
@supports ((background-clip:text) or (-webkit-background-clip:text)) {
 #my-circle-container .ux-home-panel .circle-name {
  background:linear-gradient(100deg,#84cfc3 0%,#ff629a 55%,#ffa300 100%);
  background-clip:text;
  -webkit-background-clip:text;
  color:transparent!important;
  -webkit-text-fill-color:transparent;
  width:fit-content;
  max-width:100%;
 }
}
@media(forced-colors:active){
 #my-circle-container .ux-home-panel .circle-name {background:none;color:CanvasText!important;-webkit-text-fill-color:CanvasText;}
}

.circle-participation {flex-shrink:0;margin:0 16px;border-bottom:1px solid #ffffff18;max-height:30vh;overflow:auto;}
.circle-participation:empty{display:none;}
.circle-participation summary{padding:14px 0;cursor:pointer;color:#84cfc3;font-size:13px;font-weight:700;letter-spacing:.06em;}
.circle-participation p{font-size:13px;line-height:1.5;margin:0 0 12px;color:#ccc;}
.circle-starter-actions{display:flex;flex-wrap:wrap;gap:8px;padding-bottom:14px;}
.circle-starter-actions button,.circle-first-message button{min-height:44px;border:1px solid #ffffff30;border-radius:24px;background:#111115;padding:9px 14px;color:#fff;font:inherit;font-size:12px;cursor:pointer;}
.circle-starter-actions button:hover,.circle-first-message button:hover{border-color:#84cfc3;}
.circle-first-message{padding:40px 24px;text-align:center;}
.circle-first-message p{font-size:18px;line-height:1.4;color:#fff;max-width:300px;margin:0 auto 18px;}

.ux-brand-home {display:inline-flex;align-items:center;gap:10px;min-height:44px;border:1px solid #ffffff28;border-radius:9px;background:transparent;padding:7px 10px;color:#aaa;cursor:pointer;flex-shrink:0;}
.ux-brand-home>span {font-size:10px;text-transform:uppercase;letter-spacing:.1em;}
.ux-brand-home:hover {border-color:#84cfc3;color:#fff;background:#ffffff07;}
.ux-brand-home:focus-visible {outline:2px solid #84cfc3;outline-offset:4px;}
.ux-brand-home .ds-logo {margin:0;height:22px;}
#screen-portal .screen-content {background:#050507;}
#screen-portal .ux-hub-heading {padding:26px 16px 24px;}
#screen-portal .ux-hub-heading h1 {font-family:var(--font-heading);font-size:clamp(52px,8vw,100px);line-height:.95;letter-spacing:-.035em;background:linear-gradient(105deg,#84cfc3,#ff629a 60%,#ffa300);background-clip:text;-webkit-background-clip:text;color:transparent;}
#screen-portal .ux-feature {background:#09090d;border:1px solid #ffffff25;border-radius:14px;grid-template-columns:1fr 1fr;}
#screen-portal .ux-feature-copy {padding:clamp(24px,4vw,56px);}
#screen-portal .ux-feature-copy strong {text-transform:uppercase;font-family:var(--font-heading);font-size:clamp(30px,3.5vw,52px);line-height:1.05;}
#screen-portal .ux-feature-copy .ux-eyebrow {color:#b9b9c4;}
#screen-portal .ux-feature-play {padding-top:20px;border-top:1px solid #ffffff20;}
#screen-portal .ux-hub-section {padding-top:42px;}
#screen-portal .ux-hub-section-head {border-top:1px solid #ffffff20;padding-top:22px;}
#screen-portal .ux-hub-section-head h2 {text-transform:uppercase;letter-spacing:.025em;font-size:30px;}
.ux-shelf-controls {display:flex;gap:8px;margin-left:auto;}
.ux-shelf-controls button {width:44px;height:44px;border:1px solid #ffffff35;background:transparent;color:white;border-radius:50%;font-size:18px;cursor:pointer;}
.ux-shelf-controls button:hover {border-color:#84cfc3;color:#84cfc3;}
#screen-portal .portal-tv-thumb-wrap img,#screen-portal .merch-card-img {transition:transform .25s ease;}
#screen-portal .portal-tv-card:hover .portal-tv-thumb-wrap img {transform:scale(1.035);}
#screen-portal .portal-tv-card:focus-visible,#screen-portal .merch-card:focus-visible,.ux-shelf-controls button:focus-visible {outline:2px solid #84cfc3;outline-offset:4px;}
#screen-portal .ux-hub-manifesto {background:#09090d;color:#fff;border:1px solid #ffffff25;}
#screen-portal .ux-hub-manifesto h2 {color:#fff;text-transform:uppercase;}
#screen-portal .ux-hub-manifesto p {color:#bdbdc7;}
@media(min-width:768px){.screen>.app-header>.ux-brand-home{display:none;}.ux-brand-desktop{margin-right:24px;}}
@media(max-width:600px){#screen-portal .ux-feature{grid-template-columns:1fr;}#screen-portal .ux-feature>img{height:260px;min-height:0;object-position:center 30%;}#screen-portal .ux-feature-copy{padding:24px;}#screen-portal .ux-hub-section-head h2{font-size:24px;} .ux-shelf-controls{gap:4px;} .ux-hub-section-head{gap:10px;}#screen-portal .ux-hub-text-link{font-size:12px;}}
@media(prefers-reduced-motion:reduce){#screen-portal .portal-tv-thumb-wrap img,#screen-portal .merch-card-img{transition:none;}}

/* Restrained scroll depth and spectral light; content never waits on motion. */
#screen-portal .ux-feature>img {transform:translateY(var(--portal-depth,0px)) scale(1.06);transform-origin:center;}
#screen-portal .ux-hub-section-head {position:relative;}
#screen-portal .ux-hub-section-head::before {content:'';position:absolute;top:-1px;left:0;right:0;height:1px;pointer-events:none;background:linear-gradient(90deg,transparent,#84cfc399,#ff629a77,#ffa30066,transparent);background-size:220% 100%;background-position:var(--portal-spectrum,15%) 0;opacity:.65;}
#screen-portal .ux-scroll-arrived>.ux-hub-section-head {animation:portal-section-arrive .8s cubic-bezier(.2,.7,.2,1) both;}
@keyframes portal-section-arrive {from{transform:translateY(10px);opacity:.65;}to{transform:translateY(0);opacity:1;}}
@media(prefers-reduced-motion:reduce){#screen-portal .ux-feature>img{transform:none!important;}#screen-portal .ux-scroll-arrived>.ux-hub-section-head{animation:none!important;}#screen-portal .ux-hub-section-head::before{background-position:50% 0;}}

.ux-spotlight-track {display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain;}
.ux-spotlight-track::-webkit-scrollbar{display:none;}
#screen-portal .ux-spotlight-track>.ux-feature{flex:0 0 100%;width:100%;scroll-snap-align:start;box-sizing:border-box;margin:0;}
#screen-portal .ux-feature-art>img{object-fit:contain;background:#050507;padding:24px;box-sizing:border-box;}
.ux-spotlight-nav{display:flex;align-items:center;justify-content:flex-end;gap:16px;margin:12px 0;}
.ux-spotlight-nav button{width:44px;height:44px;border:1px solid #ffffff35;border-radius:50%;background:transparent;color:#fff;font-size:19px;cursor:pointer;}
.ux-spotlight-nav button:disabled{opacity:.3;cursor:default;}
.ux-spotlight-count{font-size:12px;font-variant-numeric:tabular-nums;color:#ccc;}
.ux-grow-invite{display:flex;align-items:center;justify-content:space-between;gap:20px;width:calc(100% - 32px);margin:20px 16px 8px;padding:22px;text-align:left;border:1px solid #84cfc350;border-radius:14px;background:linear-gradient(120deg,#10221f,#110c18);color:#fff;cursor:pointer;}
.ux-grow-invite strong{display:block;font-family:var(--font-heading);font-size:23px;letter-spacing:.025em;}
.ux-grow-invite>span>span{display:block;margin-top:6px;color:#bbb;font-size:13px;}
.ux-grow-action{font-size:14px;white-space:nowrap;color:#a8efdf;}
.ux-action-feature{flex:0 0 min(380px,85vw);display:flex;flex-direction:column;gap:14px;padding:24px;text-align:left;border:1px solid #ffffff25;border-radius:12px;background:#0c0c11;color:#ddd;font:inherit;cursor:pointer;}
.ux-action-feature strong{font-family:var(--font-heading);font-size:26px;color:#fff;text-transform:uppercase;}
.ux-action-feature>span{font-size:13px;line-height:1.5;}
.ux-action-go{color:#84cfc3;margin-top:auto;}
#chat-invite-btn.ux-city-invite{display:flex;width:auto;gap:6px;min-height:44px;border:1px solid #84cfc350;border-radius:22px;padding:8px 12px;background:#10221f;color:#c5fff1;cursor:pointer;font-size:12px;white-space:nowrap;}
.ux-city-invite svg{width:16px;height:16px;}
.ux-grow-invite:focus-visible,.ux-action-feature:focus-visible,.ux-spotlight-nav button:focus-visible,.ux-spotlight-track:focus-visible{outline:2px solid #84cfc3;outline-offset:3px;}
@media(max-width:600px){.ux-grow-invite{align-items:flex-start;flex-direction:column;gap:14px;}#chat-invite-btn.ux-city-invite{padding:6px 9px;font-size:11px;} .ux-city-invite svg{display:none;}}

#portal-hub-act{scroll-margin-top:24px;}a.ux-action-feature{text-decoration:none;min-height:170px;box-sizing:border-box;}

/* Original Psychedelics 101 course artwork and collection preview. */
#screen-portal .ux-compound-card{flex:0 0 260px;gap:10px;padding:24px 22px 20px;background:radial-gradient(ellipse at 50% 60%,color-mix(in srgb,var(--course-color) 10%,transparent),transparent 65%),#08080a;border-color:color-mix(in srgb,var(--course-color) 25%,transparent);border-radius:16px;transition:border-color .2s,transform .2s}
#screen-portal .ux-compound-card strong{font-size:38px;line-height:1.12;color:var(--course-color)}
.ux-compound-art{display:grid;place-items:center;height:220px;margin:5px 0 10px}
.ux-compound-art img{width:100%;height:220px;object-fit:contain;mix-blend-mode:screen;transition:transform .3s}
#screen-portal .ux-compound-card .ux-action-go{display:flex;justify-content:space-between;width:100%;padding-top:16px;border-top:1px solid #ffffff20;color:#fff;font-size:15px;font-weight:600}
#screen-portal .ux-compound-card:focus-visible{outline:2px solid var(--course-color);outline-offset:3px}
#screen-portal .ux-feature-courses{background:radial-gradient(ellipse at 25% 50%,#83d5c612,transparent 60%),#070709}
.ux-course-preview{position:relative;display:block;height:400px;min-width:0;overflow:hidden}
.ux-course-mini{position:absolute;display:flex;flex-direction:column;left:50%;top:50%;width:190px;height:266px;box-sizing:border-box;padding:20px 18px;background:#0c0c0f;border:1px solid color-mix(in srgb,var(--course-color) 45%,transparent);border-radius:14px;box-shadow:0 20px 45px #0008;transform:translate(-50%,-50%);z-index:2}
.ux-course-mini:first-child{transform:translate(-104%,-42%) rotate(-15deg);z-index:1}
.ux-course-mini:last-child{transform:translate(4%,-42%) rotate(15deg);z-index:1}
.ux-course-mini>span{font:600 11px var(--font-heading);letter-spacing:.18em;color:#fff9}
.ux-course-mini b{font:700 28px var(--font-heading);text-transform:uppercase;color:var(--course-color);margin-top:5px}
.ux-course-mini img{width:100%;height:160px;object-fit:contain;mix-blend-mode:screen;margin-top:12px}
@media(hover:hover) and (prefers-reduced-motion:no-preference){#screen-portal .ux-compound-card:hover{border-color:var(--course-color);transform:translateY(-3px)}.ux-compound-card:hover img{transform:rotate(-3deg) scale(1.035)}}
@media(max-width:600px){.ux-course-preview{height:290px}.ux-course-mini{width:150px;height:214px;padding:14px}.ux-course-mini b{font-size:24px}.ux-course-mini img{height:130px;margin-top:6px}#screen-portal .ux-compound-card{flex-basis:235px}.ux-compound-art,.ux-compound-art img{height:190px}}
@media(prefers-reduced-motion:reduce){#screen-portal .ux-compound-card,.ux-compound-art img{transition:none}}

/* A compact arrival signature leaves the feature room to lead. */
#screen-portal .ux-hub-heading{justify-content:flex-start;align-items:center;gap:16px;padding:8px 16px 0;margin:0 0 36px;min-height:62px}
#screen-portal .ux-hub-heading h1{margin:0;font-size:38px;line-height:1;letter-spacing:.015em;background:none;color:#fff!important;text-wrap:nowrap}
.ux-welcome-prefix{display:block;font:600 10px/1.4 var(--font-heading);letter-spacing:.23em;color:#fff;margin-bottom:5px}
.ux-welcome-name{display:inline-block;background:linear-gradient(110deg,#84cfc3 8%,#f28cb8 48%,#ffa94b 85%);background-clip:text;-webkit-background-clip:text;color:transparent;}
.ux-welcome-orbit{position:relative;display:block;flex:0 0 38px;width:38px;height:46px;transform:rotate(-24deg)}
.ux-welcome-orbit::before,.ux-welcome-orbit::after{content:'';position:absolute;inset:1px 5px;border:1px solid #84cfc3;border-radius:50%;box-shadow:0 0 13px #84cfc31c}
.ux-welcome-orbit::after{inset:7px 0;border-color:#f28cb890;transform:rotate(55deg)}
@media(prefers-reduced-motion:no-preference){
#screen-portal.active .ux-welcome-name{animation:uxWelcomeReveal 900ms cubic-bezier(.2,.7,.2,1) both}
#screen-portal.active .ux-welcome-orbit{animation:uxWelcomeOrbit 1500ms cubic-bezier(.2,.7,.2,1) both}
@keyframes uxWelcomeReveal{from{opacity:0;clip-path:inset(0 100% 0 0);transform:translateY(5px)}to{opacity:1;clip-path:inset(0);transform:translateY(0)}}
@keyframes uxWelcomeOrbit{from{opacity:0;transform:rotate(-85deg) scale(.8)}to{opacity:1;transform:rotate(-24deg) scale(1)}}
}
@media(max-width:600px){#screen-portal .ux-hub-heading{padding-top:4px;margin-bottom:28px;gap:12px;min-height:54px}#screen-portal .ux-hub-heading h1{font-size:30px}.ux-welcome-orbit{flex-basis:30px;width:30px;height:38px}.ux-welcome-prefix{font-size:9px}}

/* Home circle: compact city medallion and a clear entrance. */
#my-circle-container .circle-card.ux-home-panel,#my-circle-container .circle-card.ux-home-panel:has(.ux-home-art:not([hidden])){display:grid!important;grid-template-columns:156px minmax(0,1fr);gap:26px;align-items:center;padding:24px!important;border-radius:20px!important;text-align:left;background:radial-gradient(ellipse at 0% 50%,#84cfc30c,transparent 65%),#050507!important;border:1px solid #84cfc340!important}
#my-circle-container .ux-home-panel .ux-home-art{width:156px;max-width:156px;height:156px;margin:0;object-fit:contain;clip-path:circle(48%)}
#my-circle-container .ux-home-panel .ux-circle-content{min-width:0;padding:0;margin:0}
#my-circle-container .ux-home-panel .circle-name{font-size:clamp(26px,3vw,36px)!important;letter-spacing:-.015em;margin-bottom:9px}
#my-circle-container .ux-home-panel .circle-preview{font-size:13px;margin-top:9px}
#my-circle-container .ux-home-panel .ux-conversation-cta{margin-top:16px;padding-top:12px;border-top:1px solid #ffffff14;font-size:13px}
#my-circle-container .ux-home-panel .ux-conversation-cta>span{width:28px;height:28px;border-color:#84cfc350}
#my-circle-container .ux-home-panel:not(:has(.ux-home-art:not([hidden]))){grid-template-columns:1fr}
@media(max-width:600px){#my-circle-container .circle-card.ux-home-panel,#my-circle-container .circle-card.ux-home-panel:has(.ux-home-art:not([hidden])){grid-template-columns:88px minmax(0,1fr);gap:16px;padding:18px!important;border-radius:16px!important}#my-circle-container .ux-home-panel .ux-home-art{width:88px;max-width:88px;height:88px}#my-circle-container .ux-home-panel .circle-name{font-size:25px!important}#my-circle-container .ux-home-panel .circle-meta{gap:6px;font-size:12px}#my-circle-container .ux-home-panel .ux-conversation-cta{margin-top:12px;padding-top:10px}}

@font-face{font-family:PortalGoodTrip;src:url('/assets/courses/BicycleDay.otf') format('opentype');font-display:swap}
#screen-portal .ux-feature-courses .ux-feature-copy>strong{font-family:PortalGoodTrip,'Oswald',sans-serif;font-size:clamp(48px,6.5vw,86px);font-weight:400;line-height:.88;letter-spacing:.02em;text-transform:none;color:#fff;-webkit-text-fill-color:#fff;background:none;text-shadow:0 0 32px #ffffff16}
.ux-goodtrip-line{display:block}
.ux-goodtrip-subtitle{display:block;font:600 15px/1.4 var(--font-heading);letter-spacing:.12em;text-transform:uppercase;margin-top:20px;background:linear-gradient(105deg,#ffa300,#ff629a,#c4a6e0,#84cfc3);background-clip:text;-webkit-background-clip:text;color:transparent}

/* An astronaut-led invitation, using the original clean Brandt frame. */
#screen-portal .ux-grow-invite{display:grid;grid-template-columns:112px minmax(0,1fr) auto;gap:24px;align-items:center;box-sizing:border-box;position:relative;overflow:hidden;padding:24px 30px;background:radial-gradient(ellipse at 5% 65%,#84cfc313,transparent 48%),#070709;border:1px solid #84cfc338;border-radius:18px;transition:border-color .2s,background-color .2s}
.ux-invite-astronaut{display:grid;place-items:center;position:relative;width:112px;height:112px}
.ux-invite-astronaut::before{content:'';position:absolute;inset:12px -3px;border:1px solid #84cfc340;border-radius:50%;transform:rotate(-30deg) scaleY(.6)}
.ux-invite-astronaut img{position:relative;width:104px;height:104px;object-fit:contain;mix-blend-mode:screen}
#screen-portal .ux-grow-invite strong{font-family:var(--font-heading);font-size:clamp(24px,2.8vw,34px);line-height:1.05;letter-spacing:.005em;color:#fff}
#screen-portal .ux-grow-invite .ux-invite-copy>span{margin-top:10px;font-size:13px;color:#dadade}
#screen-portal .ux-grow-action{display:flex;align-items:center;gap:20px;font-size:14px;font-weight:600;color:#fff;white-space:nowrap}
#screen-portal .ux-grow-action>span{display:grid;place-items:center;width:40px;height:40px;margin:0;border-radius:50%;border:1px solid #84cfc370;color:#b6f0e4;font-size:20px}
@media(hover:hover){#screen-portal .ux-grow-invite:hover{border-color:#84cfc380;background-color:#0a1110}}
#screen-portal .ux-grow-invite:active{opacity:.85}
@media(prefers-reduced-motion:no-preference){.ux-invite-astronaut img{animation:uxInviteFloat 6s ease-in-out infinite}@keyframes uxInviteFloat{0%,100%{transform:translateY(3px) rotate(-3deg)}50%{transform:translateY(-5px) rotate(2deg)}}}
@media(max-width:600px){#screen-portal .ux-grow-invite{grid-template-columns:76px minmax(0,1fr);gap:12px 16px;padding:20px}.ux-invite-astronaut{width:76px;height:90px;grid-row:1/3}.ux-invite-astronaut img{width:80px;height:80px}#screen-portal .ux-grow-invite strong{font-size:25px}#screen-portal .ux-grow-action{grid-column:2;justify-content:space-between;border-top:1px solid #ffffff16;padding-top:12px;font-size:13px}#screen-portal .ux-grow-action>span{width:30px;height:30px;font-size:17px}}

#ux-goodtrip-dialog{position:fixed;inset:0;width:100%;max-width:none;height:100dvh;max-height:none;margin:0;padding:0;border:0;background:#050509;color:#fff;overflow:hidden}
#ux-goodtrip-dialog[open]{display:flex;flex-direction:column}
#ux-goodtrip-dialog>header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:calc(12px + env(safe-area-inset-top)) 18px 12px;border-bottom:1px solid #ffffff20;font:600 13px var(--font-heading);letter-spacing:.08em}
#ux-goodtrip-dialog button{background:transparent;border:1px solid #ffffff50;border-radius:8px;color:#fff;padding:10px 14px;font:inherit;cursor:pointer}
#ux-goodtrip-dialog button:focus-visible{outline:2px solid #84cfc3;outline-offset:2px}
#ux-goodtrip-dialog iframe{width:100%;flex:1;min-height:0;border:0;background:#050509}

.ux-course-single{display:grid;place-items:center;min-width:0;padding:32px;background:radial-gradient(ellipse at center,#f28cb810,transparent 65%)}
.ux-course-single img{display:block;width:min(100%,320px);height:auto;aspect-ratio:1;object-fit:contain;border-radius:50%;mix-blend-mode:screen}
#screen-portal .ux-feature-courses .ux-feature-copy{padding:32px}
@media(max-width:600px){.ux-course-single{padding:22px 32px 0}.ux-course-single img{width:180px}#screen-portal .ux-feature-courses .ux-feature-copy{padding:24px}#screen-portal .ux-feature-courses .ux-feature-copy>strong{font-size:52px}}


/* Bottom navigation already names Portal in the app layout. */
.screen>.app-header>.ux-brand-home>span{display:none}
.screen>.app-header>.ux-brand-home{border-color:transparent;padding:7px 0;border-radius:0;background:transparent}

.ux-update-ready{position:fixed;z-index:2147483000;bottom:calc(84px + env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);width:max-content;max-width:calc(100% - 32px);padding:14px 18px;background:#10221f;border:1px solid #84cfc3;border-radius:12px;color:#fff;font:600 13px/1.4 sans-serif;box-shadow:0 8px 30px #0008;cursor:pointer}
.ux-update-ready:focus-visible{outline:2px solid #fff;outline-offset:3px}

/* City conversation and local guide share one compact header. */
#chat-view{background:#050507}
#chat-view .chat-header{height:auto;min-height:76px;flex-shrink:0;gap:10px;flex-wrap:wrap;padding:12px 16px}
#chat-view .ux-city-chat-art{width:52px;height:52px;border-radius:50%;object-fit:cover;flex-shrink:0}
#chat-view #chat-circle-name{font-family:var(--font-heading);font-size:26px;line-height:1.08;text-transform:uppercase;background:linear-gradient(105deg,#ffa300,#ff629a,#84cfc3);background-clip:text;-webkit-background-clip:text;color:transparent;white-space:normal}
.ux-city-tabs{display:flex;flex-shrink:0;margin:0 16px;border-bottom:1px solid #ffffff20}
.ux-city-tabs button{flex:1;border:0;border-bottom:3px solid transparent;padding:14px 8px;background:transparent;color:#bdbdc5;font:500 17px var(--font-heading);cursor:pointer}
.ux-city-tabs button[aria-selected=true]{border-bottom-color:#84cfc3;color:white}
.ux-city-tabs button:focus-visible,#ux-city-guide button:focus-visible{outline:2px solid #84cfc3;outline-offset:2px}
#ux-city-guide{flex:1;min-height:0;overflow-y:auto;padding:4px 20px calc(28px + env(safe-area-inset-bottom));color:white}
#ux-city-guide[hidden]{display:none!important}
#ux-city-guide>section{padding:24px 0;border-bottom:1px solid #ffffff20}
#ux-city-guide header{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px}
#ux-city-guide h2{margin:0;font:600 21px/1.2 var(--font-heading);letter-spacing:.02em;color:#fff}
#ux-city-guide button{color:#fff;cursor:pointer;font:inherit}
#ux-city-guide header button,.ux-guide-text-action,.ux-guide-note button{background:none;border:0;color:#84cfc3!important;font-size:12px!important;padding:6px 0;text-align:left}
.ux-guide-note{font-size:13px;line-height:1.5;color:#c4c4cc;margin:8px 0 14px}
.ux-guide-people{display:flex;gap:16px;overflow-x:auto;padding:4px 0 8px}
.ux-guide-people button{display:flex;flex-direction:column;align-items:center;gap:9px;flex:0 0 72px;width:72px;border:0;background:none;padding:0}
.ux-guide-people button>span:last-child{font-size:12px;line-height:1.3;text-align:center}
.ux-guide-event{display:grid;grid-template-columns:48px minmax(0,1fr) 18px;gap:14px;align-items:center;text-align:left;border:0;background:none;width:100%;padding:13px 0}
.ux-guide-date{border:1px solid #ffffff25;border-radius:8px;padding:7px;text-align:center;color:#84cfc3;font-size:10px;text-transform:uppercase}
.ux-guide-date b{display:block;font:600 26px/1.1 var(--font-heading);color:white}
.ux-guide-event strong{font-size:15px;line-height:1.3;display:block}
.ux-guide-event small{display:block;font-size:12px;color:#bdbdc5;margin-top:6px}
.ux-guide-verified{font:600 9px/1 var(--font-body,sans-serif);letter-spacing:.14em;color:#84cfc3;border:1px solid #84cfc34d;border-radius:999px;padding:6px 8px;white-space:nowrap}
.ux-guide-society{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 28px;gap:16px;align-items:center;padding:18px;text-decoration:none;color:#fff;border:1px solid transparent;border-radius:14px;background:linear-gradient(#08090b,#08090b) padding-box,linear-gradient(120deg,#84cfc36b,#f28cb836 58%,#ffa30059) border-box;overflow:hidden}
.ux-guide-society::before{content:'';position:absolute;width:150px;height:150px;right:-70px;top:-90px;border-radius:50%;background:#84cfc30b;filter:blur(2px);pointer-events:none}
.ux-guide-society>span:first-child{min-width:0}
.ux-guide-society strong{display:block;font:600 19px/1.15 var(--font-heading);letter-spacing:.01em;text-transform:uppercase}
.ux-guide-society small{display:block;margin-top:9px;color:#c5c5cc;font-size:12px;line-height:1.55}
.ux-guide-society em{display:block;margin-top:14px;color:#84cfc3;font:600 11px/1 var(--font-body,sans-serif);font-style:normal;letter-spacing:.04em;text-transform:uppercase}
.ux-guide-society>span:last-child{position:relative;display:grid;place-items:center;width:28px;height:28px;border:1px solid #84cfc357;border-radius:50%;color:#84cfc3;font-size:16px;transition:transform .2s ease,background .2s ease}
.ux-guide-society:hover>span:last-child{transform:translate(2px,-2px);background:#84cfc315}
.ux-guide-society:focus-visible{outline:2px solid #84cfc3;outline-offset:3px}
.ux-guide-org{display:flex;justify-content:space-between;gap:12px;width:100%;text-align:left;background:none;border:0;padding:12px 0}
.ux-guide-invite{display:flex;align-items:center;gap:16px;margin:24px 0 0;width:100%;padding:18px;border:1px solid #84cfc345;border-radius:14px;background:#080d0c;text-align:left}
.ux-guide-invite img{object-fit:contain;mix-blend-mode:screen}
.ux-guide-invite strong{display:block;font:600 20px/1.1 var(--font-heading)}
.ux-guide-invite span>span{display:block;margin-top:10px;font-size:13px;color:#84cfc3}
#chat-view.ux-guide-open #chat-messages,#chat-view.ux-guide-open #circle-participation,#chat-view.ux-guide-open #chat-input-bar,#chat-view.ux-guide-open #chat-typing,#chat-view.ux-guide-open #chat-warning,#chat-view.ux-guide-open #fireside-chat-banner,#chat-view.ux-guide-open #chat-follow-prompt,#chat-view.ux-guide-open #chat-reply-bar,#chat-view.ux-guide-open #chat-media-preview,#chat-view.ux-guide-open #chat-new-pill,#chat-view.ux-guide-open #circle-search-wrap,#chat-view.ux-guide-open #circle-search-results,#chat-view.ux-guide-open #chat-search-btn{display:none!important}
#chat-view.ux-guide-open #ux-circle-now{display:none!important}
.ux-circle-now{width:calc(100% - 32px);margin:12px 16px 4px;min-height:64px;padding:11px 16px;display:grid;grid-template-columns:minmax(0,1fr) 22px;align-items:center;gap:2px 10px;text-align:left;background:#0b1110;border:1px solid #84cfc34d;border-radius:12px;color:#fff;flex-shrink:0}
.ux-circle-now span:first-child{grid-column:1;font:700 10px/1.2 var(--font-body,sans-serif);letter-spacing:.15em;color:#84cfc3}
.ux-circle-now strong{grid-column:1;font:600 14px/1.3 var(--font-body,sans-serif);white-space:normal;overflow-wrap:normal}
.ux-circle-now span:last-child{grid-column:2;grid-row:1/3;justify-self:end;color:#84cfc3;font-size:20px}
.ux-circle-now:active{transform:scale(.99);background:#11201d}
.ux-card-source{margin:4px 0 0;color:#b9b9c0;font-size:11px;letter-spacing:.02em}
.ux-event-source{display:flex;flex-direction:column;gap:5px;margin:18px 0 8px;padding:16px 18px;border:1px solid #ffffff28;border-radius:12px;background:#0b0b0d}
.ux-event-source span{font:700 10px/1.2 var(--font-body,sans-serif);letter-spacing:.16em;color:#84cfc3}
.ux-event-source a{align-self:flex-start;color:#fff;font-weight:700;text-decoration:underline;text-decoration-color:#84cfc3;text-underline-offset:4px}
.ux-event-source small{color:#ceced2;font-size:12px;line-height:1.45}
/* Shared surfaces: true dark canvas, clear white type, and restrained color at the edge. */
.member-profile-overlay,.event-detail,.dm-chat-view{background:#08080a!important;color:#fff}
.msg-action-panel{background:#0b0b0d!important;border-top-color:#ffffff30!important}
.event-detail-hero{background:#08080a!important}
.ux-invitation.event-card{background:#0d0d0f!important;border-color:#ffffff30!important}
.ux-invitation .event-card-body{background:#0d0d0f}
.ux-invitation .ux-card-kicker{letter-spacing:.11em}
.ux-invitation .event-card-title{color:#fff!important}
.ux-invitation:active{transform:scale(.995)}
.dm-chat-header,.dm-tools-tray{background:#0b0b0d!important;border-color:#ffffff28!important}
body:has(#dm-chat-view.visible) #public-signin-chip{display:none!important}
/* Give the iPhone composer its own space above the keyboard. */
@media(max-width:430px){
 #dm-chat-view .dm-input-bar{gap:10px;padding:8px 12px max(10px,calc(env(safe-area-inset-bottom) + 8px));background:#0b0b0d}
 body.kb-open #dm-chat-view .dm-input-bar{padding-bottom:8px}
 #dm-chat-view .dm-tools-toggle,#dm-chat-view .dm-send{width:46px;height:46px;flex:0 0 46px}
 #dm-chat-view .dm-input{min-height:46px;font-size:16px;padding:10px 15px;background:#151518;border-color:#ffffff38}
 #dm-chat-view .dm-messages{min-height:0;overscroll-behavior:contain}
}
@media(min-width:800px){#ux-city-guide{padding-left:32px;padding-right:32px}.ux-guide-people{gap:24px}}

/* Keep the city identity readable above the mobile circle controls. */
@media(max-width:767px){
 #chat-view .chat-header{display:grid;grid-template-columns:36px 48px minmax(0,1fr) 36px 36px;gap:10px 8px;align-items:center;padding:12px 16px}
 #chat-view .chat-header>.chat-back{grid-column:1;grid-row:1;width:36px;height:36px;margin:0}
 #chat-view .chat-header>.ux-city-chat-art{grid-column:2;grid-row:1;width:48px;height:48px}
 #chat-view .chat-header>div:has(>#chat-circle-name){grid-column:3/-1;grid-row:1;min-width:0;width:100%}
 #chat-view #chat-circle-name{font-size:clamp(22px,6vw,28px);line-height:1.12;white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:normal;word-break:normal}
 #chat-view #chat-circle-members{white-space:nowrap;margin-top:4px;font-size:12px}
 #chat-view #chat-follow-btn{grid-column:1/3;grid-row:2;justify-self:start;margin:0}
 #chat-view #chat-invite-btn{grid-column:3;grid-row:2;justify-self:end;margin:0;padding:8px 12px;font-size:12px}
 #chat-view #chat-mute-btn{grid-column:4;grid-row:2;margin:0;padding:8px 0}
 #chat-view #chat-search-btn{grid-column:5;grid-row:2;margin:0;padding:8px 0}
}

.ux-invitation{cursor:pointer}

/* The portrait clipping lives in the shared header component above. */
:is(.app-header-right,.ds-topnav-profile)>.avatar-ring::before,:is(.app-header-right,.ds-topnav-profile)>.avatar-ring::after{display:none!important}

/* Desktop spotlight: a wide film frame, with a fine spectral edge. */
@media(min-width:901px){
 #screen-portal>.screen-content{max-width:1680px!important;padding-left:32px!important;padding-right:32px!important;padding-top:24px!important}
 #screen-portal>.screen-content>:not(#ux-hub-feature){max-width:1200px!important;margin-left:auto;margin-right:auto}
 #screen-portal #ux-hub-feature{padding:0}
 #screen-portal .ux-spotlight-track>.ux-feature{min-height:480px;height:clamp(480px,36vw,590px);padding:0;border:1px solid transparent;border-radius:22px;background:linear-gradient(#060608,#060608) padding-box,linear-gradient(115deg,#84cfc3aa,#84cfc325 28%,#f28cb87a 62%,#ffa300aa) border-box;isolation:isolate}
 #screen-portal .ux-feature:not(.ux-feature-art){display:flex;justify-content:flex-end}
 #screen-portal .ux-feature:not(.ux-feature-art)>img{position:absolute;inset:0 auto 0 0;width:66%;height:100%;min-height:0;max-height:none;object-fit:cover;object-position:center 35%;transform:none;mask-image:linear-gradient(90deg,#000 66%,transparent 100%);-webkit-mask-image:linear-gradient(90deg,#000 66%,transparent 100%)}
 #screen-portal .ux-feature:not(.ux-feature-art) .ux-feature-copy{width:48%;box-sizing:border-box;padding:48px 48px 48px 16px}
 #screen-portal .ux-feature-copy{gap:24px}
 #screen-portal .ux-feature-copy strong{font-size:clamp(36px,3.6vw,62px);line-height:1.03;letter-spacing:-.018em;max-width:620px;text-wrap:balance}
 #screen-portal .ux-feature-copy .ux-eyebrow{color:#a3ded3;letter-spacing:.22em;font-size:11px}
 #screen-portal .ux-feature-play{align-self:flex-start;border:1px solid #ffffff45;border-radius:999px;padding:8px 24px 8px 8px;margin-top:8px;gap:14px;background:#ffffff08;transition:background .2s,border-color .2s}
 #screen-portal .ux-play-disc{width:40px;height:40px}
 #screen-portal .ux-feature:hover .ux-feature-play{background:#84cfc31a;border-color:#84cfc3}
 #screen-portal .ux-feature:focus-visible{outline:2px solid #84cfc3;outline-offset:-5px}
 #screen-portal .ux-feature-art{grid-template-columns:1.1fr 1fr}
 #screen-portal .ux-feature-art>img{height:100%;min-height:0;max-height:none;transform:none;padding:40px}
 #screen-portal .ux-feature-courses .ux-feature-copy{padding:48px 56px 48px 16px}
 #screen-portal .ux-course-single{background:radial-gradient(ellipse at center,#f28cb815,transparent 66%)}
 #screen-portal .ux-course-single img{width:min(100%,400px)}
 #screen-portal .ux-spotlight-nav{margin:16px 2px 26px;gap:14px}
 #screen-portal .ux-spotlight-nav::before{content:'';height:1px;flex:1;margin-right:12px;background:linear-gradient(90deg,#84cfc355,#f28cb83a,transparent)}
 #screen-portal .ux-spotlight-nav button{width:40px;height:40px}
}
@media(min-width:901px) and (max-width:1100px){
 #screen-portal>.screen-content{padding-left:20px!important;padding-right:20px!important}
 #screen-portal .ux-feature:not(.ux-feature-art) .ux-feature-copy{width:49%;padding-right:28px}
}

/* A personal invitation, with the same astronaut as Portal's arrival. */
#invite-sheet-overlay{padding:20px;box-sizing:border-box;align-items:center!important}
.ux-invite-sheet{position:relative;width:100%;max-width:540px;max-height:calc(100dvh - 40px);overflow:auto;box-sizing:border-box;padding:48px 32px 28px;color:#fff;border:1px solid transparent;border-radius:24px;background:linear-gradient(#08080a,#08080a) padding-box,linear-gradient(130deg,#84cfc38a,#f28cb83d 55%,#ffa30070) border-box;box-shadow:0 24px 100px #0008}
.ux-invite-close{position:absolute;right:14px;top:14px;width:36px;height:36px;border:1px solid #ffffff25;border-radius:50%;background:transparent;color:#ccc;font:24px/1 sans-serif;cursor:pointer}
.ux-invite-intro{display:grid;grid-template-columns:112px minmax(0,1fr);align-items:center;gap:24px;margin-bottom:34px}
.ux-invite-traveler{width:112px;height:112px;object-fit:contain;mix-blend-mode:screen}
.ux-invite-intro h2{font:700 36px/1.05 var(--font-heading);letter-spacing:.005em;margin:0 0 16px}
.ux-invite-intro h2 span{background:linear-gradient(100deg,#84cfc3,#f28cb8 60%,#ffa300);background-clip:text;-webkit-background-clip:text;color:transparent}
.ux-invite-intro p{font:400 14px/1.6 var(--font-body,sans-serif);color:#bdbdc5;margin:0}
.ux-invite-label{display:block;font:600 10px/1.4 var(--font-body,sans-serif);letter-spacing:.16em;color:#9999a3;margin-bottom:10px}
.ux-invite-link{display:flex;align-items:center;gap:12px;padding:10px 10px 10px 16px;border:1px solid #ffffff25;border-radius:12px;background:#ffffff04;margin-bottom:16px}
#invite-link-url{min-width:0;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#dedee3;font-size:13px}
#invite-copy-btn{flex-shrink:0;min-height:40px;border:0;border-radius:8px;background:#84cfc317;color:#a9e4d9;font:600 12px var(--font-body,sans-serif);padding:8px 12px;cursor:pointer}
.ux-invite-share{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:52px;padding:14px 20px;border:0;border-radius:12px;background:linear-gradient(110deg,#84cfc3,#f28cb8 58%,#ffa300);color:#08080a;font:700 15px var(--font-body,sans-serif);cursor:pointer}
.ux-invite-share span{font-size:22px}
.ux-invite-options{display:flex;justify-content:center;gap:28px;margin-top:20px}
.ux-invite-options button{min-height:40px;background:none;border:0;padding:8px 0;color:#bdbdc5;font:500 13px var(--font-body,sans-serif);cursor:pointer}
.ux-invite-sheet button:hover{filter:brightness(1.15)}
.ux-invite-sheet button:focus-visible{outline:2px solid #84cfc3;outline-offset:3px}
@media(prefers-reduced-motion:no-preference){.ux-invite-traveler{animation:uxInviteFloat 6s ease-in-out infinite}}
@media(max-width:600px){#invite-sheet-overlay{padding:12px;align-items:flex-end!important}.ux-invite-sheet{padding:48px 22px calc(22px + env(safe-area-inset-bottom));max-height:calc(100dvh - 24px)}.ux-invite-intro{grid-template-columns:80px minmax(0,1fr);gap:16px;margin-bottom:26px}.ux-invite-traveler{width:80px;height:100px}.ux-invite-intro h2{font-size:30px}.ux-invite-intro p{font-size:13px}}

/* Portal for Hosts */
.host-dashboard-overlay{position:fixed;inset:0;z-index:100000;background:#0d0d0e;color:#fff;overflow:auto;transform:translateX(105%);pointer-events:none;visibility:hidden;transition:transform .28s ease,visibility .28s}
.host-dashboard-overlay.visible{transform:translateX(0);pointer-events:auto;visibility:visible}
.host-dashboard-overlay .organizer-profile-header{position:sticky;top:0;z-index:2;background:rgba(13,13,14,.94);backdrop-filter:blur(18px);border-bottom:1px solid #303033}
.host-dashboard-body{max-width:850px;margin:auto;padding:28px clamp(20px,4vw,42px) calc(80px + env(safe-area-inset-bottom));display:grid;gap:18px}
.host-eyebrow{font-size:11px;letter-spacing:.18em;text-transform:uppercase;font-weight:800;color:#9bd8cf}
.host-page-switch{display:flex;gap:8px;overflow-x:auto;padding-bottom:4px}
.host-page-switch button{flex:none;border:1px solid #39393b;border-radius:999px;padding:9px 16px;background:#1b1b1d;color:#ddd;font:inherit;font-size:13px;cursor:pointer}
.host-page-switch button.active{border-color:#a4e4d9;background:#a4e4d9;color:#101012}
.host-hero{position:relative;overflow:hidden;border:1px solid #414144;border-radius:22px;background:radial-gradient(circle at 90% -15%,rgba(125,213,204,.14),transparent 45%),radial-gradient(circle at 4% 130%,rgba(249,109,175,.13),transparent 55%),#171719;padding:clamp(22px,5vw,40px)}
.host-hero:before{content:'';position:absolute;inset:0 0 auto;height:2px;background:linear-gradient(90deg,#ffa826,#fc6f9f,#a4e4d9)}
.host-hero-art{position:absolute;right:-3%;top:-22%;width:min(42%,290px);height:145%;object-fit:cover;opacity:.28;filter:grayscale(100%);mask-image:linear-gradient(90deg,transparent,#000 55%);pointer-events:none}
.host-hero>*:not(.host-hero-art){position:relative}
.host-hero h1{font-family:'Oswald',sans-serif;font-size:clamp(36px,6vw,62px);line-height:1.02;text-transform:uppercase;letter-spacing:.015em;margin:16px 0 8px}
.host-hero p,.host-muted,.host-fineprint{color:#b4b4bb;line-height:1.55}
.host-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:24px}
.host-dashboard-body button:not(.host-page-switch button){cursor:pointer}
.host-actions button,.host-panel>button,.host-empty button,.host-invite-banner button{border:1px solid #626269;border-radius:11px;background:transparent;color:#fff;font:inherit;font-weight:700;padding:11px 16px;min-height:44px}
.host-actions button.host-primary,.host-empty button,.host-invite-banner button{border:0;color:#111;background:linear-gradient(105deg,#a4e4d9,#fb77b0 56%,#ffa826)}
.host-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.host-stats>div{border:1px solid #343438;border-radius:14px;background:#171719;padding:16px;display:grid;gap:3px}
.host-stats strong{font-family:'Oswald',sans-serif;font-size:28px;line-height:1;color:#fff}
.host-stats span{font-size:11px;color:#afafb4;text-transform:uppercase;letter-spacing:.06em}
.host-panel{border:1px solid #343438;border-radius:20px;background:#171719;padding:24px}
.host-section-heading{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:14px}
.host-section-heading h2,.host-change-form h2{font-family:'Oswald',sans-serif;font-size:25px;line-height:1.1;text-transform:uppercase;margin:0}
.host-section-heading span{color:#a4e4d9;font-size:13px}
.host-event-row{display:flex;justify-content:space-between;align-items:center;gap:12px;border-top:1px solid #323236;padding:16px 0}
.host-event-row>div{min-width:0;display:grid;gap:3px}
.host-event-row small{color:#a4e4d9;font-size:11px;letter-spacing:.07em;text-transform:uppercase}
.host-event-row strong{font-size:16px;line-height:1.3}
.host-event-row span{font-size:12px;color:#aaa}
.host-event-row button{flex:none;border:1px solid #4e4e53;border-radius:9px;background:#202023;color:white;min-height:42px;padding:8px 11px;font:inherit;font-size:12px}
.host-row-actions{display:flex;gap:7px;flex-wrap:wrap}
.host-panel label{display:grid;gap:8px;margin:17px 0;color:#d7d7dc;font-size:13px;font-weight:600}
.host-panel input,.host-panel textarea,.host-panel select{width:100%;box-sizing:border-box;border:1px solid #4b4b50;border-radius:10px;background:#0e0e10;color:#fff;font:inherit;font-size:15px;padding:12px;outline:none}
.host-panel input:focus,.host-panel textarea:focus{border-color:#a4e4d9;box-shadow:0 0 0 2px rgba(164,228,217,.15)}
.host-panel input:disabled,.host-panel textarea:disabled{opacity:.65}
.host-panel label.host-check{display:flex;align-items:center;gap:10px}
.host-panel .host-check input{width:20px;height:20px;accent-color:#a4e4d9}
.host-panel p{font-size:13px}
.host-request{border-top:1px solid #323236;padding:12px 0;margin:0;color:#c5c5ca}
.host-empty{padding:35px 0 60px}
.host-empty h2{font-family:'Oswald',sans-serif;font-size:clamp(33px,7vw,54px);line-height:1.03;text-transform:uppercase;margin:15px 0}
.host-empty p{max-width:500px;color:#bbb;line-height:1.5}
.host-invite-banner{border:1px solid #9ad9d0;border-radius:16px;padding:18px;background:#162524}
.host-invite-banner p{color:#ddd}
.host-review{padding:16px 0;border-top:1px solid #323236;display:grid;gap:5px}
.host-review strong{font-size:16px}
.host-review p{margin:2px 0;color:#c5c5ca;overflow-wrap:anywhere}
.host-review .host-actions{margin-top:7px}
.host-create{border-top:1px solid #323236;padding:16px 0 22px}
.host-create summary{cursor:pointer;font-weight:700;color:#a4e4d9}
.host-create button{border:1px solid #626269;border-radius:10px;background:#202023;color:#fff;padding:10px 15px;min-height:44px;font:inherit;font-weight:700}
.host-fineprint{font-size:12px}
.host-field-hint{font-size:12px;color:var(--text-dim);line-height:1.4;margin:0 0 14px}
@media(max-width:600px){.host-dashboard-body{padding-top:18px}.host-hero,.host-panel{border-radius:16px;padding:20px}.host-event-row{align-items:flex-start;flex-direction:column}.host-event-row button{align-self:flex-start}}
@media(prefers-reduced-motion:reduce){.host-dashboard-overlay{transition:none}}

/* Legal footer at the end of each main tab (see uxInitLegalFooters). */
.ux-legal-footer{display:flex;flex-direction:column;align-items:center;gap:10px;margin:32px 16px 8px;padding:24px 8px 8px;border-top:1px solid rgba(255,255,255,.08);text-align:center;font-family:'Inter',sans-serif;font-size:12px;line-height:1.5;color:var(--text-dim,#a7a0ae);flex:none;width:auto;align-self:stretch}
.ux-legal-footer img{height:22px;width:auto;opacity:.75}
.ux-legal-footer nav{display:flex;flex-wrap:wrap;justify-content:center;gap:4px 18px}
.ux-legal-footer nav a{font-family:'Oswald',sans-serif;font-size:13px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#f0e8ff;text-decoration:none;padding:6px 0}
.ux-legal-footer nav a:hover,.ux-legal-footer nav a:focus-visible{color:#ffa300}
.ux-legal-footer p{margin:0;max-width:34em}
.ux-legal-footer .ux-legal-contact a{color:#84cfc3;text-decoration:underline;text-underline-offset:2px;user-select:all;-webkit-user-select:all}

/* Signed-out welcome (uxOpenWelcome). The propeller.la/youaretheportal language:
   Brandt's speckle, Archivo, Portal-gradient headings, gradient pills, gradient
   hairline frames, four-point sparkles, real photography. */
.ux-welcome-lock,.ux-welcome-lock body{overflow:hidden}
.ux-welcome-lock #public-signin-chip{display:none!important}
.ux-welcome{--wl-grad:linear-gradient(90deg,#ffa300,#ff629a 50%,#84cfc3);--wl-ink:#f4eefc;--wl-dim:rgba(244,238,252,.72);--wl-quiet:rgba(244,238,252,.5);--wl-line:rgba(244,238,252,.14);
 position:fixed;inset:0;z-index:99997;background:#050505 url(/assets/welcome/speckle.jpg) center top/1400px auto repeat;color:var(--wl-ink);opacity:0;transition:opacity .25s cubic-bezier(.16,1,.3,1);font-family:'Archivo','Inter',sans-serif}
.ux-welcome.is-open{opacity:1}
.ux-welcome ::selection{background:#ff629a;color:#050505}
.ux-wl-scroll{height:100%;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;padding:0 20px calc(28px + env(safe-area-inset-bottom));scrollbar-width:thin;scrollbar-color:#ff629a transparent}
.ux-wl-scroll::-webkit-scrollbar{width:6px}.ux-wl-scroll::-webkit-scrollbar-thumb{background:var(--wl-grad);border-radius:6px}
.ux-wl-top{position:sticky;top:0;z-index:3;display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 -20px;padding:calc(14px + env(safe-area-inset-top)) max(20px,calc(50% - 540px)) 18px;background:linear-gradient(rgba(5,5,5,.94) 55%,rgba(5,5,5,0))}
.ux-wl-top img{height:28px;width:auto}
.ux-wl-grad{background:linear-gradient(90deg,#ffa300,#ff629a 50%,#84cfc3);background:linear-gradient(90deg in oklab,#ffa300,#ff629a 50%,#84cfc3);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent}
.ux-wl-hero{max-width:880px;margin:0 auto;padding:22px 0 0;text-align:center}
.ux-wl-hero h1{width:fit-content;margin:0 auto;max-width:14ch;font:800 clamp(40px,10.6vw,80px)/1.02 'Archivo',sans-serif;letter-spacing:-.025em;text-wrap:balance}
.ux-wl-lede{max-width:31em;margin:18px auto 0;font:500 17px/1.55 'Archivo',sans-serif;color:var(--wl-dim)}
.ux-wl-ctas{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-top:26px}
.ux-wl-pill{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:52px;min-width:156px;padding:12px 28px;border:0;border-radius:999px;background:var(--wl-grad);color:#0b0b0b;font:700 18px/1 'Archivo',sans-serif;text-decoration:none;cursor:pointer;box-shadow:0 10px 28px -12px rgba(255,98,154,.7);transition:transform .2s cubic-bezier(.16,1,.3,1),box-shadow .2s}
.ux-wl-pill:hover{transform:translateY(-2px);box-shadow:0 16px 34px -12px rgba(255,98,154,.85)}
.ux-wl-pill.ghost{background:transparent;color:var(--wl-ink);box-shadow:none;border:1.5px solid transparent;background-image:linear-gradient(#0b0b0b,#0b0b0b),var(--wl-grad);background-origin:border-box;background-clip:padding-box,border-box}
.ux-wl-pill.small{min-height:40px;min-width:0;padding:8px 18px;font-size:15px}
.ux-wl-text{display:inline-flex;align-items:center;gap:6px;margin-top:14px;padding:10px;background:none;border:0;color:var(--wl-dim);font:600 15px/1 'Archivo',sans-serif;cursor:pointer;text-decoration:underline;text-decoration-color:rgba(244,238,252,.3);text-underline-offset:5px}
.ux-wl-arrow{width:16px;height:16px;flex:none}
.ux-wl-pill:focus-visible,.ux-wl-chip:focus-visible,.ux-wl-text:focus-visible,.ux-wl-faces button:focus-visible,.ux-wl-video button:focus-visible,.ux-welcome a:focus-visible{outline:2px solid #84cfc3;outline-offset:3px;border-radius:999px}
.ux-wl-mosaic{position:relative;max-width:1120px;margin:34px auto 0;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));grid-auto-rows:clamp(64px,14vw,120px);gap:8px}
.ux-wl-mosaic img{width:100%;height:100%;object-fit:cover;border-radius:14px;display:block;animation:ux-wl-rise .9s cubic-bezier(.16,1,.3,1) both}
.ux-wl-mosaic .m1{grid-column:1/5;grid-row:span 3}.ux-wl-mosaic .m2{grid-column:5/7;grid-row:span 2;animation-delay:.08s}.ux-wl-mosaic .m3{grid-column:5/7;grid-row:span 2;animation-delay:.16s}
.ux-wl-mosaic .m4{grid-column:1/3;grid-row:span 1;animation-delay:.24s}.ux-wl-mosaic .m5{grid-column:3/5;grid-row:span 1;animation-delay:.32s}
@keyframes ux-wl-rise{from{opacity:.25;transform:translateY(14px) scale(.985)}to{opacity:1;transform:none}}
.ux-wl-count{max-width:760px;margin:34px auto 0;text-align:center}
.ux-wl-count h2{width:fit-content;max-width:100%;margin:0 auto;font:800 clamp(26px,6.4vw,44px)/1.12 'Archivo',sans-serif;letter-spacing:-.02em;text-wrap:balance}
.ux-wl-big{display:block;font-size:clamp(56px,16vw,120px);line-height:.95;letter-spacing:-.035em}
.ux-wl-spark{display:block;width:26px;height:26px;margin:46px auto 0}
.ux-wl-sec{max-width:1120px;margin:30px auto 0;text-align:center}
.ux-wl-sec h2,.ux-wl-join h2{width:fit-content;max-width:100%;margin:0 auto;font:800 clamp(32px,8vw,52px)/1.05 'Archivo',sans-serif;letter-spacing:-.02em;text-wrap:balance}
.ux-wl-sub{text-wrap:balance;max-width:32em;margin:12px auto 0;font:500 16px/1.55 'Archivo',sans-serif;color:var(--wl-dim)}
.ux-wl-quiet{color:var(--wl-quiet);font-size:15px}
.ux-wl-chips{max-width:760px;margin-inline:auto;display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:22px}
.ux-wl-chip{display:inline-flex;align-items:center;gap:10px;min-height:44px;padding:8px 16px;border-radius:999px;border:1px solid var(--wl-line);background:rgba(244,238,252,.04);color:var(--wl-ink);font:600 15px/1 'Archivo',sans-serif;cursor:pointer;transition:border-color .2s,background .2s,transform .2s cubic-bezier(.16,1,.3,1)}
.ux-wl-chip span{font-variant-numeric:tabular-nums;color:#84cfc3;font-weight:700}
.ux-wl-chip:hover{border-color:#ff629a;background:rgba(255,98,154,.08);transform:translateY(-1px)}
.ux-wl-chip.all{border:1.5px solid transparent;background-image:linear-gradient(#0b0b0b,#0b0b0b),var(--wl-grad);background-origin:border-box;background-clip:padding-box,border-box}
.ux-wl-voices{max-width:640px}
.ux-wl-bubble{position:relative;margin:0;padding:28px 26px;border-radius:22px;border:1.5px solid transparent;background-image:linear-gradient(#0b0b0b,#0b0b0b),var(--wl-grad);background-origin:border-box;background-clip:padding-box,border-box}
.ux-wl-bubble:after{content:"";position:absolute;left:50%;bottom:-11px;width:20px;height:20px;transform:translateX(-50%) rotate(45deg);background:#0b0b0b;border-right:1.5px solid #ff629a;border-bottom:1.5px solid #ff629a}
.ux-wl-bubble p{margin:0;min-height:7.5em;display:flex;align-items:center;justify-content:center;font:500 17px/1.6 'Archivo',sans-serif;color:var(--wl-ink);text-wrap:pretty}
.ux-wl-faces{display:flex;justify-content:center;align-items:center;gap:14px;margin-top:28px}
.ux-wl-faces button{padding:0;border:0;background:none;border-radius:50%;cursor:pointer;opacity:.55;transform:scale(.86);transition:opacity .3s,transform .4s cubic-bezier(.16,1,.3,1)}
.ux-wl-faces button.on{opacity:1;transform:scale(1.12)}
.ux-wl-faces img{display:block;width:58px;height:58px;border-radius:50%;object-fit:cover;border:2px solid transparent;background:var(--wl-grad) border-box}
.ux-wl-faces button.on img{border-color:#ff629a}
.ux-wl-who{margin:16px auto 0;max-width:26em;font:500 14px/1.45 'Archivo',sans-serif;color:var(--wl-quiet)}
.ux-wl-who strong{display:block;margin-bottom:2px;font-size:16px;color:var(--wl-ink)}
.ux-wl-video{position:relative;margin:22px auto 0;max-width:860px;aspect-ratio:16/9;border-radius:18px;overflow:hidden;background:#000;box-shadow:0 30px 60px -30px rgba(255,98,154,.45)}
.ux-wl-video button{all:unset;display:block;width:100%;height:100%;cursor:pointer;position:relative}
.ux-wl-video img,.ux-wl-video iframe{display:block;width:100%;height:100%;object-fit:cover;border:0}
.ux-wl-play{position:absolute;left:50%;top:50%;width:76px;height:76px;margin:-38px 0 0 -38px;border-radius:50%;background:var(--wl-grad);box-shadow:0 12px 30px -8px rgba(0,0,0,.6);transition:transform .25s cubic-bezier(.16,1,.3,1)}
.ux-wl-video button:hover .ux-wl-play{transform:scale(1.07)}
.ux-wl-play:after{content:"";position:absolute;left:30px;top:24px;border-style:solid;border-width:14px 0 14px 22px;border-color:transparent transparent transparent #0b0b0b}
.ux-wl-list{list-style:none;margin:24px auto 0;padding:0;max-width:880px;display:grid;grid-template-columns:1fr;text-align:left}
.ux-wl-list li{display:flex;gap:18px;align-items:flex-start;padding:20px 4px;border-top:1px solid var(--wl-line)}
.ux-wl-list li:last-child{border-bottom:1px solid var(--wl-line)}
.ux-wl-icon{width:34px;height:34px;flex:none;margin-top:2px}
.ux-wl-list h3{margin:0 0 6px;font:700 20px/1.2 'Archivo',sans-serif;color:var(--wl-ink)}
.ux-wl-list p{margin:0;max-width:44ch;font:500 15.5px/1.55 'Archivo',sans-serif;color:var(--wl-dim)}
.ux-wl-partners{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:24px 34px;margin-top:26px}
.ux-wl-partners img{height:40px;width:auto;opacity:.9}
.ux-wl-join{max-width:680px;margin:64px auto 0;text-align:center}
.ux-wl-member{margin:40px auto 0;padding:26px 22px 24px;border-radius:22px;border:1.5px solid transparent;background-image:linear-gradient(#0b0b0b,#0b0b0b),var(--wl-grad);background-origin:border-box;background-clip:padding-box,border-box;display:grid;gap:16px;text-align:left}
.ux-wl-member h3{width:fit-content;margin:0 auto 4px;text-align:center;font:800 26px/1.1 'Archivo',sans-serif}
.ux-wl-perk{display:flex;align-items:center;gap:16px}
.ux-wl-perk img{width:76px;height:76px;object-fit:cover;flex:none;border-radius:12px;background:#111}
.ux-wl-perk p{margin:0;font:500 15px/1.45 'Archivo',sans-serif;color:var(--wl-dim)}
.ux-wl-perk p strong{display:block;font-size:16px;color:var(--wl-ink)}
.ux-wl-member .ux-wl-pill{justify-self:center;margin-top:6px}
.ux-wl-acronym{max-width:760px;margin:56px auto 0;text-align:center;font:600 12px/1.9 'Archivo',sans-serif;letter-spacing:.26em;text-transform:uppercase;color:var(--wl-quiet)}
.ux-wl-acronym b{font-weight:800;color:#ffa300}.ux-wl-acronym b:nth-of-type(2){color:#ff629a}.ux-wl-acronym b:nth-of-type(3){color:#ff8a76}.ux-wl-acronym b:nth-of-type(4){color:#c7a7b5}.ux-wl-acronym b:nth-of-type(5){color:#84cfc3}
.ux-wl-acronym span{letter-spacing:.18em}
.ux-wl-501{max-width:30em;margin:14px auto 0;text-align:center;font:500 14px/1.55 'Archivo',sans-serif;color:#ffa300}
.ux-welcome .ux-legal-footer{max-width:1120px;margin:40px auto 0}
@media(min-width:720px){.ux-wl-top img{height:32px}.ux-wl-list{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:40px}.ux-wl-list li:nth-last-child(2){border-bottom:1px solid var(--wl-line)}.ux-wl-partners img{height:48px}.ux-wl-mosaic{grid-auto-rows:110px;gap:10px}}
@media(min-width:1024px){.ux-wl-hero{padding-top:40px}.ux-wl-mosaic{grid-template-columns:repeat(12,minmax(0,1fr));grid-auto-rows:120px}.ux-wl-mosaic .m1{grid-column:1/7;grid-row:span 3}.ux-wl-mosaic .m2{grid-column:7/10;grid-row:span 2}.ux-wl-mosaic .m3{grid-column:10/13;grid-row:span 2}.ux-wl-mosaic .m4{grid-column:7/10;grid-row:span 1}.ux-wl-mosaic .m5{grid-column:10/13;grid-row:span 1}}
@media(prefers-reduced-motion:reduce){.ux-welcome,.ux-wl-pill,.ux-wl-chip,.ux-wl-faces button{transition:none}.ux-wl-mosaic img{animation:none}}

.ux-wl-mosaic:before,.ux-wl-mosaic:after{content:"";position:absolute;z-index:1;width:clamp(72px,16vw,150px);aspect-ratio:1;background:url(/assets/welcome/rays.svg) center/contain no-repeat;pointer-events:none}
.ux-wl-mosaic:before{left:-6px;top:-6px}
.ux-wl-mosaic:after{right:-6px;bottom:-6px;transform:rotate(180deg)}
.ux-wl-scroll:focus,.ux-wl-scroll:focus-visible{outline:none;border-radius:0}
.ux-welcome .ux-legal-footer nav a{font-family:'Archivo',sans-serif;font-weight:700;letter-spacing:.04em;text-transform:none;font-size:14px}
.ux-welcome .ux-legal-footer{font-family:'Archivo',sans-serif}
/* Portal capitalizes headlines (Brandon 2026-10-21: "not propeller, portal"), as Brandt's
   Portal pieces do ("REFLECTIONS FROM PSYCHEDELIC SCIENCE"). */
.ux-wl-hero h1,.ux-wl-count h2,.ux-wl-sec h2,.ux-wl-join h2,.ux-wl-member h3{text-transform:uppercase;letter-spacing:-.01em}
.ux-wl-hero h1{font-size:clamp(34px,9vw,72px);line-height:1.02;max-width:16ch}
.ux-wl-sec h2,.ux-wl-join h2{font-size:clamp(28px,7.2vw,48px)}
.ux-wl-count h2{font-size:clamp(22px,5.6vw,38px)}
.ux-wl-big{font-size:clamp(48px,13.5vw,104px)}
.ux-wl-member h3{font-size:24px}
.ux-wl-list h3{text-transform:uppercase;letter-spacing:.02em;font-size:18px}/* v4 (Brandon 2026-10-22): propeller.la/youaretheportal order: logo centered over the
   headline, the video right under it, then the actions. */
.ux-wl-top{justify-content:flex-end}
.ux-wl-logo{display:block;width:min(76vw,400px);height:auto;margin:0 auto 22px}
.ux-wl-hero{padding-top:4px}
.ux-wl-hero h1{max-width:18ch;font-size:clamp(28px,7.4vw,56px);line-height:1.06}
.ux-wl-hero .ux-wl-video{margin-top:24px}
.ux-wl-hero .ux-wl-lede{margin-top:22px}
.ux-wl-count{margin-top:56px}
.ux-wl-count h2{max-width:20ch;font-size:clamp(28px,7.2vw,48px);line-height:1.08}
.ux-wl-sec .ux-wl-mosaic{margin-top:24px}
.ux-wl-lede strong{color:#f4eefc;font-weight:700}
@media(min-width:900px){.ux-wl-hero h1{max-width:24ch}}
