:root{--bg:#f6f7f7;--surface:#fff;--surface2:#fafafa;--ink:#111315;--muted:#666d75;--line:#dfe3e6;--soft:#eef0f2;--accent:#146b4f;--accent2:#0f513c;--accentSoft:#e8f4ef;--danger:#b42318;--shadow:0 12px 32px rgba(17,19,21,.08);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);line-height:1.55}button,input,textarea,select{font:inherit}button{cursor:pointer}a{color:inherit}.app-shell{display:grid;min-height:100vh;grid-template-columns:304px minmax(0,1fr)}.sidebar{position:sticky;top:0;height:100vh;overflow:auto;border-right:1px solid var(--line);background:var(--surface)}.brand{position:sticky;top:0;z-index:2;display:flex;align-items:center;gap:12px;border-bottom:1px solid var(--line);background:rgba(255,255,255,.96);padding:18px;backdrop-filter:blur(10px)}.mark{display:grid;width:38px;height:38px;place-items:center;border-radius:8px;background:var(--ink);color:#fff;font-weight:800}.brand strong{display:block;font-size:14px;line-height:1.1}.brand span:last-child{display:block;color:var(--muted);font-size:12px}.nav-tools{display:grid;gap:10px;padding:14px;border-bottom:1px solid var(--line)}.search{width:100%;border:1px solid var(--line);border-radius:8px;background:var(--surface2);padding:10px 12px;outline:none}.mode-row{display:grid;grid-template-columns:1fr 1fr;gap:8px}.mode-button,.small-button,.primary-button,.ghost-button,.danger-button{min-height:38px;border-radius:8px;border:1px solid var(--line);background:var(--surface);color:var(--ink);font-size:13px;font-weight:700;transition:150ms ease;padding:0 12px}.mode-button.active,.primary-button{border-color:var(--accent);background:var(--accent);color:#fff}.ghost-button:hover,.mode-button:hover,.small-button:hover{border-color:#b7c0c7;background:var(--surface2)}.danger-button{border-color:#f3b7b0;color:var(--danger)}.primary-button:hover{background:var(--accent2)}.tree{padding:12px}.tree-section{margin-bottom:4px}.tree-row{display:grid;grid-template-columns:28px minmax(0,1fr);align-items:center;min-height:38px;border-radius:8px}.tree-row:hover{background:var(--surface2)}.disclosure{width:28px;height:28px;border:0;background:transparent;color:var(--muted);font-size:14px}.tree-link{display:block;overflow:hidden;padding:8px 10px 8px 2px;border-radius:8px;color:var(--muted);font-size:14px;font-weight:650;text-decoration:none;text-overflow:ellipsis;white-space:nowrap}.tree-link.active{color:var(--accent)}.subtree{margin-left:28px;padding-left:8px;border-left:1px solid var(--line)}.subtree[hidden]{display:none}.subtree .tree-link{font-size:13px;font-weight:600}.main{min-width:0;display:grid;grid-template-rows:auto 1fr}.topbar{position:sticky;top:0;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid var(--line);background:rgba(246,247,247,.94);padding:14px 28px;backdrop-filter:blur(10px)}.crumbs{color:var(--muted);font-size:13px;font-weight:650}.top-actions{display:flex;align-items:center;gap:8px}.content-grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:24px;padding:28px}.article{min-height:calc(100vh - 116px);border:1px solid var(--line);border-radius:8px;background:var(--surface);box-shadow:var(--shadow)}.article-inner{max-width:840px;padding:48px 56px 64px}.article-label{margin:0 0 14px;color:var(--accent);font-size:12px;font-weight:800;letter-spacing:.18em;text-transform:uppercase}.article h1{margin:0;font-size:clamp(34px,5vw,56px);line-height:1.03;letter-spacing:0}.description{margin:18px 0 0;color:var(--muted);font-size:18px;line-height:1.7}.body{margin-top:36px;color:#33383d;font-size:16px}.body h2{margin:34px 0 12px;padding-top:12px;border-top:1px solid var(--soft);color:var(--ink);font-size:24px;letter-spacing:0}.body h3{margin:26px 0 10px;color:var(--ink);font-size:18px;letter-spacing:0}.body p{margin:0 0 16px}.body ul,.body ol{margin:0 0 18px;padding-left:22px}.body li{margin:8px 0}.body strong{color:var(--ink)}.body img,.media-block img,.media-block video{max-width:100%;border-radius:8px;border:1px solid var(--line);background:var(--surface2)}.media-list{margin-top:34px;display:grid;gap:16px}.media-block{border-top:1px solid var(--soft);padding-top:20px}.media-caption{margin-top:8px;color:var(--muted);font-size:13px}.toc{position:sticky;top:82px;align-self:start;border:1px solid var(--line);border-radius:8px;background:var(--surface);padding:18px}.toc-title{margin:0 0 10px;color:var(--muted);font-size:12px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.toc a{display:block;margin:8px 0;color:var(--muted);font-size:13px;font-weight:650;text-decoration:none}.toc a:hover{color:var(--accent)}.editor-panel{position:fixed;inset:0 0 0 auto;z-index:20;display:grid;width:min(760px,100vw);grid-template-rows:auto 1fr auto;border-left:1px solid var(--line);background:var(--surface);box-shadow:-18px 0 42px rgba(17,19,21,.16)}.editor-panel[hidden]{display:none}.editor-head,.editor-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line);padding:16px 18px}.editor-foot{border-top:1px solid var(--line);border-bottom:0}.editor-head h2{margin:0;font-size:18px}.editor-body{overflow:auto;padding:18px}.form-grid{display:grid;gap:14px;margin-top:16px}.field{display:grid;gap:7px}.field label{color:var(--ink);font-size:13px;font-weight:750}.field input,.field textarea,.field select{width:100%;border:1px solid var(--line);border-radius:8px;background:var(--surface2);padding:10px 12px;outline:none}.field textarea{min-height:240px;resize:vertical;font-family:ui-monospace,SFMono-Regular,Consolas,"Liberation Mono",monospace;font-size:13px;line-height:1.55}.field .short-text{min-height:90px;font-family:inherit}.inline-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}.media-editor{display:grid;gap:10px;border:1px solid var(--line);border-radius:8px;padding:12px;background:var(--surface2)}.media-editor-row{display:grid;grid-template-columns:110px 1fr;gap:10px;align-items:center}.notice{border:1px solid #f0d8a8;border-radius:8px;background:#fff8e8;color:#68400f;padding:12px;font-size:13px}.hidden-file{display:none}.toast{position:fixed;right:18px;bottom:18px;z-index:30;max-width:360px;border-radius:8px;background:var(--ink);color:#fff;padding:12px 14px;box-shadow:var(--shadow);font-size:13px;opacity:0;transform:translateY(10px);pointer-events:none;transition:180ms ease}.toast.show{opacity:1;transform:translateY(0)}.mobile-menu{display:none}@media(max-width:1080px){.app-shell{grid-template-columns:1fr}.sidebar{position:fixed;inset:0 auto 0 0;z-index:18;width:304px;transform:translateX(-100%);transition:180ms ease}.sidebar.open{transform:translateX(0);box-shadow:var(--shadow)}.mobile-menu{display:inline-flex}.content-grid{grid-template-columns:1fr;padding:18px}.toc{display:none}.article-inner{padding:34px 26px 48px}}@media(max-width:680px){.topbar{padding:12px 14px}.top-actions{flex-wrap:wrap;justify-content:flex-end}.inline-fields,.media-editor-row{grid-template-columns:1fr}.article h1{font-size:34px}}
.admin-actions[hidden]{display:none}.auth-panel{position:fixed;inset:0;z-index:40;display:grid;place-items:center;background:rgba(17,19,21,.42);padding:20px;backdrop-filter:blur(8px)}.auth-panel[hidden]{display:none}.auth-card{width:min(420px,100%);display:grid;gap:14px;border:1px solid var(--line);border-radius:10px;background:var(--surface);padding:26px;box-shadow:var(--shadow)}.auth-card h2{margin:4px 0 0;font-size:24px;letter-spacing:0}.auth-card p{margin:0;color:var(--muted);font-size:14px}.auth-card label{display:grid;gap:7px;color:var(--ink);font-size:13px;font-weight:750}.auth-card input{width:100%;border:1px solid var(--line);border-radius:8px;background:var(--surface2);padding:10px 12px;outline:none}.auth-card .mark{width:42px;height:42px}
