.shop-selector-wrapper{position:relative}.shop-selector-trigger{display:flex;align-items:center;gap:8px;padding:8px 16px;background:var(--panel);border:1px solid var(--border);color:var(--text);border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;transition:all .2s;white-space:nowrap}.shop-selector-trigger:hover{background:var(--raised);border-color:var(--gold);color:var(--gold);box-shadow:0 0 12px #c9a84c26}.shop-name{min-width:80px;text-align:left}.shop-icon{font-size:10px;opacity:.6;transition:transform .2s}.shop-selector-trigger:hover .shop-icon{opacity:1;color:var(--gold)}.shop-dropdown{position:absolute;top:100%;left:52%;transform:translate(-50%);margin-top:8px;background:var(--panel);border:1px solid var(--border);border-radius:6px;min-width:200px;box-shadow:0 8px 24px #0006;z-index:100;animation:slideDown .2s ease}.shop-category{border-bottom:1px solid var(--border)}.shop-category:last-child{border-bottom:none}.category-label{padding:8px 16px 4px;font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:var(--text-dim);font-weight:600}.shop-option{display:block;width:100%;padding:12px 16px;background:none;border:none;color:var(--text);text-align:left;cursor:pointer;font-size:14px;transition:all .2s}.shop-option:hover{background:var(--raised);color:var(--gold);padding-left:20px}.shop-option.active{background:var(--gold-subtle);color:var(--gold);font-weight:600}@media (max-width: 768px){.shop-selector-wrapper{position:relative}.shop-selector-trigger{padding:8px 12px;font-size:12px;white-space:nowrap}.shop-dropdown{position:absolute;top:100%;right:0;left:auto;transform:none;margin-top:8px;min-width:180px}}.guide-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .3s ease-out}.guide-modal-content{background:var(--panel);border:2px solid var(--gold-glow);border-radius:12px;max-width:600px;max-height:80vh;overflow-y:auto;box-shadow:0 20px 60px #00000080;animation:slideIn .3s ease-out}.guide-modal-header{display:flex;justify-content:space-between;align-items:center;padding:24px;border-bottom:2px solid rgba(212,175,55,.2);background:linear-gradient(135deg,var(--raised),var(--surface))}.guide-modal-header h2{font-family:Bebas Neue,sans-serif;font-size:28px;color:var(--gold);margin:0;letter-spacing:1px}.guide-modal-close{background:none;border:none;color:var(--gold);font-size:24px;cursor:pointer;padding:4px 8px;display:flex;align-items:center;justify-content:center;transition:color .2s ease,transform .2s ease}.guide-modal-close:hover{color:var(--gold-bright);transform:scale(1.2)}.guide-modal-body{padding:24px;color:var(--text-bright)}.guide-description{font-size:15px;line-height:1.6;margin-bottom:20px;color:var(--text-dim);font-style:italic}.guide-steps{display:flex;flex-direction:column;gap:16px}.guide-step{display:flex;gap:16px;padding:12px;background:#d4af3714;border-left:3px solid var(--gold);border-radius:6px;transition:background-color .2s ease}.guide-step:hover{background:#d4af371f}.step-number{flex-shrink:0;width:32px;height:32px;background:var(--gold);color:var(--surface);border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:14px}.step-content{flex:1}.step-content h4{margin:0 0 6px;font-size:16px;font-weight:600;color:var(--gold)}.step-content p{margin:0;font-size:14px;line-height:1.6;color:var(--text-bright)}.guide-subsections{display:flex;flex-direction:column;gap:20px}.guide-subsection{padding:16px;background:#d4af3714;border-radius:8px;border:1px solid rgba(212,175,55,.2)}.guide-subsection h4{margin:0 0 12px;font-size:17px;font-weight:600;color:var(--gold)}.guide-subsection ul{margin:0;padding-left:20px;list-style:none}.guide-subsection li{font-size:14px;line-height:1.8;color:var(--text-bright);margin-bottom:8px;position:relative;padding-left:16px}.guide-subsection li:before{content:"▸";position:absolute;left:0;color:var(--gold);font-weight:700}.guide-footer{margin-top:20px;padding:16px;background:#d4af371f;border-left:3px solid var(--gold);border-radius:6px;font-size:14px;line-height:1.6;color:var(--text-dim);font-style:italic}@media (max-width: 640px){.guide-modal-content{max-width:90vw;max-height:85vh}.guide-modal-header h2{font-size:22px}.guide-modal-body{padding:16px}}.guide-selector-wrapper{position:relative}.guide-selector-trigger{display:flex;align-items:center;gap:8px;padding:8px 16px;background:var(--panel);border:1px solid var(--border);color:var(--text);border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;transition:all .2s;white-space:nowrap}.guide-selector-trigger:hover{background:var(--raised);border-color:var(--gold);color:var(--gold);box-shadow:0 0 12px #c9a84c26}.guide-label{min-width:50px;text-align:left}.guide-icon{font-size:10px;opacity:.6;transition:transform .2s}.guide-selector-trigger:hover .guide-icon{opacity:1;color:var(--gold)}.guide-dropdown{position:absolute;top:100%;left:0;margin-top:8px;background:var(--panel);border:1px solid var(--border);border-radius:6px;min-width:200px;box-shadow:0 8px 24px #0006;z-index:100;animation:slideDown .2s ease}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.guide-option{display:block;width:100%;padding:12px 16px;background:none;border:none;color:var(--text);text-align:left;cursor:pointer;font-size:13px;transition:all .2s;border-bottom:1px solid var(--border)}.guide-option:last-child{border-bottom:none}.guide-option:hover{background:var(--raised);color:var(--gold);padding-left:20px}@media (max-width: 768px){.guide-selector-wrapper{position:relative}.guide-selector-trigger{padding:8px 12px;font-size:12px}.guide-dropdown{min-width:180px;left:0}}.topbar{display:flex;justify-content:space-between;align-items:center;padding:20px 32px;background:linear-gradient(135deg,var(--raised) 0%,var(--surface) 50%,var(--raised) 100%);border-bottom:2px solid var(--gold);position:sticky;top:0;z-index:50;box-shadow:0 8px 32px #00000080,0 0 20px #c9a84c1a;min-height:90px}.topbar-left{display:flex;align-items:center;gap:20px;flex:1}.topbar-center{flex:1.2;display:flex;justify-content:center;padding:0 32px}.shop-info{text-align:center;background:#c9a84c0d;padding:12px 20px;border-radius:8px;border:1px solid rgba(201,168,76,.2)}.shop-address{font-size:12px;color:var(--text-dim);margin-bottom:6px;letter-spacing:.5px}.shop-hours{font-size:13px;font-weight:600;color:var(--gold);letter-spacing:.3px}.shop-hours.open{color:#27ae60}.shop-hours.closed{color:#c0392b}.menu-toggle{display:none;background:none;border:none;color:var(--gold);font-size:24px;cursor:pointer;padding:8px 12px;transition:all .3s ease;border-radius:6px}.menu-toggle:hover{color:#f0f0f0;background:#c9a84c1a;transform:scale(1.1)}.logo-small{filter:drop-shadow(0 0 20px rgba(201,168,76,.5));width:70px;height:70px;object-fit:contain;transition:all .3s ease;cursor:pointer}.logo-small:hover{filter:drop-shadow(0 0 30px rgba(201,168,76,.8));transform:scale(1.05)}.branding{display:flex;flex-direction:column;gap:4px}.topbar-title{font-family:Bebas Neue,sans-serif;font-size:32px;letter-spacing:.15em;color:var(--gold);margin:0;font-weight:700;text-shadow:0 2px 8px rgba(201,168,76,.3),0 4px 16px rgba(201,168,76,.15);transition:all .3s ease}.topbar-title:hover{text-shadow:0 2px 12px rgba(201,168,76,.5),0 6px 24px rgba(201,168,76,.25);color:#f0f0f0}.topbar-subtitle{font-size:10px;letter-spacing:.2em;color:#c9a84ccc;margin:0;text-transform:uppercase;font-weight:500;opacity:.9}@media (max-width: 768px){.topbar{display:flex;flex-direction:column;gap:12px;padding:16px;min-height:auto;border-bottom:1px solid var(--border)}.topbar-left{display:flex;flex-direction:row;align-items:center;gap:12px;width:100%}.menu-toggle{display:block;padding:4px 8px;background:none;border:none;cursor:pointer;margin:0;flex-shrink:0}.logo-small{width:60px;height:60px;flex-shrink:0}.logo-small:hover{filter:drop-shadow(0 0 16px rgba(201,168,76,.4));transform:scale(1.05)}.branding{gap:4px;display:flex;flex-direction:column;align-items:center;text-align:center;flex:1}.topbar-title{font-size:24px;letter-spacing:.1em;margin:0}.topbar-subtitle{font-size:10px;margin:0}.topbar-center{width:100%;padding:0;margin:0}.shop-info{display:flex;flex-direction:column;gap:4px;align-items:center;padding:0;background:none;border:none;text-align:center}.shop-address{font-size:11px;margin-bottom:0;word-break:break-word}.shop-hours{font-size:12px;white-space:normal}.topbar-dropdowns{display:flex;gap:8px;justify-content:center;align-items:center;width:100%;flex-wrap:wrap}.topbar-dropdowns .guide-selector-wrapper,.topbar-dropdowns .shop-selector-wrapper{flex:0 1 auto;min-width:0}@media (max-width: 375px){.topbar{padding:12px;gap:10px}.topbar-left{gap:8px}.logo-small{width:50px;height:50px}.topbar-title{font-size:18px}.topbar-subtitle{font-size:8px}.topbar-dropdowns{gap:6px}.guide-selector-trigger,.shop-selector-trigger{padding:6px 10px;font-size:11px}}}.sidebar{width:280px;background:linear-gradient(180deg,var(--surface) 0%,var(--panel) 100%);border-right:2px solid var(--gold-glow);overflow-y:auto;display:flex;flex-direction:column;gap:0;max-height:calc(100vh - 80px)}.sidebar-overlay{display:none}.sidebar-section{padding:24px 16px;border-bottom:1px solid rgba(201,168,76,.1)}.sidebar-section:first-child{padding-top:20px}.sidebar-section:last-child{border-bottom:none;flex:1}.sidebar-heading{font-family:Bebas Neue,sans-serif;font-size:14px;text-transform:uppercase;letter-spacing:.15em;color:var(--gold);margin-bottom:16px;font-weight:700;text-shadow:0 2px 4px rgba(0,0,0,.3)}.quick-topics,.saved-guides{display:flex;flex-direction:column;gap:8px}.sidebar-item{display:block;width:100%;padding:13px 14px;background:linear-gradient(135deg,var(--panel) 0%,var(--raised) 100%);border:1.5px solid var(--border);color:var(--text-bright);border-radius:6px;text-align:left;cursor:pointer;font-size:13px;font-weight:500;transition:all .25s cubic-bezier(.23,1,.32,1);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;position:relative;overflow:hidden}.sidebar-item:before{content:"";position:absolute;left:0;top:0;height:100%;width:3px;background:var(--gold);transform:scaleY(0);transform-origin:center;transition:transform .25s ease}.sidebar-item:hover{background:linear-gradient(135deg,var(--raised) 0%,var(--panel) 100%);border-color:var(--gold);color:var(--gold);transform:translate(6px);box-shadow:0 8px 24px #c9a84c26,inset 0 0 16px #c9a84c14}.sidebar-item:hover:before{transform:scaleY(1)}.topic-item{font-size:13px;color:var(--text-bright)}.topic-item:hover{color:var(--gold)!important}.guide-item{font-size:12px;font-weight:600;color:var(--text-bright)}.guide-item:hover{color:var(--gold)!important}@media (max-width: 768px){.sidebar{position:fixed;left:-280px;top:80px;bottom:0;z-index:200;overflow-y:auto;transition:left .3s ease;box-shadow:2px 0 12px #0009}.sidebar.open{left:0}.sidebar-overlay{display:block;position:fixed;top:80px;bottom:0;left:0;right:0;background:#0009;z-index:150;touch-action:manipulation;-webkit-user-select:none;user-select:none}.sidebar-section{padding:16px 12px}.sidebar-item{padding:14px 12px;font-size:12px;min-height:44px;display:flex;align-items:center;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.sidebar-heading{font-size:13px}}.chat-thread{flex:1;overflow-y:auto;padding:24px;display:flex;flex-direction:column;gap:16px}.message{display:flex;width:100%;animation:slideIn .3s ease}@keyframes slideIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.message-user{justify-content:flex-end}.message-assistant{justify-content:flex-start}.message-content{padding:12px 16px;border-radius:8px;line-height:1.8;word-wrap:break-word;word-break:break-word;overflow-wrap:break-word;white-space:pre-wrap;font-size:16px;min-width:0;flex:0 1 auto;max-width:70%}.message-user .message-content{background:var(--gold);color:var(--void);font-weight:500}.message-assistant .message-content{background:var(--panel);border:1px solid var(--border);color:var(--text)}.message-content.typing{display:flex;gap:6px;align-items:center;height:20px;padding:12px 16px}.message-content.typing span{width:6px;height:6px;background:var(--gold);border-radius:50%;animation:typing 1.4s infinite}.message-content.typing span:nth-child(2){animation-delay:.2s}.message-content.typing span:nth-child(3){animation-delay:.4s}@keyframes typing{0%,60%,to{opacity:.3;transform:translateY(0)}30%{opacity:1;transform:translateY(-8px)}}@media (max-width: 768px){.chat-thread{padding:12px 16px;gap:12px}.message-content{padding:10px 12px;font-size:14px;line-height:1.6;max-width:80%;word-break:break-word;-webkit-hyphens:auto;hyphens:auto}.message-content a,.message-content code{word-break:break-all}}.smart-suggestions{display:flex;gap:8px;padding:0 24px 16px;flex-wrap:wrap;animation:fadeIn .3s ease}.suggestion-chip{padding:8px 16px;background:var(--panel);border:1px solid var(--border);color:var(--text);border-radius:20px;font-size:12px;cursor:pointer;transition:all .2s;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:180px}.suggestion-chip:hover{background:var(--gold-subtle);border-color:var(--gold);color:var(--gold);transform:translateY(-2px);box-shadow:0 4px 12px #c9a84c33}.suggestion-chip:active{transform:translateY(0)}@media (max-width: 768px){.smart-suggestions{padding:0 16px 12px;gap:6px}.suggestion-chip{padding:6px 12px;font-size:11px;max-width:140px}}.welcome-message{text-align:center;padding:80px 24px 32px;margin-bottom:24px;animation:fadeIn .6s ease;border-bottom:2px solid rgba(201,168,76,.2)}.welcome-message h2{font-family:Bebas Neue,sans-serif;font-size:42px;letter-spacing:.12em;color:var(--gold);margin-bottom:12px;font-weight:700;text-shadow:0 4px 12px rgba(201,168,76,.2);word-spacing:.2em}.welcome-message p{color:var(--text-bright);font-size:15px;line-height:1.7;max-width:520px;margin:0 auto;font-weight:400}@media (max-width: 768px){.welcome-message{padding:70px 16px 20px;margin-bottom:16px}.welcome-message h2{font-size:32px;letter-spacing:.1em}.welcome-message p{font-size:14px}}.footer{padding:12px 24px;background:var(--surface);border-top:1px solid var(--border);text-align:center;font-size:12px;color:var(--text-dim);font-weight:500;letter-spacing:.05em}@media (max-width: 768px){.footer{padding:8px 16px;font-size:11px}}.chat-layout{display:flex;flex-direction:column;height:100vh;background:var(--void)}.main-container{display:flex;flex:1;overflow:hidden}.chat-area{display:flex;flex-direction:column;flex:1;background:var(--void);overflow-y:auto;overflow-x:hidden}.input-bar{padding:16px 24px;background:var(--surface);border-top:1px solid var(--border);flex-shrink:0}.input-wrapper{display:flex;gap:12px;align-items:flex-end}.message-input{flex:1;background:var(--panel);border:1px solid var(--border);color:var(--text);padding:12px 16px;border-radius:6px;font-family:inherit;font-size:14px;resize:none;max-height:120px;transition:all .2s;scroll-margin-top:250px}.message-input::placeholder{color:var(--gold-dim);opacity:.8}.message-input:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 2px var(--gold-subtle)}.message-input:disabled{opacity:.5;cursor:not-allowed}.send-btn{padding:12px 24px;background:var(--gold);border:none;color:var(--void);border-radius:6px;cursor:pointer;font-weight:600;transition:all .2s;white-space:nowrap;font-size:14px}.send-btn:hover:not(:disabled){background:#dbb86b;transform:translateY(-1px);box-shadow:0 4px 12px #c9a84c4d}.send-btn:disabled{opacity:.5;cursor:not-allowed}@media (max-width: 768px){.main-container{position:relative}.sidebar{position:absolute}.input-bar{padding:12px 16px;box-sizing:border-box}.input-wrapper{gap:8px;width:100%;box-sizing:border-box}.message-input{padding:10px 14px;font-size:16px;min-width:0}.send-btn{padding:10px 18px;font-size:12px;flex-shrink:0}}@media (max-width: 375px){.input-bar{padding:10px 12px}.input-wrapper{gap:6px}.message-input{padding:8px 10px;font-size:16px}.send-btn{padding:8px 14px;font-size:11px}}.login-screen{display:flex;align-items:center;justify-content:center;height:100vh;background:var(--void);padding:24px;animation:fadeIn .6s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.login-card{width:100%;max-width:400px;background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:48px 32px;box-shadow:0 8px 32px #00000080}.logo-wrap{display:flex;flex-direction:column;align-items:center;margin-bottom:32px;gap:12px}.logo-placeholder{max-width:120px;height:auto;filter:drop-shadow(0 0 24px rgba(201,168,76,.3))}.logo-wrap .brand-name{font-size:36px;margin-bottom:4px}.logo-wrap .brand-sub{margin:0}.login-form{display:flex;flex-direction:column;gap:16px}.error-message{padding:12px;background:#c0392b1a;border:1px solid var(--red);border-radius:4px;color:#ff6b6b;font-size:13px;text-align:center;animation:slideIn .3s ease}.form-group{display:flex;flex-direction:column;gap:6px}.form-group label{font-size:12px;text-transform:uppercase;letter-spacing:.1em;color:var(--text-dim);font-weight:600}.form-group input{padding:12px 16px;background:var(--panel);border:1px solid var(--border);color:var(--text);border-radius:4px;font-family:inherit;font-size:14px;transition:all .2s}.form-group input:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 2px var(--gold-subtle);background:var(--raised)}.form-group input:disabled{opacity:.5;cursor:not-allowed}.form-group input::placeholder{color:var(--text-dim)}.login-btn{padding:12px 24px;background:var(--gold);border:none;color:var(--void);border-radius:4px;font-weight:600;font-size:14px;cursor:pointer;text-transform:uppercase;letter-spacing:.05em;transition:all .2s;margin-top:8px}.login-btn:hover:not(:disabled){background:#dbb86b;transform:translateY(-2px);box-shadow:0 6px 20px #c9a84c4d}.login-btn:active:not(:disabled){transform:translateY(0)}.login-btn:disabled{opacity:.6;cursor:not-allowed}.footer-text{text-align:center;font-size:12px;color:var(--text-dim);margin-top:24px}@media (max-width: 480px){.login-card{padding:32px 20px}.logo-wrap .brand-name{font-size:28px}.logo-placeholder{max-width:100px}}#app{width:100%;height:100vh;display:flex;flex-direction:column;background:var(--void)}:root{--void: #080808;--surface: #111111;--panel: #181818;--raised: #202020;--border: #2a2a2a;--border-bright: #383838;--gold: #C9A84C;--gold-dim: #7a5e25;--gold-glow: rgba(201,168,76,.12);--gold-subtle: rgba(201,168,76,.06);--text: #d4d4d4;--text-dim: #686868;--text-bright: #f0f0f0;--red: #c0392b;--green: #27ae60}@media (max-width: 768px){html{scroll-padding-top:220px}}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{width:100%;height:100%;max-width:100%;overflow-x:hidden}body{background:var(--void);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased;overflow:hidden;-webkit-text-size-adjust:100%}*{box-sizing:border-box}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.04'/%3E%3C/svg%3E");pointer-events:none;z-index:0;opacity:.5}#app{width:100%;height:100vh;display:flex;flex-direction:column}.brand-name{font-family:Bebas Neue,sans-serif;font-size:42px;letter-spacing:.12em;color:var(--gold);line-height:1}.brand-sub{font-family:Barlow Condensed,sans-serif;font-size:13px;letter-spacing:.25em;color:var(--text-dim);text-transform:uppercase}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--surface)}::-webkit-scrollbar-thumb{background:var(--border-bright);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--text-dim)}
