@font-face{font-family:Cherry Bomb One;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/cherry-bomb-one-latin.woff2) format("woff2")}@font-face{font-family:Inter;font-style:normal;font-weight:400 800;font-display:swap;src:url(/fonts/inter-latin.woff2) format("woff2")}:root{--cream: #fff7e8;--paper: #fffdf8;--ink: #1f1433;--ink-soft: #4b3a63;--muted: #7d6b8a;--line: rgba(31, 20, 51, .14);--wine: #d81f4d;--wine-deep: #9e1239;--amber: #ffb703;--teal: #00a896;--teal-deep: #007a6e;--lime: #c9f25b;--lilac: #cbb8ff;--sky: #7bdff2;--orange: #f26b21;--sun: #ffd166;--font-display: "Cherry Bomb One", "Arial Rounded MT Bold", "Trebuchet MS", sans-serif;--font-body: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--radius-lg: 26px;--radius-md: 18px;--shadow-soft: 5px 5px 0 rgba(31, 20, 51, .1), 0 24px 50px -34px rgba(31, 20, 51, .38);--shadow-pop: 5px 5px 0 var(--ink);--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--space-7: 48px;--space-8: 64px}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background-color:var(--cream);background-image:radial-gradient(circle at 10% 12%,rgba(255,183,3,.22) 0 3px,transparent 3.5px),radial-gradient(circle at 88% 8%,rgba(216,31,77,.16) 0 4px,transparent 4.5px),radial-gradient(circle at 75% 78%,rgba(0,168,150,.14) 0 3px,transparent 3.5px),radial-gradient(900px 520px at 88% -12%,rgba(255,183,3,.2),transparent 65%),radial-gradient(760px 460px at -5% 8%,rgba(0,168,150,.12),transparent 70%);background-size:46px 46px,64px 64px,54px 54px,auto,auto;background-attachment:fixed;color:var(--ink);font-family:var(--font-body);font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}h1,h2,h3{font-family:var(--font-display);font-weight:400;letter-spacing:.01em;line-height:1.05;text-wrap:balance}a{color:inherit;text-decoration:none}button,input,select{font:inherit;color:inherit}img,svg{display:block}::selection{background:#6d1f332e}:focus-visible{outline:2px solid var(--wine);outline-offset:3px}.app-shell{display:flex;flex-direction:column;min-height:100vh}main{flex:1}.container{width:min(1180px,calc(100% - 48px));margin-inline:auto}.muted{color:var(--muted)}.site-header{position:sticky;top:0;z-index:50;background:#faf4e9d6;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;height:72px}.logo{display:inline-flex;align-items:baseline;gap:4px;line-height:1}.logo-mark{display:inline-block;font-family:var(--font-display);font-size:2rem;font-weight:400;color:var(--wine);line-height:1;text-shadow:2px 2px 0 var(--sun);transform:rotate(-6deg)}.logo-word{font-family:var(--font-display);font-size:1.15rem;font-weight:400;letter-spacing:.01em}.main-nav{display:flex;gap:30px;font-size:.92rem;color:var(--ink-soft)}.main-nav a{position:relative;padding:6px 0}.main-nav a:after{content:"";position:absolute;left:0;right:0;bottom:0;height:1.5px;background:var(--wine);transform:scaleX(0);transform-origin:left;transition:transform .22s ease}.main-nav a:hover{color:var(--wine)}.main-nav a:hover:after{transform:scaleX(1)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 20px;border-radius:999px;border:1px solid transparent;font-size:.9rem;font-weight:600;cursor:pointer;transition:background .2s ease,color .2s ease,border-color .2s ease,transform .2s ease}.btn-primary{background:var(--wine);color:#fff7ef}.btn-primary:hover{background:var(--wine-deep);transform:translateY(-1px)}.btn-ghost{border-color:var(--line);background:#ffffff80;color:var(--ink-soft)}.btn-ghost:hover{border-color:var(--wine);color:var(--wine)}.btn-block{width:100%}.btn-visited{border:1px solid var(--line);background:transparent;color:var(--ink-soft)}.btn-visited:hover{border-color:var(--teal);color:var(--teal)}.btn-visited.is-visited{border-color:#2c6b5f59;background:#2c6b5f1a;color:var(--teal)}.hero{position:relative;overflow:hidden;padding:74px 0 58px}.hero-grid{display:grid;grid-template-columns:1.12fr .88fr;gap:48px;align-items:center}.eyebrow{display:flex;align-items:center;gap:8px;margin:0 0 18px;color:var(--wine);font-size:.72rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase}.eyebrow-dot{width:7px;height:7px;border-radius:50%;background:var(--amber);box-shadow:0 0 0 4px #c96f3826;flex-shrink:0}.eyebrow-sep{opacity:.45}.hero h1{margin:0 0 24px;font-size:clamp(3rem,6.2vw,5.3rem);font-weight:600;letter-spacing:-.035em;line-height:.98}.hero h1 em{color:var(--wine);font-style:italic;font-weight:500}.hero-lead{max-width:34rem;margin:0 0 30px;color:var(--ink-soft);font-size:1.08rem;line-height:1.6}.search-box{display:flex;align-items:center;gap:12px;width:100%;max-width:34rem;padding:6px 10px 6px 20px;background:var(--paper);border:1px solid var(--line);border-radius:999px;box-shadow:0 16px 40px -28px #37191280;transition:border-color .2s ease,box-shadow .2s ease}.search-box:focus-within{border-color:#6d1f3373;box-shadow:0 0 0 4px #6d1f3314}.search-icon{width:20px;height:20px;color:var(--muted);flex-shrink:0}.search-box input{flex:1;min-width:0;padding:14px 0;border:0;outline:none;background:transparent;font-size:1rem}.search-box input::-webkit-search-cancel-button{display:none}.search-box input::placeholder{color:#a29489}.search-clear{display:grid;place-items:center;width:32px;height:32px;border:0;border-radius:50%;background:var(--cream);color:var(--ink-soft);font-size:1.15rem;line-height:1;cursor:pointer;transition:background .2s ease}.search-clear:hover{background:#efe3d2}.search-feedback{display:none}.hero-stats{display:flex;flex-wrap:wrap;gap:36px;margin-top:38px}.hero-stats div{display:flex;flex-direction:column;gap:3px}.hero-stats strong{font-family:var(--font-display);font-size:1.7rem;font-weight:600;line-height:1}.hero-stats span{color:var(--muted);font-size:.7rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase}.hero-art{position:relative;height:470px;isolation:isolate}.art-card{position:absolute;z-index:1;display:flex;flex-direction:column;gap:6px;width:250px;padding:24px;border:1px solid var(--line);border-radius:24px;background:var(--paper);box-shadow:var(--shadow-soft)}.art-card strong{font-family:var(--font-display);font-size:1.35rem;font-weight:600;line-height:1.1}.art-card small{color:var(--muted);font-size:.82rem}.art-icon{margin-bottom:10px;font-size:2rem;line-height:1}.art-card-one{top:26px;left:0;transform:rotate(-7deg);background:#fff9f0}.art-card-two{top:150px;right:0;z-index:2;transform:rotate(5deg);background:var(--wine);border-color:transparent;color:#fff6ec}.art-card-two small{color:#fff6ecb3}.art-card-three{bottom:6px;left:38px;transform:rotate(-2deg);background:#f2e6d4}.art-ring{position:absolute;top:70px;left:86px;z-index:0;width:320px;height:320px;border:1px dashed rgba(109,31,51,.28);border-radius:50%}.directory{padding:0 0 var(--space-8);scroll-margin-top:90px}.mood-head{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--space-5);margin:0 0 var(--space-4)}.mood-head .eyebrow{margin-bottom:8px}.mood-head h2{margin:0;font-size:clamp(1.6rem,2.6vw,2.2rem)}.mood-head-note{max-width:320px;margin:0;color:var(--muted);font-size:.86rem;line-height:1.5;text-align:right}.mood-bar{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-bottom:18px}.mood-card{display:flex;align-items:center;gap:12px;padding:14px 16px;border:1px solid var(--line);border-radius:16px;background:var(--paper);text-align:left;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease,background .2s ease}.mood-card:hover{transform:translateY(-2px);border-color:#6d1f334d;box-shadow:0 16px 30px -26px #3719128c}.mood-card.is-active{border-color:var(--wine);background:var(--wine);color:#fff7ef}.mood-icon{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:#6d1f3312;font-size:1.3rem;flex-shrink:0}.mood-card.is-active .mood-icon{background:#ffffff29}.mood-text{display:flex;flex-direction:column;gap:2px;min-width:0}.mood-text strong{font-size:.84rem;font-weight:600;line-height:1.2}.mood-text small{color:var(--muted);font-size:.68rem;line-height:1.3}.mood-card.is-active .mood-text small{color:#fff7efb8}.filters{display:flex;flex-direction:column;gap:22px;padding:26px 28px 22px;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-soft)}.filters-mobile-head{display:none}.filters-body{display:flex;flex-direction:column;gap:22px}.filter-block{display:flex;flex-direction:column;gap:12px;scroll-margin-top:100px}.filter-block+.filter-block{padding-top:20px;border-top:1px solid var(--line)}.filter-heading{display:flex;align-items:baseline;justify-content:space-between;gap:16px}.filter-heading h2{margin:0;font-size:1.12rem;font-weight:600}.filter-heading .muted{font-size:.78rem}.district-map-wrap{position:relative;z-index:0;isolation:isolate;height:clamp(220px,30vh,320px);overflow:hidden;border:1px solid var(--line);border-radius:14px;background:#efe6d7}.district-map{width:100%;height:100%;font-family:inherit}.district-select{max-width:320px}.map-toggle{padding:0;border:0;background:transparent;color:var(--wine);font-size:.78rem;font-weight:600;text-decoration:underline;cursor:pointer}.map-toggle:hover{color:var(--ink)}.chip-row{display:flex;flex-wrap:wrap;gap:8px}.chip-row-scroll{flex-wrap:nowrap;overflow-x:auto;padding-bottom:4px;scrollbar-width:none}.chip-row-scroll::-webkit-scrollbar{display:none}.chip{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border:1px solid var(--line);border-radius:999px;background:transparent;color:var(--ink-soft);font-size:.84rem;font-weight:500;white-space:nowrap;cursor:pointer;transition:background .2s ease,color .2s ease,border-color .2s ease}.chip:hover{border-color:#6d1f3366;background:#6d1f330a;color:var(--wine)}.chip-active,.chip-active:hover{border-color:var(--wine);background:var(--wine);color:#fff7ef}.filter-controls{display:flex;flex-wrap:wrap;align-items:flex-end;gap:16px}.select-field{display:flex;flex-direction:column;gap:6px;color:var(--muted);font-size:.76rem;font-weight:600;letter-spacing:.04em}.select-field select{appearance:none;padding:10px 36px 10px 12px;border:1px solid var(--line);border-radius:12px;background-color:var(--cream);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5 6 6.5l5-5' fill='none' stroke='%237c6d64' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;background-size:11px;color:var(--ink);font-size:.9rem;font-weight:500;cursor:pointer}.select-field select:hover{border-color:#6d1f3359}.toggle{position:relative;display:inline-flex;align-items:center;gap:10px;padding:10px 0;color:var(--ink-soft);font-size:.88rem;font-weight:500;cursor:pointer;-webkit-user-select:none;user-select:none}.toggle input{position:absolute;width:1px;height:1px;opacity:0}.toggle-track{position:relative;width:42px;height:24px;border-radius:999px;background:#211a1729;transition:background .2s ease;flex-shrink:0}.toggle-thumb{position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #00000040;transition:transform .2s ease}.toggle input:checked+.toggle-track{background:var(--wine)}.toggle input:checked+.toggle-track .toggle-thumb{transform:translate(18px)}.toggle input:focus-visible+.toggle-track{outline:2px solid var(--wine);outline-offset:2px}.reset-button{display:inline-flex;align-items:center;gap:6px;margin-left:auto;padding:10px 0;border:0;background:transparent;color:var(--wine);font-size:.85rem;font-weight:600;cursor:pointer}.reset-button span{font-size:1.1rem;line-height:1}.results-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin:48px 0 24px}.results-head .eyebrow{margin-bottom:10px}.results-head h2{margin:0;font-size:clamp(1.6rem,2.4vw,2.2rem)}.results-note{max-width:360px;margin:0;color:var(--muted);font-size:.85rem;line-height:1.5;text-align:right}.results-tools{display:flex;flex-direction:column;align-items:flex-end;gap:10px}.view-toggle{display:inline-flex;gap:2px;padding:4px;border:1px solid var(--line);border-radius:999px;background:var(--paper)}.view-toggle button{padding:7px 14px;border:0;border-radius:999px;background:transparent;color:var(--muted);font-size:.78rem;font-weight:600;cursor:pointer;transition:background .2s ease,color .2s ease}.view-toggle button:hover{color:var(--wine)}.view-toggle button.is-active{background:var(--wine);color:#fff7ef}.bar-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:var(--space-5)}.load-more{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);margin-top:var(--space-6)}.map-wrap{position:relative;z-index:0;isolation:isolate;height:min(68vh,640px);overflow:hidden;border:1px solid var(--line);border-radius:var(--radius-lg);background:#efe6d7;box-shadow:var(--shadow-soft)}.bars-map{width:100%;height:100%;font-family:inherit}.leaflet-container{background:#efe6d7;font-family:inherit}.leaflet-marker-icon.bar-marker{display:grid;place-items:center;width:40px;height:40px;border:2px solid #fffdf8;border-radius:50%;background:linear-gradient(135deg,var(--wine),#a83f45);box-shadow:0 8px 16px #37191252}.bar-marker-emoji{font-size:1.15rem;line-height:1}.bar-marker-check{position:absolute;right:-4px;bottom:-4px;display:grid;place-items:center;width:16px;height:16px;border:1.5px solid #fffdf8;border-radius:50%;background:var(--teal);color:#fff;font-size:.58rem;font-weight:700}.leaflet-marker-icon.bar-marker-visited{filter:grayscale(.85);opacity:.82}.leaflet-popup-content-wrapper{border-radius:16px;box-shadow:0 20px 40px -24px #37191280}.leaflet-popup.bar-map-popup{margin-bottom:0!important}.bar-map-popup .leaflet-popup-tip-container{display:none!important}.bar-map-popup .leaflet-popup-content-wrapper{position:relative;overflow:visible;border:2px solid var(--ink);box-shadow:5px 5px 0 var(--ink);border-radius:16px;background:#fff;width:250px}.bar-map-popup .leaflet-popup-close-button{top:8px!important;right:8px!important;color:var(--ink-soft)!important;font-size:1.15rem!important;line-height:1!important;width:24px!important;height:24px!important;display:grid!important;place-items:center!important}@media(min-width:641px){.bar-map-popup .leaflet-popup-content-wrapper:before{content:"";position:absolute;left:-7px;top:50%;transform:translateY(-50%) rotate(45deg);width:12px;height:12px;background:#fff;border-left:2px solid var(--ink);border-bottom:2px solid var(--ink);border-top:none;border-right:none;z-index:1}}@media(max-width:640px){.bar-map-popup .leaflet-popup-content-wrapper:before{content:"";position:absolute;left:50%;bottom:-7px;transform:translate(-50%) rotate(45deg);width:12px;height:12px;background:#fff;border-right:2px solid var(--ink);border-bottom:2px solid var(--ink);border-top:none;border-left:none;z-index:1}}.leaflet-popup-content{margin:16px 18px;font-family:Inter,sans-serif}.map-popup-district{margin:0;color:var(--wine);font-size:.64rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase}.map-popup h3{margin:4px 0 6px;font-family:var(--font-display);font-size:1.2rem}.map-popup p{margin:0;color:var(--muted);font-size:.8rem;line-height:1.45}.map-popup .map-popup-event{margin-top:8px;color:var(--ink-soft);font-weight:500}.map-popup a{display:inline-block;margin-top:10px;color:var(--wine);font-size:.82rem;font-weight:600}.leaflet-control-attribution{background:#fffdf8d1!important;font-size:9px}.leaflet-bar a{color:var(--wine)}.bar-card{display:flex;flex-direction:column;overflow:hidden;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:0 20px 40px -38px #37191299;transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}.bar-card:hover{transform:translateY(-5px);border-color:#6d1f3347;box-shadow:0 30px 50px -30px #37191273}.bar-card:focus-visible{outline:2px solid var(--wine);outline-offset:3px}.bar-visual{position:relative;flex-shrink:0;height:170px;overflow:hidden;color:#fff}.bar-visual:before{content:"";position:absolute;inset:0;background-image:radial-gradient(circle at 22% 18%,rgba(255,255,255,.28),transparent 52%),repeating-linear-gradient(45deg,rgba(255,255,255,.06) 0 2px,transparent 2px 14px)}.bar-visual-glow{position:absolute;top:-60px;right:-40px;width:180px;height:180px;border-radius:50%;background:#ffffff24}.bar-visual-icon{position:absolute;top:16px;left:16px;display:grid;place-items:center;width:46px;height:46px;border:1px solid rgba(255,255,255,.28);border-radius:50%;background:#ffffff29;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);font-size:1.4rem}.bar-visual-district{position:absolute;bottom:14px;left:18px;max-width:calc(100% - 84px);overflow:hidden;font-size:.68rem;font-weight:600;letter-spacing:.16em;opacity:.92;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}.bar-visual-glyph{position:absolute;right:16px;bottom:8px;font-size:3.1rem;line-height:1;opacity:.92;filter:drop-shadow(0 8px 18px rgba(0,0,0,.22))}.bar-visual-large{height:100%;min-height:340px;border-radius:24px;box-shadow:var(--shadow-soft)}.bar-visual-large .bar-visual-icon{top:22px;left:22px;width:60px;height:60px;font-size:1.9rem}.bar-visual-large .bar-visual-district{bottom:22px;left:24px;max-width:calc(100% - 120px);font-size:.75rem}.bar-visual-large .bar-visual-glyph{right:28px;bottom:20px;font-size:5rem}.bar-visual-nav{position:absolute;top:50%;z-index:2;transform:translateY(-50%);display:grid;place-items:center;width:44px;height:44px;border:1px solid rgba(255,255,255,.45);border-radius:50%;background:#1f14338c;color:#fff;font-size:1.8rem;line-height:1;cursor:pointer;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);transition:background .16s ease}.bar-visual-nav:hover,.bar-visual-nav:focus-visible{background:#1f1433d1}.bar-visual-nav.prev{left:14px}.bar-visual-nav.next{right:14px}.bar-visual-count{position:absolute;top:18px;right:18px;z-index:2;padding:4px 10px;border-radius:999px;background:#1f14339e;color:#fff;font-size:.72rem;font-weight:600;letter-spacing:.04em;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.bar-visual-dots{position:absolute;left:50%;bottom:18px;z-index:2;display:flex;gap:6px;transform:translate(-50%)}.bar-visual-dots button{width:8px;height:8px;padding:0;border:0;border-radius:50%;background:#ffffff73;cursor:pointer}.bar-visual-dots button.is-active{background:#fff}.bar-visual-dots button:focus-visible{outline:2px solid #fff;outline-offset:2px}.bar-card-body{display:flex;flex:1;flex-direction:column;gap:var(--space-2);padding:var(--space-4)}.bar-card-top{display:flex;align-items:center;justify-content:space-between;gap:12px}.bar-district{min-width:0;overflow:hidden;color:var(--muted);font-size:.7rem;font-weight:600;letter-spacing:.14em;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}.bar-price{color:var(--wine);font-size:.8rem;font-weight:600;letter-spacing:.08em;white-space:nowrap}.bar-rating{color:var(--gold, #b8860b);font-size:.78rem;font-weight:600;white-space:nowrap}.bar-card-flags{display:flex;flex-shrink:0;align-items:center;gap:8px;white-space:nowrap}@media(max-width:640px){.bar-card-top{justify-content:flex-end}.bar-card-top .bar-district{display:none}}.visited-flag{white-space:nowrap;padding:4px 8px;border-radius:999px;background:#2c6b5f1a;color:var(--teal);font-size:.62rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.bar-card h3{margin:0;font-size:1.35rem;font-weight:600;line-height:1.15}.bar-tagline{display:-webkit-box;overflow:hidden;margin:0;color:var(--muted);font-size:.88rem;line-height:1.5;-webkit-box-orient:vertical;-webkit-line-clamp:2}.tag-row{display:flex;flex-wrap:wrap;gap:6px}.tag{display:inline-flex;align-items:center;gap:5px;padding:5px 10px;border-radius:999px;background:#6d1f330f;color:var(--wine);font-size:.72rem;font-weight:500;line-height:1.15;white-space:nowrap}.bar-card-foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;margin-top:auto;padding-top:12px;border-top:1px solid var(--line)}.next-event{display:inline-flex;align-items:center;gap:6px;color:var(--ink-soft);font-size:.78rem;font-weight:600;white-space:nowrap}.bar-card-foot .muted{font-size:.76rem}.hh-badge{padding:5px 9px;border-radius:999px;background:#2c6b5f1a;color:var(--teal);font-size:.66rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.state-card{display:flex;flex-direction:column;align-items:center;gap:10px;padding:64px 24px;border:1px dashed rgba(109,31,51,.3);border-radius:var(--radius-lg);background:var(--paper);text-align:center}.state-icon{font-size:2.4rem;line-height:1}.state-card h3{margin:6px 0 0;font-size:1.5rem}.state-card p{max-width:420px;margin:0 0 12px;color:var(--muted);line-height:1.6}.bar-card-skeleton{pointer-events:none}.skeleton-visual{height:170px;background:linear-gradient(90deg,#efe6d7 25%,#f8f1e6 37%,#efe6d7 63%);background-size:400% 100%;animation:shimmer 1.4s ease infinite}.skeleton-body{display:flex;flex-direction:column;gap:12px;padding:20px}.skeleton-line{height:12px;border-radius:6px;background:#efe6d7;animation:shimmer 1.4s ease infinite}.skeleton-line-short{width:40%}.skeleton-line-title{width:72%;height:20px}.skeleton-line-hero{width:80%;height:88px}@keyframes shimmer{0%{background-position:100% 50%}to{background-position:0 50%}}.detail{padding:var(--space-6) 0 var(--space-8)}.back-link{display:inline-flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-5);color:var(--muted);font-size:.86rem;font-weight:600;transition:color .2s ease}.back-link:hover{color:var(--wine)}.detail-hero{display:grid;grid-template-columns:1.25fr .75fr;gap:var(--space-7);align-items:stretch;margin-bottom:var(--space-7)}.detail-hero-copy{display:flex;flex-direction:column;justify-content:center;gap:var(--space-4)}.detail-hero-copy>.eyebrow,.detail-hero-copy>.detail-tagline,.detail-hero-copy>.detail-quick,.detail-hero-copy>.detail-actions{margin:0}.detail-hero-copy>.detail-title-row h1{margin:0}.detail-hero h1{margin:0 0 var(--space-4);font-size:clamp(2.6rem,5vw,4.4rem);letter-spacing:-.03em;line-height:1}.detail-tagline{max-width:36rem;margin:0 0 var(--space-4);color:var(--ink-soft);font-size:1.15rem;line-height:1.55}.detail-title-row{display:flex;align-items:flex-start;gap:var(--space-3)}.detail-title-row h1{flex:1;min-width:0}.share-button{display:grid;flex-shrink:0;place-items:center;width:42px;height:42px;margin-top:6px;border:2px solid var(--ink);border-radius:50%;background:var(--cream);color:var(--wine-deep);box-shadow:3px 3px 0 var(--ink);cursor:pointer;transition:transform .14s ease,box-shadow .14s ease}.share-button:hover{transform:translate(-1px,-1px);box-shadow:4px 4px 0 var(--ink)}.share-button:active{transform:translate(1px,1px);box-shadow:1px 1px 0 var(--ink)}.share-button svg{width:20px;height:20px}.share-button-emoji{font-size:1.15rem;line-height:1}.share-error{font-size:1.1rem;font-weight:700}.share-icon-native{display:none}@media(max-width:640px){.share-button{width:38px;height:38px}.share-icon-link{display:none}.share-icon-native{display:block}}.detail-quick{display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-5);margin-top:var(--space-5);color:var(--muted);font-size:.86rem}.detail-quick span{display:inline-flex;align-items:center;gap:7px}.quick-hh{color:var(--teal);font-weight:600}.quick-rating{color:var(--gold, #b8860b);font-weight:600}.quick-visited{color:var(--teal);font-weight:600}.detail-layout{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(280px,.75fr);gap:var(--space-7);align-items:start}.detail-main{display:flex;flex-direction:column;gap:var(--space-6);min-width:0}.detail-section{display:flex;flex-direction:column;gap:var(--space-4)}.detail-section h2{margin:0;font-size:1.75rem}.section-head{display:flex;align-items:baseline;justify-content:space-between;gap:16px}.section-head .muted{font-size:.8rem}.prose{max-width:42rem;margin:0;color:var(--ink-soft);font-size:1rem;line-height:1.75}.prose a{color:var(--wine);text-decoration:underline;text-underline-offset:2px}.text-card{padding:24px 28px;border:2px solid var(--ink);border-radius:var(--radius-lg);background:var(--paper);box-shadow:5px 5px 0 var(--ink)}.event-list{display:flex;flex-direction:column;margin:0;padding:0;list-style:none}.event-item{display:grid;grid-template-columns:84px 1fr;gap:20px;padding:20px 0;border-top:1px solid var(--line)}.event-item:last-child{border-bottom:1px solid var(--line)}.event-when{display:flex;flex-direction:column;gap:4px}.event-when span{color:var(--wine);font-size:.7rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase}.event-when strong{font-family:var(--font-display);font-size:1.25rem;font-weight:600}.event-body{display:flex;flex-direction:column;gap:7px}.event-title-row{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.event-title-row h3{margin:0;font-size:1.15rem}.event-type{display:inline-flex;align-items:center;gap:5px;padding:4px 9px;border-radius:999px;background:#6d1f3312;color:var(--wine);font-size:.68rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase}.event-body p{margin:0;color:var(--muted);font-size:.9rem;line-height:1.55}.event-meta{color:var(--muted);font-size:.76rem}.event-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:14px}.event-card{--event-bg: var(--sun);display:flex;flex-direction:column;gap:8px;padding:16px;border:2px solid var(--ink);border-radius:var(--radius-md);background:var(--event-bg);box-shadow:3px 3px 0 var(--ink);text-align:left;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease}.event-card:hover{transform:translate(-1px,-1px);box-shadow:5px 5px 0 var(--ink)}.event-card:active{transform:translate(1px,1px);box-shadow:2px 2px 0 var(--ink)}.event-card--quiz{--event-bg: var(--lilac)}.event-card--blindtest{--event-bg: var(--sky)}.event-card--concert{--event-bg: var(--sun)}.event-card--djset{--event-bg: var(--orange)}.event-card--karaoke{--event-bg: #ffb3c1}.event-card--openmic{--event-bg: var(--teal)}.event-card--expo{--event-bg: #bde0fe}.event-card--atelier{--event-bg: var(--lime)}.event-card--degustation{--event-bg: #f7c59f}.event-card--tournoi,.event-card--flechettes{--event-bg: var(--amber)}.event-card-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.event-card-type{display:inline-flex;align-items:center;gap:5px;font-size:.68rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.event-card-badge{padding:3px 8px;border:2px solid var(--ink);border-radius:999px;background:var(--paper);font-size:.62rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.event-card-title{font-family:var(--font-display);font-size:1.25rem;font-weight:400;line-height:1.15}.event-card-when{color:var(--ink-soft);font-size:.78rem;font-weight:600}.event-card-desc{display:-webkit-box;overflow:hidden;color:var(--ink-soft);font-size:.82rem;line-height:1.45;-webkit-box-orient:vertical;-webkit-line-clamp:2}.event-card-more{margin-top:auto;font-size:.68rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.featured-event{--event-bg: var(--sun);grid-column:1 / -1;display:flex;flex-wrap:wrap;align-items:center;gap:6px 16px;margin-top:var(--space-2);padding:16px 22px;border:2px solid var(--ink);border-radius:var(--radius-md);background:var(--event-bg);box-shadow:var(--shadow-pop);text-align:left;cursor:pointer}.featured-event-label{padding:5px 12px;border:2px solid var(--ink);border-radius:999px;background:var(--paper);font-size:.66rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.featured-event-when{color:var(--ink-soft);font-size:.8rem;font-weight:600}.featured-event strong{flex:1 1 100%;font-family:var(--font-display);font-size:1.4rem;font-weight:400;line-height:1.15}.featured-event-cta{font-size:.68rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.planning-subtitle{margin:var(--space-3) 0 0;font-size:1.25rem}.event-sheet{width:min(620px,100%)}.event-detail{display:flex;flex-direction:column;gap:16px}.event-detail-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.event-detail h1{margin:0;font-size:clamp(1.8rem,4vw,2.4rem)}.event-detail-when{margin:0;color:var(--ink-soft);font-size:.9rem;font-weight:600}.event-detail .btn{align-self:flex-start}.event-detail--page{margin-top:var(--space-4);padding:28px;border:2px solid var(--ink);border-top:10px solid var(--event-bg, var(--sun));border-radius:var(--radius-lg);background:var(--paper);box-shadow:var(--shadow-pop)}.event-detail--modal{border-top:8px solid var(--event-bg, var(--sun));padding-top:14px}@media(max-width:720px){.event-cards{grid-template-columns:1fr}.featured-event{padding:14px 16px}.event-detail--page{padding:20px}}.hh-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}.hh-card{display:flex;flex-direction:column;gap:10px;padding:20px 22px;border-radius:18px;background:linear-gradient(135deg,var(--wine),#8f3047);color:#fff7ef}.hh-top{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.hh-days{font-size:.7rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;opacity:.75}.hh-card strong{font-family:var(--font-display);font-size:1.2rem}.hh-card p{margin:0;color:#fff7efc7;font-size:.88rem;line-height:1.55}.menu-swipe-hint{margin:-6px 0 10px;font-size:.78rem}@media(min-width:861px){.menu-swipe-hint{display:none}}.menu-carousel{display:flex;gap:16px;overflow-x:auto;padding:4px 12px 16px 2px;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:var(--line) transparent}.menu-card{--menu-accent: #d9d1c3;--menu-tint: #faf5ec;--menu-ink: var(--ink);flex:0 0 min(84%,420px);scroll-snap-align:start;overflow:hidden;border:2px solid var(--ink);border-radius:20px;background:var(--menu-tint);box-shadow:5px 5px 0 var(--ink)}.menu-card--biere{--menu-accent: #f4c430;--menu-tint: #fff7d6;--menu-ink: #3b2a00}.menu-card--vin{--menu-accent: #7a1f3d;--menu-tint: #f9e8ee;--menu-ink: #fff}.menu-card--cocktail{--menu-accent: #2f5d8a;--menu-tint: #e6f0fa;--menu-ink: #fff}.menu-card--soft{--menu-accent: #3f7d5c;--menu-tint: #e6f4ea;--menu-ink: #0f2b1b}.menu-card--cafe{--menu-accent: #8a5a3c;--menu-tint: #f5e9df;--menu-ink: #fff}.menu-card--planche{--menu-accent: #d98aa5;--menu-tint: #fcebf1;--menu-ink: #431424}.menu-card--plat{--menu-accent: #e09a5a;--menu-tint: #fdf0e2;--menu-ink: #43230c}.menu-card-head{display:flex;align-items:center;gap:10px;padding:12px 16px;border-bottom:2px solid var(--ink);background:var(--menu-accent);color:var(--menu-ink)}.menu-card-head h3{flex:1;margin:0;font-size:.8rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase}.menu-card-icon{font-size:1.1rem}.menu-group-count{padding:2px 9px;border-radius:999px;background:#ffffffd9;color:var(--ink);font-size:.7rem;font-weight:600}.menu-card-body{padding:2px 16px 10px}.menu-card-body .menu-item:last-child{border-bottom:0}.menu-item{padding:12px 0;border-bottom:1px dashed var(--line)}.menu-item-head{display:flex;align-items:baseline;gap:8px}.menu-item-name{min-width:0;font-size:.98rem;font-weight:600}.menu-item-dots{flex:1;min-width:14px;border-bottom:1px dotted var(--line);transform:translateY(-3px)}.menu-item-desc{margin:3px 0 0;max-width:62ch;color:var(--muted);font-size:.84rem;line-height:1.5}.menu-item-price{flex-shrink:0;color:var(--wine-deep);font-family:var(--font-display);font-size:1.02rem;font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}.detail-aside{position:sticky;top:100px;display:flex;flex-direction:column;gap:24px}.info-card{display:flex;flex-direction:column;gap:18px;padding:24px;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--paper);box-shadow:var(--shadow-soft)}.info-card h3{margin:0;font-size:1.2rem}.info-list{display:flex;flex-direction:column;gap:14px;margin:0}.info-list div{display:flex;flex-direction:column;gap:3px}.info-list dt{color:var(--muted);font-size:.66rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase}.info-list dd{margin:0;font-size:.9rem;line-height:1.5}.info-list a{color:var(--wine);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:2px}.info-card-soft{background:#fffdf899;box-shadow:none}.info-label{margin:0;color:var(--muted);font-size:.66rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase}.info-budget{margin:0;font-size:.9rem;line-height:1.5}.detail-loading{display:flex;flex-direction:column;gap:18px;padding:40px 0}.discovery{margin-top:48px}.discovery-head{max-width:640px;margin-bottom:24px}.discovery-head .eyebrow{margin-bottom:10px}.discovery-head h2{margin:0 0 10px;font-size:clamp(2rem,4vw,3rem)}.discovery-head p{margin:0;color:var(--muted);line-height:1.6}.discovery-controls{display:flex;flex-wrap:wrap;align-items:flex-end;gap:16px;margin-bottom:22px}.discovery-controls .select-field{min-width:240px}.discovery-controls .btn:disabled{cursor:not-allowed;opacity:.45}.discovery-card{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);overflow:hidden;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--paper);box-shadow:var(--shadow-soft)}.discovery-map{position:relative;z-index:0;min-height:380px}.discovery-map .map-wrap{position:absolute;inset:0;height:auto;border:0;border-radius:0;box-shadow:none}.discovery-body{display:flex;flex-direction:column;gap:12px;padding:32px}.discovery-body .eyebrow{margin:0}.discovery-body h3{margin:0;font-size:clamp(1.9rem,3vw,2.6rem)}.discovery-tagline{margin:0;color:var(--ink-soft);line-height:1.6}.discovery-next{display:flex;align-items:center;gap:8px;margin:4px 0 0;padding:10px 12px;border-radius:12px;background:#6d1f330d;color:var(--ink-soft);font-size:.84rem}.discovery-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:8px}.discovery-reason{margin:8px 0 0;color:var(--muted);font-size:.76rem;line-height:1.5}.discovery-meta{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:18px;color:var(--muted);font-size:.8rem}.discovery-meta button{border:0;background:none;color:var(--wine);font-size:.8rem;font-weight:600;cursor:pointer}.discovery-empty{margin-top:0}.site-footer{padding:48px 0;background:var(--wine-deep);color:#fff7efdb}.footer-inner{display:grid;grid-template-columns:1.2fr .8fr;gap:32px;align-items:start}.footer-brand{display:flex;gap:14px;align-items:flex-start}.logo-mark-light{color:#f3c9a6;font-size:2rem}.footer-title{margin:0 0 4px;color:#fff7ef;font-family:var(--font-display);font-size:1.35rem}.footer-sub{margin:0;color:#fff7ef99;font-size:.85rem}.footer-links{display:flex;flex-direction:column;gap:10px;font-size:.88rem}.footer-links a{transition:color .2s ease}.footer-links a:hover{color:#f3c9a6}.header-actions{display:flex;align-items:center;gap:10px}.header-account{display:flex;align-items:center;gap:10px;position:relative}.header-user{display:flex;align-items:center;gap:8px;padding:4px 9px 4px 4px;border:1px solid var(--line);border-radius:999px;background:#ffffff80;transition:border-color .2s ease}.header-user:hover{border-color:var(--wine)}.header-avatar{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--wine);color:#fff7ef;font-size:.68rem;font-weight:700;letter-spacing:.03em}.header-user-name{font-size:.84rem;font-weight:600}.header-logout{padding:6px 0;border:0;background:none;color:var(--muted);font-size:.76rem;cursor:pointer;transition:color .2s ease}.header-logout:hover{color:var(--wine)}.header-logout:disabled{opacity:.55;cursor:wait}.header-account-placeholder{width:112px;height:38px;border-radius:999px;background:#211a170f}.header-login{padding:9px 18px;font-size:.85rem}.header-login-short{display:none}.auth-page{padding:var(--space-7) 0 var(--space-8)}.auth-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.72fr);gap:var(--space-6);align-items:stretch;width:min(960px,100%);margin:0 auto}.auth-card{padding:var(--space-6);border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--paper);box-shadow:var(--shadow-soft)}.auth-card h1{margin:0 0 var(--space-2);font-size:clamp(2.2rem,4vw,3rem)}.auth-intro{margin:0 0 var(--space-5);color:var(--muted);line-height:1.6}.auth-form{display:flex;flex-direction:column;gap:16px}.auth-steps{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 20px;color:var(--muted);font-size:.76rem;font-weight:600}.auth-steps span{padding:6px 10px;border:1px solid var(--line);border-radius:999px}.auth-steps .is-active{border-color:#6d1f3340;background:#6d1f3312;color:var(--wine)}.auth-recap{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:14px;border-radius:12px;background:#6d1f330a}.auth-recap p{display:flex;flex-direction:column;gap:2px;margin:0;color:var(--muted);font-size:.82rem}.auth-recap strong{color:var(--ink);font-size:.92rem}.auth-recap button{padding:0;border:0;background:none;color:var(--wine);font-size:.78rem;font-weight:600;cursor:pointer;text-decoration:underline;text-underline-offset:2px}.form-field{display:flex;flex-direction:column;gap:6px;color:var(--ink-soft);font-size:.78rem;font-weight:600}.form-field input{padding:12px 14px;border:1px solid var(--line);border-radius:12px;outline:none;background:var(--cream);font-size:.95rem;font-weight:400;transition:border-color .2s ease,box-shadow .2s ease}.form-field input:focus{border-color:#6d1f3373;box-shadow:0 0 0 4px #6d1f3314}.auth-choices{display:flex;flex-direction:column;gap:10px;margin:0;padding:12px 14px;border:1px solid var(--line);border-radius:12px}.auth-choices legend{padding:0 4px;color:var(--ink-soft);font-size:.78rem;font-weight:600}.auth-choice{display:flex;align-items:flex-start;gap:10px;color:var(--ink);font-size:.9rem;font-weight:600;cursor:pointer}.auth-choice input{margin:2px 0 0;accent-color:var(--wine)}.auth-choice small{display:block;margin-top:2px;color:var(--muted);font-size:.78rem;font-weight:400}.form-message{padding:12px 14px;border-radius:12px;font-size:.85rem;line-height:1.5}.form-message p{margin:0}.form-message p+p{margin-top:6px}.form-message-error{background:#6d1f3314;color:var(--wine)}.form-error{margin:0;color:var(--wine);font-size:.84rem}.form-success{margin:0;color:var(--teal);font-size:.84rem}.auth-switch{margin:22px 0 0;color:var(--muted);font-size:.86rem}.auth-switch a{color:var(--wine);font-weight:600;text-decoration:underline;text-underline-offset:2px}.auth-aside{display:flex;flex-direction:column;justify-content:center;gap:var(--space-4);padding:var(--space-6);border-radius:var(--radius-lg);background:linear-gradient(150deg,var(--wine-deep),#2b0c18);color:#fff7efdb}.auth-aside-icon{font-size:2.2rem}.auth-aside h2{margin:0;color:#fff7ef;font-size:1.8rem}.auth-aside ul{display:flex;flex-direction:column;gap:10px;margin:0;padding-left:18px;font-size:.9rem;line-height:1.6}.profile-page{display:flex;flex-direction:column;gap:var(--space-5);padding:var(--space-7) 0 var(--space-8)}.profile-head{display:flex;align-items:center;gap:var(--space-5);padding-bottom:var(--space-5);border-bottom:1px solid var(--line)}.profile-avatar{display:grid;place-items:center;width:64px;height:64px;border-radius:50%;background:var(--wine);color:#fff7ef;font-family:var(--font-display);font-size:1.4rem;flex-shrink:0}.profile-head h1{margin:0 0 6px;font-size:clamp(2rem,4vw,2.8rem)}.profile-head .eyebrow{margin-bottom:6px}.profile-meta{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:0;color:var(--muted);font-size:.86rem}.profile-head-actions{display:flex;flex-wrap:wrap;gap:10px;margin-left:auto}.profile-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--space-5);align-items:start}.profile-card{padding:var(--space-5);border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--paper);box-shadow:var(--shadow-soft)}.profile-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-4)}.profile-card-head .eyebrow{margin-bottom:var(--space-1)}.profile-card h2{margin:0;font-size:1.6rem}.profile-form{display:flex;flex-direction:column;gap:var(--space-4)}.profile-select{max-width:280px}.pref-group{display:flex;flex-direction:column;gap:8px}.pref-label{margin:0;color:var(--muted);font-size:.72rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase}.profile-count{color:var(--muted);font-size:.76rem;white-space:nowrap}.profile-lists{display:flex;flex-direction:column;gap:22px}.profile-list h3{display:flex;align-items:center;gap:8px;margin:0 0 8px;color:var(--ink-soft);font-family:inherit;font-size:.82rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.profile-list h3>span:first-child{color:var(--wine);font-size:1rem}.profile-list-count{margin-left:auto;padding:2px 8px;border-radius:999px;background:#6d1f3312;color:var(--wine);font-size:.68rem}.profile-list ul{display:flex;flex-direction:column;gap:6px;margin:0;padding:0;list-style:none}.profile-bar-link{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border-radius:12px;background:#6d1f3309;font-size:.88rem;transition:background .2s ease}.profile-bar-link:hover{background:#6d1f3314}.profile-bar-link span:first-child{display:flex;flex-direction:column;gap:2px}.profile-bar-link small{color:var(--muted);font-size:.72rem}.profile-bar-link span:last-child{color:var(--wine)}.profile-loading{display:flex;flex-direction:column;gap:16px;padding:40px 0}.bar-actions{display:grid;grid-template-columns:1fr;gap:8px}.btn-relation{width:100%;justify-content:flex-start;padding:10px 14px;border:1px solid var(--line);background:transparent;color:var(--ink-soft);font-size:.82rem}.btn-relation:hover{border-color:var(--wine);color:var(--wine)}.btn-relation.is-active.is-visited{border-color:#2c6b5f59;background:#2c6b5f1a;color:var(--teal)}.btn-relation.is-active.is-liked{border-color:#6d1f334d;background:#6d1f3314;color:var(--wine)}.btn-relation.is-active.is-favorite{border-color:#c96f3866;background:#c96f381f;color:var(--amber)}.bar-actions-note{margin:0;color:var(--muted);font-size:.78rem;line-height:1.5}.quick-liked{color:var(--wine);font-weight:600}.quick-favorite{color:var(--amber);font-weight:600}.favorite-flag{color:var(--wine);font-size:.85rem;line-height:1}::selection{background:#d81f4d2e}.site-header{background:#fff7e8eb;border-bottom:2px solid var(--ink)}.main-nav a{font-weight:600}.main-nav a:after{height:3px;border-radius:999px;background:var(--wine)}.main-nav a:hover{color:var(--wine-deep)}.main-nav .nav-group{position:relative}.main-nav summary{display:inline-flex;align-items:center;gap:6px;padding:6px 0;color:var(--ink-soft);font-weight:600;cursor:pointer;list-style:none}.main-nav summary::-webkit-details-marker{display:none}.main-nav summary:after{content:"▾";font-size:.7rem;line-height:1;transition:transform .2s ease}.main-nav details[open] summary:after{transform:rotate(180deg)}.main-nav summary:hover,.main-nav details[open] summary{color:var(--wine-deep)}.nav-menu{position:absolute;top:calc(100% + 10px);left:0;z-index:60;display:flex;flex-direction:column;min-width:200px;padding:8px;border:2px solid var(--ink);border-radius:14px;background:var(--paper);box-shadow:4px 4px 0 var(--ink)}.nav-menu a{padding:8px 12px;border-radius:8px}.nav-menu a:after{display:none}.nav-menu a:hover{background:var(--sun);color:var(--ink)}.btn{border:2px solid var(--ink);box-shadow:3px 3px 0 var(--ink);font-weight:700;transition:transform .15s ease,box-shadow .15s ease,background .2s ease,color .2s ease,border-color .2s ease}.btn:hover{transform:translate(-1px,-1px);box-shadow:4px 4px 0 var(--ink)}.btn:active{transform:translate(2px,2px);box-shadow:1px 1px 0 var(--ink)}.btn-primary{background:var(--wine);color:#fffdf8}.btn-primary:hover{background:var(--wine-deep)}.btn-ghost{background:var(--paper);color:var(--ink)}.btn-ghost:hover{background:var(--sun);color:var(--ink);border-color:var(--ink)}.btn-visited{border:2px solid var(--ink);background:var(--paper);color:var(--ink-soft)}.btn-visited:hover{background:var(--sun);color:var(--ink);border-color:var(--ink)}.btn-visited.is-visited{border-color:var(--ink);background:var(--teal);color:var(--ink)}.chip{border:1.5px solid var(--ink);background:var(--paper);box-shadow:2px 2px 0 var(--ink);font-weight:600;transition:transform .15s ease,box-shadow .15s ease,background .2s ease,color .2s ease,border-color .2s ease}.chip:hover{border-color:var(--ink);background:var(--sun);color:var(--ink);transform:translate(-1px,-1px);box-shadow:3px 3px 0 var(--ink)}.chip-active,.chip-active:hover{border-color:var(--ink);background:var(--wine);color:#fffdf8;box-shadow:2px 2px 0 var(--ink)}.chip-row-scroll{padding:2px 2px 8px}.select-field select{border:2px solid var(--ink);background-color:var(--paper);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5 6 6.5l5-5' fill='none' stroke='%231f1433' stroke-width='1.8' stroke-linecap='round'/%3E%3C/svg%3E");box-shadow:2px 2px 0 var(--ink)}.select-field select:hover{border-color:var(--ink);background-color:#fff8d9}.select-field select:focus-visible{outline:2px solid var(--wine);outline-offset:2px}.search-box{border:2px solid var(--ink);background:var(--paper);box-shadow:5px 5px 0 var(--ink)}.search-box:focus-within{border-color:var(--ink);box-shadow:5px 5px 0 var(--wine);transform:translate(-1px,-1px)}.search-clear{background:var(--sun);color:var(--ink)}.search-clear:hover{background:var(--lime)}.eyebrow{width:fit-content;padding:6px 11px;border:1.5px solid var(--ink);border-radius:999px;background:var(--paper);box-shadow:2px 2px 0 var(--ink);color:var(--wine-deep);font-size:.68rem;letter-spacing:.13em}.eyebrow-dot{background:var(--wine);box-shadow:0 0 0 3px #d81f4d29}.hero{padding:82px 0 70px}.hero .eyebrow{background:var(--sun)}.hero h1{margin-bottom:28px;font-size:clamp(3.3rem,7vw,6.1rem);font-weight:400;letter-spacing:.01em;line-height:.92}.hero h1 em{display:inline-block;padding:0 .12em .06em;border-radius:.14em;background:var(--sun);color:var(--wine-deep);box-shadow:4px 4px 0 var(--ink);font-style:normal;font-weight:400;line-height:.95;transform:rotate(-1.5deg)}.hero-stats{gap:12px;margin-top:34px}.hero-stats div{padding:8px 14px;border:1.5px solid var(--ink);border-radius:14px;background:var(--paper);box-shadow:2px 2px 0 var(--ink)}.hero-stats strong{font-size:2rem;font-weight:400;color:var(--wine-deep)}.hero-stats span{color:var(--ink-soft)}.hero-art{height:490px}.hero-art:after{content:"BORDEAUX";position:absolute;top:0;right:10px;z-index:3;padding:6px 12px;border:2px solid var(--ink);border-radius:999px;background:var(--lime);box-shadow:3px 3px 0 var(--ink);font-family:var(--font-display);font-size:.92rem;letter-spacing:.08em;transform:rotate(7deg)}.art-card{border:2px solid var(--ink);border-radius:22px;box-shadow:6px 6px 0 var(--ink)}.art-card strong{font-size:1.5rem;font-weight:400;line-height:1.05}.art-card-one{background:#fff0b8}.art-card-two{border-color:var(--ink);background:var(--wine)}.art-card-three{background:var(--lilac)}.art-ring{border:2px dashed var(--ink);background:var(--sun);opacity:.42;transform:rotate(8deg)}.mood-card{border:2px solid var(--ink);border-radius:18px;background:var(--paper);box-shadow:3px 3px 0 var(--ink);transition:transform .15s ease,box-shadow .15s ease,background .2s ease,color .2s ease,border-color .2s ease}.mood-card:hover{transform:translate(-2px,-2px);border-color:var(--ink);box-shadow:5px 5px 0 var(--ink)}.mood-card.is-active{border-color:var(--ink);background:var(--lime);color:var(--ink);box-shadow:4px 4px 0 var(--ink)}.mood-icon{border:1.5px solid var(--ink);background:var(--sun);color:var(--ink)}.mood-card:nth-child(2) .mood-icon{background:var(--sky)}.mood-card:nth-child(3) .mood-icon{background:var(--lilac)}.mood-card:nth-child(4) .mood-icon{background:var(--sun)}.mood-card:nth-child(5) .mood-icon{background:var(--lime)}.mood-card.is-active .mood-icon{background:var(--paper)}.mood-text small,.mood-card.is-active .mood-text small{color:var(--ink-soft)}.filters{border:2px solid var(--ink);background:var(--paper);box-shadow:6px 6px 0 var(--ink)}.filter-block+.filter-block{border-top:2px dashed rgba(31,20,51,.16)}.filter-heading h2{font-size:1.25rem;font-weight:400}.view-toggle{border:2px solid var(--ink);background:var(--paper);box-shadow:2px 2px 0 var(--ink)}.view-toggle button.is-active{background:var(--wine);color:#fffdf8}.bar-card{border:2px solid var(--ink);border-radius:24px;box-shadow:5px 5px 0 var(--ink)}.bar-card:hover{transform:translate(-3px,-3px);border-color:var(--ink);box-shadow:8px 8px 0 var(--ink)}.bar-card h3{font-size:1.5rem;font-weight:400;line-height:1.1}.bar-visual{border-bottom:2px solid var(--ink)}.bar-price{color:var(--wine-deep)}.tag{border:1.5px solid var(--ink);background:var(--sun);color:var(--ink);font-weight:600}.visited-flag{border:1.5px solid var(--ink);background:var(--teal);color:var(--ink)}.hh-badge{border:1.5px solid var(--ink);background:var(--lime);color:var(--ink)}.map-wrap{border:2px solid var(--ink);box-shadow:6px 6px 0 var(--ink)}.leaflet-marker-icon.bar-marker{border:2px solid var(--ink);background:linear-gradient(135deg,var(--wine),var(--orange));box-shadow:3px 3px 0 var(--ink)}.leaflet-popup-content-wrapper{border:2px solid var(--ink);box-shadow:5px 5px 0 var(--ink)}.map-popup h3{font-weight:400}.map-popup a{color:var(--wine-deep);font-weight:700}.state-card{border:2px dashed var(--ink);background:#fff5c2;box-shadow:5px 5px 0 var(--ink)}.detail-hero h1{letter-spacing:.01em;line-height:.96}.detail-quick{gap:var(--space-2)}.detail-quick>span{padding:5px 10px;border:1.5px solid var(--ink);border-radius:999px;background:var(--paper);box-shadow:2px 2px 0 var(--ink);color:var(--ink-soft)}.detail-quick>.quick-hh,.detail-quick>.quick-visited{color:var(--teal-deep)}.detail-quick>.quick-rating{color:var(--gold, #b8860b)}.event-when strong{font-weight:400}.event-type{border:1.5px solid var(--ink);background:var(--sun);color:var(--ink)}.hh-card{border:2px solid var(--ink);background:linear-gradient(135deg,var(--wine),var(--wine-deep));box-shadow:4px 4px 0 var(--ink)}.hh-card strong{font-weight:400}.menu-item-price{font-size:1.04rem;font-weight:600;color:var(--wine-deep)}.info-card{border:2px solid var(--ink);box-shadow:5px 5px 0 var(--ink)}.info-card-soft{border-color:var(--ink);background:#f1ecff;box-shadow:4px 4px 0 var(--ink)}.discovery-card{border:2px solid var(--ink);box-shadow:6px 6px 0 var(--ink)}.discovery-map{border-right:2px solid var(--ink)}.discovery-body .eyebrow{background:var(--sun)}.discovery-next{border:1.5px solid var(--ink);background:var(--lilac);color:var(--ink-soft);box-shadow:2px 2px 0 var(--ink)}.discovery-meta button{color:var(--wine-deep);text-decoration:underline;text-underline-offset:2px}.site-footer{border-top:6px solid var(--sun);background-color:var(--ink);background-image:radial-gradient(circle at 12% 30%,rgba(255,183,3,.22) 0 3px,transparent 4px),radial-gradient(circle at 82% 20%,rgba(216,31,77,.4) 0 4px,transparent 5px),radial-gradient(circle at 62% 80%,rgba(0,168,150,.28) 0 3px,transparent 4px);background-size:48px 48px,62px 62px,54px 54px}.logo-mark-light{color:var(--sun);text-shadow:2px 2px 0 var(--wine)}.footer-title{color:var(--sun);font-size:1.55rem;font-weight:400}.footer-links a:hover{color:var(--sun)}.header-user{border:2px solid var(--ink);background:var(--paper);box-shadow:2px 2px 0 var(--ink);transition:transform .15s ease,box-shadow .15s ease,border-color .2s ease}.header-user:hover{border-color:var(--ink);transform:translate(-1px,-1px);box-shadow:3px 3px 0 var(--ink)}.header-avatar{border:1.5px solid var(--ink);background:var(--lime);color:var(--ink);font-family:var(--font-display);font-size:.82rem;font-weight:400}.header-account-placeholder{border:2px solid var(--line);background:var(--paper)}.header-logout{color:var(--ink-soft)}.header-logout:hover{color:var(--wine-deep)}.auth-card{border:2px solid var(--ink);box-shadow:7px 7px 0 var(--ink)}.auth-aside{border:2px solid var(--ink);background:linear-gradient(145deg,var(--wine),#6d1b9e);box-shadow:7px 7px 0 var(--ink)}.auth-steps span{border:1.5px solid var(--ink);background:var(--paper)}.auth-steps .is-active{border-color:var(--ink);background:var(--sun);color:var(--ink)}.auth-recap{border:1.5px solid var(--ink);background:#fff5c2}.form-field input{border:2px solid var(--ink);background:var(--paper);box-shadow:2px 2px 0 var(--ink);transition:border-color .2s ease,box-shadow .2s ease,transform .15s ease}.form-field input:focus{border-color:var(--ink);box-shadow:3px 3px 0 var(--wine);transform:translate(-1px,-1px)}.form-message-error{border:1.5px solid var(--wine);background:#ffe3e9;color:var(--wine-deep)}.form-success{color:var(--teal-deep);font-weight:600}.auth-switch a{color:var(--wine-deep)}.profile-head{border-bottom:2px dashed var(--line)}.profile-avatar{border:2px solid var(--ink);background:var(--lime);color:var(--ink);box-shadow:3px 3px 0 var(--ink);font-weight:400}.profile-card{border:2px solid var(--ink);box-shadow:6px 6px 0 var(--ink)}.profile-card h2{font-weight:400}.profile-list h3{font-family:var(--font-display);font-size:1.05rem;font-weight:400;letter-spacing:.03em;text-transform:none}.profile-list-count{border:1.5px solid var(--ink);background:var(--sun);color:var(--ink)}.profile-bar-link{border:1.5px solid transparent;background:#fff5e0;transition:background .2s ease,border-color .2s ease,transform .15s ease}.profile-bar-link:hover{border-color:var(--ink);background:var(--sun);transform:translate(-1px,-1px)}.profile-bar-link span:last-child{color:var(--wine-deep)}.btn-relation{border:2px solid var(--ink);background:var(--paper);color:var(--ink-soft);box-shadow:2px 2px 0 var(--ink)}.btn-relation:hover{border-color:var(--ink);background:var(--sun);color:var(--ink);transform:translate(-1px,-1px);box-shadow:3px 3px 0 var(--ink)}.btn-relation.is-active.is-visited{border-color:var(--ink);background:var(--teal);color:var(--ink)}.btn-relation.is-active.is-liked{border-color:var(--ink);background:var(--wine);color:#fffdf8}.btn-relation.is-active.is-favorite{border-color:var(--ink);background:var(--sun);color:var(--ink)}.quick-liked{color:var(--wine-deep)}.quick-favorite,.favorite-flag{color:var(--orange)}@media(max-width:1000px){.auth-layout{grid-template-columns:1fr}.auth-aside{order:-1}.profile-grid{grid-template-columns:1fr}}@media(max-width:720px){.header-cta{display:none}.header-account{gap:4px}.header-user-name{display:none}.header-logout{font-size:.68rem}.auth-page{padding:var(--space-6) 0 var(--space-8)}.auth-card,.auth-aside{padding:var(--space-5)}.profile-page{padding:var(--space-6) 0 var(--space-8)}.profile-head{flex-wrap:wrap;align-items:flex-start}.profile-head-actions{margin-left:0}.profile-card{padding:var(--space-4)}.profile-card-head{flex-direction:column;gap:var(--space-2)}}@media(max-width:1000px){.hero-grid{grid-template-columns:1fr}.hero-art{display:none}.mood-bar{grid-template-columns:repeat(3,minmax(0,1fr))}.discovery-card{grid-template-columns:1fr}.discovery-map{min-height:300px;border-right:0;border-bottom:2px solid var(--ink)}.detail-hero{grid-template-columns:1fr}.bar-visual-large{height:260px;min-height:260px}.detail-layout{grid-template-columns:1fr;gap:var(--space-6)}.detail-aside{position:static}.footer-inner{grid-template-columns:1fr 1fr}}@media(max-width:720px){.container{width:calc(100% - 36px)}.header-inner{height:64px}.main-nav{display:none}.header-cta{padding:9px 16px;font-size:.82rem}.hero{padding:28px 0 24px}.hero h1{margin-bottom:16px;font-size:clamp(2.1rem,9vw,2.8rem)}.hero-lead,.hero-stats{display:none}.search-box{min-height:52px;padding:4px 6px 4px 16px}.search-box input{padding:14px 0;font-size:16px}.search-clear{width:40px;height:40px}.search-feedback{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:10px 2px 0;color:var(--muted);font-size:.82rem}.search-feedback button{padding:8px 0;border:0;background:transparent;color:var(--wine);font-size:.82rem;font-weight:600;cursor:pointer}.mood-head{margin-bottom:var(--space-3);flex-direction:column;align-items:flex-start;gap:var(--space-2)}.mood-head .eyebrow,.mood-head-note{display:none}.mood-head h2{font-size:1.35rem}.mood-bar{display:flex;gap:8px;margin-bottom:12px;padding-bottom:4px;overflow-x:auto;scrollbar-width:none;scroll-snap-type:x proximity}.mood-bar::-webkit-scrollbar{display:none}.mood-card{flex:0 0 auto;min-width:150px;gap:8px;padding:10px 12px;scroll-snap-align:start}.mood-icon{width:32px;height:32px;font-size:1rem}.mood-text strong{font-size:.8rem}.mood-text small{font-size:.64rem}.filters{gap:10px;padding:0;background:transparent;border:0;border-radius:0;box-shadow:none}.filters-mobile-head{display:flex;gap:8px}.filters-toggle{display:flex;flex:1;align-items:center;gap:10px;min-height:48px;padding:0 16px;border:1px solid var(--line);border-radius:16px;background:var(--paper);color:var(--ink);font-size:.9rem;font-weight:600;cursor:pointer}.filters-count{display:grid;place-items:center;min-width:22px;height:22px;padding:0 6px;border-radius:999px;background:var(--wine);color:#fff7ef;font-size:.72rem}.filters-chevron{margin-left:auto;color:var(--muted)}.filters-quick-reset{padding:0 14px;border:1px solid var(--line);border-radius:16px;background:transparent;color:var(--wine);font-size:.82rem;font-weight:600;cursor:pointer}.filters-body{display:none;padding:20px;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-soft)}.filters.is-open .filters-body{display:flex;flex-direction:column;gap:20px}.filter-heading .muted{display:none}.results-head{scroll-margin-top:80px;margin:20px 0 16px;flex-direction:column;align-items:flex-start;gap:8px}.results-note{display:none}.results-tools{align-items:flex-end;width:100%}.map-wrap{height:58vh;min-height:380px}.discovery-controls{align-items:stretch}.discovery-controls .select-field{min-width:100%}.discovery-body{padding:22px}.discovery-map{min-height:240px}.discovery-meta{flex-direction:column;align-items:flex-start;gap:6px}.bar-grid{grid-template-columns:1fr}.detail{padding-top:var(--space-5)}.text-card{padding:20px}.detail-hero h1{font-size:clamp(2.3rem,10vw,3rem)}.section-head{flex-direction:column;align-items:flex-start;gap:4px}.event-item{grid-template-columns:68px 1fr;gap:14px}.footer-inner{grid-template-columns:1fr}.site-footer{padding:36px 0}.reset-button{margin-left:0}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}.friends-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;align-items:start}.friends-block{display:flex;flex-direction:column;gap:12px}.friends-block h3{margin:0;font-size:1.1rem}.select-field input{padding:10px 12px;border:2px solid var(--ink);border-radius:12px;background:var(--paper);box-shadow:2px 2px 0 var(--ink);color:var(--ink);font:inherit;font-size:.9rem;font-weight:500}.select-field input:focus-visible{outline:2px solid var(--wine);outline-offset:2px}.friend-code{align-self:flex-start;margin:0;padding:6px 14px;border:2px solid var(--ink);border-radius:999px;background:var(--sun);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:1.05rem;font-weight:700;letter-spacing:.18em}.friend-share{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.friend-qr{width:120px;height:120px;padding:4px;border:2px solid var(--ink);border-radius:16px;background:#fff;image-rendering:pixelated}.friends-lists{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:24px;padding-top:20px;border-top:2px dashed var(--line)}.friends-list-block h3{margin:0 0 10px;font-size:.95rem}.friends-list-block ul{display:flex;flex-direction:column;gap:8px;margin:0;padding:0;list-style:none}.friends-list-block li{display:flex;align-items:center;justify-content:space-between;gap:10px}.friends-actions{display:flex;gap:8px}.link-button{padding:0;border:none;background:none;color:var(--wine-deep);font:inherit;font-size:.8rem;font-weight:700;text-decoration:underline;cursor:pointer}.link-button:disabled{opacity:.5;cursor:default}.outing-friends{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px;margin:0 0 20px;padding:0;list-style:none}.outing-friends label{display:flex;align-items:center;gap:10px;padding:10px 12px;border:2px solid var(--ink);border-radius:14px;background:var(--paper);box-shadow:2px 2px 0 var(--ink);cursor:pointer}.outing-friends input{width:18px;height:18px;accent-color:var(--wine)}.outing-friends small{margin-left:auto;color:var(--muted);font-size:.72rem}.outing-results{display:flex;flex-direction:column;gap:10px;margin:0;padding:0;list-style:none}.outing-result{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 16px;border:1.5px solid transparent;border-radius:14px;background:#fff5e0;color:inherit;text-decoration:none}.outing-result:hover{border-color:var(--ink);background:var(--sun)}.outing-result small{display:block;color:var(--muted);font-size:.78rem}.outing-distance{color:var(--wine-deep);font-size:.85rem;font-weight:700;white-space:nowrap}@media(max-width:860px){.friends-grid,.friends-lists{grid-template-columns:1fr}}.admin-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--space-5)}.admin-stat-value{margin:6px 0 0;font-family:var(--font-display);font-size:3rem;line-height:1;color:var(--wine-deep)}.admin-toggle{display:flex;align-items:flex-start;gap:12px;cursor:pointer}.admin-toggle input{width:20px;height:20px;margin-top:3px;accent-color:var(--wine)}.admin-toggle small{display:block;margin-top:4px;color:var(--muted);font-weight:400}.admin-users-scroll{overflow-x:auto}.admin-users{width:100%;border-collapse:collapse;font-size:.9rem}.admin-users th{padding:8px 10px;border-bottom:2px solid var(--line);color:var(--muted);font-size:.7rem;letter-spacing:.12em;text-align:left;text-transform:uppercase}.admin-users td{padding:10px;border-bottom:1px solid var(--line);vertical-align:middle}.admin-users td small{display:block;color:var(--muted)}.admin-users select{padding:8px 10px;border:2px solid var(--ink);border-radius:10px;background:var(--paper);font:inherit;font-size:.85rem}.admin-clients td{font-size:.82rem}.admin-row-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.admin-client-ip{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;white-space:nowrap}.admin-client-ua{display:block;max-width:320px;overflow-wrap:anywhere;color:var(--muted);font-size:.78rem}.bar-edit{margin:20px 0 10px}.bar-edit-form{padding:var(--space-5);border:2px solid var(--ink);border-radius:var(--radius-lg);background:var(--paper);box-shadow:6px 6px 0 var(--ink)}.bar-edit-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--space-3);margin-bottom:14px}.bar-edit-form textarea{padding:10px 12px;border:2px solid var(--ink);border-radius:12px;background:var(--paper);color:var(--ink);font:inherit;font-size:.9rem;resize:vertical}.bar-edit-actions{display:flex;gap:var(--space-2);margin-top:var(--space-4)}.bar-info-form{gap:var(--space-4)}.bar-info-form .bar-edit-grid{margin-bottom:0}.bar-info-form textarea{width:100%}.bar-form-actions{display:flex;flex-wrap:wrap;gap:var(--space-2)}@media(max-width:720px){.bar-edit-form{padding:var(--space-4);box-shadow:4px 4px 0 var(--ink)}.bar-edit-form .profile-card-head{margin-bottom:10px}.bar-info-form{gap:12px}.bar-info-form .bar-edit-grid{grid-template-columns:1fr;gap:10px}.bar-info-form input,.bar-info-form select,.bar-info-form textarea{font-size:16px}.bar-info-form .chip{padding:8px 12px;font-size:.82rem}.bar-form-actions{position:sticky;bottom:8px;z-index:3;padding:10px;border:2px solid var(--ink);border-radius:14px;background:var(--paper);box-shadow:3px 3px 0 var(--ink)}.bar-form-actions .btn{flex:1}}.bar-closed{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 14px;margin-top:14px;padding:12px 16px;border:2px solid var(--ink);border-radius:14px;background:#ffe3ea;box-shadow:3px 3px 0 var(--ink)}.bar-closed strong{color:var(--wine-deep)}.bar-closed span{color:var(--ink-soft);font-size:.85rem}.quick-terrace{color:var(--teal-deep);font-weight:600}.quick-access{color:var(--wine-deep);font-weight:600}.bar-hidden-banner{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 14px;margin-top:14px;padding:12px 16px;border:2px solid var(--ink);border-radius:14px;background:#fff1c9;box-shadow:3px 3px 0 var(--ink)}.bar-visual-photo{background:#1f1433}.bar-visual-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.event-image{width:100%;border-radius:16px;border:2px solid var(--ink);object-fit:cover;aspect-ratio:16 / 10}.event-image{max-width:320px;margin-bottom:12px}.bar-edit-actions{display:flex;flex-wrap:wrap;gap:10px}.barman-select{min-width:220px}.barman-rows{display:flex;flex-direction:column;gap:10px;margin-bottom:14px}.barman-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr)) auto;gap:8px;align-items:center}.staff-row{grid-template-columns:minmax(0,1fr) auto auto}.staff-row div{display:flex;flex-direction:column;gap:2px}.staff-row small{color:var(--muted)}.staff-form{grid-template-columns:minmax(0,1fr) auto}.barman-row-menu{grid-template-columns:140px 1.2fr 1.6fr 90px auto}.barman-row-event{grid-template-columns:1.4fr 130px 120px 90px 110px 1fr}.barman-row-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:8px}.barman-row input,.barman-row select,.barman-event textarea,.admin-bars-toolbar input,.admin-bars-toolbar select{width:100%;padding:9px 11px;border:2px solid var(--ink);border-radius:10px;background:#fffdf8;font:inherit}.barman-event{padding:14px;margin-bottom:14px;border:2px dashed rgba(31,20,51,.35);border-radius:16px}.barman-event textarea{margin-top:8px;resize:vertical}.barman-thumb{width:64px;height:48px;object-fit:cover;border-radius:8px;border:2px solid var(--ink)}.barman-gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;margin-bottom:12px}.barman-photo{margin:0;border:2px solid var(--ink);border-radius:16px;overflow:hidden;background:#fffdf8}.barman-photo img{width:100%;aspect-ratio:4 / 3;object-fit:cover;display:block}.barman-photo figcaption{display:flex;flex-wrap:wrap;gap:10px;align-items:center;padding:10px}.admin-bars-toolbar{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:14px}.admin-bars-toolbar input{flex:1;min-width:200px}.admin-bars-toolbar select{max-width:180px}.admin-toggle-inline{align-items:center;gap:8px}.admin-pager{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:14px}@media(max-width:860px){.barman-row,.barman-row-menu,.barman-row-event{grid-template-columns:1fr 1fr}}.quick-status{display:inline-flex;align-items:center;gap:6px;padding:3px 9px;border-radius:999px;font-weight:600}.quick-status.is-open{color:#17683f;background:#2ea06224}.quick-status.is-closed{color:var(--wine-deep);background:#d81f4d1a}.status-dot{width:7px;height:7px;border-radius:50%;background:currentColor;display:inline-block}.opening-hours{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:3px}.opening-day{display:flex;justify-content:space-between;gap:16px;font-size:.85rem;line-height:1.4}.opening-day-today{font-weight:700}.opening-day-name{color:var(--muted);min-width:5.5rem}.opening-day-today .opening-day-name{color:var(--ink)}.opening-day-slots{text-align:right}.opening-day-slots.is-closed{color:var(--muted)}.admin-closed-tag,.admin-open-tag{display:inline-block;padding:2px 8px;border:1.5px solid currentColor;border-radius:999px;font-size:.72rem;font-weight:700;white-space:nowrap}.admin-closed-tag{color:var(--wine-deep);background:#d81f4d14}.admin-open-tag{color:#17683f;background:#2ea0621f}.quick-closed-bar{color:var(--wine-deep);font-weight:700}@media(max-width:720px){.menu-card{flex-basis:88%}.menu-carousel{scrollbar-width:none}.menu-carousel::-webkit-scrollbar{display:none}}@media(min-width:861px){.menu-carousel{flex-direction:column;gap:18px;overflow:visible;padding:0;scroll-snap-type:none}.menu-card{flex:none;width:100%}}.admin-taxonomy{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-5)}.taxonomy-add,.taxonomy-edit{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.taxonomy-add{margin-bottom:2px}.taxonomy-add input,.taxonomy-edit input{flex:1;min-width:120px;padding:9px 11px;border:2px solid var(--ink);border-radius:10px;background:#fffdf8;font:inherit}.taxonomy-add .taxonomy-icon,.taxonomy-edit .taxonomy-icon{flex:0 0 54px;min-width:54px;text-align:center}.taxonomy-hint{margin:0;font-size:.74rem}.taxonomy-list{display:flex;flex-direction:column;margin:8px 0 0;padding:0;list-style:none}.taxonomy-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px;padding:9px 0;border-bottom:1px dashed var(--line)}.taxonomy-name{font-weight:600}.taxonomy-slug{color:var(--muted);font-size:.72rem}.taxonomy-count{margin-left:auto;color:var(--muted);font-size:.74rem}@media(max-width:860px){.admin-taxonomy{grid-template-columns:1fr}.taxonomy-count{margin-left:0}}.install-prompt{position:fixed;right:16px;bottom:16px;left:16px;z-index:60;display:flex;align-items:center;gap:12px;max-width:560px;margin:0 auto;padding:14px 44px 14px 16px;border:2px solid var(--ink);border-radius:18px;background:var(--paper);box-shadow:6px 6px 0 var(--ink)}.install-prompt img{flex-shrink:0;border-radius:12px}.install-prompt-copy{flex:1;min-width:0}.install-prompt-copy strong{display:block;font-size:.95rem}.install-prompt-copy p{margin:2px 0 0;color:var(--muted);font-size:.8rem;line-height:1.4}.install-prompt-action{flex-shrink:0}.install-prompt-close{position:absolute;top:6px;right:10px;padding:0;border:0;background:none;color:var(--muted);font-size:1.4rem;line-height:1;cursor:pointer}.install-prompt-close:hover{color:var(--ink)}@media(max-width:640px){.install-prompt{flex-wrap:wrap;padding:14px 16px}.install-prompt-copy{flex:1 1 60%}.install-prompt-action{flex:1 1 100%}}.outing-tools{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;margin:14px 0}.outing-status{color:var(--muted);font-size:.8rem}.outing-status.is-on{color:var(--teal-deep);font-weight:600}.outing-map{height:360px;margin-bottom:18px;overflow:hidden;border:2px solid var(--ink);border-radius:18px;box-shadow:5px 5px 0 var(--ink)}.outing-popup-distances{margin:6px 0 0;padding-left:16px;font-size:.78rem}.outing-result-row{display:flex;align-items:center;gap:12px;padding:12px 14px;border:1.5px solid transparent;border-radius:14px;background:#fff5e0}.outing-result-row.is-selected{border-color:var(--ink);background:var(--sun)}.outing-result-select{display:flex;flex:1;align-items:center;gap:10px;min-width:0;cursor:pointer}.outing-result-select input{width:18px;height:18px;accent-color:var(--wine)}.outing-result-select strong{display:block}.outing-result-select small{display:block;color:var(--muted);font-size:.78rem}.outing-propose{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin:0 0 18px;padding:14px 16px;border:2px solid var(--ink);border-radius:16px;background:var(--cream);box-shadow:4px 4px 0 var(--ink)}.outing-propose span{flex:1}@media(max-width:640px){.outing-map{height:300px}.outing-result-row{flex-wrap:wrap}.outing-distance{margin-left:28px}.outing-propose .btn{width:100%}}.outing-error{margin:0 0 16px;scroll-margin-top:90px}.outing-status.is-error{color:var(--wine-deep);font-weight:600}.outing-distance small{display:block;margin-top:2px;color:var(--muted);font-size:.72rem;font-weight:500}.propose-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}.sheet-backdrop{position:fixed;inset:0;z-index:80;display:flex;align-items:flex-end;justify-content:center;padding:16px 16px max(16px,env(safe-area-inset-bottom));background:#1f143373;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);animation:sheet-fade .16s ease-out}.sheet{width:min(560px,100%);max-height:86vh;overflow-y:auto;padding:10px 18px 18px;border:2px solid var(--ink);border-radius:24px;background:var(--paper);box-shadow:6px 6px 0 var(--ink);animation:sheet-up .18s ease-out}.sheet-handle{display:block;width:40px;height:4px;margin:0 auto 12px;border-radius:999px;background:var(--line)}.sheet-head{display:flex;align-items:flex-start;gap:12px}.sheet-bar{display:flex;flex:1;align-items:center;gap:12px;min-width:0}.sheet-bar img,.sheet-bar-icon{width:56px;height:56px;flex-shrink:0;border:2px solid var(--ink);border-radius:14px;object-fit:cover}.sheet-bar-icon{display:grid;place-items:center;background:var(--sun);font-size:1.5rem}.sheet-bar h2{margin:2px 0;font-size:1.25rem}.sheet-bar small{display:block;color:var(--muted);font-size:.78rem}.sheet-close{flex-shrink:0;width:32px;height:32px;border:2px solid var(--ink);border-radius:50%;background:var(--cream);color:var(--ink);font-size:1.2rem;line-height:1;cursor:pointer}.sheet-tagline{margin:10px 0 8px}.sheet .outing-friends{max-height:260px;margin:12px 0;overflow-y:auto}@media(min-width:720px){.sheet-backdrop{align-items:center}}@keyframes sheet-up{0%{transform:translateY(24px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes sheet-fade{0%{opacity:0}to{opacity:1}}@media(prefers-reduced-motion:reduce){.sheet,.sheet-backdrop{animation:none}}.team-picks{margin-top:var(--space-6)}.team-picks-head{margin-bottom:var(--space-4)}.team-picks-selected,.team-picks-results{display:flex;flex-direction:column;gap:6px;margin:10px 0;padding:0;list-style:none}.team-picks-selected li{display:flex;align-items:center;gap:8px;padding:8px 10px;border:1px solid var(--line);border-radius:10px;background:var(--paper)}.team-picks-position{display:grid;place-items:center;width:22px;height:22px;flex-shrink:0;border-radius:50%;background:var(--sun);font-size:.72rem;font-weight:700}.team-picks-name{flex:1;min-width:0}.team-picks-name small{color:var(--wine-deep);font-size:.72rem}.team-picks-results{padding:8px 10px;border:1px dashed var(--line);border-radius:10px}.detail-actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2)}.admin-issues{display:flex;flex-direction:column;gap:var(--space-4)}.admin-issue{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-4) var(--space-5);border:2px solid var(--ink);border-radius:var(--radius-md);background:var(--paper);box-shadow:3px 3px 0 var(--ink)}.admin-issue-head{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:var(--space-3)}.admin-issue-head h3{margin:0;font-size:1.2rem}.admin-issue-head p{margin:2px 0 0;font-size:.82rem}.admin-issue dl{display:grid;gap:var(--space-2);margin:0}.admin-issue dl>div{display:grid;gap:2px}.admin-issue dt{color:var(--muted);font-size:.68rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.admin-issue dd{margin:0;color:var(--ink-soft);font-size:.9rem;line-height:1.5;white-space:pre-wrap}.admin-issue-value{padding:8px 10px;border-left:3px solid var(--wine);border-radius:0 8px 8px 0;background:#d81f4d12;color:var(--ink);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.82rem}.admin-issue-foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-3);padding-top:var(--space-2);border-top:1px solid var(--line)}.admin-issue-foot .muted{font-size:.76rem}.admin-issue-links{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3);font-size:.82rem;font-weight:600}.admin-issue-links a{color:var(--wine-deep);text-decoration:underline;text-underline-offset:2px}.issue-report{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-4) var(--space-5);border:2px solid var(--ink);border-radius:var(--radius-md);background:var(--paper);box-shadow:3px 3px 0 var(--ink)}.issue-report-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2)}.issue-report label{display:flex;flex-direction:column;gap:6px;color:var(--ink-soft);font-size:.8rem;font-weight:600}.issue-report select,.issue-report textarea{width:100%;padding:10px 12px;border:2px solid var(--ink);border-radius:12px;background:var(--paper);color:var(--ink);font:inherit;font-size:.9rem}.issue-report textarea{resize:vertical}.issue-report-actions{display:flex;flex-wrap:wrap;gap:var(--space-2)}.admin-tabs{display:flex;gap:var(--space-2);overflow-x:auto;padding:0 0 var(--space-4);scrollbar-width:none}.admin-tabs::-webkit-scrollbar{display:none}.admin-tab{flex-shrink:0;padding:9px 14px;border:2px solid var(--ink);border-radius:999px;background:var(--paper);color:var(--ink);font:inherit;font-size:.84rem;font-weight:600;cursor:pointer}.admin-tab.is-active{background:var(--wine);color:#fff7ef}.landing{padding-bottom:var(--space-8)}.landing-hero{padding-bottom:var(--space-6)}.landing-actions{display:flex;flex-wrap:wrap;gap:var(--space-3);margin:0 0 var(--space-5)}.landing-proof{display:flex;flex-wrap:wrap;gap:8px}.landing-proof span{padding:7px 12px;border:1.5px solid var(--ink);border-radius:999px;background:var(--paper);box-shadow:2px 2px 0 var(--ink);font-size:.78rem;font-weight:600}.landing-section{padding-top:var(--space-7)}.landing-section .mood-head{margin-bottom:var(--space-5)}.landing-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-5)}.landing-grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.landing-card{padding:var(--space-5);border:2px solid var(--ink);border-radius:var(--radius-lg);background:var(--paper);box-shadow:5px 5px 0 var(--ink)}.landing-card-icon{display:grid;place-items:center;width:48px;height:48px;margin-bottom:var(--space-4);border:2px solid var(--ink);border-radius:14px;background:var(--sun);box-shadow:2px 2px 0 var(--ink);font-size:1.5rem;line-height:1}.landing-card:nth-child(2) .landing-card-icon{background:var(--lilac)}.landing-card:nth-child(3) .landing-card-icon{background:var(--sky)}.landing-card:nth-child(4) .landing-card-icon{background:var(--lime)}.landing-card h3{margin:0 0 8px;font-size:1.35rem}.landing-card p{margin:0;color:var(--ink-soft);font-size:.92rem;line-height:1.6}.landing-steps{counter-reset:landing-step;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-5);padding-top:var(--space-3)}.landing-step{position:relative;counter-increment:landing-step;padding:38px var(--space-5) var(--space-5);border:2px solid var(--ink);border-radius:var(--radius-md);background:var(--paper);box-shadow:4px 4px 0 var(--ink)}.landing-step:before{content:counter(landing-step);position:absolute;top:-18px;left:var(--space-5);display:grid;place-items:center;width:36px;height:36px;border:2px solid var(--ink);border-radius:50%;background:var(--wine);color:#fff7ef;box-shadow:2px 2px 0 var(--ink);font-family:var(--font-display);font-size:1.05rem;line-height:1}.landing-step h3{margin:8px 0;font-size:1.25rem}.landing-step p{margin:0;color:var(--ink-soft);font-size:.92rem;line-height:1.6}.landing-cta{display:flex;align-items:center;justify-content:space-between;gap:var(--space-6);padding:var(--space-6);border:2px solid var(--ink);border-radius:var(--radius-lg);background:linear-gradient(145deg,var(--wine),#6d1b9e);box-shadow:7px 7px 0 var(--ink);color:#fff7ef}.landing-cta .eyebrow{color:var(--sun)}.landing-cta h2{margin:0 0 10px;font-size:clamp(1.8rem,3vw,2.5rem)}.landing-cta p{max-width:38rem;margin:0;color:#fff7efd1;line-height:1.6}.landing-cta .btn-primary{flex-shrink:0;background:var(--sun);color:var(--ink)}.landing-cta .btn-primary:hover{background:#ffc93c}.landing-cta .btn-ghost{flex-shrink:0;border-color:#fff7ef80;background:transparent;color:#fff7ef}.landing-cta .btn-ghost:hover{border-color:var(--sun);background:#fff7ef1f;color:#fff7ef}.landing-cta-actions{display:flex;flex-wrap:wrap;gap:var(--space-3);flex-shrink:0}.landing-final{padding:var(--space-7) var(--space-6);border:2px solid var(--ink);border-radius:var(--radius-lg);background:var(--paper);box-shadow:5px 5px 0 var(--ink);text-align:center}.landing-final h2{margin:0 0 8px;font-size:clamp(2rem,4vw,3rem)}.landing-final p{margin:0 auto var(--space-5);color:var(--ink-soft)}.landing-final .landing-actions{justify-content:center;margin-bottom:0}.account-menu{position:relative}.account-menu>summary{list-style:none;cursor:pointer}.account-menu>summary::-webkit-details-marker{display:none}.account-menu>summary:after{content:"▾";margin-left:8px;font-size:.7rem;line-height:1}.account-menu .nav-menu{right:0;left:auto;min-width:250px}@media(max-width:1000px){.landing-grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:860px){.landing-grid,.landing-steps{grid-template-columns:1fr}.landing-cta{flex-direction:column;align-items:flex-start}}@media(max-width:720px){.header-cta{display:none}.header-login{padding:7px 13px;font-size:.8rem}.header-login-long{display:none}.header-login-short{display:inline}.landing-hero .hero-lead{display:block;font-size:1rem}.landing-proof{display:none}.landing-grid-4{grid-template-columns:1fr}.landing-actions .btn{flex:0 1 auto}}@media(max-width:640px){.landing-step{padding:34px var(--space-4) var(--space-4)}.landing-cta{padding:var(--space-5)}.landing-final{padding:var(--space-6) var(--space-4)}}.notifications-menu{position:static}.notification-bell{position:relative;display:grid;place-items:center;width:38px;height:38px;border:2px solid var(--ink);border-radius:50%;background:var(--paper);box-shadow:2px 2px 0 var(--ink);cursor:pointer;font-size:1rem;line-height:1;list-style:none}.notification-bell::-webkit-details-marker{display:none}.notification-bell:hover{background:var(--sun)}.notification-badge{position:absolute;top:-7px;right:-7px;display:grid;place-items:center;min-width:18px;height:18px;padding:0 4px;border:1.5px solid var(--ink);border-radius:999px;background:var(--wine);color:#fff7ef;font-size:.62rem;font-weight:700;line-height:1}.notification-panel{right:0;left:auto;width:min(360px,calc(100vw - 36px));max-height:min(70vh,520px);overflow-y:auto;padding:10px}.notification-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:4px 4px 10px;border-bottom:1px solid var(--line);font-size:.86rem}.notification-read-all{padding:0;border:0;background:none;color:var(--wine);font-size:.7rem;font-weight:600;cursor:pointer;text-decoration:underline;text-underline-offset:2px}.notification-list{display:flex;flex-direction:column;gap:2px;margin:0;padding:6px 0 0;list-style:none}.notification-item{display:flex;gap:10px;width:100%;padding:10px;border:0;border-radius:10px;background:transparent;color:var(--ink);text-align:left;cursor:pointer}.notification-item:hover{background:var(--sun)}.notification-item.is-unread{background:#d81f4d14}.notification-item.is-unread:hover{background:var(--sun)}.notification-icon{flex-shrink:0;font-size:1rem;line-height:1.3}.notification-copy{display:flex;flex-direction:column;gap:2px;min-width:0}.notification-item-title{font-size:.82rem;font-weight:700}.notification-item-body{color:var(--ink-soft);font-size:.76rem;line-height:1.4}.notification-item-time{color:var(--muted);font-size:.68rem}.notification-empty{margin:0;padding:18px 10px;color:var(--muted);font-size:.82rem;text-align:center}.notification-error{margin:8px 4px 0}.join-request-list{display:flex;flex-direction:column;gap:10px;margin:0;padding:0;list-style:none}.join-request{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border:1.5px solid var(--ink);border-radius:14px;background:var(--cream)}.join-request-copy{display:flex;flex-direction:column;gap:2px;min-width:0}.join-request-copy small{color:var(--muted);font-size:.76rem}.join-request-actions{display:flex;flex-wrap:wrap;gap:8px}.join-request-actions .btn{padding:8px 13px;font-size:.8rem}@media(max-width:720px){.notification-bell{width:34px;height:34px;font-size:.92rem}.notification-panel{width:min(330px,calc(100vw - 32px))}.join-request-actions{width:100%}.join-request-actions .btn{flex:1}}
