:root{--bg:#f4f4f5;--card:#fff;--ink:#18181b;--ink-2:#52525b;--ink-3:#a1a1aa;--line:#e4e4e7;--accent:#2563eb;--accent-weak:#dbeafe;--radius:12px}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;margin:0;padding:0}html{-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,PingFang SC,Helvetica Neue,sans-serif;font-size:15px;line-height:1.5}.app{background:var(--bg);max-width:480px;min-height:100vh;margin:0 auto}.appbar{z-index:10;background:var(--bg);padding:12px 16px 8px;position:sticky;top:0}.search-box{background:var(--card);border:1px solid var(--line);border-radius:10px;align-items:center;gap:8px;padding:10px 12px;display:flex}.search-box:focus-within{border-color:var(--accent)}.search-box svg{width:18px;height:18px;stroke:var(--ink-3);flex:none}.search-box input{color:var(--ink);background:0 0;border:0;outline:0;flex:1;font-size:15px}.clear-btn{background:var(--line);color:var(--ink-2);cursor:pointer;border:0;border-radius:50%;width:20px;height:20px;font-size:12px;line-height:20px;display:none}.search-box.has-value .clear-btn{display:block}.chip-row{scrollbar-width:none;gap:8px;padding:8px 16px 2px;display:flex;overflow-x:auto}.chip-row::-webkit-scrollbar{display:none}.chip{border:1px solid var(--line);background:var(--card);color:var(--ink-2);cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:999px;flex:none;padding:5px 13px;font-size:13px}.chip.on{background:var(--accent);border-color:var(--accent);color:#fff}.chip-label{color:var(--ink-3);padding:6px 16px 0;font-size:12px}.result-count{color:var(--ink-3);padding:8px 16px 4px;font-size:12px}.result-count b{color:var(--ink-2);font-weight:600}.card-list{flex-direction:column;gap:10px;padding:8px 16px 90px;display:flex}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);cursor:pointer;gap:12px;padding:10px;display:flex}.card:active{background:#fafafa}.card .thumb{background:var(--line);border-radius:8px;flex:none;width:88px;height:88px;overflow:hidden}.card .thumb img{object-fit:cover;width:100%;height:100%;display:block}.card .meta{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.name-zh{font-size:15px;font-weight:600}.name-en{color:var(--ink-3);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.tags{flex-wrap:wrap;gap:5px;margin-top:auto;display:flex}.tag{background:var(--accent-weak);color:var(--accent);border-radius:6px;padding:2px 8px;font-size:11px}.tag.plain{background:var(--line);color:var(--ink-2)}img.skeleton{background:linear-gradient(100deg,#e4e4e7 40%,#f4f4f5 50%,#e4e4e7 60%) 0 0/200% 100%;animation:1.2s infinite shimmer}@keyframes shimmer{to{background-position:-200% 0}}.empty{text-align:center;color:var(--ink-2);padding:56px 24px}.empty .big{margin-bottom:8px;font-size:34px}.empty p{color:var(--ink-3);margin-bottom:16px;font-size:13px}.empty button{background:var(--accent);color:#fff;cursor:pointer;border:0;border-radius:8px;padding:8px 20px;font-size:14px}.list-end{text-align:center;color:var(--ink-3);padding:4px 0 90px;font-size:12px}.detail-bar{z-index:5;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--line);background:#f4f4f5eb;align-items:center;gap:8px;padding:12px 16px;display:flex;position:sticky;top:0}.back-btn{background:var(--card);border:0;border:1px solid var(--line);cursor:pointer;width:32px;height:32px;color:var(--ink);border-radius:8px;font-size:16px}.detail-bar .t{font-size:15px;font-weight:600}.detail-body{padding:16px}.photos{grid-template-columns:1fr 1fr;gap:10px;display:grid}.photos figure{position:relative}.photos img{aspect-ratio:3/4;object-fit:cover;background:var(--line);border-radius:10px;width:100%;display:block}.photos figcaption{color:#fff;background:#18181bb8;border-radius:6px;padding:2px 8px;font-size:11px;position:absolute;bottom:8px;left:8px}.d-name-zh{margin-top:14px;font-size:20px;font-weight:700}.d-name-en{color:var(--ink-3);margin-bottom:12px;font-size:13px}.d-sec{margin-top:16px}.d-sec h3{color:var(--ink-3);margin-bottom:8px;font-size:13px;font-weight:500}.d-tags{flex-wrap:wrap;gap:8px;display:flex}.d-tag{background:var(--accent-weak);color:var(--accent);cursor:pointer;border:0;border-radius:8px;padding:5px 12px;font-size:13px}.d-tag.plain{background:var(--card);color:var(--ink-2);border:1px solid var(--line);cursor:default}.steps{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:14px 16px}.steps li{color:var(--ink-2);margin-left:18px;padding:4px 0;font-size:14px}.not-found{text-align:center;color:var(--ink-2);padding:80px 24px}@media (width>=900px){.app{max-width:960px;padding:0 24px}.card-list{grid-template-columns:1fr 1fr;gap:12px;display:grid}}
