:root{--bg:#0f172a;--panel:#1e293b;--panel-2:#243246;--border:#334155;--text:#e2e8f0;--muted:#94a3b8;--primary:#2563eb;--primary-hover:#1d4ed8}*{box-sizing:border-box}body,html{margin:0;padding:0;height:100%}body{background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Microsoft YaHei,Roboto,Helvetica,Arial,sans-serif}.app{display:flex;flex-direction:column;height:100vh}.topbar{justify-content:space-between;gap:16px;padding:12px 20px;background:var(--panel);border-bottom:1px solid var(--border);flex-wrap:wrap}.brand,.topbar{display:flex;align-items:center}.brand{gap:12px}.brand .logo{font-size:28px}.brand h1{margin:0;font-size:17px;font-weight:600}.brand p{margin:2px 0 0;font-size:12px;color:var(--muted)}.actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.btn{border:1px solid var(--border);background:var(--panel-2);color:var(--text);padding:8px 14px;border-radius:8px;font-size:13px;cursor:pointer;transition:all .15s ease;white-space:nowrap}.btn:hover{border-color:var(--primary)}.btn.ghost{background:transparent}.btn.primary{background:var(--primary);border-color:var(--primary);font-weight:600}.btn.primary:hover:not(:disabled){background:var(--primary-hover)}.btn:disabled{opacity:.5;cursor:not-allowed}.filename{display:flex;align-items:center;background:var(--panel-2);border:1px solid var(--border);border-radius:8px;padding:0 10px;height:36px}.filename input{background:transparent;border:none;outline:none;color:var(--text);font-size:13px;width:120px}.filename .ext{color:var(--muted);font-size:13px}.workspace{flex:1 1;display:grid;grid-template-columns:1fr 1fr;grid-gap:1px;gap:1px;background:var(--border);min-height:0}.pane{display:flex;flex-direction:column;background:var(--panel);min-height:0;min-width:0}.pane-head{display:flex;align-items:center;justify-content:space-between;padding:8px 14px;font-size:12px;font-weight:600;letter-spacing:.3px;background:var(--panel-2);border-bottom:1px solid var(--border)}.pane-head .muted{color:var(--muted);font-weight:400}.pane-body{flex:1 1;min-height:0;overflow:auto}.editor-loading{padding:20px;color:var(--muted);font-size:13px}.preview{width:100%;height:100%;border:none;background:#ffffff}.toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:#0b1220;color:#fff;border:1px solid var(--border);padding:10px 18px;border-radius:10px;font-size:13px;box-shadow:0 8px 24px rgba(0,0,0,.4);animation:toast-in .2s ease;z-index:50}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,8px)}to{opacity:1;transform:translate(-50%)}}.seo{flex:none;background:var(--panel);border-top:1px solid var(--border);padding:10px 20px;font-size:12px;color:var(--muted);max-height:42vh;overflow:auto}.seo-intro{margin:0 0 6px;line-height:1.7}.seo-intro strong{color:var(--text)}.seo-block>summary{cursor:pointer;color:var(--text);font-weight:600;list-style:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.seo-block>summary:before{content:"▸ ";color:var(--primary)}.seo-block[open]>summary:before{content:"▾ "}.seo-content{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));grid-gap:8px 32px;gap:8px 32px;margin-top:10px;line-height:1.7}.seo-content h2{font-size:13px;color:var(--text);margin:8px 0 4px}.seo-content ol,.seo-content ul{margin:0;padding-left:18px}.faq-item{margin-bottom:8px}.faq dt{color:var(--text);font-weight:600}.faq dd{margin:2px 0 0}@media (max-width:820px){.workspace{grid-template-columns:1fr;grid-template-rows:1fr 1fr}.brand p{display:none}}