:root{--ink: #161a1d;--muted: #64706b;--line: #cfd8d2;--paper: #f7f5ef;--panel: #fffefa;--accent: #0d5c4d;--accent-2: #b23b2e;--shadow: 0 16px 34px rgba(30, 38, 34, .12);color:var(--ink);background:linear-gradient(90deg,rgba(22,26,29,.035) 1px,transparent 1px),linear-gradient(0deg,rgba(22,26,29,.03) 1px,transparent 1px),var(--paper);background-size:22px 22px;font-family:Avenir Next,PingFang TC,Hiragino Sans,Noto Sans TC,sans-serif}*{box-sizing:border-box}body{margin:0;min-height:100vh}button,a{-webkit-tap-highlight-color:transparent;font:inherit}.app-shell{width:min(100%,520px);min-height:100vh;margin:0 auto;padding:16px 14px 32px}.topbar{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:8px 0 14px}.brand,.source-pill span,.entry-copy p,.result-head p,.card-title p,.reward-detail p{margin:0;color:var(--muted);font-size:12px;font-weight:800;letter-spacing:0}h1,h2,h3{margin:0;letter-spacing:0}h1{max-width:300px;margin-top:5px;font-size:29px;line-height:1.08}.source-pill{flex:0 0 auto;min-width:58px;border:1px solid var(--ink);border-radius:8px;padding:7px 8px;background:var(--panel);box-shadow:4px 4px 0 var(--ink);text-align:center}.source-pill strong{display:block;margin-top:2px;font-size:13px}.entry-panel{position:sticky;top:0;z-index:4;margin:0 -14px;padding:10px 14px 12px;border-top:1px solid rgba(22,26,29,.08);border-bottom:1px solid rgba(22,26,29,.08);background:#f7f5eff5;backdrop-filter:blur(14px)}.entry-copy{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:10px}.entry-copy strong{color:var(--accent);font-size:18px}.category-scroller{display:flex;gap:8px;overflow-x:auto;padding-bottom:2px;scrollbar-width:none}.category-scroller::-webkit-scrollbar{display:none}.category-button{flex:0 0 84px;min-height:58px;border:1px solid var(--line);border-radius:8px;padding:8px 9px;background:var(--panel);color:var(--ink);text-align:left}.category-button span,.category-button small{display:block}.category-button span{font-size:18px;font-weight:900;line-height:1.05}.category-button small{margin-top:6px;color:var(--muted);font-size:11px;font-weight:800}.category-button.is-active{border-color:var(--ink);background:var(--accent);color:#fff;box-shadow:3px 3px 0 var(--ink)}.category-button.is-active small{color:#d7eee8}.result-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;padding:18px 0 12px}.result-head h2{margin-top:3px;font-size:19px;line-height:1.25}.hint{max-width:180px;text-align:right;line-height:1.35}.card-list{display:grid;gap:12px}.reward-card{border:1px solid var(--ink);border-radius:8px;padding:12px;background:var(--panel);box-shadow:var(--shadow)}.card-face{display:grid;grid-template-columns:92px 1fr;gap:12px;align-items:center}.card-image-wrap{display:grid;min-height:62px;place-items:center;border:1px solid var(--line);border-radius:6px;background:#eff1e8;overflow:hidden}.card-image-wrap img{width:82px;max-height:54px;object-fit:contain;filter:drop-shadow(0 8px 10px rgba(22,26,29,.18))}h3{margin-top:3px;font-size:18px;line-height:1.2}.card-title span{display:block;margin-top:6px;color:#535d59;font-size:13px;line-height:1.45}.reward-box{margin-top:12px}.reward-detail{display:none;border-top:1px solid var(--ink);padding-top:12px}.reward-detail.is-visible{display:grid;grid-template-columns:108px 1fr;gap:12px;align-items:start}.reward-detail strong{display:block;margin-top:4px;color:var(--accent-2);font-size:25px;line-height:1}.reward-detail span{display:block;color:#4d5753;font-size:13px;line-height:1.48}.tag-row{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}.tag-row span{border:1px solid #d6d5c9;border-radius:6px;padding:4px 7px;background:#f1efe5;color:#53605b;font-size:12px;font-weight:800}.bank-link{display:block;margin-top:12px;border-top:1px solid #e0ded1;padding-top:10px;color:var(--accent);font-size:14px;font-weight:900;text-decoration:none}.empty-state{border:1px dashed var(--ink);border-radius:8px;padding:24px 14px;background:var(--panel);color:var(--muted);text-align:center}.empty-state p{margin:0}[hidden]{display:none!important}@media(min-width:760px){.app-shell{width:min(100%,860px);padding-inline:24px}.entry-panel{margin-inline:-24px;padding-inline:24px}.card-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
