:root{--bg: #0b1220;--bg-2: #111c33;--panel: #16223a;--panel-2: #1c2a45;--border: #263654;--text: #e8eefb;--muted: #94a3b8;--teal: #14b8a6;--teal-2: #0d9488;--amber: #f59e0b;--amber-2: #d97706;--red: #f87171;--green: #34d399;--radius: 14px;--shadow: 0 10px 30px rgba(0, 0, 0, .35);--nav-h: 60px;--safe-b: env(safe-area-inset-bottom, 0px);--safe-t: env(safe-area-inset-top, 0px);color-scheme:dark}*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--bg);color:var(--text);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-size:15px;line-height:1.45;-webkit-text-size-adjust:100%}a{color:var(--teal);text-decoration:none}a:hover{text-decoration:underline}img{max-width:100%;display:block}button,input,select,textarea{font:inherit;color:inherit}h1,h2,h3{margin:0 0 .5rem;line-height:1.2;letter-spacing:-.01em}h1{font-size:1.7rem}h2{font-size:1.25rem}h3{font-size:1.05rem}p{margin:0 0 .75rem}.muted{color:var(--muted)}.small{font-size:.85rem}.mono{font-variant-numeric:tabular-nums}.app{min-height:100dvh;display:flex;flex-direction:column}.header{position:sticky;top:0;z-index:30;background:#0b1220d9;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--border);padding-top:var(--safe-t)}.header-inner{max-width:1100px;margin:0 auto;padding:0 16px;height:58px;display:flex;align-items:center;gap:14px}.brand{display:flex;align-items:center;gap:10px;color:var(--text);font-weight:800;font-size:1.15rem;letter-spacing:-.02em}.brand:hover{text-decoration:none}.brand img{width:34px;height:34px}.brand span b{color:var(--teal)}.topnav{display:none;gap:4px;margin-left:8px}.topnav a{padding:8px 12px;border-radius:10px;color:var(--muted);font-weight:600}.topnav a.active,.topnav a:hover{background:var(--panel);color:var(--text);text-decoration:none}.header .spacer{flex:1}.main{flex:1;width:100%;max-width:1100px;margin:0 auto;padding:18px 16px calc(var(--nav-h) + var(--safe-b) + 90px)}.bottomnav{position:fixed;left:0;right:0;bottom:0;z-index:30;display:grid;grid-template-columns:repeat(5,1fr);background:#111c33f2;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-top:1px solid var(--border);padding-bottom:var(--safe-b);height:calc(var(--nav-h) + var(--safe-b))}.bottomnav a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;color:var(--muted);font-size:.7rem;font-weight:600}.bottomnav a.active{color:var(--teal)}.bottomnav a:hover{text-decoration:none}.bottomnav svg{width:22px;height:22px}@media (min-width: 860px){.topnav{display:flex}.bottomnav{display:none}.main{padding-bottom:120px}}.card{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:16px}.card+.card{margin-top:14px}.stack>*+*{margin-top:14px}.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.row.between{justify-content:space-between}.grid{display:grid;gap:14px;grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}.grid.tight{grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 16px;border-radius:12px;border:1px solid var(--border);background:var(--panel-2);color:var(--text);font-weight:700;cursor:pointer;transition:transform .05s ease,background .15s;white-space:nowrap}.btn:hover{background:#24345a;text-decoration:none}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.primary{background:var(--teal);border-color:var(--teal);color:#04201c}.btn.primary:hover{background:#2ccbb9}.btn.amber{background:var(--amber);border-color:var(--amber);color:#2a1700}.btn.amber:hover{background:#ffb020}.btn.danger{background:transparent;border-color:var(--red);color:var(--red)}.btn.ghost{background:transparent}.btn.sm{padding:6px 10px;font-size:.85rem;border-radius:10px}.btn.block{width:100%}.input,select.input,textarea.input{width:100%;padding:11px 13px;border-radius:12px;border:1px solid var(--border);background:var(--bg-2);color:var(--text);outline:none}.input:focus{border-color:var(--teal);box-shadow:0 0 0 3px #14b8a633}textarea.input{min-height:90px;resize:vertical}label.field{display:block;margin-bottom:12px}label.field>span{display:block;font-size:.82rem;color:var(--muted);font-weight:600;margin-bottom:5px}.form-grid{display:grid;gap:0 14px;grid-template-columns:1fr}@media (min-width: 640px){.form-grid{grid-template-columns:1fr 1fr}.form-grid .full{grid-column:1 / -1}}.chip{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:999px;border:1px solid var(--border);background:var(--bg-2);color:var(--muted);font-size:.85rem;font-weight:600;cursor:pointer}.chip.active{background:#14b8a626;border-color:var(--teal);color:var(--teal)}.badge{display:inline-block;padding:3px 9px;border-radius:999px;font-size:.72rem;font-weight:700;letter-spacing:.02em;background:var(--panel-2);color:var(--muted);border:1px solid var(--border)}.badge.teal{background:#14b8a626;color:var(--teal);border-color:transparent}.badge.amber{background:#f59e0b2e;color:var(--amber);border-color:transparent}.badge.green{background:#34d39926;color:var(--green);border-color:transparent}.badge.red{background:#f8717126;color:var(--red);border-color:transparent}.alert{padding:10px 14px;border-radius:12px;background:#f59e0b1f;border:1px solid rgba(245,158,11,.4);color:#fcd34d;font-size:.9rem}.alert.error{background:#f871711f;border-color:#f8717180;color:#fca5a5}.alert.info{background:#14b8a61a;border-color:#14b8a666;color:#99f6e4}.table{width:100%;border-collapse:collapse;font-size:.92rem}.table th,.table td{text-align:left;padding:8px 6px;border-bottom:1px solid var(--border);vertical-align:top}.table th{color:var(--muted);font-weight:600;font-size:.78rem;text-transform:uppercase;letter-spacing:.04em}.table td.num,.table th.num{text-align:right;font-variant-numeric:tabular-nums}.table-wrap{overflow-x:auto}.skeleton{background:linear-gradient(90deg,var(--panel) 25%,var(--panel-2) 50%,var(--panel) 75%);background-size:200% 100%;animation:shimmer 1.2s infinite;border-radius:10px;min-height:60px}@keyframes shimmer{to{background-position:-200% 0}}.empty{text-align:center;color:var(--muted);padding:36px 12px}.price-big{font-size:2rem;font-weight:800;letter-spacing:-.02em}.stat{background:var(--bg-2);border:1px solid var(--border);border-radius:12px;padding:10px 12px}.stat .label{font-size:.72rem;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;font-weight:700}.stat .value{font-size:1.15rem;font-weight:800}.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:10px}.hero{padding:26px 0 10px}.hero h1{font-size:2rem}@media (min-width: 640px){.hero h1{font-size:2.6rem}}.hero h1 b{color:var(--teal)}.searchbar{display:flex;gap:8px}.searchbar .input{flex:1;font-size:1.05rem;padding:14px 16px}.chips{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}.tile{display:flex;gap:12px;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:12px;color:var(--text);transition:border-color .15s,transform .1s}.tile:hover{border-color:var(--teal);text-decoration:none;transform:translateY(-1px)}.tile .thumb{width:76px;height:106px;border-radius:8px;background:var(--bg-2);object-fit:cover;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:1.6rem;overflow:hidden}.tile .thumb img{width:100%;height:100%;object-fit:cover}.tile .body{min-width:0;flex:1}.tile .title{font-weight:700;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.tile .price{font-weight:800;font-size:1.1rem;margin-top:4px}.listing-tile{display:flex;flex-direction:column;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;color:var(--text)}.listing-tile:hover{border-color:var(--teal);text-decoration:none}.listing-tile .img{aspect-ratio:4 / 3;background:var(--bg-2);display:flex;align-items:center;justify-content:center;font-size:2rem;overflow:hidden}.listing-tile .img img{width:100%;height:100%;object-fit:cover}.listing-tile .body{padding:12px}.card-image{width:100%;max-width:360px;border-radius:14px;margin:0 auto;box-shadow:var(--shadow)}.card-image.placeholder{height:200px;background:var(--panel);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;font-size:3rem;box-shadow:none}@media (min-width: 800px){.card-image.placeholder{height:320px}}.detail{display:grid;gap:18px;grid-template-columns:1fr}@media (min-width: 800px){.detail{grid-template-columns:340px 1fr;align-items:start}}.links{display:flex;flex-wrap:wrap;gap:8px}.pay{display:grid;gap:10px}.pay a,.pay .zelle{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:12px;border:1px solid var(--border);background:var(--bg-2);color:var(--text)}.pay a:hover{border-color:var(--teal);text-decoration:none}.pay .logo{width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-weight:900;font-size:.9rem;flex-shrink:0}.pay .venmo{background:#008cff;color:#fff}.pay .paypal{background:#ffc439;color:#003087}.pay .cashapp{background:#00d632;color:#fff}.pay .zelle-logo{background:#6d1ed4;color:#fff}.pay .meta{min-width:0}.pay .meta b{display:block}.pay .meta .small{white-space:normal}.shop{display:grid;gap:8px}.shop .hours{list-style:none;margin:0;padding:0;font-size:.88rem;color:var(--muted);columns:2}@media (max-width: 500px){.shop .hours{columns:1}}.grader-head{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}.grader-head .name{font-size:1.4rem;font-weight:900}.pro-con{display:grid;gap:10px;grid-template-columns:1fr}@media (min-width: 640px){.pro-con{grid-template-columns:1fr 1fr}}.pro-con ul{margin:4px 0 0;padding-left:18px}.bot-fab{position:fixed;right:16px;bottom:calc(var(--nav-h) + var(--safe-b) + 16px);z-index:40;width:58px;height:58px;border-radius:50%;border:none;background:linear-gradient(135deg,var(--teal),var(--amber));box-shadow:0 8px 24px #14b8a666;cursor:pointer;display:flex;align-items:center;justify-content:center}.bot-fab img{width:34px;height:34px}@media (min-width: 860px){.bot-fab{bottom:24px;right:24px}}.bot-panel{position:fixed;z-index:45;right:12px;left:12px;bottom:calc(var(--nav-h) + var(--safe-b) + 12px);height:min(70dvh,620px);background:var(--bg-2);border:1px solid var(--border);border-radius:18px;box-shadow:var(--shadow);display:flex;flex-direction:column;overflow:hidden}@media (min-width: 640px){.bot-panel{left:auto;width:400px;right:20px;bottom:20px}}.bot-head{display:flex;align-items:center;gap:10px;padding:10px 12px;border-bottom:1px solid var(--border);background:var(--panel)}.bot-head img{width:28px;height:28px}.bot-head select{background:var(--bg-2);border:1px solid var(--border);border-radius:8px;padding:4px 8px;font-size:.8rem}.bot-msgs{flex:1;overflow-y:auto;padding:12px;display:flex;flex-direction:column;gap:10px}.msg{max-width:88%;padding:9px 12px;border-radius:14px;white-space:pre-wrap;word-wrap:break-word;font-size:.93rem}.msg.user{align-self:flex-end;background:var(--teal);color:#04201c;border-bottom-right-radius:4px}.msg.assistant{align-self:flex-start;background:var(--panel);border:1px solid var(--border);border-bottom-left-radius:4px}.msg.tool{align-self:flex-start;background:transparent;color:var(--muted);font-size:.8rem;padding:2px 6px}.msg a{word-break:break-all}.bot-suggest{display:flex;gap:6px;flex-wrap:wrap;padding:0 12px 8px}.bot-input{display:flex;gap:8px;padding:10px;border-top:1px solid var(--border);background:var(--panel)}.bot-input .input{flex:1;padding:9px 12px}.cursor:after{content:"▍";animation:blink 1s steps(2) infinite;color:var(--teal)}@keyframes blink{50%{opacity:0}}.hours-toggle{background:none;border:none;color:var(--teal);padding:0;cursor:pointer;font-weight:600}.auth-tabs{display:flex;gap:6px;margin-bottom:14px}.auth-tabs button{flex:1}.img-picker{display:flex;gap:12px;align-items:center}.img-picker .preview{width:96px;height:96px;border-radius:10px;background:var(--bg-2);object-fit:cover;border:1px solid var(--border)}.scan-fab{position:fixed;left:16px;bottom:calc(var(--nav-h) + var(--safe-b) + 16px);z-index:40;display:flex;align-items:center;gap:8px;padding:12px 18px;border-radius:999px;border:none;background:var(--amber);color:#2a1700;font-weight:800;box-shadow:0 8px 24px #f59e0b66;cursor:pointer}.scan-fab svg{width:22px;height:22px}.scan-fab:hover{background:#ffb020}@media (min-width: 860px){.scan-fab{bottom:24px;left:24px}}.scan-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;background:var(--bg);display:flex;flex-direction:column;padding-top:var(--safe-t)}@media (min-width: 640px){.scan-overlay{inset:auto 20px 20px auto;width:440px;height:min(85dvh,760px);border:1px solid var(--border);border-radius:18px;box-shadow:var(--shadow);overflow:hidden}}.scan-head{display:flex;align-items:center;gap:10px;padding:10px 12px;border-bottom:1px solid var(--border);background:var(--panel)}.scan-head .small{flex:1}.scan-viewport{position:relative;flex:1;background:#000;display:flex;align-items:center;justify-content:center;overflow:hidden}.scan-viewport video{width:100%;height:100%;object-fit:cover}.scan-frame{position:absolute;top:50%;left:50%;width:min(66%,320px);aspect-ratio:5 / 7;transform:translate(-50%,-56%);border:3px solid rgba(20,184,166,.9);border-radius:14px;box-shadow:0 0 0 200vmax #00000073;pointer-events:none}.scan-actions{position:absolute;left:0;right:0;bottom:calc(18px + var(--safe-b));display:flex;align-items:center;justify-content:space-between;padding:0 20px}.scan-shutter{width:74px;height:74px;border-radius:50%;border:5px solid #fff;background:var(--amber);box-shadow:0 0 0 4px #00000059;cursor:pointer}.scan-shutter:active{transform:scale(.94)}.scan-body{flex:1;overflow-y:auto;padding:14px}.scan-photo{width:140px;border-radius:10px;margin-bottom:12px;box-shadow:var(--shadow)}.scan-status{display:grid;gap:8px}.footer{margin-top:40px;padding-top:16px;border-top:1px solid var(--border);display:flex;flex-wrap:wrap;gap:8px 16px;font-size:.8rem;color:var(--muted)}.legal{max-width:760px;margin:0 auto}.legal h2{font-size:1.05rem;margin-top:18px}.legal ul{padding-left:20px}.legal li{margin-bottom:6px}.stars{display:inline-flex;align-items:center;letter-spacing:1px}.stars.pick button{background:none;border:none;font-size:1.6rem;cursor:pointer;padding:0 2px;line-height:1}.thread{display:flex;flex-direction:column;gap:10px;min-height:240px;max-height:60vh;overflow-y:auto}.msg.sys{align-self:center;background:#14b8a61a;border:1px dashed var(--border);color:var(--text);font-size:.85rem;max-width:96%}.navme{position:relative}.navdot{position:absolute;top:6px;right:calc(50% - 22px);background:var(--teal);color:#04201c;border-radius:999px;font-size:.65rem;font-weight:800;padding:1px 6px}
