:root{--black:#151515;--black2:#202020;--gray:#474747;--line:#666;--cream:#f1efe7;--blue:#a8b5c8;--yellow:#f3cf58}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:#e9e7df;color:var(--cream);font-family:"DM Sans",sans-serif}.app-shell{width:min(100%,485px);min-height:100vh;margin:auto;background:var(--black);border:1px solid #050505;box-shadow:0 0 0 12px #555,0 0 0 13px #222;overflow:hidden}.masthead{height:88px;display:flex;justify-content:center;align-items:center;position:relative;background:#171717;border-radius:0 0 46px 46px;border-bottom:4px solid #6d6d6d}.masthead img{width:240px;height:67px}.masthead button{position:absolute;right:14px;top:17px;border:1px solid #888;background:#343434;color:var(--cream);width:27px;height:27px}.mode-tabs{height:35px;display:grid;grid-template-columns:1fr 1fr;background:#adadab}.mode-tabs button{border:0;border-right:1px solid #555;background:transparent;color:#111;font:700 20px "DM Mono";letter-spacing:5px}.mode-tabs button:last-child{border:0}.discovery{background:#272727;border-bottom:1px solid var(--line);padding:5px 0 6px}.search{display:flex;margin:0 12px;height:28px;border:1px solid #666;background:#161616;align-items:center}.search span{padding:0 7px;color:var(--blue)}.search input{width:100%;border:0;background:transparent;outline:0;color:var(--cream);font:10px "DM Mono"}.clear{border:0;background:none;color:var(--cream);font-size:18px}.tag-row,.category-row{display:flex;gap:7px;overflow:auto;scrollbar-width:none;padding:7px 12px 0}.tag-row::-webkit-scrollbar,.category-row::-webkit-scrollbar{display:none}.tag-row button{flex:0 0 auto;width:48px;height:25px;transform:rotate(45deg);border:1px solid #aaa;background:var(--cream);color:#4d657b;font:6px "DM Mono"}.tag-row button::first-letter{color:#171717}.category-row button{flex:0 0 auto;border:1px solid #666;background:#242424;color:#a0a0a0;padding:5px 8px;font:8px "DM Mono"}.category-row button.active{background:var(--cream);color:#111}.market-head{height:25px;background:#353535;border-bottom:1px solid #555;display:flex;justify-content:space-between;padding:7px 12px;color:#ddd;font:8px "DM Mono";letter-spacing:1px}.market-stage{display:grid;grid-template-columns:52px minmax(0,1fr) 52px;background:#4a4a4a;align-items:start}.ad{min-height:670px;color:#797979;text-align:center;padding-top:13px;font:10px "DM Mono"}.ad-left{border-right:1px solid #626262}.ad-right{border-left:1px solid #626262}.listing-stream{min-width:0;background:#151515;padding-top:5px}.listing{display:block;margin:0;background:#151515;border-bottom:1px solid #777}.rail,.seller{display:none}.media{display:block;border:0;background:#555;padding:5px 12px 0;width:100%;height:405px}.media img{display:block;width:100%;height:100%;object-fit:cover;border:4px solid var(--cream)}.grade{position:absolute;right:66px;top:158px;background:#151515;color:var(--cream);padding:4px;font:700 8px "DM Mono"}.listing-copy{padding:7px 10px 0;background:#151515}.listing h2{margin:0;color:var(--cream);font:700 11px/1.2 "DM Mono";text-transform:uppercase}.meta{color:#929292;font:7px "DM Mono";margin:4px 0}.listing-copy p{border:2px solid var(--cream);padding:7px;margin:7px 0;color:var(--cream);font:10px/1.25 "DM Mono"}.listing footer{height:38px;display:flex;align-items:center;justify-content:space-between;background:#343434;margin:0 -10px;padding:0 10px;border-top:1px solid #777}.price{font:700 18px "DM Mono";color:var(--cream)}.trade{border:0;background:none;color:var(--blue);font:700 9px "DM Mono"}.like{border:0;background:none;color:var(--cream)}.load-state{padding:12px;text-align:center;background:#222;color:#aaa;font:8px "DM Mono";letter-spacing:1px}.bottom-nav{height:73px;background:#1e1e1e;border-top:2px solid #777;display:grid;grid-template-columns:repeat(4,1fr)}.bottom-nav button{border:0;background:transparent;color:#a7a7a7;font:8px "DM Mono";text-transform:uppercase}.bottom-nav b{display:block;margin:auto auto 5px;width:27px;height:27px;color:var(--cream);font:27px/25px "DM Mono"}.bottom-nav button.active{color:var(--cream)}.bottom-nav button.active b{color:var(--cream)}dialog{width:min(420px,calc(100% - 24px));background:#222;color:var(--cream);border:2px solid #777;padding:26px}dialog::backdrop{background:#000b}.close{float:right;border:0;background:none;color:var(--cream);font-size:25px}.modal-title{font:600 28px "Playfair Display";margin:0}.modal-copy{color:#bbb;line-height:1.5}.modal-form{display:grid;gap:10px;margin-top:15px}.modal-form input{padding:10px;background:#151515;border:1px solid #777;color:var(--cream)}.modal-form button{padding:10px;border:0;background:var(--cream);color:#151515;font-weight:bold}@media(min-width:550px){body{padding:18px}.app-shell{min-height:calc(100vh - 36px);border-radius:46px}.masthead{border-radius:44px 44px 0 0}}@media(max-width:390px){.market-stage{grid-template-columns:35px minmax(0,1fr) 35px}.ad{font-size:8px}.media{height:370px;padding:5px 7px}.grade{right:44px}}
 .site-legal-links { display: flex; justify-content: center; gap: 10px; padding: 18px 18px 92px; color: #aaa69c; font: 12px "DM Mono", monospace; }
 .site-legal-links a { color: #bcd6ff; }
/* Google OAuth sits alongside the existing email account flow. */
.google-auth-button {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  width: 100%;
  min-height: 58px;
  border: 1px solid #a9b0bb;
  border-radius: 9px;
  background: linear-gradient(135deg, #ffffff, #edf1f6);
  color: #202124;
  font: 700 13px/1 "DM Sans", sans-serif;
  text-decoration: none;
  transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease;
}
.google-auth-button span { display: grid; place-items: center; width: 24px; height: 24px; border-radius: 50%; background: conic-gradient(#4285f4 0 25%, #34a853 0 50%, #fbbc05 0 75%, #ea4335 0); color: #fff; font: 800 13px/1 Arial, sans-serif; }.google-auth-button b { flex: 1; }.google-auth-button small { color: #667085; font: 600 10px/1 "DM Mono", monospace; }
.google-auth-button:hover { border-color: #4285f4; box-shadow: 0 8px 22px #0004; transform: translateY(-1px); }
.auth-divider { display: flex; align-items: center; gap: 10px; margin: 16px 0; color: #9ba2ad; font: 10px/1 "DM Mono", monospace; letter-spacing: .08em; text-transform: uppercase; }
.auth-divider::before,.auth-divider::after { flex: 1; height: 1px; content: ""; background: #4a4e55; }
.auth-shell { display: grid; gap: 0; max-width: 460px; }.auth-form { display: grid; gap: 14px; }.auth-field { display: grid; gap: 7px; color: #d9dee7; font: 700 11px/1 "DM Sans", sans-serif; }.auth-field > span { color: #b9c1cd; letter-spacing: .02em; }.auth-field input { min-height: 48px; border: 1px solid #49515d; border-radius: 7px; background: #101318; color: #f7f9fc; }.auth-field input:focus { border-color: #7ba9ee; box-shadow: 0 0 0 3px #4d8de12e; outline: 0; }.auth-submit { min-height: 50px; margin-top: 4px; border-radius: 7px; font-weight: 800; }.auth-privacy { margin: 15px 0 0; color: #8f99a8; font: 11px/1.5 "DM Sans", sans-serif; text-align: center; }.auth-shell .auth-switch { width: 100%; margin-top: 12px; border: 0; background: transparent; color: #b9d1f8; font: 700 11px/1.4 "DM Sans", sans-serif; cursor: pointer; }.auth-shell .auth-switch:hover { color: #fff; text-decoration: underline; }
.promotion-badge { position:absolute; z-index:4; top:12px; left:12px; border:1px solid #f3cf58; padding:6px 8px; background:#17140ad9; color:#f7d75e; font:800 .62rem/1 "DM Mono",monospace; letter-spacing:.08em; box-shadow:0 3px 12px #0008; }
