.wheel-container{position:relative;width:100%;max-width:340px;margin:0 auto;aspect-ratio:1}.wheel-outer-ring{position:absolute;top:-8px;right:-8px;bottom:-8px;left:-8px;border-radius:50%;background:linear-gradient(135deg,#c9a54e,#8b6914,#c9a54e);padding:8px}.wheel-inner{position:relative;width:100%;height:100%;border-radius:50%;overflow:hidden;box-shadow:var(--shadow-glow)}.wheel-face{width:100%;height:100%;border-radius:50%;transition:transform 0s;position:relative}.wheel-label{position:absolute;top:50%;left:50%;transform-origin:0 0;font-size:11px;font-weight:700;color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.7);text-transform:uppercase;letter-spacing:.05em;pointer-events:none;white-space:nowrap}.wheel-pointer{position:absolute;top:-12px;left:50%;transform:translate(-50%);width:0;height:0;border-left:16px solid transparent;border-right:16px solid transparent;border-top:28px solid var(--accent);filter:drop-shadow(0 2px 4px rgba(0,0,0,.5));z-index:2}.wheel-pointer.pulse{animation:pulse .5s ease-in-out infinite}.wheel-center{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:50px;height:50px;border-radius:50%;background:linear-gradient(135deg,#c9a54e,#8b6914);box-shadow:0 2px 8px #00000080;z-index:1;display:flex;align-items:center;justify-content:center}.wheel-center-inner{width:30px;height:30px;border-radius:50%;background:var(--bg-deep)}.wheel-spin-btn{min-height:var(--touch-cta);width:100%;margin-top:var(--space-lg);font-family:var(--font-display);text-transform:uppercase;letter-spacing:.1em;font-size:var(--text-xl)}.wheel-result{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#0e0c0ad9;border-radius:50%;animation:spinIn var(--transition-slow);z-index:3}.wheel-result-segment{font-family:var(--font-display);font-size:var(--text-2xl);font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--accent);text-align:center}.wheel-result-desc{font-size:var(--text-sm);color:var(--text-secondary);text-align:center;max-width:200px;margin-top:var(--space-sm)}.sub-wheel-container{max-width:200px}.sub-wheel-title{font-family:var(--font-display);text-transform:uppercase;color:var(--danger);text-align:center;margin-bottom:var(--space-md);font-size:var(--text-xl)}.prediction-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-sm);padding:var(--space-md)}.prediction-btn{padding:var(--space-md);border-radius:var(--radius-md);background:var(--bg-surface);border:2px solid transparent;color:var(--text-primary);font-size:var(--text-sm);font-weight:600;cursor:pointer;text-align:center;transition:var(--transition-fast)}.prediction-btn:active{transform:scale(.95)}.prediction-btn.selected{border-color:var(--accent);background:#d4952a1a}.prediction-btn.correct{border-color:var(--success);background:#5cb87a26}.prediction-btn.wrong{border-color:var(--danger);background:#d45d5d26}.veto-btn{background:transparent;border:2px solid var(--danger);color:var(--danger);font-weight:700;padding:var(--space-sm) var(--space-lg);border-radius:var(--radius-md);cursor:pointer}.pubcrawl-map{width:100%;height:220px;border-radius:var(--radius-lg);overflow:hidden;border:1px solid rgba(212,149,42,.15)}.pubcrawl-map .leaflet-control-attribution{background:#0e0c0ab3!important;color:var(--text-muted)!important;font-size:9px!important}.pubcrawl-map .leaflet-control-attribution a{color:var(--text-secondary)!important}.pubcrawl-map .leaflet-control-zoom a{background:var(--bg-surface)!important;color:var(--text-primary)!important;border-color:#d4952a33!important}.pubcrawl-map .leaflet-control-zoom a:hover{background:var(--bg-elevated)!important}.bar-marker{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50% 50% 50% 0;background:var(--accent);color:#0e0c0a;font-weight:700;font-size:12px;transform:rotate(-45deg);border:2px solid rgba(255,255,255,.3);box-shadow:0 2px 8px #0006}.bar-marker span{transform:rotate(45deg)}.bar-marker-current{background:var(--success);width:32px;height:32px;font-size:14px;animation:markerPulse 2s ease-in-out infinite}.bar-marker-completed{background:var(--text-muted);opacity:.7}.bar-marker-next{background:var(--accent);width:34px;height:34px;font-size:14px;animation:markerPulse 2s ease-in-out infinite}@keyframes markerPulse{0%,to{box-shadow:0 2px 8px #0006}50%{box-shadow:0 2px 16px #d4952a99}}.bar-autocomplete{position:relative}.bar-autocomplete-results{position:absolute;top:100%;left:0;right:0;z-index:1000;background:var(--bg-elevated);border:1px solid rgba(212,149,42,.2);border-radius:var(--radius-md);max-height:240px;overflow-y:auto;box-shadow:0 8px 24px #00000080;margin-top:4px}.bar-autocomplete-item{display:flex;flex-direction:column;gap:2px;padding:10px 12px;cursor:pointer;transition:background var(--transition-fast);border-bottom:1px solid rgba(255,255,255,.05)}.bar-autocomplete-item:last-child{border-bottom:none}.bar-autocomplete-item:hover,.bar-autocomplete-item:active{background:#d4952a1a}.bar-autocomplete-item-name{font-weight:600;color:var(--text-primary);font-size:var(--text-base)}.bar-autocomplete-item-address{color:var(--text-secondary);font-size:var(--text-sm)}.bar-autocomplete-loading{padding:12px;text-align:center;color:var(--text-muted);font-size:var(--text-sm)}.leaflet-overlay-pane svg path.route-line{stroke:var(--accent)}
