.footer-nav{position:fixed;bottom:0;left:0;right:0;z-index:100;background-color:var(--bb-bg-primary);border-top:1px solid var(--bb-border-subtle);box-shadow:none}.footer-nav-container{display:flex;align-items:center;justify-content:space-around;height:var(--bb-footer-nav-height);padding:0 var(--bb-container-padding);padding-bottom:var(--bb-footer-nav-margin)}.footer-nav-tab{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1;max-width:80px;height:48px;padding:0;background:none;border:none;color:var(--bb-text-secondary);cursor:pointer;transition:color var(--bb-transition-fast) var(--bb-ease-smooth)}.footer-nav-tab.active{color:var(--bb-accent-primary)}.footer-nav-tab:not(.active):hover{color:var(--bb-text-primary)}.footer-nav-tab .material-symbols-rounded{font-size:var(--bb-icon-size-m);font-variation-settings:"FILL" 0,"wght" 400,"GRAD" 0,"opsz" 24}.footer-nav-tab.active .material-symbols-rounded.filled{font-variation-settings:"FILL" 1,"wght" 400,"GRAD" 0,"opsz" 24}.footer-nav-avatar{width:28px;height:28px;border-radius:50%;border:2px solid transparent;object-fit:cover;transition:border-color var(--bb-transition-fast) var(--bb-ease-smooth)}.footer-nav-tab.active .footer-nav-avatar{border-color:var(--bb-accent-primary)}@supports (padding-bottom: env(safe-area-inset-bottom)){.footer-nav-container{padding-bottom:calc(var(--bb-footer-nav-margin) + env(safe-area-inset-bottom))}}.top-bar{position:fixed;top:0;left:0;right:0;height:var(--bb-top-bar-height);z-index:100;display:flex;align-items:center;justify-content:space-between;padding:0 var(--bb-container-padding);gap:var(--bb-space-m);background-color:var(--bb-bg-primary);border-bottom:1px solid var(--bb-border-subtle);box-shadow:none}.top-bar-left,.top-bar-right{flex-shrink:0;width:40px}.top-bar-center{flex:1;display:flex;align-items:center;justify-content:center;min-width:0}.top-bar-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;padding:0;background:none;border:none;border-radius:50%;color:var(--bb-text-primary);cursor:pointer;transition:background-color var(--bb-transition-fast) var(--bb-ease-smooth);position:relative}.top-bar-icon-btn:hover{background-color:var(--bb-bg-secondary)}.top-bar-icon-btn:active{background-color:var(--bb-bg-tertiary)}.top-bar-title{font-size:var(--bb-font-size-h3);font-weight:var(--bb-font-weight-bold);color:var(--bb-text-primary);text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.top-bar-badge{position:absolute;top:6px;right:6px;display:flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 4px;background-color:var(--bb-accent-negative);color:var(--bb-text-on-accent);font-size:11px;font-weight:var(--bb-font-weight-bold);border-radius:9px;border:2px solid var(--bb-bg-primary)}.top-bar-avatar-btn{display:inline-flex;align-items:center;justify-content:center;padding:0;background:none;border:none;cursor:pointer}.top-bar-avatar{width:36px;height:36px;border-radius:50%;border:2px solid var(--bb-border-subtle);object-fit:cover}.top-bar-search{display:flex;align-items:center;gap:var(--bb-space-s);width:100%;max-width:600px;height:40px;padding:0 var(--bb-space-m);background-color:var(--bb-bg-secondary);border:2px solid var(--bb-border-subtle);border-radius:var(--bb-radius-pill);transition:border-color var(--bb-transition-fast) var(--bb-ease-smooth)}.top-bar-search:focus-within{border-color:var(--bb-accent-primary)}.top-bar-search-input{flex:1;background:none;border:none;outline:none;font-size:var(--bb-font-size-body);color:var(--bb-text-primary)}.top-bar-search-input::placeholder{color:var(--bb-text-placeholder)}@media(max-width:768px){.top-bar-search{max-width:none}}.wizard-step{display:flex;flex-direction:column;align-items:center;gap:var(--bb-space-l);padding:var(--bb-space-xl) var(--bb-space-m)}.wizard-step-title{font-size:var(--bb-font-size-h1);font-weight:var(--bb-font-weight-black);color:var(--bb-text-primary);text-align:center;margin:0}.wizard-mode-selection{display:flex;flex-direction:column;gap:var(--bb-space-m);width:100%;max-width:400px}.btn-mode{display:flex;align-items:center;justify-content:center;gap:var(--bb-space-m);min-height:80px;font-size:var(--bb-font-size-h3);font-weight:var(--bb-font-weight-bold)}.btn-mode .material-symbols-rounded{font-size:var(--bb-icon-size-xl)}.wizard-friends-selection{display:flex;flex-direction:column;align-items:center;gap:var(--bb-space-l);width:100%}.wizard-hint{font-size:var(--bb-font-size-body);color:var(--bb-text-secondary);text-align:center;margin:0}.friends-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:var(--bb-space-m);width:100%;max-width:600px}.friend-card{display:flex;flex-direction:column;align-items:center;gap:var(--bb-space-xs);padding:var(--bb-space-m);min-height:120px;background-color:var(--bb-bg-primary);border:2px solid var(--bb-border-subtle);border-radius:var(--bb-radius-wizard);box-shadow:var(--bb-shadow-chunky);cursor:pointer;transition:all var(--bb-transition-fast) var(--bb-ease-smooth);position:relative}.friend-card:hover{border-color:var(--bb-accent-primary);transform:translateY(-2px)}.friend-card:active{transform:translateY(2px);box-shadow:var(--bb-shadow-chunky-pressed)}.friend-card.selected{border-color:var(--bb-accent-primary);border-width:3px;background-color:#ff6b350d}.friend-avatar{width:48px;height:48px;border-radius:50%;object-fit:cover;border:2px solid var(--bb-border-subtle)}.friend-name{font-size:var(--bb-font-size-subtitle);font-weight:var(--bb-font-weight-bold);color:var(--bb-text-primary);text-align:center;word-break:break-word}.friend-check{position:absolute;top:8px;right:8px;color:var(--bb-accent-positive);font-size:var(--bb-icon-size-m);font-variation-settings:"FILL" 1,"wght" 400,"GRAD" 0,"opsz" 24}.btn-text{background:none;border:none;color:var(--bb-text-secondary);font-size:var(--bb-font-size-body);font-weight:var(--bb-font-weight-bold);cursor:pointer;padding:var(--bb-space-s);transition:color var(--bb-transition-fast) var(--bb-ease-smooth)}.btn-text:hover{color:var(--bb-text-primary)}@media(max-width:768px){.friends-grid{grid-template-columns:repeat(auto-fill,minmax(80px,1fr));gap:var(--bb-space-s)}.friend-card{min-height:100px;padding:var(--bb-space-s)}.friend-avatar{width:40px;height:40px}}.wizard-step-2{max-width:800px;margin:0 auto}.mood-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--bb-space-m);width:100%}.mood-card{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--bb-space-s);padding:var(--bb-space-l);min-height:140px;background-color:var(--bb-bg-primary);border:2px solid var(--bb-border-chunky);border-radius:var(--bb-radius-chunky-btn);box-shadow:var(--bb-shadow-chunky);cursor:pointer;transition:all var(--bb-transition-fast) var(--bb-ease-smooth)}.mood-card:hover{background-color:var(--bb-bg-secondary);transform:translateY(-2px)}.mood-card:active{transform:translateY(2px);box-shadow:var(--bb-shadow-chunky-pressed)}.mood-card.selected{background-color:var(--bb-accent-primary);color:var(--bb-text-on-accent);border-color:var(--bb-accent-primary);animation:pulse .3s var(--bb-ease-chunky)}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.mood-emoji{font-size:48px;line-height:1}.mood-label{font-size:var(--bb-font-size-body);font-weight:var(--bb-font-weight-bold);text-align:center;color:inherit}@media(max-width:768px){.mood-grid{grid-template-columns:1fr;gap:var(--bb-space-s)}.mood-card{min-height:100px;padding:var(--bb-space-m)}.mood-emoji{font-size:36px}.mood-label{font-size:var(--bb-font-size-subtitle)}}.tegenvall-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;padding:var(--bb-spacing-l)}.tegenvall-modal{background:var(--bb-surface-primary);border-radius:var(--bb-radius-modal);padding:var(--bb-spacing-xl);max-width:500px;width:100%;box-shadow:var(--bb-shadow-modal);animation:slideUp .3s ease-out}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.tegenvall-modal-header{text-align:center;margin-bottom:var(--bb-spacing-xl)}.tegenvall-modal-title{font-family:var(--bb-font-heading);font-size:var(--bb-text-2xl);font-weight:var(--bb-font-black);color:var(--bb-text-primary);margin:0 0 var(--bb-spacing-xs) 0}.tegenvall-modal-subtitle{font-family:var(--bb-font-body);font-size:var(--bb-text-sm);color:var(--bb-text-secondary);margin:0;line-height:1.5}.tegenvall-modal-reasons{display:flex;flex-direction:column;gap:var(--bb-spacing-s);margin-bottom:var(--bb-spacing-xl)}.tegenvall-reason-btn{display:flex;align-items:center;gap:var(--bb-spacing-m);padding:var(--bb-spacing-m);background:var(--bb-surface-secondary);border:2px solid transparent;border-radius:var(--bb-radius-chunky-btn);font-family:var(--bb-font-body);font-size:var(--bb-text-base);font-weight:var(--bb-font-semibold);color:var(--bb-text-primary);cursor:pointer;transition:all .2s ease;text-align:left}.tegenvall-reason-btn:hover{background:var(--bb-surface-hover);transform:translateY(-2px)}.tegenvall-reason-btn.selected{border-color:var(--bb-accent-primary);background:#ff6b351a}.tegenvall-reason-icon{font-size:24px;color:var(--bb-accent-primary);font-variation-settings:"FILL" 0,"wght" 400,"GRAD" 0,"opsz" 24;flex-shrink:0}.tegenvall-reason-btn.selected .tegenvall-reason-icon{font-variation-settings:"FILL" 1,"wght" 600,"GRAD" 0,"opsz" 24}.tegenvall-reason-label{flex:1}.tegenvall-modal-actions{display:flex;flex-direction:column;gap:var(--bb-spacing-s)}.tegenvall-submit-btn{width:100%;padding:var(--bb-spacing-m) var(--bb-spacing-l);background:var(--bb-accent-primary);border:none;border-radius:var(--bb-radius-chunky-btn);font-family:var(--bb-font-heading);font-size:var(--bb-text-lg);font-weight:var(--bb-font-black);color:var(--bb-surface-primary);cursor:pointer;box-shadow:var(--bb-shadow-btn);transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:var(--bb-spacing-s)}.tegenvall-submit-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:var(--bb-shadow-btn-hover)}.tegenvall-submit-btn:active:not(:disabled){transform:translateY(0)}.tegenvall-submit-btn:disabled{opacity:.5;cursor:not-allowed}.xp-badge{background:#fff3;padding:2px 8px;border-radius:12px;font-size:var(--bb-text-xs);font-weight:var(--bb-font-bold)}.tegenvall-skip-btn{width:100%;padding:var(--bb-spacing-s) var(--bb-spacing-l);background:transparent;border:none;font-family:var(--bb-font-body);font-size:var(--bb-text-sm);font-weight:var(--bb-font-semibold);color:var(--bb-text-secondary);cursor:pointer;transition:color .2s ease}.tegenvall-skip-btn:hover{color:var(--bb-text-primary)}@media(max-width:640px){.tegenvall-modal-overlay{padding:var(--bb-spacing-m)}.tegenvall-modal{padding:var(--bb-spacing-l)}.tegenvall-modal-title{font-size:var(--bb-text-xl)}.tegenvall-reason-btn{padding:var(--bb-spacing-s) var(--bb-spacing-m)}}.wizard-result{display:flex;flex-direction:column;align-items:center;gap:var(--bb-space-l);padding:var(--bb-space-xl) var(--bb-space-m);max-width:500px;margin:0 auto}.wizard-result-complete{text-align:center}.result-progress{display:flex;align-items:center;justify-content:center;gap:var(--bb-space-s)}.result-counter{font-size:var(--bb-font-size-subtitle);font-weight:var(--bb-font-weight-bold);color:var(--bb-text-secondary)}.result-card-container{width:100%;position:relative;display:flex;justify-content:center}.wizard-result-card{position:relative;width:100%;max-width:320px;background-color:var(--bb-bg-primary);border:2px solid var(--bb-border-chunky);border-radius:var(--bb-radius-wizard);box-shadow:var(--bb-shadow-chunky);overflow:hidden;transition:transform var(--bb-transition-normal) var(--bb-ease-smooth)}.wizard-result-card:hover{transform:translateY(-4px)}.result-badge{position:absolute;top:var(--bb-space-m);right:var(--bb-space-m);z-index:10;padding:var(--bb-space-xs) var(--bb-space-m);background-color:var(--bb-accent-positive);color:var(--bb-text-on-accent);font-size:var(--bb-font-size-caption);font-weight:var(--bb-font-weight-bold);border-radius:var(--bb-radius-pill);text-transform:uppercase;letter-spacing:.5px}.result-poster{width:100%;aspect-ratio:2 / 3;object-fit:cover;display:block}.result-info{padding:var(--bb-space-m);display:flex;flex-direction:column;gap:var(--bb-space-s)}.result-title{font-size:var(--bb-font-size-h3);font-weight:var(--bb-font-weight-bold);color:var(--bb-text-primary);margin:0;line-height:var(--bb-line-height-heading)}.result-match-score{display:flex;align-items:center;gap:var(--bb-space-xs);color:var(--bb-accent-primary);font-size:var(--bb-font-size-subtitle);font-weight:var(--bb-font-weight-bold)}.result-match-score .material-symbols-rounded{font-size:var(--bb-icon-size-s);font-variation-settings:"FILL" 1,"wght" 700,"GRAD" 0,"opsz" 20}.result-actions{display:flex;align-items:center;justify-content:center;gap:var(--bb-space-xl)}.btn-feedback{width:56px;height:56px;padding:0;display:inline-flex;align-items:center;justify-content:center;background-color:var(--bb-bg-primary);border:2px solid var(--bb-border-chunky);border-radius:50%;box-shadow:var(--bb-shadow-chunky);cursor:pointer;transition:all var(--bb-transition-fast) var(--bb-ease-smooth)}.btn-feedback:hover{transform:translateY(-2px)}.btn-feedback .material-symbols-rounded{font-size:var(--bb-icon-size-l);font-variation-settings:"FILL" 1,"wght" 400,"GRAD" 0,"opsz" 24}.btn-feedback-like{border-color:var(--bb-accent-positive);color:var(--bb-accent-positive)}.btn-feedback-like:hover{background-color:var(--bb-accent-positive);color:var(--bb-text-on-accent)}.btn-feedback-dislike{border-color:var(--bb-accent-negative);color:var(--bb-accent-negative)}.btn-feedback-dislike:hover{background-color:var(--bb-accent-negative);color:var(--bb-text-on-accent)}.result-secondary-actions{display:flex;flex-direction:column;align-items:center;gap:var(--bb-space-s)}.result-secondary-actions .btn-text{display:flex;align-items:center;gap:var(--bb-space-xs)}.result-secondary-actions .material-symbols-rounded{font-size:var(--bb-icon-size-s)}@media(max-width:768px){.wizard-result-card{max-width:280px}.result-actions{gap:var(--bb-space-l)}.btn-feedback{width:48px;height:48px}.btn-feedback .material-symbols-rounded{font-size:var(--bb-icon-size-m)}}.wizard-page{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--bb-space-m);background-color:var(--bb-bg-primary)}.wizard-page .page-container{padding:0}.chat-message{display:flex;margin-bottom:var(--bb-space-s);max-width:75%}.chat-message.own{margin-left:auto;justify-content:flex-end}.chat-message.other{margin-right:auto;justify-content:flex-start}.chat-bubble{display:inline-flex;flex-direction:column;gap:var(--bb-space-xxs);padding:var(--bb-space-s) var(--bb-space-m);border-radius:16px;max-width:100%;word-wrap:break-word}.chat-message.own .chat-bubble{background-color:var(--bb-accent-primary);color:var(--bb-text-on-accent);border-bottom-right-radius:4px}.chat-message.other .chat-bubble{background-color:var(--bb-bg-secondary);color:var(--bb-text-primary);border-bottom-left-radius:4px}.chat-bubble-text{font-size:var(--bb-font-size-body);line-height:var(--bb-line-height-body);margin:0}.chat-bubble-time{font-size:var(--bb-font-size-caption);opacity:.7;align-self:flex-end}.chat-content-card{display:flex;align-items:center;gap:var(--bb-space-s);padding:var(--bb-space-s);background-color:var(--bb-bg-primary);border:1px solid var(--bb-border-subtle);border-radius:var(--bb-radius-card);cursor:pointer;transition:all var(--bb-transition-fast) var(--bb-ease-smooth);box-shadow:none}.chat-content-card:hover{box-shadow:var(--bb-shadow-chunky);transform:translateY(-2px)}.chat-content-poster{width:48px;height:72px;object-fit:cover;border-radius:var(--bb-radius-poster);flex-shrink:0}.chat-content-info{display:flex;flex-direction:column;gap:var(--bb-space-xxs);flex:1;min-width:0}.chat-content-title{font-size:var(--bb-font-size-subtitle);font-weight:var(--bb-font-weight-bold);color:var(--bb-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media(max-width:768px){.chat-message{max-width:85%}}.chat-open-page{display:flex;flex-direction:column;height:calc(100vh - var(--bb-top-bar-height) - var(--bb-footer-nav-height));margin:calc(var(--bb-container-padding) * -1)}.chat-messages{flex:1;overflow-y:auto;padding:var(--bb-space-m);display:flex;flex-direction:column;gap:var(--bb-space-s)}.chat-input-bar{display:flex;align-items:flex-end;gap:var(--bb-space-s);padding:var(--bb-space-m);background-color:var(--bb-bg-primary);border-top:1px solid var(--bb-border-subtle)}.chat-input{flex:1;min-height:40px;max-height:120px;padding:var(--bb-space-s) var(--bb-space-m);font-size:var(--bb-font-size-body);font-family:var(--bb-font-primary);line-height:var(--bb-line-height-body);color:var(--bb-text-primary);background-color:var(--bb-bg-secondary);border:2px solid var(--bb-border-subtle);border-radius:20px;resize:none;transition:border-color var(--bb-transition-fast) var(--bb-ease-smooth)}.chat-input:focus{outline:none;border-color:var(--bb-accent-primary)}.chat-input::placeholder{color:var(--bb-text-placeholder)}.chat-send-btn{display:flex;align-items:center;justify-content:center;width:40px;height:40px;padding:0;background-color:var(--bb-accent-primary);color:var(--bb-text-on-accent);border:none;border-radius:50%;cursor:pointer;flex-shrink:0;transition:all var(--bb-transition-fast) var(--bb-ease-smooth)}.chat-send-btn:hover:not(:disabled){transform:scale(1.1)}.chat-send-btn:disabled{opacity:.5;cursor:not-allowed}.chat-send-btn .material-symbols-rounded{font-size:var(--bb-icon-size-m)}.chat-messages::-webkit-scrollbar{width:6px}.chat-messages::-webkit-scrollbar-track{background:transparent}.chat-messages::-webkit-scrollbar-thumb{background:var(--bb-border-subtle);border-radius:3px}.onboarding-step{display:flex;flex-direction:column;align-items:center;gap:var(--bb-space-l);padding:var(--bb-space-xl) var(--bb-space-m);max-width:800px;margin:0 auto}.onboarding-title{font-size:var(--bb-font-size-h1);font-weight:var(--bb-font-weight-black);color:var(--bb-text-primary);text-align:center;margin:0;line-height:var(--bb-line-height-heading)}.onboarding-subtitle{font-size:var(--bb-font-size-body);color:var(--bb-text-secondary);text-align:center;margin:0;max-width:500px}.genre-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--bb-space-m);width:100%}.genre-card{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--bb-space-s);padding:var(--bb-space-m);min-height:100px;background-color:var(--bb-bg-primary);border:2px solid var(--bb-border-chunky);border-radius:var(--bb-radius-chunky-btn);box-shadow:var(--bb-shadow-chunky);cursor:pointer;transition:all var(--bb-transition-fast) var(--bb-ease-smooth)}.genre-card:hover:not(:disabled){background-color:var(--bb-bg-secondary);transform:translateY(-2px)}.genre-card:active:not(:disabled){transform:translateY(2px);box-shadow:var(--bb-shadow-chunky-pressed)}.genre-card.selected{background-color:var(--bb-accent-primary);color:var(--bb-text-on-accent);border-color:var(--bb-accent-primary)}.genre-card:disabled{opacity:.4;cursor:not-allowed}.genre-emoji{font-size:36px;line-height:1}.genre-label{font-size:var(--bb-font-size-subtitle);font-weight:var(--bb-font-weight-bold);text-align:center}.genre-counter{font-size:var(--bb-font-size-body);color:var(--bb-text-secondary);font-weight:var(--bb-font-weight-bold)}.genre-counter .max-reached{color:var(--bb-accent-primary)}.btn-continue{width:100%;max-width:400px;min-height:56px}@media(max-width:768px){.genre-grid{grid-template-columns:repeat(2,1fr);gap:var(--bb-space-s)}.genre-card{min-height:90px;padding:var(--bb-space-s)}.genre-emoji{font-size:28px}.genre-label{font-size:var(--bb-font-size-caption)}}.onboarding-step-2{max-width:600px}.onboarding-header{display:flex;align-items:center;justify-content:space-between;width:100%;margin-bottom:var(--bb-space-l)}.onboarding-title-small{font-size:var(--bb-font-size-h3);font-weight:var(--bb-font-weight-bold);color:var(--bb-text-primary);margin:0}.btn-icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;padding:0;background:none;border:none;color:var(--bb-text-primary);cursor:pointer;border-radius:50%;transition:background-color var(--bb-transition-fast) var(--bb-ease-smooth)}.btn-icon:hover{background-color:var(--bb-bg-secondary)}.progress-bar{width:100%;height:8px;background-color:var(--bb-bg-secondary);border-radius:4px;overflow:hidden}.progress-fill{height:100%;background-color:var(--bb-accent-primary);transition:width var(--bb-transition-normal) var(--bb-ease-smooth)}.progress-text{font-size:var(--bb-font-size-subtitle);color:var(--bb-text-secondary);text-align:center;margin:var(--bb-space-s) 0 0 0}.dilemma-card{width:100%;padding:var(--bb-space-xl);background-color:var(--bb-bg-primary);border:2px solid var(--bb-border-chunky);border-radius:var(--bb-radius-wizard);box-shadow:var(--bb-shadow-chunky);margin-top:var(--bb-space-xl)}.dilemma-question{font-size:var(--bb-font-size-h2);font-weight:var(--bb-font-weight-bold);color:var(--bb-text-primary);text-align:center;margin:0 0 var(--bb-space-xl) 0;line-height:var(--bb-line-height-heading)}.dilemma-options{display:flex;flex-direction:column;gap:var(--bb-space-m);align-items:center}.dilemma-option{width:100%;max-width:350px;display:flex;flex-direction:column;align-items:center;gap:var(--bb-space-m);padding:var(--bb-space-l);min-height:120px;background-color:var(--bb-bg-primary);border:2px solid var(--bb-border-chunky);border-radius:var(--bb-radius-chunky-btn);box-shadow:var(--bb-shadow-chunky);cursor:pointer;transition:all var(--bb-transition-fast) var(--bb-ease-smooth)}.dilemma-option:hover{background-color:var(--bb-bg-secondary);transform:translateY(-2px)}.dilemma-option:active{transform:translateY(2px);box-shadow:var(--bb-shadow-chunky-pressed)}.dilemma-emoji{font-size:48px;line-height:1}.dilemma-label{font-size:var(--bb-font-size-body);font-weight:var(--bb-font-weight-bold);text-align:center;color:var(--bb-text-primary)}.dilemma-vs{font-size:var(--bb-font-size-h3);font-weight:var(--bb-font-weight-black);color:var(--bb-text-secondary);text-transform:uppercase;margin:var(--bb-space-s) 0}@media(max-width:768px){.dilemma-card{padding:var(--bb-space-l)}.dilemma-question{font-size:var(--bb-font-size-h3)}.dilemma-option{min-height:100px;padding:var(--bb-space-m)}.dilemma-emoji{font-size:36px}.dilemma-label{font-size:var(--bb-font-size-subtitle)}}.onboarding-step-3{max-width:600px}.spike-icon{display:flex;align-items:center;justify-content:center;width:100px;height:100px;border-radius:50%;background-color:var(--bb-bg-secondary);margin-bottom:var(--bb-space-l)}.spike-emoji{font-size:56px;line-height:1}.search-container{width:100%;position:relative}.search-bar{display:flex;align-items:center;gap:var(--bb-space-m);width:100%;padding:var(--bb-space-m);background-color:var(--bb-bg-input);border:2px solid var(--bb-border-subtle);border-radius:var(--bb-radius-chunky-btn);transition:border-color var(--bb-transition-fast) var(--bb-ease-smooth)}.search-bar:focus-within{border-color:var(--bb-accent-primary)}.search-bar .material-symbols-rounded{font-size:var(--bb-icon-size-m);color:var(--bb-text-secondary)}.search-input{flex:1;background:none;border:none;outline:none;font-size:var(--bb-font-size-body);color:var(--bb-text-primary);font-family:var(--bb-font-primary)}.search-input::placeholder{color:var(--bb-text-placeholder)}.search-results{position:absolute;top:calc(100% + var(--bb-space-s));left:0;right:0;max-height:400px;overflow-y:auto;background-color:var(--bb-bg-primary);border:1px solid var(--bb-border-subtle);border-radius:var(--bb-radius-card);box-shadow:0 8px 16px #0000001a;z-index:10}.search-result-item{display:flex;align-items:center;gap:var(--bb-space-m);width:100%;padding:var(--bb-space-m);background:none;border:none;border-bottom:1px solid var(--bb-border-subtle);text-align:left;cursor:pointer;transition:background-color var(--bb-transition-fast) var(--bb-ease-smooth)}.search-result-item:last-child{border-bottom:none}.search-result-item:hover{background-color:var(--bb-bg-secondary)}.result-poster{width:40px;height:60px;object-fit:cover;border-radius:var(--bb-radius-poster);flex-shrink:0}.result-info{display:flex;flex-direction:column;gap:var(--bb-space-xxs);flex:1}.result-title{font-size:var(--bb-font-size-body);font-weight:var(--bb-font-weight-bold);color:var(--bb-text-primary)}.result-year{font-size:var(--bb-font-size-subtitle);color:var(--bb-text-secondary)}.search-results::-webkit-scrollbar{width:6px}.search-results::-webkit-scrollbar-track{background:transparent}.search-results::-webkit-scrollbar-thumb{background:var(--bb-border-subtle);border-radius:3px}.onboarding-page{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--bb-space-m);background:linear-gradient(135deg,var(--bb-bg-primary) 0%,var(--bb-bg-secondary) 100%)}.onboarding-page .page-container{padding:0}:root{--bb-bg-primary: #ffffff;--bb-bg-secondary: #f5f5f5;--bb-bg-tertiary: #ebebeb;--bb-bg-disabled: #e0e0e0;--bb-bg-input: #ffffff;--bb-text-primary: #1c1e21;--bb-text-secondary: #5e6266;--bb-text-disabled: #9ca3af;--bb-text-placeholder: #9ca3af;--bb-text-on-accent: #ffffff;--bb-accent-primary: #ff6b35;--bb-accent-positive: #42d392;--bb-accent-negative: #ff5252;--bb-accent-warning: #ffb020;--bb-accent-info: #4a9eff;--bb-border-chunky: #1c1e21;--bb-border-subtle: #e0e0e0;--bb-border-primary: #d0d0d0;--bb-streak-fire: #ff6b35;--bb-rating-gold: #ffc107;--bb-xp-gradient-start: #ff6b35;--bb-xp-gradient-end: #ff8f5e;--bb-font-primary: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--bb-font-size-h1: 32px;--bb-font-size-h2: 24px;--bb-font-size-h3: 18px;--bb-font-size-body: 16px;--bb-font-size-subtitle: 14px;--bb-font-size-caption: 12px;--bb-font-weight-black: 900;--bb-font-weight-bold: 700;--bb-font-weight-regular: 400;--bb-line-height-heading: 1.2;--bb-line-height-body: 1.5;--bb-line-height-compact: 1.3;--bb-space-xxs: 4px;--bb-space-xs: 8px;--bb-space-s: 12px;--bb-space-m: 16px;--bb-space-l: 24px;--bb-space-xl: 32px;--bb-space-xxl: 40px;--bb-radius-chunky-btn: 16px;--bb-radius-pill: 999px;--bb-radius-poster: 8px;--bb-radius-card: 12px;--bb-radius-wizard: 16px;--bb-radius-progress: 10px;--bb-shadow-chunky: 0 4px 0 var(--bb-border-chunky);--bb-shadow-chunky-pressed: 0 2px 0 var(--bb-border-chunky);--bb-transition-fast: .15s;--bb-transition-normal: .25s;--bb-transition-slow: .4s;--bb-ease-chunky: cubic-bezier(.34, 1.56, .64, 1);--bb-ease-smooth: cubic-bezier(.4, 0, .2, 1);--bb-icon-size-s: 20px;--bb-icon-size-m: 24px;--bb-icon-size-l: 32px;--bb-icon-size-xl: 40px;--bb-container-max-width: 1200px;--bb-container-padding: var(--bb-space-m);--bb-footer-nav-height: 72px;--bb-footer-nav-margin: 16px;--bb-top-bar-height: 56px}[data-theme=dark]{--bb-bg-primary: #18191a;--bb-bg-secondary: #242526;--bb-bg-tertiary: #3a3b3c;--bb-bg-disabled: #4e4f50;--bb-bg-input: #242526;--bb-text-primary: #e4e6eb;--bb-text-secondary: #b0b3b8;--bb-text-disabled: #6b6f76;--bb-text-placeholder: #6b6f76;--bb-text-on-accent: #ffffff;--bb-accent-primary: #ff6b35;--bb-accent-positive: #42d392;--bb-accent-negative: #ff5252;--bb-accent-warning: #ffb020;--bb-accent-info: #4a9eff;--bb-border-chunky: #ffffff;--bb-border-subtle: #3a3b3c;--bb-border-primary: #4e4f50;--bb-streak-fire: #ff6b35;--bb-rating-gold: #ffc107;--bb-xp-gradient-start: #ff6b35;--bb-xp-gradient-end: #ff8f5e}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{font-family:var(--bb-font-primary);font-size:var(--bb-font-size-body);font-weight:var(--bb-font-weight-regular);line-height:var(--bb-line-height-body);color:var(--bb-text-primary);background-color:var(--bb-bg-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;padding:0;min-height:100vh}h1,h2,h3,h4,h5,h6{line-height:var(--bb-line-height-heading);font-weight:var(--bb-font-weight-black);color:var(--bb-text-primary)}h1{font-size:var(--bb-font-size-h1)}h2{font-size:var(--bb-font-size-h2)}h3{font-size:var(--bb-font-size-h3);font-weight:var(--bb-font-weight-bold)}p{margin:0}a{color:inherit;text-decoration:none}button{font-family:inherit;font-size:inherit;border:none;background:none;cursor:pointer;padding:0}input,textarea,select{font-family:inherit;font-size:inherit;color:inherit;border:none;background:none}ul,ol{list-style:none;padding:0;margin:0}img{display:block;max-width:100%;height:auto}.u-mt-s{margin-top:var(--bb-space-s)}.u-mt-m{margin-top:var(--bb-space-m)}.u-mt-l{margin-top:var(--bb-space-l)}.u-mb-s{margin-bottom:var(--bb-space-s)}.u-mb-m{margin-bottom:var(--bb-space-m)}.u-mb-l{margin-bottom:var(--bb-space-l)}.u-p-m{padding:var(--bb-space-m)}.u-p-l{padding:var(--bb-space-l)}.u-text-center{text-align:center}.u-text-bold{font-weight:var(--bb-font-weight-bold)}.u-text-black{font-weight:var(--bb-font-weight-black)}.u-text-secondary{color:var(--bb-text-secondary)}.u-flex{display:flex}.u-flex-center{display:flex;align-items:center;justify-content:center}.u-flex-between{display:flex;align-items:center;justify-content:space-between}.u-flex-col{display:flex;flex-direction:column}.u-hidden{display:none}.u-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.material-symbols-rounded{font-family:Material Symbols Rounded;font-weight:400;font-style:normal;font-size:var(--bb-icon-size-m);display:inline-block;line-height:1;text-transform:none;letter-spacing:normal;word-wrap:normal;white-space:nowrap;direction:ltr;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;-moz-osx-font-smoothing:grayscale;font-feature-settings:"liga";font-variation-settings:"FILL" 0,"wght" 400,"GRAD" 0,"opsz" 24}.material-symbols-rounded.filled{font-variation-settings:"FILL" 1,"wght" 400,"GRAD" 0,"opsz" 24}.material-symbols-rounded.size-s{font-size:var(--bb-icon-size-s);font-variation-settings:"FILL" 0,"wght" 400,"GRAD" 0,"opsz" 20}.material-symbols-rounded.size-l{font-size:var(--bb-icon-size-l);font-variation-settings:"FILL" 0,"wght" 400,"GRAD" 0,"opsz" 32}.material-symbols-rounded.size-xl{font-size:var(--bb-icon-size-xl);font-variation-settings:"FILL" 0,"wght" 400,"GRAD" 0,"opsz" 40}.btn-chunky{display:inline-flex;align-items:center;justify-content:center;gap:var(--bb-space-xs);padding:var(--bb-space-m) var(--bb-space-l);font-family:var(--bb-font-primary);font-size:var(--bb-font-size-body);font-weight:var(--bb-font-weight-bold);line-height:var(--bb-line-height-compact);text-align:center;background-color:var(--bb-accent-primary);color:var(--bb-text-on-accent);border:2px solid var(--bb-border-chunky);border-radius:var(--bb-radius-chunky-btn);box-shadow:var(--bb-shadow-chunky);cursor:pointer;-webkit-user-select:none;user-select:none;transition:transform var(--bb-transition-fast) var(--bb-ease-smooth),box-shadow var(--bb-transition-fast) var(--bb-ease-smooth);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.btn-chunky:hover{background-color:#ff8052}.btn-chunky:active{transform:translateY(2px);box-shadow:var(--bb-shadow-chunky-pressed)}.btn-chunky:disabled{background-color:var(--bb-bg-disabled);border-color:var(--bb-text-secondary);color:var(--bb-text-secondary);box-shadow:none;cursor:not-allowed;transform:none}.btn-chunky.secondary{background-color:var(--bb-bg-primary);color:var(--bb-accent-primary);border-color:var(--bb-accent-primary)}.btn-chunky.secondary:hover{background-color:var(--bb-bg-secondary)}.btn-chunky.positive{background-color:var(--bb-accent-positive);border-color:var(--bb-border-chunky)}.btn-chunky.positive:hover{background-color:#52dda0}.btn-chunky.negative{background-color:var(--bb-accent-negative);border-color:var(--bb-border-chunky)}.btn-chunky.negative:hover{background-color:#ff6868}.btn-chunky.full-width{width:100%}.moment-card{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--bb-space-s);padding:var(--bb-space-l);min-height:120px;font-size:var(--bb-font-size-h3);font-weight:var(--bb-font-weight-bold);text-align:center;background-color:var(--bb-bg-primary);color:var(--bb-text-primary);border:2px solid var(--bb-border-chunky);border-radius:var(--bb-radius-wizard);box-shadow:var(--bb-shadow-chunky);cursor:pointer;-webkit-user-select:none;user-select:none;transition:transform var(--bb-transition-fast) var(--bb-ease-smooth),box-shadow var(--bb-transition-fast) var(--bb-ease-smooth),background-color var(--bb-transition-fast) var(--bb-ease-smooth),border-color var(--bb-transition-fast) var(--bb-ease-smooth)}.moment-card:hover{background-color:var(--bb-bg-secondary)}.moment-card:active{transform:translateY(2px);box-shadow:var(--bb-shadow-chunky-pressed)}.moment-card.selected{background-color:var(--bb-accent-primary);color:var(--bb-text-on-accent);border-color:var(--bb-border-chunky);transform:translateY(2px);box-shadow:var(--bb-shadow-chunky-pressed)}.moment-card .emoji{font-size:48px;line-height:1}.btn-feedback{display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;background-color:var(--bb-bg-primary);border:2px solid var(--bb-border-chunky);border-radius:50%;box-shadow:var(--bb-shadow-chunky);cursor:pointer;-webkit-user-select:none;user-select:none;transition:transform var(--bb-transition-fast) var(--bb-ease-smooth),box-shadow var(--bb-transition-fast) var(--bb-ease-smooth)}.btn-feedback:active{transform:translateY(2px);box-shadow:var(--bb-shadow-chunky-pressed)}.btn-feedback.like{background-color:var(--bb-accent-positive);color:var(--bb-text-on-accent)}.btn-feedback.dislike{background-color:var(--bb-accent-negative);color:var(--bb-text-on-accent)}.btn-feedback.neutral{background-color:var(--bb-bg-primary);color:var(--bb-text-primary)}.btn-dna{display:inline-flex;align-items:center;justify-content:center;gap:var(--bb-space-xs);padding:var(--bb-space-s) var(--bb-space-m);font-size:var(--bb-font-size-body);font-weight:var(--bb-font-weight-bold);line-height:var(--bb-line-height-compact);background-color:var(--bb-bg-primary);color:var(--bb-text-primary);border:2px solid var(--bb-border-chunky);border-radius:var(--bb-radius-pill);cursor:pointer;-webkit-user-select:none;user-select:none;transition:background-color var(--bb-transition-fast) var(--bb-ease-smooth),color var(--bb-transition-fast) var(--bb-ease-smooth),border-color var(--bb-transition-fast) var(--bb-ease-smooth)}.btn-dna:hover{background-color:var(--bb-bg-secondary)}.btn-dna.selected{background-color:var(--bb-accent-primary);color:var(--bb-text-on-accent);border-color:var(--bb-accent-primary)}.btn-dna.compact{padding:var(--bb-space-xs) var(--bb-space-s);font-size:var(--bb-font-size-subtitle)}.poster{display:block;position:relative;border-radius:var(--bb-radius-poster);overflow:hidden;border:none;box-shadow:none;aspect-ratio:2 / 3;width:100%;cursor:pointer;transition:transform var(--bb-transition-fast) var(--bb-ease-smooth),opacity var(--bb-transition-fast) var(--bb-ease-smooth)}.poster:hover{transform:scale(1.02)}.poster:active{opacity:.9}.poster img{width:100%;height:100%;object-fit:cover;display:block}@media(prefers-contrast:high){.poster{border:1px solid var(--bb-border-subtle)}}.poster.horizontal{aspect-ratio:16 / 9}.poster.small{border-radius:6px}.carousel{display:flex;flex-direction:column;gap:var(--bb-space-m)}.carousel-title{font-size:var(--bb-font-size-h3);font-weight:var(--bb-font-weight-bold);color:var(--bb-text-primary);padding-left:var(--bb-container-padding)}.carousel-scroll{display:flex;gap:var(--bb-space-m);overflow-x:auto;overflow-y:hidden;padding:0 var(--bb-container-padding);scrollbar-width:none;-ms-overflow-style:none}.carousel-scroll::-webkit-scrollbar{display:none}.carousel-scroll .poster{flex-shrink:0;width:140px}.wizard-result-card{display:flex;flex-direction:column;position:relative;background-color:var(--bb-bg-primary);border:2px solid var(--bb-border-chunky);border-radius:var(--bb-radius-wizard);box-shadow:var(--bb-shadow-chunky);cursor:grab;-webkit-user-select:none;user-select:none;transition:transform var(--bb-transition-normal) var(--bb-ease-smooth),box-shadow var(--bb-transition-normal) var(--bb-ease-smooth)}.wizard-result-card:active{cursor:grabbing}.wizard-result-card .poster{border-radius:var(--bb-radius-wizard) var(--bb-radius-wizard) 0 0}.wizard-result-card-content{padding:var(--bb-space-m)}.review-card{display:flex;flex-direction:column;gap:var(--bb-space-s);padding:var(--bb-space-m);background-color:var(--bb-bg-primary);border:1px solid var(--bb-border-subtle);border-radius:var(--bb-radius-card);box-shadow:none}.review-card-header{display:flex;align-items:center;gap:var(--bb-space-s)}.review-card-avatar{width:40px;height:40px;border-radius:50%;border:2px solid var(--bb-border-subtle)}.review-card-meta{flex:1}.review-card-name{font-weight:var(--bb-font-weight-bold);color:var(--bb-text-primary)}.review-card-date{font-size:var(--bb-font-size-subtitle);color:var(--bb-text-secondary)}.review-card-rating{display:flex;gap:var(--bb-space-xxs);color:var(--bb-rating-gold)}.review-card-text{color:var(--bb-text-primary);line-height:var(--bb-line-height-body)}.chat-content-card{display:flex;align-items:center;gap:var(--bb-space-s);padding:var(--bb-space-s);background-color:var(--bb-bg-secondary);border:1px solid var(--bb-border-subtle);border-radius:var(--bb-radius-card);box-shadow:none;cursor:pointer;transition:box-shadow var(--bb-transition-fast) var(--bb-ease-smooth),transform var(--bb-transition-fast) var(--bb-ease-smooth)}.chat-content-card:hover,.chat-content-card:active{box-shadow:var(--bb-shadow-chunky);transform:translateY(-2px)}.chat-content-card .poster{width:60px;flex-shrink:0}.chat-content-card-info{flex:1;min-width:0}.chat-content-card-title{font-weight:var(--bb-font-weight-bold);color:var(--bb-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-content-card-meta{font-size:var(--bb-font-size-subtitle);color:var(--bb-text-secondary)}.app-shell{display:flex;flex-direction:column;min-height:100vh;background-color:var(--bb-bg-primary)}.app-content{flex:1;margin-top:var(--bb-top-bar-height);margin-bottom:var(--bb-footer-nav-height);overflow-y:auto;padding:var(--bb-container-padding)}@supports (padding-top: env(safe-area-inset-top)){.app-content{padding-top:calc(var(--bb-container-padding) + env(safe-area-inset-top))}}.app-content::-webkit-scrollbar{width:8px}.app-content::-webkit-scrollbar-track{background:var(--bb-bg-secondary)}.app-content::-webkit-scrollbar-thumb{background:var(--bb-border-subtle);border-radius:4px}.app-content::-webkit-scrollbar-thumb:hover{background:var(--bb-text-tertiary)}
