@import "https://fonts.googleapis.com/css2?family=Newsreader:ital,opsz,wght@0,6..72,400;0,6..72,500;0,6..72,600;0,6..72,700;1,6..72,400&family=Plus+Jakarta+Sans:wght@400;500;600;700;800&family=Outfit:wght@400;500;600;700;800&display=swap";html,body{touch-action:manipulation;position:relative;-webkit-user-select:none!important;user-select:none!important;-webkit-touch-callout:none!important;-webkit-text-size-adjust:100%!important;-moz-text-size-adjust:100%!important;text-size-adjust:100%!important;width:100%!important;max-width:100vw!important;overflow-x:hidden!important}input,textarea,[contenteditable=true]{touch-action:manipulation;-webkit-user-select:text!important;user-select:text!important;-webkit-touch-callout:default!important}#root{touch-action:manipulation;min-height:100dvh;width:100%!important;max-width:100vw!important;overflow-x:hidden!important}*,:before,:after{box-sizing:border-box;overflow-wrap:break-word;touch-action:manipulation;-webkit-tap-highlight-color:transparent!important;-webkit-focus-ring-color:transparent!important}button:active,.btn-primary:active,.btn-secondary:active,.btn-dark:active,.price-pill-btn:active,.sort-refresh-btn:active{transition:transform 80ms;transform:scale(.975)}@media (width<=640px){.desktop-label{display:none!important}}:root,[data-theme=light]{--bg-color:#f8faf9;--surface:#fff;--surface-alt:#f0f4f2;--surface-pill:#e6efea;--border:#e5ebe7;--border-focus:#0f4a38;--border-subtle:#0f4a3814;--text-main:#111815;--text-muted:#5e6e66;--text-light:#94a39b;--primary:#0f4a38;--primary-hover:#0a3628;--primary-light:#e8f5ee;--brandblue:#0f4a38;--brandblue-hover:#0a3628;--brandblue-dark:#07291f;--lightblue:#e8f5ee;--darkblue:#07291f;--brandgreen:#0f4a38;--brandgreen-hover:#0a3628;--lightgreen:#e8f5ee;--darkgreen:#07291f;--terracotta:#0f4a38;--terracotta-hover:#0a3628;--terracotta-light:#e8f5ee;--slate-chat:#374151;--badge-active-bg:#e8f5ee;--badge-active-text:#0f4a38;--coral:#e0533c;--offwhite:#f8faf9;--shadow-sm:0 2px 6px 0 #0f4a380a;--shadow-md:0 6px 16px -2px #0f4a3812, 0 2px 4px -1px #00000005;--shadow-lg:0 12px 28px -4px #0f4a3817, 0 4px 8px -2px #00000008;--shadow-xl:0 20px 36px -6px #0f4a381f;--shadow-card:0 4px 18px -2px #0f4a380f, 0 1px 3px 0 #00000005;--shadow-floating:0 12px 32px #0f4a3824, 0 2px 8px #0000000a;--shadow-blue:0 8px 20px #0f4a3840;--shadow-blue-hover:0 10px 25px #0f4a3859;--shadow-green:0 8px 20px #0f4a3840;--shadow-green-hover:0 10px 25px #0f4a3859;--navbar-bg:#f8faf9f0;--hero-bg:#f8faf9;--modal-bg:#fff;--card-bg:#fff;--surface-pill-alpha:#fffffff0;--dock-bg:#fffffff5;--dock-border:#e5ebe7f2;--font-serif:"Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, sans-serif;--font-display:"Plus Jakarta Sans", "Outfit", sans-serif;--font-sans:"Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, sans-serif}[data-theme=dark]{--bg-color:#0e1210;--surface:#161b18;--surface-alt:#1f2622;--surface-pill:#27312c;--surface-pill-alpha:#161b18f0;--dock-bg:#141a17f5;--dock-border:#ffffff1f;--border:#ffffff1a;--border-focus:#34d399;--border-subtle:#ffffff0f;--text-main:#f3f8f5;--text-muted:#9eaea6;--text-light:#6c7c75;--primary:#34d399;--primary-hover:#10b981;--primary-light:#34d39929;--brandblue:#34d399;--brandblue-hover:#10b981;--brandblue-dark:#059669;--lightblue:#34d39929;--darkblue:#059669;--brandgreen:#34d399;--brandgreen-hover:#10b981;--lightgreen:#34d39929;--darkgreen:#059669;--terracotta:#34d399;--terracotta-hover:#10b981;--terracotta-light:#34d39929;--slate-chat:#4b5563;--badge-active-bg:#34d39933;--badge-active-text:#6ee7b7;--coral:#f87171;--offwhite:#0e1210;--shadow-sm:0 1px 3px 0 #0006;--shadow-md:0 6px 16px -2px #00000080;--shadow-lg:0 12px 28px -4px #0009;--shadow-xl:0 20px 36px -6px #000000b3;--shadow-card:0 4px 18px -2px #0006;--shadow-floating:0 12px 32px #0009;--shadow-blue:0 8px 20px #34d39940;--shadow-blue-hover:0 10px 25px #34d39959;--shadow-green:0 8px 20px #34d39940;--shadow-green-hover:0 10px 25px #34d39959;--navbar-bg:#0e1210f0;--hero-bg:#0e1210;--modal-bg:#161b18;--card-bg:#161b18;--font-serif:"Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, sans-serif;--font-display:"Plus Jakarta Sans", "Outfit", sans-serif;--font-sans:"Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, sans-serif}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-sans);background-color:var(--bg-color);color:var(--text-main);-webkit-font-smoothing:antialiased;min-height:100dvh;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px);padding-left:env(safe-area-inset-left,0px);padding-right:env(safe-area-inset-right,0px);line-height:1.6}h1,h2,h3,h4,h5,h6,.font-display{font-family:var(--font-display)}.text-brandgreen,.text-brandblue{color:var(--brandblue)!important}.bg-brandgreen,.bg-brandblue{background-color:var(--brandblue)!important}.bg-lightgreen,.bg-lightblue{background-color:var(--lightblue)!important}.btn-primary{background-color:var(--brandblue);color:#fff;font-family:var(--font-display);cursor:pointer;box-shadow:var(--shadow-blue);border:none;border-radius:12px;justify-content:center;align-items:center;gap:.5rem;padding:.75rem 1.4rem;font-size:.95rem;font-weight:700;transition:all .2s cubic-bezier(.16,1,.3,1);display:inline-flex}.btn-primary:hover{background-color:var(--brandblue-hover);box-shadow:var(--shadow-blue-hover);transform:translateY(-1px)}.btn-secondary{background-color:var(--surface);color:var(--text-main);font-family:var(--font-display);border:1px solid var(--border);cursor:pointer;border-radius:12px;justify-content:center;align-items:center;gap:.5rem;padding:.75rem 1.4rem;font-size:.95rem;font-weight:600;transition:all .2s;display:inline-flex}.btn-secondary:hover{background-color:var(--surface-alt);border-color:var(--brandblue)}.btn-dark{font-family:var(--font-display);cursor:pointer;background-color:#1e3a8a;border:none;border-radius:12px;justify-content:center;align-items:center;gap:.5rem;padding:.75rem 1.4rem;font-weight:700;transition:all .2s;display:inline-flex;color:#fff!important}.btn-dark:hover{background-color:#1d4ed8;color:#fff!important}[data-theme=dark] .btn-dark{background-color:var(--brandblue)!important;color:#fff!important}[data-theme=dark] .btn-dark:hover{background-color:var(--brandblue-hover)!important;color:#fff!important}input::placeholder,textarea::placeholder,select::placeholder{opacity:.75;color:var(--text-muted)!important}select option{background-color:var(--surface);color:var(--text-main)}.form-input{border:1px solid var(--border);background-color:var(--surface);width:100%;font-family:var(--font-sans);color:var(--text-main);border-radius:12px;outline:none;padding:.8rem 1rem;font-size:.95rem;transition:border-color .2s,box-shadow .2s,background-color .2s}.form-input:focus{border-color:var(--brandblue);box-shadow:0 0 0 4px #3b82f633}.form-input:disabled,.form-input[disabled]{opacity:.9;background-color:var(--surface-alt)!important;color:var(--text-muted)!important;border-color:var(--border)!important;cursor:not-allowed!important}.form-label{font-family:var(--font-display);color:var(--text-main);text-transform:uppercase;letter-spacing:.03em;margin-bottom:.4rem;font-size:.85rem;font-weight:700;display:block}.listing-card{background:var(--card-bg);border:1px solid var(--border);box-shadow:var(--shadow-sm);border-radius:20px;flex-direction:column;transition:all .25s cubic-bezier(.16,1,.3,1);display:flex;overflow:hidden}.listing-placeholder{background:var(--surface-alt);width:100%;height:200px;color:var(--brandblue);justify-content:center;align-items:center;display:flex}.badge-pill{font-size:.75rem;font-family:var(--font-display);text-transform:uppercase;letter-spacing:.04em;background-color:var(--lightblue);color:var(--brandblue);border-radius:9999px;align-items:center;gap:.35rem;padding:.25rem .75rem;font-weight:700;display:inline-flex}.modal-overlay{-webkit-backdrop-filter:blur(10px);z-index:1000;background-color:#000000a6;justify-content:center;align-items:center;height:100dvh;padding:1.25rem;display:flex;position:fixed;inset:0}.modal-content{background-color:var(--modal-bg);color:var(--text-main);border:1px solid var(--border);border-radius:24px;width:100%;max-height:90dvh;position:relative;overflow-y:auto;box-shadow:0 25px 50px -12px #0006}.main-navbar-header{z-index:100;background-color:var(--navbar-bg);-webkit-backdrop-filter:blur(16px)saturate(180%);border-bottom:1px solid var(--border);padding-top:env(safe-area-inset-top,0px);width:100%;margin-bottom:1.5rem;transition:background-color .2s,border-color .2s;position:sticky;top:0}.navbar-container{box-sizing:border-box;justify-content:space-between;align-items:center;gap:.75rem;max-width:1280px;margin:0 auto;padding:.65rem 1.25rem;display:flex}.navbar-brand-group{flex-shrink:0;align-items:center;gap:.65rem;display:flex}.navbar-back-btn{background-color:var(--lightblue);color:var(--brandblue);font-size:.8rem;font-family:var(--font-display);cursor:pointer;border:1px solid #3b82f64d;border-radius:20px;flex-shrink:0;align-items:center;gap:.35rem;padding:.4rem .65rem;font-weight:700;display:flex}.brand-logo{font-family:var(--font-display);letter-spacing:-.03em;color:var(--text-main);cursor:pointer;white-space:nowrap;align-items:center;font-size:1.35rem;font-weight:800;display:flex}.navbar-campus-selector{background-color:var(--surface-alt);border:1px solid var(--border);border-radius:9999px;align-items:center;gap:.4rem;padding:.3rem .75rem;transition:all .2s;display:flex}.navbar-campus-selector:hover{border-color:var(--brandblue)}.navbar-campus-select{color:var(--text-main);font-size:.82rem;font-family:var(--font-display);cursor:pointer;background:0 0;border:none;outline:none;max-width:180px;font-weight:700}.navbar-action-group{flex-shrink:0;align-items:center;gap:.55rem;display:flex}.desktop-nav-links{align-items:center;gap:.4rem;display:flex}.nav-pill{font-size:.88rem;font-family:var(--font-display);color:var(--text-muted);cursor:pointer;background-color:#0000;border:1px solid #0000;border-radius:20px;align-items:center;gap:.45rem;padding:.45rem .85rem;font-weight:500;transition:all .2s cubic-bezier(.16,1,.3,1);display:flex}.nav-pill:hover{color:var(--text-main);background-color:var(--lightblue)}.nav-pill.active{color:var(--brandblue);background-color:var(--lightblue);border-color:#3b82f64d;font-weight:700}.nav-action-icon-btn{border:1px solid var(--border);background-color:var(--surface-alt);width:36px;height:36px;color:var(--text-main);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;font-size:.88rem;transition:all .15s;display:flex}.nav-action-icon-btn:hover{border-color:var(--brandblue);color:var(--brandblue)}.nav-signin-btn{border:1px solid var(--border);background-color:var(--surface-alt);color:var(--brandblue);font-family:var(--font-display);cursor:pointer;white-space:nowrap;border-radius:9999px;align-items:center;gap:.4rem;padding:.45rem .85rem;font-size:.82rem;font-weight:700;transition:all .15s;display:flex}.nav-signin-btn:hover{border-color:var(--brandblue);background-color:var(--lightblue)}.nav-logout-btn{color:#dc2626;font-family:var(--font-display);cursor:pointer;white-space:nowrap;background-color:#ef444414;border:1px solid #ef444440;border-radius:9999px;align-items:center;gap:.35rem;padding:.45rem .8rem;font-size:.82rem;font-weight:600;transition:all .15s;display:flex}.nav-logout-btn:hover{background-color:#ef444426}.desktop-sell-btn{box-shadow:var(--shadow-blue);white-space:nowrap;border-radius:9999px;align-items:center;gap:.35rem;padding:.45rem 1rem;font-size:.84rem;display:flex}.listings-grid{grid-template-columns:repeat(auto-fill,minmax(205px,1fr));align-items:stretch;gap:1.15rem;display:grid}.requests-grid{grid-template-columns:repeat(auto-fill,minmax(235px,1fr));align-items:stretch;gap:1.15rem;display:grid}.listing-card{background:var(--card-bg);border:1px solid var(--border);box-shadow:var(--shadow-sm);border-radius:16px;flex-direction:column;height:100%;transition:all .25s cubic-bezier(.16,1,.3,1);display:flex;overflow:hidden}.listing-card:hover{box-shadow:var(--shadow-md);border-color:#3b82f666;transform:translateY(-3px)}.listing-thumbnail-container{background-color:var(--surface-alt);width:100%;height:155px;position:relative;overflow:hidden}.listing-card-body{flex-direction:column;flex:1;padding:.85rem;display:flex}.listing-card-title{font-family:var(--font-display);color:var(--text-main);-webkit-line-clamp:2;-webkit-box-orient:vertical;height:2.5rem;margin-bottom:.25rem;font-size:.96rem;font-weight:700;line-height:1.3;display:-webkit-box;overflow:hidden}.listing-card-desc{color:var(--text-muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;height:2.1rem;margin-bottom:.45rem;font-size:.78rem;line-height:1.35;display:-webkit-box;overflow:hidden}.listing-card-footer{border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:.5rem;margin-top:auto;padding-top:.65rem;display:flex}.request-card{background-color:var(--card-bg);border:1px solid var(--border);box-shadow:var(--shadow-sm);border-radius:16px;flex-direction:column;justify-content:space-between;gap:.75rem;height:100%;padding:1rem;transition:transform .15s,box-shadow .15s;display:flex}.dashboard-main-container{padding:0 1.25rem 2.5rem}.dashboard-hero{background:var(--hero-bg);-webkit-backdrop-filter:blur(20px)saturate(180%);border:1px solid var(--border);box-shadow:var(--shadow-md);border-radius:28px;margin-bottom:1.5rem;padding:2.5rem 2rem;position:relative;overflow:hidden}.dashboard-hero-title{font-family:var(--font-display);letter-spacing:-.035em;color:var(--text-main);font-size:2.4rem;font-weight:800;line-height:1.18}.dashboard-hero-sub{color:var(--text-muted);margin-top:.5rem;margin-bottom:1.25rem;font-size:1rem;line-height:1.5}.dashboard-hero-quick-switch{flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:1.25rem;display:flex}.dashboard-tabs-wrapper{justifyContent:space-between;align-items:center;gap:1rem;margin-bottom:1.5rem;display:flex}.dashboard-segmented-tabs{background-color:var(--surface-alt);border:1px solid var(--border);border-radius:9999px;width:100%;max-width:540px;padding:.35rem;display:inline-flex}.dashboard-tab-pill{color:var(--text-muted);font-family:var(--font-display);cursor:pointer;white-space:nowrap;background-color:#0000;border:none;border-radius:9999px;flex:1;justify-content:center;align-items:center;gap:.45rem;padding:.55rem 1.15rem;font-size:.88rem;font-weight:700;transition:all .2s cubic-bezier(.16,1,.3,1);display:flex}.dashboard-tab-pill.active{background-color:var(--brandblue);color:#fff;box-shadow:var(--shadow-blue)}.tab-text-short{display:none}.tab-count-badge{background-color:var(--surface);color:var(--brandblue);border-radius:9999px;margin-left:.2rem;padding:.15rem .5rem;font-size:.75rem;font-weight:800}.dashboard-tab-pill.active .tab-count-badge{color:#fff;background-color:#ffffff40}.dashboard-quick-action-desktop{align-items:center;display:flex}.listing-card-price{font-family:var(--font-display);color:var(--brandblue);letter-spacing:-.02em;white-space:nowrap;font-size:1.3rem;font-weight:800}.listing-chat-action-btn{background-color:var(--brandblue);color:#fff;font-size:.82rem;font-family:var(--font-display);cursor:pointer;box-shadow:var(--shadow-blue);white-space:nowrap;border:none;border-radius:10px;flex-shrink:0;align-items:center;gap:.35rem;padding:.45rem .85rem;font-weight:700;transition:transform .15s;display:inline-flex}.listing-chat-action-btn:active{transform:scale(.96)}@media (width<=640px){.dashboard-main-container{padding:0 .85rem 6rem!important}.dashboard-hero{border-radius:18px!important;margin-bottom:1rem!important;padding:1.15rem 1rem!important}.dashboard-hero-badge{margin-bottom:.5rem!important;padding:.25rem .65rem!important;font-size:.72rem!important}.dashboard-hero-title{font-size:1.35rem!important;line-height:1.22!important}.dashboard-hero-sub{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden;margin-top:.35rem!important;margin-bottom:.85rem!important;font-size:.82rem!important;line-height:1.4!important}.dashboard-hero-quick-switch{display:none!important}.dashboard-tabs-wrapper{flex-direction:column!important;align-items:stretch!important;gap:.5rem!important;margin-bottom:.95rem!important}.dashboard-segmented-tabs{width:100%!important;max-width:100%!important;padding:.25rem!important}.dashboard-tab-pill{gap:.35rem!important;padding:.48rem .65rem!important;font-size:.82rem!important}.tab-text-full{display:none!important}.tab-text-short{display:inline!important}.dashboard-quick-action-desktop{display:none!important}.listings-grid{grid-template-columns:repeat(2,1fr)!important;gap:.65rem!important}.listing-card{border-radius:14px!important}.listing-thumbnail-container{height:125px!important}.listing-thumb-campus-badge{display:none!important}.listing-card-body{padding:.6rem .65rem!important}.listing-card-title{height:2.15rem!important;margin-bottom:.2rem!important;font-size:.84rem!important;line-height:1.25!important}.listing-card-desc{display:none!important}.listing-card-footer{gap:.35rem!important;padding-top:.5rem!important}.listing-card-price{font-size:1.02rem!important;font-weight:800!important}.listing-chat-action-btn{border-radius:50%!important;justify-content:center!important;align-items:center!important;width:32px!important;height:32px!important;padding:0!important;box-shadow:0 2px 6px #3b82f64d!important}.listing-chat-action-btn .chat-btn-label{display:none!important}.listing-chat-action-btn i{font-size:.88rem!important}.requests-grid{grid-template-columns:1fr!important;gap:.75rem!important}.request-card{border-radius:14px!important;padding:.85rem!important}}.mobile-bottom-dock{display:none}@media (width<=767px){.desktop-nav-links,.desktop-sell-btn,.desktop-label{display:none!important}.navbar-container{gap:.35rem;padding:.5rem .75rem}.brand-logo{font-size:1.15rem}.navbar-campus-selector{padding:.25rem .5rem}.navbar-campus-select{max-width:105px;font-size:.76rem}.nav-action-icon-btn{width:32px;height:32px;font-size:.8rem}.nav-signin-btn,.nav-logout-btn{padding:.35rem .65rem;font-size:.76rem}body{padding-bottom:0!important}.mobile-bottom-dock{background-color:var(--navbar-bg);-webkit-backdrop-filter:blur(16px);border-top:1px solid var(--border);z-index:1000;justify-content:space-around;align-items:center;height:64px;padding:0 .5rem;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -4px 15px #0000001a}.mobile-dock-item{color:var(--text-muted);font-size:.72rem;font-family:var(--font-display);cursor:pointer;background:0 0;border:none;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:.25rem;padding:.4rem 0;font-weight:500;transition:color .15s;display:flex}.mobile-dock-item i{font-size:1.15rem}.mobile-dock-item.active{color:var(--brandblue);font-weight:700}.mobile-dock-sell-btn{background-color:var(--brandblue);color:#fff;cursor:pointer;width:44px;height:44px;box-shadow:var(--shadow-blue);border:none;border-radius:50%;justify-content:center;align-items:center;margin:0 .25rem;font-size:1.2rem;transition:transform .2s cubic-bezier(.16,1,.3,1);display:flex}.mobile-dock-sell-btn:active{transform:scale(.92)}}.nav-unread-badge{color:#fff;background-color:#ef4444;border-radius:9999px;justify-content:center;align-items:center;min-width:18px;height:18px;margin-left:.4rem;padding:0 5px;font-size:.68rem;font-weight:800;display:inline-flex;box-shadow:0 2px 6px #ef444466}.dock-badge-pill{color:#fff;border:2px solid var(--navbar-bg);background-color:#ef4444;border-radius:9999px;justify-content:center;align-items:center;min-width:17px;height:17px;padding:0 4px;font-size:.62rem;font-weight:800;animation:2s ease-in-out infinite pulse-badge;display:flex;position:absolute;top:-6px;right:-10px;box-shadow:0 2px 6px #ef444480}@keyframes pulse-badge{0%,to{transform:scale(1)}50%{transform:scale(1.12)}}.filter-sort-card{justifyContent:space-between;background-color:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-sm);box-sizing:border-box;border-radius:16px;align-items:center;gap:.85rem;width:100%;margin-bottom:1.5rem;padding:.75rem 1rem;display:flex}.price-filter-track{white-space:nowrap;scrollbar-width:none;-webkit-overflow-scrolling:touch;flex:1;align-items:center;gap:.45rem;min-width:0;padding:2px 0;display:flex;overflow-x:auto}.price-filter-track::-webkit-scrollbar{display:none}.price-pill-btn{border:1px solid var(--border);background-color:var(--surface-alt);color:var(--text-muted);font-size:.82rem;font-family:var(--font-display);cursor:pointer;white-space:nowrap;border-radius:10px;flex-shrink:0;padding:.42rem .85rem;font-weight:600;line-height:1.2;transition:all .15s}.price-pill-btn.active{border-color:var(--brandblue);background-color:var(--lightblue);color:var(--brandblue);font-weight:700}.sort-controls-group{flex-shrink:0;align-items:center;gap:.5rem;display:flex}.sort-select-input{border:1px solid var(--border);background-color:var(--surface);height:38px;color:var(--text-main);font-family:var(--font-display);cursor:pointer;box-sizing:border-box;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-position:right .75rem center;background-repeat:no-repeat;background-size:12px 12px;border-radius:10px;outline:none;padding:0 2rem 0 .85rem;font-size:.82rem;font-weight:600;line-height:normal}[data-theme=dark] .sort-select-input{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2394a3b8' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E")}.sort-refresh-btn{border:1px solid var(--border);background-color:var(--surface);width:38px;height:38px;color:var(--text-muted);cursor:pointer;box-sizing:border-box;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;padding:0;transition:all .15s;display:flex}.sort-refresh-btn:hover{background-color:var(--surface-alt);color:var(--brandblue)}@media (width<=767px){.filter-sort-card{flex-direction:column;align-items:stretch;gap:.75rem;padding:.75rem}.price-filter-track{width:100%;overflow-x:auto}.sort-controls-group{border-top:1px solid var(--border);justify-content:space-between;width:100%;padding-top:.65rem}.sort-select-input{flex:1}.web-only-footer{padding-bottom:calc(5rem + env(safe-area-inset-bottom,0px))!important;margin-bottom:0!important;display:block!important}}.web-only-footer{box-sizing:border-box;width:100%;margin-top:auto;padding-bottom:calc(5rem + env(safe-area-inset-bottom,0px))!important;margin-bottom:0!important;display:block!important}@media (width>=768px){.web-only-footer{padding-bottom:calc(5rem + env(safe-area-inset-bottom,0px))!important;margin-bottom:0!important}}.footer-nav-pill:hover{border-color:var(--terracotta)!important;color:var(--terracotta)!important}.font-serif{font-family:var(--font-serif)!important}.text-terracotta{color:var(--terracotta)!important}.bg-terracotta{background-color:var(--terracotta)!important}.aesthetic-headline{font-family:var(--font-serif);color:var(--text-main);letter-spacing:-.015em;margin:.6rem 0 1.25rem;font-size:clamp(1.85rem,4.5vw,2.5rem);font-weight:500;line-height:1.22}.campus-pill-btn{background-color:var(--surface-alt);border:1px solid var(--border);color:var(--text-main);cursor:pointer;white-space:nowrap;max-width:170px;box-shadow:var(--shadow-sm);border-radius:9999px;align-items:center;gap:.35rem;padding:.32rem .68rem;font-size:.78rem;font-weight:600;transition:all .2s;display:inline-flex}.campus-pill-btn:hover{border-color:var(--terracotta);background-color:var(--surface)}.aesthetic-search-container{width:100%;margin-bottom:1.75rem;position:relative}.aesthetic-search-icon{color:var(--text-muted);pointer-events:none;font-size:.95rem;position:absolute;top:50%;left:1.15rem;transform:translateY(-50%)}.aesthetic-search-input{background-color:var(--surface-alt);border:1px solid var(--border);width:100%;font-size:.94rem;font-family:var(--font-sans);color:var(--text-main);box-sizing:border-box;border-radius:9999px;outline:none;padding:.78rem 1.25rem .78rem 2.85rem;transition:all .2s cubic-bezier(.16,1,.3,1)}.aesthetic-search-input:focus{border-color:var(--terracotta);background-color:#fff;box-shadow:0 0 0 3px #c87a5b1f}.aesthetic-search-input::placeholder{color:var(--text-light)}.trending-header{justify-content:space-between;align-items:center;margin-bottom:1.25rem;display:flex}.trending-header-title{color:var(--text-main);letter-spacing:-.01em;font-size:1.08rem;font-weight:700}.trending-nav-arrows{align-items:center;gap:.4rem;display:flex}.trending-arrow-btn{border:1px solid var(--border);background:var(--surface);width:28px;height:28px;color:var(--text-muted);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;font-size:.75rem;transition:all .15s;display:flex}.trending-arrow-btn:hover{border-color:var(--terracotta);color:var(--terracotta)}.trending-scroll-row{scroll-behavior:smooth;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;overscroll-behavior-x:contain;gap:.85rem;padding-top:6px;padding-bottom:.85rem;display:flex;overflow-x:auto}.trending-scroll-row::-webkit-scrollbar{display:none}.trending-card{scroll-snap-align:start;cursor:pointer;border:1px solid var(--border);height:125px;box-shadow:var(--shadow-sm);background-color:var(--surface-alt);isolation:isolate;-webkit-mask-image:-webkit-radial-gradient(#fff,#000);border-radius:18px;flex:0 0 118px;transition:transform .2s cubic-bezier(.16,1,.3,1),box-shadow .2s,border-color .2s;position:relative;overflow:hidden;transform:translateZ(0);mask-image:radial-gradient(#fff,#000)}.trending-card:hover{box-shadow:var(--shadow-md);border-color:var(--terracotta);transform:translateY(-2px)}.trending-card.active{border-color:var(--terracotta);box-shadow:0 0 0 2px var(--terracotta)}@media (width>=768px){.trending-scroll-row{grid-template-columns:repeat(5,1fr);gap:1rem;padding-top:8px;padding-bottom:0;display:grid;overflow-x:visible}.trending-card{border-radius:20px;flex:none;width:100%;height:135px}.trending-nav-arrows{display:none!important}}.trending-card-img{object-fit:cover;border-radius:18px;width:100%;height:100%;transition:transform .35s;display:block}.trending-card:hover .trending-card-img{transform:scale(1.05)}.trending-card-overlay{z-index:1;pointer-events:none;background:linear-gradient(#0000 0%,#0000000a 45%,#14121094 75%,#141210d9 100%);align-items:flex-end;padding:.65rem .65rem .55rem;display:flex;position:absolute;inset:0}.trending-card-title{color:#fff;text-shadow:0 1px 3px #000000a6;letter-spacing:-.01em;font-size:.8rem;font-weight:700;line-height:1.22}.marketplace-header-row{justify-content:space-between;align-items:center;margin:1.5rem 0 1rem;display:flex}.marketplace-title{color:var(--text-main);letter-spacing:-.01em;font-size:1.25rem;font-weight:700}.marketplace-see-all{color:var(--terracotta);cursor:pointer;background:0 0;border:none;padding:0;font-size:.85rem;font-weight:600}.aesthetic-card{background:var(--card-bg);border:1px solid var(--border);box-shadow:var(--shadow-card);cursor:pointer;isolation:isolate;-webkit-mask-image:-webkit-radial-gradient(#fff,#000);border-radius:20px;flex-direction:column;transition:transform .22s cubic-bezier(.16,1,.3,1),box-shadow .22s,border-color .22s;display:flex;overflow:hidden;transform:translateZ(0);mask-image:radial-gradient(#fff,#000)}.aesthetic-card:hover{box-shadow:var(--shadow-lg);border-color:#c87a5b59;transform:translateY(-3px)}.aesthetic-card-image-box{background-color:var(--surface-alt);isolation:isolate;-webkit-mask-image:-webkit-radial-gradient(#fff,#000);border-top-left-radius:20px;border-top-right-radius:20px;width:100%;height:165px;position:relative;overflow:hidden;mask-image:radial-gradient(#fff,#000)}.aesthetic-card-seller-pill{background:var(--surface-pill-alpha);-webkit-backdrop-filter:blur(10px);color:var(--text-main);border:1px solid var(--border);z-index:2;white-space:nowrap;text-overflow:ellipsis;border-radius:9999px;align-items:center;gap:.35rem;max-width:calc(100% - 54px);padding:3px 10px;font-size:.72rem;font-weight:700;display:inline-flex;position:absolute;top:10px;left:10px;overflow:hidden;box-shadow:0 2px 6px #00000014}[data-theme=dark] .aesthetic-card-seller-pill{color:#f4f4f6!important;background:#1c1c21eb!important;border:1px solid #ffffff2e!important;box-shadow:0 2px 8px #00000080!important}.aesthetic-card-status-pill{background:var(--surface-pill-alpha);-webkit-backdrop-filter:blur(10px);border:1px solid var(--border);z-index:2;white-space:nowrap;border-radius:9999px;align-items:center;gap:.32rem;padding:2.5px 8px;font-size:.68rem;font-weight:700;display:inline-flex;position:absolute;bottom:10px;left:10px;box-shadow:0 2px 6px #00000014}.aesthetic-card-status-pill.active{color:#15803d}[data-theme=dark] .aesthetic-card-status-pill.active{color:#4ade80!important}.aesthetic-card-status-pill.sold{color:#b91c1c}[data-theme=dark] .aesthetic-card-status-pill.sold{color:#f87171!important}[data-theme=dark] .aesthetic-card-status-pill{background:#1c1c21eb!important;border:1px solid #ffffff2e!important;box-shadow:0 2px 8px #00000080!important}.aesthetic-status-dot{border-radius:50%;flex-shrink:0;width:6px;height:6px;display:inline-block}.aesthetic-status-dot.active{background-color:#22c55e;box-shadow:0 0 6px #22c55eb3}.aesthetic-status-dot.sold{background-color:#ef4444;box-shadow:0 0 6px #ef4444b3}.aesthetic-card-heart-btn{background:var(--surface-pill-alpha);-webkit-backdrop-filter:blur(10px);border:1px solid var(--border);width:32px;height:32px;color:var(--text-muted);cursor:pointer;z-index:2;border-radius:50%;justify-content:center;align-items:center;transition:all .15s;display:flex;position:absolute;top:8px;right:8px;box-shadow:0 2px 6px #00000014}[data-theme=dark] .aesthetic-card-heart-btn{color:#a1a1aa!important;background:#1c1c21eb!important;border:1px solid #ffffff2e!important;box-shadow:0 2px 8px #00000080!important}.aesthetic-card-heart-btn.active{color:#e0533c}.aesthetic-card-heart-btn:hover{transform:scale(1.1)}.aesthetic-card-details{flex-direction:column;flex:1;gap:.35rem;padding:.85rem .95rem;display:flex}.aesthetic-card-title{color:var(--text-main);-webkit-line-clamp:2;-webkit-box-orient:vertical;height:2.35rem;font-size:.92rem;font-weight:600;line-height:1.28;display:-webkit-box;overflow:hidden}.aesthetic-card-price{color:var(--text-main);letter-spacing:-.015em;margin-top:auto;font-size:1.15rem;font-weight:800}.aesthetic-bottom-dock{background:var(--dock-bg,#fbf8f3f0);-webkit-backdrop-filter:blur(24px)saturate(160%);border:1px solid var(--dock-border,#e8e0d5f2);z-index:1000;border-radius:9999px;justify-content:space-between;align-items:center;width:calc(100% - 32px);max-width:380px;padding:7px 16px;display:flex;position:fixed;bottom:16px;left:50%;transform:translate(-50%);box-shadow:0 10px 30px #785a411f,0 2px 8px #0000000a}.aesthetic-dock-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;padding:6px 10px;font-size:1.25rem;transition:all .15s;display:flex;position:relative}.aesthetic-dock-btn:hover,.aesthetic-dock-btn.active{color:var(--terracotta)}.aesthetic-dock-dot{background-color:var(--terracotta);border-radius:50%;width:4px;height:4px;position:absolute;bottom:0;left:50%;transform:translate(-50%)}.aesthetic-dock-center-plus{background:var(--terracotta);color:#fff;cursor:pointer;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;font-size:1.25rem;transition:transform .15s,background-color .15s;display:flex;box-shadow:0 6px 18px #c87a5b61}.aesthetic-dock-center-plus:active{background:var(--terracotta-hover);transform:scale(.92)}@media (width<=767px){.main-navbar-header{display:none!important}}body{padding-bottom:0!important}@media (width>=768px){.main-navbar-header{display:block}body{padding-bottom:0!important}.aesthetic-bottom-dock{max-width:440px}}img{image-rendering:-webkit-optimize-contrast}button{-webkit-tap-highlight-color:transparent}html,body{background-color:var(--bg-color);min-height:100dvh;margin:0;padding:0}#root{background-color:var(--bg-color);justify-content:center;width:100%;min-height:100dvh;display:flex}.app-container{background-color:var(--bg-color);box-sizing:border-box;flex-direction:column;width:100%;max-width:100%;min-height:100dvh;display:flex;position:relative}@media (width>=768px){.app-container{max-width:1140px;box-shadow:none;margin:0 auto}}@media (width>=1200px){.app-container{max-width:1240px;margin:0 auto}}.aesthetic-bottom-dock{background:var(--dock-bg,#fbf8f3f0);-webkit-backdrop-filter:blur(24px)saturate(160%);border:1px solid var(--dock-border,#e8e0d5f2);z-index:1000;border-radius:9999px;justify-content:space-between;align-items:center;width:calc(100% - 32px);max-width:380px;padding:7px 16px;transition:all .25s;display:flex;position:fixed;bottom:16px;left:50%;transform:translate(-50%);box-shadow:0 10px 30px #785a411f,0 2px 8px #0000000a}@media (width>=768px){.aesthetic-bottom-dock{max-width:480px;padding:9px 24px;bottom:24px}}.aesthetic-grid-2col{box-sizing:border-box!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:.85rem!important;width:100%!important;display:grid!important}@media (width>=640px){.aesthetic-grid-2col{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:1.15rem!important}}@media (width>=1024px){.aesthetic-grid-2col{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:1.35rem!important}}.aesthetic-card{background:var(--card-bg);border:1px solid var(--border);box-shadow:var(--shadow-card);cursor:pointer;border-radius:18px;flex-direction:column;transition:transform .2s cubic-bezier(.16,1,.3,1),box-shadow .2s;display:flex;overflow:hidden}.aesthetic-card-image-box{background-color:var(--surface-alt);width:100%;height:155px;position:relative;overflow:hidden}@media (width>=640px){.aesthetic-card-image-box{height:175px}}@media (width>=1024px){.aesthetic-card-image-box{height:195px}}.item-detail-dialog{background-color:var(--surface);border:1px solid var(--border);width:100%;max-width:480px;max-height:92dvh;box-shadow:var(--shadow-xl);border-radius:28px;flex-direction:column;padding:0;transition:max-width .25s;display:flex;position:relative;overflow:hidden}@media (width>=768px){.item-detail-dialog{border-radius:24px;max-width:860px!important}.item-detail-body{flex-direction:row!important;gap:1.5rem!important;padding:0 1.5rem 1.5rem!important;display:flex!important;overflow-y:hidden!important}.item-detail-gallery-col{flex-direction:column!important;flex:1.1!important;display:flex!important}.item-detail-hero-box{height:380px!important}.item-detail-info-col{flex-direction:column!important;flex:1.2!important;max-height:calc(88vh - 120px)!important;padding-right:.35rem!important;display:flex!important;overflow-y:auto!important}.item-detail-mobile-bottom-bar{display:none!important}.item-detail-desktop-actions{margin-top:auto!important;padding-top:1rem!important;display:flex!important}}@media (width<=767px){.item-detail-desktop-actions{display:none!important}.item-detail-hero-box{height:310px!important}}.item-expand-pill{-webkit-backdrop-filter:blur(8px);color:#fff;pointer-events:none;z-index:5;background-color:#1c1917c7;border:1px solid #fff3;border-radius:9999px;align-items:center;gap:.35rem;padding:5px 12px;font-size:.75rem;font-weight:600;transition:all .2s;display:flex;position:absolute;bottom:12px;right:12px}.item-detail-hero-box:hover .item-expand-pill{background-color:var(--terracotta);border-color:var(--terracotta);transform:scale(1.04)}.aesthetic-theme-toggle-btn{border:1px solid var(--border);background-color:var(--surface);width:38px;height:38px;color:var(--text-main);cursor:pointer;box-shadow:var(--shadow-sm);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.95rem;transition:all .2s cubic-bezier(.16,1,.3,1);display:flex}.aesthetic-theme-toggle-btn:hover{border-color:var(--terracotta);color:var(--terracotta);box-shadow:var(--shadow-md);transform:translateY(-1px)}.aesthetic-theme-toggle-btn:active{transform:scale(.92)}.chat-context-item-card{transition:all .15s}.chat-context-item-card:hover{background-color:var(--surface)!important}.chat-context-item-card:active{transform:scale(.99)}.chat-modal-dialog{background-color:var(--surface);border:1px solid var(--border);width:100%;max-width:480px;height:88vh;max-height:720px;box-shadow:var(--shadow-xl);border-radius:28px;flex-direction:column;padding:0;transition:max-width .25s;display:flex;overflow:hidden}@media (width>=768px){.chat-modal-dialog{border-radius:24px;max-width:660px!important;max-height:780px!important}}@media (width<=768px){input,textarea,select,.aesthetic-search-input,.form-input{font-size:16px!important}}.aesthetic-card,.aesthetic-card-image-box,.item-detail-dialog,.chat-modal-dialog,.seller-storefront-dialog,.modal-overlay{touch-action:manipulation;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}.shopmate-header{justify-content:space-between;align-items:center;gap:.75rem;width:100%;padding:.65rem 0 1rem;display:flex}.shopmate-location-group{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:.75rem;max-width:calc(100% - 120px);display:flex}.shopmate-location-group:active{transform:scale(.98)}.shopmate-pin-circle{background:var(--surface);border:1px solid var(--border);width:36px;height:36px;color:var(--text-main);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.95rem;display:flex;box-shadow:0 1px 3px #0000000a}.shopmate-location-text{flex-direction:column;display:flex;overflow:hidden}.shopmate-location-delivery-to{color:var(--text-muted);margin-bottom:2px;font-size:.7rem;font-weight:500;line-height:1}.shopmate-location-campus-name{color:var(--text-main);white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:.35rem;font-size:.92rem;font-weight:700;line-height:1.25;display:flex;overflow:hidden}.shopmate-header-actions{flex-shrink:0;align-items:center;gap:.45rem;display:flex}.shopmate-header-btn{background:var(--surface);border:1px solid var(--border);width:36px;height:36px;color:var(--text-main);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;font-size:.92rem;transition:all .15s;display:flex;box-shadow:0 1px 3px #0000000a}.shopmate-header-btn:active{transform:scale(.92)}.shopmate-hero-headline{font-family:var(--font-display);letter-spacing:-.025em;color:var(--text-main);margin:.25rem 0 1.15rem;font-size:1.72rem;font-weight:800;line-height:1.14}.shopmate-hero-accent{color:var(--primary);display:inline}.shopmate-search-bar{background:var(--surface);border:1px solid var(--border);border-radius:9999px;align-items:center;margin-bottom:1.4rem;padding:.5rem .65rem .5rem 1.1rem;transition:all .2s;display:flex;position:relative;box-shadow:0 1px 4px #00000008}.shopmate-search-bar:focus-within{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-light)}.shopmate-search-input{color:var(--text-main);font-family:var(--font-sans);background:0 0;border:none;outline:none;flex:1;padding:.3rem .5rem;font-size:.92rem}.shopmate-search-input::placeholder{color:var(--text-muted);opacity:.85}.shopmate-search-scanner-btn{width:34px;height:34px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;transition:all .15s;display:flex}.shopmate-search-scanner-btn:active{color:var(--primary);transform:scale(.9)}.shopmate-cat-grid{grid-template-columns:repeat(3,1fr);gap:.85rem;margin-bottom:1.6rem;display:grid}.shopmate-cat-card{background:var(--surface);border:1px solid var(--border);cursor:pointer;text-align:center;-webkit-user-select:none;user-select:none;border-radius:20px;flex-direction:column;justify-content:center;align-items:center;min-height:98px;padding:1rem .4rem .85rem;transition:all .2s cubic-bezier(.16,1,.3,1);display:flex;box-shadow:0 1px 3px #00000005}.shopmate-cat-card:active{transform:scale(.95)}.shopmate-cat-card.active{border-color:var(--primary);background:var(--primary-light);box-shadow:0 4px 14px var(--primary-light)}.shopmate-cat-icon{justify-content:center;align-items:center;margin-bottom:.5rem;transition:transform .2s;display:flex}.shopmate-cat-card:hover .shopmate-cat-icon{transform:scale(1.08)}.shopmate-cat-name{color:var(--text-main);letter-spacing:-.01em;font-size:.82rem;font-weight:700}.shopmate-cat-card.active .shopmate-cat-name{color:var(--primary)}.shopmate-promo-banner{color:#fff;background:#0e4434;border-radius:22px;justify-content:space-between;align-items:center;margin-bottom:.6rem;padding:1.35rem 1.4rem;display:flex;position:relative;overflow:hidden;box-shadow:0 8px 24px #0e443438}[data-theme=dark] .shopmate-promo-banner{background:#11362a;border:1px solid #34d39933;box-shadow:0 8px 24px #00000080}.shopmate-promo-content{z-index:2;max-width:65%}.shopmate-promo-title{color:#fff;margin-bottom:.35rem;font-size:1.18rem;font-weight:800;line-height:1.2}.shopmate-promo-sub{color:#d1fae5;margin-bottom:.95rem;font-size:.78rem;line-height:1.35}.shopmate-promo-btn{color:#fff;cursor:pointer;background:#082f24;border:none;border-radius:9999px;align-items:center;gap:.35rem;padding:.5rem 1.15rem;font-size:.78rem;font-weight:800;transition:all .15s;display:inline-flex;box-shadow:0 2px 8px #00000040}[data-theme=dark] .shopmate-promo-btn{color:#0e1210;background:#34d399}.shopmate-promo-btn:active{transform:scale(.94)}.shopmate-promo-graphic{z-index:1;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;display:flex;position:absolute;top:50%;right:12px;transform:translateY(-50%)}.shopmate-carousel-dots{justify-content:center;align-items:center;gap:6px;margin-bottom:1.6rem;display:flex}.shopmate-carousel-dots .dot{background:#d1d5db;border-radius:50%;width:5px;height:5px;transition:all .2s}[data-theme=dark] .shopmate-carousel-dots .dot{background:#374151}.shopmate-carousel-dots .dot.active{background:var(--primary);border-radius:9999px;width:18px}.shopmate-section-header{justify-content:space-between;align-items:center;margin-bottom:.95rem;display:flex}.shopmate-section-title{color:var(--text-main);letter-spacing:-.015em;font-size:1.15rem;font-weight:800}.shopmate-section-link{color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:0;font-size:.82rem;font-weight:700;transition:color .15s}.shopmate-section-link:hover{color:var(--primary)}.shopmate-grid-2col{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:.85rem!important;width:100%!important;display:grid!important}@media (width>=640px){.shopmate-grid-2col{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:1.15rem!important}}@media (width>=1024px){.shopmate-grid-2col{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:1.35rem!important}}.shopmate-card{background:var(--surface);border:1px solid var(--border);cursor:pointer;border-radius:20px;flex-direction:column;padding:.65rem;transition:all .2s cubic-bezier(.16,1,.3,1);display:flex;position:relative;overflow:hidden;box-shadow:0 1px 4px #00000005}.shopmate-card:hover{box-shadow:var(--shadow-md);border-color:var(--primary-light);transform:translateY(-2px)}.shopmate-card-image-wrap{background:var(--surface-alt);border-radius:16px;justify-content:center;align-items:center;width:100%;height:125px;margin-bottom:.55rem;display:flex;position:relative;overflow:hidden}@media (width>=640px){.shopmate-card-image-wrap{height:155px}}.shopmate-card-img{object-fit:cover;width:100%;height:100%;transition:transform .3s}.shopmate-card:hover .shopmate-card-img{transform:scale(1.04)}.shopmate-card-heart-btn{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#9ca3af;cursor:pointer;z-index:3;background:#ffffffeb;border:none;border-radius:50%;justify-content:center;align-items:center;width:30px;height:30px;font-size:.88rem;transition:all .15s;display:flex;position:absolute;top:8px;right:8px;box-shadow:0 1px 4px #00000014}[data-theme=dark] .shopmate-card-heart-btn{color:#9ca8a2;background:#161b18e0}.shopmate-card-heart-btn.active{color:#ef4444!important}.shopmate-card-heart-btn:active{transform:scale(.85)}.shopmate-card-tag{background:var(--surface-alt);color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;border-radius:4px;align-self:flex-start;margin-bottom:.25rem;padding:2px 6px;font-size:.62rem;font-weight:700;display:inline-block}.shopmate-card-title{color:var(--text-main);-webkit-line-clamp:2;-webkit-box-orient:vertical;min-height:2.2em;margin-bottom:.2rem;font-size:.86rem;font-weight:700;line-height:1.25;display:-webkit-box;overflow:hidden}.shopmate-card-meta{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:.35rem;margin-bottom:.45rem;font-size:.7rem;display:flex;overflow:hidden}.shopmate-card-footer{justify-content:space-between;align-items:center;margin-top:auto;padding-top:.2rem;display:flex}.shopmate-card-price{color:var(--text-main);letter-spacing:-.01em;font-size:1.02rem;font-weight:800}.shopmate-card-plus-btn{background:var(--primary);color:#fff;cursor:pointer;width:28px;height:28px;box-shadow:0 3px 8px var(--primary-light);border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.78rem;transition:all .15s;display:flex}.shopmate-card-plus-btn:active{transform:scale(.88)}.shopmate-floating-dock{background:var(--dock-bg);-webkit-backdrop-filter:blur(24px)saturate(160%);border:1px solid var(--dock-border);z-index:1000;border-radius:9999px;justify-content:space-between;align-items:center;width:calc(100% - 32px);max-width:420px;padding:6px 8px;transition:all .25s;display:flex;position:fixed;bottom:16px;left:50%;transform:translate(-50%);box-shadow:0 10px 30px #00000014}[data-theme=dark] .shopmate-floating-dock{box-shadow:0 12px 36px #0000008c}.shopmate-dock-item{color:var(--text-muted);cursor:pointer;-webkit-user-select:none;user-select:none;background:0 0;border:none;border-radius:9999px;justify-content:center;align-items:center;gap:6px;padding:8px 12px;font-size:1.15rem;text-decoration:none;transition:all .2s cubic-bezier(.16,1,.3,1);display:inline-flex;position:relative}.shopmate-dock-item:hover{color:var(--primary)}.shopmate-dock-item.active{background:var(--primary-light);color:var(--primary);padding:7px 16px;font-size:.88rem;font-weight:800}.shopmate-dock-label{letter-spacing:-.01em;white-space:nowrap;font-size:.85rem;font-weight:800}.shopmate-dock-center-action{background:var(--primary);color:#fff;cursor:pointer;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;font-size:1.1rem;transition:transform .15s,background-color .15s;display:flex;box-shadow:0 6px 16px #0e44344d}[data-theme=dark] .shopmate-dock-center-action{color:#0e1210;background:#34d399;box-shadow:0 6px 18px #34d39959}.shopmate-dock-center-action:active{transform:scale(.92)}
