:root{--color-primary: #f59e0b;--color-primary-dark: #d97706;--color-bg: #f5f7fa;--color-surface: #ffffff;--color-text: #1a1a2e;--color-text-muted: #6b7280;--color-border: #e5e7eb;--color-surround: #dfe3e9;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 16px;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .08);--shadow-md: 0 4px 20px rgba(0, 0, 0, .1);--app-max-width: 480px;--safe-top: env(safe-area-inset-top, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);--safe-left: env(safe-area-inset-left, 0px);--safe-right: env(safe-area-inset-right, 0px);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color:var(--color-text);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}:root[data-theme=dark]{--color-bg: #181818;--color-surface: #242424;--color-text: #f0f0f0;--color-text-muted: #a0a0a0;--color-border: #383838;--color-surround: #0a0a0a;--shadow-md: 0 4px 20px rgba(0, 0, 0, .5)}@media(prefers-color-scheme:dark){:root:not([data-theme]){--color-bg: #181818;--color-surface: #242424;--color-text: #f0f0f0;--color-text-muted: #a0a0a0;--color-border: #383838;--color-surround: #0a0a0a;--shadow-md: 0 4px 20px rgba(0, 0, 0, .5)}}a{font-weight:500;color:var(--color-primary);text-decoration:inherit}a:hover{color:var(--color-primary-dark)}button{font-family:inherit}button:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.app-icon{width:1em;height:1em;display:inline-block;flex-shrink:0;vertical-align:-.125em}*{margin:0;padding:0;box-sizing:border-box}html,body{min-height:100vh;min-height:100dvh}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:var(--color-bg);color:var(--color-text);display:flex;justify-content:center;align-items:center;min-height:100dvh}#root{width:100%;max-width:var(--app-max-width);height:100vh;height:100dvh;display:flex;position:relative;overflow:hidden;box-shadow:var(--shadow-sm)}.app{display:flex;flex-direction:column;width:100%;height:100%;min-height:0;overflow:hidden;position:relative;background:var(--color-bg);padding-left:var(--safe-left);padding-right:var(--safe-right)}.app-content{flex:1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;padding-bottom:var(--safe-bottom);display:flex;flex-direction:column}.loading{display:flex;justify-content:center;align-items:center;min-height:60vh;font-size:1.1rem;color:var(--color-text-muted);background:var(--color-bg)}@media(max-width:600px){body{font-size:16px;background:var(--color-bg)}#root{box-shadow:none}}@media(min-width:601px){body{background:var(--color-surround);padding:24px 0}#root{height:min(100dvh - 48px,900px);border:1px solid var(--color-border);border-radius:24px;overflow:hidden;box-shadow:var(--shadow-md)}}.bottom-nav{position:relative;flex:0 0 auto;height:50px;padding-bottom:var(--safe-bottom, 0px);background:var(--color-surface, #fff);border-top:1px solid var(--color-border, #e0e0e0);display:flex;justify-content:space-around;align-items:center;box-shadow:0 -2px 8px #0000001a;z-index:100}.nav-item{display:flex;flex-direction:row;align-items:center;justify-content:center;gap:6px;padding:6px 14px;border:none;background:none;cursor:pointer;transition:color .2s ease,transform .2s ease;color:var(--color-text-muted);font-size:13px;font-weight:500}.nav-item:hover{transform:scale(1.04)}.nav-item.active{color:var(--color-primary);transform:scale(1.04)}.nav-icon{font-size:18px;display:block;position:relative;transition:transform .2s ease}.nav-badge{position:absolute;top:-4px;right:-10px;min-width:16px;height:16px;padding:0 4px;border-radius:8px;background:#e74c3c;color:#fff;font-size:10px;font-weight:700;line-height:16px;text-align:center;box-sizing:border-box}.nav-item.active .nav-icon{transform:scale(1.1)}.nav-label{font-size:12px;font-weight:600;letter-spacing:.3px}@media(max-width:480px){.bottom-nav{height:48px}.nav-item{padding:6px 12px;gap:5px}.nav-icon{font-size:17px}.nav-label{font-size:11px}}.product-card{position:relative;width:100%;--card-max: 420px;max-width:var(--card-max);height:100%;margin:0 auto;overflow:visible;transition:opacity .3s ease;touch-action:none;cursor:grab}.card-shift{position:relative;display:flex;flex-direction:column;width:100%;height:100%;background:var(--color-surface, #fff);border-radius:var(--radius-lg, 16px);box-shadow:var(--shadow-md, 0 4px 20px rgba(0, 0, 0, .1));overflow:hidden;transition:transform .3s cubic-bezier(.22,1,.36,1),box-shadow .15s ease-out,border-radius .36s cubic-bezier(.22,1,.36,1);will-change:transform}.product-card.hidden{opacity:0;transition:none}.product-card.dragging .card-shift{transition:box-shadow .15s ease-out}.product-card.dragging{cursor:grabbing}.product-card.exiting{pointer-events:none}.product-card.exiting .card-shift{transition:transform .42s cubic-bezier(.25,.46,.45,.94),box-shadow .15s ease-out}.product-card.expanded{position:fixed;z-index:1000;max-width:none;margin:0;touch-action:auto;cursor:default;transition:top .36s cubic-bezier(.22,1,.36,1),left .36s cubic-bezier(.22,1,.36,1),width .36s cubic-bezier(.22,1,.36,1),height .36s cubic-bezier(.22,1,.36,1)}.product-card.expanded .card-shift{height:100%;border-radius:0;box-shadow:none;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;will-change:auto}.product-card.morphing .card-shift{overflow:hidden}.product-card.closing .card-shift{border-radius:var(--radius-lg, 16px)}.product-card.expanded .card-image{flex:0 0 auto;transition:height .34s cubic-bezier(.22,1,.36,1),opacity .28s ease}.product-card.expanded .card-content,.product-card.expanded .card-extra{touch-action:pan-y;box-sizing:border-box;width:var(--text-col, var(--card-max));max-width:100%;margin-left:auto;margin-right:auto}.product-card.expanded.image-hidden .card-content{padding-top:56px}.product-card.expanded .card-content{position:sticky;top:0;z-index:3;background:var(--color-surface, #fff)}.product-card.carousel-full .card-shift{overflow:hidden}.card-back{position:absolute;top:12px;left:12px;z-index:5;width:36px;height:36px;border:none;border-radius:50%;background:#0000008c;color:#fff;font-size:16px;cursor:pointer;animation:overlayFade .3s ease both}.product-card.closing .card-back,.product-card.closing .carousel-dots{animation:overlayFadeOut .3s ease both}@keyframes overlayFade{0%{opacity:0}to{opacity:1}}@keyframes overlayFadeOut{0%{opacity:1}to{opacity:0}}.card-extra{padding:0 clamp(12px,3vw,20px) clamp(20px,5vw,32px)}.card-description{margin:0 0 1rem;color:var(--color-text-muted);line-height:1.5}.card-specs{display:grid;gap:.5rem;margin:0}.card-spec{display:flex;justify-content:space-between;gap:1rem;padding-bottom:.5rem;border-bottom:1px solid var(--color-border);font-size:.9rem}.card-spec dt{color:var(--color-text-muted);font-weight:600}.card-spec dd{margin:0;color:var(--color-text);text-align:right;text-transform:capitalize}.product-card:focus{outline:none}.product-card:focus-visible{outline:3px solid var(--color-primary, #2980b9);outline-offset:3px}.product-card.committal.feedback-right .card-shift{box-shadow:0 0 0 4px #2ecc71,0 10px 34px #2ecc7173}.product-card.committal.feedback-left .card-shift{box-shadow:0 0 0 4px #e74c3c,0 10px 34px #e74c3c73}.product-card.committal.feedback-up .card-shift{box-shadow:0 0 0 4px #f1b500,0 10px 34px #f1b50073}.product-card.feedback-right .card-shift:after,.product-card.feedback-left .card-shift:after,.product-card.feedback-up .card-shift:after{content:"";position:absolute;inset:0;z-index:4;pointer-events:none;opacity:var(--feedback-strength, 0)}.product-card.feedback-right .card-shift:after{background:linear-gradient(0deg,#2ecc712e,#2ecc710a)}.product-card.feedback-left .card-shift:after{background:linear-gradient(0deg,#e74c3c2e,#e74c3c0a)}.product-card.feedback-up .card-shift:after{background:linear-gradient(0deg,#f1b50038,#f1b5000d)}@keyframes slideIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.card-image{position:relative;flex:1 1 auto;min-height:0;width:100vw;align-self:center;overflow:hidden;background:#8080801f}.carousel-track{display:flex;width:100%;height:100%;transition:transform .3s cubic-bezier(.22,1,.36,1);will-change:transform}.carousel-slide{flex:0 0 100%;width:100%;height:100%;display:flex;align-items:center;justify-content:center;overflow:hidden}.carousel-slide img{width:100%;height:auto;transform-origin:center;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;opacity:0;transition:opacity .25s ease}.carousel-slide img.loaded{opacity:1}.product-card.expanded .carousel-track,.product-card.expanded .carousel-slide img{touch-action:none}.product-card.expanded .carousel-track{cursor:grab}.carousel-dots{position:absolute;bottom:10px;left:0;right:0;z-index:2;display:flex;justify-content:center;gap:6px;animation:overlayFade .3s ease both}.carousel-dot{width:7px;height:7px;border-radius:50%;background:#ffffff80;box-shadow:0 0 2px #0006;transition:background .15s ease}.carousel-dot.active{background:#fff}.card-back,.carousel-dots{transition:opacity .2s ease}.product-card.controls-hidden .card-back,.product-card.controls-hidden .carousel-dots{opacity:0;pointer-events:none}.category-badge{position:absolute;top:12px;right:12px;z-index:5;background:#000000b3;color:#fff;padding:6px 12px;border-radius:20px;font-size:12px;font-weight:600}.card-content{flex:0 0 auto;padding:clamp(12px,3vw,20px)}.card-brand{display:block;font-size:12px;font-weight:700;letter-spacing:.8px;text-transform:uppercase;color:var(--color-text-muted, #888);margin-bottom:4px}.card-content h2{margin:0 0 6px;font-size:clamp(18px,4.5vw,24px);color:var(--color-text, #333)}.description{color:var(--color-text-muted, #666);font-size:14px;margin:0 0 12px;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.price-section{display:flex;align-items:center;gap:12px}.price{font-size:clamp(20px,5vw,28px);font-weight:700;color:var(--color-primary, #e74c3c)}.price.sale{color:#e74c3c}.price.original{font-size:clamp(14px,3.5vw,18px);font-weight:500;color:var(--color-text-muted, #999);text-decoration:line-through}.color-tag{margin-left:auto;font-size:12px;color:var(--color-text-muted, #888);text-transform:capitalize;font-style:italic}.btn-dislike,.btn-buy,.btn-like{flex:1;padding:12px 16px;border:none;border-radius:10px;font-size:clamp(14px,3.5vw,16px);font-weight:600;color:#fff;cursor:pointer;transition:transform .2s ease,background .2s ease,box-shadow .2s ease}.btn-dislike:focus-visible,.btn-buy:focus-visible,.btn-like:focus-visible{outline:3px solid var(--color-primary, #2980b9);outline-offset:2px}.btn-dislike{background:#e74c3c}.btn-dislike:hover{background:#c0392b;transform:scale(1.05);box-shadow:0 4px 12px #e74c3c4d}.btn-buy{background:#d39e00;color:#fff}.btn-buy:hover{background:#b88a00;transform:scale(1.05);box-shadow:0 4px 12px #d39e0066}.btn-like{background:#2ecc71}.btn-like:hover{background:#27ae60;transform:scale(1.05);box-shadow:0 4px 12px #2ecc714d}@media(prefers-reduced-motion:reduce){.product-card,.card-shift,.card-image img,.card-back,.btn-dislike,.btn-buy,.btn-like{transition:none;animation:none}}.action-sheet-backdrop{position:fixed;inset:0;z-index:200;background:#00000073;display:flex;align-items:flex-end;justify-content:center;animation:backdropIn .2s ease-out;transition:background-color .25s cubic-bezier(.22,1,.36,1)}@keyframes backdropIn{0%{opacity:0}to{opacity:1}}.action-sheet{width:100%;max-width:480px;background:var(--color-surface, #fff);border-radius:20px 20px 0 0;padding:12px 20px 32px;animation:sheetUp .25s cubic-bezier(.22,1,.36,1);transition:transform .25s cubic-bezier(.22,1,.36,1);touch-action:none}@keyframes sheetUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.action-sheet-handle{width:40px;height:4px;background:var(--color-border, #ddd);border-radius:2px;margin:0 auto 16px;cursor:grab}.action-sheet-product{display:flex;align-items:center;gap:14px;padding:12px 0 16px;border-bottom:1px solid var(--color-border, #eee);margin-bottom:16px}.action-sheet-thumb{width:64px;height:64px;object-fit:cover;border-radius:10px;flex-shrink:0}.action-sheet-product-info{display:flex;flex-direction:column;gap:2px;min-width:0}.action-sheet-brand{font-size:11px;font-weight:700;letter-spacing:.8px;text-transform:uppercase;color:var(--color-text-muted, #888)}.action-sheet-name{font-size:15px;font-weight:600;color:var(--color-text, #222);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.action-sheet-price{font-size:14px;font-weight:600;color:var(--color-text, #333);display:flex;gap:8px;align-items:baseline}.action-sheet-price .sale{color:#e74c3c}.action-sheet-price .original{font-size:12px;font-weight:400;color:var(--color-text-muted, #999);text-decoration:line-through}.action-sheet-actions{display:flex;flex-direction:column;gap:10px;margin-bottom:12px}.action-btn{display:flex;align-items:center;gap:10px;width:100%;padding:14px 18px;border:none;border-radius:12px;font-size:16px;font-weight:600;cursor:pointer;transition:background .15s ease,transform .1s ease}.action-btn:active{transform:scale(.98)}.action-btn-icon{font-size:18px;line-height:1}.action-btn-shop{background:#d39e00;color:#fff}.action-btn-shop:hover:not(:disabled){background:#b88a00}.action-btn-shop.disabled,.action-btn-shop:disabled{background:var(--color-border, #e5e5e5);color:var(--color-text-muted, #aaa);cursor:not-allowed}.action-btn-wishlist{background:var(--color-surface-raised, #f5f5f5);color:var(--color-text, #222);border:1.5px solid var(--color-border, #e0e0e0)}.action-btn-wishlist:hover{background:#fce8e8;border-color:#e74c3c;color:#e74c3c}.action-btn-wishlist.wishlisted{background:#fce8e8;border-color:#e74c3c;color:#e74c3c;cursor:default}.action-sheet-cancel{display:block;width:100%;padding:12px;background:none;border:none;border-radius:10px;font-size:15px;font-weight:500;color:var(--color-text-muted, #888);cursor:pointer;text-align:center;transition:background .15s ease}.action-sheet-cancel:hover{background:var(--color-surface-raised, #f5f5f5)}.settings-screen{display:flex;flex-direction:column;height:100%;background:var(--color-bg)}.settings-header{background:var(--color-surface);padding:20px;box-shadow:0 2px 4px #0000000d;border-bottom:1px solid var(--color-border)}.settings-header h1{margin:0;font-size:28px;color:var(--color-text);font-weight:700}.settings-main{flex:1;padding:20px;max-width:600px;margin:0 auto;width:100%;overflow-y:auto}.settings-section{background:var(--color-surface);border-radius:12px;padding:16px;margin-bottom:16px;box-shadow:var(--shadow-sm)}.settings-section h2{margin:0 0 16px;font-size:16px;font-weight:700;color:var(--color-text);text-transform:uppercase;letter-spacing:.5px}.setting-item{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:1px solid var(--color-border)}.setting-item:last-child{border-bottom:none;padding-bottom:0}.setting-item-stacked{flex-direction:column;align-items:stretch;gap:12px}.setting-content{flex:1}.setting-item label{display:block;font-size:14px;font-weight:600;color:var(--color-text);margin-bottom:2px}.setting-item small{display:block;font-size:12px;color:var(--color-text-muted)}.toggle{width:48px;height:28px;cursor:pointer;appearance:none;background:var(--color-border);border:none;border-radius:14px;position:relative;transition:background .3s ease;margin-left:16px}.toggle:checked{background:var(--color-primary)}.toggle:disabled{opacity:.5;cursor:not-allowed}.theme-switcher{display:flex;gap:4px;padding:4px;background:var(--color-bg);border:1px solid var(--color-border);border-radius:12px}.theme-option{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:10px 8px;border:none;border-radius:9px;background:transparent;color:var(--color-text-muted);font-size:14px;font-weight:600;cursor:pointer;transition:background .18s ease,color .18s ease}.theme-option.active{background:var(--color-surface);color:var(--color-primary);box-shadow:var(--shadow-sm)}.select{padding:8px 12px;border:1px solid var(--color-border);border-radius:8px;font-size:14px;color:var(--color-text);background:var(--color-surface);cursor:pointer;transition:border-color .3s ease;margin-left:auto}.select:hover{border-color:var(--color-primary)}.select:focus{outline:none;border-color:var(--color-primary)}.setting-button{width:100%;padding:12px 16px;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .3s ease;margin-top:8px;text-align:left}.setting-button.logout{background:#e74c3c1f;color:#e74c3c}.setting-button.logout:hover{background:#e74c3c38;transform:translateY(-2px)}.settings-footer{text-align:center;padding:20px;display:flex;flex-direction:column;gap:4px}.settings-footer small{color:var(--color-text-muted);font-size:12px}@media(max-width:600px){.settings-header h1{font-size:24px}.settings-main{padding:16px}.settings-section{padding:12px}.toggle{width:44px;height:26px}.select{font-size:13px;padding:6px 10px}}.prefs-selector{display:flex;flex-direction:column;gap:.5rem;width:100%}.prefs-group{display:flex;flex-wrap:wrap;gap:.4rem}.shop-screen{display:flex;flex-direction:column;flex:1;min-height:0;width:100%}.shop-header{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem 0}.mode-switcher{display:flex;flex:1;min-width:0;gap:.25rem;padding:.25rem;background:var(--color-bg);border:1px solid var(--color-border);border-radius:999px}.prefs-trigger{flex:0 0 auto;display:grid;place-items:center;width:2.5rem;height:2.5rem;border:1px solid var(--color-border);border-radius:999px;background:var(--color-surface);color:var(--color-text-muted);cursor:pointer;transition:color .18s ease,border-color .18s ease}.prefs-trigger:hover{color:var(--color-primary);border-color:var(--color-primary)}.prefs-sheet-title{margin:0 0 .35rem;font-size:1.1rem;color:var(--color-text)}.prefs-sheet-sub{margin:0 0 1rem;font-size:.85rem;color:var(--color-text-muted)}.prefs-sheet .action-sheet-cancel{margin-top:1rem}.mode-tab{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:.4rem;padding:.5rem .75rem;border:none;border-radius:999px;background:transparent;color:var(--color-text-muted);font-size:.95rem;font-weight:600;cursor:pointer;transition:background .18s ease,color .18s ease}.mode-tab.active{background:var(--color-surface);color:var(--color-primary);box-shadow:var(--shadow-sm)}.mode-icon{font-size:1.05rem}.shop-main{flex:1;min-height:0;display:flex;flex-direction:column}.shop-mode{flex:1;min-height:0;display:flex;flex-direction:column;position:relative}.search-entry{flex:1;min-height:0;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;gap:.25rem;padding:1.5rem;overflow-y:auto}.search-entry-title{margin:0;font-size:1.5rem;color:var(--color-text)}.search-entry-sub{margin:.4rem 0 1.25rem;font-size:.9rem;color:var(--color-text-muted);max-width:420px}.search-entry-form{position:relative;width:100%;max-width:420px}.search-entry-input{width:100%;padding:1rem 3.25rem 1rem 1rem;border:1px solid var(--color-border);border-radius:16px;font-size:1rem;font-family:inherit;resize:none;background:var(--color-surface);color:var(--color-text)}.search-entry-input::placeholder{color:var(--color-text-muted)}.search-entry-input:focus-visible{outline:2px solid var(--color-primary);outline-offset:1px}.search-entry-go{position:absolute;right:10px;bottom:10px;width:40px;height:40px;border:none;border-radius:12px;background:var(--color-primary);font-size:18px;cursor:pointer}.search-suggestions{display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem;margin-top:1rem;width:100%;max-width:420px}.suggestion-chip{padding:.55rem .9rem;border:1px solid var(--color-border);border-radius:999px;background:var(--color-surface);color:var(--color-text);font-size:.85rem;cursor:pointer;transition:border-color .18s ease,color .18s ease}.suggestion-chip:hover{border-color:var(--color-primary);color:var(--color-primary)}.search-summary{display:flex;align-items:center;gap:.6rem;width:calc(100% - 2rem);margin:.75rem 1rem .25rem;padding:.65rem .9rem;border:1px solid var(--color-border);border-radius:999px;background:var(--color-surface);color:var(--color-text);font-size:.95rem;cursor:pointer;text-align:left}.search-summary-icon{font-size:1rem}.search-summary-text{flex:1;min-width:0;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.search-summary-edit{flex:0 0 auto;font-size:.8rem;font-weight:600;color:var(--color-primary)}.deck{flex:1;min-height:0;display:flex;flex-direction:column;padding:.75rem 1rem 1rem}.deck-status{margin:auto;color:var(--color-text-muted, #888);font-size:1rem;text-align:center;max-width:18rem}.deck-stage{display:flex;flex-direction:column;align-items:center;gap:.75rem;width:100%;flex:1;min-height:0}.deck-stack{position:relative;flex:1 1 auto;min-height:0;width:100%}.deck-stack .product-card:not(.expanded){position:absolute;inset:0}.product-card.behind{pointer-events:none}.deck-actions{flex:0 0 auto;display:flex;align-items:center;justify-content:center;gap:clamp(18px,7vw,36px);width:100%;max-width:420px}.deck-actions .deck-btn{position:relative;flex:0 0 auto;width:clamp(52px,15vw,62px);height:clamp(52px,15vw,62px);padding:0;border-radius:50%;display:grid;place-items:center;overflow:hidden;box-shadow:var(--shadow-md)}.deck-actions .deck-btn.btn-buy{width:clamp(64px,18vw,76px);height:clamp(64px,18vw,76px)}.deck-btn-icon{position:absolute;inset:0;display:grid;place-items:center;font-size:clamp(22px,7vw,32px);opacity:.25;pointer-events:none}.deck-btn-label{position:relative;z-index:1;font-size:clamp(10px,3vw,12px);font-weight:700;letter-spacing:.2px;white-space:nowrap}.wishlist-screen{display:flex;flex-direction:column;height:100%;background:var(--color-bg)}.wishlist-header{background:var(--color-surface);padding:20px;box-shadow:0 2px 4px #0000000d;border-bottom:1px solid var(--color-border)}.wishlist-header h1{margin:0;font-size:28px;color:var(--color-text);font-weight:700}.wishlist-main{flex:1;padding:20px;max-width:600px;margin:0 auto;width:100%;overflow-y:auto}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:60px 20px;text-align:center}.empty-icon{font-size:64px;display:block;margin-bottom:12px;color:#e74c3c}.empty-state p{margin:0;font-size:18px;color:var(--color-text);font-weight:600}.empty-state small{color:var(--color-text-muted);font-size:14px}.wishlist-list{display:flex;flex-direction:column;gap:12px}.wishlist-card{display:flex;gap:14px;background:var(--color-surface);border-radius:12px;padding:14px;box-shadow:var(--shadow-sm);transition:box-shadow .2s ease,transform .2s ease}.wishlist-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.wishlist-thumb{width:90px;height:110px;object-fit:cover;border-radius:8px;flex-shrink:0}.wishlist-info{display:flex;flex-direction:column;gap:3px;flex:1;min-width:0}.wishlist-brand{font-size:11px;font-weight:700;letter-spacing:.8px;text-transform:uppercase;color:var(--color-text-muted, #888)}.wishlist-name{font-size:15px;font-weight:600;color:var(--color-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wishlist-category{font-size:12px;color:var(--color-text-muted)}.wishlist-price{display:flex;align-items:baseline;gap:8px;margin-top:4px;font-size:16px;font-weight:700;color:var(--color-text)}.wishlist-price .sale{color:#e74c3c}.wishlist-price .original{font-size:13px;font-weight:400;color:var(--color-text-muted, #999);text-decoration:line-through}.wishlist-date{font-size:11px;color:var(--color-text-muted);margin-top:2px}.wishlist-actions{display:flex;gap:8px;margin-top:auto;padding-top:8px;flex-wrap:wrap}.btn-shop{display:inline-block;padding:7px 14px;background:#d39e00;color:#fff;border-radius:8px;font-size:13px;font-weight:600;text-decoration:none;border:none;cursor:pointer;transition:background .15s ease}.btn-shop:hover{background:#b88a00}.btn-shop.disabled{background:var(--color-border, #e5e5e5);color:var(--color-text-muted, #aaa);cursor:not-allowed;pointer-events:none}.btn-remove{padding:7px 14px;background:none;border:1.5px solid var(--color-border, #ddd);border-radius:8px;font-size:13px;font-weight:500;color:var(--color-text-muted, #888);cursor:pointer;transition:border-color .15s ease,color .15s ease}.btn-remove:hover{border-color:#e74c3c;color:#e74c3c}@media(max-width:600px){.wishlist-header h1{font-size:24px}.wishlist-main{padding:16px}.wishlist-card{padding:12px}.wishlist-thumb{width:72px;height:88px}}.region-selector{display:inline-flex;align-items:center;gap:.35rem;padding:.25rem .5rem;border-radius:999px;background:var(--surface-2, rgba(0, 0, 0, .05));cursor:pointer}.region-selector-icon{font-size:.9rem;line-height:1}.region-selector-select{border:none;background:transparent;font:inherit;font-size:.85rem;color:inherit;cursor:pointer;outline:none;max-width:11rem}.error-boundary{display:flex;align-items:center;justify-content:center;min-height:100vh;min-height:100dvh;padding:1.5rem;padding-bottom:calc(1.5rem + env(safe-area-inset-bottom));background:var(--color-bg, #f5f7fa)}.error-boundary__card{max-width:22rem;width:100%;text-align:center;background:var(--color-surface, #ffffff);border-radius:var(--radius-lg, 16px);padding:2rem 1.5rem;box-shadow:var(--shadow-md, 0 4px 20px rgba(0, 0, 0, .08))}.error-boundary__emoji{font-size:3rem;line-height:1;margin-bottom:1rem}.error-boundary__title{font-size:1.35rem;margin:0 0 .5rem;color:var(--color-text, #1a1a2e)}.error-boundary__message{margin:0 0 1.5rem;color:var(--color-text-muted, #6b7280);line-height:1.5}.error-boundary__button{background:var(--color-primary, #f59e0b);color:#fff;border:none;border-radius:var(--radius-md, 10px);padding:.75rem 1.5rem;font-size:1rem;font-weight:600;cursor:pointer;transition:filter .2s ease}.error-boundary__button:hover{filter:brightness(1.05)}.toast-container{position:absolute;left:50%;bottom:calc(64px + var(--safe-bottom, 0px));transform:translate(-50%);z-index:1000;display:flex;flex-direction:column;gap:.5rem;width:min(92%,26rem);pointer-events:none}.toast{display:flex;align-items:center;gap:.6rem;pointer-events:auto;background:var(--color-surface, #ffffff);color:var(--color-text, #1a1a2e);border-radius:var(--radius-md, 10px);padding:.75rem .9rem;box-shadow:var(--shadow-md, 0 4px 20px rgba(0, 0, 0, .15));border-left:4px solid var(--color-primary, #f59e0b);animation:toast-in .25s ease-out}.toast--success{border-left-color:#16a34a}.toast--error{border-left-color:#dc2626}.toast--warning{border-left-color:#d97706}.toast--info{border-left-color:var(--color-primary, #f59e0b)}.toast__icon{flex-shrink:0;font-size:1.1rem;line-height:1}.toast__message{flex:1;font-size:.92rem;line-height:1.35}.toast__close{flex-shrink:0;background:transparent;border:none;color:var(--color-text-muted, #6b7280);cursor:pointer;font-size:.85rem;padding:.15rem .3rem;line-height:1;border-radius:6px}.toast__close:hover{background:var(--color-border, #e5e7eb)}@keyframes toast-in{0%{opacity:0;transform:translateY(.5rem)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.toast{animation:none}}.auth-screen{display:flex;align-items:center;justify-content:center;width:100%;height:100%;min-height:0;overflow-y:auto;padding:24px;box-sizing:border-box;background:var(--color-bg)}.auth-card{width:100%;max-width:380px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:16px;padding:32px 28px;box-shadow:var(--shadow-md);box-sizing:border-box}.auth-logo{margin:0 0 8px;font-size:28px;text-align:center;color:var(--color-primary)}.auth-title{margin:0 0 4px;font-size:22px;color:var(--color-text);text-align:center}.auth-subtitle{margin:0 0 24px;font-size:14px;color:var(--color-text-muted);text-align:center}.auth-form{display:flex;flex-direction:column;gap:16px}.auth-field{display:flex;flex-direction:column;gap:6px;text-align:left}.auth-field>span{font-size:13px;font-weight:600;color:var(--color-text)}.auth-field>span small{font-weight:400;color:var(--color-text-muted)}.auth-field input{padding:11px 13px;font-size:15px;border:1px solid var(--color-border);border-radius:9px;background:var(--color-bg);color:var(--color-text);transition:border-color .2s ease,box-shadow .2s ease}.auth-field input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #f59e0b40}.auth-error{margin:0;padding:10px 12px;font-size:13px;color:#e74c3c;background:#e74c3c24;border-radius:8px}.auth-submit{margin-top:4px;padding:12px;font-size:15px;font-weight:700;color:#fff;background:var(--color-primary);border:none;border-radius:9px;cursor:pointer;transition:background .2s ease,transform .1s ease}.auth-submit:hover:not(:disabled){background:var(--color-primary-dark)}.auth-submit:disabled{opacity:.6;cursor:not-allowed}.auth-switch{margin:22px 0 0;font-size:14px;color:var(--color-text-muted);text-align:center}.auth-link{padding:0;font-size:14px;font-weight:600;color:var(--color-primary);background:none;border:none;cursor:pointer}.auth-link:hover{text-decoration:underline}
