:root{
  --green:#079c8b;
  --green-2:#12aaa4;
  --green-soft:#e1f8f3;
  --gold:#e29a09;
  --gold-soft:#fff3cf;
  --danger:#c94435;
  --admin-bg:#f3f5f4;
}
.topbar{gap:28px}.desktop-nav{display:flex;align-items:center;gap:4px;padding:5px;border:1px solid var(--line);border-radius:15px;background:rgba(255,253,248,.72);backdrop-filter:blur(10px)}.desktop-nav button{min-height:36px;padding:0 15px;border:0;border-radius:10px;background:transparent;color:var(--muted);font-size:11px;font-weight:700}.desktop-nav button.active{background:var(--navy);color:#fff;box-shadow:0 6px 14px rgba(13,59,102,.17)}.topbar-actions{display:flex;align-items:center;gap:10px}.account-button{display:flex;align-items:center;gap:9px;min-width:174px;padding:6px 11px 6px 7px;border:1px solid var(--line);border-radius:15px;background:rgba(255,253,248,.82);color:var(--ink);text-align:left}.account-avatar{width:34px;height:34px;display:grid;place-items:center;flex:0 0 34px;border-radius:11px;background:var(--orange-soft);color:var(--orange);font:700 12px "Bricolage Grotesque",sans-serif}.account-button b,.account-button small{display:block}.account-button b{font-size:10px}.account-button small{margin-top:2px;color:var(--muted);font-size:8px}.product-view{animation:view-in .35s ease both}@keyframes view-in{from{opacity:0;transform:translateY(6px)}}.product-page{max-width:1440px;margin:0 auto 40px;padding:0 24px}.section-kicker,.mini-kicker{display:block;color:var(--orange);font-size:9px;font-weight:700;letter-spacing:.17em;text-transform:uppercase}.primary-action,.secondary-action{min-height:46px;padding:0 17px;border-radius:13px;font-size:11px;font-weight:700}.primary-action{border:0;background:var(--navy);color:#fff;box-shadow:0 10px 20px rgba(13,59,102,.18)}.secondary-action{border:1px solid var(--line);background:rgba(255,255,255,.7);color:var(--navy)}

.rewards-hero{min-height:510px;display:grid;grid-template-columns:minmax(0,1.03fr) minmax(420px,.97fr);overflow:hidden;border:1px solid rgba(255,255,255,.72);border-radius:32px;background:linear-gradient(135deg,rgba(255,253,248,.98),rgba(235,244,239,.96));box-shadow:var(--shadow)}.rewards-copy{padding:70px 70px 60px}.rewards-copy h1{max-width:650px;margin:18px 0 18px;font:700 clamp(46px,5.6vw,79px)/.92 "Bricolage Grotesque",sans-serif;letter-spacing:-.055em}.rewards-copy h1 em{font-style:normal;color:var(--orange)}.rewards-copy>p{max-width:560px;margin:0;color:var(--muted);font-size:16px;line-height:1.65}.launch-notice{width:max-content;max-width:100%;display:grid;grid-template-columns:auto 1fr;gap:2px 10px;margin-top:26px;padding:10px 13px;border:1px solid rgba(8,122,99,.16);border-radius:13px;background:rgba(220,246,238,.74)}.launch-notice span{grid-row:1/3;padding:5px 8px;align-self:center;border-radius:8px;background:var(--green);color:#fff;font-size:8px;font-weight:700;text-transform:uppercase}.launch-notice strong{font-size:11px}.launch-notice small{color:var(--muted);font-size:9px}.hero-actions{display:flex;gap:9px;margin-top:30px}.featured-prize{position:relative;display:grid;grid-template-rows:1fr auto;padding:32px;background:linear-gradient(145deg,#092f53,#0d3b66 55%,#0b695c);color:#fff}.featured-prize:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 65% 22%,rgba(105,211,178,.35),transparent 35%),linear-gradient(120deg,transparent 0 54%,rgba(255,255,255,.04) 54% 55%,transparent 55%);pointer-events:none}.prize-stage{position:relative;display:grid;place-items:center;min-height:290px}.prize-orbit{position:absolute;border:1px solid rgba(255,255,255,.15);border-radius:50%;transform:rotate(-14deg)}.orbit-one{width:280px;height:190px}.orbit-two{width:360px;height:245px}.prize-console{position:relative;width:150px;height:210px;border-radius:52px 18px 40px 19px;background:linear-gradient(100deg,#f8f9fb 0 18%,#151b25 18% 81%,#f7f9fb 81%);box-shadow:0 30px 55px rgba(0,0,0,.35);transform:rotate(7deg)}.prize-console:after{content:"";position:absolute;width:104px;height:64px;left:23px;top:72px;border-radius:50%;border:11px solid #f4f6f8;box-shadow:inset 0 0 0 6px #202735,0 14px 30px rgba(0,0,0,.35);background:#dfe4eb}.prize-console i,.prize-console b{position:absolute;z-index:2;width:14px;height:14px;border-radius:50%;top:96px;background:var(--orange)}.prize-console i{left:53px}.prize-console b{right:48px;background:var(--green-2)}.featured-prize-copy{position:relative;padding:24px;border:1px solid rgba(255,255,255,.12);border-radius:22px;background:rgba(4,27,46,.45);backdrop-filter:blur(12px)}.status-chip{display:inline-flex;padding:6px 8px;border-radius:7px;background:rgba(255,255,255,.12);font-size:7px;font-weight:700;letter-spacing:.12em}.status-chip.preview{color:#ffe6b0}.featured-prize-copy>small{display:block;margin-top:15px;color:#8ddfc6;font-size:8px;letter-spacing:.14em}.featured-prize-copy h2{margin:6px 0 8px;font:700 25px "Bricolage Grotesque",sans-serif}.featured-prize-copy p{margin:0;color:rgba(255,255,255,.67);font-size:10px;line-height:1.5}.featured-prize-copy button{margin-top:15px;padding:9px 12px;border:0;border-radius:10px;background:#fff;color:var(--navy);font-size:9px;font-weight:700}

.trust-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;margin:16px 0 72px;overflow:hidden;border:1px solid var(--line);border-radius:20px;background:var(--line);box-shadow:0 12px 30px rgba(16,42,67,.07)}.trust-strip>span{display:grid;grid-template-columns:37px 1fr;grid-template-rows:auto auto;padding:16px 18px;background:rgba(255,253,248,.93)}.trust-strip i{grid-row:1/3;width:28px;height:28px;display:grid;place-items:center;align-self:center;border-radius:9px;background:#edf5fa;color:var(--navy);font-style:normal;font-size:8px;font-weight:700}.trust-strip b{font-size:10px}.trust-strip small{margin-top:2px;color:var(--muted);font-size:8px}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:26px}.section-heading h2{margin:10px 0 0;font:700 clamp(34px,4vw,53px)/.98 "Bricolage Grotesque",sans-serif;letter-spacing:-.04em}.section-heading>p{max-width:400px;margin:0;color:var(--muted);font-size:12px;line-height:1.6}.section-heading.compact h2{font-size:35px}.how-section{margin-bottom:78px}.how-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:13px}.how-card{min-height:330px;padding:18px;border:1px solid var(--line);border-radius:24px;background:#fff;box-shadow:0 13px 32px rgba(16,42,67,.07)}.how-art{position:relative;height:165px;display:grid;place-items:center;margin-bottom:22px;overflow:hidden;border-radius:18px}.how-card.teal .how-art{background:linear-gradient(145deg,#cceee4,#effbf7)}.how-card.orange .how-art{background:linear-gradient(145deg,#ffe0cf,#fff4ed)}.how-card.navy .how-art{background:linear-gradient(145deg,#dbe8f2,#f0f5fa)}.how-card.gold .how-art{background:linear-gradient(145deg,#ffecaa,#fff8dc)}.how-card>span{font-size:7px;font-weight:700;letter-spacing:.14em;color:var(--muted)}.how-card h3{margin:7px 0 7px;font:700 21px "Bricolage Grotesque",sans-serif}.how-card p{margin:0;color:var(--muted);font-size:10px;line-height:1.55}.account-art>span{width:78px;height:78px;border:10px solid #fff;border-radius:50%;background:var(--green);box-shadow:0 12px 25px rgba(8,122,99,.2)}.account-art>span:before{content:"";position:absolute;width:22px;height:22px;margin:13px 18px;border-radius:50%;background:#fff}.account-art>span:after{content:"";position:absolute;width:42px;height:21px;margin:39px 8px;border-radius:22px 22px 10px 10px;background:#fff}.account-art b{position:absolute;right:27%;bottom:24%;width:34px;height:34px;display:grid;place-items:center;border:4px solid #e7f8f2;border-radius:50%;background:var(--orange);color:#fff}.mission-art span{width:78px;height:92px;display:grid;place-items:center;border:7px solid #fff;border-radius:15px;background:var(--orange);color:#fff;font-size:31px;box-shadow:0 13px 26px rgba(255,107,53,.2)}.mission-art i,.mission-art b{position:absolute;right:20%;height:9px;border-radius:10px;background:#fff}.mission-art i{top:38%;width:34px}.mission-art b{top:52%;width:24px}.rank-art{align-items:end;padding-bottom:34px}.rank-art span,.rank-art i,.rank-art b{display:grid;place-items:center;width:56px;border-radius:12px 12px 5px 5px;color:#fff;font:700 20px "Bricolage Grotesque",sans-serif;font-style:normal}.rank-art span{height:100px;background:var(--navy);order:2}.rank-art i{height:73px;background:var(--navy-2);order:1}.rank-art b{height:53px;background:#477aa3;order:3}.prize-art span{width:96px;height:77px;border-radius:10px;background:var(--gold);box-shadow:0 14px 27px rgba(212,154,16,.25)}.prize-art span:after{content:"";position:absolute;width:13px;height:77px;left:calc(50% - 6px);background:#fff3bd}.prize-art i{position:absolute;width:108px;height:18px;top:47px;border-radius:7px;background:#bb8310}.prize-art b{position:absolute;width:66px;height:24px;top:22px;border:9px solid var(--gold);border-radius:50%}

.club-dashboard{padding:45px;border:1px solid rgba(255,255,255,.7);border-radius:30px;background:rgba(255,253,248,.86);box-shadow:var(--shadow)}.filter-button{padding:10px 13px;border:1px solid var(--line);border-radius:11px;background:#fff;color:var(--navy);font-size:9px;font-weight:700}.club-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(270px,.75fr);gap:25px}.campaign-list{display:grid;gap:12px}.campaign-card{display:grid;grid-template-columns:11px 1fr auto;gap:16px;align-items:center;padding:18px;border:1px solid var(--line);border-radius:19px;background:#fff}.campaign-card:before{content:"";width:11px;height:100%;min-height:82px;border-radius:8px;background:var(--green)}.campaign-card.draft:before{background:#cbd2d7}.campaign-card h3{margin:4px 0 5px;font:700 17px "Bricolage Grotesque",sans-serif}.campaign-card p{margin:0;color:var(--muted);font-size:9px}.campaign-card .status-chip{background:var(--green-soft);color:var(--green)}.campaign-card.draft .status-chip{background:#eef0f1;color:#6e7c87}.campaign-score{text-align:right}.campaign-score strong,.campaign-score span{display:block}.campaign-score strong{font:700 21px "Bricolage Grotesque",sans-serif}.campaign-score span{color:var(--muted);font-size:8px}.prize-catalog-head{display:flex;justify-content:space-between;align-items:end;margin:28px 0 11px}.prize-catalog-head h3{margin:0;font:700 20px "Bricolage Grotesque",sans-serif}.prize-catalog-head span{color:var(--muted);font-size:9px}.prize-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.prize-card{min-height:180px;display:flex;flex-direction:column;padding:14px;border:1px solid var(--line);border-radius:18px;background:linear-gradient(145deg,#fff,#f6f7f4)}.prize-card-visual{height:88px;display:grid;place-items:center;border-radius:13px;background:#edf5fa;color:var(--navy);font-size:37px}.prize-card:nth-child(2) .prize-card-visual{background:var(--orange-soft);color:var(--orange)}.prize-card:nth-child(3) .prize-card-visual{background:var(--green-soft);color:var(--green)}.prize-card small{margin-top:11px;color:var(--muted);font-size:7px;text-transform:uppercase;letter-spacing:.12em}.prize-card strong{margin-top:4px;font-size:11px}.club-sidebar{display:grid;align-content:start;gap:12px}.club-sidebar article{padding:20px;border:1px solid var(--line);border-radius:20px;background:#fff}.profile-progress{background:linear-gradient(145deg,var(--navy),#0e5274)!important;color:#fff!important}.profile-progress .mini-kicker{color:#8be2c8}.progress-person{display:flex;align-items:center;gap:10px;margin:16px 0}.progress-person>span{width:39px;height:39px;display:grid;place-items:center;border-radius:12px;background:rgba(255,255,255,.15);font-weight:700}.progress-person strong,.progress-person small{display:block}.progress-person strong{font-size:11px}.progress-person small{color:rgba(255,255,255,.6);font-size:8px}.points-line{display:flex;justify-content:space-between;align-items:end}.points-line strong{font:700 29px "Bricolage Grotesque",sans-serif}.points-line strong small{font-size:10px}.points-line>span{font-size:8px;color:rgba(255,255,255,.6)}.progress-track{height:5px;margin:8px 0 15px;border-radius:8px;background:rgba(255,255,255,.15)}.progress-track i{display:block;height:100%;border-radius:8px;background:var(--mint)}.profile-progress button{width:100%;padding:9px;border:0;border-radius:10px;background:#fff;color:var(--navy);font-size:9px;font-weight:700}.card-title{display:flex;justify-content:space-between;align-items:start}.card-title span{font-size:7px;font-weight:700;letter-spacing:.12em;color:var(--muted)}.card-title h3{margin:4px 0 0;font:700 16px "Bricolage Grotesque",sans-serif}.card-title i{font-style:normal;color:var(--orange)}.ranking-list{display:grid;margin:13px 0}.ranking-row{display:grid;grid-template-columns:20px 30px 1fr auto;align-items:center;gap:7px;padding:8px 0;border-bottom:1px solid var(--line)}.ranking-row>i{color:var(--muted);font-style:normal;font-size:8px}.ranking-row>span{width:30px;height:30px;display:grid;place-items:center;border-radius:9px;background:#edf5fa;color:var(--navy);font-size:8px;font-weight:700}.ranking-row strong,.ranking-row small{display:block}.ranking-row strong{font-size:9px}.ranking-row small{color:var(--muted);font-size:7px}.ranking-row>b{font-size:8px}.ranking-note{color:var(--muted);font-size:7px}.rules-summary ul{padding:0;margin:13px 0;list-style:none}.rules-summary li{padding:7px 0 7px 17px;border-bottom:1px solid var(--line);font-size:9px}.rules-summary li:before{content:"✓";margin-left:-17px;margin-right:7px;color:var(--green);font-weight:700}.rules-summary button{width:100%;padding:9px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--navy);font-size:8px;font-weight:700}

.community-hero{display:flex;align-items:end;justify-content:space-between;gap:30px;padding:58px 64px;border-radius:30px;background:linear-gradient(125deg,var(--navy),#0c5e70);color:#fff;box-shadow:var(--shadow)}.community-hero h1{max-width:780px;margin:13px 0;font:700 clamp(43px,5.5vw,74px)/.94 "Bricolage Grotesque",sans-serif;letter-spacing:-.05em}.community-hero h1 em{color:#87dfc4;font-style:normal}.community-hero p{max-width:670px;margin:0;color:rgba(255,255,255,.7);line-height:1.6}.community-hero .primary-action{background:#fff;color:var(--navy);white-space:nowrap}.community-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(250px,.5fr);gap:18px;margin-top:18px}.community-feed,.community-sidebar article{padding:27px;border:1px solid rgba(255,255,255,.7);border-radius:24px;background:rgba(255,253,248,.9);box-shadow:0 14px 34px rgba(16,42,67,.08)}.feed-toolbar{display:flex;justify-content:space-between;align-items:end;margin-bottom:16px}.feed-toolbar span{font-size:8px;letter-spacing:.14em;color:var(--orange);font-weight:700}.feed-toolbar h2{margin:5px 0 0;font:700 24px "Bricolage Grotesque",sans-serif}.feed-toolbar button{padding:10px 12px;border:0;border-radius:10px;background:var(--navy);color:#fff;font-size:9px;font-weight:700}.community-post{display:grid;grid-template-columns:43px 1fr;gap:12px;padding:15px 0;border-top:1px solid var(--line)}.community-post-avatar{width:43px;height:43px;display:grid;place-items:center;border-radius:13px;background:var(--green-soft);color:var(--green);font-weight:700}.community-post-head{display:flex;justify-content:space-between;gap:10px}.community-post-head strong{font-size:10px}.community-post-head span{color:var(--muted);font-size:8px}.community-post p{margin:6px 0;color:var(--muted);font-size:10px;line-height:1.5}.post-tags{display:flex;gap:5px}.post-tags span{padding:5px 7px;border-radius:7px;background:#edf5fa;color:var(--navy);font-size:7px;font-weight:700}.community-sidebar{display:grid;align-content:start;gap:12px}.community-sidebar h3{margin:8px 0;font:700 19px "Bricolage Grotesque",sans-serif}.community-sidebar p{margin:0;color:var(--muted);font-size:10px;line-height:1.6}.safety-card{background:var(--orange-soft)!important}.safety-card b{color:#b9471d}.safety-card button{margin-top:13px;border:0;background:transparent;color:#b9471d;font-size:9px;font-weight:700}

.profile-header{display:flex;align-items:center;gap:18px;padding:37px 42px;border-radius:27px;background:linear-gradient(125deg,#fffdf8,#e8f3ee);box-shadow:var(--shadow)}.large-avatar{width:74px;height:74px;display:grid;place-items:center;flex:0 0 74px;border-radius:22px;background:var(--navy);color:#fff;font:700 25px "Bricolage Grotesque",sans-serif;transform:rotate(-3deg)}.profile-header h1{margin:5px 0 3px;font:700 31px "Bricolage Grotesque",sans-serif}.profile-header p{margin:0;color:var(--muted);font-size:10px}.profile-header .primary-action{margin-left:auto}.profile-layout{display:grid;grid-template-columns:210px 1fr;gap:16px;margin-top:16px}.profile-nav{display:grid;align-content:start;gap:4px;padding:10px;border:1px solid var(--line);border-radius:19px;background:#fff}.profile-nav button{padding:12px;border:0;border-radius:11px;background:transparent;color:var(--muted);text-align:left;font-size:10px;font-weight:700}.profile-nav button.active{background:var(--navy);color:#fff}.profile-content{display:grid;gap:13px}.profile-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.profile-stats article,.profile-panel{padding:22px;border:1px solid var(--line);border-radius:20px;background:#fff}.profile-stats span,.profile-stats small,.profile-stats strong{display:block}.profile-stats span{color:var(--muted);font-size:8px;text-transform:uppercase;letter-spacing:.1em}.profile-stats strong{margin:7px 0 2px;font:700 25px "Bricolage Grotesque",sans-serif}.profile-stats small{color:var(--muted);font-size:8px}.profile-form{display:grid;grid-template-columns:1fr 1fr;gap:13px;margin-top:20px}.profile-form label,.admin-form-dialog label{display:grid;gap:6px;color:var(--muted);font-size:9px;font-weight:700}.profile-form .wide,.admin-form-dialog .wide{grid-column:1/-1}.profile-form input,.profile-form select,.admin-form-dialog input,.admin-form-dialog select,.admin-form-dialog textarea,.content-editor-grid input,.content-editor-grid select,.content-editor-grid textarea{width:100%;min-height:42px;padding:9px 11px;border:1px solid var(--line);border-radius:11px;outline:0;background:#fff;color:var(--ink);font:500 10px "DM Sans",sans-serif}.profile-form input:focus,.profile-form select:focus,.admin-form-dialog input:focus,.admin-form-dialog select:focus,.admin-form-dialog textarea:focus{border-color:rgba(20,85,138,.55);box-shadow:0 0 0 4px rgba(20,85,138,.08)}.profile-form>button{grid-column:1/-1;justify-self:start;padding:10px 15px;border:0;border-radius:10px;background:var(--navy);color:#fff;font-size:9px;font-weight:700}.sync-panel{display:flex;align-items:center;justify-content:space-between}.sync-panel>div{display:flex;align-items:center;gap:13px}.sync-icon{width:40px;height:40px;display:grid;place-items:center;border-radius:12px;background:var(--green-soft);color:var(--green);font-size:18px}.sync-panel h3{margin:0;font-size:12px}.sync-panel p{margin:3px 0 0;color:var(--muted);font-size:9px}.sync-panel>strong{padding:7px 9px;border-radius:8px;background:#eef0f1;color:var(--muted);font-size:8px}

.mobile-nav{display:none}.product-dialog{position:relative;width:min(520px,calc(100vw - 28px));max-height:calc(100vh - 28px);padding:30px;border:1px solid rgba(255,255,255,.9);border-radius:25px;background:var(--paper);color:var(--ink);box-shadow:0 35px 100px rgba(8,32,51,.36)}.product-dialog::backdrop{background:rgba(7,24,39,.55);backdrop-filter:blur(5px)}.dialog-close{position:absolute;z-index:2;right:17px;top:17px;width:34px;height:34px;border:1px solid var(--line);border-radius:11px;background:#fff;color:var(--muted);font-size:20px}.auth-brand{display:flex;align-items:center;gap:10px;margin-bottom:30px}.auth-brand .brand-mark{width:40px;height:40px}.auth-brand strong,.auth-brand small{display:block}.auth-brand strong{font:700 15px "Bricolage Grotesque",sans-serif}.auth-brand small{color:var(--muted);font-size:8px}.auth-intro>span{color:var(--orange);font-size:8px;font-weight:700;letter-spacing:.14em}.auth-intro h2{margin:6px 0 8px;font:700 30px/1 "Bricolage Grotesque",sans-serif;letter-spacing:-.035em}.auth-intro p{margin:0;color:var(--muted);font-size:10px;line-height:1.5}.auth-tabs{display:grid;grid-template-columns:1fr 1fr;gap:4px;margin:21px 0 14px;padding:4px;border-radius:13px;background:#eef1ee}.auth-tabs button{min-height:36px;border:0;border-radius:9px;background:transparent;color:var(--muted);font-size:9px;font-weight:700}.auth-tabs button.active{background:#fff;color:var(--navy);box-shadow:0 4px 10px rgba(16,42,67,.08)}.auth-form{display:grid;gap:11px}.auth-form label{display:grid;gap:6px;font-size:9px;font-weight:700}.auth-form input{width:100%;height:43px;padding:0 11px;border:1px solid var(--line);border-radius:11px;outline:0;background:#fff;font-size:10px}.input-password{position:relative}.input-password input{padding-right:68px}.input-password button{position:absolute;right:5px;top:5px;height:33px;padding:0 8px;border:0;border-radius:8px;background:#edf5fa;color:var(--navy);font-size:8px;font-weight:700}.consent-field{grid-template-columns:17px 1fr!important;align-items:start!important;font-weight:500!important;line-height:1.4}.consent-field input{width:15px!important;height:15px!important}.form-message{min-height:0;margin:0;color:var(--danger);font-size:8px}.form-message:empty{display:none}.auth-submit{min-height:44px;border:0;border-radius:11px;background:var(--navy);color:#fff;font-size:10px;font-weight:700}.auth-divider{display:flex;align-items:center;gap:10px;margin:14px 0;color:var(--muted);font-size:8px}.auth-divider:before,.auth-divider:after{content:"";height:1px;flex:1;background:var(--line)}.google-button,.demo-access{width:100%;min-height:42px;border:1px solid var(--line);border-radius:11px;background:#fff;color:var(--ink);font-size:9px;font-weight:700}.google-button b{display:inline-grid;place-items:center;width:21px;height:21px;margin-right:7px;border-radius:6px;background:linear-gradient(135deg,#4285f4,#34a853);color:#fff}.demo-access{margin-top:8px;background:var(--orange-soft);color:#b9471d}.auth-security{display:block;margin-top:14px;color:var(--muted);text-align:center;font-size:7px}.info-dialog{text-align:center}.dialog-visual{width:88px;height:88px;display:grid;place-items:center;margin:0 auto 19px;border-radius:27px;background:linear-gradient(145deg,var(--navy),var(--green));color:#fff;font-size:38px;transform:rotate(-4deg)}.info-dialog h2,.rules-dialog h2,.admin-form-dialog h2{margin:7px 0 10px;font:700 27px "Bricolage Grotesque",sans-serif}.info-dialog>p{color:var(--muted);font-size:10px;line-height:1.6}.detail-list{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:20px 0}.detail-list span{padding:12px 7px;border:1px solid var(--line);border-radius:12px;background:#fff}.detail-list b,.detail-list small{display:block}.detail-list b{font-size:8px}.detail-list small{margin-top:4px;color:var(--muted);font-size:7px}.info-dialog .primary-action,.rules-dialog .primary-action{width:100%}.rules-dialog{width:min(650px,calc(100vw - 28px))}.rules-dialog-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:20px 0}.rules-dialog-grid article{padding:15px;border:1px solid var(--line);border-radius:14px;background:#fff}.rules-dialog-grid b{font-size:10px}.rules-dialog-grid p{margin:5px 0 0;color:var(--muted);font-size:8px;line-height:1.5}

.admin-app{min-height:100vh;display:grid;grid-template-columns:230px 1fr;background:var(--admin-bg)}body:has(.admin-app:not([hidden]))>.topbar,body:has(.admin-app:not([hidden]))>.mobile-nav{display:none!important}.admin-sidebar{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;padding:22px 14px;background:#092f53;color:#fff}.admin-brand{display:flex;align-items:center;gap:10px;padding:0 7px 24px;border-bottom:1px solid rgba(255,255,255,.1)}.admin-brand .brand-mark{width:38px;height:38px;background:var(--orange)}.admin-brand b,.admin-brand small{display:block}.admin-brand b{font:700 13px "Bricolage Grotesque",sans-serif}.admin-brand small{margin-top:2px;color:rgba(255,255,255,.5);font-size:8px}.admin-sidebar nav{display:grid;gap:3px;margin-top:20px}.admin-sidebar nav button,.admin-exit{display:flex;align-items:center;gap:10px;min-height:41px;padding:0 12px;border:0;border-radius:10px;background:transparent;color:rgba(255,255,255,.65);text-align:left;font-size:9px;font-weight:700}.admin-sidebar nav button i{width:20px;font-style:normal;text-align:center}.admin-sidebar nav button.active{background:rgba(255,255,255,.1);color:#fff}.admin-exit{margin-top:auto;border:1px solid rgba(255,255,255,.12)}.admin-main{min-width:0;padding:0 30px 50px}.admin-top{height:82px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(13,59,102,.1)}.admin-top span{font-size:7px;font-weight:700;letter-spacing:.14em;color:var(--muted)}.admin-top h1{margin:4px 0 0;font:700 22px "Bricolage Grotesque",sans-serif}.admin-top>div:last-child{display:flex;align-items:center;gap:10px}.environment-badge{padding:7px 9px;border-radius:8px;background:var(--gold-soft);color:#906400!important}.admin-top button{width:35px;height:35px;border:0;border-radius:10px;background:var(--navy);color:#fff;font-size:9px;font-weight:700}.admin-section{padding-top:24px}.admin-welcome{display:flex;align-items:center;justify-content:space-between;padding:34px 39px;border-radius:23px;background:linear-gradient(125deg,#0d3b66,#0a695e);color:#fff;box-shadow:0 15px 35px rgba(13,59,102,.15)}.admin-welcome span{font-size:7px;letter-spacing:.14em;color:#86dfc4}.admin-welcome h2{margin:8px 0;font:700 34px/1 "Bricolage Grotesque",sans-serif}.admin-welcome h2 em{color:#ffaf83;font-style:normal}.admin-welcome p{margin:0;color:rgba(255,255,255,.65);font-size:9px}.readiness-ring{width:112px;height:112px;display:grid;place-content:center;border:9px solid rgba(255,255,255,.14);border-top-color:var(--mint);border-radius:50%;text-align:center}.readiness-ring strong{font:700 23px "Bricolage Grotesque",sans-serif}.readiness-ring span{margin-top:3px;color:rgba(255,255,255,.6);font-size:7px;letter-spacing:0}.admin-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:14px 0}.admin-metrics article{padding:17px;border:1px solid rgba(13,59,102,.09);border-radius:16px;background:#fff}.admin-metrics span,.admin-metrics strong,.admin-metrics small{display:block}.admin-metrics span{color:var(--muted);font-size:8px}.admin-metrics strong{margin:5px 0 1px;font:700 25px "Bricolage Grotesque",sans-serif}.admin-metrics small{color:var(--muted);font-size:7px}.admin-overview-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:11px}.admin-overview-grid>article,.admin-table-card,.content-editor-grid>article,.audit-timeline{padding:20px;border:1px solid rgba(13,59,102,.09);border-radius:18px;background:#fff}.admin-card-head{display:flex;justify-content:space-between;align-items:start;margin-bottom:12px}.admin-card-head span{color:var(--muted);font-size:7px;letter-spacing:.12em}.admin-card-head h3{margin:4px 0 0;font:700 16px "Bricolage Grotesque",sans-serif}.admin-card-head>b{padding:5px 7px;border-radius:7px;background:#edf5fa;color:var(--navy);font-size:7px}.admin-card-head button{border:0;background:transparent;color:var(--navy);font-size:8px;font-weight:700}.check-row{display:grid;grid-template-columns:30px 1fr auto;align-items:center;gap:9px;padding:10px 0;border-top:1px solid var(--line)}.check-row>i{width:27px;height:27px;display:grid;place-items:center;border-radius:8px;background:#eef0f1;color:var(--muted);font-style:normal;font-size:8px;font-weight:700}.check-row.done>i{background:var(--green-soft);color:var(--green)}.check-row strong,.check-row small{display:block}.check-row strong{font-size:9px}.check-row small{margin-top:2px;color:var(--muted);font-size:7px}.check-row>span{color:var(--muted);font-size:7px}.activity-item{display:grid;grid-template-columns:9px 1fr auto;gap:9px;padding:9px 0;border-top:1px solid var(--line)}.activity-item>i{width:7px;height:7px;margin-top:3px;border-radius:50%;background:var(--green)}.activity-item strong,.activity-item small{display:block}.activity-item strong{font-size:8px}.activity-item small{margin-top:2px;color:var(--muted);font-size:7px}.activity-item>span{color:var(--muted);font-size:7px}.admin-toolbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:13px}.admin-toolbar p{margin:0;color:var(--muted);font-size:9px}.admin-toolbar>button{padding:10px 13px;border:0;border-radius:10px;background:var(--navy);color:#fff;font-size:8px;font-weight:700}.table-tools{display:flex;justify-content:space-between;gap:10px;margin-bottom:14px}.table-tools label{display:flex;align-items:center;gap:7px;min-width:280px;padding:0 10px;border:1px solid var(--line);border-radius:10px}.table-tools input{height:36px;flex:1;border:0;outline:0;font-size:9px}.table-tools select{padding:0 10px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--ink);font-size:8px}.responsive-table{overflow:auto}table{width:100%;border-collapse:collapse}th{text-align:left;padding:10px 8px;border-bottom:1px solid var(--line);color:var(--muted);font-size:7px;text-transform:uppercase;letter-spacing:.08em}td{padding:12px 8px;border-bottom:1px solid var(--line);font-size:8px}td strong,td small{display:block}td small{margin-top:2px;color:var(--muted);font-size:7px}.table-status{display:inline-flex;padding:5px 7px;border-radius:7px;background:#eef0f1;color:var(--muted);font-size:7px;font-weight:700}.table-status.active,.table-status.scheduled{background:var(--green-soft);color:var(--green)}.table-status.draft{background:var(--gold-soft);color:#906400}.table-action{border:0;background:transparent;color:var(--navy);font-size:8px;font-weight:700}.campaign-admin-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:11px}.campaign-admin-card{padding:19px;border:1px solid rgba(13,59,102,.1);border-radius:18px;background:#fff}.campaign-admin-card header{display:flex;justify-content:space-between}.campaign-admin-card h3{margin:12px 0 5px;font:700 17px "Bricolage Grotesque",sans-serif}.campaign-admin-card p{min-height:44px;margin:0;color:var(--muted);font-size:8px;line-height:1.5}.campaign-admin-card dl{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin:15px 0}.campaign-admin-card dl div{padding:9px;border-radius:9px;background:#f4f6f5}.campaign-admin-card dt{color:var(--muted);font-size:6px;text-transform:uppercase}.campaign-admin-card dd{margin:3px 0 0;font-size:8px;font-weight:700}.campaign-admin-card footer{display:flex;gap:6px}.campaign-admin-card footer button{flex:1;padding:8px;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--navy);font-size:7px;font-weight:700}.content-editor-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:11px}.content-editor-grid article>span{color:var(--orange);font-size:7px;font-weight:700;letter-spacing:.12em}.content-editor-grid h3{margin:5px 0 15px;font:700 17px "Bricolage Grotesque",sans-serif}.content-editor-grid label{display:grid;gap:5px;margin-bottom:10px;color:var(--muted);font-size:7px;font-weight:700}.content-editor-grid article>button{padding:9px 11px;border:0;border-radius:9px;background:var(--navy);color:#fff;font-size:7px;font-weight:700}.faq-list{display:grid;gap:5px;margin-bottom:10px}.faq-list button{display:flex;justify-content:space-between;padding:9px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink);text-align:left;font-size:7px}.faq-list span{color:var(--navy);font-weight:700}.audit-entry{display:grid;grid-template-columns:100px 32px 1fr auto;align-items:start;gap:11px;padding:13px 0;border-bottom:1px solid var(--line)}.audit-entry time{color:var(--muted);font-size:7px}.audit-entry>i{width:29px;height:29px;display:grid;place-items:center;border-radius:9px;background:#edf5fa;color:var(--navy);font-style:normal}.audit-entry strong,.audit-entry small{display:block}.audit-entry strong{font-size:9px}.audit-entry small{margin-top:3px;color:var(--muted);font-size:7px}.audit-entry>span{padding:5px 7px;border-radius:7px;background:#f3f5f4;color:var(--muted);font-size:6px}.admin-form-dialog{width:min(710px,calc(100vw - 28px));text-align:left}.admin-form-dialog>p{color:var(--muted);font-size:9px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:11px;margin-top:17px}.admin-form-dialog textarea{resize:vertical}.switch-label{grid-template-columns:18px 1fr!important;align-items:center}.switch-label input{width:16px!important;min-height:16px!important}.publication-check{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin:14px 0;padding:13px;border-radius:12px;background:#edf5fa}.publication-check b{grid-column:1/-1;font-size:8px}.publication-check span{font-size:7px}.publication-check span:before{content:"○";margin-right:5px;color:var(--navy)}.form-footer{display:flex;justify-content:flex-end;gap:7px;margin-top:17px}.form-footer button{padding:10px 14px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--navy);font-size:8px;font-weight:700}.form-footer button:last-child{border-color:var(--navy);background:var(--navy);color:#fff}.exemption-dialog label{display:grid;gap:6px;margin-top:12px;color:var(--muted);font-size:8px;font-weight:700}

@media(max-width:1050px){.desktop-nav{display:none}.rewards-hero{grid-template-columns:1fr .8fr}.rewards-copy{padding:48px 40px}.how-grid{grid-template-columns:1fr 1fr}.club-grid{grid-template-columns:1fr}.club-sidebar{grid-template-columns:repeat(3,1fr)}.campaign-admin-grid,.content-editor-grid{grid-template-columns:1fr 1fr}}
@media(max-width:900px){body{padding-bottom:76px}.topbar{gap:9px}.topbar-actions{margin-left:auto}.account-button{min-width:0;padding:5px}.account-button>span:last-child{display:none}.live-pill{display:none}.product-page{padding:0 10px;margin-bottom:18px}.rewards-hero{grid-template-columns:1fr}.rewards-copy{padding:38px 26px}.rewards-copy h1{font-size:51px}.featured-prize{min-height:470px}.trust-strip{grid-template-columns:1fr 1fr;margin-bottom:52px}.how-section{padding:0 8px}.section-heading{align-items:start;flex-direction:column}.club-dashboard{padding:25px 18px}.club-sidebar{grid-template-columns:1fr}.community-hero{align-items:start;flex-direction:column;padding:40px 28px}.community-layout{grid-template-columns:1fr}.profile-layout{grid-template-columns:1fr}.profile-nav{grid-template-columns:repeat(4,1fr)}.profile-nav button{text-align:center}.mobile-nav{position:fixed;z-index:1900;left:12px;right:12px;bottom:max(10px,env(safe-area-inset-bottom));display:grid;grid-template-columns:repeat(4,1fr);padding:6px;border:1px solid rgba(255,255,255,.85);border-radius:19px;background:rgba(255,253,248,.94);box-shadow:0 15px 45px rgba(10,35,54,.23);backdrop-filter:blur(16px)}.mobile-nav button{display:grid;place-items:center;gap:2px;min-height:48px;border:0;border-radius:13px;background:transparent;color:var(--muted)}.mobile-nav i{font-style:normal;font-size:17px}.mobile-nav span{font-size:7px;font-weight:700}.mobile-nav button.active{background:var(--navy);color:#fff}.admin-app{grid-template-columns:1fr}.admin-sidebar{position:static;height:auto;display:block;padding:11px}.admin-brand{display:none}.admin-sidebar nav{grid-template-columns:repeat(6,1fr);overflow:auto;margin:0}.admin-sidebar nav button{justify-content:center;padding:0 9px;white-space:nowrap}.admin-exit{position:absolute;right:12px;top:8px;width:auto;margin:0}.admin-main{padding:0 14px 40px}.admin-top{height:70px;padding-right:150px}.admin-welcome{padding:26px}.admin-overview-grid{grid-template-columns:1fr}.campaign-admin-grid,.content-editor-grid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.topbar .brand strong{font-size:14px}.topbar .brand-mark{width:38px;height:38px}.account-avatar{width:34px;height:34px}.rewards-copy h1{font-size:43px}.rewards-copy>p{font-size:13px}.launch-notice{grid-template-columns:auto 1fr}.featured-prize{padding:18px}.trust-strip{grid-template-columns:1fr}.trust-strip>span{padding:12px 15px}.how-grid{grid-template-columns:1fr}.how-card{min-height:0}.section-heading h2{font-size:36px}.club-dashboard{border-radius:24px}.section-heading.compact{display:block}.section-heading.compact h2{font-size:29px}.filter-button{margin-top:12px}.campaign-card{grid-template-columns:8px 1fr}.campaign-score{grid-column:2;text-align:left}.prize-grid{grid-template-columns:1fr 1fr}.community-hero h1{font-size:43px}.profile-header{align-items:flex-start;flex-wrap:wrap;padding:27px 23px}.large-avatar{width:58px;height:58px;flex-basis:58px}.profile-header .primary-action{width:100%;margin:4px 0 0}.profile-nav{grid-template-columns:1fr 1fr}.profile-stats{grid-template-columns:1fr}.profile-form{grid-template-columns:1fr}.profile-form .wide{grid-column:auto}.product-dialog{padding:25px 20px}.rules-dialog-grid,.detail-list{grid-template-columns:1fr}.auth-intro h2{font-size:27px}.admin-sidebar nav{grid-template-columns:repeat(3,1fr)}.admin-sidebar nav button:nth-child(n+4){display:none}.admin-exit{position:static;width:100%;margin-top:7px;justify-content:center}.admin-top{padding-right:0}.admin-top .environment-badge{display:none}.admin-welcome{align-items:flex-start}.readiness-ring{width:82px;height:82px;border-width:7px}.admin-welcome h2{font-size:27px}.admin-metrics{grid-template-columns:1fr 1fr}.campaign-admin-grid,.content-editor-grid{grid-template-columns:1fr}.table-tools{align-items:stretch;flex-direction:column}.table-tools label{min-width:0}.form-grid{grid-template-columns:1fr}.admin-form-dialog .wide{grid-column:auto}.publication-check{grid-template-columns:1fr}.audit-entry{grid-template-columns:32px 1fr}.audit-entry time{grid-column:1/-1}.audit-entry>span{grid-column:2;justify-self:start}.form-footer button{flex:1}.mobile-nav{left:7px;right:7px}}
.progress-track .progress-initial{width:8%}.auth-password-field{display:grid;gap:6px}.auth-password-field>label{font-size:9px;font-weight:700}.google-button:disabled{cursor:not-allowed;opacity:.58}
@media(max-width:600px){.admin-sidebar nav button:nth-child(n+4){display:flex}}
@media(prefers-reduced-motion:reduce){.product-view{animation:none}}

/* Product flow refinements: explicit states, account controls and responsive detail. */
.filter-button{min-height:38px;cursor:pointer;outline:0}.filter-button:focus{border-color:rgba(20,85,138,.55);box-shadow:0 0 0 4px rgba(20,85,138,.08)}.campaign-score button{margin-top:8px;padding:6px 8px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--navy);font-size:7px;font-weight:700;white-space:nowrap}.demo-disclosure{display:block;margin-top:5px;color:var(--muted);font-size:8px}.community-post-head strong small{display:inline-flex;margin-left:5px;padding:3px 5px;border-radius:5px;background:var(--gold-soft);color:#906400;font-size:6px;letter-spacing:.08em;vertical-align:middle}.profile-section{display:grid;gap:13px}.saved-place-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:20px 0}.saved-place-grid>div{padding:17px;border:1px solid var(--line);border-radius:14px;background:#f7f8f6}.saved-place-grid span,.saved-place-grid strong{display:block}.saved-place-grid span{margin-bottom:6px;color:var(--muted);font-size:8px;text-transform:uppercase;letter-spacing:.1em}.saved-place-grid strong{font-size:10px;line-height:1.45}.panel-action{padding:10px 14px;border:0;border-radius:10px;background:var(--navy);color:#fff;font-size:9px;font-weight:700}.preference-list{display:grid;gap:8px;margin-top:18px}.preference-list>label{display:grid;grid-template-columns:20px 1fr;align-items:start;gap:10px;padding:13px;border:1px solid var(--line);border-radius:13px;background:#fafbf9;cursor:pointer}.preference-list input{width:17px;height:17px;accent-color:var(--green)}.preference-list strong,.preference-list small{display:block}.preference-list strong{font-size:10px}.preference-list small{margin-top:3px;color:var(--muted);font-size:8px}.preference-list .panel-action{justify-self:start;margin-top:4px}.privacy-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:18px}.privacy-actions>div{display:grid;align-content:start;padding:17px;border:1px solid var(--line);border-radius:14px;background:#fafbf9}.privacy-actions span{color:var(--muted);font-size:8px;text-transform:uppercase;letter-spacing:.09em}.privacy-actions strong{margin:7px 0 13px;font-size:10px}.privacy-actions button{justify-self:start;padding:8px 10px;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--navy);font-size:8px;font-weight:700}.privacy-actions button:disabled{cursor:not-allowed;opacity:.48}.auth-reset{justify-self:center;border:0;background:transparent;color:var(--navy);font-size:8px;font-weight:700}.form-footer .danger-action{margin-right:auto;border-color:#f3c7c0;background:#fff5f3;color:var(--danger)}#campaign-form-message{margin:12px 0 0;padding:9px 11px;border-radius:9px;background:#fff5f3}.table-status.suspended{background:#fde9e5;color:var(--danger)}
@media(max-width:600px){.feed-toolbar{align-items:flex-start;flex-direction:column;gap:12px}.feed-toolbar button{width:100%}.campaign-score button{width:100%}.saved-place-grid,.privacy-actions{grid-template-columns:1fr}.sync-panel{align-items:flex-start;flex-direction:column;gap:12px}.form-footer{flex-wrap:wrap}.form-footer .danger-action{flex-basis:100%;margin-right:0}.profile-nav{position:sticky;z-index:20;top:8px;box-shadow:0 8px 22px rgba(16,42,67,.08)}}

/* Gameplay loop and anonymous vehicle rooms. */
.game-pass{position:relative;min-height:520px;display:flex;flex-direction:column;padding:31px;overflow:hidden;border:1px solid rgba(255,255,255,.15);border-radius:25px;background:linear-gradient(145deg,#092f53 0%,#0b625f 72%,#087a63 100%);color:#fff;box-shadow:0 25px 60px rgba(4,31,52,.3)}.game-pass:before{content:"";position:absolute;width:340px;height:340px;right:-130px;top:-130px;border:1px solid rgba(255,255,255,.13);border-radius:50%;box-shadow:0 0 0 45px rgba(255,255,255,.025),0 0 0 90px rgba(255,255,255,.018)}.game-pass-top,.game-pass-score,.game-pass-progress,.game-fair-note{position:relative;z-index:2}.game-pass-top{display:flex;align-items:center;justify-content:space-between}.game-pass-top span{color:#91e5ca;font-size:8px;font-weight:700;letter-spacing:.16em}.game-pass-top strong{padding:7px 9px;border:1px solid rgba(255,255,255,.15);border-radius:9px;background:rgba(255,255,255,.08);font-size:8px}.game-pass-route{position:relative;z-index:1;flex:1;min-height:230px}.game-pass-route:before{content:"";position:absolute;left:5%;right:8%;top:48%;height:4px;border-radius:20px;background:linear-gradient(90deg,#87dfc4 0 28%,rgba(255,255,255,.16) 28% 100%);transform:rotate(-9deg)}.game-pass-route i,.game-pass-route b,.game-pass-route span{position:absolute;display:block;border:5px solid #fff;border-radius:50%;background:var(--orange);box-shadow:0 10px 25px rgba(0,0,0,.25)}.game-pass-route i{width:24px;height:24px;left:4%;top:55%}.game-pass-route b{width:33px;height:33px;left:46%;top:35%;background:var(--gold)}.game-pass-route span{width:44px;height:44px;right:4%;top:19%;background:var(--mint)}.game-pass-score{display:grid;grid-template-columns:1fr 1fr;gap:10px}.game-pass-score>div{padding:14px;border:1px solid rgba(255,255,255,.12);border-radius:14px;background:rgba(3,30,49,.28)}.game-pass-score small,.game-pass-score strong{display:block}.game-pass-score small{color:rgba(255,255,255,.55);font-size:7px;letter-spacing:.12em}.game-pass-score strong{margin-top:5px;font:700 19px "Bricolage Grotesque",sans-serif}.game-pass-progress{margin-top:13px}.game-pass-progress>span{display:flex;justify-content:space-between;color:rgba(255,255,255,.68);font-size:8px}.game-pass-progress>div{height:6px;margin-top:7px;overflow:hidden;border-radius:9px;background:rgba(255,255,255,.13)}.game-pass-progress i{display:block;width:0;height:100%;border-radius:9px;background:linear-gradient(90deg,var(--mint),#b8f3df);transition:width .45s ease}.game-fair-note{margin-top:11px;color:rgba(255,255,255,.52);font-size:7px}.game-hub{margin:17px 0 72px;padding:38px;border:1px solid rgba(255,255,255,.75);border-radius:28px;background:linear-gradient(145deg,rgba(255,253,248,.94),rgba(232,243,238,.88));box-shadow:var(--shadow)}.game-hub-heading{display:flex;align-items:end;justify-content:space-between;gap:25px;margin-bottom:22px}.game-hub-heading h2{margin:8px 0 6px;font:700 clamp(31px,4vw,48px)/1 "Bricolage Grotesque",sans-serif;letter-spacing:-.04em}.game-hub-heading p{margin:0;color:var(--muted);font-size:10px}.streak-card{min-width:210px;padding:15px 17px;border-radius:16px;background:var(--navy);color:#fff}.streak-card>span,.streak-card>small,.streak-card>strong{display:block}.streak-card>span{color:#8edfc8;font-size:7px;letter-spacing:.12em}.streak-card>strong{margin:4px 0;font:700 19px "Bricolage Grotesque",sans-serif}.streak-card i{color:#ffc84d;font-style:normal}.streak-card small{color:rgba(255,255,255,.58);font-size:7px}.mission-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.mission-card{position:relative;display:grid;grid-template-columns:47px 1fr;grid-template-rows:1fr auto;gap:0 12px;min-height:190px;padding:17px;border:1px solid var(--line);border-radius:19px;background:#fff;box-shadow:0 10px 25px rgba(16,42,67,.055);transition:transform .2s ease,border-color .2s ease}.mission-card:hover{transform:translateY(-2px);border-color:rgba(20,85,138,.3)}.mission-icon{width:47px;height:47px;display:grid;place-items:center;border-radius:14px;background:#edf5fa;color:var(--navy);font:700 18px "Bricolage Grotesque",sans-serif}.mission-copy>span{color:var(--orange);font-size:7px;font-weight:700;letter-spacing:.12em}.mission-copy h3{margin:5px 0 5px;font:700 17px "Bricolage Grotesque",sans-serif}.mission-copy p{margin:0;color:var(--muted);font-size:9px;line-height:1.45}.mission-copy>div{display:flex;align-items:center;gap:8px;margin-top:11px}.mission-copy b{padding:5px 7px;border-radius:7px;background:var(--orange-soft);color:#b9471d;font-size:8px}.mission-copy small{color:var(--muted);font-size:7px}.mission-card>button{grid-column:1/-1;align-self:end;min-height:38px;margin-top:14px;border:0;border-radius:10px;background:var(--navy);color:#fff;font-size:8px;font-weight:700}.mission-card.done{border-color:rgba(8,122,99,.22);background:linear-gradient(145deg,#fff,#edfaf6)}.mission-card.done .mission-icon{background:var(--green-soft);color:var(--green)}.mission-card.done>button{background:#dce9e4;color:var(--green);cursor:default}.mission-card.locked:not(.done){opacity:.7}.mission-card.locked>button{background:#e9edeb;color:var(--muted)}.game-footer-row{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:13px;padding:14px 16px;border-radius:14px;background:rgba(255,255,255,.74)}.game-footer-row>div:first-child strong,.game-footer-row>div:first-child span{display:block}.game-footer-row>div:first-child strong{font-size:9px}.game-footer-row>div:first-child span{margin-top:3px;color:var(--muted);font-size:8px}.badge-list{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px}.badge-list span{display:flex;align-items:center;gap:5px;padding:7px 9px;border:1px solid var(--line);border-radius:9px;background:#fff;color:#9aa4aa;font-size:7px;font-weight:700;filter:grayscale(1)}.badge-list span.earned{border-color:rgba(212,154,16,.28);background:var(--gold-soft);color:#8c6411;filter:none}.badge-list i{font-style:normal}.game-hub.celebrate{animation:game-celebrate .8s ease}@keyframes game-celebrate{0%,100%{box-shadow:var(--shadow)}45%{box-shadow:0 0 0 7px rgba(105,211,178,.22),var(--shadow)}}
.chat-lobby{display:grid;grid-template-columns:1.15fr .9fr auto;align-items:center;gap:24px;margin-top:18px;padding:31px 34px;border-radius:24px;background:linear-gradient(125deg,#fff,#e9f6f1);box-shadow:0 14px 34px rgba(16,42,67,.08)}.chat-lobby h2{margin:7px 0 6px;font:700 26px "Bricolage Grotesque",sans-serif}.chat-lobby p{margin:0;color:var(--muted);font-size:9px;line-height:1.55}.chat-lobby-steps{display:grid;gap:6px}.chat-lobby-steps span{display:flex;align-items:center;gap:8px;font-size:8px;font-weight:700}.chat-lobby-steps i{width:23px;height:23px;display:grid;place-items:center;border-radius:8px;background:#fff;color:var(--navy);font-style:normal}.chat-lobby .primary-action{white-space:nowrap}.pulse-dialog>p{margin:0 0 18px;color:var(--muted);font-size:10px}.pulse-options{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.pulse-options button{display:grid;place-items:center;min-height:135px;padding:13px;border:1px solid var(--line);border-radius:15px;background:#fff;color:var(--ink)}.pulse-options button:hover{border-color:var(--green);background:var(--green-soft)}.pulse-options i{font-style:normal;font-size:26px;color:var(--green)}.pulse-options strong{margin-top:7px;font-size:10px}.pulse-options small{margin-top:3px;color:var(--muted);font-size:7px;text-align:center}.bus-chat-dialog{width:min(700px,calc(100vw - 28px));padding:0;overflow:hidden}.chat-room-head{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:25px 58px 18px 25px;background:linear-gradient(125deg,var(--navy),#0b655e);color:#fff}.chat-room-head span{color:#8de1c8;font-size:7px;font-weight:700;letter-spacing:.13em}.chat-room-head h2{margin:5px 0 3px;font:700 24px "Bricolage Grotesque",sans-serif}.chat-room-head p{margin:0;color:rgba(255,255,255,.63);font-size:8px}.anonymous-alias{padding:10px 12px;border:1px solid rgba(255,255,255,.13);border-radius:12px;background:rgba(255,255,255,.08)}.anonymous-alias small,.anonymous-alias strong{display:block}.anonymous-alias small{color:rgba(255,255,255,.52);font-size:6px;letter-spacing:.1em}.anonymous-alias strong{margin-top:3px;font-size:9px}.bus-chat-dialog .dialog-close{border-color:rgba(255,255,255,.14);background:rgba(255,255,255,.1);color:#fff}.chat-safety-note{display:flex;gap:10px;padding:11px 25px;background:#fff7df;color:#765a12;font-size:7px}.chat-safety-note b{white-space:nowrap}.chat-messages{height:min(390px,42vh);display:flex;flex-direction:column;gap:8px;overflow:auto;padding:20px 25px;background:#f3f6f4}.chat-empty{display:grid;place-items:center;min-height:100%;padding:25px;color:var(--muted);text-align:center}.chat-empty i{font-style:normal;font-size:29px;color:var(--green)}.chat-empty strong{margin-top:7px;font-size:11px}.chat-empty span{max-width:340px;margin-top:4px;font-size:8px;line-height:1.5}.chat-message{position:relative;align-self:flex-start;max-width:78%;padding:10px 12px;border:1px solid var(--line);border-radius:5px 14px 14px 14px;background:#fff}.chat-message.own{align-self:flex-end;border-color:rgba(8,122,99,.16);border-radius:14px 5px 14px 14px;background:var(--green-soft)}.chat-message-meta{display:flex;justify-content:space-between;gap:13px}.chat-message-meta strong{color:var(--green);font-size:7px}.chat-message-meta span{color:var(--muted);font-size:7px}.chat-message p{margin:5px 0 0;font-size:9px;line-height:1.45}.chat-message>button{margin-top:6px;padding:0;border:0;background:transparent;color:var(--muted);font-size:6px;text-decoration:underline}.quick-messages{display:flex;gap:5px;overflow:auto;padding:11px 25px;border-top:1px solid var(--line);background:#fff}.quick-messages button{padding:7px 9px;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--navy);font-size:7px;font-weight:700;white-space:nowrap}.chat-form{display:grid;gap:5px;padding:0 25px 20px;background:#fff}.chat-form label{font-size:7px;font-weight:700}.chat-form>div{display:grid;grid-template-columns:1fr auto;gap:7px}.chat-form input{min-width:0;height:42px;padding:0 12px;border:1px solid var(--line);border-radius:11px;outline:0}.chat-form input:focus{border-color:rgba(20,85,138,.55);box-shadow:0 0 0 4px rgba(20,85,138,.08)}.chat-form button{padding:0 16px;border:0;border-radius:11px;background:var(--navy);color:#fff;font-size:8px;font-weight:700}.chat-form>small{color:var(--muted);font-size:7px}.chat-form .form-message{margin-top:2px}.dialog-privacy{display:block;margin-top:13px;color:var(--muted);font-size:7px;line-height:1.5}
@media(max-width:900px){.game-pass{min-height:460px}.chat-lobby{grid-template-columns:1fr 1fr}.chat-lobby .primary-action{grid-column:1/-1}.mission-grid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.rewards-hero{min-height:0}.rewards-copy{padding:31px 22px 26px}.rewards-copy h1{margin:12px 0 14px;font-size:34px;line-height:.96;letter-spacing:-.045em}.rewards-copy>p{max-width:320px;font-size:11.5px;line-height:1.55}.launch-notice{margin-top:17px}.hero-actions{margin-top:19px}.hero-actions button{min-height:43px;padding:0 14px}.game-pass{min-height:300px;padding:20px;border-radius:0 0 22px 22px}.game-pass-route{min-height:105px}.game-hub{padding:24px 17px;border-radius:23px}.game-hub-heading{align-items:stretch;flex-direction:column}.streak-card{min-width:0}.mission-grid{grid-template-columns:1fr}.mission-card{min-height:0}.game-footer-row{align-items:flex-start;flex-direction:column}.badge-list{justify-content:flex-start}.trust-strip{margin-bottom:54px}.chat-lobby{grid-template-columns:1fr;padding:25px 21px}.chat-lobby .primary-action{grid-column:auto;width:100%}.pulse-options{grid-template-columns:1fr}.pulse-options button{grid-template-columns:36px 1fr;min-height:72px;text-align:left}.pulse-options i{grid-row:1/3}.pulse-options strong,.pulse-options small{justify-self:start}.bus-chat-dialog{width:100%;max-width:none;height:min(92vh,780px);max-height:92vh;margin:auto 0 0;border-radius:24px 24px 0 0}.chat-room-head{align-items:flex-start;flex-direction:column;padding:23px 56px 15px 19px}.anonymous-alias{width:100%}.chat-safety-note{padding:10px 19px}.chat-messages{height:auto;min-height:260px;flex:1;padding:16px 19px}.quick-messages{padding:10px 19px}.chat-form{padding:0 19px max(18px,env(safe-area-inset-bottom))}.chat-message{max-width:88%}}
.moderation-actions{display:flex;align-items:center;gap:8px;white-space:nowrap}.moderation-actions .table-action{padding:6px 8px;border:1px solid var(--line);border-radius:8px;background:#fff}.moderation-actions .danger-action{border-color:#f3c7c0;background:#fff5f3;color:var(--danger)}
@media(max-width:600px){.moderation-actions{align-items:stretch;flex-direction:column}.moderation-actions .table-action{width:100%}}

/* partiuponto brand system and conversation hub. */
.primary-action{background:linear-gradient(120deg,var(--navy),var(--navy-2));box-shadow:0 10px 22px rgba(8,71,166,.2)}
.desktop-nav button.active,.profile-nav button.active,.mobile-nav button.active{background:var(--navy)}
.community-hero{position:relative;overflow:hidden;background:linear-gradient(122deg,#073b8c 0%,var(--navy) 55%,#087f82 100%)}
.community-hero:after{content:"";position:absolute;width:330px;height:330px;right:-110px;top:-175px;border:1px solid rgba(255,255,255,.2);border-radius:50%;box-shadow:0 0 0 46px rgba(185,243,74,.06),0 0 0 92px rgba(255,90,54,.045);pointer-events:none}
.community-hero h1 em{color:var(--mint)}
.community-hero .primary-action{position:relative;z-index:1;background:var(--mint);color:#163b39;box-shadow:0 12px 28px rgba(3,31,57,.2)}
.conversation-hub{position:relative;margin:18px 0 80px;padding:38px;overflow:hidden;border:1px solid rgba(8,71,166,.1);border-radius:30px;background:linear-gradient(145deg,#fffef9 0%,#f4f8f4 54%,#edf6fa 100%);box-shadow:var(--shadow)}
.conversation-hub:before{content:"";position:absolute;width:230px;height:230px;right:-105px;bottom:-115px;border:30px solid rgba(18,170,164,.06);border-radius:50%;pointer-events:none}
.conversation-heading{position:relative;display:flex;align-items:flex-start;justify-content:space-between;gap:25px;margin-bottom:22px}
.conversation-heading h2{margin:8px 0 6px;font:700 clamp(30px,4vw,48px)/1 "Bricolage Grotesque",sans-serif;letter-spacing:-.045em}
.conversation-heading p{max-width:650px;margin:0;color:var(--muted);font-size:10px;line-height:1.55}
.safe-chat-pill{display:inline-flex;align-items:center;gap:7px;padding:9px 12px;border:1px solid rgba(7,156,139,.14);border-radius:999px;background:var(--green-soft);color:#06786d;font-size:8px;font-weight:700;white-space:nowrap}
.safe-chat-pill:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--green);box-shadow:0 0 0 4px rgba(7,156,139,.1)}
.chat-mode-grid{position:relative;display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.chat-mode-card{position:relative;min-height:235px;display:flex;flex-direction:column;align-items:flex-start;padding:21px;overflow:hidden;border:1px solid var(--line);border-radius:21px;background:#fff;box-shadow:0 11px 26px rgba(16,45,63,.055);transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease}
.chat-mode-card:before{content:"";position:absolute;left:0;right:0;top:0;height:5px;background:var(--navy)}
.chat-mode-card:hover{transform:translateY(-3px);border-color:rgba(8,71,166,.2);box-shadow:0 17px 35px rgba(16,45,63,.1)}
.chat-mode-card.line:before{background:var(--orange)}
.chat-mode-card.direct:before{background:var(--green)}
.chat-mode-icon{width:48px;height:48px;display:grid;place-items:center;margin:6px 0 16px;border-radius:15px;background:#eaf2ff;color:var(--navy);font:700 20px "Bricolage Grotesque",sans-serif;transform:rotate(-3deg)}
.chat-mode-card.line .chat-mode-icon{background:var(--orange-soft);color:var(--orange)}
.chat-mode-card.direct .chat-mode-icon{background:var(--green-soft);color:var(--green)}
.chat-mode-card>small{color:var(--muted);font-size:7px;font-weight:700;letter-spacing:.16em}
.chat-mode-card h3{margin:6px 0 7px;font:700 19px "Bricolage Grotesque",sans-serif}
.chat-mode-card p{margin:0 0 18px;color:var(--muted);font-size:9px;line-height:1.5}
.chat-mode-card .primary-action{width:100%;min-height:40px;display:flex;align-items:center;justify-content:space-between;margin-top:auto;padding:0 13px;font-size:8px;box-shadow:none}
.chat-mode-card.line .primary-action{background:var(--orange)}
.chat-mode-card.direct .primary-action{background:var(--green)}
#private-invite-count{min-width:21px;height:21px;display:grid;place-items:center;border-radius:999px;background:rgba(255,255,255,.22)}
.private-invites-panel{position:relative;display:grid;grid-template-columns:210px 1fr;gap:18px;margin-top:13px;padding:18px;border:1px solid var(--line);border-radius:18px;background:rgba(255,255,255,.72)}
.private-invites-panel h3{margin:6px 0 0;font:700 17px "Bricolage Grotesque",sans-serif}
.private-invite-empty{display:flex;align-items:center;min-height:45px;padding:11px 13px;border:1px dashed var(--line);border-radius:12px;color:var(--muted);font-size:8px}
.private-invite-list{display:grid;gap:7px}
.private-invite-row{display:grid;grid-template-columns:1fr auto;align-items:center;gap:9px;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:#fff}
.private-invite-row strong,.private-invite-row small{display:block}.private-invite-row strong{font-size:9px}.private-invite-row small{margin-top:3px;color:var(--muted);font-size:7px}
.private-invite-actions{display:flex;gap:5px}.private-invite-actions button{min-height:30px;padding:0 9px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--navy);font-size:7px;font-weight:700}.private-invite-actions button:first-child{border-color:transparent;background:var(--navy);color:#fff}
.chat-room-head{background:linear-gradient(120deg,#063b91,var(--navy) 62%,#087f82)}
.chat-room-switch{display:flex;align-items:center;gap:5px;overflow:auto;padding:9px 25px;border-bottom:1px solid var(--line);background:#fff}
.chat-room-switch button{min-height:32px;padding:0 12px;border:1px solid transparent;border-radius:9px;background:transparent;color:var(--muted);font-size:7px;font-weight:700;white-space:nowrap}
.chat-room-switch button.active{background:#eaf2ff;color:var(--navy)}
.chat-room-switch .chat-block-action{margin-left:auto;border-color:#f2c4bc;background:#fff6f3;color:var(--danger)}
.chat-room-switch .chat-block-action.confirm{background:var(--danger);color:#fff}
.chat-message-actions{display:flex;align-items:center;gap:9px;margin-top:7px}
.chat-message-actions button{padding:0;border:0;background:transparent;color:var(--muted);font-size:6px;text-decoration:underline}
.chat-message-actions .private-chat-action{color:var(--navy);font-weight:700;text-decoration:none}
.chat-message.private-message{border-color:rgba(8,71,166,.14);background:#f5f8ff}
.chat-message.private-message.own{border-color:rgba(7,156,139,.16);background:var(--green-soft)}
.anonymous-alias{min-width:145px}

@media(max-width:900px){.chat-mode-grid{grid-template-columns:1fr 1fr}.chat-mode-card.direct{grid-column:1/-1;min-height:190px}.private-invites-panel{grid-template-columns:1fr}}
@media(max-width:600px){.community-hero{padding:38px 22px}.conversation-hub{margin-top:13px;padding:24px 17px;border-radius:23px}.conversation-heading{align-items:flex-start;flex-direction:column}.safe-chat-pill{align-self:flex-start}.chat-mode-grid{grid-template-columns:1fr}.chat-mode-card,.chat-mode-card.direct{grid-column:auto;min-height:190px}.private-invites-panel{padding:14px}.private-invite-row{grid-template-columns:1fr}.private-invite-actions button{flex:1}.chat-room-switch{display:grid;grid-template-columns:repeat(3,1fr);overflow:visible;padding:8px 19px}.chat-room-switch button{padding:0 5px}.chat-room-switch .chat-block-action{grid-column:1/-1;width:100%;margin-left:0}.anonymous-alias{min-width:0}.chat-message-actions{gap:12px}}

/* Contextual social timeline. */
.feed-toolbar{align-items:flex-start}.feed-toolbar-actions{display:flex;align-items:center;gap:8px}.feed-scope-switch{display:flex;padding:3px;border:1px solid var(--line);border-radius:11px;background:#f1f4f2}.feed-scope-switch button{min-height:31px;padding:0 10px;background:transparent;color:var(--muted);box-shadow:none}.feed-scope-switch button.active{background:#fff;color:var(--navy);box-shadow:0 4px 10px rgba(16,45,63,.08)}.feed-scope-switch button:disabled{cursor:not-allowed;opacity:.42}.community-feed{min-width:0}.community-post.social-post{grid-template-columns:45px minmax(0,1fr);padding:19px 0}.community-post.social-post:first-child{border-top:0}.community-post-content{min-width:0}.community-post-head strong{display:flex;align-items:center;gap:5px}.community-post-head strong small{margin:0}.social-post .post-tags{margin-top:8px}.social-post .post-tags .category{background:var(--green-soft);color:var(--green)}.social-post .post-tags .category.news{background:#e8f0ff;color:var(--navy)}.social-post .post-tags .category.chat{background:var(--gold-soft);color:#8d6309}.social-post .post-tags .category.alert{background:var(--orange-soft);color:#b9471d}.social-post>span.community-post-avatar{background:linear-gradient(145deg,#eaf2ff,#d8e8ff);color:var(--navy)}.social-post.alert-post>span.community-post-avatar{background:var(--orange-soft);color:var(--orange)}.community-post-photo{margin:12px 0 0;overflow:hidden;border:1px solid var(--line);border-radius:16px;background:#edf2ef}.community-post-photo img{display:block;width:100%;max-height:430px;object-fit:cover}.community-poll{margin-top:12px;padding:14px;border:1px solid rgba(8,71,166,.1);border-radius:15px;background:#f6f9ff}.community-poll>strong{display:block;margin-bottom:9px;font-size:10px}.community-poll>div{display:grid;gap:6px}.community-poll button{position:relative;min-height:35px;display:flex;align-items:center;justify-content:space-between;overflow:hidden;padding:0 10px;border:1px solid #dce5f1;border-radius:9px;background:#fff;color:var(--ink);font-size:8px;text-align:left}.community-poll button i{position:absolute;z-index:0;left:0;top:0;bottom:0;background:rgba(18,101,216,.1);transition:width .35s ease}.community-poll button span,.community-poll button b{position:relative;z-index:1}.community-poll button.selected{border-color:rgba(8,71,166,.35);color:var(--navy)}.community-poll button.selected:after{content:"✓";position:relative;z-index:1;margin-left:6px}.community-poll>small{display:block;margin-top:8px;color:var(--muted);font-size:7px}.community-post-actions{display:flex;align-items:center;gap:6px;margin-top:12px}.community-post-actions button{min-height:30px;padding:0 9px;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--muted);font-size:7px;font-weight:700}.community-post-actions button.active{border-color:rgba(7,156,139,.18);background:var(--green-soft);color:var(--green)}.community-post-actions .delete-post-action{margin-left:auto;color:var(--danger)}.community-empty{display:grid;place-items:center;min-height:320px;padding:40px;border:1px dashed rgba(8,71,166,.2);border-radius:18px;background:linear-gradient(145deg,#fff,#f5f8f6);text-align:center}.community-empty>span{width:51px;height:51px;display:grid;place-items:center;border-radius:16px;background:#eaf2ff;color:var(--navy);font-size:22px}.community-empty strong{margin-top:13px;font:700 16px "Bricolage Grotesque",sans-serif}.community-empty p{max-width:350px;margin:6px 0 15px;color:var(--muted);font-size:9px;line-height:1.5}.community-empty button{min-height:37px;padding:0 13px;border:0;border-radius:10px;background:var(--navy);color:#fff;font-size:8px;font-weight:700}
.post-dialog{width:min(680px,calc(100vw - 28px));overflow:auto}.post-dialog>p{margin:7px 0 20px;color:var(--muted);font-size:10px}.post-dialog h2{margin:8px 0 0;font:700 29px "Bricolage Grotesque",sans-serif}.post-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.post-form-grid label,.post-poll-fields label{display:grid;gap:6px;color:var(--muted);font-size:8px;font-weight:700}.post-form-grid .wide{grid-column:1/-1}.post-form-grid select,.post-form-grid textarea,.post-poll-fields input{width:100%;min-height:42px;padding:10px 11px;border:1px solid var(--line);border-radius:11px;outline:0;background:#fff;color:var(--ink);font:500 10px "DM Sans",sans-serif}.post-form-grid textarea{min-height:105px;resize:vertical;line-height:1.5}.post-form-grid textarea:focus,.post-form-grid select:focus,.post-poll-fields input:focus{border-color:rgba(8,71,166,.45);box-shadow:0 0 0 4px rgba(8,71,166,.08)}.post-form-grid label>small{justify-self:end;font-size:7px}.post-attachments{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:11px}.photo-upload,.poll-toggle{min-height:72px;display:grid;grid-template-columns:40px 1fr;align-items:center;gap:2px 10px;padding:11px;border:1px solid var(--line);border-radius:13px;background:#fafbf9;cursor:pointer}.photo-upload>span{grid-row:1/3;width:40px;height:40px;display:grid;place-items:center;border-radius:12px;background:#eaf2ff;color:var(--navy);font-size:18px}.photo-upload strong,.poll-toggle strong{font-size:9px}.photo-upload small,.poll-toggle small{color:var(--muted);font-size:7px}.poll-toggle{grid-template-columns:20px 1fr}.poll-toggle input{width:18px;height:18px;accent-color:var(--green)}.poll-toggle span strong,.poll-toggle span small{display:block}.poll-toggle span small{margin-top:3px}.post-photo-preview{position:relative;grid-column:1/-1;overflow:hidden;border-radius:14px;background:#edf2ef}.post-photo-preview img{display:block;width:100%;max-height:260px;object-fit:cover}.post-photo-preview button{position:absolute;right:9px;top:9px;padding:7px 9px;border:0;border-radius:8px;background:rgba(16,45,63,.82);color:#fff;font-size:7px;font-weight:700}.post-poll-fields{margin:12px 0 0;padding:14px;border:1px solid rgba(8,71,166,.12);border-radius:14px;background:#f6f9ff}.post-poll-fields legend{padding:0 5px;color:var(--navy);font-size:8px;font-weight:700}.poll-option-inputs{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:8px}.post-photo-consent{margin-top:10px}.community-guidelines{display:grid;grid-template-columns:auto 1fr;gap:5px 10px;margin-top:12px;padding:12px;border-radius:12px;background:#fff7df;color:#765a12}.community-guidelines b{grid-row:1/4;font-size:8px}.community-guidelines span{font-size:7px}.post-dialog .form-message{min-height:16px;margin:8px 0 0}.post-dialog .form-footer{margin-top:8px}
@media(max-width:900px){.feed-toolbar{align-items:stretch;flex-direction:column}.feed-toolbar-actions{justify-content:space-between}}
@media(max-width:600px){.community-layout{grid-template-columns:1fr}.community-feed,.community-sidebar article{padding:20px 17px}.feed-toolbar-actions{align-items:stretch;flex-direction:column}.feed-scope-switch{display:grid;grid-template-columns:1fr 1fr}.feed-toolbar-actions>#new-post-button{width:100%;min-height:42px}.community-post.social-post{grid-template-columns:36px minmax(0,1fr);gap:9px}.social-post>span.community-post-avatar{width:36px;height:36px;border-radius:11px;font-size:9px}.community-post-head{align-items:flex-start}.community-post-actions{flex-wrap:wrap}.community-post-actions .delete-post-action{margin-left:0}.community-empty{min-height:250px;padding:28px 18px}.post-dialog{width:100%;max-width:none;height:min(94vh,820px);max-height:94vh;margin:auto 0 0;padding:27px 19px max(20px,env(safe-area-inset-bottom));border-radius:24px 24px 0 0}.post-form-grid,.post-attachments,.poll-option-inputs{grid-template-columns:1fr}.post-form-grid .wide{grid-column:auto}.post-photo-preview{grid-column:auto}.community-guidelines{grid-template-columns:1fr}.community-guidelines b{grid-row:auto}.post-dialog .form-footer{position:sticky;bottom:0;padding-top:10px;background:var(--paper)}}

/* Timeline readability, state feedback, and touch accessibility. */
.feed-scope-switch button.unavailable{opacity:.72}.social-post .community-post-head strong{font-size:13px}.social-post .community-post-head>span,.social-post .post-tags span{font-size:11px}.social-post .post-tags span{padding:6px 8px}.social-post .community-post-content>p{margin-top:9px;font-size:15px;line-height:1.55}.community-poll>strong{font-size:13px;line-height:1.4}.community-poll button{min-height:42px;font-size:12px}.community-poll>small{font-size:11px}.community-post-actions button{min-height:40px;font-size:11px}.community-sync-state{min-height:280px;display:grid;place-items:center;align-content:center;padding:32px;text-align:center}.community-sync-state>span{width:36px;height:36px;border:4px solid #dfe9f5;border-top-color:var(--navy);border-radius:50%;animation:community-spin .8s linear infinite}.community-sync-state>b{width:42px;height:42px;display:grid;place-items:center;border-radius:13px;background:var(--orange-soft);color:var(--danger);font-size:20px}.community-sync-state strong{margin-top:14px;font:700 17px "Bricolage Grotesque",sans-serif}.community-sync-state p{max-width:390px;margin:6px 0 0;color:var(--muted);font-size:13px;line-height:1.5}.community-sync-state button{min-height:42px;margin-top:14px;padding:0 15px;border:0;border-radius:11px;background:var(--navy);color:#fff;font-size:12px;font-weight:700}@keyframes community-spin{to{transform:rotate(360deg)}}
@media(max-width:600px){.community-hero{padding:26px 20px}.community-hero h1{margin:10px 0;font-size:36px}.community-hero p{font-size:13px;line-height:1.5}.community-hero .primary-action{min-height:44px}.social-post .community-post-content>p{font-size:16px}.community-poll button,.community-post-actions button{min-height:44px}.community-post-actions button{padding:0 12px}.community-sync-state{min-height:230px;padding:24px 12px}}

/* Collapsible mobile navigation keeps the map and content unobstructed. */
.mobile-nav-trigger{display:none}
#mobile-nav .reading-menu-action{grid-column:1/-1;display:flex;align-items:center;justify-content:center;gap:10px;min-height:48px;margin-top:4px;border-top:1px solid var(--line);border-radius:0 0 13px 13px;color:var(--ink)}
#mobile-nav .reading-menu-action:hover{background:var(--cream)}
#mobile-nav .reading-menu-action:focus-visible{outline:2px solid var(--orange);outline-offset:-2px}
@media(min-width:901px) and (max-width:1150px){.topbar{gap:12px;padding:0 20px}.topbar .desktop-nav{display:flex}.topbar .desktop-nav button{padding:0 9px;gap:5px;font-size:10px}.topbar .live-pill,.topbar .account-button>span:last-child,.topbar .brand small{display:none}.topbar .account-button{min-width:0;padding:5px}}
@media(max-width:900px){
  body{padding-bottom:max(14px,env(safe-area-inset-bottom))}
  .mobile-nav-trigger{position:fixed;z-index:1901;right:max(12px,env(safe-area-inset-right));bottom:max(14px,env(safe-area-inset-bottom));width:52px;height:52px;display:grid;place-items:center;padding:0;border:1px solid rgba(255,255,255,.46);border-radius:18px;background:rgba(8,48,77,.78);color:#fff;box-shadow:0 12px 32px rgba(7,31,49,.24);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);transition:transform .2s ease,background .2s ease,box-shadow .2s ease}
  .mobile-nav-trigger:hover{background:rgba(8,48,77,.9)}
  .mobile-nav-trigger:active{transform:scale(.95)}
  .mobile-nav-trigger:focus-visible{outline:3px solid rgba(255,107,53,.42);outline-offset:3px}
  .mobile-nav-trigger-icon{position:relative;width:22px;height:18px;display:block}
  .mobile-nav-trigger-icon span{position:absolute;left:2px;width:18px;height:2px;border-radius:99px;background:currentColor;transition:top .2s ease,transform .2s ease,opacity .15s ease,width .2s ease}
  .mobile-nav-trigger-icon span:nth-child(1){top:2px}
  .mobile-nav-trigger-icon span:nth-child(2){top:8px;width:13px}
  .mobile-nav-trigger-icon span:nth-child(3){top:14px}
  .mobile-nav-trigger.is-open{background:rgba(255,91,54,.9);box-shadow:0 12px 34px rgba(177,55,29,.26)}
  .mobile-nav-trigger.is-open .mobile-nav-trigger-icon span:nth-child(1){top:8px;transform:rotate(45deg)}
  .mobile-nav-trigger.is-open .mobile-nav-trigger-icon span:nth-child(2){opacity:0;width:0}
  .mobile-nav-trigger.is-open .mobile-nav-trigger-icon span:nth-child(3){top:8px;transform:rotate(-45deg)}
  .mobile-nav{left:auto;right:max(12px,env(safe-area-inset-right));bottom:calc(max(14px,env(safe-area-inset-bottom)) + 62px);width:min(300px,calc(100vw - 24px));grid-template-columns:repeat(3,1fr);padding:6px;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(12px) scale(.96);transform-origin:bottom right;background:rgba(255,253,248,.92);box-shadow:0 18px 48px rgba(10,35,54,.2);transition:opacity .2s ease,transform .2s ease,visibility .2s ease}
  .mobile-nav.is-open{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0) scale(1)}
  .mobile-nav button{min-height:52px}
  .mobile-nav span{font-size:8px}
  body.journey-navigation-active>.mobile-nav-trigger,body:has(.admin-app:not([hidden]))>.mobile-nav-trigger{display:none!important}
}
@media(prefers-reduced-motion:reduce){.mobile-nav,.mobile-nav-trigger,.mobile-nav-trigger-icon span{transition:none!important}}

/* Community-first navigation and guided chat access. */
@media(max-width:900px){.mobile-nav{grid-template-columns:repeat(3,1fr)}}
.community-start{margin-top:18px;padding:28px;border:1px solid rgba(8,71,166,.1);border-radius:25px;background:rgba(255,253,248,.92);box-shadow:0 14px 34px rgba(16,42,67,.07)}
.community-start-heading{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:18px}
.community-start-heading h2{margin:7px 0 0;font:700 clamp(25px,3.3vw,38px)/1 "Bricolage Grotesque",sans-serif;letter-spacing:-.035em}
.community-start-heading>p{max-width:470px;margin:0;color:var(--muted);font-size:12px;line-height:1.55}
.community-start-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.community-step{display:grid;grid-template-columns:42px minmax(0,1fr);gap:11px;padding:17px;border:1px solid var(--line);border-radius:17px;background:#f8faf8;transition:border-color .2s ease,background .2s ease,transform .2s ease}
.community-step.ready{border-color:rgba(7,156,139,.2);background:linear-gradient(145deg,#f6fffb,#eefaf5)}
.community-step-number{width:42px;height:42px;display:grid;place-items:center;border-radius:13px;background:#e7eef8;color:var(--navy);font:700 15px "Bricolage Grotesque",sans-serif}
.community-step.ready .community-step-number{background:var(--green-soft);color:var(--green)}
.community-step small,.community-step strong,.community-step p{display:block}.community-step small{color:var(--muted);font-size:8px;font-weight:700;letter-spacing:.12em}.community-step strong{margin-top:4px;font:700 15px "Bricolage Grotesque",sans-serif}.community-step p{margin:4px 0 0;color:var(--muted);font-size:10px;line-height:1.45}
.community-step>button{grid-column:1/-1;min-height:41px;border:1px solid rgba(8,71,166,.14);border-radius:11px;background:#fff;color:var(--navy);font-size:11px;font-weight:700}
.community-step.ready>button{border-color:transparent;background:var(--navy);color:#fff}
.conversation-hub{margin-bottom:18px}
.chat-mode-icon svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.chat-card-status{display:inline-flex;align-items:center;gap:6px;margin:-7px 0 14px;padding:6px 8px;border-radius:8px;background:#f0f2f1;color:var(--muted);font-size:9px;font-weight:700}
.chat-card-status:before{content:"";width:6px;height:6px;border-radius:50%;background:#a5aca9}
.chat-card-status.ready{background:var(--green-soft);color:#08745e}.chat-card-status.ready:before{background:var(--green)}
.chat-mode-card.context-ready{border-color:rgba(7,156,139,.2);box-shadow:0 14px 30px rgba(7,90,79,.08)}
.chat-mode-card .primary-action:disabled{cursor:not-allowed;opacity:.55;box-shadow:none}
.chat-loading{min-height:220px;display:grid;place-items:center;align-content:center;padding:25px;text-align:center}
.chat-loading>span{width:34px;height:34px;border:4px solid #dfe9f5;border-top-color:var(--navy);border-radius:50%;animation:community-spin .8s linear infinite}
.chat-loading strong,.chat-loading p{display:block}.chat-loading strong{margin-top:12px;font:700 16px "Bricolage Grotesque",sans-serif}.chat-loading p{max-width:330px;margin:5px 0 0;color:var(--muted);font-size:11px;line-height:1.5}
.chat-loading.error>span{display:grid;place-items:center;border:0;border-radius:11px;background:var(--orange-soft);color:var(--danger);font-size:18px;animation:none}.chat-loading.error>span:before{content:"!"}
.chat-loading button{min-height:38px;margin-top:12px;padding:0 13px;border:0;border-radius:10px;background:var(--navy);color:#fff;font-size:10px;font-weight:700}
@media(max-width:900px){.community-start-grid{grid-template-columns:1fr 1fr}.community-step:last-child{grid-column:1/-1}}
@media(max-width:600px){.community-start{margin-top:12px;padding:20px 16px;border-radius:21px}.community-start-heading{align-items:flex-start;flex-direction:column;gap:8px}.community-start-heading>p{font-size:12px}.community-start-grid{grid-template-columns:1fr}.community-step:last-child{grid-column:auto}.community-step{grid-template-columns:39px minmax(0,1fr);padding:14px}.community-step-number{width:39px;height:39px}.community-step>button{min-height:44px}.conversation-hub{margin-bottom:13px}.chat-card-status{font-size:10px}}

/* V51: shared icon proportions across product navigation. */
.desktop-nav button{display:flex;align-items:center;gap:7px}.desktop-nav button .ui-icon{width:17px;height:17px}.desktop-nav button.active .ui-icon{stroke-width:2}
.admin-sidebar nav button i{display:grid;place-items:center;flex:0 0 25px;width:25px;height:25px;border-radius:8px;background:rgba(255,255,255,.06)}.admin-sidebar nav button i .ui-icon{width:15px;height:15px}.admin-sidebar nav button.active i{background:rgba(156,230,212,.16);color:#9ce6d4}
.mobile-nav i{width:25px;height:25px;display:grid;place-items:center;font-style:normal}.mobile-nav i .ui-icon{width:20px;height:20px}.mobile-nav button.active i{color:#9ce6d4}.mobile-nav button.active i .ui-icon{stroke-width:2}
.dialog-visual .ui-icon{width:40px;height:40px;stroke-width:1.6}.pulse-options i{width:42px;height:42px;display:grid;place-items:center;border-radius:13px;background:var(--green-soft)}.pulse-options i .ui-icon{width:25px;height:25px}.mission-icon .ui-icon{width:25px;height:25px}.prize-card-visual .ui-icon{width:40px;height:40px;stroke-width:1.6}.badge-list i .ui-icon{width:14px;height:14px}.community-post-actions button{display:inline-flex;align-items:center;gap:5px}.community-post-actions button .ui-icon{width:14px;height:14px}.community-empty>span .ui-icon{width:25px;height:25px}.chat-empty>i .ui-icon{width:24px;height:24px}

/* V53: install prompt shown on every browser visit. */
.install-app-dialog{width:min(760px,calc(100vw - 28px));padding:0;overflow:hidden;background:#fffdf7}.install-app-dialog>.dialog-close{border-color:rgba(8,71,166,.12);color:var(--navy)}.install-app-dialog>.dialog-close svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}.install-app-layout{display:grid;grid-template-columns:minmax(250px,.82fr) minmax(320px,1.18fr);min-height:440px}.install-app-visual{position:relative;display:grid;place-items:center;overflow:hidden;background:radial-gradient(circle at 20% 18%,rgba(185,243,74,.48),transparent 28%),linear-gradient(155deg,#0b5799 0%,#06345d 62%,#052b49 100%)}.install-app-visual:before{content:"";position:absolute;width:240px;height:240px;border:1px solid rgba(255,255,255,.14);border-radius:50%}.install-route{position:absolute;width:260px;height:100px;border:3px dashed rgba(255,255,255,.17);border-radius:50%;transform:rotate(-24deg)}.install-route.route-two{width:180px;height:300px;transform:rotate(32deg)}.install-phone{position:relative;z-index:1;width:156px;height:290px;display:grid;place-items:center;align-content:center;padding:22px;border:5px solid rgba(255,255,255,.9);border-radius:34px;background:linear-gradient(170deg,#fffef8,#e9f6f1);box-shadow:0 28px 50px rgba(2,21,37,.35);transform:rotate(-3deg)}.install-phone>span{position:absolute;top:9px;width:42px;height:5px;border-radius:9px;background:#b9c7c4}.install-phone img{width:68px;height:68px;border-radius:21px;box-shadow:0 12px 25px rgba(8,71,166,.24)}.install-phone strong{margin-top:14px;color:var(--navy);font:700 18px "Bricolage Grotesque",sans-serif;letter-spacing:-.04em}.install-phone strong b{color:var(--orange)}.install-phone small{margin-top:5px;color:var(--muted);font-size:7px;font-weight:700;text-transform:uppercase}.install-bus{position:absolute;z-index:2;right:25px;bottom:33px;width:51px;height:51px;display:grid;place-items:center;border:4px solid rgba(255,255,255,.92);border-radius:17px;background:var(--orange);color:#fff;box-shadow:0 13px 26px rgba(2,21,37,.3);transform:rotate(7deg)}.install-bus .ui-icon{width:26px;height:26px}.install-app-copy{display:flex;flex-direction:column;justify-content:center;padding:45px 42px}.install-app-copy h2{max-width:370px;margin:7px 0 12px;color:var(--navy);font:700 34px/1.04 "Bricolage Grotesque",sans-serif;letter-spacing:-.04em}.install-app-copy>p{margin:0;color:var(--muted);font-size:11px;line-height:1.6}.install-benefits{display:grid;gap:9px;margin:22px 0}.install-benefits span{display:flex;align-items:center;gap:9px;color:var(--ink);font-size:10px;font-weight:700}.install-benefits .ui-icon{width:20px;height:20px;padding:4px;border-radius:50%;background:var(--green-soft);color:#08745e;stroke-width:3}.install-app-copy .install-app-help{min-height:34px;padding:9px 11px;border-radius:11px;background:#f1f5f4;color:#52656d;font-size:8px;transition:background .2s ease,color .2s ease}.install-app-copy .install-app-help.highlight{background:var(--orange-soft);color:#b9471d}.install-app-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}.install-app-actions button{min-height:46px;border:1px solid var(--line);border-radius:13px;background:#fff;color:var(--navy);font-size:9px;font-weight:800}.install-app-actions .primary-action{display:flex;align-items:center;justify-content:center;gap:8px;border-color:transparent;background:var(--navy);color:#fff;box-shadow:0 11px 24px rgba(8,71,166,.22)}.install-app-actions .primary-action .ui-icon{width:18px;height:18px}.install-app-actions .primary-action.instructions-only{background:#0b6e63}.install-app-actions button:hover{transform:translateY(-1px)}
@media(max-width:600px){.install-app-dialog{width:100%;max-width:none;max-height:94dvh;margin:auto 0 0;border-radius:28px 28px 0 0}.install-app-layout{display:block;min-height:0}.install-app-visual{height:190px}.install-app-visual:before{width:190px;height:190px}.install-route{width:220px;height:74px}.install-route.route-two{width:150px;height:220px}.install-phone{width:116px;height:168px;padding:14px;border-width:4px;border-radius:25px;transform:rotate(-3deg) translateY(13px)}.install-phone>span{top:6px;width:34px;height:4px}.install-phone img{width:48px;height:48px;border-radius:15px}.install-phone strong{margin-top:8px;font-size:14px}.install-phone small{font-size:5px}.install-bus{right:calc(50% - 95px);bottom:13px;width:43px;height:43px;border-radius:14px}.install-bus .ui-icon{width:22px;height:22px}.install-app-copy{padding:25px 21px max(23px,env(safe-area-inset-bottom))}.install-app-copy h2{margin-top:6px;font-size:28px}.install-app-copy>p{font-size:10px}.install-benefits{grid-template-columns:1fr 1fr;gap:8px 10px;margin:17px 0}.install-benefits span{align-items:flex-start;font-size:8px;line-height:1.35}.install-benefits span:last-child{grid-column:1/-1}.install-benefits .ui-icon{flex:0 0 19px;width:19px;height:19px}.install-app-actions{grid-template-columns:1fr}.install-app-actions button{min-height:45px}.install-app-actions #install-app-later{order:2}}

/* V55: mobile readability for the install entry point. */
@media(max-width:600px){.install-app-copy>p{font-size:11px}.install-benefits span{font-size:9px}.install-app-copy .install-app-help{font-size:10px;line-height:1.45}.install-app-actions button{min-height:48px;font-size:11px}}

/* Keep both choices reachable on short mobile screens and with larger text. */
.install-app-dialog{overflow-y:auto;overscroll-behavior:contain;max-height:94dvh}
@media(max-width:600px) and (max-height:700px){
  .install-app-visual{height:126px}
  .install-phone{transform:rotate(-3deg) translateY(23px)}
  .install-app-copy{padding-top:20px}
  .install-app-copy h2{font-size:26px}
  .install-benefits{margin:12px 0}
}
