:root{--bg: #f7f6f3;--panel: #ffffff;--panel-soft: #faf9f6;--border: #e4e2dc;--border-soft: #eeece7;--fg: #2b2a26;--fg-dim: #6b6860;--fg-faint: #a3a099;--accent: #4a7c59;--accent-hover: #3d6849;--accent-wash: rgba(74, 124, 89, .08);--danger: #c0392b;--radius: 4px;--mono: "Cascadia Mono", "JetBrains Mono", "SF Mono", Menlo, Consolas, "Courier New", monospace;--sans: -apple-system, BlinkMacSystemFont, "PingFang SC", "Microsoft YaHei", "Noto Sans CJK SC", "Source Han Sans SC", "Segoe UI", sans-serif}*{box-sizing:border-box;margin:0;padding:0}html{color-scheme:light}body{background:var(--bg)!important;color:var(--fg);font-family:var(--sans);font-size:16px;line-height:1.75;letter-spacing:.01em;-webkit-font-smoothing:antialiased}::selection{background:var(--accent-wash);color:var(--fg)}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}header.site{display:flex;align-items:center;gap:24px;padding:0 32px;height:64px;background:var(--panel);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:10}header.site .logo{color:var(--fg);font-weight:700;text-decoration:none;font-size:1.05rem;letter-spacing:-.02em;white-space:nowrap}header.site .logo em{font-style:normal;color:var(--accent)}header.site .search{flex:1;max-width:400px;margin-left:auto}main.site{padding:40px 32px 80px;max-width:960px;margin:0 auto}.center{display:flex;justify-content:center;padding:80px 0}.year{color:var(--fg);font-size:1.35rem;font-weight:700;letter-spacing:-.02em;margin:48px 0 20px;display:flex;align-items:center;gap:16px}.year:first-child{margin-top:0}.year:after{content:"";flex:1;height:1px;background:var(--border)}.thread-list{display:flex;flex-direction:column;margin-bottom:40px}.thread-item{display:flex;align-items:baseline;gap:14px;padding:10px 4px;border-bottom:1px solid var(--border-soft);text-decoration:none;color:var(--fg);transition:border-color .15s}.thread-item:hover{border-bottom-color:var(--accent)}.thread-item .thread-title{font-size:.95rem;font-weight:500;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.thread-item:hover .thread-title{color:var(--accent)}.thread-item .count{font-size:.78rem;color:var(--fg-faint);white-space:nowrap;flex-shrink:0;font-family:var(--mono)}.thread-item .excerpt{font-size:.82rem;color:var(--fg-faint);flex-shrink:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:40%}.pager{display:flex;justify-content:center;margin-top:40px}.thread-page{max-width:600px;margin:0 auto}.thread-head{margin-bottom:32px;padding-bottom:20px;border-bottom:1px solid var(--border)}.thread-head h1{font-size:1.4rem;font-weight:700;letter-spacing:-.02em;line-height:1.5}.thread-head .count-line{color:var(--fg-dim);font-size:.88rem;margin-top:8px}.panel{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:32px;overflow:hidden}.panel summary{padding:14px 20px;cursor:pointer;color:var(--accent);font-weight:600;font-size:.92rem;-webkit-user-select:none;user-select:none;transition:background .15s}.panel summary:hover{background:var(--panel-soft)}.panel pre{padding:0 20px 20px;white-space:pre-wrap;font-family:var(--sans);font-size:.92rem;color:var(--fg);line-height:1.8}.thread-body{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:26px 30px;margin-bottom:32px}.thread-body p{margin:0;font-size:.95rem;line-height:1.9;letter-spacing:.01em;color:var(--fg);white-space:pre-wrap}.thread-body p+p{margin-top:.5em}.image-flow{display:flex;flex-direction:column;gap:24px;margin-bottom:40px}.image-flow figure{position:relative;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.image-flow .img-link{display:block;cursor:zoom-in}.image-flow img{width:100%;height:auto;display:block}.image-flow figcaption{padding:12px 20px;font-size:.85rem;color:var(--fg-dim);border-top:1px solid var(--border-soft);background:var(--panel-soft)}.image-flow .badge{position:absolute;top:12px;right:12px;background:var(--fg);color:#fff;font-size:.7rem;font-weight:600;padding:3px 9px;border-radius:var(--radius);pointer-events:none}.image-flow .badge.bad{background:var(--danger)}.search-page{max-width:760px;margin:0 auto}.search-page .hint{color:var(--fg-dim);font-size:.92rem;text-align:center;padding:80px 0}.search-section{margin-bottom:40px}.search-section h2{font-size:1.05rem;font-weight:700;margin-bottom:12px;color:var(--fg)}.search-section h2 .count-chip{font-size:.78rem;font-weight:500;color:var(--fg-faint);font-family:var(--mono);margin-left:8px}.search-threads .thread-item .excerpt{display:none}.search-images{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:16px}.search-images figure{position:relative;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.search-images .img-link{display:block;height:160px;overflow:hidden;cursor:zoom-in}.search-images .img-link img{width:100%;height:100%;object-fit:cover;object-position:top;display:block}.search-images figcaption{padding:8px 12px;font-size:.78rem;color:var(--fg-dim);border-top:1px solid var(--border-soft);background:var(--panel-soft);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.viewer-title{display:flex;align-items:center;gap:12px;padding:14px 20px;border-bottom:1px solid var(--border-soft);background:var(--panel)}.viewer-title-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:600;color:var(--fg)}.viewer-title-btn{flex-shrink:0}.viewer-body{display:flex;flex-direction:column}.viewer-toolbar{display:flex;align-items:center;gap:12px;padding:10px 20px;border-bottom:1px solid var(--border-soft);background:var(--panel-soft)}.viewer-filename{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.8rem;color:var(--fg-faint)}.viewer-content{display:flex;max-height:70vh;overflow:hidden}.viewer-img-wrap{flex:1;min-width:0;overflow:auto;background:#1c1b19;display:flex;justify-content:center;align-items:flex-start;scrollbar-width:thin;scrollbar-color:#7a7870 transparent}.viewer-img-wrap::-webkit-scrollbar{width:8px;height:8px}.viewer-img-wrap::-webkit-scrollbar-thumb{background:#7a7870;border-radius:4px}.viewer-img-wrap::-webkit-scrollbar-track{background:transparent}.viewer-img-wrap img{display:block;max-width:100%}.viewer-text-panel{width:320px;flex-shrink:0;display:flex;flex-direction:column;border-left:1px solid var(--border);background:var(--panel)}.viewer-text-head{display:flex;align-items:center;gap:8px;padding:10px 16px;border-bottom:1px solid var(--border-soft);background:var(--panel-soft);flex-shrink:0}.viewer-text-label{flex:1;font-size:.85rem;font-weight:600;color:var(--accent)}.viewer-text-pre{flex:1;min-height:0;overflow-y:auto;padding:14px 16px 20px;white-space:pre-wrap;font-family:var(--sans);font-size:.9rem;line-height:1.8;scrollbar-width:thin;scrollbar-color:#c9c6bd transparent}.viewer-text-pre::-webkit-scrollbar{width:8px}.viewer-text-pre::-webkit-scrollbar-thumb{background:#c9c6bd;border-radius:4px}.v-icon{width:14px;height:14px}.panel-fade-enter-active,.panel-fade-leave-active{transition:opacity .15s ease}.panel-fade-enter-from,.panel-fade-leave-to{opacity:0}@media(max-width:720px){.viewer-content{flex-direction:column;max-height:none}.viewer-img-wrap{max-height:60vh}.viewer-text-panel{width:100%;border-left:none;border-top:1px solid var(--border);max-height:40vh}}
