/* pint. 2.0: geometry is the mascot. Decorative marks do not imply pub features. */
:root {
  --paper:#FFFDF7; --navy:#17171B; --blue:#7557D8; --yellow:#E3F576;
  --red:#FF8175; --pale-blue:#F0E4FF; --soft:#FBF8EF; --muted:#6D6B73;
  --line:#E4DED3; --shadow:4px 4px 0 var(--navy);
  --lavender:#D9BEF7; --lime:#E3F576; --coral:#FF8B79; --sky:#AEDDFF; --mint:#BDF0CE;
  font-family:'Outfit',Arial,sans-serif;
}
body{font-family:'Outfit',Arial,sans-serif;background:var(--navy)}
.app-shell{background:var(--soft)}
button,input,select,textarea{font-family:inherit}
.topbar{background:var(--paper);height:74px;min-height:74px;border-bottom:2px solid var(--navy);padding:0 25px;z-index:7}
.brand{gap:8px}.brand-symbol{height:29px;width:29px;background:var(--lime);border:2px solid var(--navy);border-radius:10px;transform:rotate(-13deg)}
.brand-symbol span{font-size:22px;transform:rotate(13deg);font-weight:900}
.brand-name{color:var(--navy);font-size:38px;line-height:1;letter-spacing:-.07em;font-weight:900}
.red-dot{color:var(--coral)}
.tagline{font:800 12px 'Outfit',Arial,sans-serif;letter-spacing:.02em;color:var(--muted);margin-top:7px}
.community-note{font-size:10px;color:var(--muted);letter-spacing:.04em}.little-circle{background:var(--coral)}
.menu-trigger{width:43px;height:43px;border:2px solid var(--navy);border-radius:14px;background:var(--lime);box-shadow:3px 3px 0 var(--navy)}
.menu-trigger span{background:var(--navy);height:2.5px;border-radius:3px}
.map-area{background:var(--soft)}
.discovery-panel{border:2px solid var(--navy);border-radius:23px;box-shadow:5px 5px 0 var(--navy);background:var(--paper);padding:21px;width:350px}
.panel-topline{font-size:10px;letter-spacing:.055em;font-weight:900}.panel-topline .spark{font-size:17px;color:var(--coral)}
.small-counter{background:var(--lavender);color:var(--navy);border:1px solid var(--navy);font-size:9px;font-weight:900}
.discovery-panel h1{font:900 36px/1 'Outfit',sans-serif;letter-spacing:-1.8px;margin:19px 0 4px}
.discovery-panel h1 em{font-style:normal;color:var(--blue)}
.panel-subtitle{font-size:12px;color:var(--muted)}
.search-box{height:47px;background:#fff;border:2px solid var(--navy);border-radius:18px;box-shadow:none}
.search-icon{font-size:26px;color:var(--navy)}.search-box input{font-size:13px;font-weight:550}
.quick-rail{gap:8px}.filter-chip{border:1.5px solid var(--navy);border-radius:30px;background:var(--paper);min-height:36px;font-size:12px;font-weight:800}
.filter-chip:nth-child(3n + 1){background:#f0e3ff}.filter-chip:nth-child(3n + 2){background:#eeffbf}.filter-chip:nth-child(3n + 3){background:#ffe2dc}
.filter-chip .chip-icon{color:var(--navy);font-weight:900}.filter-chip.active{background:var(--lime);border:2px solid var(--navy);box-shadow:2px 2px 0 var(--navy)}
.panel-bottom{margin-top:13px}.all-filters-button{background:var(--navy);border:2px solid var(--navy);color:var(--paper);border-radius:999px;padding:10px 16px}
.all-filters-button>span:first-child{color:var(--lime)}
.area-selector{background:var(--paper);border:2px solid var(--navy);box-shadow:3px 3px 0 var(--lime);border-radius:14px}
.pin-icon{color:var(--navy)}.map-status{background:var(--paper);border:2px solid var(--navy);box-shadow:3px 3px 0 var(--coral)}
.map-right-controls button{border:2px solid var(--navy);background:var(--paper);color:var(--navy);box-shadow:2px 2px 0 var(--navy)}
.map-right-controls button:first-child{background:var(--lime)}
.results-fab{background:var(--paper);border:2px solid var(--navy);box-shadow:4px 4px 0 var(--navy);border-radius:20px;font-weight:850}
.results-fab-dot{color:var(--coral)}
/* MapLibre attaches an inline geographic transform to .pub-marker. Never override it. */
.pub-marker{position:absolute!important;top:0;left:0;border:0;background:transparent;outline-offset:3px;overflow:visible}
.pub-marker .marker-badge{width:34px;height:34px;min-width:34px;border:2.5px solid var(--navy);box-shadow:2px 3px 0 rgba(23,23,27,.28);display:grid;place-items:center;padding:0;transition:scale .14s ease,background .14s ease}
.pub-marker .marker-glyph{font-family:'Outfit',Arial,sans-serif;font-size:22px;line-height:1;color:var(--navy)!important;font-weight:900}
.pub-marker:hover .marker-badge,.pub-marker.selected .marker-badge{scale:1.22;transform:none;box-shadow:0 0 0 3px #fff,0 0 0 5px var(--navy)}
.pub-marker .marker-label{display:none;position:absolute;top:40px;left:50%;font:bold 11px 'Outfit',sans-serif;padding:6px 9px;border:1.5px solid var(--navy);border-radius:9px;background:var(--paper);box-shadow:2px 2px 0 var(--navy);z-index:3}
.map-area.show-names .pub-marker .marker-label,.pub-marker.selected .marker-label{display:block}
.marker-circle{border-radius:50%}.marker-squircle{border-radius:11px}.marker-rounded{border-radius:13px 5px 13px 5px}.marker-pill{border-radius:999px}.marker-diamond{border-radius:8px;transform:rotate(45deg)}.marker-diamond .marker-glyph{transform:rotate(-45deg)}.marker-box{border-radius:5px}
.pub-marker .marker-badge.tone-lavender{background:var(--lavender)}
.pub-marker .marker-badge.tone-lime{background:var(--lime)}
.pub-marker .marker-badge.tone-coral{background:var(--coral)}
.pub-marker .marker-badge.tone-sky{background:var(--sky)}
.pub-marker .marker-badge.tone-mint{background:var(--mint)}
.pub-marker .marker-badge.tone-yellow{background:#FFEBA7}
.pub-marker .marker-pip{width:9px;height:9px;border:2px solid var(--paper);background:var(--navy)}
.user-location-marker{background:#3665ef;border:3px solid #fff;box-shadow:0 0 0 2px var(--navy)}
/* Mobile app dock */
.bottom-nav{display:none}
.drawer-backdrop,.sheet-backdrop{background:#17171b87}
.app-drawer{background:var(--paper);border:2px solid var(--navy);border-radius:25px;box-shadow:7px 7px 0 var(--navy)}
.drawer-head .eyebrow,.sheet-top .eyebrow{color:var(--navy);font-size:10px;letter-spacing:.11em}
.mini-star{color:var(--coral)}.close-button{border:2px solid var(--navy);background:var(--paper);border-radius:50%}
.close-button:hover{background:var(--lime)}.app-drawer h2{font:900 34px/1.05 'Outfit',sans-serif;letter-spacing:-1px}
.app-drawer h2 em{font-style:normal;color:var(--blue)}
.menu-links button,.menu-links a.admin-menu-link{border:2px solid var(--navy);background:var(--paper);border-radius:17px;box-shadow:2px 2px 0 var(--navy)}
.menu-links button:nth-child(2n),.menu-links a.admin-menu-link{background:#f3e8ff}
.menu-cities .city-choice{font-weight:750}
.primary-button{background:var(--lime);color:var(--navy);border:2px solid var(--navy);box-shadow:3px 3px 0 var(--navy);border-radius:14px}
.filter-drawer-bottom{background:var(--paper)}
.filter-group h3{font-weight:900;color:var(--navy)}
.pub-result{border:2px solid var(--navy);border-radius:18px;background:var(--paper);box-shadow:2px 2px 0 #ded9d0}
.pub-result.selected{background:var(--lavender);border-color:var(--navy)}
.pub-result .arrow{background:var(--lime);border:1.5px solid var(--navy)}
/* Pub sheet: colourful cards and one open category, so it stays very short by default */
.pub-sheet{width:min(440px,calc(100vw - 28px));background:var(--paper);border:2px solid var(--navy);border-radius:25px;box-shadow:7px 7px 0 var(--navy);padding:19px 21px 20px}
.pub-sheet .sheet-top{margin-bottom:13px}
.pub-hero{position:relative;overflow:hidden;border:2px solid var(--navy);border-radius:20px;background:var(--lavender);padding:24px 18px 22px;margin-bottom:12px}
.pub-hero:before{content:'✳';position:absolute;color:var(--coral);font-size:86px;line-height:1;top:-28px;right:-15px;transform:rotate(16deg);opacity:.9}
.pub-hero:after{content:'⌁';position:absolute;font-size:64px;font-weight:900;color:var(--lime);bottom:-28px;right:34px;transform:rotate(-15deg)}
.pub-kicker{font-size:9px;letter-spacing:.1em;font-weight:900;color:var(--navy);position:relative;z-index:1}
.pub-kicker .mini-spark{font-size:16px;color:var(--navy);vertical-align:middle}
.pub-sheet .pub-hero h2{font:900 clamp(27px,6vw,35px)/1 'Outfit',sans-serif;letter-spacing:-1.5px;margin:13px 48px 8px 0;max-width:95%;position:relative;z-index:1}
.pub-hero .address-text{margin:0;color:#34323d;font-size:12px;position:relative;z-index:1;max-width:75%}
.hero-squiggle{font-size:24px;letter-spacing:-8px;font-weight:900;color:var(--navy);display:inline-block;margin-top:10px;transform:rotate(4deg)}
.pub-actions{margin:0 0 16px;gap:7px}.visit-btn,.share-btn{padding:10px 13px;background:var(--paper);border:2px solid var(--navy);font-size:11px;font-weight:900;border-radius:14px}
.visit-btn{background:var(--lime)}.visit-btn.active,.share-btn.saved{background:var(--lavender)}
.confirmed-strip{padding:11px 12px;background:#f2ebff;border-radius:15px;margin-bottom:15px;border:1.5px solid var(--navy)}
.confirmed-title{font-size:11px;font-weight:900}.confirmed-items{display:flex;gap:6px;overflow:auto;margin-top:7px;padding-bottom:2px}
.confirmed-items span{border:1px solid var(--navy);border-radius:999px;padding:6px 9px;white-space:nowrap;background:#fff;font-size:10px;font-weight:800}
.pub-section-intro{display:flex;align-items:end;justify-content:space-between;margin:7px 0 10px;gap:8px}
.pub-section-intro h3{font:900 22px/1 'Outfit',sans-serif;letter-spacing:-.8px;margin:4px 0}
.tiny-label{font-size:9px;font-weight:900;letter-spacing:.13em;color:var(--muted)}
.coral-dot{color:var(--coral)}.intro-star{font-size:23px;color:var(--coral);transform:rotate(14deg)}
.category-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}
.category-card{position:relative;display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;min-height:145px;padding:13px;border:2px solid var(--navy);border-radius:20px;box-shadow:3px 4px 0 var(--navy);color:var(--navy);text-align:left;transition:transform .14s,box-shadow .14s}
.category-card:hover{transform:translateY(-2px)}
.category-card.is-open{box-shadow:0 0 0 var(--navy);transform:translate(3px,4px)}
.category-games{background:var(--lime)}.category-boards{background:var(--lavender)}.category-garden{background:#BDF0CE}.category-events{background:var(--coral)}
.category-art{width:64px;height:64px;align-self:flex-start;display:grid;place-items:center}
.category-art svg{display:block;width:64px;height:64px;color:var(--navy)}
.category-label{font-size:17px;letter-spacing:-.6px;line-height:1;font-weight:900;max-width:90%}
.category-arrow{position:absolute;right:10px;bottom:8px;font-size:22px;font-weight:900;line-height:1}
.category-detail{margin-top:17px;background:#fdfcf7;border:1.5px solid var(--navy);border-radius:20px;padding:14px;box-shadow:3px 3px 0 #dcd7cd}
.category-detail-heading{display:flex;justify-content:space-between;align-items:center;gap:8px;margin:0 0 11px}
.category-detail-heading h4{font-size:22px;letter-spacing:-.8px;font-weight:900;margin:2px 0 0}
.category-detail .text-mini-button{font-size:11px;font-weight:900;color:var(--navy);border:1.5px solid var(--navy);border-radius:999px;padding:6px 9px}
.feature-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
.feature-tile{border:1.5px solid var(--navy);border-radius:13px;min-height:80px;box-shadow:none;background:#fff;padding:7px 5px}
.feature-tile.is-mine{background:var(--lime)!important;box-shadow:2px 2px 0 var(--navy)!important}
.feature-tile.is-confirmed:not(.is-mine){border-color:var(--navy);background:#f2ebff}
.feature-symbol{font-size:23px;color:var(--navy)}.feature-name{font-size:10px;font-weight:850;color:var(--navy)}
.feature-count{background:var(--coral);color:var(--navy);top:3px;right:3px;min-width:16px;height:16px}
.more-games-button{background:var(--lime);color:var(--navy);border:1.5px solid var(--navy)}
.board-shelf-panel,.game-category .board-shelf-panel{background:transparent;border:0;padding:0;margin:0;box-shadow:none}
.board-shelf-head{display:none}
.board-token-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.board-token{padding:10px 8px;min-height:45px;background:#fff;border:1.5px solid var(--navy);border-radius:11px;font-size:11px;box-shadow:none}
.board-token.is-active{background:var(--lime)}.board-token.community-yes:not(.is-active){border-color:var(--blue)}
.board-add-form button{background:var(--lime)}
.category-note,.board-note{font-size:10px;color:var(--muted);line-height:1.45;margin:12px 0 0}
.pub-tap-hint{display:flex;align-items:center;gap:8px;margin:14px 0 4px;font-size:11px;font-weight:700;color:var(--muted)}
.pub-tap-hint span{color:var(--blue);font-size:20px}
.flag-link{margin:20px 0 0;font-size:11px}.sheet-footnote{font-size:10px;margin:15px 0;color:var(--muted)}
.profile-avatar{background:var(--lavender);border:2px solid var(--navy);border-radius:16px;box-shadow:3px 3px 0 var(--navy)}
.profile-hero h2,.profile-section h3{font:900 24px/1.1 'Outfit',sans-serif;letter-spacing:-.7px}
.profile-stats>div{background:var(--lime);border:2px solid var(--navy);border-radius:15px}
.profile-stats>div:nth-child(2){background:var(--lavender)}.profile-stats>div:nth-child(3){background:var(--coral)}
.profile-stats strong{font:900 29px 'Outfit',sans-serif}
.profile-badge.earned{background:var(--lime);border:1.5px solid var(--navy)}
.profile-edit button{background:var(--lime)}
.login-modal{border:2px solid var(--navy);box-shadow:7px 7px 0 var(--lime);border-radius:25px;background:var(--paper)}
.login-doodle{color:var(--coral);text-shadow:none}.login-modal h2{font:900 35px/1.05 'Outfit',sans-serif;letter-spacing:-1.5px}
.login-modal h2 em{font-style:normal;color:var(--blue)}
.login-modal input{border:2px solid var(--navy);border-radius:13px}
.toast{background:var(--navy);color:white;border:1px solid var(--lime);box-shadow:3px 3px 0 var(--lime)}
@media(max-width:770px){
  .topbar{height:62px;min-height:62px;padding:0 17px;background:var(--paper)}
  .brand-name{font-size:35px}.brand-symbol{height:24px;width:24px;border-radius:8px}.brand-symbol span{font-size:18px}
  .tagline,.community-note{display:none}.menu-trigger{height:39px;width:41px;border-radius:12px}
  .discovery-panel{top:12px;left:13px;right:13px;width:auto;border:2px solid var(--navy);border-radius:20px;padding:12px 13px 11px;box-shadow:4px 4px 0 var(--navy)}
  .panel-topline{margin-bottom:7px;font-size:9px}.discovery-panel h1,.panel-subtitle{display:none}
  .search-box{height:42px;border-radius:14px}.search-box input{font-size:12px}
  .quick-rail{margin-top:9px;padding-bottom:3px;gap:7px}.filter-chip{min-height:34px;padding:6px 12px;font-size:11px}
  .panel-bottom{margin-top:6px}.all-filters-button{padding:7px 12px;font-size:11px}
  .map-right-controls{top:218px;right:13px}.map-right-controls button{height:39px;width:39px}
  .map-status{top:220px;left:13px;right:62px;padding:9px 12px;font-size:11px}
  .results-fab{bottom:calc(93px + env(safe-area-inset-bottom));padding:10px 15px;border-radius:18px;max-width:calc(100vw - 26px)}
  .map-footer{display:none}
  .bottom-nav{position:absolute;bottom:0;left:0;right:0;z-index:6;display:flex;align-items:stretch;justify-content:space-around;gap:5px;background:var(--paper);border-top:2px solid var(--navy);padding:7px 15px calc(7px + env(safe-area-inset-bottom));height:calc(69px + env(safe-area-inset-bottom))}
  .nav-item{min-width:75px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;border:0;border-radius:16px;background:transparent;color:var(--navy);font-weight:850;font-size:10px}
  .nav-item.active .nav-icon{background:var(--lime);border-radius:13px}
  .nav-icon{display:grid;place-items:center;width:40px;height:30px;font-weight:900;font-size:22px;line-height:1}
  .app-drawer{max-height:min(86dvh,800px);padding:19px 17px calc(23px + env(safe-area-inset-bottom));border-radius:25px 25px 0 0;border-bottom:0;box-shadow:0 -5px 0 var(--navy)}
  .drawer-backdrop,.sheet-backdrop{inset:62px 0 0}
  .pub-sheet{width:100%;max-width:100%;max-height:min(86dvh,850px);top:auto;left:0;right:0;bottom:0;padding:16px 16px calc(26px + env(safe-area-inset-bottom));border:0;border-top:2px solid var(--navy);border-radius:27px 27px 0 0;box-shadow:0 -5px 0 var(--navy)}
  .pub-sheet .sheet-top{margin-bottom:11px}.pub-hero{padding:18px 16px 15px;border-radius:17px}
  .pub-sheet .pub-hero h2{font-size:clamp(28px,8vw,36px);margin:9px 33px 8px 0}
  .category-card{min-height:132px;border-radius:17px;padding:12px}
  .category-art,.category-art svg{width:58px;height:58px}.category-label{font-size:16px}
  .board-token-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:390px){
  .category-card{min-height:116px}.category-art,.category-art svg{width:48px;height:48px}.category-label{font-size:14px}
  .map-right-controls{top:210px}.map-status{top:211px}
}
@media(prefers-reduced-motion:reduce){.category-card,.pub-marker .marker-badge{transition:none}}


/* v2.1 — search is secondary; game filters remain in view. */
.panel-topline-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}
.search-toggle{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:32px;padding:5px 9px;border:2px solid var(--navy);border-radius:99px;background:var(--lime);color:var(--navy);font-weight:850;font-size:11px;letter-spacing:0;line-height:1}
.search-toggle:hover,.search-toggle[aria-expanded="true"]{background:var(--lavender)}
.search-toggle.has-query{box-shadow:0 0 0 2px var(--coral)}
.search-reveal{max-height:0;opacity:0;visibility:hidden;overflow:hidden;pointer-events:none;margin-top:0;transition:max-height .24s ease,opacity .18s ease,margin-top .24s ease,visibility 0s linear .24s}
.search-reveal.is-open{max-height:72px;opacity:1;visibility:visible;pointer-events:auto;margin-top:12px;transition:max-height .24s ease,opacity .18s ease,margin-top .24s ease,visibility 0s}
.search-reveal .search-box{width:100%}
@media(max-width:770px){
  .panel-topline{margin-bottom:2px}
  .panel-topline>span:first-child{white-space:nowrap}
  .panel-topline-actions{gap:6px}
  .search-toggle{width:35px;height:32px;min-height:32px;padding:4px}
  .search-toggle span{display:none}
  .search-reveal.is-open{margin-top:9px}
  .quick-rail{margin-top:10px}
  .map-right-controls{top:168px}
  .map-status{top:170px}
  .search-open .map-right-controls{top:216px}
  .search-open .map-status{top:218px}
}
@media(max-width:390px){
  .panel-topline>span:first-child{font-size:8px;letter-spacing:0}
  .small-counter{font-size:8px;padding:5px 6px}
  .map-right-controls{top:161px}
  .map-status{top:162px}
  .search-open .map-right-controls{top:211px}
  .search-open .map-status{top:212px}
}
@media(prefers-reduced-motion:reduce){.search-reveal{transition:none}.search-reveal.is-open{transition:none}}

/* v2.2: globe introduction; local view remains a simple roads-only map. */
.map-area.is-globe-view #map{background:#f0ebfc}
.map-area.is-globe-view .results-fab{opacity:.82}


/* v2.3 — unreported pubs stay neutral; community-confirmed ones keep their shape colour. */
.pub-marker.is-unreported .marker-badge,
.pub-marker.is-unreported .marker-badge.tone-lavender,
.pub-marker.is-unreported .marker-badge.tone-lime,
.pub-marker.is-unreported .marker-badge.tone-coral,
.pub-marker.is-unreported .marker-badge.tone-sky,
.pub-marker.is-unreported .marker-badge.tone-mint,
.pub-marker.is-unreported .marker-badge.tone-yellow {
  background:#DBDAD7; border-color:#77767A; box-shadow:1px 2px 0 #9A9997;
  opacity:.83;
}
.pub-marker.is-unreported .marker-glyph {color:#7A797B!important}
.pub-marker.is-unreported.selected .marker-badge {box-shadow:0 0 0 3px #fff,0 0 0 5px var(--navy)}
/* Compact opt-in times/date/price: no persistent form unless a night is selected. */
.event-extras{margin-top:14px;display:grid;gap:10px}
.event-entries{display:grid;gap:6px;padding:12px;background:#FFFDF7;border:1px solid var(--line);border-radius:15px}
.event-entry{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:5px 10px;border-top:1px solid var(--line);padding:8px 0 1px;font-size:12px}
.event-entry-name{font-weight:800}.event-entry-details{color:var(--navy);font-weight:600}
.event-edit-actions{display:flex;gap:7px;flex-wrap:wrap}
.event-edit-trigger{border:1.5px solid var(--navy);background:var(--paper);border-radius:18px;padding:8px 11px;font-size:11px;font-weight:850}
.event-edit-trigger:hover{background:var(--lime)}
.event-details-form{border:2px solid var(--navy);background:#F1E6FF;border-radius:17px;padding:13px;display:grid;gap:10px}
.event-form-head,.event-form-actions{display:flex;align-items:center;justify-content:space-between;gap:9px}
.event-form-head strong{font-size:13px}
.event-form-head button{border:1px solid var(--navy);border-radius:50%;background:#fff;width:27px;height:27px;font-size:19px}
.event-field-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
.event-field-grid label{display:grid;gap:5px;font-size:10px;font-weight:850}
.event-field-grid input{width:100%;min-width:0;padding:9px 5px;border:1.5px solid var(--navy);border-radius:10px;background:#fff;font-size:12px;color:var(--navy)}
.event-form-actions .primary-button{width:auto;min-width:0;font-size:11px;padding:10px 12px;border-radius:12px}
.event-clear{border:0;background:transparent;color:var(--navy);text-decoration:underline;font-size:11px;font-weight:700}
.event-footnote{font-size:10px;color:var(--muted);line-height:1.45;margin:0}
@media(max-width:380px){.event-field-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.event-field-grid label:last-child{grid-column:span 2}}

/* v2.4: compact hours and Maps info button */
.opening-hours-line{font-size:11px;font-weight:750;color:#494553;line-height:1.35;position:relative;z-index:1;max-width:92%;margin-top:5px;overflow-wrap:anywhere}
.opening-hours-line span{color:var(--navy);margin-right:3px}
.pub-actions .pub-info-link{display:inline-flex;justify-content:center;align-items:center;gap:5px;text-decoration:none;white-space:nowrap;background:var(--lime);font-size:12px;flex:0 0 auto}
.pub-actions .pub-info-link:hover{filter:brightness(.96)}
.event-field-weekly select{width:100%;min-width:0;padding:9px 5px;border:1.5px solid var(--navy);border-radius:10px;background:#fff;font-size:12px;color:var(--navy)}
@media(max-width:400px){.pub-actions .pub-info-link span{display:none}.pub-actions .pub-info-link{min-width:39px}}


/* v2.5 — visible public weekly schedules inside the Pub nights category */

.weekly-nights{display:grid;gap:9px;padding:12px;border:1.5px solid var(--navy);border-radius:17px;background:#fffdf8;box-shadow:3px 3px 0 rgba(20,20,22,.09)}
.weekly-nights-head{display:flex;justify-content:space-between;gap:8px;align-items:baseline;flex-wrap:wrap}
.weekly-nights-head strong{font-size:13px;font-weight:900;letter-spacing:-.15px}
.weekly-nights-head strong span{color:var(--coral);margin-right:4px}
.weekly-nights-head small{font-size:9px;font-weight:900;color:var(--muted);letter-spacing:.07em}
.weekly-night-list{display:grid;gap:7px}
.weekly-night{display:grid;grid-template-columns:33px minmax(95px,1fr) auto;column-gap:10px;row-gap:2px;align-items:center;background:#fff5f2;border:1px solid #e8ceca;border-radius:13px;padding:10px}
.weekly-night-icon{width:32px;height:32px;display:grid;place-items:center;border-radius:10px;background:var(--coral);border:1px solid var(--navy);font-size:21px;font-weight:900}
.weekly-night-main{display:grid;gap:3px;min-width:0}
.weekly-night-main strong{font-size:12px;line-height:1.15}
.weekly-night-main>span{font-size:12px;color:var(--navy);font-weight:800}
.weekly-night-meta{display:flex;justify-content:flex-end;align-items:center;gap:5px;flex-wrap:wrap;max-width:155px}
.weekly-night-meta span{padding:5px 7px;border:1px solid var(--navy);background:#fffdf8;border-radius:10px;font-size:10px;font-weight:850;white-space:nowrap}
.weekly-night-confirmations{grid-column:2 / -1;font-size:9px;color:var(--muted)}
.weekly-retry{border:0;background:transparent;padding:1px;color:var(--blue);text-decoration:underline;font-size:11px;font-weight:850}
@media(max-width:420px){.weekly-night{grid-template-columns:29px 1fr auto;gap:7px;padding:8px}.weekly-night-icon{width:29px;height:29px;font-size:18px}.weekly-night-meta{max-width:118px}.weekly-night-meta span{padding:4px 5px;font-size:10px}}

@media(max-width:380px){.weekly-night{grid-template-columns:29px minmax(0,1fr)}.weekly-night-meta{grid-column:2;max-width:none;justify-content:flex-start}}


/* v2.6 — information-first pub view: player-confirmed features lead the page. */
.pub-showcase{background:var(--paper);border:2px solid var(--navy);border-radius:21px;box-shadow:4px 5px 0 var(--navy);padding:15px;margin:6px 0 20px;overflow:hidden}
.showcase-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:10px;margin-bottom:14px}
.showcase-kicker{font-size:10px;letter-spacing:.08em;font-weight:900;color:#53515A;line-height:1.4}
.showcase-kicker>span{font-size:19px;color:var(--coral);line-height:0;vertical-align:-2px;margin-right:3px}
.showcase-heading h3{font:900 27px/1.02 'Outfit',sans-serif;letter-spacing:-1.15px;margin:7px 0 0;color:var(--navy)}
.showcase-count{flex-shrink:0;background:var(--lime);border:1.5px solid var(--navy);border-radius:50px;padding:6px 9px;font-size:10px;font-weight:900;white-space:nowrap}
.showcase-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.showcase-item{position:relative;display:flex;align-items:center;gap:9px;text-align:left;min-width:0;min-height:91px;padding:11px 9px;border:1.8px solid var(--navy);border-radius:14px;color:var(--navy);transition:transform .14s ease,box-shadow .14s ease;cursor:pointer}
.showcase-item:hover{transform:translateY(-2px);box-shadow:2px 3px 0 var(--navy)}
.showcase-item:focus-visible{outline:3px solid var(--blue);outline-offset:2px}
.showcase-games{background:var(--lime)}
.showcase-boards{background:var(--lavender)}
.showcase-events{background:var(--coral)}
.showcase-garden{background:var(--mint,#BDF0CE)}
.showcase-symbol{font-size:34px;line-height:1;display:grid;place-items:center;min-width:35px;max-width:40px;font-weight:900}
.showcase-copy{display:flex;flex-direction:column;min-width:0;gap:3px;padding-right:2px;line-height:1.08}
.showcase-type{font-size:8px;letter-spacing:.06em;font-weight:900;opacity:.72}
.showcase-copy strong{font-size:14px;font-weight:900;line-height:1.1;overflow-wrap:anywhere}
.showcase-copy small{font-size:10px;line-height:1.2;font-weight:700;color:#33313C;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.showcase-arrow{position:absolute;right:6px;top:5px;font-size:13px;font-weight:900;line-height:1}
.showcase-more{margin-top:10px;width:100%;padding:9px;background:transparent;border:1.5px solid var(--navy);border-radius:12px;font-weight:900;font-size:12px}
.showcase-empty{background:#F3EDF9;border:1.5px dashed #B3A6B9;border-radius:14px;padding:15px 12px;display:flex;align-items:center;gap:10px}
.showcase-empty-icon{font-size:35px;color:var(--coral);line-height:1}
.showcase-empty>div{flex:1}
.showcase-empty strong{font-size:14px;font-weight:900}
.showcase-empty p{font-size:11px;line-height:1.35;color:#4D4857;margin:5px 0 0}
.showcase-retry{border:1.5px solid var(--navy);border-radius:12px;padding:7px 9px;background:var(--lime);font-size:11px;font-weight:900}
.showcase-footer{display:flex;align-items:center;gap:5px;margin-top:11px;font-size:10px;color:#67616E;font-weight:700}
.showcase-trust{background:var(--navy);color:white;border-radius:50%;font-size:9px;width:14px;height:14px;display:grid;place-items:center}
/* Actions and update controls are deliberately secondary to the confirmed facts. */
.pub-actions{margin:0 0 22px;gap:6px}
.pub-actions .visit-btn,.pub-actions .share-btn{font-size:10px;padding:9px 10px;box-shadow:none}
.pub-section-secondary{border-top:1.5px solid #DFD9D8;padding-top:18px;margin:8px 0 10px}
.pub-section-secondary h3{font-size:19px;color:#37333D;letter-spacing:-.6px}
.pub-section-secondary .tiny-label{color:#706A71}
.pub-section-secondary .intro-star{font-size:17px}
.category-card{min-height:112px;border-radius:17px;box-shadow:2px 3px 0 var(--navy)}
.category-art,.category-art svg{width:43px;height:43px}
.category-label{font-size:15px}
.pub-tap-hint{font-size:11px}
@media(max-width:770px){
 .pub-showcase{padding:13px;border-radius:19px;margin:4px 0 18px;box-shadow:3px 4px 0 var(--navy)}
 .showcase-heading h3{font-size:25px}
 .showcase-item{min-height:83px;padding:10px 7px;gap:7px}
 .showcase-symbol{font-size:30px;min-width:32px}
 .showcase-copy strong{font-size:13px}
 .category-card{min-height:102px;padding:10px;border-radius:15px}
 .category-art,.category-art svg{width:43px;height:43px}
 .category-label{font-size:14px}
}
@media(max-width:375px){
 .showcase-item{gap:5px;padding:9px 6px}
 .showcase-symbol{font-size:27px;min-width:28px}
 .showcase-copy strong{font-size:12px}
 .showcase-heading h3{font-size:23px}
 .showcase-count{font-size:9px}
}
@media(prefers-reduced-motion:reduce){.showcase-item{transition:none}}


/* v2.7 — optional, calm support message. Geometric brand marks, never a mascot. */
.menu-links a.support-menu-link {display:flex;align-items:center;gap:12px;background:#E3F576;border:2px solid var(--navy);border-radius:17px;padding:13px;text-decoration:none;font-size:13px;font-weight:850;box-shadow:2px 2px 0 var(--navy)}
.menu-links a.support-menu-link b{margin-left:auto}
.menu-links a.support-menu-link:hover{transform:translateY(-1px)}
.profile-support-link{display:flex;justify-content:space-between;align-items:center;width:100%;padding:13px 16px;border:2px solid var(--navy);background:var(--lime);border-radius:14px;color:var(--navy);font-weight:900;text-decoration:none;box-shadow:3px 3px 0 var(--navy)}
.support-backdrop{position:fixed;inset:0;z-index:50;display:grid;place-items:center;padding:18px;background:rgba(17,17,20,.77);overflow-y:auto}
.support-backdrop[hidden]{display:none!important}
.support-dialog{position:relative;width:min(410px,100%);padding:25px 23px 19px;background:var(--paper);border:2.5px solid var(--navy);border-radius:26px;box-shadow:7px 8px 0 var(--lavender);color:var(--navy);margin:auto;text-align:left;outline:none}
.support-close{position:absolute;right:15px;top:15px;border:2px solid var(--navy);border-radius:50%;background:var(--paper);height:32px;width:32px;font-size:22px;display:grid;place-items:center;z-index:1;line-height:1}
.support-shapes{display:flex;align-items:center;gap:9px;min-height:64px;margin:4px 0 16px;user-select:none}
.support-shapes span:first-child{display:grid;place-items:center;width:60px;height:60px;border:2px solid var(--navy);border-radius:19px;background:var(--lime);font-size:40px;transform:rotate(-12deg)}
.support-shapes span:nth-child(2){font-size:43px;color:var(--coral);transform:rotate(15deg)}
.support-shapes span:nth-child(3){font-size:42px;color:var(--blue);font-weight:900;transform:rotate(-17deg)}
.support-eyebrow{font-size:10px;font-weight:900;letter-spacing:.11em;color:#51485D}
.support-dialog h2{font:900 clamp(30px,7vw,37px)/1.06 'Outfit',Arial,sans-serif;letter-spacing:-1.35px;margin:12px 0 13px}
.support-dialog p{font-size:14px;line-height:1.5;color:#35343A;margin:0 0 17px}
.support-primary{display:flex;align-items:center;justify-content:space-between;gap:12px;background:var(--lime);border:2px solid var(--navy);border-radius:17px;box-shadow:3px 4px 0 var(--navy);padding:15px 17px;margin:20px 0 16px;color:var(--navy);text-decoration:none;font-size:16px;font-weight:900}
.support-primary:hover{background:#ecff89}
.support-choices{display:flex;justify-content:space-between;align-items:center;gap:10px}
.support-choices button{border:0;background:transparent;padding:10px 3px;font-size:12px;font-weight:850;text-decoration:underline;text-underline-offset:3px}
.support-choices button:last-child{color:#68646b}
.support-dialog .support-small{font-size:10px;line-height:1.35;color:#706E75;margin:9px 0 0;text-align:center}
@media(max-width:390px){.support-dialog{padding:23px 17px 16px}.support-dialog p{font-size:13px}}
@media(prefers-reduced-motion:reduce){.support-primary,.support-shapes span{transition:none}}

/* v2.9: custom hand-cut tapl. wordmark; punctuation is the eight ball. */
.brand { gap:0; flex-shrink:0; }
.brand-wordmark { display:block; width:120px; height:auto; max-height:53px; object-fit:contain; }
@media(max-width:770px) { .brand-wordmark { width:105px; max-height:47px; } }
