:root{--bg:#0b0908;--bg-elevated:#161210;--bg-card:#1c1712;--amber:#c59d79;--amber-bright:#e0b888;--amber-dim:#8a6a4a;--cream:#f2e6d4;--text:#f5efe6;--text-muted:#a89888;--border:#2a2218;--danger:#c45a5a;--radius:18px;--font-display:"Fraunces", Georgia, serif;--font-body:"DM Sans", system-ui, sans-serif;--tab-h:64px;--safe-bottom:env(safe-area-inset-bottom,0px);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:before,:after{box-sizing:border-box}html,body,#root{background:var(--bg);height:100%;min-height:100%;color:var(--text);font-family:var(--font-body);-webkit-font-smoothing:antialiased;margin:0}body{overflow-x:hidden}button{cursor:pointer;color:inherit;background:0 0;border:none;font-family:inherit}h1,h2,h3,.serif{font-family:var(--font-display);letter-spacing:-.01em;font-weight:600}.app-shell{background:radial-gradient(ellipse at top, #1a1410 0%, var(--bg) 55%);max-width:480px;height:100%;min-height:100%;padding-bottom:calc(var(--tab-h) + var(--safe-bottom));flex-direction:column;margin:0 auto;display:flex;position:relative}.app-shell.journey-mode.journey-3d{background:#050403;max-width:none}.app-shell.journey-mode.journey-2d{background:radial-gradient(ellipse at top, #1a1410 0%, var(--bg) 55%);max-width:480px}.app-shell.camera-mode{background:#050403}.header{z-index:40;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--border);background:#0b0908eb;flex-shrink:0;justify-content:space-between;align-items:center;padding:14px 16px;display:flex;position:sticky;top:0}.header-brand{align-items:center;gap:10px;display:flex}.crown-badge{background:linear-gradient(145deg, var(--amber-bright), var(--amber-dim));border-radius:50%;place-items:center;width:36px;height:36px;font-size:18px;display:grid;box-shadow:0 0 16px #c59d7959}.header-title{font-family:var(--font-display);margin:0;font-size:1.25rem}.header-actions{align-items:center;gap:8px;display:flex}.icon-btn{background:var(--bg-card);border:1px solid var(--border);width:40px;height:40px;color:var(--cream);border-radius:12px;place-items:center;font-size:.85rem;transition:background .15s;display:grid}.icon-btn:hover{background:#2a2218}.tab-bar{width:100%;max-width:480px;height:calc(var(--tab-h) + var(--safe-bottom));padding:6px 8px calc(8px + var(--safe-bottom));border-top:1px solid var(--border);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);z-index:50;background:#0e0b09f5;grid-template-columns:repeat(3,1fr);gap:4px;display:grid;position:fixed;bottom:0;left:50%;transform:translate(-50%)}.app-shell.journey-mode.journey-3d .tab-bar{max-width:none;left:0;transform:none}.tab-item{color:var(--text-muted);border-radius:14px;flex-direction:column;justify-content:center;align-items:center;gap:2px;padding:6px 4px;transition:background .15s,color .15s;display:flex}.tab-item.active{color:var(--amber-bright);background:#c59d791f}.tab-icon{font-size:1.15rem;line-height:1}.tab-item-camera{overflow:visible}.tab-item-camera.active{background:0 0}.tab-icon-camera{border:1px solid var(--amber-bright);background:linear-gradient(145deg, var(--amber-bright), var(--amber-dim));color:#24170f;border-radius:50%;place-items:center;width:48px;height:48px;margin-top:-10px;display:grid;box-shadow:0 5px 18px #c59d796b,0 0 0 4px #c59d7917}.tab-icon-camera svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:25px;height:25px}.tab-item-camera .tab-label{z-index:1;margin-top:-4px;position:relative}.tab-label{letter-spacing:.01em;font-size:.72rem;font-weight:600}.home{-webkit-overflow-scrolling:touch;flex:1;padding:8px 16px 24px;overflow-y:auto}.rank-hero{margin:12px 0 8px}.rank-hero h1{margin:0 0 8px;font-size:2.4rem;line-height:1.05}.rank-hero p{color:var(--text-muted);margin:0;font-size:.95rem;line-height:1.45}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);margin:14px 0;padding:16px}.progress-card{grid-template-columns:1fr 1fr;gap:8px;display:grid}.progress-card .big-num{font-family:var(--font-display);margin:0;font-size:2.8rem;line-height:1}.progress-card .label{color:var(--amber);margin-top:4px;font-size:.9rem}.progress-card .right{text-align:right;color:var(--cream);font-family:var(--font-display);align-self:end;font-style:italic}.progress-bar{border:1px solid var(--border);background:#0e0c0a;border-radius:99px;grid-column:1/-1;height:8px;margin-top:10px;overflow:hidden}.progress-bar>span{background:linear-gradient(90deg, var(--amber-dim), var(--amber-bright));border-radius:99px;height:100%;transition:width .4s;display:block}.steps{grid-template-columns:repeat(3,1fr);gap:8px;margin:14px 0;display:grid}.step{background:var(--bg-card);border:1px solid var(--border);text-align:center;border-radius:14px;padding:12px 8px}.step .n{color:var(--amber);font-family:var(--font-display);margin-bottom:4px;font-size:1.2rem;display:block}.step .t{color:var(--cream);font-size:.78rem;line-height:1.25}.section-title{font-family:var(--font-display);margin:28px 0 10px;font-size:1.55rem;font-style:italic}.rank-row{background:var(--bg-card);border:1px solid var(--border);border-radius:14px;align-items:center;gap:12px;padding:12px;display:flex}.rank-row .pos{font-family:var(--font-display);color:var(--amber);width:24px}.avatar{width:36px;height:36px;color:var(--amber);background:#2a2218;border-radius:50%;place-items:center;font-weight:600;display:grid}.rank-row .meta{flex:1}.rank-row .meta strong{display:block}.rank-row .meta span{color:var(--text-muted);font-size:.85rem}.hint{color:var(--text-muted);margin:8px 0 0;font-size:.85rem}.btn-row{flex-direction:column;gap:10px;margin:16px 0;display:flex}.btn{border-radius:14px;justify-content:center;align-items:center;gap:8px;padding:14px 18px;font-size:.95rem;font-weight:600;transition:transform .1s,opacity .15s;display:inline-flex}.btn:active{transform:scale(.98)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-primary{background:linear-gradient(145deg, var(--amber-bright), var(--amber));color:#1a1008}.btn-secondary{background:var(--bg-card);border:1px solid var(--border);color:var(--cream)}.btn-ghost{color:var(--amber);padding:8px;font-size:.85rem}.collection-strip{-webkit-overflow-scrolling:touch;gap:10px;padding-bottom:8px;display:flex;overflow-x:auto}.collection-chip{background:var(--bg-card);border:1px solid var(--border);border-radius:14px;flex-direction:column;flex:none;gap:4px;width:120px;padding:12px;display:flex}.collection-chip .chip-emoji{font-size:1.4rem}.collection-chip strong{white-space:nowrap;text-overflow:ellipsis;font-size:.85rem;overflow:hidden}.collection-chip span{color:var(--text-muted);font-size:.72rem}.camera-tab{flex-direction:column;flex:1;min-height:0;padding:12px 16px 16px;display:flex;overflow-y:auto}.camera-header{text-align:center;margin-bottom:12px}.camera-header h2{margin:0 0 6px;font-size:1.65rem}.camera-header p{color:var(--text-muted);margin:0 0 10px;font-size:.92rem;line-height:1.4}.viewfinder{aspect-ratio:3/4;border:1px solid var(--border);background:#0a0806;border-radius:20px;width:100%;max-height:min(52vh,420px);margin:0 auto;position:relative;overflow:hidden}.camera-video{object-fit:cover;width:100%;height:100%;transform:scaleX(-1)}.camera-fallback{height:100%;color:var(--text-muted);text-align:center;background:radial-gradient(circle at 40% 35%,#3a2a20 0%,#0000 45%),linear-gradient(#1a1410,#0e0c0a);flex-direction:column;justify-content:center;align-items:center;gap:10px;padding:24px;display:flex}.camera-fallback .cam-icon{font-size:2.4rem}.viewfinder-frame{pointer-events:none;position:absolute;inset:18px}.viewfinder-frame .corner{border-color:var(--amber);border-style:solid;border-width:0;width:28px;height:28px;position:absolute}.viewfinder-frame .tl{border-top-width:3px;border-left-width:3px;border-radius:4px 0 0;top:0;left:0}.viewfinder-frame .tr{border-top-width:3px;border-right-width:3px;border-radius:0 4px 0 0;top:0;right:0}.viewfinder-frame .bl{border-bottom-width:3px;border-left-width:3px;border-radius:0 0 0 4px;bottom:0;left:0}.viewfinder-frame .br{border-bottom-width:3px;border-right-width:3px;border-radius:0 0 4px;bottom:0;right:0}.label-hint{border:1px solid var(--border);color:var(--amber);white-space:nowrap;background:#0b0908bf;border-radius:99px;padding:6px 12px;font-size:.78rem;position:absolute;bottom:14px;left:50%;transform:translate(-50%)}.photo-preview{width:100%;height:100%;position:relative}.photo-preview img{object-fit:cover;width:100%;height:100%}.mock-shot{background:radial-gradient(circle at 40% 35%,#3a2a20 0%,#0000 40%),linear-gradient(#1a1410,#0e0c0a);justify-content:center;align-items:center;gap:16px;height:100%;font-size:3.2rem;display:flex}.ai-overlay{color:var(--cream);font-family:var(--font-display);background:#050403b8;flex-direction:column;justify-content:center;align-items:center;gap:12px;font-style:italic;display:flex;position:absolute;inset:0}.ai-overlay.done{color:var(--amber-bright);background:#140e06cc;font-size:1.2rem}.ai-spinner{border:3px solid var(--border);border-top-color:var(--amber);border-radius:50%;width:36px;height:36px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.camera-actions{flex-direction:column;align-items:center;margin-top:16px;display:flex}.shutter-btn{background:linear-gradient(145deg, var(--amber-bright), var(--amber));border-radius:50%;place-items:center;width:72px;height:72px;display:grid;box-shadow:0 0 0 4px #c59d7940,0 8px 24px #0006}.shutter-ring{border:3px solid #1a100859;border-radius:50%;width:56px;height:56px}.shutter-label{color:var(--cream);margin:10px 0 4px;font-weight:600}.frame-caption{color:var(--text-muted);text-align:center;margin:0 0 12px;font-size:.82rem}.camera-alt-row{flex-wrap:wrap;justify-content:center;gap:10px;width:100%;display:flex}.select-title{align-self:stretch;margin:0 0 10px;font-size:1.2rem}.beer-pick-list{flex-direction:column;gap:8px;width:100%;margin:0 0 8px;padding:0;list-style:none;display:flex}.beer-pick{text-align:left;background:var(--bg-card);border:1px solid var(--border);width:100%;color:var(--cream);border-radius:14px;padding:14px 16px;font-weight:500}.beer-pick.selected{border-color:var(--amber);color:var(--amber-bright);background:#c59d7926}.camera-actions .btn-row{width:100%}.journey-layout{flex-direction:column;flex:1;height:100%;min-height:0;display:flex;position:relative}.journey-canvas-wrap{touch-action:none;flex:1;min-height:0;position:relative}.app-shell.journey-2d .journey-canvas-wrap{touch-action:pan-y pinch-zoom;-webkit-overflow-scrolling:touch;background:radial-gradient(at 50% 20%,#c59d7914,#0000 55%),#100c09;justify-content:center;align-items:stretch;display:flex;overflow:auto}.app-shell.journey-2d .journey-hud{background:linear-gradient(#050403e0,#0000 85%);padding:10px 14px 16px;top:0;bottom:auto}.app-shell.journey-2d .route-hud-card{text-align:left;max-width:none;margin:0}.app-shell.journey-2d .route-hud-points-row{justify-content:flex-start}.app-shell.journey-2d .orbit-hint{text-align:left}.journey-hud{left:0;right:0;bottom:calc(var(--tab-h) + var(--safe-bottom) + 4px);z-index:20;pointer-events:none;background:linear-gradient(#0000,#050403eb 35%);padding:12px 16px 8px;position:absolute}.journey-hud>*{pointer-events:auto}.orbit-hint{text-align:center;color:var(--text-muted);margin:0;font-size:.75rem}.world-chip{border:1px solid var(--border);background:#1c1712e6;border-radius:99px;align-items:center;gap:8px;max-width:fit-content;margin:0 auto 8px;padding:6px 14px;font-size:.85rem;display:inline-flex}.world-chip .dot{background:var(--amber);width:8px;height:8px;box-shadow:0 0 8px var(--amber);border-radius:50%}.overlay{z-index:100;padding-bottom:calc(var(--tab-h) + var(--safe-bottom));background:#000000a6;justify-content:center;align-items:flex-end;animation:.2s fadeIn;display:flex;position:fixed;inset:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.sheet{background:var(--bg-elevated);border:1px solid var(--border);border-radius:24px 24px 0 0;width:100%;max-width:480px;max-height:75vh;padding:20px 18px 28px;animation:.25s slideUp;overflow-y:auto}@keyframes slideUp{0%{transform:translateY(40px)}to{transform:translateY(0)}}.sheet-handle{background:#3a3028;border-radius:99px;width:40px;height:4px;margin:0 auto 14px}.sheet h2{margin:0 0 8px;font-size:1.5rem}.sheet p{color:var(--text-muted);margin:0 0 14px;line-height:1.45}.badge{color:var(--amber);border:1px solid var(--border);background:#2a2218;border-radius:99px;padding:4px 10px;font-size:.75rem;display:inline-block}.world-meta{flex-wrap:wrap;justify-content:center;gap:8px;margin-bottom:12px;display:flex}.camera-header .world-meta,.camera-header .badge{margin:0 auto}@media (width>=768px){.app-shell:not(.journey-3d){border-left:1px solid var(--border);border-right:1px solid var(--border)}.app-shell.journey-3d .journey-canvas-wrap{min-height:480px}}.catalog{flex-direction:column;gap:10px;margin-bottom:8px;display:flex}.catalog-search{border:1px solid var(--border);background:var(--bg-card);width:100%;color:var(--cream);border-radius:14px;outline:none;padding:12px 14px;font-size:.95rem}.catalog-search::placeholder{color:var(--text-muted)}.catalog-search:focus{border-color:var(--amber-dim);box-shadow:0 0 0 2px #c59d792e}.catalog-filters{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.catalog-filter{flex:120px;min-width:0}.catalog-filter select{border:1px solid var(--border);background:var(--bg-elevated);width:100%;color:var(--cream);appearance:none;background-image:linear-gradient(45deg, transparent 50%, var(--amber-dim) 50%), linear-gradient(135deg, var(--amber-dim) 50%, transparent 50%);background-position:calc(100% - 16px) calc(50% - 2px),calc(100% - 11px) calc(50% - 2px);background-repeat:no-repeat;background-size:5px 5px,5px 5px;border-radius:12px;outline:none;padding:10px 28px 10px 12px;font-size:.85rem}.catalog-filter select:focus{border-color:var(--amber-dim)}.catalog-toggle{border:1px solid var(--border);background:var(--bg-card);color:var(--text-muted);white-space:nowrap;border-radius:999px;flex:none;padding:10px 12px;font-size:.78rem;font-weight:500}.catalog-toggle.active{border-color:var(--amber);color:var(--amber-bright);background:#c59d792e}.catalog-count{color:var(--text-muted);letter-spacing:.02em;margin:0;font-size:.78rem}.catalog-empty{margin:4px 0 0}.catalog-list{border:1px solid var(--border);background:var(--bg-card);-webkit-overflow-scrolling:touch;border-radius:16px;max-height:340px;margin:0;padding:0;list-style:none;overflow-y:auto}.catalog-row{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;gap:10px;padding:12px 14px;display:flex}.catalog-row:last-child{border-bottom:none}.catalog-row.is-checked{background:#c59d7914}.catalog-row-main{flex-direction:column;gap:3px;min-width:0;display:flex}.catalog-name{color:var(--cream);font-size:.92rem;font-weight:600;line-height:1.25}.catalog-meta{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;font-size:.75rem;line-height:1.3;overflow:hidden}.catalog-row-side{flex-direction:column;flex:none;align-items:flex-end;gap:4px;display:flex}.catalog-abv{color:var(--amber);font-variant-numeric:tabular-nums;font-size:.78rem}.catalog-badge{width:20px;height:20px;color:var(--amber-bright);background:#c59d7940;border-radius:999px;justify-content:center;align-items:center;font-size:.72rem;font-weight:700;display:inline-flex}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.beer-pick-name{font-weight:500}.beer-pick-brewery{color:var(--text-muted);padding-left:1.6em;font-size:.78rem;font-weight:400}.beer-pick.selected .beer-pick-brewery{color:var(--amber-dim)}.beer-collection{flex-direction:column;gap:10px;margin-bottom:8px;display:flex}.collection-summary{color:var(--text-muted);font-size:.82rem}.collection-summary strong{color:var(--amber-bright);font-weight:600}.collection-summary .sep{opacity:.6;margin:0 6px}.collection-search{border:1px solid var(--border);background:var(--bg-card);width:100%;color:var(--cream);border-radius:14px;outline:none;padding:12px 14px;font-size:.95rem}.collection-search::placeholder{color:var(--text-muted)}.collection-search:focus{border-color:var(--amber-dim);box-shadow:0 0 0 2px #c59d792e}.collection-filters{grid-template-columns:1fr 1fr;gap:8px;display:grid}.collection-filters select{border:1px solid var(--border);background:var(--bg-elevated);width:100%;color:var(--cream);appearance:none;background-image:linear-gradient(45deg, transparent 50%, var(--amber-dim) 50%), linear-gradient(135deg, var(--amber-dim) 50%, transparent 50%);background-position:calc(100% - 14px) calc(50% - 2px),calc(100% - 9px) calc(50% - 2px);background-repeat:no-repeat;background-size:5px 5px,5px 5px;border-radius:12px;outline:none;padding:10px 28px 10px 12px;font-size:.82rem}.collection-filters select:focus{border-color:var(--amber-dim)}.collection-result-count{color:var(--text-muted);letter-spacing:.02em;margin:0;font-size:.78rem}.beer-list{border:1px solid var(--border);background:var(--bg-card);-webkit-overflow-scrolling:touch;border-radius:16px;max-height:360px;margin:0;padding:0;list-style:none;overflow-y:auto}.beer-row{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;gap:10px;padding:12px 14px;display:flex}.beer-row:last-child{border-bottom:none}.beer-row.checked{background:#c59d7914}.beer-row-main{flex-direction:column;gap:3px;min-width:0;display:flex}.beer-row-main strong{color:var(--cream);font-size:.92rem;font-weight:600;line-height:1.25}.beer-meta{color:var(--text-muted);font-size:.75rem;line-height:1.3}.beer-blurb{color:var(--amber-dim);margin-top:2px;font-size:.72rem;line-height:1.35}.beer-status{white-space:nowrap;border-radius:999px;flex:none;padding:4px 8px;font-size:.7rem;font-weight:600}.beer-status.on{color:var(--amber-bright);background:#c59d7938}.beer-status.off{color:var(--text-muted);background:#2a2218cc}.beer-pick-meta{color:var(--text-muted);margin-top:3px;font-size:.78rem;font-weight:400;display:block}.beer-pick.selected .beer-pick-meta{color:var(--amber-dim)}.beer-row{padding:0}.beer-row-trigger{text-align:left;align-items:flex-start;gap:10px;width:100%;padding:12px 14px;display:flex}.beer-row-trigger:hover{background:#c59d7914}.beer-row-trigger:focus-visible{z-index:1;outline:2px solid var(--amber-bright);outline-offset:-2px;position:relative}.beer-detail-sheet{max-height:min(84vh,720px);position:relative}.beer-detail-close{z-index:1;font-size:1.25rem;position:absolute;top:14px;right:14px}.beer-detail-hero{align-items:center;gap:16px;padding-right:42px;display:flex}.beer-detail-image{object-fit:cover;background:#1a1410;border:1px solid #c59d7973;border-radius:18px;flex:none;width:min(42vw,180px);height:min(42vw,180px)}.beer-detail-heading{min-width:0}.beer-detail-kicker{color:var(--text-muted);letter-spacing:.08em;text-transform:uppercase;margin-bottom:4px;font-size:.72rem;display:block}.beer-detail-heading h2{margin:0 0 6px;font-size:1.45rem}.beer-detail-brewery{font-family:var(--font-display);font-style:italic;color:var(--amber)!important;margin:0 0 6px!important}.beer-detail-meta{color:var(--text-muted);font-size:.82rem;line-height:1.4;margin:0!important}.beer-detail-blurb{margin:18px 0 12px!important}.beer-detail-stats{flex-wrap:wrap;gap:8px;margin:0 0 16px;display:flex}.beer-detail-stats span{border:1px solid var(--border);color:var(--amber-bright);background:#c59d791f;border-radius:999px;padding:6px 10px;font-size:.78rem;font-weight:600;display:inline-flex}.beer-row{align-items:flex-start;gap:10px;display:flex}.beer-thumb{object-fit:cover;background:#1a1410;border:1px solid #c59d7959;border-radius:10px;flex-shrink:0;width:48px;height:48px}.beer-row.locked .beer-thumb{filter:grayscale(.55)brightness(.75);opacity:.85}.route-fallback{text-align:center;height:100%;min-height:240px;color:var(--amber,#c59d79);background:#07050a;place-content:center;gap:12px;padding:24px;display:grid}.route-fallback-detail{color:var(--text-muted,#a89888);max-width:280px;margin:0 auto;font-size:.8rem}.journey-canvas-wrap,.journey-canvas-wrap canvas{width:100%;height:100%;min-height:320px}.beer-pick{flex-direction:row;align-items:center;gap:12px;display:flex}.beer-pick-thumb{object-fit:cover;background:#00000040;border-radius:8px;flex-shrink:0;width:40px;height:40px}.beer-pick-text{flex-direction:column;gap:2px;min-width:0;display:flex}.beer-pick-text strong{font-weight:600}.beer-explore-photo{object-fit:cover;border:1px solid var(--border);background:#1a1410;border-radius:14px;flex-shrink:0;width:96px;height:96px}.beer-explore-hero-text{flex:1;min-width:0}.beer-explore-hero-text h2{margin:4px 0 2px;font-size:1.35rem}.beer-explore-brewery{font-family:var(--font-display);font-style:italic;color:var(--amber)!important;margin:0 0 4px!important}.beer-explore-meta{color:var(--text-muted);font-size:.85rem;margin-bottom:8px!important}.world-beer-heading{color:var(--amber-bright);margin:4px 0 8px;font-size:.95rem}.route-hud-card{text-align:center;max-width:420px;margin:0 auto}.route-hud-meta{color:var(--text-muted);flex-direction:column;align-items:center;gap:6px;margin-bottom:6px;font-size:.8rem;display:flex}.route-hud-bar{background:#2a2218;border-radius:99px;width:min(220px,70vw);height:4px;display:block;overflow:hidden}.route-hud-bar>i{background:linear-gradient(90deg, var(--amber-dim), var(--amber-bright));border-radius:99px;height:100%;display:block}.beer-explain-panel{max-height:min(78vh,640px);overflow-y:auto}.beer-explain-lede{color:var(--text-muted);margin:0 0 12px;font-size:.88rem;line-height:1.4}.beer-explain-list{flex-direction:column;gap:10px;margin:0 0 14px;padding:0;list-style:none;display:flex}.beer-explain-row{border:1px solid var(--border);background:var(--bg-card);border-radius:14px;align-items:flex-start;gap:12px;padding:10px 12px;display:flex}.beer-explain-thumb{object-fit:cover;background:#1a1410;border:1px solid #c59d7959;border-radius:12px;flex-shrink:0;width:64px;height:64px}.beer-explain-body{flex-direction:column;gap:3px;min-width:0;display:flex}.beer-explain-body strong{color:var(--cream);font-size:.95rem}.beer-explain-meta{color:var(--text-muted);font-size:.75rem}.beer-explain-blurb{color:var(--amber-dim);margin:2px 0 0;font-size:.78rem;line-height:1.35}.beer-explore-sheet .beer-explore-hero{align-items:flex-start;gap:12px;margin-bottom:8px;display:flex}.beer-explore-photo{object-fit:cover;background:#1a1410;border:1px solid #c59d7959;border-radius:14px;width:96px;height:96px}.beer-explore-brewery{color:var(--amber);margin:0;font-size:.9rem}.beer-explore-meta{color:var(--text-muted);margin:0 0 8px;font-size:.8rem}.world-beer-list{margin:12px 0 4px}.world-beer-heading{color:var(--amber);letter-spacing:.02em;margin:0 0 8px;font-size:.85rem;font-weight:600}.beer-pick-list{flex-direction:column;gap:6px;max-height:220px;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.route-hud-points{gap:8px}.route-hud-points-row{align-items:center;gap:8px;display:flex}.route-hud-crown{filter:drop-shadow(0 0 6px #ffd70073);font-size:1.1rem;line-height:1}.route-hud-points-text{color:#f2e6d4;letter-spacing:.01em;font-family:Georgia,Times New Roman,serif;font-size:.95rem}.route-hud-points .route-hud-bar{background:#140e08a6;border-radius:999px;width:100%;height:4px;margin-top:2px;display:block;overflow:hidden}.route-hud-points .route-hud-bar>i{background:linear-gradient(90deg,#8a5a28,#c59d79,#e0b888);border-radius:999px;height:100%;display:block;box-shadow:0 0 8px #c59d798c}.beer-pick-pts{color:#c59d79;margin-top:2px;font-size:.78rem;font-weight:600;display:block}.route-map{width:100%;min-height:100%;padding:64px 6px calc(var(--tab-h) + 28px);box-sizing:border-box;display:block;overflow:visible}.route-map-svg{aspect-ratio:400/720;filter:drop-shadow(0 8px 24px #00000073);width:100%;height:auto;display:block}.route-map-stop text,.route-map-pawn text{-webkit-user-select:none;user-select:none}.route-map-stop:focus,.route-map-brewery:focus{outline:none}.route-map-stop:focus-visible circle:first-of-type,.route-map-brewery:focus-visible circle{stroke:var(--amber-bright);stroke-width:3px}.route-mode-toggle{pointer-events:auto;flex-wrap:wrap;justify-content:flex-end;gap:8px;margin-top:6px;display:flex}.btn-route-mode{color:var(--amber-bright);letter-spacing:.02em;background:#1c1712d9;border:1px solid #c59d7966;border-radius:99px;padding:5px 10px;font-size:.72rem}.btn-route-mode:hover,.btn-route-mode:focus-visible{border-color:var(--amber);background:#c59d792e}.btn-route-mode.is-active{border-color:var(--amber);color:#f2e6d4;background:#c59d7947}.route-gate-flash{z-index:40;pointer-events:none;background:radial-gradient(at 50% 18%,#ffdc8c8c,#140c06bf 55%,#000000d9);animation:.75s ease-out forwards route-gate-flash-anim;position:absolute;inset:0}@keyframes route-gate-flash-anim{0%{opacity:0}25%{opacity:1}to{opacity:0}}.route-map{position:relative}.route-map.is-teleport:after{content:"";z-index:40;pointer-events:none;background:radial-gradient(at 50% 12%,#ffdc8c8c,#140c06cc 50%,#000000e6);animation:.45s ease-out forwards route-gate-flash-anim;position:absolute;inset:0}.beer-thumb-btn,.beer-row-main-btn{color:inherit;font:inherit;cursor:pointer;border:0}.beer-thumb-btn{flex:none;padding:12px 0 12px 14px}.beer-row-main-btn{text-align:left;flex:auto;align-items:flex-start;min-width:0;padding:12px 0}.beer-thumb-btn:focus-visible,.beer-row-main-btn:focus-visible{z-index:1;outline:2px solid var(--amber-bright);outline-offset:-2px;position:relative}.beer-row-main-btn:hover,.beer-thumb-btn:hover{background:#c59d7914}.beer-lightbox{z-index:110;background:#000000c7;place-items:center;padding:24px;animation:.2s fadeIn;display:grid;position:fixed;inset:0}.beer-lightbox-card{border:1px solid var(--border);background:var(--bg-elevated);border-radius:24px;width:min(100%,430px);max-height:calc(100vh - 48px);padding:22px;animation:.25s slideUp;position:relative;overflow-y:auto;box-shadow:0 18px 60px #0000008c}.beer-lightbox-x{z-index:1;font-size:1.2rem;position:absolute;top:14px;right:14px}.beer-lightbox-img{aspect-ratio:1;object-fit:cover;background:#1a1410;border:1px solid #c59d7973;border-radius:18px;width:min(100%,260px);margin:0 auto 18px;display:block}.beer-lightbox-meta{color:var(--text-muted);flex-direction:column;gap:5px;font-size:.84rem;line-height:1.4;display:flex}.beer-lightbox-kicker{color:var(--text-muted);letter-spacing:.08em;text-transform:uppercase;font-size:.7rem}.beer-lightbox-meta strong{color:var(--cream);font-family:var(--font-display);font-size:1.55rem;line-height:1.15}.beer-lightbox-meta p{color:var(--cream);margin:8px 0 4px;line-height:1.45}.beer-lightbox-stats{flex-wrap:wrap;gap:8px;margin-top:8px;display:flex}.beer-lightbox-stats span{border:1px solid var(--border);color:var(--amber-bright);background:#c59d791f;border-radius:999px;padding:6px 10px;font-size:.78rem;font-weight:600}.beer-lightbox-close{width:100%;margin-top:18px}
