:root{--d-paper: #141210;--d-paper-2: #1b1815;--d-paper-3: #23201c;--d-ink: #efe8dc;--d-ink-2: #b7ad9c;--d-ink-3: #7a7164;--d-hair: rgba(239,232,220,.12);--d-hair-strong: rgba(239,232,220,.22);--l-paper: #f3ede1;--l-paper-2: #ece4d4;--l-paper-3: #e2d8c2;--l-ink: #1a1613;--l-ink-2: #5a5247;--l-ink-3: #8a8174;--l-hair: rgba(26,22,19,.14);--l-hair-strong: rgba(26,22,19,.26);--coral: #e8533f;--coral-ink: #b63322;--sans: -apple-system, BlinkMacSystemFont, "SF Pro Text", "Helvetica Neue", Helvetica, Arial, sans-serif;--display: -apple-system, BlinkMacSystemFont, "SF Pro Display", "Helvetica Neue", Helvetica, Arial, sans-serif;--mono: ui-monospace, "SF Mono", "JetBrains Mono", Menlo, Consolas, monospace;--serif: "Iowan Old Style", "Charter", "Baskerville", "Times New Roman", Georgia, serif;--ease-smooth: cubic-bezier(.4, 0, .2, 1);--ease-spring: cubic-bezier(.34, 1.56, .64, 1);--ease-out: cubic-bezier(0, 0, .2, 1);--duration-fast: .15s;--duration-normal: .25s;--duration-slow: .4s;--touch-target: 44px;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 14px;--radius-full: 9999px;--row-pad: 18px;--card-pad: 24px;--gap: 18px}body[data-mode=dark],:root:not([data-mode]),body:not([data-mode]){--paper: var(--d-paper);--paper-2: var(--d-paper-2);--paper-3: var(--d-paper-3);--ink: var(--d-ink);--ink-2: var(--d-ink-2);--ink-3: var(--d-ink-3);--hair: var(--d-hair);--hair-strong: var(--d-hair-strong);--grain-op: .04;color-scheme:dark}body[data-mode=light]{--paper: var(--l-paper);--paper-2: var(--l-paper-2);--paper-3: var(--l-paper-3);--ink: var(--l-ink);--ink-2: var(--l-ink-2);--ink-3: var(--l-ink-3);--hair: var(--l-hair);--hair-strong: var(--l-hair-strong);--grain-op: .07;color-scheme:light}body[data-density=cozy]{--row-pad: 14px;--card-pad: 20px;--gap: 14px}body[data-density=normal]{--row-pad: 18px;--card-pad: 24px;--gap: 18px}body[data-density=airy]{--row-pad: 22px;--card-pad: 30px;--gap: 24px}body{--bg-primary: var(--paper);--bg-secondary: var(--paper-2);--bg-elevated: var(--paper-2);--bg-tertiary: var(--paper-3);--bg-surface: var(--paper-2);--accent: var(--coral);--accent-soft: rgba(232,83,63,.12);--accent-glow: rgba(232,83,63,.18);--teal: var(--coral);--teal-soft: rgba(232,83,63,.1);--teal-glow: rgba(232,83,63,.18);--hot-pink: var(--coral);--hot-pink-soft: rgba(232,83,63,.12);--hot-pink-glow: rgba(232,83,63,.2);--gold: var(--coral);--text-primary: var(--ink);--text-secondary: var(--ink-2);--text-tertiary: var(--ink-3);--text-placeholder: var(--ink-3);--glass-light: transparent;--glass-medium: var(--paper-2);--glass-highlight: var(--paper-3);--glass-border: var(--hair);--glass-border-hover: var(--hair-strong);--shadow-sm: 0 0 0 1px var(--hair);--shadow-card: 0 0 0 1px var(--hair);--shadow-elevated: 0 10px 30px rgba(0,0,0,.18);--shadow-glow-accent: 0 0 0 1px var(--coral);--shadow-glow-teal: 0 0 0 1px var(--coral);--shadow-glow-pink: 0 0 0 1px var(--coral);--space-xs: 4px;--space-sm: 8px;--space-md: 16px;--space-lg: 24px;--space-xl: 32px;--space-2xl: 48px}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html,body,#root{height:100vh;height:100dvh;width:100%;overflow:hidden;font-family:var(--sans);background:var(--paper);color:var(--ink);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-tap-highlight-color:transparent;font-feature-settings:"kern" 1,"liga" 1,"ss01" 1}button{font-family:inherit;font-size:inherit;color:inherit;background:none;border:0;cursor:pointer}input,textarea,select{font-family:inherit;font-size:inherit;color:inherit;background:transparent;border:0;outline:none}a{color:var(--coral);text-decoration:none;transition:opacity var(--duration-fast)}a:hover{opacity:.8}body:before,body:after{content:none!important}.grain{position:relative}.grain:before{content:"";position:absolute;inset:0;pointer-events:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='240' height='240'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0  0 0 0 0 0  0 0 0 0 0  0 0 0 0.6 0'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");opacity:var(--grain-op);mix-blend-mode:overlay;z-index:0}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--hair-strong);border-radius:8px}::-webkit-scrollbar-thumb:hover{background:var(--hair-strong)}.display{font-family:var(--display);font-weight:700;letter-spacing:-.03em;line-height:.98}.lead{font-size:17px;line-height:1.45;color:var(--ink-2)}.body{font-size:14px;line-height:1.5;color:var(--ink)}.caption{font-size:12px;line-height:1.4;color:var(--ink-2)}.micro{font-family:var(--mono);font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-3)}.num{font-variant-numeric:tabular-nums}.serif-quote{font-family:var(--serif);font-style:italic}.hr{height:1px;background:var(--hair);border:0}.hr-strong{height:1px;background:var(--hair-strong);border:0}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:40px;padding:0 16px;border-radius:var(--radius-full);font-size:13.5px;font-weight:600;letter-spacing:.01em;border:1px solid var(--hair-strong);color:var(--ink);background:transparent;transition:background var(--duration-fast) var(--ease-smooth),border-color var(--duration-fast) var(--ease-smooth),transform .08s ease}.btn:hover{background:var(--paper-2)}.btn:active{transform:scale(.985)}.btn-primary{background:var(--coral);color:#fff;border-color:var(--coral)}.btn-primary:hover{background:var(--coral-ink);border-color:var(--coral-ink)}.btn-square{border-radius:var(--radius-sm)}.btn-lg{height:48px;padding:0 22px;font-size:14.5px}.btn-sm{height:32px;padding:0 12px;font-size:12.5px}.btn-ghost{border-color:transparent}.btn-ghost:hover{background:var(--paper-2)}.btn-brand{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:48px;padding:0 24px;background:var(--coral);color:#fff;font-size:14.5px;font-weight:600;letter-spacing:.01em;border:1px solid var(--coral);border-radius:var(--radius-full);cursor:pointer;transition:background var(--duration-fast) var(--ease-smooth),border-color var(--duration-fast) var(--ease-smooth),transform .08s ease}.btn-brand:before{content:none}.btn-brand:hover{background:var(--coral-ink);border-color:var(--coral-ink)}.btn-brand:active{transform:scale(.985)}.btn-brand:disabled{opacity:.4;cursor:not-allowed}.btn-brand.teal,.btn-brand.pink{background:var(--coral);border-color:var(--coral)}.btn-icon{display:inline-flex;align-items:center;justify-content:center;width:var(--touch-target);height:var(--touch-target);background:transparent;border:1px solid var(--hair-strong);border-radius:50%;color:var(--ink-2);cursor:pointer;transition:background var(--duration-fast),border-color var(--duration-fast)}.btn-icon:hover{background:var(--paper-2);color:var(--ink)}.btn-icon:active{transform:scale(.94)}.chip{display:inline-flex;align-items:center;gap:6px;height:26px;padding:0 10px;border-radius:var(--radius-full);font-size:12px;font-weight:500;border:1px solid var(--hair-strong);color:var(--ink-2);background:transparent}.chip-solid{background:var(--ink);color:var(--paper);border-color:var(--ink)}.chip-coral{background:transparent;color:var(--coral);border-color:currentColor}.capsule{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:var(--radius-full);font-size:12px;font-weight:500;border:1px solid var(--hair-strong);color:var(--ink-2);background:transparent;white-space:nowrap}.capsule.teal,.capsule.accent,.capsule.pink,.capsule.gold{color:var(--coral);border-color:var(--coral);background:transparent}.capsule.ghost{color:var(--ink-2);border-color:var(--hair-strong)}.card{background:var(--paper);border:1px solid var(--hair);border-radius:var(--radius-sm)}.card-inset{background:var(--paper-2)}.vinyl-card{background:var(--paper);border:1px solid var(--hair);border-radius:var(--radius-sm);padding:var(--space-md);backdrop-filter:none;-webkit-backdrop-filter:none;box-shadow:none;transition:border-color var(--duration-normal)}.vinyl-card:hover{border-color:var(--hair-strong)}input:focus,textarea:focus,select:focus,.focusable:focus-visible{outline:2px solid var(--coral);outline-offset:2px}.ph{position:relative;overflow:hidden;border-radius:2px;background-color:var(--paper-3)}.ph:after{content:"";position:absolute;inset:0;background-image:repeating-linear-gradient(135deg,transparent 0 10px,var(--hair) 10px 11px);opacity:.8}.sleeve{position:relative}.sleeve:after{content:"";position:absolute;inset:0;border:1px solid var(--hair);pointer-events:none}.stub{position:relative}.stub:before,.stub:after{content:"";position:absolute;width:14px;height:14px;border-radius:50%;background:var(--paper);border:1px solid var(--hair);top:50%;transform:translateY(-50%)}.stub:before{left:-8px}.stub:after{right:-8px}.stamp{display:inline-flex;align-items:center;font-family:var(--mono);font-size:10px;letter-spacing:.22em;text-transform:uppercase;padding:3px 7px;border:1px solid currentColor;color:var(--coral);border-radius:2px;background:transparent}.stamp.ink{color:var(--ink)}.wave{display:inline-flex;align-items:flex-end;gap:2px;height:18px;color:var(--coral)}.wave i{width:2px;background:currentColor;border-radius:1px;opacity:.9}.av{display:inline-flex;align-items:center;justify-content:center;width:54px;height:54px;background:var(--paper-3);color:var(--ink-2);border-radius:50%;font-weight:600;font-family:var(--display);border:1px solid var(--hair);overflow:hidden;flex-shrink:0}.av img{width:100%;height:100%;object-fit:cover;display:block}.avatar{width:54px;height:54px;border-radius:50%;object-fit:cover;background:var(--paper-3);color:var(--ink-2);display:inline-flex;align-items:center;justify-content:center;font-weight:600;font-size:20px;border:1px solid var(--hair);overflow:hidden;flex-shrink:0}.avatar img{width:100%;height:100%;object-fit:cover}.vinyl{width:48px;height:48px;border-radius:50%;background:radial-gradient(circle at 50% 50%,var(--coral) 0 18%,var(--paper) 18.5% 20%,#111 20.5% 100%);position:relative;flex-shrink:0}.vinyl:before{content:"";position:absolute;inset:4px;border-radius:50%;border:1px solid rgba(255,255,255,.06)}body[data-mode=light] .vinyl{background:radial-gradient(circle at 50% 50%,var(--coral) 0 18%,var(--paper) 18.5% 20%,#1a1613 20.5% 100%)}.nav-item{display:flex;align-items:center;gap:14px;width:100%;padding:10px 14px;border-radius:var(--radius-sm);color:var(--ink-2);font-size:14.5px;font-weight:500;position:relative;transition:background var(--duration-fast),color var(--duration-fast);text-align:left}.nav-item:hover{background:var(--paper-3);color:var(--ink)}.nav-item[aria-current=page]{color:var(--ink);background:var(--paper-3)}.nav-item[aria-current=page]:before{content:"";position:absolute;left:-14px;top:14px;bottom:14px;width:2px;background:var(--coral)}.nav-badge{margin-left:auto;min-width:18px;height:18px;padding:0 5px;border-radius:var(--radius-full);font-size:10.5px;font-weight:700;font-variant-numeric:tabular-nums;display:inline-flex;align-items:center;justify-content:center;background:var(--coral);color:#fff}.nav-dot{width:6px;height:6px;border-radius:50%;background:var(--coral);margin-left:auto}.app-shell{display:flex;height:100vh;height:100dvh;width:100%;overflow:hidden;position:relative;z-index:1;background:var(--paper)}.app-container{display:flex;flex-direction:column;height:100vh;height:100dvh;flex:1;min-width:0;max-width:100%;position:relative;overflow:hidden;padding-top:env(safe-area-inset-top,0px);padding-left:env(safe-area-inset-left,0px);padding-right:env(safe-area-inset-right,0px);background:var(--paper)}@media(min-width:900px){.app-container{max-width:none;border-left:1px solid var(--hair);border-right:0}}.app-content{flex:1;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch}.desktop-sidebar{display:none;width:300px;flex-shrink:0;height:100vh;height:100dvh;background:var(--paper-2);border-right:1px solid var(--hair);position:relative;overflow:hidden;flex-direction:column}@media(min-width:900px){.desktop-sidebar{display:flex}}@media(min-width:1200px){.desktop-sidebar{width:320px}}.tab-bar{display:flex;align-items:center;justify-content:space-around;padding:6px 0 calc(6px + env(safe-area-inset-bottom,0px));background:var(--paper);backdrop-filter:none;-webkit-backdrop-filter:none;border-top:1px solid var(--hair);position:relative;z-index:10}@media(min-width:900px){.tab-bar{display:none}}.tab-item{display:flex;flex-direction:column;align-items:center;gap:2px;padding:6px 16px;background:none;border:none;color:var(--ink-3);font-size:10px;font-weight:500;letter-spacing:.2px;cursor:pointer;transition:color var(--duration-fast);position:relative}.tab-item:hover{color:var(--ink-2)}.tab-item.active{color:var(--coral)}.tab-item.active:after{content:"";position:absolute;bottom:-1px;left:50%;transform:translate(-50%);width:4px;height:4px;border-radius:50%;background:var(--coral)}.tab-item svg{width:22px;height:22px}.tab-badge{position:absolute;top:2px;right:8px;min-width:16px;height:16px;background:var(--coral);color:#fff;font-size:9px;font-weight:700;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;padding:0 4px}.nav-header{display:flex;align-items:center;justify-content:space-between;padding:14px 20px;background:var(--paper);backdrop-filter:none;-webkit-backdrop-filter:none;border-bottom:1px solid var(--hair);min-height:56px;position:relative;z-index:5}.nav-title{font-size:22px;font-weight:700;letter-spacing:-.02em}.nav-actions{display:flex;align-items:center;gap:8px}.topbar{display:flex;align-items:center;gap:16px;padding:14px 28px;border-bottom:1px solid var(--hair);background:var(--paper);position:sticky;top:0;z-index:5}.searchbar{flex:1;display:flex;align-items:center;gap:10px;height:40px;padding:0 14px;border:1px solid var(--hair-strong);border-radius:var(--radius-full);background:var(--paper-2);color:var(--ink-2);max-width:520px}.searchbar input{flex:1;font-size:14px;color:var(--ink)}.searchbar input::placeholder{color:var(--ink-3)}.input-field{display:flex;align-items:center;gap:10px;padding:12px 14px;background:transparent;border:1px solid var(--hair-strong);border-radius:var(--radius-sm);transition:border-color var(--duration-fast)}.input-field:focus-within{border-color:var(--coral)}.input-field svg{width:18px;height:18px;color:var(--ink-3);flex-shrink:0}.input-field input,.input-field textarea{flex:1;background:none;border:none;outline:none;color:var(--ink);font-size:14.5px;line-height:1.45}.input-field input::placeholder,.input-field textarea::placeholder{color:var(--ink-3)}.segment-control{display:inline-flex;background:transparent;border:1px solid var(--hair-strong);border-radius:var(--radius-full);padding:3px;gap:2px}.segment-control button{flex:1;padding:6px 12px;background:none;border:none;color:var(--ink-3);font-size:12.5px;font-weight:500;border-radius:var(--radius-full);cursor:pointer;transition:background var(--duration-fast),color var(--duration-fast)}.segment-control button:hover:not(.active){color:var(--ink-2)}.segment-control button.active{background:var(--ink);color:var(--paper)}.segment-control.seg-sm button{padding:4px 10px;font-size:11.5px}.bubble{max-width:70%;padding:10px 14px;border-radius:var(--radius-lg);font-size:14px;line-height:1.4}.bubble.me{align-self:flex-end;background:var(--coral);color:#fff;border-bottom-right-radius:4px}.bubble.them{align-self:flex-start;background:var(--paper-2);color:var(--ink);border:1px solid var(--hair);border-bottom-left-radius:4px}.message-bubble{max-width:70%;padding:10px 14px;border-radius:var(--radius-lg);font-size:14px;line-height:1.4;word-wrap:break-word;animation:msg-in .2s var(--ease-spring)}.message-bubble.sent{align-self:flex-end;background:var(--coral);color:#fff;border-bottom-right-radius:4px;box-shadow:none}.message-bubble.received{align-self:flex-start;background:var(--paper-2);color:var(--ink);border:1px solid var(--hair);border-bottom-left-radius:4px}@keyframes msg-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.conversation-row{display:flex;align-items:center;gap:14px;padding:14px 16px;width:100%;background:none;border:none;border-bottom:1px solid var(--hair);cursor:pointer;text-align:left;color:var(--ink);transition:background var(--duration-fast)}.conversation-row:hover{background:var(--paper-2)}.conversation-row:active{background:var(--paper-3)}.swipe-stage{position:relative;width:100%;max-width:380px;aspect-ratio:3/4;margin:0 auto}.swipe-card{position:absolute;inset:0;border:1px solid var(--hair-strong);background:var(--paper);border-radius:var(--radius-sm);overflow:hidden;transition:transform .35s cubic-bezier(.2,.7,.2,1),opacity .35s ease;will-change:transform,opacity;touch-action:pan-y;cursor:grab;box-shadow:none}.swipe-card:active{cursor:grabbing}.swipe-card .card-bg{position:absolute;inset:0;background-size:cover;background-position:center}.swipe-card .card-gradient{position:absolute;inset:0;background:linear-gradient(to bottom,transparent 30%,rgba(0,0,0,.55) 80%,rgba(0,0,0,.85) 100%)}.swipe-card .card-content{position:absolute;left:0;right:0;bottom:0;padding:16px 18px;color:#fff}.swipe-photo{height:62%}.swipe-meta{padding:16px 18px}.feedback-overlay{position:absolute;top:22%;font-family:var(--mono);font-size:22px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;padding:6px 14px;border:2px solid currentColor;border-radius:4px;background:transparent;opacity:0;transition:opacity .15s;z-index:5;pointer-events:none}.feedback-overlay.like{right:18px;color:var(--coral);transform:rotate(-6deg)}.feedback-overlay.pass{left:18px;color:var(--ink);transform:rotate(6deg)}.action-row{display:flex;align-items:center;justify-content:center;gap:20px;padding:12px 0 16px}.action-btn{display:flex;align-items:center;justify-content:center;border:1px solid var(--hair-strong);background:transparent;color:var(--ink);border-radius:50%;cursor:pointer;transition:background var(--duration-fast),border-color var(--duration-fast),transform .08s ease}.action-btn:active{transform:scale(.94)}.action-btn.pass{width:52px;height:52px}.action-btn.pass:hover{background:var(--paper-2)}.action-btn.listen{width:52px;height:52px}.action-btn.listen:hover{background:var(--paper-2)}.action-btn.like{width:64px;height:64px;background:var(--coral);border-color:var(--coral);color:#fff}.action-btn.like:hover{background:var(--coral-ink);border-color:var(--coral-ink)}.steps{display:flex;gap:6px}.steps span{flex:1;height:3px;background:var(--hair-strong);border-radius:2px}.steps span.done{background:var(--coral)}.steps span.current{background:var(--ink)}.progress-bar{display:flex;gap:4px}.progress-bar .step{flex:1;height:3px;border-radius:2px;background:var(--hair-strong);transition:background var(--duration-normal)}.progress-bar .step.active{background:var(--coral)}.progress-bar .step.active:after{content:none}.bar-track{height:4px;background:var(--hair);border-radius:var(--radius-full);overflow:hidden}.bar-fill{height:100%;background:var(--ink);border-radius:var(--radius-full)}.metric-row{margin-bottom:12px}.metric-row .metric-label{display:flex;justify-content:space-between;font-size:12px;margin-bottom:6px}.metric-row .metric-label span:first-child{color:var(--ink-2);font-weight:500}.metric-row .metric-label span:last-child{color:var(--ink);font-weight:700;font-variant-numeric:tabular-nums}.metric-row .metric-track{height:4px;background:var(--hair);border-radius:var(--radius-full);overflow:hidden}.metric-row .metric-fill{height:100%;background:var(--ink);border-radius:var(--radius-full);transition:width .8s var(--ease-out)}.metric-row .metric-fill:after{content:none}.genre-bar{display:flex;align-items:center;gap:8px;padding:5px 0}.genre-bar .label{width:72px;font-size:13px;color:var(--ink-2);font-weight:500;flex-shrink:0}.genre-bar .bar-track{flex:1;height:5px}.genre-bar .bar-fill{background:var(--coral)}.genre-bar .pct{width:36px;text-align:right;font-size:12px;font-weight:600;color:var(--ink-2);font-variant-numeric:tabular-nums}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 24px;gap:16px;text-align:center;color:var(--ink-3);min-height:300px}.empty-state svg{width:56px;height:56px;opacity:.35;color:var(--ink-3)}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100vh;height:100dvh;gap:16px;background:var(--paper)}.toast{position:fixed;bottom:100px;left:50%;transform:translate(-50%);padding:12px 20px;border-radius:var(--radius-full);font-size:13.5px;font-weight:600;z-index:100;background:var(--ink);color:var(--paper);border:1px solid var(--ink);box-shadow:var(--shadow-elevated);display:inline-flex;align-items:center;gap:10px;max-width:90%;animation:toast-in .35s var(--ease-spring)}.toast.teal,.toast.pink,.toast.accent{background:var(--coral);color:#fff;border-color:var(--coral)}@keyframes toast-in{0%{opacity:0;transform:translate(-50%) translateY(14px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.install-prompt{position:fixed;bottom:80px;left:50%;transform:translate(-50%);background:var(--paper);border:1px solid var(--hair-strong);border-radius:var(--radius-sm);padding:14px 16px;display:flex;align-items:center;gap:14px;z-index:200;max-width:90%;box-shadow:var(--shadow-elevated);backdrop-filter:none;-webkit-backdrop-filter:none}.install-prompt button{white-space:nowrap;min-height:40px;padding:0 16px;font-size:14px}.harmony-ring{position:relative;display:flex;align-items:center;justify-content:center}.harmony-ring svg{transform:rotate(-90deg)}.harmony-ring .score{position:absolute;font-size:18px;font-weight:700;font-variant-numeric:tabular-nums;letter-spacing:-.01em;color:var(--ink)}.verified-badge{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;background:var(--coral);border-radius:50%;margin-left:4px;flex-shrink:0;box-shadow:none}.verified-badge svg{width:10px;height:10px;color:#fff}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.page-enter{animation:fadeIn .25s var(--ease-out)}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.vinyl-spin{animation:spin 8s linear infinite}.concert-date{width:52px;height:56px;border-radius:var(--radius-sm);background:transparent;color:var(--ink);display:flex;flex-direction:column;align-items:center;justify-content:center;flex-shrink:0;font-family:var(--mono);font-size:10px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;border:1px solid var(--hair-strong)}.concert-date .day{font-family:var(--display);font-size:22px;font-weight:700;line-height:1;letter-spacing:-.02em}@media(min-width:768px){.nav-header{padding:16px 24px}.message-bubble{max-width:65%}.concert-card{padding:16px 20px}}@media(prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
