:root{--bg-page:#fbfbfc;--bg-nav:rgba(251,251,252,0.85);--bg-surface:#ffffff;--bg-surface-hover:#f3f4f6;--text-primary:#111827;--text-secondary:#4b5563;--text-tertiary:#9ca3af;--brand-primary:#df5a5a;--brand-primary-hover:#c94c4c;--brand-accent:#2563eb;--brand-accent-light:#eff6ff;--line-light:#e5e7eb;--line-strong:#d1d5db;--tag-qa-bg:#fef2f2;--tag-qa-text:#dc2626;--tag-skill-bg:#ecfdf5;--tag-skill-text:#059669;--tag-workflow-bg:#eff6ff;--tag-workflow-text:#2563eb;--tag-tactic-bg:#fefce8;--tag-tactic-text:#ca8a04;--tag-official-bg:#111827;--tag-official-text:#f9fafb;--space-xs:4px;--space-sm:8px;--space-md:16px;--space-lg:24px;--space-xl:32px;--space-2xl:48px;--space-3xl:64px;--content-max-width:1100px;--sidebar-width:260px}*{box-sizing:border-box;margin:0;padding:0}body{font-family:Microsoft YaHei,微软雅黑,PingFang SC,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:var(--text-primary);background:linear-gradient(90deg,rgba(18,62,103,.035) 1px,transparent 0),linear-gradient(rgba(18,62,103,.035) 1px,transparent 0),linear-gradient(180deg,#fbfcfe,#edf4f8);background-size:64px 64px,64px 64px,auto;line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:inherit;text-decoration:none}ul{list-style:none}button{background:none;cursor:pointer}button,input{font-family:inherit;border:none}input{outline:none}h1,h2,h3,h4,h5{color:var(--text-primary);line-height:1.3}.navbar{position:sticky;top:0;z-index:50;background:var(--bg-nav);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--line-light)}.nav-container{max-width:var(--content-max-width);margin:0 auto;height:64px;padding:0 var(--space-xl);justify-content:space-between;gap:var(--space-xl)}.brand-logo,.nav-container{display:flex;align-items:center}.brand-logo{gap:12px}.brand-symbol{color:var(--text-primary);display:flex;align-items:center}.brand-text{font-size:16px;font-weight:800;letter-spacing:-.02em}.nav-links{display:flex;gap:var(--space-lg);flex:1}.nav-links a{font-size:14px;font-weight:500;color:var(--text-secondary);transition:color .2s ease}.nav-links a.active,.nav-links a:hover{color:var(--text-primary)}.nav-actions{gap:var(--space-md)}.nav-actions,.search-trigger{display:flex;align-items:center}.search-trigger{gap:8px;padding:6px 12px;background:var(--bg-surface);border:1px solid var(--line-light);border-radius:6px;color:var(--text-tertiary);font-size:13px;cursor:text;transition:border-color .2s ease}.search-trigger:hover{border-color:var(--line-strong)}.search-trigger:focus-within{border-color:var(--brand,#df5a5a)}.search-trigger input{border:0;outline:none;background:transparent;font-size:13px;color:var(--text-primary);width:160px}.nav-search{position:relative}.search-suggest{position:absolute;top:calc(100% + 6px);left:0;right:0;min-width:220px;background:var(--surface,#fff);border:1px solid var(--line-light);border-radius:10px;box-shadow:0 8px 28px rgba(0,0,0,.12);padding:8px;z-index:40}.search-suggest-group+.search-suggest-group{margin-top:6px;padding-top:6px;border-top:1px solid var(--line-light)}.search-suggest-group button{display:block;width:100%;text-align:left;border:0;background:transparent;padding:7px 8px;border-radius:6px;font-size:13px;color:var(--text-primary);cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.search-suggest-group button:hover{background:var(--bg-surface-hover)}.btn{display:inline-flex;align-items:center;justify-content:center;height:36px;padding:0 16px;font-size:14px;font-weight:600;border-radius:6px;transition:all .2s ease}.btn-small{height:32px;padding:0 12px;font-size:13px}.btn-ghost{color:var(--text-secondary)}.btn-ghost:hover{color:var(--text-primary);background:var(--bg-surface-hover)}.btn-primary{background:var(--brand-primary);color:#fff}.btn-primary:hover{background:var(--brand-primary-hover)}.community-banner{background-color:#fff3cd;color:#856404;border-bottom:1px solid #ffeeba;padding:10px 20px;font-size:13px;display:flex;justify-content:center}.banner-content{display:flex;align-items:center;gap:8px;max-width:var(--content-max-width)}.banner-content p{margin:0}.banner-icon{font-size:14px}.banner-link{margin-left:8px;color:#856404;font-weight:600;text-decoration:underline;white-space:nowrap}.banner-link:hover{color:#5c4503}.layout-container{max-width:var(--content-max-width);margin:0 auto;padding:var(--space-2xl) var(--space-xl);display:grid;grid-template-columns:var(--sidebar-width) 1fr;gap:var(--space-3xl);align-items:start}.sidebar-sticky{position:sticky;top:calc(64px + var(--space-2xl));display:flex;flex-direction:column;gap:var(--space-2xl)}.nav-heading{font-size:11px;font-weight:700;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--space-md)}.user-widget{background:var(--bg-surface);border:1px solid var(--line-light);border-radius:12px;padding:var(--space-md)}.widget-header h3{font-size:13px;font-weight:600;color:var(--text-secondary);margin-bottom:var(--space-sm)}.score-banner{display:flex;align-items:center;justify-content:space-between;background:var(--brand-accent-light);padding:12px;border-radius:8px}.score-label{font-size:12px;color:var(--brand-accent);font-weight:500}.score-value{font-size:18px;font-weight:800;color:var(--brand-accent);margin-left:auto;margin-right:12px}.score-action{font-size:12px;font-weight:600;color:var(--brand-accent)}.score-action:hover{text-decoration:underline}.channel-nav ul{display:flex;flex-direction:column;gap:4px}.channel-nav a{display:flex;align-items:center;gap:12px;padding:8px 12px;margin:0 -12px;border-radius:6px;font-size:14px;font-weight:500;color:var(--text-secondary);transition:all .2s ease}.channel-nav a:hover{color:var(--text-primary);background:var(--bg-surface-hover)}.channel-nav a.active{color:var(--text-primary);background:var(--bg-surface);box-shadow:0 1px 2px rgba(0,0,0,.04);font-weight:600}.channel-nav .icon{font-size:16px;opacity:.8}.ranking-list{display:flex;flex-direction:column;gap:var(--space-md)}.ranking-item{display:flex;align-items:center;gap:12px;text-decoration:none;color:inherit;border-radius:8px;transition:background .15s}.ranking-item:hover{background:var(--surface-hover,rgba(0,0,0,.04))}.ranking-item:hover .name{color:var(--brand,#df5a5a)}.avatar{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700}.ranking-item .info{display:flex;flex-direction:column}.ranking-item .name{font-size:13px;font-weight:600;color:var(--text-primary)}.ranking-empty,.ranking-item .desc{font-size:12px;color:var(--text-tertiary)}.ranking-empty{padding:4px 0}.sidebar-footer{font-size:12px;color:var(--text-tertiary);border-top:1px solid var(--line-light);padding-top:var(--space-md)}.sidebar-footer a{color:var(--text-secondary)}.sidebar-footer a:hover{color:var(--text-primary)}.sidebar-footer p{margin-top:4px}.feed-header{margin-bottom:var(--space-xl)}.page-title{font-size:28px;font-weight:800;letter-spacing:-.03em;margin-bottom:8px}.page-desc{font-size:15px;color:var(--text-secondary);max-width:600px}.composer-inline{display:flex;gap:16px;background:var(--bg-surface);border:1px solid var(--line-light);border-radius:12px;padding:16px;margin-bottom:var(--space-2xl);box-shadow:0 4px 6px -1px rgba(0,0,0,.02);transition:border-color .3s ease,box-shadow .3s ease}.composer-inline:hover{border-color:var(--line-strong);box-shadow:0 4px 12px -1px rgba(0,0,0,.05)}.composer-avatar{width:40px;height:40px;border-radius:50%;background:var(--line-light);flex-shrink:0}.composer-input-area{flex:1;display:flex;flex-direction:column;gap:12px}.composer-input-area input{width:100%;font-size:15px;color:var(--text-primary);background:transparent;padding-top:8px}.composer-input-area input::-moz-placeholder{color:var(--text-tertiary)}.composer-input-area input::placeholder{color:var(--text-tertiary)}.composer-actions{justify-content:space-between;border-top:1px solid var(--line-light);padding-top:12px}.icon-btn{color:var(--text-tertiary);display:flex;align-items:center;justify-content:center;padding:4px;border-radius:4px}.icon-btn:hover{color:var(--text-primary);background:var(--bg-surface-hover)}.feed-search{display:flex;align-items:center;gap:8px;padding:10px 14px;margin-bottom:var(--space-md);border:1px solid var(--line-light);border-radius:10px;background:var(--surface,#fff);color:var(--text-tertiary)}.feed-search:focus-within{border-color:var(--brand,#df5a5a)}.feed-search input{flex:1;min-width:0;border:0;outline:none;background:transparent;font-size:14px;color:var(--text-primary)}.feed-search-clear{flex:none;border:0;background:transparent;cursor:pointer;font-size:18px;line-height:1;color:var(--text-tertiary);padding:0 4px}.feed-search-clear:hover{color:var(--text-primary)}.feed-filters{margin-bottom:var(--space-lg);border-bottom:1px solid var(--line-light)}.tabs{display:flex;gap:var(--space-lg)}.tabs a,.tabs button{padding:0 0 12px;font-size:14px;font-weight:500;color:var(--text-secondary);position:relative}.tabs a:hover,.tabs button:hover{color:var(--text-primary)}.tabs a.active,.tabs button.active{color:var(--text-primary);font-weight:600}.tabs a.active:after,.tabs button.active:after{content:"";position:absolute;bottom:-1px;left:0;right:0;height:2px;background:var(--brand-primary);border-radius:2px 2px 0 0}.feed-list{display:flex;flex-direction:column}.feed-item{padding:var(--space-lg) 0;border-bottom:1px solid var(--line-light);transition:transform .2s ease}.feed-item:last-child{border-bottom:none}.item-meta{display:flex;align-items:center;gap:12px;margin-bottom:10px;font-size:13px}.badge{padding:2px 8px;border-radius:4px;font-size:11px;font-weight:700;letter-spacing:.02em}.badge-official{background:var(--tag-official-bg);color:var(--tag-official-text)}.badge-brand{background:var(--brand-primary);color:#fff}.badge-skill{background:var(--tag-skill-bg);color:var(--tag-skill-text)}.badge-qa{background:var(--tag-qa-bg);color:var(--tag-qa-text)}.badge-workflow{background:var(--tag-workflow-bg);color:var(--tag-workflow-text)}.badge-tactic{background:var(--tag-tactic-bg);color:var(--tag-tactic-text)}.badge-featured{background:#fbeecb;color:#9a6b00}.badge-pinned{background:#fde8e8;color:#c0392b}.glass-overlay{position:fixed;inset:0;z-index:100;display:flex;align-items:center;justify-content:center;background:transparent;pointer-events:none;isolation:isolate}.glass-overlay.is-active{pointer-events:auto}.glass-modal{position:relative;width:90%;max-width:420px;--glass-sampled-tint:rgba(17,24,39,0.11);overflow:hidden;background:linear-gradient(135deg,rgba(255,255,255,.72),rgba(255,255,255,.36) 42%,rgba(255,255,255,.24)),rgba(255,255,255,.22);backdrop-filter:blur(22px) saturate(160%) contrast(1.04);-webkit-backdrop-filter:blur(22px) saturate(160%) contrast(1.04);border:1px solid rgba(255,255,255,.58);border-radius:24px;padding:var(--space-xl) var(--space-2xl);box-shadow:inset 0 1px 0 rgba(255,255,255,.82),inset 0 0 0 1px rgba(255,255,255,.18),0 0 18px color-mix(in srgb,var(--glass-sampled-tint) 42%,transparent);will-change:transform,opacity;transform:translateY(18px) scale(.985) translateZ(0);opacity:0;transition:transform .44s cubic-bezier(.16,1,.3,1),opacity .24s ease;color:var(--text-primary);text-align:center}.glass-overlay.is-active .glass-modal{transform:translateY(0) scale(1) translateZ(0);opacity:1}.glass-modal:before{inset:-22px;border-radius:36px;padding:24px;background:linear-gradient(135deg,transparent 18%,var(--glass-sampled-tint),transparent 82%),rgba(255,255,255,.04);backdrop-filter:blur(30px) saturate(260%) contrast(1.45) brightness(1.04);-webkit-backdrop-filter:blur(30px) saturate(260%) contrast(1.45) brightness(1.04);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;filter:blur(.6px);opacity:.58}.glass-modal:after,.glass-modal:before{content:"";position:absolute;z-index:0;pointer-events:none}.glass-modal:after{inset:1px;border-radius:23px;background:radial-gradient(72px 28px at 8% 48%,rgba(255,255,255,.24),transparent 74%),radial-gradient(92px 36px at 0 58%,var(--glass-sampled-tint),transparent 76%),linear-gradient(101deg,transparent 0 42%,rgba(255,255,255,.16) 48%,transparent 58%);mix-blend-mode:screen;opacity:.88;animation:liquid-breathe 5.5s ease-in-out infinite alternate}.glass-modal-content{position:relative;z-index:2}.glass-modal h2{font-size:20px;font-weight:700;margin-bottom:var(--space-md);letter-spacing:-.01em}.glass-modal p{font-size:14px;color:var(--text-secondary);line-height:1.6}.glass-modal-close{position:absolute;top:14px;right:14px;width:28px;height:28px;border-radius:50%;background:rgba(255,255,255,.42);backdrop-filter:blur(12px) saturate(160%);-webkit-backdrop-filter:blur(12px) saturate(160%);border:1px solid rgba(255,255,255,.48);display:flex;align-items:center;justify-content:center;color:var(--text-secondary);transition:all .2s ease;z-index:2}.glass-modal-close:hover{background:rgba(255,255,255,.66);color:var(--text-primary)}@keyframes liquid-breathe{0%{opacity:.44;transform:translate3d(-1px,0,0) scale(1)}to{opacity:.68;transform:translate3d(1px,-1px,0) scale(1.006)}}@media (prefers-reduced-motion:reduce){.glass-modal,.glass-modal:after{animation:none;transition:opacity .2s ease}}.author{font-weight:600;color:var(--text-primary)}.time{color:var(--text-tertiary)}.item-title{font-size:18px;font-weight:700;margin-bottom:8px;letter-spacing:-.01em}.item-title a:hover{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:4px}.item-snippet{font-size:15px;color:var(--text-secondary);line-height:1.6;margin-bottom:16px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.item-thumb{width:-moz-fit-content;width:fit-content;margin:0 0 16px;border:1px solid var(--line-light);border-radius:8px;overflow:hidden}.item-thumb,.item-thumb img{display:block;max-width:100%}.item-thumb img{width:260px;height:150px;-o-object-fit:cover;object-fit:cover}.item-footer{display:flex;align-items:center;justify-content:space-between}.tags{display:flex;gap:8px}.tag{font-size:12px;color:var(--text-secondary);background:var(--bg-surface);border:1px solid var(--line-light);padding:2px 8px;border-radius:4px}.stats{display:flex;gap:16px}.stat{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--text-tertiary);font-weight:500}.stat svg{opacity:.7}.stat.highlight{color:var(--brand-accent)}.stat.highlight svg{opacity:1}.feed-load-more{margin-top:var(--space-xl);display:flex;justify-content:center}@media (max-width:900px){.layout-container{grid-template-columns:1fr;padding:var(--space-lg)}.sidebar{display:none}}.resource-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:var(--space-xl);margin-top:var(--space-xl)}.resource-card{background:var(--bg-surface);border:1px solid var(--line-light);border-radius:12px;padding:var(--space-lg);display:flex;flex-direction:column;gap:var(--space-md);transition:box-shadow .2s ease,border-color .2s ease}.resource-card:hover{border-color:var(--line-strong);box-shadow:0 4px 12px rgba(0,0,0,.03)}.resource-icon{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:24px;background:var(--bg-surface-hover)}.resource-title{font-size:18px;font-weight:700;color:var(--text-primary)}.resource-desc{font-size:14px;color:var(--text-secondary);line-height:1.6;flex:1}.resource-footer{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line-light);padding-top:var(--space-md)}.price-tag{font-size:13px;font-weight:700;color:var(--brand-primary)}.market-layout{display:grid;grid-template-columns:1fr;gap:var(--space-3xl);max-width:900px;margin:0 auto}.balance-section{padding:var(--space-3xl) 0;border-bottom:1px solid var(--line-light);display:flex;flex-direction:column;align-items:center;text-align:center}.balance-label{font-size:14px;font-weight:600;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.1em;margin-bottom:var(--space-sm)}.balance-amount{font-size:96px;font-weight:300;color:var(--text-primary);line-height:1;letter-spacing:-.04em;margin-bottom:var(--space-lg)}.balance-amount span{font-size:24px;color:var(--text-tertiary);font-weight:400;margin-left:8px;vertical-align:text-top}.balance-actions{display:flex;gap:16px}.market-list{display:flex;flex-direction:column}.market-item{display:grid;grid-template-columns:60px 1fr auto;gap:var(--space-lg);padding:var(--space-2xl) 0;border-bottom:1px solid var(--line-light);align-items:center;transition:opacity .3s ease}.market-item:hover{opacity:.85}.market-item-icon{width:60px;height:60px;background:var(--bg-surface);border:1px solid var(--line-light);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:24px}.market-item-content{display:flex;flex-direction:column;gap:8px}.market-item-title{font-size:20px;font-weight:700;color:var(--text-primary);letter-spacing:-.01em}.market-item-desc{font-size:14px;color:var(--text-secondary);line-height:1.6;max-width:500px}.market-item-action{display:flex;flex-direction:column;align-items:flex-end;gap:12px}.market-item-price{font-size:24px;font-weight:300;color:var(--text-primary)}.market-item-price span{font-size:13px;color:var(--brand-primary);font-weight:700;margin-left:4px;vertical-align:middle}.auth-page{min-height:calc(100vh - 64px - 80px);display:flex;align-items:center;justify-content:center;padding:var(--space-2xl) var(--space-md)}.auth-card{width:100%;max-width:420px;background:var(--bg-surface);border:1px solid var(--line-light);border-radius:16px;padding:var(--space-2xl);box-shadow:0 4px 16px rgba(0,0,0,.04)}.auth-card h1{font-size:24px;font-weight:800;letter-spacing:-.02em;margin-bottom:6px}.auth-sub{font-size:14px;color:var(--text-secondary);margin-bottom:var(--space-xl)}.auth-form{display:flex;flex-direction:column;gap:var(--space-md)}.auth-input{width:100%;height:46px;padding:0 14px;border:1px solid var(--line-light);border-radius:8px;font-size:15px;color:var(--text-primary);background:var(--bg-surface);transition:border-color .2s ease}.auth-input:focus{border-color:var(--brand-primary)}.auth-row{display:flex;gap:12px}.auth-row .auth-input{flex:1}.auth-code-btn{flex-shrink:0;height:46px;padding:0 14px;border:1px solid var(--brand-primary);color:var(--brand-primary);border-radius:8px;font-size:14px;font-weight:600;white-space:nowrap;transition:opacity .2s ease}.auth-code-btn:disabled{opacity:.4;cursor:not-allowed}.auth-submit{width:100%;height:46px;border-radius:8px;font-size:15px;font-weight:600;background:var(--brand-primary);color:#fff;transition:background .2s ease}.auth-submit:hover:not(:disabled){background:var(--brand-primary-hover)}.auth-submit:disabled{opacity:.5;cursor:not-allowed}.auth-msg{font-size:14px;text-align:center}.auth-msg.ok{color:#059669}.auth-msg.err{color:var(--brand-primary)}.user-chip{font-size:14px;font-weight:600;max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-decoration:none;color:inherit}.user-chip:hover{color:var(--brand,#df5a5a)}.auth-tabs{display:flex;gap:24px;margin-bottom:4px}.auth-tabs button{padding:2px 0;border:0;background:transparent;font-size:20px;font-weight:800;color:#9ca3af;cursor:pointer;border-bottom:2px solid transparent}.auth-tabs button.active{color:#111827;border-color:#111827}.auth-methods{display:inline-flex;margin:4px 0 10px;padding:3px;background:#f3f4f6;border-radius:999px}.auth-methods button{padding:6px 18px;border:0;border-radius:999px;background:transparent;font-size:13px;font-weight:600;color:#6b7280;cursor:pointer;transition:color .2s,background .2s,box-shadow .2s}.auth-methods button.active{background:#fff;color:var(--brand-primary);box-shadow:0 1px 3px rgba(0,0,0,.1)}.auth-methods button:disabled{opacity:.55;cursor:not-allowed}.auth-switch-row{justify-content:space-between}.auth-remember,.auth-switch-row{display:flex;align-items:center;margin:2px 0}.auth-remember{gap:7px;font-size:13px;color:var(--text-secondary);cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.auth-remember input{width:14px;height:14px;accent-color:var(--brand);cursor:pointer}.auth-switch-link{border:0;background:none;color:var(--brand-primary);font-size:13px;cursor:pointer;padding:0}.auth-switch-link:hover{text-decoration:underline}.auth-forgot-link{border:0;background:none;color:#9ca3af;font-size:13px;cursor:pointer;padding:0}.auth-forgot-link:hover{color:var(--brand-primary)}.feed-empty{padding:40px 0;color:#9ca3af;text-align:center}.feed-sentinel{height:1px}.feed-loading{color:#9ca3af;font-size:14px}.feed-end,.feed-loading{padding:20px 0;text-align:center}.feed-end{color:#cbd5e1;font-size:13px}.profile-page{max-width:760px;margin:0 auto;padding:24px 16px 48px}.profile-header{display:flex;align-items:center;gap:20px;margin:16px 0 8px}.profile-avatar{width:64px;height:64px;border-radius:50%;flex:none;display:flex;align-items:center;justify-content:center;font-size:28px;font-weight:700;color:#fff;background:var(--brand,#df5a5a)}.profile-info{min-width:0}.profile-name{font-size:22px;font-weight:700;margin:0;color:var(--text-primary)}.profile-sub{margin:4px 0 0;color:var(--text-tertiary);font-size:14px}.profile-stats{display:flex;flex-wrap:wrap;gap:16px;margin-top:8px;font-size:14px;color:var(--text-secondary)}.profile-stats b{color:var(--text-primary)}.profile-joined{color:var(--text-tertiary)}.profile-section-title{font-size:16px;font-weight:600;margin:24px 0 12px;color:var(--text-primary)}.profile-tabs{display:flex;gap:8px;margin:24px 0 12px;border-bottom:1px solid var(--line-light)}.profile-tabs button{border:0;background:transparent;cursor:pointer;padding:8px 4px;margin-bottom:-1px;font-size:14px;font-weight:600;color:var(--text-tertiary);border-bottom:2px solid transparent}.profile-tabs button:hover{color:var(--text-primary)}.profile-tabs button.active{color:var(--brand,#df5a5a);border-bottom-color:var(--brand,#df5a5a)}.comment-list{gap:10px}.comment-item{display:block;text-decoration:none;color:inherit;padding:12px 14px;border:1px solid var(--line-light);border-radius:10px;background:var(--surface,#fff)}.comment-item:hover{border-color:var(--line-strong)}.comment-content{margin:0;font-size:14px;color:var(--text-primary)}.comment-sub{margin-top:6px;display:flex;gap:12px;font-size:12px;color:var(--text-tertiary)}.comment-post{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.comment-more{align-self:center;margin-top:4px}.profile-actions,.profile-edit-btn{margin-left:auto;align-self:flex-start;flex:none}.profile-actions{display:flex;gap:8px}.messages-page{max-width:760px;margin:0 auto;padding:24px 16px 48px}.messages-header h1{font-size:20px;font-weight:700;margin:12px 0 16px;color:var(--text-primary)}.messages-header a{color:var(--brand,#df5a5a);text-decoration:none}.msg-thread{gap:12px}.msg-scroll,.msg-thread{display:flex;flex-direction:column}.msg-scroll{gap:8px;max-height:60vh;overflow-y:auto;padding:4px}.msg-earlier{align-self:center}.msg-bubble{max-width:76%;align-self:flex-start;padding:9px 13px;border-radius:14px;background:var(--bg-surface);color:var(--text-primary);font-size:14px;line-height:1.5;white-space:pre-wrap;word-break:break-word}.msg-bubble.mine{align-self:flex-end;background:var(--brand,#df5a5a);color:#fff}.msg-composer{display:flex;gap:8px}.msg-composer input{flex:1;min-width:0;padding:10px 14px;border:1px solid var(--line-light);border-radius:10px;font-size:14px;color:var(--text-primary);background:var(--surface,#fff)}.msg-composer input:focus{outline:none;border-color:var(--brand,#df5a5a)}.msg-error{margin:0;font-size:13px;color:var(--brand,#df5a5a)}.profile-edit-overlay{position:fixed;inset:0;z-index:50;background:rgba(0,0,0,.4);display:flex;align-items:center;justify-content:center;padding:16px}.profile-edit-card{width:100%;max-width:420px;background:var(--surface,#fff);border-radius:12px;padding:24px;box-shadow:0 12px 40px rgba(0,0,0,.2)}.profile-edit-title{margin:0 0 16px;font-size:18px;font-weight:700;color:var(--text-primary)}.profile-edit-field{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}.profile-edit-field>span{font-size:13px;color:var(--text-secondary)}.profile-edit-field input,.profile-edit-field select{padding:9px 12px;border:1px solid var(--border,#e3e3e3);border-radius:8px;font-size:14px;color:var(--text-primary);background:var(--surface,#fff)}.profile-edit-field input:focus,.profile-edit-field select:focus{outline:none;border-color:var(--brand,#df5a5a)}.profile-edit-msg{margin:4px 0 0;font-size:13px;color:var(--brand,#df5a5a)}.profile-edit-hint{margin:4px 0 0;font-size:13px;color:var(--text-secondary)}.profile-edit-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}.profile-edit-card{max-height:88vh;overflow-y:auto}.profile-edit-sep{border:0;border-top:1px solid var(--border,#e3e3e3);margin:20px 0 16px}.pf-row{display:flex;gap:8px;align-items:center}.pf-row+.pf-row{margin-top:8px}.pf-row input{flex:1;min-width:0;padding:9px 12px;border:1px solid var(--border,#e3e3e3);border-radius:8px;font-size:14px;color:var(--text-primary);background:var(--surface,#fff)}.pf-row input:focus{outline:none;border-color:var(--brand,#df5a5a)}.pf-row .btn{flex:none;white-space:nowrap}.pf-tag{margin-left:8px;font-style:normal;font-size:12px;font-weight:600;padding:1px 6px;border-radius:4px}.pf-ok{color:#1a7f37;background:rgba(26,127,55,.12)}.pf-warn{color:#b7791f;background:rgba(183,121,31,.14)}.composer-expanded{background:#fff;border:1px solid #eceef1;border-radius:12px;padding:16px;display:flex;flex-direction:column;gap:10px;margin-bottom:20px}.composer-expanded input,.composer-expanded select,.composer-expanded textarea{width:100%;border:1px solid #e5e7eb;border-radius:8px;padding:10px 12px;font:inherit;font-size:14px;color:#111827;background:#fff}.composer-expanded .composer-title{font-size:16px;font-weight:600}.composer-expanded textarea{resize:vertical}.composer-actions{display:flex;gap:10px;align-items:center;justify-content:flex-end}.post-detail{max-width:760px;margin:0 auto;padding:24px 20px 80px}.post-main{background:#fff;border:1px solid #eceef1;border-radius:12px;padding:24px}.post-title{font-size:24px;font-weight:800;color:#111827;margin:12px 0;line-height:1.4}.post-content{white-space:pre-wrap;color:#374151;line-height:1.9;font-size:15px;margin:16px 0}.post-actions{display:flex;gap:18px;align-items:center;padding-top:16px;border-top:1px solid #f1f3f5;color:#6b7280;font-size:13px}.bookmark-btn{border:1px solid #e5e7eb;background:#fff;border-radius:999px;padding:6px 14px;font-size:13px;cursor:pointer;color:#374151}.bookmark-btn.active{color:var(--brand-primary);border-color:var(--brand-primary)}.post-comments{margin-top:24px}.post-comments h3{font-size:16px;font-weight:700;margin-bottom:12px;color:#111827}.comment-form textarea{width:100%;border:1px solid #e5e7eb;border-radius:8px;padding:10px 12px;font:inherit;font-size:14px;resize:vertical}.comment-form-actions{display:flex;gap:10px;align-items:center;justify-content:flex-end;margin-top:8px}.comment-err{color:#df5a5a;font-size:13px}.comment-list{margin-top:20px;display:flex;flex-direction:column;gap:14px}.comment{background:#fff;border:1px solid #eceef1;border-radius:10px;padding:14px 16px}.comment-head{display:flex;gap:10px;align-items:baseline;margin-bottom:6px}.comment-head b{color:#111827;font-size:14px}.comment-head .time{color:#9ca3af;font-size:12px}.comment p{color:#374151;font-size:14px;line-height:1.7;white-space:pre-wrap}.search-page{max-width:760px;margin:0 auto;padding:32px 20px 80px}.search-box{display:flex;gap:10px;margin-bottom:16px}.search-box input{flex:1;border:1px solid #e5e7eb;border-radius:10px;padding:12px 16px;font:inherit;font-size:15px}.search-meta{color:#6b7280;font-size:13px;margin-bottom:16px}.composer-toolbar{display:flex;flex-wrap:wrap;gap:6px}.composer-toolbar button{border:1px solid #e5e7eb;background:#fff;border-radius:6px;padding:5px 10px;font-size:13px;cursor:pointer;color:#374151;line-height:1}.composer-toolbar button:hover:not(:disabled){background:#f3f4f6}.composer-toolbar button:disabled{opacity:.5;cursor:default}.composer-preview{border:1px dashed #e5e7eb;border-radius:8px;padding:12px 14px;background:#fbfbfc}.composer-preview-label{font-size:12px;color:#9ca3af;margin-bottom:8px}.guidelines{max-width:760px;margin:0 auto}.guidelines .markdown-body{background:var(--surface,#fff);border:1px solid var(--line-light);border-radius:12px;padding:28px 32px}.guidelines .markdown-body h2:first-child{margin-top:0}.guidelines-foot{margin-top:2em;padding-top:1.2em;border-top:1px solid var(--line-light);color:var(--text-secondary);font-size:14px}.markdown-body{color:var(--text-primary);font-size:15px;line-height:1.75;word-wrap:break-word}.markdown-body>:first-child{margin-top:0}.markdown-body>:last-child{margin-bottom:0}.markdown-body h1,.markdown-body h2,.markdown-body h3,.markdown-body h4{margin:1.4em 0 .6em;font-weight:700;line-height:1.3}.markdown-body h1{font-size:1.6em}.markdown-body h2{font-size:1.35em;border-bottom:1px solid #eceef1;padding-bottom:.3em}.markdown-body h3{font-size:1.15em}.markdown-body h4{font-size:1em}.markdown-body p{margin:0 0 1em}.markdown-body a{color:var(--brand-accent);text-decoration:none}.markdown-body a:hover{text-decoration:underline}.markdown-body ul{list-style:disc}.markdown-body ol{list-style:decimal}.markdown-body ol,.markdown-body ul{margin:0 0 1em;padding-left:1.6em}.markdown-body li{margin:.25em 0}.markdown-body blockquote{margin:0 0 1em;padding:.4em 1em;border-left:3px solid var(--brand-primary);background:#fafafa;color:var(--text-secondary)}.markdown-body code{background:#f3f4f6;border-radius:4px;padding:.15em .4em;font-size:.9em;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.markdown-body pre{margin:0 0 1em;padding:14px 16px;background:#1f2937;border-radius:8px;overflow:auto}.markdown-body pre code{background:none;padding:0;color:#e5e7eb;font-size:.88em}.markdown-body img{max-width:100%;height:auto;border-radius:8px;margin:.4em 0;display:block}.markdown-body table{border-collapse:collapse;margin:0 0 1em;max-width:100%;display:block;overflow:auto}.markdown-body td,.markdown-body th{border:1px solid #e5e7eb;padding:6px 12px;text-align:left}.markdown-body th{background:#f9fafb;font-weight:600}.markdown-body hr{border:0;border-top:1px solid #eceef1;margin:1.5em 0}.comment .markdown-body{font-size:14px;line-height:1.7}.comment-like,.like-btn{display:inline-flex;align-items:center;gap:5px;border:0;background:none;padding:4px 2px;font:inherit;font-size:13px;cursor:pointer;color:var(--text-tertiary)}.comment-like.active,.comment-like:hover:not(:disabled),.like-btn.active,.like-btn:hover:not(:disabled){color:var(--brand-primary)}.comment-like:disabled,.like-btn:disabled{opacity:.6;cursor:default}.comment-like svg,.like-btn svg{display:block}.comment-like{font-size:12px}.comment-foot{margin-top:8px;display:flex;flex-wrap:wrap;align-items:center;gap:14px}.like-stat{color:var(--brand-primary)}.like-stat svg{display:block}.notif-bell,.notif-wrap{position:relative}.notif-bell{display:inline-flex;align-items:center;border:0;background:transparent;cursor:pointer;line-height:1;padding:6px;border-radius:8px;color:var(--text-secondary)}.notif-bell:hover{color:var(--text-primary);background:var(--bg-surface-hover)}.notif-badge{position:absolute;top:0;right:0;min-width:16px;height:16px;padding:0 4px;background:var(--brand-primary);color:#fff;border-radius:999px;font-size:10px;line-height:16px;text-align:center;font-weight:700}.notif-backdrop{position:fixed;inset:0;z-index:40}.notif-panel{position:absolute;right:0;top:calc(100% + 8px);width:320px;max-height:420px;overflow:auto;background:#fff;border:1px solid #eceef1;border-radius:12px;box-shadow:0 12px 32px rgba(0,0,0,.12);z-index:50}.notif-head{padding:12px 16px;font-weight:600;font-size:14px;border-bottom:1px solid #f0f0f0}.notif-empty{padding:28px 16px;text-align:center;color:var(--text-tertiary);font-size:13px}.notif-item{display:block;padding:11px 16px;font-size:13px;color:var(--text-secondary);border-bottom:1px solid #f5f5f5;line-height:1.5}.notif-item:hover{background:#fafafa}.notif-item.unread{background:#fef6f5;color:var(--text-primary)}.notif-item.unread:hover{background:#fdeeec}.accepted-badge{display:inline-block;background:#dcfce7;color:#166534;border-radius:999px;padding:2px 10px;font-size:12px;font-weight:600}.comment.accepted{border-left:3px solid #16a34a;padding-left:12px;background:#f6fef9}.accept-btn{border:1px solid #16a34a;background:#fff;color:#16a34a;border-radius:8px;padding:4px 12px;font:inherit;font-size:12px;cursor:pointer}.accept-btn:hover:not(:disabled){background:#f0fdf4}.accept-btn:disabled{opacity:.6;cursor:default}.delete-btn{border:1px solid var(--border);background:#fff;color:var(--text-secondary);border-radius:8px;padding:4px 12px;font:inherit;font-size:12px;cursor:pointer}.delete-btn:hover:not(:disabled){border-color:#dc2626;color:#dc2626;background:#fef2f2}.delete-btn:disabled{opacity:.6;cursor:default}.post-main-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.notif-item.is-gone{color:var(--text-tertiary,#999);cursor:default}.notif-item.is-gone:hover{background:transparent}.notif-item.is-gone.unread:hover{background:#fef6f5}.comment-replies{margin:12px 0 0 18px;padding-left:14px;border-left:2px solid #f0f0f0;display:flex;flex-direction:column;gap:14px}.comment.reply{background:#fafafa;border-radius:8px;padding:10px 12px}.reply-to,.reply-toggle{color:var(--text-tertiary);font-size:12px}.reply-toggle{border:0;background:none;cursor:pointer;padding:0}.reply-toggle:hover{color:var(--brand-primary)}.reply-box{flex-basis:100%;width:100%;margin-top:8px}.reply-box textarea{width:100%;border:1px solid #e5e7eb;border-radius:8px;padding:8px 10px;font:inherit;font-size:13px;resize:vertical}.reply-box-actions{justify-content:flex-end;margin-top:6px}.breadcrumb,.reply-box-actions{display:flex;gap:8px;align-items:center}.breadcrumb{font-size:13px;margin-bottom:16px}.breadcrumb a{color:var(--text-secondary)}.breadcrumb a:hover{color:var(--brand-primary)}.bc-sep{color:#d1d5db}.bc-current{color:var(--text-tertiary)}.docs-layout .sidebar-sticky{background:var(--bg-surface);border:1px solid var(--line-light);border-radius:12px;padding:16px 12px;gap:12px;height:calc(100vh - 204px);min-height:360px;overflow:auto}.docs-layout .nav-heading{margin-bottom:4px;padding:0 8px}.doc-tree ul{display:flex;flex-direction:column;gap:1px}.doc-tree-children{margin-left:9px;padding-left:8px;border-left:1px solid var(--line-light)}.doc-tree-row{display:flex;align-items:center;gap:2px;border-radius:6px;padding-right:6px}.doc-tree-row:hover{background:var(--bg-surface-hover)}.doc-tree-row.active{background:color-mix(in srgb,var(--brand-primary) 9%,transparent);box-shadow:inset 2px 0 0 var(--brand-primary)}.doc-tree-row.active .doc-tree-link{color:var(--brand-primary-hover);font-weight:600}.doc-tree-caret{flex:none;width:18px;height:18px;display:inline-flex;align-items:center;justify-content:center;border:0;background:none;border-radius:4px;color:var(--text-tertiary);font-size:9px;cursor:pointer;transition:transform .12s ease,background .12s ease}.doc-tree-caret:hover{background:var(--line-light);color:var(--text-secondary)}.doc-tree-caret.open{transform:rotate(90deg)}.doc-tree-caret.placeholder{cursor:default}.doc-tree-link{flex:1;min-width:0;padding:6px 4px;border:0;background:none;font-size:13.5px;line-height:1.4;color:var(--text-secondary);text-align:left;cursor:pointer;overflow-wrap:anywhere}.doc-tree-link.as-folder,.doc-tree-link:hover{color:var(--text-primary)}.doc-tree-link.as-folder{font-weight:500}@media (max-width:900px){.docs-layout .sidebar{display:block;margin-bottom:var(--space-lg)}.docs-layout .sidebar-sticky{position:static;height:auto;min-height:0;max-height:280px}}.doc-index{display:flex;flex-direction:column;gap:22px}.doc-index-group h3{margin:0 0 8px;font-size:15px;font-weight:700}.doc-index-group h3 a:hover{color:var(--brand-accent)}.doc-index-group ul{display:flex;flex-wrap:wrap;gap:8px}.doc-index-group li a,.doc-index-group li span{display:inline-block;padding:5px 12px;border:1px solid var(--line-light);border-radius:999px;font-size:13px;color:var(--text-secondary)}.doc-index-group li a:hover{border-color:var(--brand-primary);color:var(--brand-accent)}.doc-index-group li span{color:var(--text-tertiary)}.doc-article{background:var(--bg-surface);border:1px solid var(--line-light);border-radius:12px;padding:28px 32px}.doc-title{margin:0 0 6px;font-size:26px;font-weight:700;line-height:1.3}.doc-updated{margin:0 0 20px;color:var(--text-tertiary);font-size:12px}.doc-links{margin-top:24px}.doc-links h2{margin:0 0 12px;font-size:15px;font-weight:700;color:var(--text-secondary)}.doc-links ul{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:10px}.doc-links li a{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 14px;border:1px solid var(--line-light);border-radius:10px;background:var(--bg-surface);font-size:14px;color:var(--text-primary);transition:all .15s ease}.doc-links li a:hover{border-color:var(--brand-primary);box-shadow:0 2px 8px rgba(0,0,0,.05)}.doc-links .doc-link-arrow{color:var(--brand-accent)}.muted-note{color:var(--text-tertiary);font-size:13px}.markdown-body img.k2-emoji{display:inline-block;width:108px;height:108px;margin:2px 4px 2px 0;vertical-align:middle;border-radius:10px}.comment .markdown-body img.k2-emoji{width:84px;height:84px}.emoji-picker{position:relative;display:inline-flex}.emoji-trigger{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border:1px solid var(--line-light);border-radius:6px;background:var(--bg-surface);color:var(--text-secondary);font-size:12px;cursor:pointer;transition:all .15s ease}.emoji-trigger:hover{border-color:var(--brand-primary);color:var(--brand-primary)}.emoji-panel{position:absolute;bottom:calc(100% + 8px);left:0;z-index:30;display:grid;grid-template-columns:repeat(4,1fr);gap:6px;width:320px;padding:10px;background:var(--bg-surface);border:1px solid var(--line-light);border-radius:12px;box-shadow:0 8px 28px rgba(0,0,0,.12)}.emoji-item{display:flex;flex-direction:column;align-items:center;gap:2px;padding:6px 2px;border:0;border-radius:8px;background:none;cursor:pointer}.emoji-item:hover{background:var(--bg-surface-hover)}.emoji-item img{width:56px;height:56px;border-radius:6px}.emoji-item span{font-size:10px;color:var(--text-tertiary);line-height:1.2;text-align:center}@media (max-width:480px){.emoji-panel{width:min(300px,calc(100vw - 40px));grid-template-columns:repeat(3,1fr)}}