:root{--ink: #2a3328;--paper: #f6f1e8;--accent: #6b8f71;--line: #ddd2c2}*{box-sizing:border-box}body{margin:0;font-family:"Source Han Serif SC","Noto Serif SC",Songti SC,SimSun,serif;color:var(--ink);background:var(--paper)}.page{min-height:100vh;background:radial-gradient(circle at top,#fff8ee,var(--paper) 45%,#e7efe8)}.hero{padding:28px 6vw 18px;background:linear-gradient(180deg,rgba(107,143,113,.18),transparent)}.nav{display:flex;justify-content:space-between;align-items:center;margin-bottom:28px}.nav strong{font-size:20px;letter-spacing:2px}.links a{color:var(--ink);margin-left:16px;text-decoration:none;opacity:.8}.links a:hover{opacity:1}.hero h1{margin:0;font-size:clamp(2rem,5vw,3.4rem);font-weight:700;letter-spacing:.08em}.hero p{max-width:36rem;opacity:.75;line-height:1.7}.search{display:flex;gap:8px;margin-top:18px;max-width:520px;flex-wrap:wrap}.search input{flex:1;min-width:200px;border:1px solid var(--line);border-radius:999px;padding:10px 14px;font:inherit;background:#fff;color:var(--ink)}.search button{border:0;background:var(--ink);color:#fff;border-radius:999px;padding:10px 16px;cursor:pointer}.search button.ghost{background:#fff;color:var(--ink);border:1px solid var(--line)}.types{display:flex;gap:10px;margin-top:18px;flex-wrap:wrap}.types button{border:1px solid var(--line);background:#fff;padding:8px 16px;border-radius:999px;cursor:pointer}.types button.active{background:var(--ink);color:#fff;border-color:var(--ink)}.main{padding:8px 6vw 48px}.search-tip{margin-bottom:14px;opacity:.7;font-size:14px}.empty{padding:48px 0;text-align:center;opacity:.55}.tabs{display:flex;gap:8px;overflow-x:auto;padding-bottom:14px}.tabs button{border:1px solid var(--line);background:#fffaf2;color:var(--ink);padding:8px 14px;border-radius:999px;cursor:pointer;white-space:nowrap}.tabs button.active{background:var(--accent);color:#fff;border-color:var(--accent)}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px;align-items:stretch}.card{background:#ffffffc7;border:1px solid var(--line);border-radius:14px;padding:16px;display:flex;flex-direction:column;gap:10px;box-shadow:0 10px 30px #3c321e0d;transition:transform .2s ease,box-shadow .2s ease;height:100%;min-height:420px}.card:hover{transform:translateY(-3px);box-shadow:0 16px 36px #3c321e1a}.meta{display:flex;justify-content:space-between;gap:8px;font-size:13px;opacity:.65}.meta span,.meta time{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text{margin:0;white-space:pre-wrap;line-height:1.7;font-size:15px;height:6.8em;overflow:hidden;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;flex:0 0 auto}.media{width:100%;height:180px;border-radius:10px;overflow:hidden;background:#efe8dc;flex:0 0 180px}.media img,.media video{width:100%;height:100%;object-fit:cover;display:block;cursor:pointer;background:#111}.media video{cursor:default;object-fit:contain}.media-empty{display:flex;align-items:center;justify-content:center;color:#9a9080;font-size:13px}.stats{display:flex;gap:8px;flex-wrap:wrap;margin-top:auto;align-items:center}.stats button,.stats .stat{border:0;background:#f0ebe2;border-radius:999px;padding:4px 10px;font-size:12px}.stats button{cursor:pointer}.stats .stat{color:var(--ink);opacity:.85;cursor:default;-webkit-user-select:none;user-select:none}.stats button.like.on{background:#f3d9d4;color:#a0443a}.stats button.copy{margin-left:auto;background:var(--accent);color:#fff}.pager{display:flex;justify-content:center;align-items:center;gap:16px;margin-top:28px}.pager button{border:1px solid var(--line);background:#fff;padding:8px 14px;border-radius:8px;cursor:pointer}.pager button:disabled{opacity:.4;cursor:not-allowed}.lightbox{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;background:#14120ed1;display:flex;align-items:center;justify-content:center;padding:24px}.lightbox img,.lightbox video{max-width:min(960px,96vw);max-height:88vh;border-radius:12px;box-shadow:0 20px 60px #00000059;background:#000}.lightbox-close{position:absolute;top:18px;right:22px;border:0;background:transparent;color:#fff;font-size:36px;line-height:1;cursor:pointer}.toast{position:fixed;left:50%;bottom:28px;transform:translate(-50%);background:#2a3328eb;color:#fff;padding:10px 16px;border-radius:999px;z-index:1100;font-size:14px}@media(max-width:640px){.card{min-height:380px}.stats button.copy{margin-left:0;width:100%}}
