:root{--font-display:-apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", "微软雅黑", "Helvetica Neue", system-ui, sans-serif;--font-body:-apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", "微软雅黑", "Helvetica Neue", system-ui, sans-serif;--font-mono:-apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", "微软雅黑", "Helvetica Neue", system-ui, sans-serif;--bg:#f8f4ed;--bg-soft:#f1ece2;--bg-card:#fff;--ink:#1f1b17;--ink-2:#4a4239;--ink-3:#8a7f71;--ink-4:#bfb5a6;--line:#e8dfd1;--line-2:#d8ccb8;--accent:#fd7364;--accent-soft:#ffe4df;--tag-bg:#efe7d8;--tag-ink:#6b5e4c;--meta-ink:#8a7f71;--neon:#3ddb6e;--neon-soft:#dcfbe5;--highlight:#ffe8a3;--green:#3f5b3a;--rose:#a24b3d;--slate:#5b7c99;--r-xs:4px;--r-sm:8px;--r-md:12px;--r-lg:18px;--r-xl:28px;--shadow-1:0 1px 2px #1f1b170a, 0 2px 6px #1f1b170a;--shadow-2:0 2px 4px #1f1b170f, 0 8px 20px #1f1b170f;--shadow-3:0 4px 12px #1f1b1714, 0 16px 40px #1f1b171a;--gap-xs:6px;--gap-sm:10px;--gap-md:16px;--gap-lg:24px;--gap-xl:40px;--card-padding:14px;--card-radius:var(--r-md);--card-gap:12px}*{box-sizing:border-box}html,body{margin:0;padding:0}a,button,[role=button],.tab,.chip,.nav-tab,.top-icon-btn,.avatar,.btn-primary,.btn-ghost,.btn-danger{-webkit-tap-highlight-color:transparent}body{font-family:var(--font-body);background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;min-height:100vh;font-size:14px;line-height:1.55}button{cursor:pointer;color:inherit;background:0 0;border:none;padding:0;font-family:inherit}input,textarea,select{color:inherit;font-family:inherit}a{color:inherit;text-decoration:none}.serif{font-family:var(--font-display)}.mono{font-family:var(--font-mono);font-feature-settings:"tnum"}.muted{color:var(--ink-3)}.muted-2{color:var(--ink-4)}.dot-sep{background:var(--ink-4);vertical-align:middle;border-radius:50%;width:3px;height:3px;margin:0 8px;display:inline-block}.hr{background:var(--line);border:none;height:1px;margin:0}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--line-2);border:2px solid var(--bg);border-radius:999px}::-webkit-scrollbar-thumb:hover{background:var(--ink-4)}.app{background:var(--bg);min-height:100vh;padding-bottom:0}.topnav{z-index:50;-webkit-backdrop-filter:saturate(140%)blur(14px);border-bottom:1px solid var(--line);background:#f8f4edd9;position:sticky;top:0}.topnav-inner{flex-wrap:nowrap;align-items:center;gap:20px;min-width:0;max-width:1440px;margin:0 auto;padding:14px 28px;display:flex}.brand{cursor:pointer;white-space:nowrap;background:0 0;border:none;flex-shrink:0;align-items:center;gap:10px;margin-right:8px;padding:0;display:flex}.brand-logo{-webkit-user-select:none;user-select:none;-webkit-user-drag:none;width:auto;height:32px;display:block}@media (max-width:720px){.brand-logo{height:26px}}.nav-tabs{flex-shrink:0;gap:4px;display:flex}.nav-tab{white-space:nowrap;color:var(--ink-2);border-radius:999px;padding:8px 14px;font-size:14px;transition:all .15s}.nav-tab:hover{background:var(--bg-soft);color:var(--ink)}.nav-tab.active{background:var(--ink);color:var(--bg)}.nav-tabs-spacer{flex:1}.nav-actions{flex-shrink:0;align-items:center;gap:10px;display:flex}.btn-ghost{border:1px solid var(--line-2);color:var(--ink);white-space:nowrap;background:0 0;border-radius:999px;flex-shrink:0;padding:8px 14px;font-size:13px;transition:all .15s}.btn-ghost:hover{background:var(--bg-soft);border-color:var(--ink-3)}.btn-ghost:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--accent);color:#fff;white-space:nowrap;border:none;border-radius:999px;flex-shrink:0;padding:8px 16px;font-size:13px;font-weight:500;transition:all .15s}.btn-primary:hover{filter:brightness(.95);transform:translateY(-1px)}.btn-primary:disabled{opacity:.5;cursor:not-allowed;filter:grayscale(.3);transform:none}.avatar{background:linear-gradient(135deg, var(--accent), var(--rose));color:#fff;cursor:pointer;border:2px solid #0000;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:12px;font-weight:600;transition:all .15s;display:inline-flex}.avatar:hover{transform:scale(1.06)}.avatar.active{border-color:var(--ink);box-shadow:0 0 0 2px var(--bg)}.avatar>img,.mini-avatar>img{object-fit:cover;border-radius:50%;width:100%;height:100%;display:block}.searchbar{background:var(--bg-card);border:1px solid var(--line);border-radius:999px;flex:240px;align-items:center;gap:8px;min-width:140px;max-width:320px;padding:7px 14px;transition:border-color .15s;display:flex}.searchbar:focus-within{border-color:var(--ink-3)}.searchbar input{color:var(--ink);background:0 0;border:none;outline:none;flex:1;min-width:0;font-family:inherit;font-size:13px}.searchbar input::placeholder{color:var(--ink-4)}.searchbar .icon{color:var(--ink-3);font-size:14px}.page{max-width:1440px;margin:0 auto;padding:24px 28px 80px}.page-narrow{max-width:980px;margin:0 auto;padding:24px 28px 80px}.page-hero{border-bottom:1px solid var(--line);text-align:center;margin-bottom:18px;padding:12px 0 26px}.page-hero h1{font-family:var(--font-display);letter-spacing:-.015em;margin:0 0 6px;font-size:30px;font-weight:600}.page-hero .sub{color:var(--ink-3);margin:0;font-size:14px}.plaza-toolbar{border-bottom:1px solid var(--line);flex-direction:column;gap:14px;margin-bottom:24px;padding:4px 0 22px;display:flex}.plaza-toolbar .row{scrollbar-width:none;flex-wrap:nowrap;align-items:center;gap:8px;min-width:0;display:flex;overflow-x:auto}.plaza-toolbar .row::-webkit-scrollbar{display:none}.plaza-toolbar .row .label{font-family:var(--font-mono);color:var(--ink-3);letter-spacing:.05em;text-transform:uppercase;white-space:nowrap;flex-shrink:0;min-width:36px;margin-right:4px;font-size:11px}.plaza-toolbar .row .spacer{flex:1}.plaza-toolbar .row .layout-toggle{flex-shrink:0;margin-left:auto}.chip{border:1px solid var(--line-2);color:var(--ink-2);white-space:nowrap;background:0 0;border-radius:999px;padding:6px 12px;font-size:12.5px;transition:all .12s}.chip:hover{background:var(--bg-soft)}.chip.active{background:var(--ink);color:var(--bg);border-color:var(--ink)}.layout-toggle{border:1px solid var(--line-2);background:var(--bg-card);border-radius:999px;padding:3px;display:inline-flex}.layout-toggle button{white-space:nowrap;color:var(--ink-3);font-size:12px;font-family:var(--font-mono);border-radius:999px;flex-shrink:0;padding:5px 12px}.layout-toggle button.active{background:var(--ink);color:var(--bg)}.masonry{column-count:5;column-gap:var(--card-gap)}@media (max-width:1500px){.masonry{column-count:4}}@media (max-width:1180px){.masonry{column-count:3}}@media (max-width:820px){.masonry{column-count:2}}@media (max-width:480px){.masonry{column-count:2;--card-gap:8px}}.masonry-item{break-inside:avoid;margin-bottom:var(--card-gap);max-width:100%}.grid-3{gap:var(--card-gap);grid-template-columns:repeat(3,1fr);display:grid}@media (max-width:1100px){.grid-3{grid-template-columns:repeat(2,1fr)}}@media (max-width:700px){.grid-3{grid-template-columns:1fr}}.list-stream{border-top:1px solid var(--line);flex-direction:column;gap:0;display:flex}.list-row{border-bottom:1px solid var(--line);cursor:pointer;grid-template-columns:56px 1fr 130px;gap:16px;padding:18px 4px;transition:background .12s;display:grid}.list-row:hover{background:var(--bg-soft)}.list-row .num{font-family:var(--font-mono);color:var(--ink-4);text-align:right;padding-top:2px;font-size:14px}.list-row .main h3{font-family:var(--font-display);margin:0 0 4px;font-size:16px;font-weight:600}.list-row .main p{color:var(--ink-2);margin:0 0 6px;font-size:13px;line-height:1.5}.list-row .main .row-meta{color:var(--ink-3);font-size:11.5px;font-family:var(--font-mono);flex-wrap:wrap;align-items:center;gap:10px;display:flex}.list-row .right-stats{text-align:right;font-family:var(--font-mono);color:var(--ink-3);flex-direction:column;align-items:flex-end;gap:3px;font-size:11.5px;display:flex}.list-row .right-stats .big{color:var(--ink);font-size:22px;font-weight:600;line-height:1}@media (max-width:700px){.list-row{grid-template-columns:36px 1fr}.list-row .right-stats{display:none}}.xhs-card{background:var(--bg-card);border-radius:var(--card-radius);cursor:pointer;box-shadow:var(--shadow-1);border:1px solid var(--line);min-width:0;max-width:100%;transition:transform .18s,box-shadow .18s;overflow:hidden}.xhs-card:hover{box-shadow:var(--shadow-2);transform:translateY(-3px)}.xhs-cover-wrap{position:relative}.xhs-cover{width:100%;font-family:var(--font-mono);justify-content:center;align-items:center;font-size:13px;display:flex;position:relative;overflow:hidden}.xhs-cover:before{content:"";pointer-events:none;background:repeating-linear-gradient(45deg,#ffffff12 0 14px,#0000 14px 28px);position:absolute;inset:0}.xhs-cover.image{background-position:50%;background-size:cover;overflow:hidden}.xhs-cover.image:before{display:none}.xhs-cover-img{object-fit:cover;object-position:center;pointer-events:none;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;width:100%;height:100%;display:block}.xhs-cover.note{color:#6e4520;background:#f1ecdd;border-bottom:1px solid #785a321a;flex-direction:column;justify-content:center;padding:28px 22px 26px;display:flex}.xhs-cover.note:before{display:none}.xhs-cover.note .note-title{font-family:"Noto Serif SC", "Source Han Serif SC", "Songti SC", "宋体", var(--font-display), serif;letter-spacing:.01em;-webkit-line-clamp:3;color:#6e4520;text-shadow:0 1px #fff5e180;-webkit-box-orient:vertical;margin-bottom:14px;font-size:26px;font-weight:900;line-height:1.22;display:-webkit-box;position:relative;overflow:hidden}.xhs-cover.note .note-sub{font-family:"Noto Serif SC", "Source Han Serif SC", "Songti SC", "宋体", var(--font-display), serif;-webkit-line-clamp:5;color:#9a7045;-webkit-box-orient:vertical;font-size:13px;font-weight:500;line-height:1.65;display:-webkit-box;position:relative;overflow:hidden}.xhs-cover.note .note-glyph{font-family:var(--font-mono);letter-spacing:.12em;opacity:.4;color:#9a7045;font-size:14px;position:absolute;bottom:12px;right:14px}.cover-pill{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);font-family:var(--font-mono);letter-spacing:.04em;color:var(--ink);z-index:2;background:#ffffffeb;border-radius:999px;padding:3px 9px;font-size:10px;font-weight:600;position:absolute;top:10px}.cover-pill.left{left:10px}.cover-pill.right{right:10px}.cover-pill.repost{color:#f5ede0;background:#6b4f36}.cover-pill.feedback{background:var(--accent);color:#fff;align-items:center;gap:4px;display:flex}.cover-pill.feedback:before{content:"●";font-size:7px}.xhs-body{padding:var(--card-padding);min-width:0;max-width:100%;overflow:hidden}.xhs-title{font-family:var(--font-display);letter-spacing:-.005em;color:var(--ink);-webkit-line-clamp:2;word-break:break-word;-webkit-box-orient:vertical;margin:0 0 6px;font-size:15.5px;font-weight:600;line-height:1.4;display:-webkit-box;overflow:hidden}.xhs-desc{color:var(--ink-2);-webkit-line-clamp:2;word-break:break-word;-webkit-box-orient:vertical;margin:0 0 10px;font-size:12.5px;line-height:1.5;display:-webkit-box;overflow:hidden}.xhs-tags{flex-wrap:wrap;align-items:center;gap:4px;margin-top:4px;display:flex}.xhs-tag{font-family:var(--font-mono);color:var(--ink-3);background:var(--bg-soft);letter-spacing:.02em;border-radius:999px;padding:2px 7px;font-size:10px}.award-badge{letter-spacing:.04em;white-space:nowrap;border:1px solid #0000;border-radius:999px;align-items:center;gap:4px;padding:3px 9px;font-size:11px;font-weight:700;line-height:1.3;display:inline-flex}.award-badge .award-icon{font-size:10px;line-height:1}.award-badge.gold{color:#4a3216;text-shadow:0 1px #ffebb466;background:linear-gradient(135deg,#ffe39a 0%,#e5b645 50%,#c99a3d 100%);border-color:#c99a3d}.award-badge.silver{color:#2a3038;background:linear-gradient(135deg,#f0f2f5 0%,#c5ccd3 50%,#a8b0b9 100%);border-color:#a8b0b9}.award-badge.bronze{color:#fff;background:linear-gradient(135deg,#e8b795 0%,#c28250 50%,#9a5f33 100%);border-color:#9a5f33}.award-badge.award{background:var(--accent-soft);color:var(--rose);border-color:var(--accent-soft)}.xhs-tags .award-badge{padding:2px 8px;font-size:10px}.xhs-tags .award-badge .award-icon{font-size:9px}.xhs-meta{font-family:var(--font-mono);color:var(--ink-3);border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:8px;min-width:0;min-height:22px;margin-top:10px;padding-top:10px;font-size:11px;line-height:1;display:flex}.xhs-meta .author{flex:auto;align-items:center;gap:6px;min-width:0;display:flex;overflow:hidden}.xhs-meta .author>:not(.mini-avatar){white-space:nowrap;text-overflow:ellipsis;min-width:0;overflow:hidden}.xhs-meta .mini-avatar{background:var(--tag-bg);width:18px;height:18px;color:var(--tag-ink);border:1px solid var(--line);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:9px;font-weight:700;display:inline-flex}.xhs-meta .stats{flex-shrink:0;align-items:center;gap:10px;display:flex}.xhs-meta .stat{cursor:pointer;align-items:center;gap:3px;display:inline-flex}.xhs-meta .heart{color:var(--accent)}.xhs-meta .heart.active{color:var(--accent);font-weight:700}.card-top-comment{background:var(--bg-soft);color:var(--ink-2);border-left:2px solid var(--line-2);border-radius:8px;flex-direction:column;gap:2px;margin-top:8px;padding:7px 10px;font-size:12px;line-height:1.5;display:flex}.card-top-comment.bot{background:linear-gradient(180deg, #6284ff0f, var(--bg-soft));border-left-color:var(--accent)}.card-top-comment .ctc-author{color:var(--ink-3);letter-spacing:.02em;align-items:center;gap:6px;font-size:10.5px;font-weight:600;display:inline-flex}.card-top-comment .ctc-bot-tag{background:var(--accent);color:#fff;letter-spacing:.04em;border-radius:999px;align-items:center;padding:2px 5px;font-size:9px;font-weight:700;line-height:1;display:inline-flex}.card-top-comment .ctc-likes{color:var(--accent);font-weight:600}.card-top-comment .ctc-body{color:var(--ink);-webkit-line-clamp:2;word-break:break-word;-webkit-box-orient:vertical;font-size:12.5px;display:-webkit-box;overflow:hidden}.badge{font-size:11px;font-family:var(--font-mono);letter-spacing:.02em;background:var(--bg-soft);color:var(--ink-2);border:1px solid var(--line);border-radius:999px;align-items:center;gap:4px;padding:3px 8px;display:inline-flex}.badge.solid{background:var(--ink);color:var(--bg);border-color:var(--ink)}.badge.accent{background:var(--tag-bg);color:var(--tag-ink);border-color:#0000}.empty{text-align:center;color:var(--ink-3);padding:60px 20px}.empty .glyph{font-family:var(--font-mono);color:var(--ink-4);margin-bottom:8px;font-size:28px}.toast{background:var(--ink);color:var(--bg);z-index:200;box-shadow:var(--shadow-3);pointer-events:none;border-radius:999px;padding:10px 18px;font-size:13px;animation:.25s slideup;position:fixed;bottom:32px;left:50%;transform:translate(-50%)}.confirm-backdrop{z-index:220;background:#1f1b1773;justify-content:center;align-items:center;padding:24px;animation:.14s ease-out lightbox-fade;display:flex;position:fixed;inset:0}.confirm-card{background:var(--bg-card);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-3);width:100%;max-width:380px;padding:22px 22px 18px;animation:.18s ease-out slideup}.confirm-title{color:var(--ink);margin-bottom:8px;font-size:16px;font-weight:600}.confirm-message{color:var(--ink-2);margin-bottom:18px;font-size:14px;line-height:1.55}.confirm-actions{justify-content:flex-end;gap:8px;display:flex}.confirm-actions .btn-ghost,.confirm-actions .btn-primary,.confirm-actions .btn-danger{padding:8px 16px;font-size:13px}.btn-danger{color:#fff;cursor:pointer;background:#c24a3d;border:1px solid #c24a3d;border-radius:999px;padding:8px 14px;font-size:13px;transition:background .12s,transform .12s}.btn-danger:hover{background:#a93b30}.btn-danger:active{transform:scale(.97)}.btn-danger:disabled{opacity:.55;cursor:not-allowed}.scrim{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:100;background:#1f1b1773;justify-content:center;align-items:center;animation:.18s fadein;display:flex;position:fixed;inset:0}@keyframes fadein{0%{opacity:0}to{opacity:1}}@keyframes slideup{0%{opacity:0;transform:translateY(20px)translate(-50%)}to{opacity:1;transform:translateY(0)translate(-50%)}}.top-icon-btn{border:1px solid var(--line);background:var(--bg-card);width:38px;height:38px;color:var(--ink);border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;transition:background .12s,transform .12s;display:none}.top-icon-btn:active{background:var(--bg-soft);transform:scale(.96)}.top-icon-btn.invisible{visibility:hidden;pointer-events:none}.inbox-btn{border:1px solid var(--line);background:var(--bg-card);width:38px;height:38px;color:var(--ink);border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;transition:background .12s,transform .12s;display:inline-flex;position:relative}.inbox-btn:hover{background:var(--bg-soft)}.inbox-btn.active{border-color:var(--ink)}.inbox-btn.mobile-only{display:none}.inbox-badge{background:var(--rose,#e0245e);color:#fff;text-align:center;border:2px solid var(--bg-card);min-width:18px;height:18px;font-size:10.5px;font-weight:600;line-height:18px;font-family:var(--font-mono);border-radius:999px;padding:0 5px;position:absolute;top:-4px;right:-4px}.event-strip{z-index:30;border-bottom:1px solid var(--line);color:var(--ink);background:linear-gradient(135deg,#fff7e6 0%,#fff2d4 100%);align-items:center;gap:12px;padding:10px 16px;font-size:13px;display:flex;position:sticky;top:60px;overflow-x:auto}.event-strip-pill{background:var(--rose,#e0245e);color:#fff;letter-spacing:.04em;font-size:10.5px;font-weight:700;font-family:var(--font-mono);border-radius:999px;flex-shrink:0;padding:3px 9px}.event-strip-title{flex-shrink:0;font-weight:600}.event-strip-blurb{color:var(--ink-2);text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.event-strip-cta{color:var(--accent);font-weight:600;font-family:var(--font-mono);flex-shrink:0;font-size:12px}.event-detail .event-back{margin-bottom:14px;display:inline-block}.event-hero{border-bottom:1px solid var(--line);margin-bottom:18px;padding:22px 0 18px}.event-hero-row{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:10px;display:flex}.event-pill{font-size:11px;font-weight:700;font-family:var(--font-mono);letter-spacing:.04em;border-radius:999px;padding:4px 10px}.event-pill-live{background:var(--rose,#e0245e);color:#fff}.event-pill-upcoming{background:var(--bg-soft);color:var(--ink-2);border:1px solid var(--line)}.event-pill-ended{background:var(--ink-4,#c8c0b3);color:#fff}.event-countdown{font-family:var(--font-mono);color:var(--ink-2);font-size:13px}.event-title{font-family:var(--font-display);letter-spacing:-.01em;margin:0 0 6px;font-size:28px}.event-blurb{color:var(--ink-2);margin:0;font-size:14px;line-height:1.55}.event-section{margin-bottom:26px}.event-section h2{font-size:14px;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.06em;color:var(--ink-3);align-items:baseline;gap:10px;margin:0 0 10px;display:flex}.event-section-meta{color:var(--ink-3);text-transform:none;letter-spacing:0;font-size:11px}.event-section p{color:var(--ink-2);margin:0;font-size:14px;line-height:1.7}.event-howto ol{color:var(--ink-2);margin:0;padding-left:22px;font-size:14px;line-height:1.85}.event-howto li{margin-bottom:4px}.event-tag{background:var(--bg-soft);border:1px solid var(--line-2);font-family:var(--font-mono);color:var(--ink);border-radius:5px;padding:1px 7px;font-size:12.5px;display:inline-block}.event-leaderboard{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.leaderboard-row{border-radius:var(--r-md);background:var(--bg-card);border:1px solid var(--line);cursor:pointer;grid-template-columns:56px 1fr auto;align-items:center;gap:14px;padding:12px 16px;transition:transform .12s,border-color .12s;display:grid}.leaderboard-row:hover{border-color:var(--ink-3);transform:translate(2px)}.leaderboard-row.gold{background:linear-gradient(90deg,#fff8d6 0%,#fffefa 60%);border-color:#e3c156}.leaderboard-row.silver{background:linear-gradient(90deg,#f0f0f0 0%,#fcfcfc 60%);border-color:silver}.leaderboard-row.bronze{background:linear-gradient(90deg,#f7e1c5 0%,#fff8f0 60%);border-color:#b97a3d}.leaderboard-rank{flex-direction:column;align-items:center;gap:2px;display:flex}.rank-num{font-family:var(--font-display);color:var(--ink-3);font-size:22px;font-weight:700;line-height:1}.gold .rank-num{color:#b8860b}.silver .rank-num{color:#6c6c6c}.bronze .rank-num{color:#8a4f1f}.rank-medal{font-size:10px;font-weight:700;font-family:var(--font-mono);letter-spacing:.04em;border-radius:999px;padding:1px 6px}.rank-medal.gold{color:#6e4f00;background:#ffd84a}.rank-medal.silver{color:#3a3a3a;background:#d8d8d8}.rank-medal.bronze{color:#fff;background:#c97a3a}.leaderboard-main{min-width:0}.leaderboard-title{color:var(--ink);white-space:nowrap;text-overflow:ellipsis;font-size:15.5px;font-weight:600;overflow:hidden}.leaderboard-short{color:var(--ink-2);-webkit-line-clamp:1;-webkit-box-orient:vertical;margin-top:2px;font-size:12.5px;display:-webkit-box;overflow:hidden}.leaderboard-meta{color:var(--ink-3);font-size:11px;font-family:var(--font-mono);margin-top:4px}.leaderboard-likes{align-items:center;gap:6px;display:flex}.like-btn{background:var(--bg);border:1px solid var(--line-2);width:36px;height:36px;color:var(--ink-2);border-radius:50%;justify-content:center;align-items:center;font-size:18px;line-height:1;transition:transform .12s,color .12s,border-color .12s;display:inline-flex}.like-btn:hover{color:var(--rose,#e0245e);border-color:var(--rose,#e0245e)}.like-btn.liked{color:var(--rose,#e0245e);border-color:var(--rose,#e0245e);background:#fdecf0}.like-btn:active{transform:scale(.92)}.like-btn:disabled{opacity:.5;cursor:not-allowed}.like-count{font-family:var(--font-mono);text-align:right;min-width:24px;color:var(--ink);font-size:14px;font-weight:700}.like-total{font-family:var(--font-mono);color:var(--ink-3);font-size:10.5px}@media (max-width:720px){.event-strip{gap:8px;padding:8px 12px;font-size:12px;top:0}.event-title{font-size:22px}.leaderboard-row{grid-template-columns:44px 1fr auto;gap:10px;padding:10px 12px}.rank-num{font-size:18px}.like-btn{width:32px;height:32px;font-size:16px}}.dm-shell{border:1px solid var(--line);border-radius:var(--r-md);background:var(--bg-card);grid-template-columns:280px 1fr;gap:0;height:calc(100vh - 70px);display:grid;overflow:hidden}.dm-list{border-right:1px solid var(--line);background:var(--bg);overflow-y:auto}.dm-list-item{cursor:pointer;border-bottom:1px solid var(--line);align-items:center;gap:10px;padding:12px 14px;transition:background .12s;display:flex}.dm-list-item:hover,.dm-list-item.active{background:var(--bg-soft)}.dm-list-item .avatar{width:36px;height:36px;font-size:14px}.dm-list-item .who{color:var(--ink);font-size:13.5px;font-weight:600}.dm-list-item .preview{color:var(--ink-3);text-overflow:ellipsis;white-space:nowrap;max-width:200px;margin-top:2px;font-size:12px;overflow:hidden}.dm-list-item .unread-dot{background:var(--accent);color:#fff;text-align:center;min-width:18px;height:18px;font-size:10.5px;font-weight:600;line-height:18px;font-family:var(--font-mono);border-radius:999px;margin-left:auto;padding:0 5px}.dm-pane{flex-direction:column;min-width:0;display:flex}.dm-header{border-bottom:1px solid var(--line);align-items:center;gap:10px;padding:14px 18px;font-size:14px;font-weight:600;display:flex}.dm-stream{flex-direction:column;flex:1;gap:8px;padding:16px 18px;display:flex;overflow-y:auto}.dm-msg{word-wrap:break-word;border-radius:14px;max-width:70%;padding:8px 12px;font-size:13.5px;line-height:1.5}.dm-msg.mine{background:var(--accent);color:#fff;border-bottom-right-radius:4px;align-self:flex-end}.dm-msg.theirs{background:var(--bg-soft);color:var(--ink);border:1px solid var(--line);border-bottom-left-radius:4px;align-self:flex-start}.dm-msg .md>:first-child{margin-top:0}.dm-msg .md>:last-child{margin-bottom:0}.dm-msg .md img{border-radius:8px;max-width:min(240px,100%);height:auto;margin-top:8px;display:block}.dm-msg-time{color:var(--ink-3);font-size:10.5px;font-family:var(--font-mono);margin-top:2px}.dm-composer{border-top:1px solid var(--line);gap:8px;padding:12px 14px;display:flex}.dm-composer textarea{resize:none;border:1px solid var(--line-2);background:var(--bg);color:var(--ink);border-radius:10px;flex:1;min-height:40px;max-height:140px;padding:10px 12px;font-family:inherit;font-size:13.5px}@media (max-width:720px){.dm-shell{grid-template-columns:1fr;height:calc(100vh - 110px)}.dm-shell.show-pane .dm-list,.dm-shell:not(.show-pane) .dm-pane{display:none}}.mobile-bottom-nav{display:none}@media (max-width:720px){.topnav-inner{grid-template-columns:38px 1fr 38px 38px;align-items:center;gap:8px;padding:10px 16px;display:grid!important}.nav-tabs,.searchbar,.nav-tabs-spacer,.nav-actions{display:none!important}.top-icon-btn.mobile-only{display:inline-flex}.inbox-btn.mobile-only{display:inline-flex!important}.brand{justify-self:center;margin:0}.brand-logo{height:45px}.page{padding:14px 10px 110px}.page-hero,.plaza-toolbar{display:none}.mobile-bottom-nav{z-index:60;-webkit-backdrop-filter:saturate(140%)blur(14px);border-top:1px solid var(--line);padding:8px 0 calc(8px + env(safe-area-inset-bottom));background:#f8f4edf5;grid-template-columns:repeat(5,1fr);align-items:center;display:grid;position:fixed;bottom:0;left:0;right:0}.mobile-bottom-nav .tab{height:56px;color:var(--ink-3);flex-direction:column;justify-content:center;align-items:center;gap:4px;padding:0;font-size:11px;display:flex}.mobile-bottom-nav .tab.active{color:var(--ink);font-weight:600}.mobile-bottom-nav .tab .glyph{font-size:18px;line-height:1}.mobile-bottom-nav .tab .glyph.nav-svg{width:26px;height:26px;color:var(--ink-3);transition:color .15s;display:block}.mobile-bottom-nav .tab.active .glyph.nav-svg{color:var(--ink)}.mobile-bottom-nav .tab .glyph.nav-img{object-fit:contain;opacity:.6;width:38px;height:38px;transition:opacity .15s;display:block}.mobile-bottom-nav .tab.active .glyph.nav-img{opacity:1}.mobile-bottom-nav .tab .glyph.nav-img.nav-img-xl{width:86px;height:86px;margin:-29px 0;transform:translateY(0)}.mobile-bottom-nav .tab .glyph.nav-img.nav-img-xl+span{display:none}.mobile-bottom-nav .tab.plus-tab{align-self:center;padding:0}.mobile-bottom-nav .plus-fab{background:var(--accent);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:38px;height:38px;font-size:22px;font-weight:300;line-height:1;transition:transform .15s;display:flex;box-shadow:0 2px 8px #ff5c4038}.mobile-bottom-nav .tab.plus-tab:active .plus-fab{transform:scale(.94)}}.mobile-sheet-overlay{z-index:100;background:#14121073;justify-content:center;align-items:flex-end;animation:.15s sheet-fade-in;display:flex;position:fixed;inset:0}@keyframes sheet-fade-in{0%{opacity:0}to{opacity:1}}.mobile-sheet{background:var(--bg);width:100%;max-width:720px;padding:8px 18px calc(20px + env(safe-area-inset-bottom));border-radius:18px 18px 0 0;max-height:80vh;animation:.18s cubic-bezier(.2,.8,.2,1) sheet-slide-up;overflow-y:auto;box-shadow:0 -10px 40px #0003}@keyframes sheet-slide-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}.mobile-sheet-handle{background:var(--ink-4);opacity:.35;border-radius:2px;width:36px;height:4px;margin:0 auto 12px}.mobile-sheet-head{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.mobile-sheet-head .title{font-size:16px;font-weight:600}.mobile-sheet-close{width:32px;height:32px;color:var(--ink-3);background:var(--bg-soft);border-radius:50%;justify-content:center;align-items:center;font-size:14px;display:inline-flex}.mobile-sheet-body{flex-direction:column;gap:14px;display:flex}.sheet-row{flex-direction:column;gap:8px;display:flex}.sheet-row-label{color:var(--ink-3);letter-spacing:.05em;text-transform:uppercase;font-size:11px}.sheet-chip-row{flex-wrap:wrap;gap:6px;display:flex}.sheet-actions{justify-content:flex-end;padding-top:6px;display:flex}.mobile-search-overlay{z-index:110;background:#14121073;justify-content:center;align-items:flex-start;animation:.12s sheet-fade-in;display:flex;position:fixed;inset:0}.mobile-search-panel{background:var(--bg);width:100%;max-width:720px;padding:12px 14px 18px;box-shadow:0 6px 30px #00000029}.mobile-search-bar{background:var(--bg-card);border:1px solid var(--line);border-radius:999px;align-items:center;gap:8px;padding:8px 14px;display:flex}.mobile-search-bar .icon{color:var(--ink-3);font-size:14px}.mobile-search-bar input{color:var(--ink);background:0 0;border:none;outline:none;flex:1;min-width:0;font-family:inherit;font-size:14px}.mobile-search-bar .cancel{color:var(--accent);white-space:nowrap;padding:0 4px;font-size:13px}.mobile-search-hint{color:var(--ink-3);margin-top:10px;padding:0 4px;font-size:11px}.detail-wrap{grid-template-columns:minmax(0,1fr) 360px;gap:32px;max-width:1240px;margin:0 auto;padding:24px 28px 80px;display:grid}.detail-main{min-width:0}@media (max-width:1100px){.detail-wrap{grid-template-columns:minmax(0,1fr);padding:16px 16px 110px}}.detail-back{color:var(--ink-3);align-items:center;gap:6px;margin-bottom:16px;font-size:13px;display:inline-flex}.detail-back:hover{color:var(--ink)}.detail-hero{border-radius:var(--r-xl);justify-content:center;align-items:center;height:280px;margin-bottom:24px;display:flex;position:relative;overflow:hidden}.detail-hero:before{content:"";background:repeating-linear-gradient(45deg,#ffffff0f 0 14px,#0000 14px 28px);position:absolute;inset:0}.detail-hero.image:before{display:none}.detail-hero.image{background-position:50%;background-size:cover}.detail-hero.zoomable{cursor:zoom-in}.detail-hero.note{color:#6e4520;background:#f1ecdd;border:1px solid #785a321f}.detail-hero.note:before{display:none}.detail-hero.note .hero-text .ht-title{font-family:"Noto Serif SC", "Source Han Serif SC", "Songti SC", "宋体", var(--font-display), serif;color:#6e4520;text-shadow:0 1px #fff5e180;font-weight:900}.detail-hero.note .hero-text .ht-sub{color:#9a7045;opacity:1}.lightbox-backdrop{z-index:200;cursor:zoom-out;background:#080604eb;justify-content:center;align-items:center;padding:24px;animation:.18s ease-out lightbox-fade;display:flex;position:fixed;inset:0}.lightbox-img{object-fit:contain;cursor:default;border-radius:6px;width:auto;max-width:95vw;height:auto;max-height:92vh;animation:.22s cubic-bezier(.2,.8,.4,1) lightbox-zoom;box-shadow:0 24px 80px #00000080}.lightbox-close{color:#fff;cursor:pointer;background:#ffffff1f;border:none;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;font-size:24px;line-height:1;transition:background .15s;display:flex;position:fixed;top:16px;right:16px}.lightbox-close:hover{background:#ffffff38}@keyframes lightbox-fade{0%{opacity:0}to{opacity:1}}@keyframes lightbox-zoom{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}.detail-hero .hero-text{text-align:center;max-width:760px;font-family:var(--font-display);padding:0 32px;position:relative}.detail-hero .hero-text .ht-title{text-shadow:0 2px 10px #00000014;margin:0 0 8px;font-size:28px;font-weight:700;line-height:1.3}.detail-hero .hero-text .ht-sub{opacity:.85;font-size:14px;line-height:1.55}.detail-hero .hero-glyph{font-family:var(--font-mono);letter-spacing:.18em;opacity:.55;font-size:18px;position:absolute;bottom:18px;right:22px}.detail-hero .hero-tags{z-index:2;gap:6px;display:flex;position:absolute;top:18px;left:18px}.detail-title{font-family:var(--font-display);letter-spacing:-.015em;margin:0 0 10px;font-size:32px;font-weight:600;line-height:1.25}@media (max-width:700px){.detail-title{font-size:24px}.detail-hero{height:200px}}.detail-short{color:var(--ink-2);margin:0 0 18px;font-size:16px;line-height:1.55}.detail-author-row{border-top:1px solid var(--line);border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:24px;padding:14px 0;display:flex}.detail-author-row .avatar{width:36px;height:36px;font-size:14px}.detail-author-row .who{flex:1;min-width:120px}.detail-author-row .who .name{font-size:14px;font-weight:600}.detail-author-row .who .meta{color:var(--ink-3);font-size:12px;font-family:var(--font-mono);white-space:normal;word-break:keep-all}.detail-actions{flex-wrap:wrap;gap:8px;display:flex}.detail-section{margin-bottom:32px}.detail-section h3{font-family:var(--font-display);align-items:center;gap:10px;margin:0 0 12px;font-size:18px;font-weight:600;display:flex}.detail-section h3:before{content:"";background:var(--accent);border-radius:2px;width:4px;height:16px}.detail-section p{color:var(--ink-2);white-space:pre-wrap;margin:0 0 10px;font-size:14.5px;line-height:1.7}.feedback-questions{flex-direction:column;gap:10px;display:flex}.feedback-q{background:var(--accent-soft);border-left:3px solid var(--accent);border-radius:0 var(--r-sm) var(--r-sm) 0;color:var(--ink);align-items:center;gap:10px;padding:12px 14px;font-size:13.5px;display:flex}.feedback-q .num{font-family:var(--font-mono);color:var(--accent);font-size:11px;font-weight:700}.comment-input-wrap{border:1px solid var(--line-2);border-radius:var(--r-md);background:var(--bg-card);margin-bottom:20px;padding:14px;transition:border-color .15s,box-shadow .15s}.comment-input-wrap.focused{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.comment-input-wrap textarea{resize:none;width:100%;min-height:60px;color:var(--ink);background:0 0;border:none;outline:none;font-family:inherit;font-size:14px}.guide-prompts{border-top:1px dashed var(--line);flex-wrap:wrap;gap:6px;margin-top:10px;padding-top:10px;display:flex}.guide-prompts .label-mini{font-family:var(--font-mono);color:var(--ink-3);letter-spacing:.05em;text-transform:uppercase;align-self:center;margin-right:4px;font-size:10px}.guide-prompt{color:var(--ink-3);background:var(--bg-soft);border:1px solid #0000;border-radius:999px;padding:4px 10px;font-size:12px}.guide-prompt:hover{background:var(--accent-soft);color:var(--accent)}.comment-input-wrap .submit-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-top:10px;display:flex}.comment-input-wrap .hint{color:var(--ink-3);font-size:11.5px}.comment{border-bottom:1px solid var(--line);grid-template-columns:36px 1fr;gap:12px;padding:16px 0;display:grid}.comment .avatar{width:36px;height:36px;font-size:13px}.comment .head{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:4px;display:flex}.comment .head .name{font-size:13.5px;font-weight:600}.comment .head .when{font-family:var(--font-mono);color:var(--ink-4);font-size:11px}.comment .body{color:var(--ink-2);white-space:pre-wrap;word-break:break-word;font-size:14px;line-height:1.6}.comment .actions{color:var(--ink-3);flex-wrap:wrap;gap:12px;margin-top:8px;font-size:12px;display:flex}.comment .actions button{color:var(--ink-3);font-size:12px}.comment .actions button:hover{color:var(--ink)}.comment .head .author-mark{border-radius:999px;align-items:center;gap:4px;padding:2px 8px;font-size:11px;font-weight:500;display:inline-flex}.comment .head .mark-helpful-tag{background:var(--accent);color:#fff;border:1px solid var(--accent)}.comment .head .mark-liked-tag{background:var(--accent-soft);color:var(--rose);border:1px solid var(--accent-soft)}.comment .actions .mark-helpful.active{color:var(--accent);font-weight:600}.comment .actions .like-btn.active{color:var(--rose);font-weight:600}.comment .actions .reply-btn{color:var(--ink-3)}.comment.bot{border-radius:var(--r-md);background:linear-gradient(#6284ff0f,#0000 60%);margin:4px -10px;padding:8px 10px}.comment.bot .body{color:var(--ink)}.comment .avatar.avatar-bot{border:1px solid var(--line);background:#fff;padding:0;overflow:hidden}.comment .avatar.avatar-bot img{object-fit:cover;width:100%;height:100%;display:block}.comment .head .bot-badge{background:var(--accent);color:#fff;letter-spacing:.04em;border-radius:999px;align-items:center;padding:3px 7px;font-size:10px;font-weight:700;line-height:1;display:inline-flex}.guide-prompt.mention{background:var(--accent-soft);color:var(--accent);font-weight:600}.guide-prompt.mention:hover{background:var(--accent);color:#fff}.detail-side{flex-direction:column;align-self:start;gap:16px;display:flex;position:sticky;top:80px}@media (max-width:1100px){.detail-side{position:static}}.side-card{background:var(--bg-card);border:1px solid var(--line);border-radius:var(--r-lg);padding:16px}.side-card h4{font-family:var(--font-display);align-items:center;gap:8px;margin:0 0 12px;font-size:14px;font-weight:600;display:flex}.side-card h4 .mono-tag{font-family:var(--font-mono);color:var(--ink-3);letter-spacing:.05em;font-size:10px;font-weight:400}.tag-pill{background:var(--bg-soft);border:1px solid var(--line);font-family:var(--font-mono);color:var(--ink-2);letter-spacing:.02em;border-radius:999px;align-items:center;padding:4px 10px;font-size:11.5px;display:inline-flex}.kv{justify-content:space-between;gap:12px;padding:6px 0;font-size:12.5px;display:flex}.kv .k{color:var(--ink-3);font-family:var(--font-mono);letter-spacing:.03em;text-transform:uppercase;flex-shrink:0;font-size:11px}.kv .v{color:var(--ink);text-align:right;word-break:break-word;min-width:0}.similar-item{border-top:1px solid var(--line);cursor:pointer;gap:10px;padding:8px 0;display:flex}.similar-item:first-child{border-top:none}.similar-item:hover .similar-title{color:var(--accent)}.similar-thumb{border-radius:var(--r-sm);background-position:50%;background-size:cover;flex:none;width:36px;height:36px}.similar-title{margin-bottom:2px;font-size:13px;font-weight:500;line-height:1.4}.similar-stats{font-family:var(--font-mono);color:var(--ink-3);font-size:10.5px}.related-links{flex-direction:column;gap:8px;display:flex}.related-link{background:var(--bg-card);border:1px solid var(--line);border-radius:var(--r-md);align-items:center;gap:12px;padding:12px 14px;transition:border-color .15s,transform .15s;display:flex}.related-link:hover{border-color:var(--ink-3);transform:translateY(-1px)}.related-link .rl-icon{background:var(--bg-soft);width:28px;height:28px;color:var(--ink-2);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:13px;display:inline-flex}.related-link .rl-label{font-family:var(--font-mono);color:var(--ink-3);letter-spacing:.04em;text-transform:uppercase;flex-shrink:0;min-width:80px;font-size:11px}.related-link .rl-url{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:13px;overflow:hidden}.related-link .rl-arrow{color:var(--ink-3);font-family:var(--font-mono);flex-shrink:0}@media (max-width:700px){.related-link{flex-wrap:wrap;gap:4px 10px;padding:10px 12px}.related-link .rl-label{min-width:0}.related-link .rl-url{flex-basis:100%;font-size:12.5px}.related-link .rl-arrow{margin-left:auto}}.submit-form{max-width:720px;margin:0 auto;padding:24px 28px 80px}@media (max-width:700px){.submit-form{padding:16px 16px 110px}}.submit-form h1{font-family:var(--font-display);letter-spacing:-.015em;margin:0 0 6px;font-size:26px;font-weight:600}.submit-form .lead{color:var(--ink-3);margin:0 0 24px;font-size:13.5px}.tabbar{border-bottom:1px solid var(--line);flex-wrap:wrap;gap:4px;margin-bottom:18px;display:flex}.tabbar button{color:var(--ink-3);border-bottom:2px solid #0000;margin-bottom:-1px;padding:10px 16px;font-size:13px}.tabbar button.active{color:var(--ink);border-bottom-color:var(--ink);font-weight:600}.field{margin-bottom:16px}.field>label{color:var(--ink-3);font-size:12px;font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase;margin-bottom:6px;display:block}.field input[type=text],.field input[type=url],.field input[type=email],.field input[type=password],.field textarea,.field select{border:1px solid var(--line-2);border-radius:var(--r-sm);background:var(--bg);width:100%;color:var(--ink);outline:none;padding:11px 12px;font-family:inherit;font-size:14px;transition:border-color .12s,box-shadow .12s}.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.field textarea{resize:vertical;min-height:80px}.field-hint{color:var(--ink-3);margin-top:4px;font-size:11.5px}.type-grid{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.type-grid button{border:1px solid var(--line-2);border-radius:var(--r-sm);background:var(--bg);font-family:var(--font-mono);color:var(--ink-2);text-align:center;flex-direction:column;align-items:center;gap:4px;padding:14px 8px;font-size:11.5px;display:flex}.type-grid button.active{background:var(--accent-soft);color:var(--ink);border-color:var(--accent);box-shadow:0 0 0 3px #fd73641f}.type-grid button .em{font-family:var(--font-display);color:var(--accent);font-size:18px}.type-grid button .t-label{font-family:var(--font-display);color:var(--ink);margin-top:2px;font-size:13px;font-weight:600}.type-grid button .t-desc{color:var(--ink-3);font-family:inherit;font-size:10.5px;line-height:1.35}.attr-toggle{grid-template-columns:1fr 1fr;gap:10px;display:grid}@media (max-width:600px){.attr-toggle{grid-template-columns:1fr}}.attr-opt{border:1.5px solid var(--line-2);border-radius:var(--r-md);background:var(--bg-card);text-align:left;align-items:center;gap:12px;padding:14px;display:flex}.attr-opt.active{border-color:var(--accent);background:var(--accent-soft);box-shadow:0 0 0 3px #fd73641f}.attr-opt-dot{border:2px solid var(--line-2);background:var(--bg);border-radius:50%;flex-shrink:0;width:14px;height:14px}.attr-opt.active .attr-opt-dot{background:var(--accent);box-shadow:inset 0 0 0 3px var(--bg);border-color:#0000}.attr-opt-text{flex:1;min-width:0}.attr-opt-title{color:var(--ink);margin-bottom:2px;font-size:14px;font-weight:600}.attr-opt-sub{color:var(--ink-3);font-size:11.5px;line-height:1.4}.import-stage{background:var(--bg);border-radius:var(--r-md);border:1px solid var(--line);margin-bottom:14px;padding:16px;transition:all .25s}.import-stage.active{border-color:var(--accent);background:var(--accent-soft)}.import-stage.done{opacity:.7}.import-stage .stage-head{align-items:center;gap:10px;display:flex}.import-stage .stage-num{background:var(--ink-4);color:#fff;width:22px;height:22px;font-family:var(--font-mono);border-radius:50%;justify-content:center;align-items:center;font-size:11px;display:inline-flex}.import-stage.active .stage-num{background:var(--accent)}.import-stage.done .stage-num{background:var(--green)}.import-stage .stage-title{font-size:13px;font-weight:600}.import-stage .stage-meta{font-family:var(--font-mono);color:var(--ink-3);margin-left:auto;font-size:11px}.cover-upload{width:100%}.cover-drop{border:1.5px dashed var(--line-2);border-radius:var(--r-md);background:var(--bg-soft);flex-direction:column;justify-content:center;align-items:center;gap:6px;padding:28px 16px;display:flex}.cover-drop:hover{border-color:var(--ink-3);background:var(--bg-card)}.cover-drop-icon{color:var(--ink-3);font-size:28px;line-height:1}.cover-drop-text{color:var(--ink-2);font-size:13px}.cover-drop-hint{font-family:var(--font-mono);color:var(--ink-3);font-size:10.5px}.cover-preview{border-radius:var(--r-md);border:1px solid var(--line);background-position:50%;background-size:cover;width:100%;height:160px;position:relative}.cover-remove{color:#fff;font-family:var(--font-mono);background:#0009;border-radius:999px;padding:4px 10px;font-size:11px;position:absolute;top:8px;right:8px}.discuss-wrap{grid-template-columns:240px 1fr;max-width:1400px;min-height:calc(100vh - 70px);margin:0 auto;display:grid}.discuss-side{border-right:1px solid var(--line);background:var(--bg-soft);flex-direction:column;gap:12px;height:calc(100vh - 70px);padding:18px 14px;display:flex;overflow-y:auto}.discuss-side .new-btn{background:var(--ink);color:var(--bg);border-radius:999px;padding:10px 14px;font-size:13px;font-weight:500}.discuss-side .convo-group{flex-direction:column;gap:2px;display:flex}.discuss-side .convo-group .group-label{font-family:var(--font-mono);color:var(--ink-3);letter-spacing:.06em;text-transform:uppercase;padding:12px 8px 6px;font-size:10px}.discuss-side .convo-item{border-radius:var(--r-sm);color:var(--ink-2);cursor:pointer;align-items:center;gap:8px;padding:8px 10px;font-size:12.5px;transition:background .12s;display:flex}.discuss-side .convo-item:hover{background:var(--bg-card)}.discuss-side .convo-item.active{background:var(--bg-card);color:var(--ink);font-weight:600}.discuss-side .convo-item .text{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.discuss-side .convo-item .dot{background:var(--accent);border-radius:50%;flex-shrink:0;width:6px;height:6px}@media (max-width:900px){.discuss-wrap{grid-template-columns:1fr}.discuss-side{display:none}}.discuss-mobile-head,.composer-new{display:none}@media (max-width:720px){.topnav.hide-on-mobile{display:none}.discuss-mobile-head{border-bottom:1px solid var(--line);background:var(--bg);z-index:40;grid-template-columns:38px 1fr auto;align-items:center;gap:10px;padding:10px 14px;display:grid;position:sticky;top:0}.discuss-mobile-icon{width:38px;height:38px;color:var(--ink);background:0 0;border-radius:50%;justify-content:center;align-items:center;display:inline-flex}.discuss-mobile-icon:active{background:var(--bg-soft)}.discuss-mobile-head .title{text-align:center;color:var(--ink);font-size:15px;font-weight:600}.discuss-mobile-report{background:var(--bg-card);border:1px solid var(--line);color:var(--ink);white-space:nowrap;border-radius:999px;padding:7px 13px;font-size:12.5px}.discuss-mobile-report:active{background:var(--bg-soft)}.discuss-main{height:100dvh}.chat-stream{-webkit-overflow-scrolling:touch;padding:14px 14px 160px}.chat-stream-inner{gap:18px;width:100%}.welcome{text-align:center;flex-direction:column;gap:18px;padding:24px 0 0;display:flex}.welcome-center{flex-direction:column;align-items:center;gap:12px;padding:0 16px;display:flex}.welcome-glyph{object-fit:contain;width:72px;height:72px;margin:0 auto;display:block}.welcome h2{letter-spacing:-.01em;margin:0;font-size:21px;font-weight:700}.welcome .sub{color:var(--ink-3);max-width:320px;margin:0;padding:0 8px;font-size:13.5px;line-height:1.55}.welcome .suggest-grid{grid-template-columns:1fr 1fr;gap:8px;width:100%;max-width:none;margin:0;padding:4px 0 0}.welcome .suggest-card{border-radius:14px;padding:10px 12px}.welcome .suggest-card .label-tiny{margin-bottom:5px;font-size:10.5px}.welcome .suggest-card .text{color:var(--ink-2);font-size:12.5px;line-height:1.45}.msg.user{max-width:86%}.msg.user .bubble{border-radius:18px;padding:10px 14px;font-size:14.5px}.msg.ai .content{font-size:15px;line-height:1.65}.discuss-main .composer{bottom:calc(72px + env(safe-area-inset-bottom));z-index:55;background:linear-gradient(180deg, #f8f4ed00 0%, var(--bg) 30%, var(--bg) 100%);pointer-events:none;border:none;border-radius:0;margin-top:0;padding:12px 12px 8px;position:fixed;left:0;right:0}.discuss-main .composer-inner{pointer-events:auto;max-width:none;box-shadow:none;background:0 0;border:none;align-items:center;gap:8px;margin:0;padding:0;display:flex}.discuss-main .composer-new{background:var(--bg-card);border:1px solid var(--line);width:44px;height:44px;color:var(--ink);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:17px;display:inline-flex;box-shadow:0 2px 8px #0000000a}.discuss-main .composer-new:active{background:var(--bg-soft)}.discuss-main .composer textarea{resize:none;background:var(--bg-card);border:1px solid var(--line);border-radius:22px;flex:1;width:auto;height:44px;min-height:44px;max-height:120px;padding:11px 18px;font-size:14.5px;line-height:1.4;box-shadow:0 2px 8px #0000000a}.discuss-main .composer textarea:focus{border-color:var(--ink-3);box-shadow:0 2px 12px #0000000f}.discuss-main .btn-send{background:var(--bg-card);width:44px;height:44px;color:var(--ink-3);border:1px solid var(--line);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;padding:0;font-size:18px;line-height:1;display:inline-flex;box-shadow:0 2px 8px #0000000a}.discuss-main .btn-send:not(:disabled){background:var(--ink);color:#fff;border-color:var(--ink)}.discuss-main .btn-send .text{display:none}.discuss-main .btn-send .icon{display:inline}.discuss-main .btn-send:disabled{opacity:1}.desktop-only{display:none!important}}@media (min-width:721px){.mobile-only{display:none!important}}.discuss-main{flex-direction:column;min-width:0;height:calc(100vh - 70px);display:flex}.discuss-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:16px 24px;display:flex}.discuss-head .title{font-family:var(--font-display);font-size:16px;font-weight:600}.chat-stream{flex:1;overflow-y:auto}.chat-stream-inner{flex-direction:column;display:flex}@media (min-width:721px){.chat-stream{padding:24px}.chat-stream-inner{gap:24px;max-width:760px;margin:0 auto}.welcome{text-align:center;padding:60px 20px 40px}.welcome-glyph{object-fit:contain;width:88px;height:88px;margin:0 auto 16px;display:block}.welcome h2{font-family:var(--font-display);letter-spacing:-.01em;margin:0 0 8px;font-size:26px;font-weight:600}.welcome .sub{color:var(--ink-3);margin:0 0 32px;font-size:14px}}.suggest-grid{text-align:left;grid-template-columns:1fr 1fr;gap:10px;max-width:640px;margin:0 auto;display:grid}.suggest-card{font-family:var(--font-body);background:var(--bg-card);border:1px solid var(--line);border-radius:var(--r-md);cursor:pointer;text-align:left;padding:14px 16px;transition:border-color .15s,transform .15s}.suggest-card:hover{border-color:var(--ink-3);transform:translateY(-1px)}.suggest-card .label-tiny{font-family:var(--font-body);color:var(--ink-3);letter-spacing:0;text-transform:none;align-items:center;gap:5px;margin-bottom:6px;font-size:11px;font-weight:600;display:inline-flex}.suggest-card .label-tiny:before{content:"";background:var(--accent);border-radius:50%;flex-shrink:0;width:4px;height:4px}.suggest-card .text{font-family:var(--font-body);color:var(--ink);font-size:13px;line-height:1.5}.msg.user{align-self:flex-end;max-width:80%}.msg.user .bubble{background:var(--ink);color:var(--bg);border-radius:var(--r-lg);white-space:pre-wrap;padding:12px 16px;font-size:14px;line-height:1.55}.msg.ai .role-row{align-items:center;gap:8px;margin-bottom:8px;display:flex}.msg.ai .role-icon{object-fit:cover;border-radius:8px;flex-shrink:0;width:28px;height:28px;display:inline-block}.msg.ai .role-name{color:var(--ink-3);font-size:12px;font-family:var(--font-mono)}.msg.ai .role-name.thinking-status{align-items:center;gap:6px;animation:.35s ease-out thinking-fade;display:inline-flex}@keyframes thinking-fade{0%{opacity:0;transform:translateY(2px)}to{opacity:1;transform:translateY(0)}}.thinking-dots{gap:3px;margin-left:2px;display:inline-flex}.thinking-dots span{background:var(--ink-3);border-radius:50%;width:4px;height:4px;animation:1.2s ease-in-out infinite thinking-bounce;display:inline-block}.thinking-dots span:nth-child(2){animation-delay:.18s}.thinking-dots span:nth-child(3){animation-delay:.36s}@keyframes thinking-bounce{0%,60%,to{opacity:.3;transform:translateY(0)}30%{opacity:1;transform:translateY(-3px)}}.streaming-cursor{color:var(--accent);margin-left:6px;font-weight:700;animation:1s steps(2,start) infinite blink-cursor;display:inline-block}@keyframes blink-cursor{to{visibility:hidden}}.report-overlay{z-index:220;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#1412108c;justify-content:center;align-items:center;padding:24px;animation:.18s ease-out report-overlay-fade;display:flex;position:fixed;inset:0}.report-overlay-card{background:var(--bg-card);border:1px solid var(--line);border-radius:var(--r-lg);text-align:center;flex-direction:column;align-items:center;gap:12px;width:100%;max-width:380px;padding:32px 28px 24px;animation:.22s cubic-bezier(.2,.8,.4,1) report-overlay-pop;display:flex;box-shadow:0 30px 80px #00000040}.report-spinner{gap:8px;margin-bottom:4px;display:flex}.report-spinner span{background:var(--accent);border-radius:50%;width:10px;height:10px;animation:1s ease-in-out infinite report-spinner-bounce}.report-spinner span:nth-child(2){animation-delay:.16s}.report-spinner span:nth-child(3){animation-delay:.32s}.report-overlay-title{font-family:var(--font-display);color:var(--ink);margin-top:4px;font-size:16px;font-weight:600}.report-overlay-step{color:var(--ink-3);min-height:18px;font-size:13px;font-family:var(--font-mono);animation:.4s ease-out report-overlay-fade}.report-overlay-progress{background:var(--bg-soft);border-radius:999px;width:100%;height:3px;margin:6px 0 2px;overflow:hidden}.report-overlay-progress>span{background:linear-gradient(90deg, transparent, var(--accent), transparent);border-radius:999px;width:40%;height:100%;animation:1.6s ease-in-out infinite report-progress-sweep;display:block}.report-overlay-hint{color:var(--ink-3);font-size:11.5px;font-family:var(--font-mono);letter-spacing:.02em}@keyframes report-overlay-fade{0%{opacity:0}to{opacity:1}}@keyframes report-overlay-pop{0%{opacity:0;transform:translateY(6px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes report-spinner-bounce{0%,80%,to{opacity:.4;transform:scale(.6)}40%{opacity:1;transform:scale(1)}}@keyframes report-progress-sweep{0%{transform:translate(-100%)}to{transform:translate(250%)}}.msg.ai .content{color:var(--ink);white-space:pre-wrap;font-size:14.5px;line-height:1.7}.msg.ai .content p{margin:0 0 12px}.cite-sup{cursor:pointer;color:var(--accent);font-size:11px;font-family:var(--font-mono);vertical-align:super;margin-left:1px}.cite-sup:hover{text-decoration:underline}.ev-grid-wrap{border-top:1px solid var(--line);margin-top:18px;padding-top:18px}.inline-evidence-head{font-family:var(--font-mono);color:var(--ink-3);letter-spacing:.05em;text-transform:uppercase;margin-bottom:10px;font-size:11px}.ev-grid{grid-template-columns:repeat(2,1fr);gap:10px;display:grid}@media (max-width:600px){.ev-grid{grid-template-columns:1fr}}.ev-mini-card{background:var(--bg-card);border:1px solid var(--line);border-radius:var(--r-md);cursor:pointer;gap:12px;padding:10px;transition:border-color .15s,transform .15s;display:flex}.ev-mini-card:hover{border-color:var(--ink-3);transform:translateY(-1px)}.ev-mini-card .emc-cover{border-radius:var(--r-sm);background-position:50%;background-size:cover;flex-shrink:0;justify-content:flex-start;align-items:flex-end;width:56px;height:56px;padding:4px;display:flex;position:relative}.ev-mini-card .emc-num{color:#fff;width:18px;height:18px;font-family:var(--font-mono);background:#0000008c;border-radius:50%;justify-content:center;align-items:center;font-size:10px;display:inline-flex;position:absolute;top:4px;left:4px}.ev-mini-card .emc-type{font-family:var(--font-mono);color:var(--ink);background:#ffffffeb;border-radius:999px;padding:1px 6px;font-size:9px}.ev-mini-card .emc-body{flex:1;min-width:0}.ev-mini-card .emc-title{color:var(--ink);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-bottom:4px;font-size:12.5px;font-weight:600;display:-webkit-box;overflow:hidden}.ev-mini-card .emc-reason{color:var(--ink-3);font-size:11px;line-height:1.45}@media (min-width:721px){.discuss-main .composer{border-top:1px solid var(--line);background:var(--bg);padding:14px 24px}.discuss-main .composer-inner{gap:8px;max-width:760px;margin:0 auto;display:flex}.discuss-main .composer textarea{resize:none;border:1px solid var(--line-2);border-radius:var(--r-md);background:var(--bg-card);color:var(--ink);outline:none;flex:1;min-height:48px;max-height:160px;padding:10px 14px;font-family:inherit;font-size:14px}.discuss-main .composer textarea:focus{border-color:var(--ink-3)}.discuss-main .btn-send .icon{display:none}.discuss-main .btn-send .text{display:inline}}.report-page{max-width:1280px;margin:0 auto;padding:24px 28px 80px}@media (max-width:700px){.report-page{padding:16px 16px 110px}}.report-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px;display:flex}.report-head h1{font-family:var(--font-display);letter-spacing:-.015em;margin:0 0 6px;font-size:26px;font-weight:600}.report-head .sub{color:var(--ink-3);font-size:13px}.report-meta{flex-wrap:wrap;gap:6px;margin-top:10px;display:flex}.report-meta .pill{font-family:var(--font-mono);color:var(--ink-3);background:var(--bg-soft);border-radius:999px;padding:3px 10px;font-size:10.5px}.canvas-controls{font-family:var(--font-mono);color:var(--ink-3);text-align:center;margin-bottom:8px;font-size:11px}.canvas-frame{background:var(--bg-card);border:1px solid var(--line);border-radius:var(--r-lg);height:640px;position:relative;overflow:hidden}@media (max-width:720px){.canvas-controls,.canvas-frame{display:none}}.canvas-svg{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.canvas-node{cursor:grab;border-radius:var(--r-md);background:var(--bg-card);border:1.5px solid var(--line-2);width:160px;box-shadow:var(--shadow-1);-webkit-user-select:none;user-select:none;padding:10px 12px;transition:box-shadow .15s,transform 50ms;position:absolute}.canvas-node.dragging{cursor:grabbing;box-shadow:var(--shadow-2)}.canvas-node.center{background:var(--ink);color:var(--bg);border-color:var(--ink);width:200px}.canvas-node.source{background:var(--accent-soft);border-color:var(--accent)}.canvas-node.pattern{background:var(--bg-soft);border-color:var(--ink-3);border-style:dashed}.canvas-node.risk{border-color:var(--rose);background:#fff1ed}.canvas-node.next{border-color:var(--green);background:#e8f5e5}.canvas-node.selected{box-shadow:0 0 0 3px var(--accent-soft), var(--shadow-2)}.canvas-node .node-kind{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;opacity:.65;margin-bottom:4px;font-size:9px}.canvas-node .node-title{font-size:12.5px;font-weight:500;line-height:1.35}.canvas-tip{font-family:var(--font-mono);color:var(--ink-3);font-size:11px;position:absolute;bottom:12px;left:14px}.canvas-legend{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--line);border-radius:var(--r-md);font-family:var(--font-mono);color:var(--ink-2);background:#ffffffeb;flex-direction:column;gap:4px;padding:8px 10px;font-size:10.5px;display:flex;position:absolute;top:12px;right:12px}.canvas-legend .line{align-items:center;gap:6px;display:flex}.canvas-legend .swatch{border-radius:3px;width:14px;height:10px}.node-detail{background:var(--bg-card);border:1px solid var(--line);border-radius:var(--r-md);width:280px;max-width:calc(100% - 32px);box-shadow:var(--shadow-2);padding:14px;position:absolute;bottom:16px;right:16px}.node-detail .head{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.node-detail .head .kind{font-family:var(--font-mono);color:var(--ink-3);letter-spacing:.06em;text-transform:uppercase;font-size:10px}.node-detail .head .x{color:var(--ink-3);font-size:14px}.node-detail h3{font-family:var(--font-display);margin:0 0 8px;font-size:15px;line-height:1.3}.node-detail .body p{color:var(--ink-2);margin:0 0 8px;font-size:12.5px;line-height:1.55}.card{background:var(--bg-card);border-radius:var(--card-radius);box-shadow:var(--shadow-1);border:1px solid var(--line);transition:transform .18s,box-shadow .18s;overflow:hidden}.card:hover{box-shadow:var(--shadow-2);transform:translateY(-1px)}.md{color:var(--ink);word-break:break-word;overflow-wrap:anywhere;font-size:14.5px;line-height:1.7}.md>:first-child{margin-top:0}.md>:last-child{margin-bottom:0}.md-p{margin:0 0 12px}.md-h2{font-family:var(--font-display);letter-spacing:-.005em;margin:20px 0 10px;font-size:18px;font-weight:700;line-height:1.3}.md-h3{font-family:var(--font-display);margin:18px 0 8px;font-size:16px;font-weight:700;line-height:1.35}.md-h4{font-family:var(--font-display);margin:14px 0 6px;font-size:14.5px;font-weight:600;line-height:1.4}.md-h5{font-family:var(--font-display);color:var(--ink-2);margin:12px 0 6px;font-size:13.5px;font-weight:600;line-height:1.4}.md-ul,.md-ol{margin:4px 0 14px;padding-left:22px}.md-li{margin:4px 0;line-height:1.65}.md-li>.md-p{margin:0}.md-blockquote{border-left:3px solid var(--accent);background:var(--accent-soft);border-radius:0 var(--r-sm) var(--r-sm) 0;color:var(--ink-2);margin:10px 0;padding:10px 14px;font-size:13.5px;line-height:1.6}.md-blockquote .md-p:last-child{margin-bottom:0}.md-strong{color:var(--ink);font-weight:700}.md-em{color:var(--ink-2);font-style:italic}.md-a{color:var(--accent);text-underline-offset:2px;text-decoration:underline}.md-a:hover{filter:brightness(.9)}.md-code{font-family:var(--font-mono);background:var(--bg-soft);color:var(--ink);border:1px solid var(--line);border-radius:4px;padding:1px 6px;font-size:12.5px}.md-pre{color:#f5f1e8;border-radius:var(--r-md);font-family:var(--font-mono);background:#1f1b17;margin:12px 0;padding:14px;font-size:12.5px;line-height:1.55;overflow-x:auto}.md-pre .md-code,.md-code-block{color:inherit;font-size:inherit;background:0 0;border:none;padding:0}.md-hr{border:none;border-top:1px solid var(--line);margin:18px 0}.md-table-wrap{-webkit-overflow-scrolling:touch;margin:12px 0;overflow-x:auto}.md-table{border-collapse:collapse;min-width:100%;font-size:13px}.md-th,.md-td{border:1px solid var(--line);text-align:left;vertical-align:top;padding:8px 12px;line-height:1.5}.md-th{background:var(--bg-soft);color:var(--ink);white-space:nowrap;font-weight:600}.md-td{color:var(--ink-2)}.md-cite{cursor:pointer;color:var(--accent);font-family:var(--font-mono);vertical-align:super;margin-left:1px;font-size:11px}.md-cite:hover{text-decoration:underline}.hack-page{max-width:1024px;margin:0 auto;padding:24px 20px 80px}.hack-page-head{justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px;display:flex}.hack-page-title{font-family:var(--font-display);color:var(--ink);font-size:22px;font-weight:700}.hack-page-sub{color:var(--ink-3);margin-top:4px;font-size:13px}.hack-toolbar{flex-wrap:wrap;gap:8px;margin-bottom:14px;display:flex}.hack-toolbar .chip{border:1px solid var(--line);background:var(--bg-card);color:var(--ink-2);cursor:pointer;border-radius:999px;padding:6px 12px;font-size:12.5px}.hack-toolbar .chip.active{background:var(--ink);color:var(--bg);border-color:var(--ink)}.hack-list{flex-direction:column;gap:12px;display:flex}.hack-row{background:var(--bg-card);border:1px solid var(--line);border-radius:var(--r-md);box-shadow:var(--shadow-1);cursor:pointer;grid-template-columns:1fr auto;gap:16px;padding:18px 20px;transition:transform .12s,box-shadow .12s;display:grid}.hack-row:hover{box-shadow:var(--shadow-2);transform:translateY(-1px)}.hack-row.is-ended{opacity:.7}.hack-row-main{min-width:0}.hack-row-title{font-family:var(--font-display);color:var(--ink);flex-wrap:wrap;align-items:center;gap:10px;margin:0 0 6px;font-size:17px;font-weight:700;display:flex}.hack-row-desc{color:var(--ink-2);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-bottom:8px;font-size:13.5px;line-height:1.55;display:-webkit-box;overflow:hidden}.hack-row-meta{color:var(--ink-3);flex-wrap:wrap;gap:14px;font-size:12px;display:flex}.hack-row-side{flex-direction:column;justify-content:center;align-items:flex-end;gap:8px;min-width:140px;display:flex}.live-dot{font-family:var(--font-mono);color:var(--rose);letter-spacing:.08em;text-transform:uppercase;align-items:center;gap:6px;font-size:11px;font-weight:700;display:inline-flex}.live-dot:before{content:"";background:var(--rose);border-radius:50%;width:7px;height:7px;animation:1.6s infinite live-pulse;box-shadow:0 0 #a24b3d99}.is-ended .live-dot{color:var(--ink-3)}.is-ended .live-dot:before{background:var(--ink-4);box-shadow:none;animation:none}@keyframes live-pulse{0%{box-shadow:0 0 #a24b3d8c}70%{box-shadow:0 0 0 8px #a24b3d00}to{box-shadow:0 0 #a24b3d00}}.bounty-pill{background:var(--highlight);font-family:var(--font-mono);color:var(--ink);border:1px solid #e8c766;border-radius:999px;align-items:baseline;gap:4px;padding:6px 12px;font-size:13px;font-weight:700;display:inline-flex}.bounty-pill .unit{color:var(--ink-2);font-size:11px;font-weight:500}.countdown{font-family:var(--font-mono);color:var(--ink-2);align-items:baseline;gap:4px;font-size:13px;display:inline-flex}.countdown.urgent{color:var(--rose);font-weight:700}.countdown.ended{color:var(--ink-3)}.countdown .num{color:var(--ink);font-weight:700}.countdown.urgent .num{color:var(--rose)}.hack-header{background:var(--bg-card);border:1px solid var(--line);border-radius:var(--r-md);box-shadow:var(--shadow-1);margin-bottom:18px;padding:22px 24px}.hack-header-top{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.hack-header h1{font-family:var(--font-display);color:var(--ink);margin:0 0 8px;font-size:24px;font-weight:800}.hack-header-meta{color:var(--ink-3);flex-wrap:wrap;gap:12px;margin-bottom:12px;font-size:12.5px;display:flex}.hack-header-side{flex-direction:column;align-items:flex-end;gap:10px;display:flex}.hack-header-desc{color:var(--ink-2);margin-top:8px;font-size:14px;line-height:1.7}.hack-header-desc p:first-child{margin-top:0}.hack-header-desc p:last-child{margin-bottom:0}.posts-bar{justify-content:space-between;align-items:center;margin:18px 0 10px;display:flex}.posts-bar h2{font-family:var(--font-display);color:var(--ink);margin:0;font-size:16px;font-weight:700}.posts-bar .count{color:var(--ink-3);margin-left:8px;font-size:12px}.post-list{background:var(--bg-card);border:1px solid var(--line);border-radius:var(--r-md);flex-direction:column;display:flex;overflow:hidden}.post-row{cursor:pointer;border-bottom:1px solid var(--line);grid-template-columns:36px 1fr auto;align-items:center;gap:14px;padding:14px 18px;transition:background .1s;display:grid}.post-row:last-child{border-bottom:none}.post-row:hover{background:var(--bg-soft)}.avatar-sm{background:var(--bg-soft);border:1px solid var(--line);width:36px;height:36px;color:var(--ink-2);border-radius:50%;justify-content:center;align-items:center;font-size:13px;font-weight:600;display:flex}.post-row-main{min-width:0}.post-row-title{color:var(--ink);white-space:nowrap;text-overflow:ellipsis;font-size:14.5px;font-weight:600;overflow:hidden}.post-row-excerpt{color:var(--ink-3);white-space:nowrap;text-overflow:ellipsis;margin-top:2px;font-size:12.5px;overflow:hidden}.post-row-side{color:var(--ink-3);font-size:12px;font-family:var(--font-mono);flex-direction:column;align-items:flex-end;gap:2px;min-width:80px;display:flex}.post-row-side .replies{color:var(--accent);font-weight:700}.hack-empty{text-align:center;color:var(--ink-3);border:1px dashed var(--line);border-radius:var(--r-md);background:var(--bg-card);padding:40px 24px;font-size:13px}.post-detail{background:var(--bg-card);border:1px solid var(--line);border-radius:var(--r-md);box-shadow:var(--shadow-1);margin-bottom:18px;padding:22px 24px}.post-detail-head{align-items:center;gap:12px;margin-bottom:12px;display:flex}.post-detail-name{color:var(--ink);font-size:14px;font-weight:700}.post-detail-time{color:var(--ink-3);font-size:12px;font-family:var(--font-mono)}.post-detail h1{font-family:var(--font-display);color:var(--ink);margin:0 0 12px;font-size:20px;font-weight:700}.post-detail-body{color:var(--ink);font-size:14.5px;line-height:1.75}.post-detail-body p:first-child{margin-top:0}.post-detail-body p:last-child{margin-bottom:0}.replies{background:var(--bg-card);border:1px solid var(--line);border-radius:var(--r-md);overflow:hidden}.replies-head{border-bottom:1px solid var(--line);color:var(--ink);background:var(--bg-soft);padding:12px 18px;font-size:13.5px;font-weight:700}.reply-row{border-bottom:1px solid var(--line);grid-template-columns:36px 1fr;gap:12px;padding:14px 18px;display:grid}.reply-row:last-child{border-bottom:none}.reply-meta{align-items:baseline;gap:10px;margin-bottom:4px;display:flex}.reply-name{color:var(--ink);font-size:13.5px;font-weight:600}.reply-time{color:var(--ink-3);font-size:11.5px;font-family:var(--font-mono)}.reply-floor{color:var(--ink-4);font-size:11.5px;font-family:var(--font-mono)}.reply-body{color:var(--ink);white-space:pre-wrap;font-size:13.5px;line-height:1.65}.reply-quote{background:var(--bg-soft);border-left:3px solid var(--line-2);color:var(--ink-3);border-radius:4px;max-height:80px;margin-bottom:8px;padding:8px 12px;font-size:12.5px;overflow:hidden}.reply-quote .quoter{color:var(--ink-2);margin-right:6px;font-weight:600}.reply-actions{margin-top:6px;font-size:12px}.reply-actions button{color:var(--ink-3);border-radius:4px;padding:2px 6px}.reply-actions button:hover{color:var(--accent)}.composer{background:var(--bg-card);border:1px solid var(--line);border-radius:var(--r-md);margin-top:18px;padding:14px 16px}.composer.composer-disabled{background:var(--bg-soft);color:var(--ink-3);text-align:center;padding:22px;font-size:13px}.composer-quote-banner{background:var(--bg-soft);color:var(--ink-3);border-radius:6px;align-items:center;gap:10px;margin-bottom:10px;padding:8px 12px;font-size:12.5px;display:flex}.composer-quote-banner .clear{color:var(--rose);padding:2px 6px;font-size:12px}.composer textarea{border:1px solid var(--line);background:var(--bg);width:100%;min-height:80px;color:var(--ink);resize:vertical;border-radius:8px;padding:10px 12px;font-size:13.5px;line-height:1.6}.composer textarea:focus{border-color:var(--accent);outline:none}.composer-actions{justify-content:flex-end;gap:8px;margin-top:10px;display:flex}.hack-form{background:var(--bg-card);border:1px solid var(--line);border-radius:var(--r-md);box-shadow:var(--shadow-1);flex-direction:column;gap:16px;padding:24px;display:flex}.hack-form label{color:var(--ink-2);flex-direction:column;gap:6px;font-size:13px;font-weight:600;display:flex}.hack-form input,.hack-form textarea{border:1px solid var(--line);background:var(--bg);color:var(--ink);border-radius:8px;padding:10px 12px;font-family:inherit;font-size:14px}.hack-form textarea{resize:vertical;min-height:160px;line-height:1.6}.hack-form input:focus,.hack-form textarea:focus{border-color:var(--accent);outline:none}.hack-form-row{grid-template-columns:1fr 1fr;gap:16px;display:grid}@media (max-width:600px){.hack-form-row{grid-template-columns:1fr}}.hack-error{background:var(--accent-soft);color:var(--rose);border-radius:6px;padding:10px 12px;font-size:13px}@media (max-width:700px){.hack-page{padding:16px 12px 100px}.hack-row{grid-template-columns:1fr;padding:14px}.hack-row-side{flex-flow:wrap;justify-content:flex-start;align-items:center;min-width:0}.post-row{grid-template-columns:32px 1fr;padding:12px 14px}.post-row-side{display:none}.hack-header{padding:18px}}
