:root{--shell-brown:#3a271a;--shell-deep:#281910;--shell-line:#6f4b32;--shell-text:#f8eee2;--shell-accent:#efc27d}
body>header,body>footer{box-sizing:border-box!important}
body>header>.header-actions{display:none!important}
body>header{width:100%!important;min-height:72px!important;height:auto!important;background:var(--shell-brown)!important;border-bottom:1px solid var(--shell-line)!important;color:var(--shell-text)!important;padding:10px max(18px,calc((100% - 1280px)/2))!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:18px!important;overflow:visible!important}
body>header .brand-title,body>header .brand{color:#fff7ed!important}body>header .brand-sub,body>header .brand small{color:#d7b98f!important}body>header nav a{color:#eadcc9!important}body>header nav a:hover,body>header nav a.active,body>header nav a.nav-primary{color:var(--shell-accent)!important}
.shell-brand{display:inline-flex!important;align-items:center!important;gap:10px!important;min-width:0!important;max-width:min(390px,calc(100% - 70px))!important;text-decoration:none!important;line-height:1.05!important;flex:0 1 auto!important}
.shell-brand-icon{display:inline-flex!important;align-items:center!important;justify-content:center!important;flex:0 0 auto!important;font-size:29px!important;line-height:1!important}
.shell-brand-copy{display:flex!important;flex-direction:column!important;min-width:0!important}
.shell-brand-copy strong{display:block!important;color:#fff7ed!important;font:clamp(16px,2vw,20px) Georgia,serif!important;white-space:nowrap!important}
.shell-brand-copy small{display:block!important;margin-top:5px!important;color:#d7b98f!important;font:7px Arial,sans-serif!important;letter-spacing:2.4px!important;white-space:nowrap!important}
body>footer{width:100%!important;background:var(--shell-deep)!important;border-top:1px solid var(--shell-line)!important;color:#eadfce!important;padding:32px max(18px,calc((100% - 1100px)/2))!important}body>footer strong{color:#fff5e7!important}body>footer a{color:#e7cda9!important}
@media(max-width:760px){body>header{padding-left:14px!important;padding-right:14px!important}body>footer{padding:24px 14px!important}}

/* Shared search and mobile navigation used across every public page. */
body>header{position:sticky!important;top:0!important;z-index:2200!important}
body>header nav{align-items:center}
body>header>nav:not(.shell-mobile-menu){display:flex!important;align-items:center!important;gap:14px!important;white-space:nowrap!important}
body>header>nav:not(.shell-mobile-menu)>a{display:inline-flex!important;margin:0!important;padding:0!important;text-decoration:none!important}
.shell-search-link{display:inline-flex!important;align-items:center;justify-content:center;gap:7px;min-height:38px;padding:0 14px!important;border:1px solid #d8b47b!important;border-radius:10px!important;background:linear-gradient(180deg,#fff 0%,#fbf6ef 100%)!important;color:#352217!important;text-decoration:none!important;font-weight:700;white-space:nowrap;box-shadow:0 3px 10px rgba(20,10,4,.18),inset 0 1px 0 #fff!important}
.shell-search-link:hover{background:#fff!important;border-color:#edc98e!important;color:#6f4328!important;box-shadow:0 6px 16px rgba(20,10,4,.24),0 0 0 3px rgba(216,180,123,.12)!important;transform:translateY(-1px)}
.shell-search-link:active{transform:translateY(0);box-shadow:0 2px 7px rgba(20,10,4,.17)!important}
.shell-search-link svg{display:block;width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:0 0 auto}
.shell-menu-button,.shell-mobile-menu{display:none}
.shell-menu-button{width:42px;height:42px;align-items:center;justify-content:center;border:1px solid #d2a46e;border-radius:8px;background:#4a3020;color:#ffe4bd;font-size:23px;line-height:1;cursor:pointer}
.shell-mobile-menu{position:absolute;top:calc(100% + 8px);right:14px;width:min(260px,calc(100vw - 28px));padding:8px;background:#3b281b;border:1px solid #795237;border-radius:10px;box-shadow:0 15px 38px #0007;z-index:2300}
.shell-mobile-menu.open{display:block}
.shell-mobile-menu a,.shell-mobile-menu button{display:flex;align-items:center;width:100%;min-height:44px;padding:10px 12px;border:0;border-bottom:1px solid #ffffff18;background:transparent;color:#fff!important;text-decoration:none;text-align:left;font:13px Arial,sans-serif;cursor:pointer}
.shell-mobile-menu a:last-child,.shell-mobile-menu button:last-child{border-bottom:0}
.shell-mobile-menu .shell-search-mobile{margin-bottom:5px!important;border:1px solid #ead6bd!important;border-radius:9px!important;background:#fff!important;color:#352217!important;font-weight:800!important;box-shadow:0 4px 13px #0002!important}
.shell-language-button{display:inline-flex;align-items:center;justify-content:center;min-width:40px;min-height:34px;padding:6px 9px;border:1px solid #d2a46e;border-radius:8px;background:transparent;color:#ffe4bd;font:700 11px Arial,sans-serif;cursor:pointer}
.shell-desktop-logout{display:inline-flex;align-items:center;justify-content:center;min-height:36px;padding:7px 12px;border:1px solid #d2a46e;border-radius:8px;background:transparent;color:#ffe4bd;font:700 11px Arial,sans-serif;cursor:pointer;white-space:nowrap}
.shell-desktop-login,.shell-desktop-register{display:inline-flex;align-items:center;justify-content:center;min-height:36px;padding:7px 12px;border:1px solid #d2a46e;border-radius:8px;background:transparent;color:#ffe4bd;font:700 11px Arial,sans-serif;cursor:pointer;white-space:nowrap}
.shell-desktop-register{background:#d2a46e;color:#302014;border-color:#e6bd89}
.shell-desktop-register:hover{background:#e2b77d}
.shell-mobile-menu .shell-mobile-login{color:#fff!important;font-weight:700!important}
.shell-mobile-menu .shell-mobile-register{margin:6px 0;border:1px solid #d2a46e!important;border-radius:9px;background:#d2a46e!important;color:#302014!important;font-weight:800!important;justify-content:center}
.shell-avatar-shortcut{margin-left:auto;min-height:40px;padding:0 16px;border:1px solid #b77d47;border-radius:10px;background:#fff7eb;color:#6f4328;font:700 12px Arial,sans-serif;cursor:pointer;box-shadow:0 4px 12px rgba(59,34,19,.08)}
.shell-avatar-shortcut:hover{background:#f5e5d1;border-color:#9b6337}
.profile:has(.shell-avatar-shortcut){padding:18px 20px!important;border-bottom:0!important;overflow:hidden}
.profile:has(.shell-avatar-shortcut)>.avatar{flex:0 0 auto;margin:0!important}
.shell-mobile-menu .shell-language-mobile{justify-content:center!important;color:#f5d7ad!important;font-weight:800!important}
.shell-mobile-menu .shell-app-store-mobile{margin-top:6px;border:1px solid rgba(239,194,125,.5)!important;border-radius:9px;background:linear-gradient(135deg,#8a5934,#674027)!important;color:#fff5e7!important;font-weight:800;justify-content:center}
.shell-mobile-menu .shell-mobile-logout{color:#efc27d!important;font-weight:700}
.shell-app-store-footer{display:inline-flex!important;align-items:center;justify-content:center;min-height:40px;margin:0!important;padding:9px 14px;border:1px solid rgba(239,194,125,.55);border-radius:10px;background:linear-gradient(135deg,#7d4d2d,#57331f);color:#fff5e7!important;text-decoration:none!important;font-weight:800;white-space:nowrap;box-shadow:0 5px 16px rgba(0,0,0,.16)}
.shell-app-store-footer:hover{filter:brightness(1.08);color:#fff!important}
@media(max-width:1160px){
  body>header{min-height:72px!important;align-items:center!important;position:sticky!important;padding:10px 14px!important}
  body>header>nav:not(.shell-mobile-menu){display:none!important}
  body.shell-nav-ready>header>.menu-button,
  body.shell-nav-ready>header>.mobile-menu-button,
  body.shell-nav-ready>header>.mobile-menu{display:none!important}
  .shell-menu-button{display:inline-flex!important;position:static!important;inset:auto!important;flex:0 0 44px!important;width:44px!important;height:44px!important;margin:0 0 0 auto!important;transform:none!important}
  .shell-brand{max-width:calc(100% - 62px)!important;margin:0!important;padding:0!important;transform:none!important}
  .shell-brand-icon{font-size:25px!important}
  .shell-brand-copy strong{font-size:16px!important;overflow:hidden!important;text-overflow:ellipsis!important}
  .shell-brand-copy small{font-size:6px!important;letter-spacing:2px!important}
  .shell-mobile-menu{top:calc(100% + 6px)!important;right:14px!important;left:auto!important;transform:none!important}
  .shell-app-store-footer{align-self:stretch;margin:0!important}
}

/* The homepage intentionally has a two-row mobile header with search and member actions. */
body.shell-home-header>header{min-height:64px!important;height:auto!important}
@media(max-width:1160px){
  body.shell-home-header>header{
    min-height:122px!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr) 44px!important;
    grid-template-rows:auto auto!important;
    align-items:center!important;
    gap:9px 8px!important;
    padding:10px 12px!important
  }
  body.shell-home-header>header>.brand{
    grid-column:1!important;grid-row:1!important;
    display:flex!important;align-items:center!important;gap:9px!important;
    width:auto!important;max-width:100%!important;min-width:0!important;
    margin:0!important;padding:0!important;transform:none!important
  }
  body.shell-home-header>header>.brand .brand-icon{flex:0 0 auto!important;font-size:25px!important}
  body.shell-home-header>header>.brand .brand-title{max-width:none!important;font-size:16px!important;overflow:visible!important;text-overflow:clip!important;white-space:nowrap!important}
  body.shell-home-header>header>.brand .brand-sub{display:block!important;font-size:6px!important;letter-spacing:2px!important;white-space:nowrap!important}
  body.shell-home-header>header>.shell-menu-button{
    grid-column:2!important;grid-row:1!important;justify-self:end!important
  }
  body.shell-home-header>header>.header-actions{
    grid-column:1/-1!important;grid-row:2!important;
    display:grid!important;grid-template-columns:minmax(0,1fr) auto auto!important;
    align-items:center!important;gap:6px!important;width:100%!important;min-width:0!important
  }
  body.shell-home-header>header>.header-actions .search-wrap{width:100%!important;min-width:0!important}
  body.shell-home-header>header>.header-actions .search{display:block!important;width:100%!important;min-width:0!important;height:42px!important;background:#fff!important}
  body.shell-home-header>header>.header-actions .member-btn{min-height:42px!important;padding:0 10px!important;white-space:nowrap!important}
  body.shell-home-header>header>.shell-mobile-menu{grid-column:auto!important;grid-row:auto!important}
}
@media(max-width:390px){
  body.shell-home-header>header>.brand .brand-title{font-size:15px!important}
  body.shell-home-header>header>.header-actions .member-btn{padding:0 7px!important;font-size:10px!important}
}

/* 2026 visual refresh: presentation only; document structure and controls stay intact. */
:root{
  --modern-paper:#f6f1e9;
  --modern-paper-soft:#fbf8f3;
  --modern-surface:#fffdf9;
  --modern-ink:#2d2119;
  --modern-muted:#776b61;
  --modern-brown:#6f4328;
  --modern-brown-deep:#2c1b12;
  --modern-gold:#c79555;
  --modern-line:rgba(105,71,45,.18);
  --modern-shadow:0 12px 34px rgba(49,31,20,.08);
  --modern-shadow-soft:0 5px 18px rgba(49,31,20,.055)
}
html{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
body{background:var(--modern-paper)!important;color:var(--modern-ink)!important}
body>header{
  background:linear-gradient(135deg,#352217 0%,#24160f 100%)!important;
  border-bottom-color:rgba(239,194,125,.26)!important;
  box-shadow:0 8px 28px rgba(31,18,11,.13)!important
}
body>header .brand-icon{filter:drop-shadow(0 2px 6px rgba(0,0,0,.18))}
body>header nav a,.shell-search-link,.shell-menu-button,.member-btn,
button,input,select,textarea{transition:border-color .2s ease,background-color .2s ease,color .2s ease,box-shadow .2s ease,opacity .2s ease}
body>header nav a:hover,body>header nav a:focus-visible{text-shadow:0 0 18px rgba(239,194,125,.28)}

input:not([type="checkbox"]):not([type="radio"]),select,textarea{
  background:rgba(255,253,249,.94)!important;
  border-color:var(--modern-line)!important;
  color:var(--modern-ink)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.85),0 2px 8px rgba(55,34,20,.035)
}
input:not([type="checkbox"]):not([type="radio"]):focus,select:focus,textarea:focus{
  outline:none!important;
  border-color:rgba(159,104,57,.62)!important;
  box-shadow:0 0 0 3px rgba(159,104,57,.12)!important
}
button:focus-visible,a:focus-visible{outline:2px solid var(--modern-gold)!important;outline-offset:3px}

.card,.region,.city,.post,.side-card,.composer,.profile,.personal-card,
.map-card,.list-card,.route-card,.settings>.card,.avatar-card,.podium-card,
.ranking-wrap,.site-card,.profile-map-card,.member-box,.detail-main,.detail-sidebar{
  background-color:var(--modern-surface)!important;
  border-color:var(--modern-line)!important;
  box-shadow:var(--modern-shadow-soft)!important
}
.card,.region,.post,.side-card,.composer,.profile,.personal-card,
.map-card,.list-card,.route-card,.settings>.card,.avatar-card,.podium-card,
.ranking-wrap,.site-card,.profile-map-card,.member-box{border-radius:16px!important}
.city{border-radius:12px!important}
.city:hover,.city:focus-visible,.quick:hover,.list-item:hover{
  background-color:#fbf3e7!important;
  border-color:rgba(157,99,50,.34)!important;
  box-shadow:0 8px 22px rgba(73,43,25,.08)!important
}
.podium-card.first,.ranking-table tr.current-user{
  background:linear-gradient(145deg,#fffaf0 0%,#fffdf9 75%)!important;
  border-color:rgba(194,138,70,.42)!important
}
.ranking-table th{background:#eee5d8!important;color:#6f6257!important}
.ranking-table td{border-color:var(--modern-line)!important}

.btn,.button,.primary,.member-submit,.action,.detail-map-btn,.personal-save,
.personal-edit,.personal-avatar-change,.avatar-action,.comment-submit,.pmc-btn,
.engagement-button,.owner-button,.shell-search-link,.member-btn{
  border-radius:10px!important;
  box-shadow:0 3px 10px rgba(63,36,20,.07)
}
.btn:not(.secondary),.button,.primary,.member-submit,.personal-save{
  background:linear-gradient(135deg,#80502f 0%,#63391f 100%)!important;
  border-color:rgba(83,45,24,.65)!important
}
.btn:hover,.button:hover,.primary:hover,.member-submit:hover,.action:hover,
.detail-map-btn:hover,.personal-save:hover,.personal-edit:hover,.avatar-action:hover,
.comment-submit:hover,.pmc-btn:hover,.engagement-button:hover,.owner-button:hover{
  filter:brightness(1.04);box-shadow:0 7px 18px rgba(73,40,21,.13)
}

.search-results,.mobile-menu,.shell-mobile-menu{
  border-color:rgba(199,149,85,.38)!important;
  box-shadow:0 18px 45px rgba(34,19,11,.22)!important;
  backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)
}
.search-results{background:rgba(255,253,249,.98)!important;border-radius:14px!important}
.mobile-menu,.shell-mobile-menu{background:rgba(45,28,18,.97)!important;border-radius:14px!important}
.search-result:hover,.search-result:focus{background:#f5eadc!important}

.badge,.tag,.you-label,.region-count,.eyebrow,.kicker,.community-kicker{
  letter-spacing:.08em
}
.detail-hero,.home-banner,.post-photo,.site-photo,.pmc-photo{box-shadow:var(--modern-shadow)}
.detail-gallery img{border-radius:14px!important;box-shadow:var(--modern-shadow-soft)}
.map-legend{border:1px solid var(--modern-line)!important;border-radius:12px!important;box-shadow:var(--modern-shadow-soft)!important}
body>footer{background:linear-gradient(135deg,#2b1a12 0%,#1f130d 100%)!important;border-top-color:rgba(239,194,125,.22)!important}
.cookie-panel{position:fixed;z-index:99999;left:18px;right:18px;bottom:18px;max-width:900px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:20px 22px;border:1px solid rgba(203,161,106,.45);border-radius:16px;background:rgba(39,24,16,.98);color:#fff;box-shadow:0 18px 55px rgba(0,0,0,.32)}.cookie-panel strong{font-size:1.05rem}.cookie-panel p{margin:6px 0;line-height:1.5;color:#eadfd4}.cookie-panel a{color:#f1c987}.cookie-actions{display:flex;gap:10px;flex-shrink:0}.cookie-actions button,.cookie-settings-link{padding:10px 13px;border:1px solid #c99b62;border-radius:9px;background:transparent;color:#fff;font-weight:750;cursor:pointer}.cookie-actions .cookie-accept{background:#d5a96e;color:#2c1b11}.cookie-settings-link{margin:0;border-color:rgba(255,255,255,.35)}
.shell-footer{display:grid!important;grid-template-columns:minmax(190px,240px) minmax(320px,1fr) auto!important;align-items:start!important;gap:24px 34px!important;flex-direction:initial!important;text-align:left!important}
.shell-footer-brand{display:flex;flex-direction:column;gap:5px;line-height:1.35}.shell-footer-brand strong{font-size:15px}.shell-footer-brand span{color:#cdbdad;font-size:12px}
.shell-legal-footer{display:flex!important;flex-wrap:wrap;justify-content:flex-start;align-content:flex-start;gap:10px 20px;margin:1px 0!important}.shell-legal-footer a{margin:0!important;color:#e7cda9!important;font-size:12px!important;line-height:1.45;white-space:nowrap}
.shell-footer-actions{display:flex;flex-direction:column;align-items:stretch;gap:10px;min-width:190px}.shell-footer-actions .cookie-settings-link{min-height:40px;width:100%}

@media(max-width:760px){
.cookie-panel{align-items:stretch;flex-direction:column}.cookie-actions{display:grid;grid-template-columns:1fr 1fr}.cookie-actions button{white-space:normal}
  .shell-footer{grid-template-columns:1fr!important;gap:22px!important;padding:28px 18px!important}
  .shell-footer-brand{padding-bottom:18px;border-bottom:1px solid rgba(239,194,125,.18)}
  .shell-legal-footer{display:grid!important;grid-template-columns:1fr 1fr;gap:14px 18px!important}
  .shell-legal-footer a{white-space:normal!important}
  .shell-footer-actions{width:100%;min-width:0;display:grid;grid-template-columns:1fr 1fr;gap:10px}
  .shell-app-store-footer,.shell-footer-actions .cookie-settings-link{width:100%!important;min-height:46px!important;text-align:center;white-space:normal!important}
  .card,.region,.post,.side-card,.composer,.profile,.personal-card,
  .map-card,.list-card,.route-card,.settings>.card,.avatar-card,.podium-card,
  .ranking-wrap,.site-card,.profile-map-card,.member-box{border-radius:14px!important}
}
@media(max-width:420px){.shell-footer-actions{grid-template-columns:1fr}.shell-legal-footer{gap:13px 14px!important}}

/* Canonical header metrics: override each legacy page's embedded header rules. */
body>header{
  min-height:72px!important;
  font-family:Arial,Helvetica,sans-serif!important
}
body>header>.shell-brand{
  gap:10px!important;
  width:auto!important;
  max-width:310px!important
}
body>header>.shell-brand .shell-brand-icon{
  width:30px!important;
  font-size:25px!important
}
body>header>.shell-brand .shell-brand-copy strong{
  font:400 20px/1.05 Georgia,serif!important
}
body>header>.shell-brand .shell-brand-copy small{
  font:400 7px/1 Arial,Helvetica,sans-serif!important;
  letter-spacing:2.4px!important
}
body>header>nav:not(.shell-mobile-menu){
  gap:14px!important;
  font:400 13px/1 Arial,Helvetica,sans-serif!important
}
body>header>nav:not(.shell-mobile-menu)>a:not(.shell-search-link){
  min-height:36px!important;
  align-items:center!important;
  font:400 13px/1 Arial,Helvetica,sans-serif!important
}
body>header>nav:not(.shell-mobile-menu)>a.active:not(.shell-search-link){
  font-weight:700!important
}
body>header .shell-search-link,
body>header .shell-desktop-logout,
body>header .shell-desktop-login,
body>header .shell-desktop-register,
body>header .shell-language-button{
  min-height:36px!important;
  height:36px!important;
  box-sizing:border-box!important;
  padding:0 12px!important;
  font:700 13px/1 Arial,Helvetica,sans-serif!important
}
body>header .shell-search-link{
  min-height:38px!important;
  height:38px!important;
  width:54px!important;
  min-width:54px!important;
  padding:0!important;
  transition:transform .18s ease,border-color .18s ease,background .18s ease,color .18s ease,box-shadow .18s ease!important
}
@media(max-width:1160px){
  body>header>.shell-brand{max-width:calc(100% - 62px)!important}
  body>header>.shell-brand .shell-brand-copy strong{font-size:16px!important}
}
@media(max-width:700px){
  .shell-avatar-shortcut{width:100%;margin:14px 0 0;justify-content:center}
  .profile:has(.shell-avatar-shortcut){flex-wrap:wrap;padding:16px!important}
}
.email-verification-box{display:none;margin-top:14px;padding:14px;border:1px solid rgba(138,91,50,.28);border-radius:11px;background:#fff8ef}.email-verification-box.open{display:block}.email-verification-box label{display:block;margin-bottom:9px;color:#5f4634;font-size:12px;font-weight:700}.email-verification-box>div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.email-verification-box input{height:44px;text-align:center;font-size:20px!important;font-weight:800;letter-spacing:6px}.email-verification-box button{min-height:44px;padding:0 16px;border:0;border-radius:8px;background:#754528;color:#fff;font-weight:800;cursor:pointer}.email-verification-box .resend{min-height:auto;margin-top:9px;padding:4px 0;background:transparent;color:#754528;font-size:11px;text-decoration:underline}
.social-sign-in{margin:14px 0 4px}.social-divider{display:flex;align-items:center;gap:10px;margin:12px 0;color:#8a7a6d;font-size:11px}.social-divider:before,.social-divider:after{content:"";height:1px;flex:1;background:#e3d8cc}.social-sign-in #googleSignInButton{display:flex;justify-content:center;min-height:40px}.apple-sign-in-button{display:flex;align-items:center;justify-content:center;gap:9px;width:100%;height:40px;margin-top:9px;border:1px solid #111;border-radius:4px;background:#000;color:#fff;font:600 14px/1 Arial,sans-serif;cursor:pointer}.apple-sign-in-button:hover{background:#202020}.apple-mark{font-size:20px;line-height:1}

/* Apple-inspired UI polish. Existing document flow and component positions stay intact. */
:root{
  --ui-canvas:#f5f5f7;
  --ui-surface:rgba(255,255,255,.88);
  --ui-surface-solid:#fff;
  --ui-ink:#1d1d1f;
  --ui-muted:#6e6e73;
  --ui-separator:rgba(60,60,67,.16);
  --ui-accent:#8a542f;
  --ui-accent-hover:#6f4023;
  --ui-radius:18px;
  --ui-shadow:0 8px 28px rgba(0,0,0,.07),0 1px 2px rgba(0,0,0,.04);
  --ui-shadow-hover:0 14px 38px rgba(0,0,0,.10),0 2px 5px rgba(0,0,0,.05)
}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{background-color:var(--ui-canvas)!important;color:var(--ui-ink);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
body>header{
  background:rgba(49,31,20,.92)!important;
  border-bottom-color:rgba(255,255,255,.12)!important;
  box-shadow:0 1px 0 rgba(255,255,255,.05),0 8px 28px rgba(0,0,0,.10)!important;
  -webkit-backdrop-filter:saturate(180%) blur(20px);
  backdrop-filter:saturate(180%) blur(20px)
}
body>header>nav:not(.shell-mobile-menu)>a,
body>header button{transition:background-color .18s ease,color .18s ease,border-color .18s ease,box-shadow .18s ease,transform .18s ease!important}
body>header>nav:not(.shell-mobile-menu)>a:not(.shell-search-link):hover{transform:translateY(-1px)}
.shell-search-link,.shell-language-button,.shell-desktop-login,.shell-desktop-logout{
  border-color:rgba(255,255,255,.26)!important;
  box-shadow:none!important;
  -webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)
}
.shell-language-button,.shell-desktop-login,.shell-desktop-logout{background:rgba(255,255,255,.06)!important}
.shell-language-button:hover,.shell-desktop-login:hover,.shell-desktop-logout:hover{background:rgba(255,255,255,.13)!important;border-color:rgba(255,255,255,.42)!important}
.shell-desktop-register{border-color:#d8aa71!important;background:linear-gradient(180deg,#e1b57d,#c99155)!important;box-shadow:0 3px 10px rgba(0,0,0,.16)!important}
.shell-desktop-register:hover{background:linear-gradient(180deg,#ebc28d,#d29b5f)!important;transform:translateY(-1px)}
.shell-mobile-menu{background:rgba(45,29,19,.96)!important;border-color:rgba(255,255,255,.16)!important;border-radius:16px!important;box-shadow:0 22px 60px rgba(0,0,0,.32)!important;-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px)}

.card,.region,.post,.side-card,.composer,.profile,.personal-card,.map-card,.list-card,.route-card,
.settings>.card,.avatar-card,.podium-card,.ranking-wrap,.site-card,.profile-map-card,.member-box,
.legal-hero,.legal-content,.media-section,.detail-content,.detail-sidebar>section{
  background:var(--ui-surface)!important;
  border-color:var(--ui-separator)!important;
  box-shadow:var(--ui-shadow)!important;
  border-radius:var(--ui-radius)!important;
  -webkit-backdrop-filter:saturate(130%) blur(16px);backdrop-filter:saturate(130%) blur(16px)
}
.card,.region,.post,.side-card,.composer,.personal-card,.map-card,.list-card,.route-card,
.avatar-card,.podium-card,.site-card{transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease}
@media(hover:hover){
  .card:hover,.region:hover,.post:hover,.side-card:hover,.route-card:hover,.podium-card:hover,.site-card:hover{border-color:rgba(138,84,47,.26)!important;box-shadow:var(--ui-shadow-hover)!important;transform:translateY(-2px)}
}
h1,h2,h3,.detail-title,.site-name{letter-spacing:-.025em;text-wrap:balance}
p,.detail-lead,.site-meta{color:var(--ui-muted)}
input,textarea,select{
  color:var(--ui-ink)!important;background:rgba(255,255,255,.92)!important;
  border-color:var(--ui-separator)!important;border-radius:12px!important;
  box-shadow:inset 0 1px 2px rgba(0,0,0,.025)!important;
  transition:border-color .18s ease,box-shadow .18s ease,background-color .18s ease!important
}
input:hover,textarea:hover,select:hover{border-color:rgba(60,60,67,.28)!important}
input:focus,textarea:focus,select:focus{outline:0!important;border-color:rgba(138,84,47,.58)!important;box-shadow:0 0 0 4px rgba(138,84,47,.12)!important;background:#fff!important}
button,.btn,.action,.member-btn,.detail-map-btn{-webkit-tap-highlight-color:transparent}
.btn,.action,.member-btn,.member-submit,.detail-map-btn,.cookie-actions button,.cookie-settings-link,.shell-avatar-shortcut,
.personal-avatar-change,.personal-save,.personal-cancel{
  border-radius:12px!important;transition:transform .16s ease,box-shadow .18s ease,background-color .18s ease,border-color .18s ease!important
}
@media(hover:hover){.btn:hover,.action:hover,.member-btn:hover,.member-submit:hover,.detail-map-btn:hover,.cookie-actions button:hover,.shell-avatar-shortcut:hover{transform:translateY(-1px);box-shadow:0 7px 18px rgba(0,0,0,.11)!important}}
.btn:active,.action:active,.member-btn:active,.member-submit:active,.detail-map-btn:active,.cookie-actions button:active{transform:scale(.985)!important}
.member-box{background:rgba(255,255,255,.96)!important;box-shadow:0 28px 90px rgba(0,0,0,.28)!important}
#memberModal{background:rgba(0,0,0,.42)!important;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.member-close{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%!important;background:#ededf0!important;color:#636366!important}
.member-close:hover{background:#dedee2!important;color:#1d1d1f!important}
.apple-sign-in-button{height:42px;border-radius:10px!important;box-shadow:0 2px 8px rgba(0,0,0,.12)}
.email-verification-box{border-color:var(--ui-separator);border-radius:14px;background:#f7f7f9}
.cookie-panel{background:rgba(42,27,18,.95)!important;border-color:rgba(255,255,255,.14)!important;border-radius:18px!important;box-shadow:0 24px 70px rgba(0,0,0,.30)!important;-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px)}
body>footer{background:rgba(38,24,16,.97)!important}
:focus-visible{outline:3px solid rgba(197,143,83,.55)!important;outline-offset:3px!important}

@media(max-width:1160px){
  body>header>nav:not(.shell-mobile-menu){gap:9px!important}
  body>header>nav:not(.shell-mobile-menu)>a:not(.shell-search-link){font-size:12px!important}
}
@media(max-width:900px){
  body>header{min-height:64px!important;padding-top:8px!important;padding-bottom:8px!important}
  .shell-menu-button{display:inline-flex!important;border-radius:12px;background:rgba(255,255,255,.08)!important}
  body>header>nav:not(.shell-mobile-menu){display:none!important}
  .shell-mobile-menu.open{display:block!important}
}
@media(max-width:700px){
  :root{--ui-radius:16px;--ui-shadow:0 5px 20px rgba(0,0,0,.065),0 1px 2px rgba(0,0,0,.04)}
  body>header{min-height:60px!important}
  body>header>.shell-brand .shell-brand-copy strong{font-size:15px!important}
  .member-box{width:min(390px,calc(100vw - 24px))!important;max-height:calc(100dvh - 24px);overflow:auto;padding:22px 18px!important}
  input,select,textarea,button{font-size:16px}
  .cookie-panel{border-radius:16px!important}
  .cookie-actions button{min-height:46px}
}
@media(max-width:420px){
  .shell-brand-copy small{letter-spacing:1.8px!important}
  .shell-mobile-menu{right:8px;width:calc(100vw - 16px)}
  .social-sign-in #googleSignInButton{overflow:hidden}
}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}

/* Modern home: a calm editorial hero followed by a contained interactive map. */
.shell-modern-home .home-banner{
  width:min(1180px,calc(100% - 48px))!important;
  min-height:540px!important;
  aspect-ratio:auto!important;
  margin:0 auto!important;
  padding:58px 24px 68px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  overflow:visible!important;
  background:transparent!important;
  box-shadow:none!important
}
.shell-modern-home .home-banner:after,.shell-modern-home .home-banner>img{display:none!important}
.shell-modern-home .home-banner-copy{
  position:relative!important;z-index:1!important;left:auto!important;right:auto!important;top:auto!important;bottom:auto!important;
  width:min(920px,100%)!important;max-width:none!important;margin:0 auto!important;padding:0!important;
  color:var(--ui-ink)!important;text-align:center!important;transform:none!important
}
.shell-home-kicker{display:block;margin-bottom:20px;color:var(--ui-accent);font:700 12px/1.3 Arial,Helvetica,sans-serif;letter-spacing:.15em}
.shell-modern-home .home-banner-copy h1{
  margin:0!important;color:#1d1d1f!important;font:700 clamp(56px,6.4vw,92px)/.98 Arial,Helvetica,sans-serif!important;
  letter-spacing:-.062em!important;text-shadow:none!important;text-wrap:balance
}
.shell-modern-home .home-banner-copy h1 span{color:transparent;background:linear-gradient(90deg,#8c5733,#c28d54 46%,#6f4630);background-clip:text;-webkit-background-clip:text}
.shell-modern-home .home-banner-copy h1 .shell-home-title-line{display:inline-block;white-space:nowrap;color:#1d1d1f;background:none}
.shell-modern-home .home-banner-copy>p{width:min(720px,100%);margin:28px auto 0!important;color:#6e6e73!important;font:400 clamp(17px,1.7vw,21px)/1.5 Arial,Helvetica,sans-serif!important;text-shadow:none!important}
.shell-home-search{width:min(650px,100%);min-height:62px;margin:38px auto 0;padding:7px 7px 7px 20px;display:flex;align-items:center;gap:12px;border:1px solid rgba(60,60,67,.13);border-radius:18px;background:rgba(255,255,255,.94);box-shadow:0 15px 45px rgba(0,0,0,.09),0 1px 2px rgba(0,0,0,.04)}
.shell-home-search svg{width:22px;height:22px;flex:0 0 auto;fill:none;stroke:#8e8e93;stroke-width:1.8;stroke-linecap:round}
.shell-home-search input{height:46px!important;min-width:0;flex:1;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;font:400 16px/1 Arial,Helvetica,sans-serif!important}
.shell-home-search input:focus{box-shadow:none!important}.shell-home-search button{height:48px;padding:0 23px;border:0;border-radius:13px;background:#1d1d1f;color:#fff;font:700 14px/1 Arial,Helvetica,sans-serif;cursor:pointer;transition:transform .16s ease,background .18s ease}
.shell-home-search button:hover{background:#3a3a3c;transform:translateY(-1px)}
.shell-home-links{display:flex;justify-content:center;flex-wrap:wrap;gap:12px 28px;margin-top:24px}.shell-home-links a{color:#8a542f;font:600 15px/1.4 Arial,Helvetica,sans-serif;text-decoration:none}.shell-home-links a:hover{text-decoration:underline}.shell-home-links span{font-size:20px;vertical-align:-1px}
.shell-home-map-section{width:min(1180px,calc(100% - 48px));margin:0 auto 92px}.shell-home-section-heading{width:min(900px,100%);margin:0 auto 34px;text-align:center}.shell-home-section-heading h2{margin:0;color:#1d1d1f;font:700 clamp(38px,4.5vw,64px)/1.04 Arial,Helvetica,sans-serif;letter-spacing:-.05em;white-space:nowrap}.shell-home-section-heading p{margin:19px auto 0;color:#6e6e73;font:400 18px/1.55 Arial,Helvetica,sans-serif}
.shell-home-map-card{position:relative;overflow:hidden;border:1px solid rgba(60,60,67,.13);border-radius:28px;background:#fff;box-shadow:0 24px 65px rgba(0,0,0,.10),0 2px 6px rgba(0,0,0,.04)}
.shell-modern-home .shell-home-map-card>#map{width:100%!important;height:clamp(480px,56vw,650px)!important;min-height:0!important;margin:0!important;border:0!important;border-radius:0!important;box-shadow:none!important}
.shell-modern-home .community{width:min(1180px,calc(100% - 48px))!important;margin-left:auto!important;margin-right:auto!important}
@media(max-width:900px){
  .shell-modern-home .home-banner{min-height:470px!important;padding:48px 18px 58px!important}
  .shell-modern-home .home-banner-copy h1{font-size:clamp(48px,9vw,72px)!important}
  .shell-home-map-section{margin-bottom:70px}.shell-modern-home .shell-home-map-card>#map{height:520px!important}
}
@media(max-width:700px){
  .shell-modern-home .home-banner{width:calc(100% - 28px)!important;min-height:auto!important;padding:34px 4px 52px!important}
  .shell-modern-home .home-banner-copy h1{font-size:clamp(40px,12vw,58px)!important;letter-spacing:-.055em!important}.shell-modern-home .home-banner-copy h1 .shell-home-title-line{white-space:normal}
  .shell-modern-home .home-banner-copy>p{margin-top:22px!important;font-size:17px!important}.shell-home-kicker{font-size:10px;margin-bottom:16px}
  .shell-home-search{min-height:58px;margin-top:30px;padding:6px 6px 6px 16px;border-radius:16px}.shell-home-search button{height:46px;padding:0 17px}
  .shell-home-map-section,.shell-modern-home .community{width:calc(100% - 28px)!important}.shell-home-map-section{margin-bottom:58px}.shell-home-section-heading{margin-bottom:26px}.shell-home-section-heading h2{font-size:clamp(29px,9vw,38px);white-space:normal;text-wrap:balance}.shell-home-section-heading p{font-size:16px}
  .shell-home-map-card{border-radius:22px}.shell-modern-home .shell-home-map-card>#map{height:460px!important}
}
@media(max-width:420px){
  .shell-modern-home .home-banner-copy h1{font-size:39px!important}.shell-home-search{padding-left:14px}.shell-home-search button{padding:0 14px}.shell-home-links{gap:9px 18px}.shell-modern-home .shell-home-map-card>#map{height:410px!important}
}

/* Light glass navigation from the supplied visual reference. */
body>header{
  background:rgba(255,255,255,.82)!important;
  color:#1d1d1f!important;
  border-bottom:1px solid rgba(60,60,67,.12)!important;
  box-shadow:0 1px 0 rgba(255,255,255,.7),0 8px 28px rgba(0,0,0,.055)!important
}
body>header>.shell-brand,.shell-brand-copy strong{color:#1d1d1f!important}
body>header>.shell-brand .shell-brand-copy small{color:#7b6a5d!important}
body>header>nav:not(.shell-mobile-menu)>a:not(.shell-search-link){color:#424245!important}
body>header>nav:not(.shell-mobile-menu)>a.active:not(.shell-search-link){color:#8a542f!important}
.shell-language-button,.shell-desktop-login,.shell-desktop-logout{
  color:#1d1d1f!important;background:rgba(0,0,0,.035)!important;border-color:rgba(60,60,67,.2)!important
}
.shell-language-button:hover,.shell-desktop-login:hover,.shell-desktop-logout:hover{background:rgba(0,0,0,.075)!important;border-color:rgba(60,60,67,.3)!important}
.shell-menu-button{color:#1d1d1f!important;border-color:rgba(60,60,67,.22)!important;background:rgba(0,0,0,.035)!important}
.shell-menu-button[aria-expanded="true"]{border-color:#8a542f!important;background:#8a542f!important;color:#fff!important;box-shadow:0 7px 18px rgba(88,51,29,.2)!important}
.shell-mobile-menu{
  padding:10px!important;
  background:rgba(255,253,249,.98)!important;
  border:1px solid rgba(105,71,45,.18)!important;
  border-radius:18px!important;
  box-shadow:0 22px 60px rgba(49,31,20,.18),0 2px 8px rgba(49,31,20,.06)!important;
  -webkit-backdrop-filter:saturate(170%) blur(24px);backdrop-filter:saturate(170%) blur(24px)
}
.shell-mobile-menu a,.shell-mobile-menu button{
  min-height:46px!important;padding:11px 13px!important;
  border-bottom:1px solid rgba(105,71,45,.10)!important;
  border-radius:10px!important;background:transparent!important;color:#3a3029!important;
  font-family:"SF Pro Text",-apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif!important;
  font-size:14px!important;font-weight:600!important
}
.shell-mobile-menu a:hover,.shell-mobile-menu button:hover{background:#f6eee5!important;color:#764727!important}
.shell-mobile-menu a.active{background:#f3e6d7!important;color:#7b4827!important;font-weight:750!important}
.shell-mobile-menu .shell-mobile-login{margin-top:7px!important;border:1px solid rgba(105,71,45,.18)!important;background:#fff!important;color:#3a3029!important;justify-content:center!important}
.shell-mobile-menu .shell-mobile-register{margin:7px 0 0!important;border:1px solid #c78f54!important;background:linear-gradient(180deg,#e6bd88,#cf965b)!important;color:#312017!important;justify-content:center!important;box-shadow:0 5px 14px rgba(113,68,35,.16)!important}
.shell-mobile-menu .shell-language-mobile{margin-top:7px!important;border:1px solid rgba(105,71,45,.15)!important;background:#f7f3ed!important;color:#6f4328!important;justify-content:center!important}
.shell-mobile-menu .shell-app-store-mobile{margin-top:7px!important;border:1px solid #1d1d1f!important;background:#1d1d1f!important;color:#fff!important;justify-content:center!important;box-shadow:0 5px 14px rgba(0,0,0,.14)!important}
.shell-mobile-menu .shell-mobile-logout{margin-top:7px!important;border:1px solid rgba(154,62,53,.18)!important;background:#fff6f4!important;color:#9a3e35!important;justify-content:center!important}

/* Ancient-sites directory. */
.shell-directory-page>.hero{padding:94px 24px 72px!important;background:transparent!important}
.shell-directory-page>.hero .hero-inner{width:min(1180px,100%)!important;margin:auto!important}
.shell-directory-page>.hero .kicker{margin-bottom:16px!important;font:700 12px/1.3 Arial,Helvetica,sans-serif!important;letter-spacing:.13em!important;color:#8a542f!important}
.shell-directory-page>.hero h1{margin:0!important;max-width:860px;color:#1d1d1f!important;font:700 clamp(52px,7vw,86px)/.98 Arial,Helvetica,sans-serif!important;letter-spacing:-.062em!important}
.shell-directory-page>.hero .lead{max-width:740px!important;margin:25px 0 0!important;color:#6e6e73!important;font:400 18px/1.6 Arial,Helvetica,sans-serif!important}
.shell-directory-page>.hero .search{display:block!important;width:min(700px,100%)!important;height:60px!important;margin:38px 0 0!important;padding:0 20px 0 54px!important;border:1px solid rgba(60,60,67,.13)!important;border-radius:18px!important;background:#fff!important;box-shadow:0 15px 45px rgba(0,0,0,.075)!important;font:400 16px/1 Arial,Helvetica,sans-serif!important;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' viewBox='0 0 24 24' fill='none' stroke='%238e8e93' stroke-width='1.8' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='6.5'/%3E%3Cpath d='m16 16 4 4'/%3E%3C/svg%3E")!important;background-repeat:no-repeat!important;background-position:20px center!important}
.shell-directory-page>.content{width:min(1180px,calc(100% - 48px))!important;margin:auto!important;padding-top:10px!important}
.shell-directory-page .regions{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:18px!important;align-items:start!important}
.shell-directory-page .shell-region-column{display:flex;min-width:0;flex-direction:column;gap:18px}
.shell-directory-page .region{width:100%;margin:0!important;padding:28px!important;border:1px solid rgba(60,60,67,.13)!important;border-radius:26px!important;background:#fff!important;box-shadow:0 10px 35px rgba(0,0,0,.055)!important}
.shell-directory-page .region h2{margin:0 0 5px!important;font:700 28px/1.1 Arial,Helvetica,sans-serif!important;letter-spacing:-.035em!important}
.shell-directory-page .region-count{margin-bottom:20px!important;color:#86868b!important;font-size:12px!important}
.shell-directory-page .city-list{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}
.shell-directory-page .city{min-height:52px!important;padding:13px 14px!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:10px!important;border:1px solid rgba(60,60,67,.12)!important;border-radius:14px!important;background:#fafafa!important;transition:transform .18s ease,box-shadow .18s ease,background .18s ease!important}
.shell-directory-page .city.hidden,.shell-directory-page .region.hidden{display:none!important}
.shell-directory-page .city:hover{background:#fff!important;transform:translateY(-2px);box-shadow:0 8px 22px rgba(0,0,0,.07)!important}.shell-directory-page .city small{color:#8e8e93!important}
.shell-search-direct{width:min(700px,100%);min-height:52px;margin:12px 0 0;padding:0 18px;display:flex;align-items:center;justify-content:space-between;border-radius:15px;background:#1d1d1f;color:#fff!important;text-decoration:none!important;box-shadow:0 10px 28px rgba(0,0,0,.12);font-size:14px!important;font-weight:700;transition:transform .18s ease,background .18s ease,box-shadow .18s ease}
.shell-search-direct[hidden]{display:none!important}.shell-search-direct:hover{background:#363638;transform:translateY(-1px);box-shadow:0 14px 32px rgba(0,0,0,.15)}.shell-search-direct strong{font-size:20px}
.shell-directory-page .seo-directory{width:min(1180px,calc(100% - 48px))!important;border-color:rgba(60,60,67,.13)!important;border-radius:26px!important;box-shadow:0 10px 35px rgba(0,0,0,.055)!important}

/* Route builder, keeping all map and selection behavior intact. */
.shell-route-page>.page{width:min(1180px,calc(100% - 48px))!important;padding:92px 0 100px!important}
.shell-route-page>.page>.hero{margin:0 0 42px!important;text-align:left!important}
.shell-route-page>.page>.hero .eyebrow{margin-bottom:16px!important;font:700 12px/1.3 Arial,Helvetica,sans-serif!important;letter-spacing:.13em!important;color:#8a542f!important}
.shell-route-page>.page>.hero h1{margin:0!important;max-width:900px;font:700 clamp(52px,7vw,84px)/.98 Arial,Helvetica,sans-serif!important;letter-spacing:-.062em!important}
.shell-route-page>.page>.hero p{max-width:760px!important;margin-top:25px!important;color:#6e6e73!important;font:400 18px/1.6 Arial,Helvetica,sans-serif!important}
.shell-route-page .data-note{margin-top:20px!important;padding:8px 12px!important;border-radius:999px!important;background:rgba(138,84,47,.09)!important;color:#8a542f!important}
.shell-route-page .route-layout{grid-template-columns:360px minmax(0,1fr)!important;border-color:rgba(60,60,67,.13)!important;border-radius:28px!important;background:#fff!important;box-shadow:0 18px 55px rgba(0,0,0,.075)!important;overflow:hidden!important}
.shell-route-page .controls{background:#fafafa!important;border-color:rgba(60,60,67,.13)!important}.shell-route-page .controls-head,.shell-route-page .step{padding:25px!important;border-color:rgba(60,60,67,.12)!important}
.shell-route-page .controls-head h2{font:700 27px/1.1 Arial,Helvetica,sans-serif!important;letter-spacing:-.035em!important}.shell-route-page .num{background:#1d1d1f!important;color:#fff!important}.shell-route-page .generate{background:#1d1d1f!important;border-radius:13px!important}.shell-route-page .generate:hover{background:#3a3a3c!important}
.shell-route-page .map-wrap{height:500px!important}.shell-route-page .route-result{padding:34px!important}.shell-route-page .empty strong,.shell-route-page .result-top h2{font-family:Arial,Helvetica,sans-serif!important;font-weight:700!important;letter-spacing:-.035em!important}
.shell-route-page #siteList{
  overflow-y:scroll!important;overscroll-behavior-y:auto!important;-webkit-overflow-scrolling:touch;
  scrollbar-width:auto!important;scrollbar-color:#9b6841 #eee5da!important;padding-right:5px
}
.shell-route-page #siteList::-webkit-scrollbar{display:block!important;width:9px!important}
.shell-route-page #siteList::-webkit-scrollbar-track{background:#eee5da!important;border-radius:999px!important}
.shell-route-page #siteList::-webkit-scrollbar-thumb{background:#9b6841!important;border:2px solid #eee5da!important;border-radius:999px!important;min-height:42px!important}
.shell-route-page .site-option{color:#2d2119!important}
.shell-route-page .site-copy b{color:#2d2119!important}
.shell-route-page .site-copy small,.shell-route-page .summary,.shell-route-page .selected-summary,.shell-route-page .city-meta{color:#71655d!important}
.shell-route-page .site-day{background:#fff!important;color:#2d2119!important;border-color:rgba(105,71,45,.25)!important}
.shell-route-page .day{background:#fff!important;color:#754626!important;border-color:#c7a783!important}
.shell-route-page .day.selected{background:#3a2619!important;color:#fff!important;border-color:#3a2619!important}
.shell-route-list-frame{position:relative}
.shell-route-scroll-rail{position:absolute;z-index:3;top:18px;right:4px;bottom:8px;width:6px;display:none;border-radius:999px;background:#eadfd2;pointer-events:none}
.shell-route-scroll-rail>span{display:block;width:100%;min-height:42px;border-radius:999px;background:#9b6841;box-shadow:0 1px 3px rgba(70,39,21,.2);transform:translateY(0);transition:height .12s ease,transform .08s linear}
.shell-route-scroll-rail.inactive{opacity:.38}
@media(max-width:900px){
  .shell-directory-page>.hero{padding:68px 20px 52px!important}.shell-directory-page>.content{width:calc(100% - 28px)!important}.shell-directory-page .regions{grid-template-columns:1fr!important}
  .shell-route-page>.page{width:calc(100% - 28px)!important;padding:68px 0 72px!important}
  .shell-route-page .route-layout{grid-template-columns:1fr!important;overflow:visible!important;contain:none!important}
  .shell-route-page .controls,.shell-route-page .step,.shell-route-page #siteList,.shell-route-page .site-group,.shell-route-page .site-option,.shell-route-page .site-check,.shell-route-page #siteList input{touch-action:pan-y!important}
  .shell-route-page #siteList{max-height:min(56dvh,520px)!important}
  .shell-route-page #siteList{scrollbar-width:none!important;padding-right:16px!important}
  .shell-route-page #siteList::-webkit-scrollbar{width:0!important;height:0!important}
  .shell-route-scroll-rail{display:block}
  .shell-route-page .map-wrap{height:430px!important;overflow:hidden!important;border-radius:0 0 28px 28px!important}
}
@media(max-width:600px){
  .shell-directory-page>.hero{padding:54px 14px 42px!important}.shell-directory-page>.hero h1,.shell-route-page>.page>.hero h1{font-size:43px!important}.shell-directory-page>.hero .lead,.shell-route-page>.page>.hero p{font-size:16px!important}.shell-directory-page .region{padding:20px!important;border-radius:20px!important}.shell-directory-page .city-list{grid-template-columns:1fr!important}
  .shell-route-page>.page{padding-top:54px!important}.shell-route-page>.page>.hero{margin-bottom:32px!important}.shell-route-page .route-layout{border-radius:20px!important}.shell-route-page .map-wrap{height:360px!important}.shell-route-page .route-result{padding:22px 16px!important}
}

/* Keep the top-three explorers together on compact screens. */
@media(max-width:700px){
  .podium{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:7px!important}
  .podium-card{min-width:0!important;min-height:132px!important;padding:10px 5px!important;border-radius:14px!important}
  .podium-rank{margin-bottom:4px!important;font-size:16px!important}
  .podium-avatar{width:32px!important;height:32px!important;margin-bottom:6px!important;font-size:11px!important}
  .podium-name{width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:10px!important}
  .podium-score{font-size:13px!important;white-space:nowrap}.podium-score small{font-size:7px!important}
  .podium-badges{margin-top:5px!important;font-size:11px!important;letter-spacing:1px!important}
  .podium-card .you-label{display:none!important}
}

/* Unified Apple typography requested for the complete interface. */
html body,html body button,html body input,html body select,html body textarea,
html body h1,html body h2,html body h3,html body h4,html body a,html body p,
html body span,html body strong,html body small,html body label,html body table{
  font-family:"SF Pro Display","SF Pro Text",-apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif!important
}

/* Let the explorer section sit naturally on the same canvas as the home page. */
.shell-modern-home .community{
  background:var(--ui-canvas)!important;
  border:0!important;
  box-shadow:none!important
}
.shell-modern-home .community-inner{width:100%!important}

/* Ranking remains score-based; the sort control is intentionally hidden. */
.ranking-sort{display:none!important}
.ranking-head{justify-content:flex-start!important}


/* Keep map detail cards readable after the global light-card treatment. */
#siteOverlay .site-card{color:#2d2119!important;background:rgba(255,253,249,.98)!important}
#siteOverlay .site-name{color:#2d2119!important}
#siteOverlay .site-place{color:#75685f!important}
#siteOverlay .site-close{color:#766b64!important;background:#f3eee8!important;border:1px solid rgba(105,71,45,.14)!important}
#siteOverlay .site-meta,#siteOverlay .rating,#siteOverlay #cardRating{color:#5f5f63!important}
#siteOverlay .action{
  color:#6f4328!important;background:#fffaf4!important;border:1.5px solid #b9855a!important;
  box-shadow:0 2px 7px rgba(73,40,21,.06)!important;font-weight:650!important
}
#siteOverlay .action:hover,#siteOverlay .action:focus-visible{color:#fff!important;background:#8a542f!important;border-color:#8a542f!important}
#siteOverlay .action.active,#siteOverlay .action.is-active,#siteOverlay .action[aria-pressed="true"]{color:#fff!important;background:#8a542f!important;border-color:#8a542f!important}
@media(max-width:600px){
  #siteOverlay .site-card{border-color:rgba(105,71,45,.2)!important;box-shadow:0 22px 60px rgba(35,24,17,.22)!important}
  #siteOverlay .site-name{font-size:24px!important}
  #siteOverlay .site-place{font-size:15px!important}
  #siteOverlay .action{min-height:52px!important;font-size:16px!important}
}

/* Guest-only account prompt for discovery sharing and route creation. */
.shell-auth-gate{position:fixed;inset:0;z-index:10050;display:none;align-items:center;justify-content:center;padding:20px;background:rgba(29,29,31,.56);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}
.shell-auth-gate.open{display:flex}
.shell-auth-profile[hidden]{display:none!important}
.shell-auth-gate-card{position:relative;width:min(430px,100%);padding:34px;border:1px solid rgba(105,71,45,.16);border-radius:26px;background:#fffdf9;box-shadow:0 28px 80px rgba(30,20,14,.28);text-align:center}
.shell-auth-gate-icon{width:56px;height:56px;margin:0 auto 18px;display:grid;place-items:center;border-radius:18px;background:#f3e6d7;font-size:27px}
.shell-auth-gate-card h2{margin:0;color:#2d2119;font-size:28px;line-height:1.12;letter-spacing:-.035em}
.shell-auth-gate-card p{margin:14px auto 24px;max-width:340px;color:#6e625a!important;font-size:15px;line-height:1.55}
.shell-auth-gate-close{position:absolute;top:14px;right:14px;width:38px;height:38px;border:0;border-radius:50%;background:#f2eee9;color:#6d625b;font-size:24px;line-height:1;cursor:pointer}
.shell-auth-gate-register,.shell-auth-gate-login{width:100%;min-height:50px;border-radius:13px;font-size:15px;font-weight:700;cursor:pointer}
.shell-auth-gate-register{border:1px solid #8a542f;background:#8a542f;color:#fff}
.shell-auth-gate-login{margin-top:10px;border:1px solid rgba(105,71,45,.2);background:#fff;color:#6f4328}
@media(max-width:600px){.shell-auth-gate{align-items:flex-end;padding:12px}.shell-auth-gate-card{padding:30px 20px 22px;border-radius:24px}.shell-auth-gate-card h2{font-size:25px}}

/* Light footer aligned with the current Apple-inspired visual system. */
body>footer.shell-footer{
  padding:48px max(24px,calc((100% - 1180px)/2))!important;
  background:rgba(255,255,255,.76)!important;
  color:#1d1d1f!important;
  border-top:1px solid rgba(60,60,67,.13)!important;
  box-shadow:none!important;
  -webkit-backdrop-filter:saturate(150%) blur(18px);backdrop-filter:saturate(150%) blur(18px)
}
body>footer.shell-footer strong{color:#1d1d1f!important}
body>footer.shell-footer .shell-footer-brand span{color:#6e6e73!important}
body>footer.shell-footer .shell-legal-footer a{color:#5f5f63!important;text-decoration:none!important}
body>footer.shell-footer .shell-legal-footer a:hover{color:#8a542f!important;text-decoration:underline!important}
body>footer.shell-footer .shell-app-store-footer{
  border-color:#1d1d1f!important;background:#1d1d1f!important;color:#fff!important;
  box-shadow:0 4px 14px rgba(0,0,0,.10)!important
}
body>footer.shell-footer .shell-app-store-footer:hover{background:#3a3a3c!important;filter:none!important}
body>footer.shell-footer .cookie-settings-link{
  border-color:rgba(60,60,67,.22)!important;background:rgba(255,255,255,.78)!important;color:#1d1d1f!important
}
body>footer.shell-footer .cookie-settings-link:hover{border-color:rgba(60,60,67,.38)!important;background:#fff!important}
.shell-footer-follow{margin-top:17px}.shell-footer-follow>small{display:block;margin-bottom:8px;color:#626267!important;font-size:10px!important;font-weight:650;letter-spacing:.08em;text-transform:uppercase}
.shell-social-links{display:flex;flex-wrap:wrap;gap:7px}
.shell-social-links a{min-height:34px;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:7px 10px;border:1px solid rgba(60,60,67,.18);border-radius:999px;background:rgba(255,255,255,.78);color:#1d1d1f!important;text-decoration:none!important;font-size:11px!important;font-weight:650}
.shell-social-links a:hover{border-color:rgba(60,60,67,.34);background:#fff;color:#8a542f!important}
.shell-social-links svg{width:16px;height:16px;fill:currentColor;stroke:currentColor;stroke-width:1.7}.shell-social-links svg rect,.shell-social-links svg circle:not(.shell-social-dot){fill:none}.shell-social-links .shell-social-dot{stroke:none}
@media(max-width:760px){
  body>footer.shell-footer{padding:34px 18px!important}
  body>footer.shell-footer .shell-footer-brand{border-bottom-color:rgba(60,60,67,.13)!important}
  .shell-footer-follow{margin-top:15px}.shell-social-links a{min-height:38px;padding:8px 13px}
}
