:root{
  --jungle-950:#052418;
  --jungle-900:#073523;
  --jungle-800:#0a4a2f;
  --jungle-700:#0f6840;
  --jungle-600:#188653;
  --jungle-500:#2cab69;
  --leaf:#76bd22;
  --leaf-soft:#dff0bd;
  --cream:#fbfaec;
  --cream-2:#f4f2dd;
  --glass:rgba(252,251,238,.9);
  --glass-strong:rgba(255,255,246,.96);
  --forest-ink:#0a2d20;
  --forest-muted:#557064;
  --purple-accent:#6830e8;
  --purple-deep:#4618b7;
  --theme-line:rgba(47,91,61,.2);
  --theme-shadow:0 18px 48px rgba(3,39,23,.16);
  --theme-shadow-small:0 8px 22px rgba(3,39,23,.13);
}

/* Shared foundations */
body{color:var(--forest-ink);background:#e9eee7}
.app-shell{border-color:rgba(71,112,82,.25);box-shadow:0 24px 72px rgba(3,34,20,.22)}
.jungle-video-bg video{filter:saturate(1.12) contrast(1.02) brightness(1.04)}
.jungle-video-overlay{background:linear-gradient(135deg,rgba(244,246,218,.52),rgba(220,239,211,.38) 45%,rgba(10,73,43,.2))}
h1,h2,strong{color:var(--forest-ink)}

button,.btn,a[class*="button"],label[class*="button"]{
  transition:transform .18s ease,box-shadow .18s ease,background-color .18s ease,border-color .18s ease,color .18s ease,filter .18s ease;
}
button:not(:disabled):active,.btn:not(:disabled):active,a[class*="button"]:active,label[class*="button"]:active{transform:translateY(1px) scale(.985)}
button:focus-visible,.btn:focus-visible,a:focus-visible,label[class*="button"]:focus-within,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid rgba(103,48,232,.24);outline-offset:3px}

.btn-primary{
  border:1px solid rgba(191,230,154,.35);
  color:#fff;
  background:linear-gradient(135deg,var(--jungle-600),var(--jungle-800));
  box-shadow:0 12px 26px rgba(5,85,48,.26),inset 0 1px rgba(255,255,255,.18);
}
.btn-primary:not(:disabled):hover{filter:brightness(1.07);box-shadow:0 15px 32px rgba(5,85,48,.32),inset 0 1px rgba(255,255,255,.2)}
.btn-secondary{
  border:1px solid rgba(51,91,61,.22);
  color:var(--forest-ink);
  background:linear-gradient(180deg,rgba(255,255,247,.98),rgba(244,243,225,.96));
  box-shadow:var(--theme-shadow-small),inset 0 1px rgba(255,255,255,.8);
}
.btn-secondary:not(:disabled):hover{border-color:rgba(38,105,65,.38);background:#fffef3;box-shadow:0 11px 26px rgba(3,39,23,.17)}
.btn:disabled,button:disabled{cursor:not-allowed;filter:saturate(.35);opacity:.55;box-shadow:none}

input,textarea,select{
  border-color:rgba(49,92,62,.22)!important;
  color:var(--forest-ink)!important;
  background:rgba(255,255,247,.94)!important;
  box-shadow:inset 0 1px 2px rgba(7,49,28,.04);
}
input:focus,textarea:focus,select:focus{border-color:var(--jungle-500)!important;box-shadow:0 0 0 4px rgba(44,171,105,.13)!important}
input[type="range"],input[type="checkbox"]{accent-color:var(--jungle-600)}

/* Landing page */
.welcome-landing{background:#edf1e8}
.welcome-landing .app-shell,.welcome-landing .landing-page{background:transparent}
.welcome-landing .jungle-video-overlay{
  background:
    linear-gradient(90deg,rgba(255,253,224,.72) 0%,rgba(248,251,224,.5) 39%,rgba(30,93,54,.12) 100%),
    linear-gradient(180deg,rgba(255,255,243,.12),rgba(16,74,43,.1));
}
.welcome-landing .landing-header{border-bottom-color:rgba(34,76,47,.34)}
.welcome-landing .landing-header nav button{
  border:1px solid rgba(43,82,53,.28);
  color:var(--forest-ink);
  background:linear-gradient(180deg,rgba(255,255,244,.96),rgba(242,241,222,.94));
  box-shadow:var(--theme-shadow-small),inset 0 1px #fff;
}
.welcome-landing .landing-header nav button:hover{border-color:rgba(41,112,65,.45);color:var(--jungle-800);background:#fffef1;box-shadow:0 11px 25px rgba(4,48,26,.16)}
.welcome-landing .landing-header nav a:last-child{
  border-color:#7140e9;
  color:#fff;
  background:linear-gradient(135deg,#7542ee,var(--purple-deep));
  box-shadow:0 12px 25px rgba(73,27,183,.3),inset 0 1px rgba(255,255,255,.25);
}
.welcome-landing .landing-header nav a:last-child:hover{border-color:#5d2cd2;background:linear-gradient(135deg,#8150f3,#5420c6);box-shadow:0 15px 30px rgba(73,27,183,.36)}
.welcome-landing .landing-copy h1{color:#062d1e;text-shadow:0 2px 18px rgba(255,255,230,.35)}
.welcome-landing .landing-copy h1 span{color:var(--purple-accent)}
.welcome-landing .landing-lead{color:#284c3d}
.welcome-landing .landing-tags>span,.welcome-landing .preview-badges>span,.welcome-landing .preview-time{
  border-color:rgba(46,91,59,.2);
  color:#244336;
  background:rgba(255,255,244,.9);
  box-shadow:0 7px 18px rgba(5,47,26,.12),inset 0 1px #fff;
  backdrop-filter:blur(12px);
}
.welcome-landing .call-preview{
  border:1px solid rgba(57,94,59,.28);
  background:linear-gradient(145deg,rgba(255,254,239,.93),rgba(240,241,217,.9));
  box-shadow:0 30px 75px rgba(2,45,24,.22),inset 0 1px rgba(255,255,255,.85);
}
.welcome-landing .preview-person{border:1px solid rgba(45,73,47,.16);box-shadow:0 10px 24px rgba(3,37,21,.12)}
.welcome-landing .person-label{border-color:rgba(255,255,238,.18);background:rgba(4,29,20,.82);box-shadow:0 7px 18px rgba(0,18,10,.25)}
.welcome-landing .person-label strong{color:#fffef0!important;font-weight:800;text-shadow:0 1px 3px rgba(0,0,0,.45)}
.welcome-landing .person-label small{color:#dce8d6!important;font-weight:600}
.welcome-landing .preview-controls>span{border-color:rgba(61,100,63,.25);color:var(--jungle-900);background:linear-gradient(180deg,#ffffed,#ebf0d2);box-shadow:0 9px 20px rgba(4,47,25,.15),inset 0 1px #fff}
.welcome-landing .preview-controls .control-end{border-color:#d4242d;color:#fff;background:linear-gradient(145deg,#ff4e4e,#e11f2c);box-shadow:0 12px 25px rgba(224,31,44,.3)}
.welcome-landing .landing-auth>p:first-child{color:#214b38;font-weight:600}
.welcome-landing .landing-auth .auth-legal{color:#284b3c!important;text-shadow:0 1px rgba(255,255,235,.5)}
.welcome-landing .landing-auth .auth-legal a{color:var(--purple-deep)!important;font-weight:700}
.welcome-landing .landing-auth .google-button-fallback,.welcome-landing .landing-auth .email-alternative{
  border:1px solid rgba(44,90,58,.24);
  background:rgba(255,255,247,.95);
  box-shadow:0 10px 24px rgba(3,43,23,.14),inset 0 1px #fff;
}
.welcome-landing .landing-auth .email-alternative{border-color:#2e7145;color:#fff;background:linear-gradient(135deg,#17673d,#0a4c2d)}
.welcome-landing .landing-auth .email-alternative:hover{border-color:#1b5b35;color:#fff;background:linear-gradient(135deg,#1c7546,#0a4328);box-shadow:0 15px 30px rgba(2,57,30,.28)}
.welcome-landing .email-icon{stroke:#fff}
.welcome-landing .trust-strip{border-color:rgba(56,97,61,.26);background:rgba(255,254,239,.9);box-shadow:var(--theme-shadow)}
.welcome-landing .trust-strip article{border-color:rgba(54,94,58,.18)}
.landing-modal{border-color:rgba(48,91,60,.24);background:linear-gradient(145deg,#fffff3,#eef1d8);box-shadow:0 30px 90px rgba(2,38,20,.3)}
.landing-modal-steps article,.landing-safety-grid article{border-color:var(--theme-line);background:rgba(255,255,245,.9)}
.landing-modal-steps article>span,.landing-safety-grid article>span{color:var(--jungle-800);background:var(--leaf-soft)}

/* Authentication */
.auth-page:not(.welcome-landing) .app-shell{background:transparent}
.auth-page:not(.welcome-landing) .auth-screen:not(.auth-welcome){background:linear-gradient(145deg,rgba(252,251,237,.84),rgba(231,242,218,.76));backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}
.auth-page:not(.welcome-landing) .auth-heading h1{color:var(--forest-ink)}
.auth-page:not(.welcome-landing) .auth-heading p,.auth-page:not(.welcome-landing) .login-copy{color:var(--forest-muted)}
.auth-page:not(.welcome-landing) .google-button-fallback,.auth-page:not(.welcome-landing) .email-alternative{border-color:rgba(45,88,57,.24);background:var(--glass-strong);box-shadow:var(--theme-shadow-small)}
.auth-page:not(.welcome-landing) .login-copy a{color:var(--purple-accent)}
.auth-page:not(.welcome-landing) .permission-card,.auth-page:not(.welcome-landing) .capture-panel{border-color:var(--theme-line);background:var(--glass);box-shadow:var(--theme-shadow-small)}

/* Onboarding and location */
.onboarding-page .jungle-video-overlay{background:linear-gradient(110deg,rgba(3,45,25,.26),rgba(244,247,220,.38) 46%,rgba(253,252,236,.5))}
.onboarding-shell{background:rgba(247,249,229,.48)}
.onboarding-intro{background:linear-gradient(145deg,rgba(3,43,25,.89),rgba(8,79,43,.74))}
.onboarding-card{background:rgba(255,254,241,.8);backdrop-filter:blur(9px)}
.onboarding-photo,.location-permission-card,.radius-summary{border-color:var(--theme-line)!important;background:var(--glass-strong)!important;box-shadow:var(--theme-shadow-small)!important}
.onboarding-photo-button,.location-permission-card button{
  border-color:rgba(49,96,61,.24)!important;
  color:var(--jungle-800)!important;
  background:linear-gradient(180deg,#fffff4,#f0f0d9)!important;
  box-shadow:0 6px 15px rgba(3,44,23,.1)!important;
}
.progress-pill{color:var(--jungle-800);background:var(--leaf-soft);box-shadow:inset 0 0 0 1px rgba(79,128,39,.12)}
.onboarding-card header small,.onboarding-photo-button,.onboarding-radius output,.radius-control output{color:var(--jungle-700)!important}
.real-map-wrap{border-color:rgba(48,91,60,.28)!important;box-shadow:var(--theme-shadow-small)!important}
.map-location-label,.map-radius-badge,.map-recenter{border-color:rgba(48,91,60,.2)!important;background:rgba(255,255,242,.94)!important;box-shadow:0 6px 17px rgba(3,40,22,.13)!important}

/* Signed-in application */
.main-page{background:#e8eee5}
.main-page .jungle-video-overlay{background:linear-gradient(135deg,rgba(4,43,24,.22),rgba(220,239,207,.3) 42%,rgba(250,249,231,.4))}
.main-page .app-shell{border-color:rgba(40,80,50,.3);background:rgba(240,245,223,.24);box-shadow:0 24px 70px rgba(3,35,20,.25)}
.main-page .main-content{background:transparent!important;border-left-color:rgba(42,82,52,.2)!important}
.main-page .discover-screen,.main-page .list-screen,.main-page .profile-screen{background:linear-gradient(145deg,rgba(252,252,237,.68),rgba(225,240,214,.58));backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}
.main-page .bottom-nav{border-color:rgba(54,96,61,.18);background:linear-gradient(180deg,rgba(6,54,33,.95),rgba(5,38,24,.97));box-shadow:8px 0 30px rgba(2,31,17,.16)}
.main-page .bottom-nav>a:not(.nav-account){color:rgba(242,248,225,.72)}
.main-page .bottom-nav>a:not(.nav-account):hover{color:#fff;background:rgba(255,255,235,.1)}
.main-page .bottom-nav>a:not(.nav-account).active{color:var(--jungle-950);background:linear-gradient(135deg,#f6f4dc,#dfeebc);box-shadow:0 8px 20px rgba(0,18,9,.22),inset 0 1px #fff}
.main-page .nav-account{color:#f6faea;border-top-color:rgba(255,255,255,.13)}
.main-page .nav-account small{color:rgba(239,247,225,.6)}
.main-page .settings-button,.main-page .header-action,.main-page .search-box{
  border-color:rgba(48,91,60,.23);
  color:var(--jungle-900);
  background:rgba(255,255,244,.92);
  box-shadow:var(--theme-shadow-small);
}
.main-page .discover-copy,.main-page .conversation-list,.main-page .people-list,.main-page .profile-hero-card,.main-page .about-card,.main-page .stats-card,.main-page .empty-state,.recent-match-card{
  border-color:var(--theme-line)!important;
  background:linear-gradient(145deg,rgba(255,255,246,.94),rgba(240,242,219,.9))!important;
  box-shadow:var(--theme-shadow)!important;
}
.main-page .find-button,.main-page .profile-hero-card .edit-profile{
  border:1px solid rgba(178,223,137,.35);
  background:linear-gradient(135deg,var(--jungle-600),var(--jungle-800));
  box-shadow:0 14px 30px rgba(5,83,46,.28),inset 0 1px rgba(255,255,255,.2);
}
.main-page .person-row{border-radius:16px}
.main-page .person-row:hover{background:#fffdeb!important;box-shadow:0 8px 20px rgba(4,50,27,.1)}
.main-page .recent-match-card button,.main-page .accept-button{
  border:1px solid rgba(41,103,62,.24);
  color:#fff;
  background:linear-gradient(135deg,var(--jungle-600),var(--jungle-800));
  box-shadow:0 7px 16px rgba(5,79,44,.2);
}
.main-page .video-button,.main-page .more-button,.main-page .text-button{
  border-color:rgba(48,91,60,.22);
  color:var(--jungle-800);
  background:rgba(255,255,242,.9);
}
.main-page .card-heading .card-icon{color:var(--jungle-800);background:var(--leaf-soft)}
.main-page .profile-page-heading .settings-button{color:var(--jungle-800)}
.main-page .profile-content-grid .logout-button{border:1px solid #edc6c6;background:#fff3ef;color:#ad2e32}
.main-page .message-form,.main-page .chat-header{border-color:var(--theme-line);background:rgba(255,255,244,.94)}
.main-page .message-form button{background:linear-gradient(135deg,var(--jungle-600),var(--jungle-800));box-shadow:0 7px 17px rgba(5,79,44,.22)}
.main-page .message-bubble.mine{background:linear-gradient(135deg,var(--jungle-600),var(--jungle-800))}

/* Profile editor */
.profile-editor-backdrop{background:rgba(2,29,17,.67)}
.profile-editor-card{border-color:rgba(57,102,66,.27);background:linear-gradient(145deg,rgba(255,255,244,.98),rgba(237,242,218,.97));box-shadow:0 35px 100px rgba(2,35,18,.38)}
.profile-editor-close,.photo-upload-button{border-color:var(--theme-line);color:var(--jungle-800);background:linear-gradient(180deg,#fffff4,#eff0d9);box-shadow:var(--theme-shadow-small)}

/* Live calls retain dark contrast while adopting the tactile controls. */
.video-call .live-indicator,.video-call .timer-chip,.video-call .add-friend-button{border-color:rgba(213,235,190,.25);background:rgba(5,45,27,.7)}
.video-call .partner-copy strong,.video-call .skip-copy strong,.video-call .live-indicator,.video-call .timer-chip,.video-call .add-friend-button{color:#fff!important}
.video-call .partner-copy span,.video-call .skip-copy small{color:#dce7d5!important}
.video-call .control-circle{border-color:rgba(240,247,222,.3);background:rgba(250,251,231,.14)}
.video-call .skip-button{border-color:rgba(184,225,146,.3);background:linear-gradient(135deg,var(--jungle-600),var(--jungle-800));box-shadow:0 18px 38px rgba(1,57,29,.42),inset 0 1px rgba(255,255,255,.2)}
.video-call .end-control .control-circle{background:linear-gradient(145deg,#ff5050,#dc1e2c);border-color:#ff6868}

@media(max-width:859px){
  .main-page .bottom-nav{background:rgba(255,255,241,.95);box-shadow:0 -9px 30px rgba(3,38,21,.12)}
  .main-page .bottom-nav>a:not(.nav-account){color:#6c7c72}
  .main-page .bottom-nav>a:not(.nav-account).active{color:var(--jungle-800);background:transparent;box-shadow:none}
  .welcome-landing .landing-header nav{background:linear-gradient(180deg,#fffef0,#eef2d9)}
  .welcome-landing .landing-header nav button:not(.landing-menu-close),.welcome-landing .landing-header nav a{background:rgba(255,255,244,.94)}
  .welcome-landing .landing-header nav a:last-child{color:#fff;background:linear-gradient(135deg,#7542ee,var(--purple-deep))}
}

/* Open discovery hero: login-style typography directly on the jungle scene. */
.page-discover .discover-screen{display:flex!important;flex-direction:column;align-items:center;justify-content:center;gap:0;padding:86px 28px 42px!important;text-align:center!important;background:transparent!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
.page-discover .discover-copy{position:relative!important;width:min(760px,100%)!important;margin:0!important;padding:0!important;overflow:visible!important;border:0!important;border-radius:0!important;color:#fff!important;background:none!important;box-shadow:none!important;transform:none!important;isolation:auto!important}
.page-discover .discover-copy:after{display:none!important}
.page-discover .discover-copy:before{display:block!important;margin:0 0 18px!important;color:#c7ff83!important;font-size:11px!important;font-weight:900!important;letter-spacing:.22em!important;text-shadow:0 3px 16px rgba(0,22,11,.9)!important}
.page-discover .discover-copy h1{margin:0!important;color:#fffde9!important;font-family:Inter,Arial,sans-serif!important;font-size:clamp(54px,6vw,88px)!important;font-weight:850!important;line-height:.98!important;letter-spacing:-.055em!important;text-shadow:0 5px 28px rgba(0,22,11,.88),0 2px 4px rgba(0,22,11,.72)!important}
.page-discover .discover-copy p{margin:0!important;color:#f3f8df!important;font-size:clamp(17px,1.45vw,22px)!important;font-weight:700!important;line-height:1.45!important;text-shadow:0 3px 15px rgba(0,22,11,.9)!important}
.page-discover .discover-divider{width:min(470px,82%);margin:27px auto 22px!important}.page-discover .discover-divider:before,.page-discover .discover-divider:after{background:rgba(226,255,195,.72)!important}.page-discover .discover-divider i{background:#a8e75e!important;box-shadow:7px 4px 0 -3px #d3ff9d,0 0 18px rgba(168,231,94,.45)!important}
.page-discover .match-search-form{width:min(560px,100%)!important;margin:34px 0 0!important}
.page-discover .radius-label{width:min(650px,100%);margin:14px 0 0!important;transform:none!important}
@media(max-width:859px){.page-discover .discover-screen{padding:92px 20px 112px!important}.page-discover .discover-copy{padding:0!important}.page-discover .discover-copy:before{font-size:9px!important;margin-bottom:14px!important}.page-discover .discover-copy h1{font-size:clamp(42px,13vw,61px)!important}.page-discover .discover-copy p{font-size:15px!important}.page-discover .match-search-form{margin-top:27px!important}}

@media(prefers-reduced-motion:reduce){button,.btn,a[class*="button"],label[class*="button"]{transition:none}}

/* Full-bleed application refinement */
@media(min-width:860px){
  html,body{width:100%;min-width:100%;margin:0;padding:0!important;background:var(--jungle-950)}
  .app-shell{width:100%!important;max-width:none!important;margin:0!important;border:0!important;border-radius:0!important;box-shadow:none!important}
  .main-page,.auth-page:not(.welcome-landing),.onboarding-page,.call-page{width:100%;height:100dvh;min-height:100dvh;padding:0!important}
  .main-page .app-shell,.auth-page:not(.welcome-landing) .app-shell,.onboarding-page .app-shell,.call-page .app-shell{height:100dvh!important;min-height:100dvh!important}
  .welcome-landing .app-shell,.legal-page .app-shell{min-height:100dvh}

  .main-page .desktop-brand{left:44px}
  .main-page .main-content{margin-left:250px}
  .main-page .bottom-nav{width:250px;padding:14px 24px 24px}
  .main-page .bottom-nav>a:not(.nav-account){min-height:54px;padding-inline:18px;color:#e2ead8;font-size:13px;font-weight:700;letter-spacing:.005em}
  .main-page .bottom-nav>a:not(.nav-account) .nav-icon{color:#b9d4b5}
  .main-page .bottom-nav>a:not(.nav-account).active{color:#062d1e}
  .main-page .bottom-nav>a:not(.nav-account).active .nav-icon{color:#0b5a37}
  .main-page .nav-account{padding:14px 10px!important;border-top-color:rgba(235,245,219,.22)!important;background:rgba(255,255,235,.055)}
  .main-page .nav-account strong{color:#f7f9e8!important;font-size:12px!important;font-weight:800;letter-spacing:.01em}
  .main-page .nav-account small{color:#c5d4bc!important;font-size:9px!important;font-weight:600}
  .main-page .nav-account>img,.main-page .nav-account-avatar{background:linear-gradient(145deg,var(--jungle-500),var(--jungle-800));box-shadow:0 0 0 3px rgba(236,246,216,.14)}

  .main-page .settings-button{top:28px;right:34px;width:44px;height:44px;border-radius:14px;font-size:20px}
  .main-page .discover-screen{padding-top:72px;padding-bottom:34px;align-items:center}
  .main-page .discover-copy:before{color:#5d25d8;font-size:10px;font-weight:900}
  .main-page .discover-copy p{color:#456358;font-weight:500}
  .main-page .radius-label{color:#557064;font-size:12px;font-weight:600}
  .main-page .radius-label strong{color:#173d2e;font-weight:900}
  .main-page #adjust-radius{min-height:34px;margin-top:7px;padding:0 12px;border:1px solid rgba(43,91,57,.2);border-radius:10px;color:#0b6840;background:rgba(255,255,241,.92);box-shadow:0 5px 13px rgba(3,43,23,.1);font-weight:800}
  .main-page .orbit-avatar{border-color:#ffffef;background:linear-gradient(145deg,#214d38,#0b3222);box-shadow:0 8px 22px rgba(3,43,23,.24);font-size:11px}
  .main-page .screen-heading h1,.main-page .profile-page-heading h1{color:#082f20}
  .main-page .screen-heading p,.main-page .profile-page-heading p,.main-page .recent-matches>p{color:#557064}
  .main-page .person-copy h2,.main-page .recent-match-copy strong{color:#123a2a;font-weight:800}
  .main-page .person-copy p,.main-page .row-meta,.main-page .recent-match-copy small{color:#60766c}
  .main-page .friend-tabs a{color:#557064;font-weight:700}
  .main-page .friend-tabs a.active{color:#fff;background:linear-gradient(135deg,var(--jungle-600),var(--jungle-800));box-shadow:0 6px 16px rgba(4,65,35,.22)}
  .main-page .profile-eyebrow,.main-page .card-heading small{color:#5d25d8;font-weight:900}
  .main-page .profile-details,.main-page .profile-distance,.main-page .about-card>p,.main-page .stats-grid .stat span{color:#557064}
}

@media(min-width:1400px){
  .main-page .discover-screen{
    padding-left:clamp(56px,5vw,108px);
    padding-right:clamp(56px,5vw,108px);
    grid-template-columns:minmax(440px,.9fr) minmax(540px,1.1fr);
    column-gap:clamp(72px,7vw,145px);
  }
  .main-page .discover-copy{padding:clamp(42px,3.5vw,58px);border-radius:30px}
  .main-page .discover-copy h1{font-size:clamp(48px,3.35vw,64px);line-height:1.02;margin-bottom:24px}
  .main-page .discover-copy p{font-size:clamp(15px,1vw,18px);line-height:1.65}
  .main-page .people-orbit{height:min(62vh,620px);transform:scale(1.3)}
  .main-page .find-button{min-height:68px;border-radius:19px;font-size:17px}
}

@media(min-width:1700px){
  .main-page .main-content{margin-left:280px}
  .main-page .bottom-nav{width:280px;padding-left:30px;padding-right:30px}
  .main-page .desktop-brand{left:55px;width:170px}
  .main-page .discover-screen{grid-template-columns:minmax(500px,.88fr) minmax(650px,1.12fr)}
  .main-page .people-orbit{transform:scale(1.45)}
}

/* Immersive Discover concept — implemented from the approved visual direction. */
.main-page .jungle-video-bg video{filter:saturate(1.28) contrast(1.1) brightness(.82)}
.main-page .jungle-video-overlay{background:linear-gradient(90deg,rgba(1,29,17,.2),rgba(2,30,17,.06) 48%,rgba(0,18,10,.14))}
.main-page .discover-screen{background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none}
.main-page .discover-copy{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  border:1px solid rgba(224,232,190,.7)!important;
  background:
    radial-gradient(ellipse at 92% 12%,rgba(112,157,65,.12),transparent 25%),
    radial-gradient(ellipse at 6% 92%,rgba(112,157,65,.1),transparent 26%),
    linear-gradient(145deg,rgba(255,253,236,.98),rgba(245,244,222,.96))!important;
  box-shadow:0 26px 68px rgba(0,24,13,.3),inset 0 1px rgba(255,255,255,.85)!important;
}
.main-page .discover-copy:after{
  content:"";
  position:absolute;
  z-index:-1;
  width:180px;
  height:180px;
  right:-55px;
  bottom:-65px;
  opacity:.12;
  background:
    radial-gradient(ellipse at 50% 100%,transparent 0 31%,#4d8637 32% 34%,transparent 35%),
    repeating-conic-gradient(from 205deg at 50% 100%,transparent 0 10deg,#4d8637 11deg 13deg,transparent 14deg 24deg);
  transform:rotate(-18deg);
}
.main-page .discover-copy h1{color:#073723;font-family:Georgia,"Times New Roman",serif;font-weight:700;letter-spacing:-.045em;text-wrap:balance}
.main-page .discover-copy:before{color:#6834e9;letter-spacing:.18em}
.main-page .discover-divider{height:22px;margin:18px 0 15px;display:flex;align-items:center;gap:14px;color:#67a83e}
.main-page .discover-divider:before,.main-page .discover-divider:after{content:"";height:2px;flex:1;background:linear-gradient(90deg,#8abe64,#bfd19a)}
.main-page .discover-divider:after{background:linear-gradient(90deg,#bfd19a,#8abe64)}
.main-page .discover-divider i{width:13px;height:20px;border-radius:100% 0 100% 0;background:#5fa73a;transform:rotate(-35deg);box-shadow:7px 4px 0 -3px #8bc45d}
.main-page .discover-copy p{color:#28523e;font-weight:500}

.main-page .people-orbit{position:relative;transform:none!important}
.main-page .orbit-track,.main-page .globe{position:absolute;left:50%;top:50%;border-radius:50%;transform:translate(-50%,-50%)}
.main-page .orbit-track{border:1.5px dashed rgba(144,91,255,.86);filter:drop-shadow(0 0 6px rgba(118,65,231,.42))}
.main-page .track-outer{width:min(92%,560px);aspect-ratio:1}
.main-page .track-middle{width:min(74%,450px);aspect-ratio:1}
.main-page .track-inner{width:min(55%,335px);aspect-ratio:1}
.main-page .globe{
  width:min(42%,255px);
  height:auto;
  aspect-ratio:1;
  background:radial-gradient(circle at 35% 25%,#bda7ff,#7041e7 62%,#5730c6);
  box-shadow:0 0 0 18px rgba(103,53,225,.09),0 0 65px rgba(105,56,230,.55),inset 0 1px rgba(255,255,255,.3);
}
.main-page .globe .continent{background:rgba(240,232,255,.3)}
.main-page .globe .pin{left:calc(50% - 15px);top:calc(50% - 19px)}
.main-page .orbit-avatar{
  width:58px;
  height:58px;
  border:3px solid #9bd260;
  background:linear-gradient(145deg,#164c31,#062d20);
  box-shadow:0 0 0 4px rgba(3,40,23,.72),0 10px 25px rgba(0,24,13,.42);
  color:#fff;
  font-size:15px;
}
.main-page .people-orbit .avatar-1{left:9%;top:37%}
.main-page .people-orbit .avatar-2{left:29%;top:4%}
.main-page .people-orbit .avatar-3{right:4%;top:25%}
.main-page .people-orbit .avatar-4{right:16%;top:auto;bottom:4%}
.main-page .people-orbit .avatar-5{left:24%;top:auto;bottom:1%}

.main-page .find-button{border-color:rgba(126,202,75,.45);background:linear-gradient(135deg,#07905a,#075739);box-shadow:0 18px 38px rgba(0,54,28,.38),inset 0 1px rgba(255,255,255,.2)}
.main-page .find-button:hover{background:linear-gradient(135deg,#0a9c62,#064b32);box-shadow:0 22px 44px rgba(0,54,28,.46)}
.main-page .radius-label{color:#e6efc9;text-shadow:0 2px 8px rgba(0,23,12,.8)}
.main-page .radius-label strong{color:#fffde8}
.main-page .radius-label span+strong{margin-left:4px}
.main-page #adjust-radius{border-color:rgba(225,235,193,.8);color:#0a5837;background:#fffbe7;box-shadow:0 8px 20px rgba(0,28,14,.28)}
.main-page .settings-button{border-color:rgba(69,102,65,.26);color:#073d27;background:#fffceb;box-shadow:0 10px 28px rgba(0,30,15,.28)}

@media(min-width:860px){
  .main-page .bottom-nav{top:0;padding-top:126px;border-right:1px solid rgba(150,190,117,.2);background:linear-gradient(180deg,rgba(2,49,30,.94),rgba(1,39,24,.97));backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
  .main-page .nav-account{border:1px solid rgba(164,205,128,.23)!important;background:rgba(11,71,43,.68)}
  .main-page .discover-screen{grid-template-rows:1fr auto auto}
  .main-page .discover-copy,.main-page .radius-label,.main-page #adjust-radius{transform:translateY(-54px)}
  .main-page .match-search-form,.main-page .find-button{transform:none}
  .main-page .find-button{margin-top:4px}
}

@media(min-width:1400px){
  .main-page .discover-screen{grid-template-columns:minmax(470px,.88fr) minmax(590px,1.12fr);column-gap:clamp(70px,6vw,125px)}
  .main-page .discover-copy{padding:clamp(40px,3vw,54px)}
  .main-page .discover-copy h1{font-size:clamp(47px,3.15vw,62px)}
  .main-page .people-orbit{height:min(69vh,680px)}
}

@media(min-width:1700px){
  .main-page .discover-screen{grid-template-columns:minmax(520px,.86fr) minmax(700px,1.14fr)}
  .main-page .people-orbit{height:min(72vh,720px)}
}

/* Carry the same material system into the remaining signed-in screens. */
.main-page .list-screen,.main-page .profile-screen{background:linear-gradient(90deg,rgba(3,45,27,.38),rgba(3,33,20,.14));backdrop-filter:none;-webkit-backdrop-filter:none}
.main-page .screen-heading h1,.main-page .profile-page-heading h1{color:#fffde9;text-shadow:0 3px 16px rgba(0,24,13,.7)}
.main-page .profile-page-heading p{color:#dce8c8}
.main-page .profile-eyebrow{color:#b79aff}
.main-page .conversation-list,.main-page .people-list,.main-page .profile-hero-card,.main-page .about-card,.main-page .stats-card,.main-page .empty-state,.main-page .recent-match-card{background:linear-gradient(145deg,rgba(255,253,236,.97),rgba(242,242,218,.95))!important}

/* Larger shared branding and a landing page that matches the immersive app. */
@media(min-width:860px){
  .main-page .desktop-brand{
    left:30px;
    top:18px;
    width:190px;
    height:86px;
  }
}

.welcome-landing .jungle-video-bg video{
  filter:saturate(1.3) contrast(1.1) brightness(.76);
}
.welcome-landing .jungle-video-overlay{
  background:linear-gradient(90deg,rgba(3,32,19,.14),rgba(10,54,29,.08) 52%,rgba(2,27,16,.18));
}
.welcome-landing .app-shell,
.welcome-landing .landing-page{background:transparent}
.welcome-landing .landing-page{
  width:100%;
  max-width:none;
  padding:18px clamp(28px,4vw,76px) 52px;
}
.welcome-landing .landing-header{
  height:92px;
  padding:0 8px 10px;
  border-bottom:1px solid rgba(242,247,218,.42);
}
.welcome-landing .landing-brand img{
  width:240px;
  height:92px;
  filter:drop-shadow(0 5px 12px rgba(0,28,14,.22));
}
.welcome-landing .landing-header nav button{
  border-color:rgba(222,234,198,.7);
  color:#123c2a;
  background:linear-gradient(180deg,rgba(255,255,241,.97),rgba(239,241,216,.95));
  box-shadow:0 9px 22px rgba(0,34,17,.18),inset 0 1px #fff;
}
.welcome-landing .landing-header nav a:last-child{
  border-color:#6530df;
  background:linear-gradient(135deg,#7c46ef,#4e1cc5);
  box-shadow:0 11px 25px rgba(55,18,154,.34),inset 0 1px rgba(255,255,255,.25);
}
.welcome-landing .landing-hero{
  grid-template-columns:minmax(430px,.78fr) minmax(620px,1.22fr);
  align-items:center;
  gap:clamp(44px,5vw,92px);
  padding:44px 0 0;
}
.welcome-landing .landing-copy{
  max-width:560px;
  padding:clamp(30px,3vw,46px);
  border:1px solid rgba(226,234,194,.76);
  border-radius:30px;
  background:
    radial-gradient(ellipse at 96% 9%,rgba(107,158,61,.12),transparent 26%),
    linear-gradient(145deg,rgba(255,253,237,.97),rgba(242,243,218,.94));
  box-shadow:0 28px 70px rgba(0,28,15,.3),inset 0 1px rgba(255,255,255,.9);
  backdrop-filter:blur(7px);
  -webkit-backdrop-filter:blur(7px);
}
.welcome-landing .landing-copy h1{
  color:#073522;
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(47px,4vw,65px);
  font-weight:700;
  line-height:1.01;
  letter-spacing:-.052em;
  text-shadow:none;
}
.welcome-landing .landing-copy h1 span{color:#6931e8}
.welcome-landing .landing-lead{margin:24px 0 20px;color:#345b49;font-size:16px;line-height:1.62}
.welcome-landing .landing-tags{gap:12px}
.welcome-landing .landing-tags>span,
.welcome-landing .preview-badges>span,
.welcome-landing .preview-time{
  border-color:rgba(67,111,67,.2);
  background:rgba(255,255,242,.92);
  box-shadow:0 7px 17px rgba(0,40,20,.11),inset 0 1px #fff;
}
.welcome-landing .landing-auth{width:100%;margin-top:30px}
.welcome-landing .landing-auth>p:first-child{color:#234d39;font-weight:750}
.welcome-landing .landing-auth .google-button-fallback{background:#fffef4}
.welcome-landing .landing-auth .email-alternative{
  border-color:rgba(133,184,89,.5);
  color:#fff;
  background:linear-gradient(135deg,#13925b,#075e39);
  box-shadow:0 13px 27px rgba(1,70,36,.28),inset 0 1px rgba(255,255,255,.2);
}
.welcome-landing .call-preview{
  padding:22px;
  border:1px solid rgba(221,231,190,.82);
  border-radius:34px;
  background:
    radial-gradient(ellipse at 95% 4%,rgba(111,158,62,.1),transparent 25%),
    linear-gradient(145deg,rgba(255,253,238,.97),rgba(238,240,213,.95));
  box-shadow:0 32px 78px rgba(0,27,14,.34),inset 0 1px rgba(255,255,255,.9);
  backdrop-filter:blur(6px);
  -webkit-backdrop-filter:blur(6px);
}
.welcome-landing .preview-person{border-color:rgba(43,79,49,.24);box-shadow:0 13px 27px rgba(0,29,14,.18)}
.welcome-landing .preview-controls>span{background:linear-gradient(180deg,#ffffef,#e9efcd)}
.welcome-landing .trust-strip{
  margin-top:72px;
  border-color:rgba(218,231,185,.7);
  background:linear-gradient(145deg,rgba(255,253,237,.95),rgba(237,241,211,.92));
  box-shadow:0 22px 58px rgba(0,30,15,.25);
}

@media(max-width:1100px){
  .welcome-landing .landing-hero{grid-template-columns:1fr;gap:30px}
  .welcome-landing .landing-copy{width:min(680px,100%);max-width:none;margin:auto;text-align:center}
  .welcome-landing .landing-tags{justify-content:center}
  .welcome-landing .landing-auth{width:min(440px,100%);margin-inline:auto}
  .welcome-landing .call-preview{width:min(760px,100%);margin:auto}
}
@media(max-width:600px){
  .welcome-landing .landing-page{padding:8px 14px 34px}
  .welcome-landing .landing-header{height:72px;padding-bottom:4px}
  .welcome-landing .landing-brand img{width:178px;height:70px}
  .welcome-landing .landing-hero{padding-top:24px}
  .welcome-landing .landing-copy{padding:28px 22px;border-radius:24px}
  .welcome-landing .landing-copy h1{font-size:clamp(38px,11vw,48px)}
  .welcome-landing .landing-lead{font-size:14px}
  .welcome-landing .call-preview{padding:11px;border-radius:24px}
}

/* Signed-in contrast, containment, and queue-state completion. */
html,body{overflow-x:hidden}
.main-page .app-shell,.main-page .main-content{min-width:0}
.main-page .main-content{overflow:hidden}
.main-page .people-orbit{pointer-events:none}
.main-page .match-search-form{position:relative;z-index:20;width:100%;margin-top:auto;pointer-events:auto}
.main-page .match-search-form>.people-icon{display:none}
.main-page .find-button{
  position:relative;
  z-index:1;
  width:100%;
  min-height:68px;
  margin:0!important;
  padding:0 24px;
  pointer-events:auto;
  touch-action:manipulation;
  transform:none!important;
  transition:background-color .18s ease,box-shadow .18s ease,filter .18s ease!important;
}
.main-page .find-button:hover,.main-page .find-button:focus,.main-page .find-button:focus-visible,.main-page .find-button:active{transform:none!important}
.main-page .find-button:before{content:"♟";margin-right:9px}
.main-page .list-screen,.main-page .profile-screen{width:100%;max-width:100%;min-width:0}
.main-page .list-screen{
  background:linear-gradient(90deg,rgba(2,35,20,.3),rgba(2,37,21,.12) 55%,rgba(1,26,15,.24));
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
}
.main-page .screen-heading h1,.main-page .profile-page-heading h1{
  color:#fffde9;
  text-shadow:0 3px 16px rgba(0,22,11,.72);
}
.main-page .screen-heading p,.main-page .profile-page-heading p,.main-page .recent-matches>p{
  color:#dce9d1;
  text-shadow:0 2px 8px rgba(0,20,10,.55);
}
.main-page .search-box{
  flex:0 1 280px;
  min-width:0;
  color:#17432f;
  background:linear-gradient(180deg,#ffffef,#edf0d2);
}
.main-page .search-box input{min-width:0;color:#123c2b}
.main-page .search-box input::placeholder{color:#61796e;opacity:1}
.main-page .conversation-list,.main-page .people-list,.main-page .empty-state{
  border-color:rgba(224,233,193,.8)!important;
  background:linear-gradient(145deg,rgba(255,253,237,.97),rgba(240,242,215,.95))!important;
  box-shadow:0 24px 58px rgba(0,27,14,.28)!important;
}
.main-page .empty-state{color:#4b695b}
.main-page .empty-state h2{color:#103d2a}
.main-page .empty-state p{color:#62786e;font-weight:500}
.main-page .empty-state span{color:#6b34e8}
.main-page .person-row{border-bottom-color:rgba(63,103,68,.16)}
.main-page .person-copy h2,.main-page .recent-match-copy strong{color:#0a3a27!important}
.main-page .person-copy p,.main-page .row-meta,.main-page .recent-match-copy small{color:#557064!important}
.main-page .recent-matches>h2{color:#fffde9;text-shadow:0 3px 14px rgba(0,22,11,.7)}
.main-page .recent-match-card{
  border-color:rgba(218,230,184,.82)!important;
  background:linear-gradient(145deg,#fffdeb,#edf0d2)!important;
}
.main-page .recent-match-card button{color:#fff;background:linear-gradient(135deg,#15915a,#075d38)}
.main-page .friend-tabs{border:1px solid rgba(219,232,188,.72);background:rgba(255,254,235,.9);box-shadow:0 9px 22px rgba(0,34,17,.18)}
.main-page .friend-tabs a{color:#446354}
.main-page .profile-screen{
  background:linear-gradient(90deg,rgba(2,34,19,.22),rgba(3,45,24,.08) 60%,rgba(1,28,16,.19));
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
}
.main-page .profile-eyebrow,.main-page .card-heading small{color:#7945ee}
.main-page .profile-page-heading p{color:#dce9d1}
.main-page .profile-hero-card,.main-page .about-card,.main-page .stats-card{
  color:#0a3524;
  border-color:rgba(222,232,190,.82)!important;
  background:linear-gradient(145deg,rgba(255,253,237,.98),rgba(239,241,214,.96))!important;
}
.main-page .profile-identity h2,.main-page .card-heading h2,.main-page .stats-grid .stat strong{color:#093823}
.main-page .profile-identity .profile-details,.main-page .profile-distance,.main-page .about-card>p,.main-page .stats-grid .stat span{color:#49685a!important}
.main-page .profile-content-grid .logout-form{color:#d9e5d2;text-shadow:0 2px 8px rgba(0,18,9,.55)}

.state-searching.call-page .jungle-video-bg video{filter:saturate(1.25) contrast(1.1) brightness(.68)}
.state-searching.call-page .jungle-video-overlay{background:linear-gradient(135deg,rgba(1,34,19,.35),rgba(2,27,16,.14),rgba(0,20,11,.38))}
.state-searching .searching-screen{
  position:relative;
  min-height:100dvh;
  margin:0;
  padding:clamp(70px,9vh,110px) 24px 34px;
  color:#fffdeb;
  background:transparent;
}
.state-searching .search-copy{width:min(500px,100%);margin:0 auto}
.state-searching .search-copy h1{color:#fffdeb;font-family:Georgia,"Times New Roman",serif;font-size:clamp(34px,4vw,48px);text-shadow:0 4px 20px rgba(0,18,9,.7)}
.state-searching .search-copy p,.state-searching .search-radius,.state-searching .call-status{color:#e2edd8;font-weight:600;text-shadow:0 2px 10px rgba(0,18,9,.75)}
.state-searching .search-animation{width:min(440px,100%);height:min(42vh,390px);margin:12px auto 0}
.state-searching .radar-ring{border-color:rgba(151,102,255,.75);box-shadow:0 0 25px rgba(111,59,232,.19)}
.state-searching .ring-three{background:rgba(97,44,224,.22)}
.state-searching .radar-core{background:radial-gradient(circle,#fffde9 29%,#8b58f5 31%,#5825d3);box-shadow:0 0 58px rgba(121,73,240,.7)}
.state-searching .search-help{
  width:min(460px,calc(100% - 28px));
  margin:10px auto 0;
  color:#cfe0c6;
  font-size:11px;
  line-height:1.55;
  text-align:center;
}
.state-searching .search-retry,.state-searching .cancel-button{
  width:min(360px,100%);
  min-height:48px;
  margin:14px auto 0;
  border:1px solid rgba(220,236,191,.42);
  border-radius:14px;
  color:#fff;
  background:linear-gradient(135deg,#178e58,#075b37);
  box-shadow:0 12px 27px rgba(0,35,17,.3);
  font-weight:800;
  cursor:pointer;
}
.state-searching .search-retry[hidden]{display:none}
.state-searching .cancel-button{margin-top:10px;background:rgba(255,255,235,.12);backdrop-filter:blur(8px)}

@media(min-width:860px){
  .main-page .match-search-form{grid-column:1;grid-row:2;margin:-50px 0 0}
  .main-page .list-screen{padding:108px clamp(40px,5vw,78px) 44px}
  .main-page .screen-heading{gap:24px}
  .main-page .conversation-list,.main-page .people-list{width:100%;overflow:hidden}
  .main-page .empty-state{margin-top:34px;padding:64px 24px}
  .main-page .profile-page-inner{align-content:center}
}
@media(max-width:859px){
  .main-page .main-content{overflow-y:auto}
  .main-page .screen-heading h1,.main-page .profile-page-heading h1{font-size:28px}
  .main-page .screen-heading{gap:12px}
  .main-page .search-box{width:min(190px,48vw)}
  .main-page .profile-screen{padding-top:76px}
}

/* Camera age verification — calm, private, and unmistakably Jungle. */
.auth-camera{
  overflow-y:auto;
  padding-bottom:34px!important;
}
.auth-id .verification-kicker{font-size:18px;line-height:1.5}
.auth-id .auth-heading h1{font-size:clamp(32px,4vw,40px);line-height:1.2}
.auth-id .id-verification-form{width:min(600px,calc(100% - 32px));gap:20px}
.auth-id .id-privacy-card{padding:20px}
.auth-id .id-privacy-card strong,.auth-id .setup-input>span,.auth-id .id-upload-field>span,.auth-id .id-upload-field>strong{font-size:20px;line-height:1.4}
.auth-id .id-privacy-card p,.auth-id .id-upload-field>small{font-size:17px;line-height:1.55}
.auth-id .setup-input input{min-height:56px;font-size:20px;max-width:100%;box-sizing:border-box}
.auth-id .id-upload-field{padding:20px;gap:12px;min-width:0}
.auth-id .id-upload-field input[type=file]{width:100%;min-width:0;font-size:18px}
.auth-id .id-upload-field input[type=file]::file-selector-button{font-size:18px;padding:12px 14px}
.auth-id .id-verification-form .btn{height:auto;min-height:58px;padding:14px 18px;font-size:22px;line-height:1.3}
.auth-id .form-alert{font-size:18px;line-height:1.5}
.auth-camera .auth-heading{width:min(700px,100%);margin-inline:auto}
.auth-camera .form-logo{width:250px;max-width:100%;height:103px;margin:-18px auto 0}
.auth-camera .verification-kicker{
  display:inline-flex;
  align-items:center;
  gap:7px;
  margin:2px 0 10px;
  color:#713ae7;
  font-size:14px;
  font-weight:900;
  letter-spacing:.18em;
}
.auth-camera .verification-kicker:before{content:"";width:7px;height:7px;border-radius:50%;background:#6ebe37;box-shadow:0 0 0 4px rgba(110,190,55,.14)}
.auth-camera .auth-heading h1{margin-bottom:8px;font-family:Georgia,"Times New Roman",serif;font-size:clamp(29px,3vw,38px);letter-spacing:-.035em}
.auth-camera .auth-heading>p{margin-bottom:13px;color:#456457!important;font-size:18px;line-height:1.55}
.auth-camera .camera-trust-row{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}
.auth-camera .camera-trust-row span{
  display:inline-flex;
  align-items:center;
  min-height:27px;
  padding:0 10px;
  border:1px solid rgba(54,102,60,.18);
  border-radius:999px;
  color:#315a47;
  background:rgba(255,255,241,.78);
  box-shadow:0 5px 13px rgba(3,42,22,.07);
  font-size:9px;
  font-weight:700;
}
.auth-camera .capture-panel{
  display:grid;
  gap:16px;
  box-sizing:border-box;
  position:relative;
  width:min(700px,calc(100% - 28px));
  margin:18px auto 0!important;
  padding:17px;
  overflow:hidden;
  border:1px solid rgba(211,226,178,.84)!important;
  border-radius:28px;
  background:
    radial-gradient(ellipse at 95% 5%,rgba(107,157,59,.1),transparent 24%),
    linear-gradient(145deg,rgba(255,253,237,.98),rgba(239,242,215,.96))!important;
  box-shadow:0 26px 70px rgba(0,31,16,.27),inset 0 1px rgba(255,255,255,.9)!important;
}
.auth-camera .camera-stage{
  height:clamp(260px,42vh,390px);
  border:1px solid rgba(221,234,196,.32);
  border-radius:21px;
  background:#071d14;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.08),0 14px 32px rgba(0,28,14,.2);
}
.auth-camera .camera-stage:before,.auth-camera .camera-stage:after{
  content:"";
  position:absolute;
  z-index:4;
  width:30px;
  height:30px;
  pointer-events:none;
}
.auth-camera .camera-stage:before{left:15px;top:15px;border-left:2px solid #a6da6c;border-top:2px solid #a6da6c;border-radius:8px 0 0}
.auth-camera .camera-stage:after{right:15px;bottom:15px;border-right:2px solid #a6da6c;border-bottom:2px solid #a6da6c;border-radius:0 0 8px}
.auth-camera .camera-placeholder{background:radial-gradient(circle at 50% 42%,#174931,#061d14)}
.auth-camera .camera-placeholder span{color:#a4db63}
.auth-camera .camera-placeholder strong{color:#fffde9!important;font-size:20px}
.auth-camera .camera-placeholder small{color:#c9dbc1;font-size:14px;line-height:1.5;padding:0 16px;text-align:center}
.auth-camera .face-guide{width:150px;height:200px;border:2px dashed rgba(244,250,220,.85);box-shadow:0 0 0 999px rgba(1,19,11,.08),0 0 30px rgba(151,208,96,.13)}
.auth-camera .scan-progress{left:24px;right:24px;bottom:18px;height:6px;background:rgba(246,250,224,.24)}
.auth-camera .scan-progress span{background:linear-gradient(90deg,#78c844,#8b54ef)}
.auth-camera .capture-status{min-height:44px;margin:0;padding:12px 16px;border-radius:11px;color:#486558;background:rgba(255,255,243,.65);font-size:18px;font-weight:600;line-height:1.5}
.auth-camera .capture-panel [hidden]{display:none!important}
.auth-camera .verification-metrics{gap:9px;margin:0}
.auth-camera .verification-metrics span{min-width:0;padding:12px 8px;border-color:rgba(57,102,62,.17);border-radius:12px;color:#60766b;background:rgba(255,255,244,.72);font-size:14px;line-height:1.4;font-weight:600}
.auth-camera .verification-metrics strong{color:#0a3b27!important;font-size:20px}
.auth-age_confirm .age-selection-field>span{font-size:18px;line-height:1.5;font-weight:700}
.auth-age_confirm .age-estimate-label{font-size:16px;letter-spacing:.1em}
.auth-age_confirm .age-selection-field select{min-height:58px;font-size:20px;line-height:1.4}
.auth-age_confirm .age-selection-field option,.auth-age_confirm .age-selection-field optgroup{font-size:20px}
.auth-camera .capture-actions{gap:12px;margin:0;grid-template-columns:repeat(2,minmax(0,1fr))}
.auth-camera .capture-actions .btn{height:auto;min-height:54px;padding:12px;font-size:18px;line-height:1.3;border-radius:14px;white-space:normal;transform:none!important}
.auth-camera #enable-camera{border-color:rgba(47,104,62,.25);color:#0a5c39;background:linear-gradient(180deg,#ffffef,#e9efce)}
.auth-camera #camera-continue{background:linear-gradient(135deg,#15925a,#075d39)}

@media(max-width:600px){
  .auth-camera{padding-left:12px!important;padding-right:12px!important}
  .auth-camera .form-logo{width:210px;height:87px}
  .auth-camera .camera-trust-row span:last-child{display:none}
  .auth-camera .capture-panel{width:100%;padding:11px;border-radius:22px}
  .auth-camera .camera-stage{height:clamp(245px,39vh,320px);border-radius:17px}
  .auth-camera .capture-actions{grid-template-columns:1fr}
  .auth-camera .verification-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}
  .auth-camera .verification-metrics span{padding:10px 8px;font-size:14px}
}

@media(max-width:859px){
  .main-page .discover-screen{background:linear-gradient(180deg,rgba(3,45,27,.12),rgba(2,36,22,.2));backdrop-filter:none;-webkit-backdrop-filter:none}
  .main-page .discover-copy{padding:26px 22px 24px!important}
  .main-page .discover-copy h1{font-family:Georgia,"Times New Roman",serif;font-size:31px}
  .main-page .discover-divider{margin:13px 0 11px}
  .main-page .people-orbit{height:290px}
  .main-page .track-outer{width:270px}.main-page .track-middle{width:215px}.main-page .track-inner{width:160px}
  .main-page .globe{width:125px;height:125px}
  .main-page .orbit-avatar{width:42px;height:42px;border-width:2px;font-size:10px}
  .main-page .people-orbit .avatar-1{left:2%;top:39%}.main-page .people-orbit .avatar-2{left:23%;top:3%}.main-page .people-orbit .avatar-3{right:1%;top:28%}.main-page .people-orbit .avatar-4{right:12%;bottom:1%}.main-page .people-orbit .avatar-5{left:18%;bottom:0}
  .main-page .radius-label{color:#294f3e;text-shadow:none}.main-page .radius-label strong{color:#103b2b}
}

.admin-stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:12px;margin:18px 0 22px}
.admin-stat-card{padding:16px 14px;border:1px solid var(--theme-line);border-radius:16px;background:linear-gradient(145deg,rgba(255,255,246,.94),rgba(240,242,219,.9));box-shadow:var(--theme-shadow-small);display:flex;flex-direction:column;gap:4px}
.admin-stat-card strong{font-size:26px;color:var(--jungle-900)}
.admin-stat-card span{font-size:11px;font-weight:700;color:#607667;letter-spacing:.02em}
.admin-stat-card.is-alert{border-color:rgba(220,60,60,.4)}
.admin-stat-card.is-alert strong{color:#a53846}
.admin-hub-links{margin-bottom:26px}
.admin-section-heading{margin:30px 0 12px;color:var(--jungle-900);font-size:18px}
.admin-nav{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:18px;padding:10px;background:#fff;border:1px solid var(--theme-line);border-radius:14px;box-shadow:var(--theme-shadow-small)}
.admin-nav a{padding:8px 14px;border-radius:10px;border:1px solid var(--theme-line);font-size:12px;font-weight:700;color:#0a2d20;background:#f4f6ee}
.admin-nav a.active{background:#0c7546;color:#fff;border-color:#0c7546}
.admin-nav form{margin-left:auto}
.btn-danger{background:#b6293b;color:#fff;box-shadow:0 9px 25px rgba(182,41,59,.28)}
.btn-danger:not(:disabled):hover{filter:brightness(1.08)}
.admin-search{display:flex;gap:10px;margin-bottom:18px}
.admin-search input{flex:1;min-height:44px;border-radius:12px;border:1px solid var(--theme-line);padding:0 14px;font-size:13px;background:#fff;color:#0a2d20}
.admin-filter-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px;padding:8px;background:#fff;border:1px solid var(--theme-line);border-radius:12px;box-shadow:var(--theme-shadow-small)}
.admin-filter-tabs a{padding:7px 13px;border-radius:9px;border:1px solid var(--theme-line);font-size:11px;font-weight:700;color:#0a2d20;background:#f4f6ee}
.admin-filter-tabs a.active{background:#0c7546;color:#fff;border-color:#0c7546}
.admin-badge{display:inline-block;padding:2px 8px;border-radius:8px;font-size:10px;font-weight:700;background:rgba(220,60,60,.14);color:#a53846;margin-left:6px}
.admin-detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px;margin:16px 0 24px}
.admin-detail-grid .field{padding:12px;border:1px solid var(--theme-line);border-radius:12px;background:rgba(255,255,246,.6)}
.admin-detail-grid .field span{display:block;font-size:10px;font-weight:700;color:#607667;letter-spacing:.02em;margin-bottom:4px}
.admin-detail-grid .field strong{font-size:14px;color:var(--jungle-900);word-break:break-all}
.no-evidence{color:#8a8f86;font-style:italic;font-size:11px}
.report-card{flex-direction:column;align-items:stretch}
.report-card .person-copy{width:100%}
.ai-verdict{margin:10px 0;padding:10px 14px;border-radius:12px;border:1px solid var(--theme-line);background:#f4f6ee}
.ai-verdict strong{display:inline-block;font-size:11px;letter-spacing:.03em;padding:2px 8px;border-radius:7px;background:#dfe6d3;color:#3a4a3e;margin-right:8px}
.ai-verdict span{font-size:11px;color:#5a6f61;font-weight:700}
.ai-verdict p{font-weight:400;font-size:12px;color:#3a4a3e;margin:6px 0 0;width:100%}
.ai-verdict.ai-full{background:rgba(220,60,60,.08);border-color:rgba(220,60,60,.35)}
.ai-verdict.ai-full strong{background:#dc3c3c;color:#fff}
.ai-verdict.ai-none{background:rgba(12,117,70,.08);border-color:rgba(12,117,70,.3)}
.ai-verdict.ai-none strong{background:#0c7546;color:#fff}
.ai-verdict.ai-partial{background:rgba(200,150,20,.1);border-color:rgba(200,150,20,.35)}
.ai-verdict.ai-partial strong{background:#c89614;color:#fff}
.ai-verdict.ai-error{background:#f4f6ee}
.ai-verdict.ai-error strong{background:#8a8f86;color:#fff}
.report-evidence{margin:10px 0 4px}
.evidence-photos{display:flex;flex-wrap:wrap;gap:14px}
.evidence-shot{display:flex;flex-direction:column;gap:6px;text-decoration:none}
.evidence-shot img{width:220px;max-width:100%;border-radius:10px;border:1px solid var(--theme-line);cursor:zoom-in;display:block}
.evidence-shot span{font-size:11px;font-weight:700;color:#0a2d20}
.evidence-messages{margin-top:10px;font-size:11px;color:#3a4a3e}
.evidence-messages summary{cursor:pointer;font-weight:700;color:#0a2d20;font-size:11px}
.evidence-messages p{margin:6px 0 0;padding-left:2px}
.report-card .row-actions{margin-top:14px}

.log-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:14px}
.log-toolbar .admin-badge{margin-left:0;background:rgba(12,117,70,.12);color:#0c7546}
.log-toolbar .admin-badge.is-paused{background:rgba(200,150,20,.14);color:#8a6d00}
.log-console{background:#0b1210;border-radius:14px;border:1px solid #1c2b23;box-shadow:var(--theme-shadow-small);height:70vh;overflow-y:auto;padding:14px 16px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px;line-height:1.6}
.log-line{display:flex;gap:10px;white-space:pre-wrap;word-break:break-word;color:#d7ecd9;border-bottom:1px solid rgba(255,255,255,.04);padding:2px 0}
.log-line .log-ts{color:#5f8a6a;flex-shrink:0}
.log-line.log-err{color:#ff8c8c}
.log-line.log-err .log-ts{color:#b45a5a}
.log-empty{color:#5f8a6a;font-style:italic}

/* Admin pages get their own desktop-oriented, scrollable shell instead of the
   fixed-height mobile phone frame used by the dating-app screens. */
body.admin-page{display:block;padding:0}
body.admin-page .jungle-video-bg,body.admin-page .status-bar,body.admin-page .desktop-brand{display:none}
body.admin-page .app-shell{
  max-width:none;width:100%;min-height:100vh;height:auto;
  margin:0;border-radius:0;border:0;box-shadow:none;overflow:visible;
  background:#e9eee7;
}
body.admin-page .main-content{
  height:auto;min-height:100vh;overflow-y:visible;padding-bottom:0;
}
body.admin-page .list-screen{
  width:min(1100px,calc(100% - 40px));margin:0 auto;
  padding:28px 0 72px;min-height:auto;
}
body.admin-page .screen-heading{margin-bottom:6px}
body.admin-page .screen-heading h1{color:var(--forest-ink);text-shadow:none;font-size:clamp(24px,3vw,32px)}
body.admin-page .people-list{
  background:#fff!important;border:1px solid var(--theme-line);border-radius:16px;
  box-shadow:var(--theme-shadow-small);padding:4px 16px;overflow:visible;
}
body.admin-page .person-row{min-height:auto;padding:14px 4px;align-items:flex-start;gap:10px;flex-wrap:wrap}
body.admin-page .person-copy{margin-left:0}
body.admin-page .person-copy h2{color:var(--jungle-900);font-size:14px}
body.admin-page .person-copy p{white-space:normal;overflow:visible;text-overflow:clip;color:#5a6f61;font-size:11px}
body.admin-page .row-actions{margin-left:auto}
body.admin-page .empty-state{margin-top:20px;padding:48px 20px;background:#fff;border:1px dashed var(--theme-line);border-radius:16px;color:#5a6f61}
@media(min-width:700px){
  body.admin-page .app-shell{height:auto;min-height:100vh}
}
@media(max-width:640px){
  body.admin-page .row-actions{margin-left:0;width:100%;justify-content:flex-start}
}
