:root{
  --bg:#fff7f1; --ink:#271d1a; --muted:#75655f; --card:#fffdfb; --line:#eadbd2;
  --like:#26c281; --nope:#ff5d6c; --maybe:#f5a524; --super:#7c5cff;
  --shadow:0 28px 70px rgba(59,39,25,.18);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%;background:radial-gradient(circle at 20% 5%,#ffe4d0 0,#fff7f1 34%,#f7f2ff 100%);color:var(--ink);overflow-x:hidden}
body{min-height:100dvh}
.app-shell{width:min(520px,100%);height:100dvh;margin:0 auto;padding:12px 16px calc(12px + env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:10px}
.topbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex:0 0 auto}
.eyebrow{margin:0 0 2px;color:#9a6959;font-size:11px;font-weight:900;letter-spacing:.12em;text-transform:uppercase}
.topbar h1,.sheet h2{margin:0;font-size:24px;line-height:1.02;letter-spacing:-.045em}
.ghost-btn,.chip,.mini-btn,.full-btn,.secondary-btn,.danger-btn{border:1px solid var(--line);background:rgba(255,255,255,.72);backdrop-filter:blur(14px);color:var(--ink);border-radius:999px;padding:10px 14px;font-weight:800;box-shadow:0 6px 22px rgba(62,41,22,.06)}
.filters{display:flex;gap:8px;overflow-x:auto;padding:0 0 4px;scrollbar-width:none;flex:0 0 auto}.filters::-webkit-scrollbar{display:none}
.chip{white-space:nowrap;font-size:13px}.chip.active{background:#2a1c18;color:white;border-color:#2a1c18}
.deck-wrap{flex:1;display:flex;flex-direction:column;min-height:0}.progress-row{display:flex;justify-content:space-between;color:var(--muted);font-size:13px;font-weight:800;padding:0 2px 4px}.progress{height:6px;background:rgba(255,255,255,.92);border-radius:99px;overflow:hidden;border:1px solid rgba(234,219,210,.7)}#progressBar{height:100%;width:0;background:linear-gradient(90deg,#ff8e72,#7c5cff);border-radius:inherit;transition:width .25s ease}
.deck{position:relative;flex:1;min-height:0;margin-top:8px}.card{position:absolute;inset:0;margin:auto;width:100%;height:100%;border-radius:34px;background:var(--card);box-shadow:var(--shadow);overflow:hidden;touch-action:none;user-select:none;border:1px solid rgba(255,255,255,.9);transform-origin:50% 95%;will-change:transform}.card:nth-last-child(2){transform:scale(.965) translateY(12px);opacity:.78}.card:nth-last-child(3){transform:scale(.93) translateY(24px);opacity:.42}
.card-bg{position:absolute;inset:0;background:linear-gradient(160deg,rgba(255,137,103,.25),rgba(255,255,255,0) 35%),radial-gradient(circle at 90% 8%,rgba(124,92,255,.20),transparent 32%),linear-gradient(180deg,#fffaf6,#fff)}
.photo-wrap{position:absolute;inset:0 0 auto 0;height:64%;overflow:hidden;background:linear-gradient(135deg,#f8e9dd,#f7f2ff)}.card:not(.has-photo) .photo-wrap{display:none}.photo-wrap::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.03),rgba(0,0,0,0) 52%,rgba(255,253,251,.98) 94%)}.photo{width:100%;height:100%;object-fit:cover;object-position:center 28%;display:none}.card.has-photo .photo{display:block}
.card-content{position:relative;z-index:2;height:100%;padding:22px;display:flex;flex-direction:column;justify-content:flex-end}.card.has-photo .card-content{padding-top:48%}.card-top{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:auto}.distance,.gkv-pill{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:8px 10px;font-size:13px;font-weight:900}.distance{background:#2b1d19;color:white}.gkv-pill{background:#e7f8ef;color:#11633d}.gkv-pill.unclear{background:#fff2cd;color:#7a4b00}.gkv-pill.no{background:#ffe2e6;color:#9a1b2c}
.name{font-size:43px;line-height:.95;letter-spacing:-.07em;margin:0 0 10px;max-width:100%}.card.has-photo .name{font-size:38px}.address{font-size:18px;color:var(--muted);margin:0 0 18px;line-height:1.28}.card-bottom{display:flex}.mini-btn{text-decoration:none;text-align:center;width:100%;border-radius:22px;background:#2a1c18;color:white;border-color:#2a1c18;padding:14px 16px;font-size:16px}.gesture-hints{display:flex;justify-content:space-around;color:#947b73;font-size:12px;font-weight:900;margin-top:6px;flex:0 0 auto}
.stamp{position:absolute;z-index:5;top:35px;padding:8px 13px;border:4px solid currentColor;border-radius:12px;font-size:25px;font-weight:1000;letter-spacing:.06em;opacity:0;transform:rotate(-15deg);background:rgba(255,255,255,.78)}.stamp-like{left:25px;color:var(--like)}.stamp-nope{right:25px;color:var(--nope);transform:rotate(15deg)}.stamp-maybe{left:50%;transform:translateX(-50%) rotate(-2deg);color:var(--maybe)}.stamp-super{left:50%;transform:translateX(-50%) rotate(-2deg);color:var(--super)}
.sheet{width:min(520px,calc(100% - 24px));max-height:88dvh;border:0;border-radius:30px;padding:18px;background:#fffdfb;color:var(--ink);box-shadow:var(--shadow)}.sheet::backdrop{background:rgba(30,20,16,.38);backdrop-filter:blur(8px)}.sheet-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}.full-btn,.secondary-btn,.danger-btn{width:100%;border-radius:18px;margin-top:10px;background:#2a1c18;color:white;border-color:#2a1c18}.secondary-btn{background:#f4ede8;color:var(--ink);border-color:var(--line)}.danger-btn{background:#fff0f2;color:#a72535;border-color:#ffd4da}.detail-grid{display:grid;gap:10px}.detail-photo{width:100%;max-height:320px;object-fit:cover;border-radius:22px;margin:10px 0 14px;background:#f5ece5}.detail-row{padding:12px;border:1px solid var(--line);border-radius:18px;background:#fff8f4}.detail-row b{display:block;font-size:12px;color:#9a6959;text-transform:uppercase;letter-spacing:.08em;margin-bottom:4px}.detail-row small{display:block;margin-top:6px;color:#74635d;line-height:1.35}.results-content{display:grid;gap:18px;margin-top:16px}.bucket h3{margin:0 0 8px}.result-card{border:1px solid var(--line);border-radius:18px;padding:12px;background:#fff8f4;margin:8px 0}.result-card p{margin:4px 0;color:var(--muted);font-size:13px}.empty{height:100%;display:grid;place-items:center;text-align:center;color:var(--muted);padding:35px}.empty h2{color:var(--ink)}
@media (max-height:760px){.topbar h1{font-size:21px}.deck{margin-top:6px}.photo-wrap{height:61%}.name{font-size:36px}.card.has-photo .name{font-size:32px}.address{font-size:16px}.mini-btn{padding:12px 14px}.gesture-hints{font-size:11px}}
