.auth-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:16px}.auth-modal{background:#fff;border-radius:20px;padding:40px 36px 32px;width:100%;max-width:360px;box-shadow:0 24px 80px #0000002e;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;position:relative;text-align:center}.auth-modal-close{position:absolute;top:14px;right:14px;width:30px;height:30px;border:none;background:#f1f5f9;border-radius:50%;font-size:.85rem;color:#6b7280;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s,color .15s;font-family:inherit;line-height:1}.auth-modal-close:hover{background:#e5e7eb;color:#111827}.auth-logo{font-weight:800;font-size:1.1rem;color:#111827;margin-bottom:28px;letter-spacing:-.02em}.auth-logo span{color:#e8456a}.auth-heading{font-size:1.6rem;font-weight:800;color:#111827;margin:0 0 8px;letter-spacing:-.03em}.auth-subheading{font-size:.88rem;color:#6b7280;margin:0 0 28px;line-height:1.5}.auth-error{background:#fef2f2;border:1px solid #fecaca;border-radius:10px;padding:10px 14px;font-size:.85rem;color:#dc2626;margin-bottom:16px;line-height:1.4}.auth-google-btn{width:100%;padding:14px;background:#fff;color:#374151;border:1.5px solid #d1d5db;border-radius:12px;font-size:.95rem;font-weight:600;cursor:pointer;font-family:inherit;display:flex;align-items:center;justify-content:center;gap:10px;transition:background .15s,border-color .15s,box-shadow .15s}.auth-google-btn:hover:not(:disabled){background:#f9fafb;border-color:#9ca3af;box-shadow:0 2px 8px #00000014}.auth-google-btn:disabled{opacity:.65;cursor:not-allowed}.auth-google-icon{width:18px;height:18px;flex-shrink:0}.auth-footnote{font-size:.75rem;color:#9ca3af;margin:16px 0 0}.auth-loading{display:flex;align-items:center;justify-content:center;height:100vh;font-family:Inter,system-ui,sans-serif;color:#6b7280;font-size:.95rem}@media (max-width: 480px){.auth-modal{padding:32px 20px 24px;border-radius:16px}}:root{--cream: #FAF6F1;--coral: #E8456A;--coral-hover: #d63960;--ink: #1A1A1A;--muted: #777;--card-bg: white}.landing{font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;background:var(--cream);color:var(--ink);overflow-x:hidden}.landing-nav{position:fixed;top:0;left:0;right:0;z-index:100;display:flex;align-items:center;justify-content:space-between;padding:0 32px;height:56px;background:#faf6f1e0;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid rgba(26,26,26,.06)}.landing-logo{font-family:Clash Display,system-ui,sans-serif;font-weight:700;font-size:1.05rem;letter-spacing:-.03em;color:var(--ink)}.landing-logo span{color:var(--coral)}.landing-nav-signin{font-size:.8rem;font-weight:600;color:var(--muted);text-decoration:none;letter-spacing:.01em;transition:color .15s}.landing-nav-signin:hover{color:var(--ink)}.landing-intro{position:relative;min-height:100vh;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:100px 6vw 60px;overflow:hidden}.landing-headline-wrap{position:relative;z-index:10;pointer-events:none}.landing-headline-line{font-family:Clash Display,system-ui,sans-serif;font-size:clamp(3.5rem,11vw,9.5rem);font-weight:700;line-height:.95;letter-spacing:-.04em;color:var(--ink);display:block;opacity:0;transform:translateY(28px);transition:opacity .6s ease,transform .6s ease}.landing-hl-1{transition-delay:0ms}.landing-hl-2{transition-delay:90ms;padding-left:6vw}.landing-hl-3{transition-delay:.18s;padding-left:12vw}.landing-hl-3 em{font-style:normal;color:var(--coral)}.hero-visible .landing-headline-line{opacity:1;transform:translateY(0)}.landing-scroll-hint{position:absolute;bottom:32px;left:6vw;font-size:.75rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);opacity:0;transition:opacity .8s ease .8s;z-index:10}.hero-visible .landing-scroll-hint{opacity:1}.scattered-grid{position:absolute;top:0;left:0;right:0;bottom:0;pointer-events:none;z-index:1}.scattered-photo--lg{width:180px}.scattered-photo--md{width:145px}.scattered-photo--sm{width:110px}.scattered-photo{position:absolute;border-radius:12px;overflow:hidden;box-shadow:0 8px 32px #0000001f;background:var(--card-bg);pointer-events:all;cursor:default;transition:transform .35s cubic-bezier(.34,1.56,.64,1),box-shadow .35s ease;will-change:transform}.scattered-photo:nth-child(1){top:10%;left:52%}.scattered-photo:nth-child(2){top:28%;left:68%}.scattered-photo:nth-child(3){top:55%;left:48%}.scattered-photo:nth-child(4){top:14%;left:78%}.scattered-photo:nth-child(5){top:42%;left:62%}.scattered-photo:nth-child(6){top:68%;left:74%}.scattered-photo:nth-child(7){top:5%;left:62%}.scattered-photo:nth-child(8){top:72%;left:54%}.scattered-photo:nth-child(9){top:32%;left:82%}.scattered-photo:nth-child(10){top:58%;left:84%}.scattered-photo:nth-child(11){top:82%;left:64%}.scattered-photo:nth-child(12){top:20%;left:56%}.scattered-photo:hover{transform:rotate(0) translate(0) scale(1.06)!important;box-shadow:0 20px 60px #0000002e;z-index:20}.scattered-photo img{width:100%;aspect-ratio:3 / 4;object-fit:cover;display:block;-webkit-user-select:none;user-select:none}.scattered-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to top,rgba(0,0,0,.55) 0%,transparent 50%);display:flex;align-items:flex-end;padding:8px;opacity:0;transition:opacity .2s}.scattered-photo:hover .scattered-overlay{opacity:1}.scattered-matches{font-size:10px;font-weight:700;color:#fff;letter-spacing:.02em}.scattered-likes{position:absolute;top:8px;right:8px;background:#0000008c;color:#fff;font-size:10px;font-weight:700;padding:3px 7px;border-radius:20px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);letter-spacing:.01em}@keyframes fadeUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.fade-in-el{opacity:0;transform:translateY(20px);transition:opacity .55s ease,transform .55s ease}.fade-in-el.is-visible{opacity:1;transform:translateY(0)}.landing-stats{padding:100px 6vw;background:var(--ink);color:#fff}.stats-truth{margin-bottom:60px}.stats-lede{font-size:clamp(1.4rem,3vw,2rem);font-weight:400;line-height:1.4;color:#ffffffbf;margin:0;max-width:600px}.stats-lede-em{color:#fff;font-weight:700}.stats-row{display:flex;gap:48px;flex-wrap:wrap;margin-bottom:48px}.stat-item{display:flex;flex-direction:column;gap:4px}.stat-number{font-family:Clash Display,system-ui,sans-serif;font-size:clamp(3rem,7vw,5.5rem);font-weight:700;letter-spacing:-.04em;line-height:1;color:var(--coral);font-variant-numeric:tabular-nums}.stat-label{font-size:.85rem;color:#ffffff80;font-weight:500;letter-spacing:.01em}.stats-kicker{font-size:1.1rem;color:#ffffff8c;margin:0;max-width:480px;line-height:1.6}.stats-kicker strong{color:#fff}.landing-product{padding:100px 6vw;background:var(--cream)}.product-text-block{margin-bottom:52px}.product-eyebrow{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.12em;color:var(--coral);margin:0 0 12px}.product-headline{font-family:Clash Display,system-ui,sans-serif;font-size:clamp(2rem,5vw,3.5rem);font-weight:700;letter-spacing:-.04em;line-height:1.05;color:var(--ink);margin:0 0 20px}.product-body{font-size:1rem;color:var(--muted);line-height:1.7;max-width:420px;margin:0}.product-photo-strip{display:flex;gap:12px;overflow-x:auto;padding-bottom:8px;scrollbar-width:none;-ms-overflow-style:none}.product-photo-strip::-webkit-scrollbar{display:none}.product-photo-card{flex-shrink:0;width:160px;border-radius:12px;overflow:hidden;background:var(--card-bg);box-shadow:0 4px 16px #00000014;transition:transform .25s ease,box-shadow .25s ease}.product-photo-card:hover{transform:translateY(-4px);box-shadow:0 12px 36px #0000001f}.product-photo-card img{width:100%;aspect-ratio:3 / 4;object-fit:cover;display:block}.product-photo-stats{padding:8px 10px;display:flex;gap:8px;font-size:11px;font-weight:600;color:var(--muted)}.landing-entry{padding:120px 6vw;background:var(--cream);border-top:1px solid rgba(26,26,26,.07)}.entry-line{font-family:Clash Display,system-ui,sans-serif;font-size:clamp(1.5rem,3.5vw,2.5rem);font-weight:600;letter-spacing:-.03em;color:var(--ink);margin:0 0 36px;line-height:1.2}.entry-actions{display:flex;align-items:center;gap:24px;margin-bottom:16px}.entry-cta{display:inline-block;background:var(--coral);color:#fff;padding:14px 32px;border-radius:8px;font-size:1rem;font-weight:700;text-decoration:none;letter-spacing:-.01em;transition:background .15s,transform .15s}.entry-cta:hover{background:var(--coral-hover);transform:translateY(-1px)}.entry-signin{font-size:.9rem;font-weight:600;color:var(--muted);text-decoration:none;transition:color .15s}.entry-signin:hover{color:var(--ink)}.entry-note{font-size:.78rem;color:var(--muted);margin:0;letter-spacing:.01em}.landing-footer{padding:28px 32px;background:var(--ink);display:flex;align-items:center;justify-content:space-between;font-size:.82rem;color:#fff6;font-family:Clash Display,system-ui,sans-serif;font-weight:600;letter-spacing:-.02em}.footer-accent{color:var(--coral)}.footer-links{display:flex;gap:20px}.footer-links a{color:#fff6;text-decoration:none;font-family:Inter,system-ui,sans-serif;font-weight:400;font-size:.78rem;transition:color .15s}.footer-links a:hover{color:#fffc}@media (max-width: 768px){.landing-intro{padding:88px 5vw 80px;min-height:100svh}.landing-headline-line{font-size:clamp(2.8rem,15vw,5rem)}.landing-hl-2{padding-left:4vw}.landing-hl-3{padding-left:8vw}.scattered-photo:nth-child(n+7){display:none}.scattered-photo:nth-child(1){top:12%;left:42%}.scattered-photo:nth-child(2){top:38%;left:60%}.scattered-photo:nth-child(3){top:62%;left:38%}.scattered-photo:nth-child(4){top:18%;left:64%}.scattered-photo:nth-child(5){top:50%;left:54%}.scattered-photo:nth-child(6){top:74%;left:58%}.scattered-photo--lg{width:130px}.scattered-photo--md{width:108px}.scattered-photo--sm{width:88px}.landing-stats{padding:72px 5vw}.stats-row{gap:32px}.landing-product{padding:72px 5vw}.product-photo-card{width:130px}.landing-entry{padding:80px 5vw}.entry-actions{flex-direction:column;align-items:flex-start;gap:16px}.landing-footer{flex-direction:column;gap:12px;text-align:center;padding:24px 20px}}@media (max-width: 480px){.scattered-photo:nth-child(n+5){display:none}}:root{color-scheme:light dark}.demo-banner{background:linear-gradient(90deg,#e8456a,#ff4d8b);color:#fff;text-align:center;padding:10px 20px;font-size:.875rem;font-weight:600;font-family:Inter,system-ui,sans-serif}.demo-banner a{color:#fff;text-decoration:underline;text-underline-offset:2px}.demo-banner a:hover{opacity:.85}.app-shell{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:32px;background:linear-gradient(180deg,#f6f8fb,#fff)}.app{max-width:1100px;margin:20px auto;padding:0 16px;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial}.header{display:flex;align-items:center;justify-content:center;gap:12px;margin-bottom:14px}.app>header{display:flex;align-items:center;justify-content:space-between;padding:12px 0 10px;margin-bottom:4px}.header-user{display:flex;align-items:center;gap:10px}.header-email{font-size:12px;color:#6b7280;max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.header-signout{font-size:12px;font-weight:600;color:#6b7280;background:transparent;border:1px solid #d1d5db;border-radius:6px;padding:4px 10px;cursor:pointer;font-family:inherit;transition:color .12s,border-color .12s}.header-signout:hover{color:#e8456a;border-color:#e8456a}@media (prefers-color-scheme: dark){.header-email{color:#94a3b8}.header-signout{color:#94a3b8;border-color:#334155}.header-signout:hover{color:#f87171;border-color:#f87171}}.add-form{display:flex;align-items:center;gap:8px;justify-content:center;margin:8px 0 18px}.add-form{border:2px dashed rgba(0,0,0,.06);padding:10px 12px;border-radius:8px}.drop-hint{font-size:12px;color:#6b7280;margin-left:8px}.add-form input[type=text]{padding:8px 10px;border-radius:6px;border:1px solid #ddd;width:320px;font-size:14px}.add-form input[type=file]{padding:6px}.add-form button{padding:8px 12px;border-radius:6px;border:none;background:#111827;color:#fff}.list{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px;align-items:start;width:100%}.tile{background:#fff;border:1px solid #eee;border-radius:10px;overflow:visible;box-shadow:0 1px 3px #0000000a}.tile-media{position:relative;width:100%;padding-top:100%;background:#fafafa}.tile-img{position:absolute;top:0;left:0;right:0;bottom:0;width:100%;height:100%;object-fit:cover}.tile-text{position:absolute;top:0;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:center;padding:12px;text-align:center}.prompt{margin:0;font-size:14px;line-height:1.4;word-wrap:break-word;overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto;max-height:100%;overflow:hidden}.tile-overlay{position:absolute;right:8px;bottom:8px;display:flex;gap:6px;align-items:center;flex-wrap:nowrap;max-width:calc(100% - 16px);z-index:6}.list.cols-6 .tile-overlay{right:4px;bottom:4px;display:flex;gap:3px;align-items:center;flex-wrap:nowrap}.list.cols-6 .overlay-btn{padding:4px 6px;font-size:11px}.list.cols-6 .badge{font-size:9px;padding:1px 3px;min-width:12px}.list.cols-6 .overlay-undo{padding:3px 5px;font-size:10px}.list.cols-6 .overlay-remove{display:none}.overlay-btn{display:inline-flex;align-items:center;justify-content:center;gap:4px;padding:6px 10px;border-radius:20px;border:none;color:#fff;font-weight:600;box-shadow:0 2px 6px #00000026;font-size:13px;cursor:pointer;white-space:nowrap;flex-shrink:0;min-width:auto;transition:all .15s ease}.overlay-like{background:#3b82f6;transition:all .12s ease-out}.overlay-like:hover{background:#2563eb;transform:scale(1.02)}.overlay-like:active{transform:scale(.9);background:#1d4ed8;box-shadow:inset 0 2px 4px #0003}.overlay-like.active{background:#60a5fa;box-shadow:0 0 0 3px #3b82f64d,0 4px 12px #3b82f64d;animation:pulse-pop .4s ease-out}.overlay-mutual{background:#10b981;transition:all .12s ease-out}.overlay-mutual:hover{background:#059669;transform:scale(1.02)}.overlay-mutual:active{transform:scale(.9);background:#047857;box-shadow:inset 0 2px 4px #0003}.overlay-mutual.active{background:#34d399;box-shadow:0 0 0 3px #10b9814d,0 4px 12px #10b9814d;animation:pulse-pop .4s ease-out}@keyframes pulse-pop{0%{transform:scale(.9)}50%{transform:scale(1.08)}to{transform:scale(1)}}.overlay-remove{background:#ffffffe6;color:#374151;border-radius:8px;padding:5px 8px;border:none;box-shadow:0 2px 4px #0000001a;cursor:pointer;font-size:12px;transition:all .15s ease}.overlay-remove:hover{background:#fff;color:#ef4444;transform:scale(1.05)}.overlay-undo{background:#0009;color:#fff;border:none;padding:5px 8px;border-radius:8px;cursor:pointer;font-size:12px;transition:all .15s ease}.overlay-undo:hover:not([disabled]){background:#000c;transform:scale(1.05)}.overlay-undo[disabled],.overlay-undo.disabled{opacity:.55;cursor:default;box-shadow:none;filter:grayscale(30%)}.overlay-undo.active{background:#f59e0b;color:#071019;box-shadow:0 8px 24px #f59e0b40,0 0 0 4px #f59e0b14;transform:translateZ(0) scale(1.02)}.overlay-undo[disabled].active{opacity:.55;box-shadow:none;transform:none}@keyframes pulse-scale{0%{transform:scale(1)}40%{transform:scale(1.08)}70%{transform:scale(.99)}to{transform:scale(1)}}.overlay-confirm{display:flex;gap:6px}.badge{margin-left:2px;background:#00000080;color:#fff;font-weight:700;font-size:11px;padding:2px 5px;border-radius:10px;min-width:16px;text-align:center}.item-error{border-color:#fde68a}.item-error-text{color:#b91c1c;padding:8px 12px}@media (max-width: 720px){.add-form input[type=text]{width:180px}.list{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:10px}.tile-media{padding-top:100%}}.footer-controls{display:flex;gap:8px;justify-content:center;margin:18px 0;align-items:center}.delete-all{background:#ef4444;color:#fff;border:none;padding:8px 12px;border-radius:8px;cursor:pointer;transition:all .12s ease-out}.delete-all:hover{background:#dc2626;transform:scale(1.02)}.delete-all:active{transform:scale(.92);background:#b91c1c;box-shadow:inset 0 2px 4px #0003}.firebase-banner{display:flex;gap:12px;align-items:center;justify-content:center;background:#fff4e6;border:1px solid #fde68a;padding:10px;border-radius:8px;margin-bottom:12px}.firebase-banner .copy-env{background:#111827;color:#fff;border:none;padding:6px 8px;border-radius:6px}.confirm-yes{background:#ef4444;color:#fff;border:none;padding:8px 10px;border-radius:8px;cursor:pointer;font-weight:600}.confirm-no{background:transparent;color:#475569;border:1px solid #e6edf3;padding:8px 10px;border-radius:8px;cursor:pointer}.item-error{border-left:4px solid #fecaca}.item-error-text{margin-top:6px;color:#b91c1c;font-size:12px}.retry-btn{margin-left:8px;background:transparent;color:#2563eb;border:none;cursor:pointer}.footer-controls{margin-top:18px;display:flex;justify-content:center}.footer-actions{display:flex;gap:12px}.sync-btn{background:#2563eb;color:#fff;border:none;padding:8px 12px;border-radius:8px;cursor:pointer;transition:all .12s ease-out}.sync-btn:hover{background:#1d4ed8;transform:scale(1.02)}.sync-btn:active{transform:scale(.92);background:#1e40af;box-shadow:inset 0 2px 4px #0003}.sync-btn:disabled{background:#93c5fd;cursor:not-allowed;transform:none}.reset-all{background:#6b7280;color:#fff;border:none;padding:8px 12px;border-radius:8px;cursor:pointer;transition:all .12s ease-out}.reset-all:hover{background:#4b5563;transform:scale(1.02)}.reset-all:active{transform:scale(.92);background:#374151;box-shadow:inset 0 2px 4px #0003}.footer-totals{display:flex;gap:10px;align-items:center;margin-right:16px}.total-item{display:flex;align-items:center;gap:6px;padding:8px 12px;border-radius:8px}.total-label{font-size:11px;font-weight:500}.total-count{font-weight:700;font-size:16px}.total-item:nth-child(1){background:#f1f5f9}.total-item:nth-child(1) .total-label{color:#64748b}.total-item:nth-child(1) .total-count{color:#334155}.total-item:nth-child(2){background:#e0f2fe}.total-item:nth-child(2) .total-label{color:#0369a1}.total-item:nth-child(2) .total-count{color:#0c4a6e}.total-item:nth-child(3){background:#d1fae5}.total-item:nth-child(3) .total-label{color:#047857}.total-item:nth-child(3) .total-count{color:#064e3b}.match-pct{background:#7c3aed;color:#fff;padding:8px 14px;border-radius:8px;font-weight:600;font-size:13px}.add-form{display:grid;grid-template-columns:1fr 160px 96px;gap:10px;margin-bottom:12px;align-items:center}.add-form input{width:100%;padding:10px;border:1px solid #e6edf3;border-radius:8px}.add-form button{padding:10px 14px;background:#2563eb;color:#fff;border:none;border-radius:8px;cursor:pointer;font-weight:600}.main-grid{display:grid;grid-template-columns:1fr 300px;gap:18px;align-items:start}.center-column{min-width:0}.side-panel{background:transparent;padding:8px;display:flex;flex-direction:column;gap:10px}.search-input{padding:8px 10px;border-radius:8px;border:1px solid #e6edf3;font-size:14px;display:none}.add-controls{display:flex;gap:8px;align-items:stretch}.add-controls .compact-input{padding:8px 10px;font-size:13px;border-radius:6px;border:1px solid #e5e7eb;resize:none;min-height:36px;max-height:60px;flex:1;box-sizing:border-box;font-family:inherit}.add-controls .compact-input:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 2px #2563eb26}.file-picker{display:flex;align-items:center;justify-content:center;padding:8px 12px;font-size:13px;font-weight:500;border-radius:6px;background:#f3f4f6;color:#374151;border:1px solid #e5e7eb;cursor:pointer;transition:all .15s;white-space:nowrap}.file-picker:hover{background:#e5e7eb}.file-picker:active{transform:scale(.97);background:#d1d5db}.file-picker input{display:none}.drop-hint.small{font-size:11px;color:#9ca3af;text-align:center;margin-top:4px}.list.cols-3{grid-template-columns:repeat(3,1fr)}.list.cols-3 .overlay-btn{padding:6px 9px;font-size:12px}.list.cols-3 .badge{font-size:11px}.list.cols-6{grid-template-columns:repeat(6,1fr);gap:10px}.list.cols-6 .tile-media{padding-top:100%}.list.cols-6 .tile{overflow:hidden}.main-grid.controls-top{grid-template-columns:1fr;gap:12px}.main-grid.controls-top .side-panel{order:-1;display:flex;flex-direction:row;gap:12px;align-items:center;justify-content:flex-end;padding:6px 0;flex-wrap:wrap}.main-grid.controls-top .add-controls{flex:1;min-width:200px}.main-grid.controls-top .cols-toggle,.main-grid.controls-top .sort-toggle{margin-top:0}.main-grid.controls-top .drop-hint.small{display:none}.cols-toggle{display:flex;gap:4px;align-items:center}.cols-label{font-size:11px;color:#9ca3af;margin-right:4px;font-weight:500}.cols-btn{padding:5px 10px;border-radius:6px;border:1px solid #e5e7eb;background:#fff;cursor:pointer;color:#64748b;font-size:13px;transition:all .15s}.cols-btn:hover{background:#f1f5f9;border-color:#cbd5e1}.cols-btn:active{transform:scale(.95)}.cols-btn.active{background:#1e293b;color:#fff;border-color:#1e293b;font-weight:600}.sort-toggle{display:flex;gap:4px;align-items:center}.sort-btn{padding:5px 10px;border-radius:6px;border:1px solid #e5e7eb;background:#fff;cursor:pointer;color:#64748b;font-size:13px;transition:all .15s}.sort-btn:hover{background:#f1f5f9;border-color:#cbd5e1}.sort-btn:active{transform:scale(.95)}.sort-btn:first-of-type.active{background:#3b82f6;color:#fff;border-color:#3b82f6;font-weight:600}.sort-btn:last-of-type.active{background:#10b981;color:#fff;border-color:#10b981;font-weight:600}@media (max-width: 680px){.footer-totals{flex-wrap:wrap;gap:8px}}@media (max-width: 520px){.main-grid{grid-template-columns:1fr}.side-panel{order:2}.main-grid.controls-top .side-panel{padding:0}}@media (max-width: 480px){.app{margin:10px auto;padding:0 10px}.list{gap:8px}.tile-overlay{right:4px;bottom:4px;gap:3px}.overlay-btn{padding:5px 7px;font-size:11px;gap:2px}.badge{font-size:9px;padding:1px 4px;min-width:12px}.overlay-undo,.overlay-remove{padding:4px 6px;font-size:10px}.prompt{font-size:13px;line-height:1.3;padding:8px}.tile-text{padding:8px}.footer-controls{flex-direction:column;gap:10px;margin-top:14px}.footer-totals{flex-wrap:wrap;justify-content:center;margin-right:0;gap:6px}.footer-actions{justify-content:center}.total-item{padding:5px 8px}.total-label{font-size:9px}.total-count{font-size:13px}.match-pct{font-size:11px;padding:5px 8px}.sync-btn,.reset-all,.delete-all{padding:6px 10px;font-size:12px}.main-grid.controls-top .side-panel{flex-direction:column;gap:8px;align-items:stretch}.main-grid.controls-top .add-controls{min-width:unset;flex-direction:column}.main-grid.controls-top .add-controls .compact-input{min-height:40px}.cols-toggle,.sort-toggle{justify-content:center}.cols-btn,.sort-btn{padding:6px 12px;font-size:12px}header h1{font-size:20px}}.remove-btn{margin-left:8px;background:transparent;color:#ef4444;border:none;font-size:18px;cursor:pointer}@media (max-width: 640px){.app{padding:14px;border-radius:8px}.item-row{grid-template-columns:72px 1fr;grid-template-rows:auto auto;gap:8px}.item-right{grid-column:2 / 3;justify-content:flex-start}.add-form{grid-template-columns:1fr;grid-template-rows:auto auto auto}}@media (prefers-color-scheme: dark){.app-shell{background:linear-gradient(180deg,#0f172a,#1e293b)}.app{color:#f1f5f9}.tile{background:#1e293b;border-color:#334155;box-shadow:0 1px 3px #0000004d}.tile-media{background:#0f172a}.tile-text{background:#1e293b}.prompt{color:#e2e8f0}.add-form{border-color:#ffffff1a}.add-form input[type=text],.add-controls .compact-input,.search-input{background:#0f172a;border-color:#475569;color:#f1f5f9}.add-controls .compact-input::placeholder{color:#64748b}.add-controls .compact-input:focus{border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f640}.file-picker{background:#334155;color:#e2e8f0;border-color:#475569}.file-picker:hover{background:#475569}.file-picker:active{background:#1e293b}.cols-btn,.sort-btn{background:#1e293b;border-color:#475569;color:#94a3b8}.cols-btn:hover,.sort-btn:hover{background:#334155;border-color:#64748b}.cols-btn.active{background:#0f172a;border-color:#64748b;color:#f1f5f9}.total-item:nth-child(1){background:#334155}.total-item:nth-child(1) .total-label{color:#94a3b8}.total-item:nth-child(1) .total-count{color:#e2e8f0}.total-item:nth-child(2){background:#0c4a6e}.total-item:nth-child(2) .total-label{color:#7dd3fc}.total-item:nth-child(2) .total-count{color:#e0f2fe}.total-item:nth-child(3){background:#064e3b}.total-item:nth-child(3) .total-label{color:#6ee7b7}.total-item:nth-child(3) .total-count{color:#d1fae5}.overlay-remove{background:#1e293be6;color:#e2e8f0;border:1px solid #475569}.overlay-remove:hover{background:#1e293b;color:#f87171}.confirm-no{background:#334155;color:#e2e8f0;border-color:#475569}.firebase-banner{background:#1c1917;border-color:#78350f;color:#fef3c7}.drop-hint,.drop-hint.small,.cols-label{color:#64748b}.header h1{color:#f1f5f9}.item-error{border-color:#7f1d1d}.item-error-text{color:#fca5a5}}
