:root{--paper:#ebebe7;--surface:#fff;--surface-soft:#f4f4f1;--ink:#1c1d1a;--muted:#76786f;--line:#dfdfd9;--accent:#e2542b;--accent-soft:#fbe7de;--accent-ink:#fff;--radius-tile:26px;--radius-row:16px;--radius-pill:999px;--shadow-1:0 1px 2px #1c1d1a0d;--shadow-2:0 6px 18px #1c1d1a14;--shadow-press:0 1px 0 #1c1d1a0f;--font-display:"Bricolage Grotesque", "Inter", system-ui, sans-serif;--font-body:"Inter", system-ui, -apple-system, sans-serif;--maxw:560px}*{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--paper);color:var(--ink);font-family:var(--font-body);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0}button{cursor:pointer;font-family:inherit}a{color:inherit;text-decoration:none}.app{flex-direction:column;align-items:center;min-height:100%;display:flex}.screen{width:100%;max-width:var(--maxw);flex:1;padding:22px 20px 64px}.topbar{width:100%;max-width:var(--maxw);align-items:center;gap:12px;padding:18px 20px 6px;display:flex}.brand{font-family:var(--font-display);letter-spacing:-.02em;align-items:center;gap:9px;font-size:19px;font-weight:800;display:inline-flex}.brand-mark{background:var(--accent);border-radius:7px;width:22px;height:22px;display:inline-block;position:relative}.brand-mark:after{content:"";background:var(--paper);border-radius:50%;width:7px;height:7px;position:absolute;top:50%;left:-3px;transform:translateY(-50%)}.back-btn{background:var(--surface);border:1px solid var(--line);color:var(--ink);border-radius:var(--radius-pill);box-shadow:var(--shadow-1);align-items:center;gap:7px;padding:9px 15px 9px 11px;font-size:14px;font-weight:600;transition:transform .12s,box-shadow .12s;display:inline-flex}.back-btn:hover{box-shadow:var(--shadow-2)}.back-btn:active{transform:translateY(1px)}.back-btn svg{width:16px;height:16px}.topbar .spacer{flex:1}.eyebrow{letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin:0 0 8px;font-size:12px;font-weight:700}.h-title{font-family:var(--font-display);letter-spacing:-.03em;margin:0 0 6px;font-size:clamp(30px,9vw,40px);font-weight:800;line-height:1.04}.h-sub{color:var(--muted);max-width:42ch;margin:0 0 26px;font-size:15px;line-height:1.5}.home-hero{margin:8px 0 30px}.tiles{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.tile{appearance:none;border:1px solid var(--line);background:var(--surface);border-radius:var(--radius-tile);aspect-ratio:1;box-shadow:var(--shadow-2);flex-direction:column;justify-content:center;align-items:center;gap:clamp(10px,3vw,16px);transition:transform .15s,box-shadow .15s;display:flex;position:relative;overflow:hidden}.tile:before{content:"";background:radial-gradient(120% 90% at 50% -10%, var(--accent-soft) 0%, transparent 55%);opacity:.9;position:absolute;inset:0}.tile:hover{transform:translateY(-3px);box-shadow:0 14px 30px #1c1d1a1f}.tile:active{box-shadow:var(--shadow-press);transform:translateY(0)}.tile:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.tile-art{background:var(--accent);width:clamp(46px,16vw,64px);height:clamp(46px,16vw,64px);color:var(--accent-ink);z-index:1;border-radius:clamp(14px,4vw,20px);justify-content:center;align-items:center;display:flex;position:relative}.tile-art svg{width:56%;height:56%}.tile-label{font-family:var(--font-display);letter-spacing:-.02em;z-index:1;font-size:clamp(14px,4vw,17px);font-weight:700}.search{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-pill);box-shadow:var(--shadow-1);align-items:center;gap:10px;padding:13px 18px;transition:box-shadow .15s,border-color .15s;display:flex}.search:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.search svg{width:19px;height:19px;color:var(--muted);flex:none}.search input{color:var(--ink);background:0 0;border:0;outline:0;width:100%;font-size:16px}.search input::placeholder{color:var(--muted)}.search-clear{color:var(--muted);background:0 0;border:0;padding:2px 4px;font-size:18px;line-height:1}.browse-btn{background:var(--ink);color:#fff;border-radius:var(--radius-pill);width:100%;box-shadow:var(--shadow-1);border:0;justify-content:center;align-items:center;gap:9px;margin-top:14px;padding:14px 18px;font-size:15px;font-weight:600;transition:transform .12s,opacity .12s;display:flex}.browse-btn:hover{opacity:.92}.browse-btn:active{transform:translateY(1px)}.browse-btn.is-open{background:var(--surface);color:var(--ink);border:1px solid var(--line)}.browse-btn svg{width:17px;height:17px;transition:transform .2s}.browse-btn.is-open svg{transform:rotate(180deg)}.list-head{justify-content:space-between;align-items:baseline;margin:26px 2px 12px;display:flex}.list-head .label{letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-size:12px;font-weight:700}.list-head .count{color:var(--muted);font-size:13px}.rows{flex-direction:column;gap:10px;display:flex}.row{text-align:left;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-row);width:100%;box-shadow:var(--shadow-1);align-items:center;gap:14px;padding:13px 15px;transition:transform .12s,box-shadow .12s,border-color .12s;display:flex}.row:hover{box-shadow:var(--shadow-2);border-color:#d2d2cb;transform:translateY(-1px)}.row:active{box-shadow:var(--shadow-press);transform:translateY(0)}.row:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.row-art{flex:none}.row-body{flex:1;min-width:0}.row-name{letter-spacing:-.01em;align-items:center;gap:8px;font-size:15.5px;font-weight:650;display:flex}.row-desc{color:var(--muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-top:3px;font-size:13.5px;line-height:1.4;display:-webkit-box;overflow:hidden}.row-chevron{color:var(--muted);flex:none}.row-chevron svg{width:18px;height:18px}.ext-tag{letter-spacing:.05em;color:var(--accent);background:var(--accent-soft);border-radius:var(--radius-pill);text-transform:uppercase;padding:2px 7px;font-size:10px;font-weight:700}.cat-badge{background:var(--surface-soft);border:1px solid var(--line);width:46px;height:46px;color:var(--ink);border-radius:13px;justify-content:center;align-items:center;display:flex}.cat-badge svg{width:24px;height:24px}.logo-badge{color:#fff;width:46px;height:46px;font-family:var(--font-display);letter-spacing:-.02em;border-radius:13px;justify-content:center;align-items:center;font-size:16px;font-weight:700;display:flex;overflow:hidden}.logo-badge img{object-fit:contain;background:#fff;width:100%;height:100%}.empty{text-align:center;background:var(--surface);border:1px dashed var(--line);border-radius:var(--radius-row);margin-top:20px;padding:34px 20px}.empty .emoji{background:var(--accent-soft);width:44px;height:44px;color:var(--accent);border-radius:50%;justify-content:center;align-items:center;margin:0 auto 12px;display:flex}.empty .emoji svg{width:22px;height:22px}.empty-title{margin-bottom:4px;font-size:16px;font-weight:700}.empty-sub{color:var(--muted);font-size:14px}.logo-badge--img{border:1px solid var(--line);background:#fff;padding:7px}.logo-badge--img img{object-fit:contain;background:0 0;width:100%;height:100%}.disclosure{border-top:1px solid var(--line);color:var(--muted);margin:28px 2px 0;padding-top:16px;font-size:12px;line-height:1.55}.foot{text-align:center;color:var(--muted);padding:26px 20px 34px;font-size:12.5px}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}.tiles--four{grid-template-columns:repeat(2,1fr);gap:14px}.tiles--four .tile-art{border-radius:18px;width:58px;height:58px}.tiles--four .tile-label{font-size:17px}.tile--wide{aspect-ratio:auto;text-align:left;background:var(--ink);border-color:var(--ink);flex-direction:row;justify-content:flex-start;gap:16px;width:100%;margin-top:14px;padding:18px 20px}.tile--wide:before{background:radial-gradient(120% 160% at 0 0,#e2542b59 0%,#0000 55%)}.tile--wide .tile-art{border-radius:16px;width:52px;height:52px}.tile--wide .tile-label{color:#fff;display:block}.tile-sublabel{color:#ffffffa6;margin-top:2px;font-size:13px;display:block}.add-site-btn{border-radius:var(--radius-pill);border:2px dashed var(--accent);color:var(--accent);background:var(--accent-soft);align-items:center;gap:8px;padding:11px 18px;font-size:14px;font-weight:700;transition:transform .12s,background .12s;display:inline-flex}.add-site-btn:hover{background:#f8d9cc}.add-site-btn:active{transform:translateY(1px)}.add-site-btn svg{width:16px;height:16px}.row--split{padding:0;overflow:hidden}.row--split .row-main{flex:1;align-items:center;gap:14px;min-width:0;padding:13px 6px 13px 15px;display:flex}.row-side{border-left:1px solid var(--line);width:52px;color:var(--accent);background:var(--surface-soft);justify-content:center;align-self:stretch;align-items:center;transition:background .12s;display:flex}.row-side:hover{background:var(--accent-soft)}.row-side svg{width:20px;height:20px}.tabs{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-pill);gap:8px;margin:6px 0 16px;padding:5px;display:flex}.tab{border-radius:var(--radius-pill);color:var(--muted);background:0 0;border:0;flex:1;justify-content:center;align-items:center;gap:8px;padding:10px 12px;font-size:14px;font-weight:650;display:inline-flex}.tab.is-active{background:var(--ink);color:#fff}.tab svg{width:16px;height:16px}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-row);box-shadow:var(--shadow-1);padding:18px}.panel-text{color:var(--muted);margin:0 0 14px;font-size:14.5px;line-height:1.55}.reward-name{font-family:var(--font-display);align-items:center;gap:9px;margin-bottom:6px;font-size:18px;font-weight:700;display:flex}.reward-name svg{width:20px;height:20px;color:var(--accent)}.cta-btn{background:var(--accent);color:#fff;border-radius:var(--radius-pill);border:0;justify-content:center;align-items:center;gap:9px;padding:13px 22px;font-size:15px;font-weight:700;transition:transform .12s,opacity .12s;display:inline-flex}.cta-btn:hover{opacity:.92}.cta-btn:active{transform:translateY(1px)}.cta-btn:disabled{opacity:.6}.cta-btn svg{width:16px;height:16px}.app-prompt{border-top:1px solid var(--line);margin-top:18px;padding-top:16px}.app-prompt-head{align-items:flex-start;gap:12px;display:flex}.app-prompt-head svg{width:22px;height:22px;color:var(--accent);flex:none;margin-top:2px}.app-prompt-title{font-size:15px;font-weight:700}.app-prompt-sub{color:var(--muted);margin-top:2px;font-size:13.5px}.app-btns{flex-wrap:wrap;gap:10px;margin-top:12px;display:flex}.app-btn{background:var(--ink);color:#fff;border-radius:10px;align-items:center;gap:7px;padding:10px 16px;font-size:13.5px;font-weight:650;display:inline-flex}.fineprint{color:var(--muted);margin:12px 0 0;font-size:11.5px;line-height:1.5}.form{flex-direction:column;gap:14px;max-width:480px;display:flex}.field{flex-direction:column;gap:6px;display:flex}.field span{font-size:13px;font-weight:650}.field input,.field select{border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:12px;padding:12px 14px;font-family:inherit;font-size:15px}.field input:focus,.field select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.form-error{color:#b3261e;margin:0;font-size:13.5px}.mini-btn{border:1px solid var(--line);background:var(--surface);border-radius:var(--radius-pill);padding:7px 14px;font-size:13px;font-weight:650}.mini-btn.approve{color:#fff;background:#2e6f4e;border-color:#2e6f4e}.mini-btn.reject{color:#b3261e;background:0 0;border-color:#e6b9b5}.mode-toggle{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-pill);gap:8px;padding:5px;display:flex}.mode{border-radius:var(--radius-pill);color:var(--muted);background:0 0;border:0;flex:1;justify-content:center;align-items:center;gap:8px;padding:11px 12px;font-size:14px;font-weight:650;display:inline-flex}.mode.is-active{background:var(--accent);color:#fff}.mode svg{width:16px;height:16px}.product-img{background:var(--surface-soft);border:1px solid var(--line);border-radius:12px;justify-content:center;align-items:center;width:56px;height:56px;display:flex;overflow:hidden}.product-img img{object-fit:cover;width:100%;height:100%}.product-src{color:var(--accent);margin-top:4px;font-size:11.5px;font-weight:650;display:block}.reward-banner{background:var(--accent-soft);color:var(--ink);border:1px solid #f0c4b3;border-radius:12px;align-items:center;gap:10px;margin-bottom:16px;padding:12px 14px;font-size:14px;display:flex}.reward-banner svg{width:18px;height:18px;color:var(--accent);flex:none}.survey .q{border:0;margin:0 0 18px;padding:0}.q-prompt{margin-bottom:10px;padding:0;font-size:15px;font-weight:700}.opt{border:1px solid var(--line);background:var(--surface-soft);cursor:pointer;border-radius:12px;align-items:center;gap:10px;margin-bottom:8px;padding:10px 12px;font-size:14.5px;transition:border-color .12s,background .12s;display:flex}.opt:hover{border-color:var(--accent)}.opt:has(input:checked){border-color:var(--accent);background:var(--accent-soft)}.opt input{accent-color:var(--accent);width:17px;height:17px}.q-text,.q-optinput{border:1px solid var(--line);background:var(--surface);width:100%;color:var(--ink);resize:vertical;border-radius:12px;padding:12px 14px;font-family:inherit;font-size:15px}.q-text:focus,.q-optinput:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.tab--survey{color:var(--accent)}.tab--survey.is-active{background:var(--accent);color:#fff}
