.logo{font-family:var(--font-display);font-size:var(--f);letter-spacing:-.06em;color:var(--ink);font-weight:800;line-height:1;display:inline-block;position:relative}.logo:before,.logo:after{content:"";left:calc(var(--f) * .72);top:calc(var(--f) * .12);width:calc(var(--f) * .35);height:calc(var(--f) * .14);border-radius:var(--radius-pill);position:absolute;transform:rotate(38deg)}.logo:before{background:var(--pink-glass);-webkit-backdrop-filter:blur(calc(var(--f) * .03)) saturate(1.6);backdrop-filter:blur(calc(var(--f) * .03)) saturate(1.6);box-shadow:inset 0 0 0 calc(var(--f) * .008) var(--pink-rim), inset 0 calc(var(--f) * -.035) calc(var(--f) * .035) var(--pink-bounce), inset 0 calc(var(--f) * .02) calc(var(--f) * .03) var(--pink-shade), 0 calc(var(--f) * .02) calc(var(--f) * .04) var(--pink-glow), 0 calc(var(--f) * .08) calc(var(--f) * .22) var(--pink-glow)}.logo:after{left:calc(var(--f) * .735);top:calc(var(--f) * .13);width:calc(var(--f) * .32);height:calc(var(--f) * .12);background:var(--pink-gloss)}.lang{border-radius:var(--radius-pill);background:var(--glass-pill);-webkit-backdrop-filter:var(--blur-3);backdrop-filter:var(--blur-3);border:1px solid var(--glass-border);box-shadow:var(--glass-edge), var(--hairline), var(--shadow-2);flex:none;gap:2px;padding:3px;display:inline-flex}.lang-option{min-width:36px;height:30px;padding:0 var(--space-2);border-radius:var(--radius-pill);font-size:var(--text-xs);letter-spacing:.04em;color:var(--ink-2);transition:background .2s var(--ease), color .2s var(--ease), box-shadow .2s var(--ease);justify-content:center;align-items:center;font-weight:700;display:inline-flex}.lang-active{background:var(--pink-gradient);color:var(--on-pink);box-shadow:var(--shadow-send)}.lang-option:focus-visible{box-shadow:var(--focus-ring);outline:none}.search{z-index:5;align-items:center;gap:var(--space-2);padding:calc(var(--space-4) + env(safe-area-inset-top)) var(--space-5) var(--space-3);display:flex;position:sticky;top:0}@media (min-width:768px){.search{width:100%;max-width:var(--reading-width);margin:0 auto}}.search-pill{align-items:center;gap:var(--space-3);min-width:0;height:52px;padding:0 var(--space-2) 0 var(--space-4);border-radius:var(--radius-pill);background:var(--glass-pill);-webkit-backdrop-filter:var(--blur-3);backdrop-filter:var(--blur-3);border:1.5px solid var(--glass-border);box-shadow:var(--glass-edge), var(--hairline), var(--shadow-3);flex:1;transition:border-color .2s,box-shadow .2s;display:flex;position:relative}.search-pill:focus-within{border-color:var(--pink);box-shadow:var(--glass-edge), var(--hairline), var(--focus-ring), var(--shadow-3)}.search-glare{border-radius:var(--radius-pill);background:var(--glass-glare);pointer-events:none;position:absolute;top:0;bottom:0;left:0;right:0}.search-brand{font-size:var(--text-base);letter-spacing:-.3px;color:var(--pink);font-weight:700;position:relative}.search-input{min-width:0;font-size:var(--text-base);color:var(--ink);text-overflow:ellipsis;background:0 0;border:0;outline:none;flex:1;padding:0;position:relative}.search-input::placeholder{color:var(--ink-2)}.search-send{border-radius:var(--radius-pill);background:var(--fill);width:36px;height:36px;color:var(--ink-2);flex:none;justify-content:center;align-items:center;transition:background .2s,color .2s,box-shadow .2s;display:flex;position:relative}.search-pill:focus-within .search-send:enabled,.search-send:enabled:hover{background:var(--pink-gradient);color:var(--on-pink);box-shadow:var(--shadow-send)}.search-send:disabled{cursor:default}.search-send:focus-visible{box-shadow:var(--focus-ring);outline:none}.start{min-height:100dvh;padding:calc(var(--space-7) + env(safe-area-inset-top)) var(--space-5) calc(var(--space-5) + env(safe-area-inset-bottom));flex-direction:column;display:flex;position:relative}.start-corner{top:calc(var(--space-4) + env(safe-area-inset-top));right:var(--space-5);animation:fade-up .7s var(--ease) both;position:absolute}.start-hero{width:100%;max-width:var(--reading-width);padding-bottom:var(--space-7);text-align:center;animation:fade-up .7s var(--ease) both;margin:auto}.start .eyebrow{margin-bottom:var(--space-3)}.start-title{font-size:var(--text-hero);letter-spacing:-.04em;margin:0;font-weight:800;line-height:1}.start-text{margin:var(--space-4) 0 0;font-size:var(--text-md);letter-spacing:-.01em;color:var(--ink-3);text-wrap:balance;font-weight:500}.start .search{padding:var(--space-7) 0 0;position:static}.rows{gap:var(--space-3);margin:0 calc(-1 * var(--space-5));flex-direction:column;display:flex}.row{padding:var(--space-6) 0;margin:calc(-1 * var(--space-6)) 0;animation:fade-up .7s var(--ease) both;animation-delay:.15s;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000,#000 8% 92%,#0000);mask-image:linear-gradient(90deg,#0000,#000 8% 92%,#0000)}.row:nth-child(2){animation-delay:.25s}.row:nth-child(3){animation-delay:.35s}.row-track{width:max-content;animation:42s linear infinite slide-left;display:flex}.row:nth-child(2) .row-track{animation-duration:50s}.row:nth-child(3) .row-track{animation-duration:46s}.row-right .row-track{animation-name:slide-right}.row:hover .row-track{animation-play-state:paused}.row-group{gap:var(--space-2);padding-right:var(--space-2);display:flex}.bubble{height:40px;padding:0 var(--space-4);border-radius:var(--radius-pill);background:var(--glass-bubble-bg);border:1px solid var(--glass-border-strong);box-shadow:var(--glass-edge), var(--shadow-2);font-size:var(--text-sm);color:var(--ink);white-space:nowrap;transition:transform .25s var(--ease), box-shadow .25s var(--ease);align-items:center;font-weight:500;display:inline-flex;position:relative}.bubble:hover{box-shadow:var(--glass-edge), var(--focus-ring), var(--shadow-3);outline:none;transform:translateY(-2px)}.bubble:focus-visible{box-shadow:var(--glass-edge), var(--focus-ring), var(--shadow-3);outline:none;transform:translateY(-2px)}.bubble:active{transform:scale(.97)}.bubble-text{position:relative}.bubble-glare{border-radius:var(--radius-pill);background:var(--glass-glare);pointer-events:none;position:absolute;top:0;bottom:0;left:0;right:0}@keyframes fade-up{0%{opacity:0;translate:0 8px}to{opacity:1;translate:none}}@keyframes slide-left{to{transform:translate(-50%)}}@keyframes slide-right{0%{transform:translate(-50%)}to{transform:none}}@media (prefers-reduced-motion:reduce){.row{overflow-x:auto;-webkit-mask-image:none;mask-image:none}.row-track,.row,.start-corner{top:calc(var(--space-4) + env(safe-area-inset-top));right:var(--space-5);animation:fade-up .7s var(--ease) both;position:absolute}.start-hero{animation:none}}.detail-wrap{transition:grid-template-rows .4s var(--ease);grid-template-rows:0fr;display:grid}.detail-open{grid-template-rows:1fr}.detail{gap:var(--space-3);opacity:0;min-height:0;transition:opacity .3s var(--ease);flex-direction:column;display:flex;overflow:hidden}.detail-open .detail{padding-top:var(--space-1);padding-bottom:var(--space-2);opacity:1}.detail-why{font-size:var(--text-base);color:var(--ink-3);text-wrap:pretty;margin:0;line-height:1.45}.detail-why strong{color:var(--ink);font-weight:600}.detail-chips{gap:var(--space-2);flex-wrap:wrap;display:flex}.detail-foot{justify-content:space-between;align-items:center;gap:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--line);display:flex}.detail-address{align-items:center;gap:var(--space-2);min-width:0;font-size:var(--text-sm);color:var(--ink-2);flex:1;line-height:1.35;display:flex}.detail-address svg{flex:none}@media (prefers-reduced-motion:reduce){.detail-wrap,.detail{transition:none}}.card{padding:var(--space-2);border-radius:var(--radius-card);background:var(--glass-card);-webkit-backdrop-filter:var(--blur-3);backdrop-filter:var(--blur-3);border:1.5px solid var(--glass-border-strong);box-shadow:var(--glass-edge), var(--hairline), var(--shadow-card);cursor:pointer;animation:rise .6s var(--ease) both;animation-delay:calc(var(--i,0) * 90ms);transition:scale .15s var(--ease);flex:none;position:relative}@keyframes rise{0%{opacity:0;translate:0 64px}to{opacity:1;translate:none}}.card:active{scale:.985}.card:focus-visible{box-shadow:var(--glass-edge), var(--hairline), var(--shadow-card), var(--focus-ring);outline:none}.card-glare{border-radius:var(--radius-card);background:var(--glass-glare);opacity:.6;pointer-events:none;position:absolute;top:0;bottom:0;left:0;right:0}.card-photo{border-radius:calc(var(--radius-card) - var(--space-2));background:var(--skeleton);height:200px;box-shadow:var(--hairline);position:relative;overflow:hidden}.card-photo img{object-fit:cover;width:100%;height:100%;display:block}.card-photo:after{content:"";box-shadow:inset 0 1px 0 var(--glass-border), inset 0 0 0 1px var(--outline);pointer-events:none;position:absolute;top:0;bottom:0;left:0;right:0}.card-rank{border-radius:var(--radius-pill);background:var(--glass-badge);min-width:28px;height:28px;-webkit-backdrop-filter:var(--blur-1);backdrop-filter:var(--blur-1);border:1px solid var(--glass-border);box-shadow:var(--shadow-badge);font-size:var(--text-sm);justify-content:center;align-items:center;padding:0 9px;font-weight:700;display:flex;position:absolute;top:10px;left:10px}.card-body{gap:var(--space-2);padding:var(--space-3) var(--space-2) var(--space-1);flex-direction:column;display:flex;position:relative}.card-head{justify-content:space-between;align-items:baseline;gap:var(--space-3);display:flex}.card-name{font-size:var(--text-md);letter-spacing:-.2px;transition:font-size .25s var(--ease);font-weight:600}.card-open .card-name{font-size:var(--text-lg);letter-spacing:-.4px}.card-arr{font-size:var(--text-sm);color:var(--ink-2);white-space:nowrap}.card-chips{gap:var(--space-2);flex-wrap:wrap;display:flex}@media (prefers-reduced-motion:reduce){.card{animation:none}}.thinking{padding:calc(var(--space-7) * 3) var(--space-5) var(--space-7);animation:fade-up .5s var(--ease) both;justify-content:center;display:flex}.thinking-panel{min-height:64px;padding:var(--space-4) var(--space-6);border-radius:var(--radius-card);background:var(--glass);-webkit-backdrop-filter:var(--blur-3);backdrop-filter:var(--blur-3);border:1.5px solid var(--glass-border-strong);box-shadow:var(--glass-edge), var(--hairline), var(--shadow-3);justify-content:center;align-items:center;animation:1.6s ease-in-out infinite breathe;display:flex;position:relative}.thinking-glare{border-radius:var(--radius-card);background:var(--glass-glare);pointer-events:none;position:absolute;top:0;bottom:0;left:0;right:0}.thinking-text{font-size:var(--text-md);align-items:baseline;font-weight:600;display:inline-flex;position:relative}.thinking-dots{margin-left:var(--space-1);gap:3px;display:inline-flex}.thinking-dots i{border-radius:var(--radius-pill);background:var(--pink);width:4px;height:4px;animation:1.2s ease-in-out infinite blink}.thinking-dots i:nth-child(2){animation-delay:.2s}.thinking-dots i:nth-child(3){animation-delay:.4s}.thinking-beers{pointer-events:none;position:absolute;top:50%;left:50%}.thinking-beer{color:var(--pink);opacity:0;animation:fly 1.8s var(--ease) infinite;animation-delay:var(--delay);display:flex;position:absolute;top:0;left:0}@keyframes fly{0%{opacity:0;transform:translate(-50%,-50%)scale(.4)rotate(0)}15%{opacity:1}to{opacity:0;transform:translate(calc(-50% + var(--dx)), calc(-50% + var(--dy))) scale(1.1) rotate(35deg)}}@keyframes blink{0%,80%,to{opacity:.25}40%{opacity:1}}@keyframes breathe{0%,to{transform:scale(1)}50%{transform:scale(1.02)}}@media (prefers-reduced-motion:reduce){.thinking,.thinking-panel,.thinking-beer{animation:none}.thinking-beer{display:none}}.list{gap:var(--space-3);padding:var(--space-1) var(--space-5) calc(var(--space-7) + env(safe-area-inset-bottom));flex-direction:column;display:flex}@media (min-width:768px){.list{gap:var(--space-4);padding-top:var(--space-2);grid-template-columns:repeat(auto-fill,minmax(340px,1fr));align-items:start;display:grid}.list-eyebrow,.notice{grid-column:1/-1}.notice{width:100%;max-width:560px;margin-inline-start:auto;margin-inline-end:auto}}.list-eyebrow{padding:var(--space-1) var(--space-2) 0;animation:fade-up .5s var(--ease) both}.notice{align-items:center;gap:var(--space-2);margin-top:var(--space-7);padding:var(--space-6) var(--space-5);border-radius:var(--radius-card);background:var(--glass-card);-webkit-backdrop-filter:var(--blur-2);backdrop-filter:var(--blur-2);border:1px solid var(--glass-border-strong);box-shadow:var(--glass-edge), var(--hairline), var(--shadow-card);text-align:center;flex-direction:column;display:flex}.notice-title{font-size:var(--text-md);margin:0;font-weight:600}.notice-text{font-size:var(--text-base);color:var(--ink-2);text-wrap:pretty;margin:0}.notice .btn-secondary{margin-top:var(--space-2)}.minimap{left:50%;bottom:calc(var(--space-6) + env(safe-area-inset-bottom));z-index:4;border-radius:var(--radius-tile);border:3px solid var(--glass-border);background-color:var(--map);width:72px;height:72px;box-shadow:inset 0 0 0 1px var(--glass-border), inset 0 1px 0 var(--glass-bubble), var(--shadow-float), var(--hairline);transform:translateX(calc(min(100vw, var(--app-width)) / 2 - 88px)) rotate(-5deg);transition:transform .25s var(--ease);background-image:url(/map-paris.jpg);background-repeat:no-repeat;position:fixed;overflow:hidden}.minimap:after{content:"";background:var(--glass-glare);opacity:.5;pointer-events:none;position:absolute;top:0;bottom:0;left:0;right:0}.minimap:hover{transform:translateX(calc(min(100vw, var(--app-width)) / 2 - 88px)) rotate(0deg) scale(1.04);outline:none}.minimap:focus-visible{transform:translateX(calc(min(100vw, var(--app-width)) / 2 - 88px)) rotate(0deg) scale(1.04);outline:none}.minimap-dot{border-radius:var(--radius-pill);background:var(--pink);border:1.5px solid var(--surface);width:8px;height:8px;box-shadow:var(--shadow-pin);position:absolute;transform:translate(-50%,-50%)}:root{--pink:#ff1f8e;--pink-text:#d6106f;--pink-tint:#ffeaf3;--pink-soft:#ff1f8e1f;--pink-gradient:linear-gradient(180deg, #ff5cb0, #ff1f8e);--pink-glass:linear-gradient(180deg, #ff6ebeeb 0%, #ff2896f0 55%, #e20070f7 100%);--pink-gloss:linear-gradient(180deg, #ffffffc7 0%, #ffffff38 36%, #fff0 52%);--pink-rim:#ffffff8c;--pink-bounce:#ffffff80;--pink-shade:#96004b4d;--pink-glow:#ff1f8e66;--on-pink:#fff;--bg:#f7f6f4;--bg-desktop:#ecebe8;--surface:#fff;--fill:#f2f1ef;--map:#e9ecea;--map-grid:#11111412;--skeleton:repeating-linear-gradient(135deg, #ecebe8 0 6px, #e2e1dd 6px 12px);--glass:#ffffff7a;--glass-pill:#ffffff5c;--glass-lite:#ffffffd1;--glass-bubble-bg:#fff9;--glass-card:#ffffff47;--glass-badge:#ffffff80;--glass-bubble:#ffffffe6;--glass-border:#fffc;--glass-border-strong:#ffffffe6;--glass-edge:inset 0 1px 0 #fffffff2, inset 0 -1px 0 #ffffff59, inset 0 0 22px #ffffff80;--hairline:0 0 0 .5px #1111140f;--glass-glare:linear-gradient(115deg, #ffffffd9 0%, #fff0 38%, #fff0 62%, #ffffff73 100%);--ink:#111114;--ink-2:#6e6e76;--ink-3:#3a3a40;--chip:#ffffff8c;--line:#1111140f;--outline:#1111140d;--glow-pink:#ff1f8e57;--glow-pink-2:#ff1f8e42;--glow-orange:#ff783c3d;--glow-violet:#7850ff2e;--glow-blur:70px;--map-blur:4px;--veil:#f7f6f46b;--font:-apple-system, "SF Pro Text", "Inter", system-ui, sans-serif;--font-display:-apple-system, "SF Pro Display", "Inter", system-ui, sans-serif;--text-xs:12px;--text-sm:13px;--text-base:15px;--text-md:17px;--text-lg:22px;--text-xl:28px;--text-hero:88px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-7:32px;--radius-card:26px;--radius-tile:20px;--radius-photo:16px;--radius-pill:999px;--shadow-1:0 1px 2px #1111140f;--shadow-2:0 8px 24px #11111414;--shadow-3:0 16px 48px #11111429;--shadow-card:inset 0 1px 0 #fffffff2, 0 12px 32px #1111141a;--shadow-badge:inset 0 1px 0 #fffffff2, 0 2px 8px #1111141f;--shadow-bubble:0 1px 2px #1111141a;--shadow-float:0 10px 28px #11111433;--shadow-pink:0 4px 12px #ff1f8e4d;--shadow-send:inset 0 1px 0 #ffffff8c, 0 6px 16px #ff1f8e73;--shadow-pin:0 4px 12px #ff1f8e59;--shadow-pin-selected:0 0 0 5px #ff1f8e2e, 0 6px 16px #ff1f8e66;--focus-ring:0 0 0 4px #ff1f8e24;--blur-1:blur(16px) saturate(1.7);--blur-2:blur(24px) saturate(1.7);--blur-3:blur(32px) saturate(1.9) brightness(1.04);--ease:cubic-bezier(.2, .8, .2, 1);--app-width:430px;--reading-width:720px}@media (min-width:768px){:root{--app-width:1120px}}*,:before,:after{box-sizing:border-box}html,body{min-height:100%;margin:0}body{background:var(--bg-desktop);color:var(--ink);font-family:var(--font);font-size:var(--text-base);-webkit-font-smoothing:antialiased;line-height:1.4}button,input{font:inherit;color:inherit}button{cursor:pointer;background:0 0;border:0;padding:0}a{color:inherit;text-decoration:none}#root{min-height:100dvh}.app{max-width:var(--app-width);background:var(--bg);min-height:100dvh;margin:0 auto;position:relative}@media (min-width:480px){.app{box-shadow:var(--hairline), var(--shadow-3)}}.backdrop{z-index:0;pointer-events:none;position:fixed;top:0;bottom:0;left:0;right:0}.backdrop-column{height:100%;max-width:var(--app-width);margin:0 auto;position:relative;overflow:hidden}.backdrop-map,.backdrop-veil{opacity:0;transition:opacity .6s var(--ease)}.backdrop-map-on .backdrop-map,.backdrop-map-on .backdrop-veil{opacity:1}.backdrop-map{inset:calc(-1 * var(--map-blur) * 2);width:calc(100% + var(--map-blur) * 4);height:calc(100% + var(--map-blur) * 4);object-fit:cover;filter:blur(var(--map-blur)) saturate(.85);position:absolute}.backdrop-veil{background:var(--veil);position:absolute;top:0;bottom:0;left:0;right:0}.glow{border-radius:var(--radius-pill);filter:blur(var(--glow-blur));animation:16s ease-in-out infinite alternate glow-drift;position:absolute}.glow:nth-of-type(2){animation-duration:20s;animation-direction:alternate-reverse}.glow:nth-of-type(4){animation-duration:24s}@keyframes glow-drift{0%{transform:translate(0)scale(1)}to{transform:translate(30px,-24px)scale(1.12)}}.backdrop-map-on .glow{animation:none}@media (prefers-reduced-motion:reduce){.glow{animation:none}}[data-lite] .glow{animation:none}[data-lite] .search-pill,[data-lite] .card,[data-lite] .card-rank,[data-lite] .notice,[data-lite] .thinking-panel,[data-lite] .lang,[data-lite] .mapview-close,[data-lite] .strip-card{-webkit-backdrop-filter:none;backdrop-filter:none;background-color:var(--glass-lite)}.glow:first-of-type{background:var(--glow-pink);width:360px;height:360px;top:-120px;left:-80px}.glow:nth-of-type(2){background:var(--glow-orange);width:260px;height:260px;top:300px;right:-60px}.glow:nth-of-type(3){background:var(--glow-pink-2);width:340px;height:340px;bottom:-120px;right:-120px}.glow:nth-of-type(4){background:var(--glow-violet);width:260px;height:260px;bottom:120px;left:-100px}.content{z-index:1;flex-direction:column;min-height:100dvh;display:flex;position:relative}.eyebrow{font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2);margin:0;font-weight:600}.credit{padding:0 var(--space-5) calc(var(--space-3) + env(safe-area-inset-bottom));font-size:var(--text-xs);color:var(--ink-2);text-align:center;margin:auto 0 0}.chip{border-radius:var(--radius-pill);background:var(--chip);border:1px solid var(--glass-border);height:26px;box-shadow:var(--shadow-1);font-size:var(--text-xs);color:var(--ink-3);white-space:nowrap;align-items:center;padding:0 10px 0 5px;font-weight:500;display:inline-flex}.chip-pink{background:var(--pink-soft);color:var(--pink-text);font-weight:600}.chip-icon{border-radius:var(--radius-pill);background:var(--glass-bubble);width:16px;height:16px;box-shadow:var(--shadow-bubble);color:var(--ink-3);justify-content:center;align-items:center;margin-right:5px;display:inline-flex}.chip-icon svg{width:10px;height:10px}.chip-emoji{font-size:10px;line-height:1}.chip-amount{margin-left:var(--space-1);color:var(--pink-text);font-weight:600}.btn-primary{border-radius:var(--radius-pill);background:var(--pink-gradient);height:34px;box-shadow:var(--shadow-send);color:var(--on-pink);font-size:var(--text-sm);white-space:nowrap;justify-content:center;align-items:center;padding:0 14px;font-weight:600;display:inline-flex}.btn-secondary{border-radius:var(--radius-pill);background:var(--pink-tint);height:34px;box-shadow:var(--glass-edge), var(--shadow-1);color:var(--pink-text);font-size:var(--text-sm);justify-content:center;align-items:center;padding:0 14px;font-weight:600;display:inline-flex}.btn-primary:focus-visible{box-shadow:var(--focus-ring), var(--shadow-send);outline:none}.btn-secondary:focus-visible{box-shadow:var(--focus-ring), var(--shadow-send);outline:none}
