:root{--bg: #faf9f5;--bg-soft: #f5f4ef;--surface: #ffffff;--surface-2: #fcfbf8;--border: #eae8e4;--border-strong: #e0ddd6;--text: #3d3929;--text-soft: #6f6b5f;--text-faint: #9a958a;--accent: #d97757;--accent-hover: #c96442;--accent-soft: #fbf0ea;--green: #2f8f5b;--green-soft: #eaf6ef;--red: #c0392b;--red-soft: #fbecec;--amber: #b7791f;--amber-soft: #fbf3e0;--blue: #2f6fb3;--radius: 10px;--shadow: 0 1px 2px rgba(0, 0, 0, .04), 0 8px 24px rgba(0, 0, 0, .04);--font-serif: ui-serif, Georgia, "Times New Roman", "Songti SC", "STSong", SimSun, serif;--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;--font-mono: ui-monospace, SFMono-Regular, Menlo, Consolas, "Courier New", monospace}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--bg);color:var(--text);font-family:var(--font-sans);font-size:15px;line-height:1.7;-webkit-font-smoothing:antialiased}button{font-family:inherit}a{color:var(--accent);text-decoration:none}a:hover{color:var(--accent-hover)}.container{max-width:1180px;margin:0 auto;padding:0 28px}.topnav{border-bottom:1px solid var(--border);background:#faf9f5e6;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);position:sticky;top:0;z-index:50}.topnav-inner{display:flex;align-items:center;justify-content:space-between;height:60px}.brand{display:flex;align-items:center;gap:10px;font-family:var(--font-serif);font-size:18px;font-weight:600;color:var(--text);cursor:pointer;border:none;background:none;padding:0}.brand-mark{width:30px;height:30px;border-radius:8px;background:var(--accent);color:#fff;display:flex;align-items:center;justify-content:center;font-family:var(--font-serif);font-size:16px;font-weight:700;flex:none}.nav-actions{display:flex;align-items:center;gap:14px}.status-pill{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--text-soft);background:var(--surface);border:1px solid var(--border);border-radius:999px;padding:3px 12px}.status-dot{width:8px;height:8px;border-radius:50%;background:var(--text-faint);transition:background .3s}.status-dot.online{background:var(--green);box-shadow:0 0 0 3px var(--green-soft)}.link-btn{background:none;border:none;color:var(--text-soft);cursor:pointer;font-size:14px;padding:6px 10px;border-radius:6px;transition:color .15s,background .15s}.link-btn:hover{color:var(--accent);background:var(--accent-soft)}.hero{padding:56px 0 20px}.hero-eyebrow{color:var(--accent);font-size:13px;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.hero h1{font-family:var(--font-serif);font-size:40px;line-height:1.2;margin:12px 0;font-weight:600}.hero p{color:var(--text-soft);margin:0;max-width:640px}.main-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:28px;align-items:start;padding:24px 0 80px}@media (max-width: 960px){.main-grid{grid-template-columns:1fr}}.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 22px;border-bottom:1px solid var(--border)}.panel-title{display:flex;align-items:center;gap:10px;font-size:15px;font-weight:600;margin:0}.panel-sub{font-size:12px;color:var(--text-faint);font-weight:400}.panel-body{padding:22px}.md{color:var(--text);overflow-wrap:break-word}.md h1,.md h2,.md h3,.md h4{font-family:var(--font-serif);line-height:1.35;font-weight:600;margin:1.4em 0 .6em}.md h1{font-size:1.6em;padding-bottom:.3em;border-bottom:1px solid var(--border)}.md h2{font-size:1.32em}.md h3{font-size:1.12em}.md p{margin:.7em 0}.md ul,.md ol{padding-left:1.4em;margin:.6em 0}.md li{margin:.25em 0}.md blockquote{margin:.8em 0;padding:.3em 1em;border-left:3px solid var(--accent);background:var(--accent-soft);border-radius:0 6px 6px 0;color:var(--text-soft)}.md code{font-family:var(--font-mono);font-size:.9em;background:var(--bg-soft);border:1px solid var(--border);border-radius:4px;padding:.1em .35em}.md pre{background:#2d2a25;color:#f0ece4;border-radius:8px;padding:14px 16px;overflow:auto;font-size:13px;line-height:1.6}.md pre code{background:none;border:none;color:inherit;padding:0}.md table{border-collapse:collapse;width:100%;margin:.8em 0;font-size:.94em}.md th,.md td{border:1px solid var(--border-strong);padding:8px 12px;text-align:left}.md th{background:var(--bg-soft);font-weight:600}.md hr{border:none;border-top:1px solid var(--border);margin:1.2em 0}.comment-form{border-bottom:1px solid var(--border);padding:18px 22px}.comment-form .row{display:flex;gap:10px;margin-bottom:10px}.input,.textarea,.select{font-family:inherit;font-size:14px;color:var(--text);background:var(--surface);border:1px solid var(--border-strong);border-radius:8px;padding:9px 12px;outline:none;transition:border-color .15s,box-shadow .15s;width:100%}.input:focus,.textarea:focus,.select:focus{border-color:var(--accent);box-shadow:0 0 0 3px #d9775726}.textarea{resize:vertical;min-height:72px;line-height:1.6}.form-actions{display:flex;align-items:center;justify-content:space-between;gap:12px}.form-hint{font-size:12px;color:var(--text-faint);margin:0}.btn{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--border-strong);background:var(--surface);color:var(--text);font-size:14px;padding:9px 18px;border-radius:8px;cursor:pointer;transition:background .15s,border-color .15s,color .15s,transform .05s;white-space:nowrap}.btn:hover{background:var(--bg-soft)}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-primary{background:var(--text);border-color:var(--text);color:#fff}.btn-primary:hover{background:#2f2c24;border-color:#2f2c24}.btn-accent{background:var(--accent);border-color:var(--accent);color:#fff}.btn-accent:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.btn-sm{font-size:12px;padding:5px 12px;border-radius:6px}.comment-list{max-height:560px;overflow-y:auto}.comment-item{padding:16px 22px;border-bottom:1px solid var(--border);animation:fadeIn .4s ease}.comment-item:last-child{border-bottom:none}@keyframes fadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}@keyframes pulse{0%,to{opacity:.4}50%{opacity:1}}.comment-head{display:flex;align-items:center;gap:10px;margin-bottom:6px}.avatar{width:30px;height:30px;border-radius:50%;background:var(--accent-soft);color:var(--accent);display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;flex:none}.comment-name{font-size:13px;font-weight:600}.comment-time{font-size:12px;color:var(--text-faint)}.comment-content{margin:0;font-size:14px;white-space:pre-wrap;overflow-wrap:break-word}.analysis-badge{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:600;padding:2px 10px;border-radius:999px;margin-left:auto}.analysis-badge.pending{background:var(--bg-soft);color:var(--text-soft);border:1px solid var(--border)}.analysis-badge.good{background:var(--green-soft);color:var(--green);border:1px solid #cfe7da}.analysis-badge.bad{background:var(--red-soft);color:var(--red);border:1px solid #f3d2d0}.analysis-badge.discuss{background:var(--amber-soft);color:var(--amber);border:1px solid #ecd9b4}.analysis-badge.handled{background:var(--green-soft);color:var(--green);border:1px solid #cfe7da}.analysis-badge.error{background:var(--bg-soft);color:var(--red);border:1px solid var(--border)}.analysis-body{margin-top:10px;background:var(--surface-2);border:1px solid var(--border);border-radius:8px;padding:12px 14px;font-size:13px}.analysis-body .label{font-weight:600;color:var(--text-soft);font-size:12px}.empty{padding:40px 20px;text-align:center;color:var(--text-faint);font-size:13px}.toast-wrap{position:fixed;top:74px;right:20px;z-index:100;display:flex;flex-direction:column;gap:10px}.toast{background:var(--text);color:#fff;padding:10px 16px;border-radius:8px;font-size:13px;box-shadow:0 8px 24px #0000002e;animation:fadeIn .25s ease;max-width:320px}.toast.error{background:var(--red)}.toast.success{background:var(--green)}.auth-wrap{min-height:calc(100vh - 60px);display:flex;align-items:center;justify-content:center;padding:40px 20px}.auth-card{width:100%;max-width:400px}.auth-card h2{font-family:var(--font-serif);margin:0 0 4px;font-weight:600}.auth-card .sub{color:var(--text-soft);font-size:13px;margin:0 0 24px}.admin-layout{display:flex;min-height:calc(100vh - 60px)}.sidebar{width:240px;flex:none;border-right:1px solid var(--border);padding:22px 14px;background:var(--surface-2)}.side-nav{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}.side-nav button{display:flex;align-items:center;gap:10px;width:100%;text-align:left;background:none;border:none;padding:10px 12px;border-radius:8px;font-size:14px;color:var(--text-soft);cursor:pointer;transition:background .15s,color .15s}.side-nav button:hover{background:var(--bg-soft);color:var(--text)}.side-nav button.active{background:var(--accent-soft);color:var(--accent);font-weight:600}.nav-icon{width:18px;text-align:center;flex:none}.admin-main{flex:1;min-width:0;padding:32px 40px}.admin-page h2{font-family:var(--font-serif);font-size:24px;margin:0 0 4px;font-weight:600}.admin-page .page-desc{color:var(--text-soft);font-size:13px;margin:0 0 24px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}@media (max-width: 820px){.form-grid{grid-template-columns:1fr}}.field{margin-bottom:16px}.field label{display:block;font-size:13px;font-weight:600;margin-bottom:6px;color:var(--text)}.field .hint{font-size:12px;color:var(--text-faint);margin-top:5px}.editor-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;min-height:420px}@media (max-width: 820px){.editor-grid{grid-template-columns:1fr}}.editor-grid .textarea{height:100%;min-height:420px;font-family:var(--font-mono);font-size:13px;line-height:1.65;resize:vertical}.preview-box{border:1px solid var(--border);border-radius:8px;padding:16px 20px;background:var(--surface);overflow:auto;min-height:420px;max-height:640px}.section-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;gap:12px;flex-wrap:wrap}.filter-chips{display:flex;gap:8px;flex-wrap:wrap}.chip{border:1px solid var(--border-strong);background:var(--surface);color:var(--text-soft);font-size:12px;padding:4px 12px;border-radius:999px;cursor:pointer;transition:all .15s}.chip:hover{border-color:var(--accent);color:var(--accent)}.chip.active{background:var(--accent);border-color:var(--accent);color:#fff}.analysis-card{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);margin-bottom:14px;overflow:hidden}.analysis-card-head{display:flex;align-items:flex-start;gap:12px;padding:16px 20px;border-bottom:1px solid var(--border)}.analysis-card-head .comment-content{flex:1;font-size:14px}.analysis-meta{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.ai-block{padding:16px 20px;background:var(--accent-soft);border-top:1px solid #f4e0d6;font-size:13px}.ai-block .ai-label{color:var(--accent);font-weight:700;font-size:12px;letter-spacing:.04em;margin-bottom:6px}.ai-block .ai-field{margin-bottom:8px}.ai-block .ai-field strong{font-size:12px;color:var(--text-soft);font-weight:600}.ai-actions{display:flex;gap:8px;margin-top:10px;flex-wrap:wrap}.mono-path{font-family:var(--font-mono);font-size:12px;color:var(--text-soft);word-break:break-all}.err-text{color:var(--red);font-size:12px;word-break:break-all}.field-row{display:flex;gap:10px;align-items:flex-end}.field-row .field{flex:1;margin-bottom:0}footer{border-top:1px solid var(--border);padding:22px 0 34px;color:var(--text-faint);font-size:12px;text-align:center}
