:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--background:#fcfaf8;--foreground:#1a1a1a;--card:#fff;--card-foreground:#1a1a1a;--card-warm:#faf7f3;--surface:#faf7f3;--section:#f0ebe5;--surface-hover:#f7f3ef;--muted:#f0ebe5;--text-secondary:#6b6b6b;--muted-foreground:#6b6b6b;--text-tertiary:#606770;--primary:#000;--primary-hover:#262626;--primary-foreground:#fff;--secondary:#f7f3ef;--secondary-foreground:#1a1a1a;--accent:#ffe7cc;--accent-strong:#fb8147;--accent-hover:#ffa370;--accent-active:#a83f14;--accent-soft:#fff6ed;--accent-foreground:#9c5405;--success:#15803d;--success-soft:#ecfdf3;--warning:#b45309;--warning-soft:#fff7ed;--destructive:#b8331d;--destructive-soft:#fef2f2;--link:#1a5fd0;--link-hover:#004fb3;--disabled:#a3a3a3;--status-ok:#1f7a4d;--status-warn:#8a5200;--border:#f0ebe5;--border-strong:#dbd7d1;--border-neutral:#e5e5e5;--input:#9a9088;--ring:#000;--overlay:#0006;--on-dark:#fff;--on-accent:#171717;--terminal-bg:#101010;--terminal-bg-deep:#171717;--terminal-surface:#303030;--terminal-surface-raised:#3a3a3a;--terminal-text:#f5f5f4;--visual-mint:#eef3ef;--visual-sand:#f4f0ea;--visual-leaf:#f0f3e8;--visual-rose:#f4eeee;--skeleton:#d8cec2;--font-sans:"PingFang SC", "Microsoft YaHei UI", "Microsoft YaHei", -apple-system, "MiSans", "Segoe UI", sans-serif;--font-display:"LXGW WenKai TC", "Songti SC", "STSong", Georgia, serif;--font-mono:"Geist Mono", "Fira Code", ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace;--font-size-xxs:12px;--font-size-xs:13px;--font-size-sm:14px;--font-size-md:16px;--font-size-lg:18px;--font-size-xl:20px;--font-size-2xl:24px;--font-size-3xl:30px;--font-size-display:36px;--font-size-display-lg:40px;--font-size-hero:48px;--line-height-tight:20px;--line-height-snug:22px;--line-height-normal:24px;--line-height-relaxed:26px;--line-height-loose:28px;--line-height-display:54px;--line-height-hero:60px;--font-weight-regular:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--spacing-0:0px;--spacing-1:4px;--spacing-2:8px;--spacing-3:12px;--spacing-4:16px;--spacing-5:20px;--spacing-6:24px;--spacing-8:32px;--spacing-10:40px;--spacing-12:48px;--spacing-16:64px;--section-padding:72px;--gutter:24px;--radius-xs:4px;--radius-sm:6px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--radius-modal:24px;--radius-full:9999px;--content-width:1260px;--nav-height:54px;--sidebar-scrollbar-gutter:0px;--feature-home-title-top:300px;--shadow-card:0 1px 2px #1f23290a, 0 10px 28px #1f23290d;--shadow-hover:0 2px 6px #1f23290d, 0 18px 44px #1f232917;--shadow-modal:0 24px 80px #1f23293d;--shadow-toast:0 10px 30px #1f232933;--shadow-floating:0 2px 6px #00000052, 0 14px 36px #0000006b;--reader-backdrop:#000000b3;--modal-surface:var(--card);--modal-backdrop:#00000080;--modal-backdrop-filter:blur(4px) saturate(120%);--modal-z-mask:190;--modal-z-box:200;--modal-pad:28px;--chat-content-width:820px;--composer-project-row-h:44px;--resource-item-height:4.05rem;--glass-surface:#ffffffb8;--modal-pad-head:28px 28px var(--spacing-4);--modal-pad-body:var(--spacing-4) 28px;--modal-pad-actions:var(--spacing-4) 28px 28px;--modal-head-gap:var(--spacing-5);--modal-title-size:var(--font-size-lg);--duration-fast:.15s;--duration-default:.2s;--duration-slow:.3s;--duration-entrance:.8s;--ease-out:cubic-bezier(.16, 1, .3, 1);--ease-smooth:cubic-bezier(.2, 0, 0, 1)}.dark{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--background:#000;--foreground:#fafafa;--card:#121321;--card-foreground:#fafafa;--card-warm:#1e2136;--surface:#1e2136;--section:#121321;--surface-hover:#1e2136;--muted:#1e2136;--text-secondary:#fff9;--muted-foreground:#fff9;--text-tertiary:#ffffff80;--primary:#fff;--primary-hover:#e5e5e5;--primary-foreground:#000;--secondary:#1e2136;--secondary-foreground:#fafafa;--accent:#3b405f;--glass-surface:#ffffff1a;--accent-strong:#fb8147;--accent-hover:#ffa370;--accent-active:#ffd0b3;--accent-soft:#2d211b;--accent-foreground:#ffe7cc;--success:#4ade80;--success-soft:#142b1d;--warning:#fbbf24;--warning-soft:#32230d;--destructive:#fa664c;--destructive-soft:#2d1717;--link:#65b2fc;--link-hover:#98cdfd;--disabled:#6a6a6a;--status-ok:#4caf82;--status-warn:#fda83a;--border:#fff3;--border-strong:#ffffff4d;--border-neutral:#ffffff1a;--input:#ffffff59;--ring:#fff;--overlay:#0009;--on-dark:#fff;--on-accent:#171717;--terminal-bg:#101010;--terminal-bg-deep:#171717;--terminal-surface:#303030;--terminal-surface-raised:#3a3a3a;--terminal-text:#f5f5f4;--skeleton:#242741;--shadow-card:0 4px 24px #0006;--shadow-hover:0 12px 36px #0000007a;--shadow-modal:0 24px 80px #0000009e;--shadow-toast:0 10px 30px #00000080}*{box-sizing:border-box}body{background:var(--background);color:var(--foreground);font-family:var(--font-sans,system-ui, -apple-system, "PingFang SC", sans-serif);font-size:var(--font-size-sm,14px);margin:0;line-height:1.6}a{color:inherit;text-decoration:none}.admin-shell{min-height:100vh;display:flex}.admin-side{border-right:1px solid var(--border);background:var(--card);flex-direction:column;flex:none;width:220px;display:flex}.admin-brand{height:56px;padding:0 var(--spacing-5,20px);border-bottom:1px solid var(--border);font-weight:var(--font-weight-semibold,600);white-space:nowrap;align-items:center;display:flex}.admin-menu{padding:var(--spacing-3,12px);flex-direction:column;gap:4px;display:flex}.admin-menu a{height:38px;padding:0 var(--spacing-3,12px);border-radius:var(--radius-sm,6px);color:var(--text-secondary);transition:background var(--duration-fast,.15s) var(--ease-out,ease), color var(--duration-fast,.15s) var(--ease-out,ease);align-items:center;gap:10px;display:flex}.menu-icon{fill:none;stroke:currentColor;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:18px;height:18px}.admin-menu a:hover{background:var(--surface-hover);color:var(--foreground)}.admin-menu a.is-active{background:var(--accent-soft);color:var(--accent-active);font-weight:var(--font-weight-medium,500)}.menu-badge{background:var(--accent-strong);min-width:20px;color:var(--on-dark,#fff);font-size:var(--font-size-xxs,12px);text-align:center;border-radius:999px;margin-left:auto;padding:0 6px;line-height:18px}.admin-menu__group{flex-direction:column;gap:2px;display:flex}.admin-menu__group-head{height:38px;padding:0 var(--spacing-3,12px);border-radius:var(--radius-sm,6px);color:var(--text-secondary);font:inherit;text-align:left;cursor:pointer;transition:background var(--duration-fast,.15s) var(--ease-out,ease), color var(--duration-fast,.15s) var(--ease-out,ease);background:0 0;border:0;align-items:center;gap:10px;display:flex}.admin-menu__group-head:hover{background:var(--surface-hover);color:var(--foreground)}.admin-menu__group-head.is-active{color:var(--foreground);font-weight:var(--font-weight-medium,500)}.menu-caret{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:14px;height:14px;transition:transform var(--duration-fast,.15s) var(--ease-out,ease);margin-left:auto}.menu-caret.is-open{transform:rotate(180deg)}.admin-menu__children{flex-direction:column;gap:2px;padding-left:10px;display:flex}.admin-menu__children a{height:34px;padding-left:24px;position:relative}.admin-menu__children a:before{content:"";opacity:.4;background:currentColor;border-radius:50%;width:4px;height:4px;position:absolute;left:10px}.tabs{gap:var(--spacing-4,16px);margin-bottom:var(--spacing-5,20px);border-bottom:1px solid var(--border);display:flex}.tabs button{color:var(--text-secondary);font:inherit;cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;padding:8px 2px}.tabs button.is-active{border-bottom-color:var(--accent-strong);color:var(--foreground);font-weight:var(--font-weight-medium,500)}.ok-text{margin-bottom:var(--spacing-4,16px);border-radius:var(--radius-sm,6px);background:var(--success-soft);color:var(--success);padding:10px 14px}.admin-body{flex-direction:column;flex:1;min-width:0;display:flex}.admin-topbar{justify-content:flex-end;align-items:center;gap:var(--spacing-3,12px);height:56px;padding:0 var(--spacing-6,24px);border-bottom:1px solid var(--border);background:var(--card);display:flex}.admin-user-name{color:var(--text-secondary)}.admin-main{width:100%;max-width:1120px;padding:var(--spacing-8,32px) var(--spacing-6,24px);flex:1;min-width:0;overflow-x:auto}.btn{align-items:center;gap:var(--spacing-2,8px);height:34px;padding:0 var(--spacing-4,16px);border:1px solid var(--border-strong);border-radius:var(--radius-sm,6px);background:var(--card);color:var(--foreground);font:inherit;cursor:pointer;display:inline-flex}.btn:hover{border-color:var(--accent-strong)}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary{background:var(--primary);border-color:var(--primary);color:var(--primary-foreground)}.btn-primary:hover{background:var(--primary-hover);border-color:var(--primary-hover)}.btn-danger{color:var(--destructive);border-color:var(--border-strong)}.btn-danger:hover{border-color:var(--destructive)}.btn-ghost{background:0 0;border-color:#0000}.field{gap:var(--spacing-2,8px);margin-bottom:var(--spacing-5,20px);flex-direction:column;display:flex}.field>label{font-size:var(--font-size-xs,13px);color:var(--text-secondary)}.input,.select,.textarea{border:1px solid var(--border-strong);border-radius:var(--radius-sm,6px);background:var(--card);width:100%;color:var(--foreground);font:inherit;padding:8px 12px}.input:focus,.select:focus,.textarea:focus{outline:2px solid var(--ring);outline-offset:1px}.hint{font-size:var(--font-size-xxs,12px);color:var(--text-tertiary,var(--text-secondary))}.table .cell-nowrap{white-space:nowrap}.toolbar{align-items:flex-end;gap:var(--spacing-4,16px);margin-bottom:var(--spacing-5,20px);flex-wrap:wrap;display:flex}.toolbar .field{min-width:180px;margin-bottom:0}.toolbar .spacer{margin-left:auto}.table{border-collapse:collapse;background:var(--card);border:1px solid var(--border);border-radius:var(--radius-md,8px);width:100%;min-width:760px;overflow:hidden}.table th,.table td{text-align:left;border-bottom:1px solid var(--border);vertical-align:middle;padding:10px 14px}.table th{font-size:var(--font-size-xs,13px);color:var(--text-secondary);font-weight:var(--font-weight-medium,500);white-space:nowrap}.table tr:last-child td{border-bottom:0}.table .title-cell{text-overflow:ellipsis;white-space:nowrap;max-width:420px;overflow:hidden}.table td:last-child{white-space:nowrap}.table td:last-child .btn{height:30px;padding:0 10px}.tag{font-size:var(--font-size-xxs,12px);white-space:nowrap;border-radius:999px;padding:1px 8px;display:inline-block}.table .feat-badge{background:var(--accent-soft);color:var(--accent-active);font-size:var(--font-size-xxs,12px);vertical-align:1px;border-radius:999px;margin-right:6px;padding:1px 7px;display:inline-block}.tag-published{background:var(--accent-soft);color:var(--accent-active)}.tag-draft{background:var(--muted);color:var(--text-secondary)}.tag-plain{background:var(--surface-hover);color:var(--text-secondary)}.tag-danger{background:var(--destructive-soft);color:var(--destructive)}.pagination{justify-content:center;gap:var(--spacing-2,8px);margin-top:var(--spacing-6,24px);flex-wrap:wrap;display:flex}.pagination button{border:1px solid var(--border);border-radius:var(--radius-sm,6px);background:var(--card);min-width:34px;height:34px;color:var(--text-secondary);cursor:pointer;padding:0 10px}.pagination button.is-active{border-color:var(--accent-strong);background:var(--accent-soft);color:var(--accent-active)}.empty{padding:var(--spacing-10,40px);text-align:center;color:var(--text-secondary)}.error-text{margin-bottom:var(--spacing-4,16px);border-radius:var(--radius-sm,6px);background:var(--destructive-soft);color:var(--destructive);padding:10px 14px}.login-wrap{min-height:100vh;padding:var(--spacing-6,24px);place-items:center;display:grid}.login-card{width:100%;max-width:360px;padding:var(--spacing-8,32px);border:1px solid var(--border);border-radius:var(--radius-lg,12px);background:var(--card);box-shadow:var(--shadow-card)}.login-card h1{margin:0 0 var(--spacing-6,24px);font-size:var(--font-size-xl,20px)}.login-card .btn{justify-content:center;width:100%}.modal-mask{z-index:50;background:var(--overlay);place-items:center;display:grid;position:fixed;inset:0}.modal{width:100%;max-width:380px;padding:var(--spacing-6,24px);border-radius:var(--radius-lg,12px);background:var(--card);box-shadow:var(--shadow-modal)}.modal h2{margin:0 0 var(--spacing-3,12px);font-size:var(--font-size-lg,18px)}.modal p{margin:0 0 var(--spacing-6,24px);color:var(--text-secondary)}.modal-actions{justify-content:flex-end;gap:var(--spacing-3,12px);display:flex}.md-editor-slot{border:1px solid var(--border);border-radius:var(--radius-md,8px);padding:var(--spacing-4,16px);color:var(--text-secondary)}.modal-wide{max-width:760px;max-height:86vh;overflow-y:auto}.modal-wide h2{word-break:break-word;margin:0}.viewer-block{margin-bottom:var(--spacing-4,16px)}.viewer-head{align-items:center;gap:var(--spacing-3,12px);margin-bottom:var(--spacing-2,8px);display:flex}.viewer-head .spacer{margin-left:auto}.viewer-text{max-height:300px;padding:var(--spacing-4,16px);border:1px solid var(--border);border-radius:var(--radius-sm,6px);background:var(--surface);color:var(--foreground);font-family:var(--font-sans,system-ui);font-size:var(--font-size-xs,13px);white-space:pre-wrap;word-break:break-word;margin:0;line-height:1.7;overflow:auto}.viewer-canvas{max-height:420px;padding:var(--spacing-3,12px);border:1px solid var(--border);border-radius:var(--radius-sm,6px);background:var(--muted);place-items:center;display:grid;overflow:auto}.viewer-canvas img{max-width:100%;box-shadow:var(--shadow-card)}.viewer-frame{border:1px solid var(--border);border-radius:var(--radius-sm,6px);background:var(--muted);height:520px;overflow:hidden}.viewer-frame iframe{background:#fff;border:0;width:100%;height:100%;display:block}.viewer-image{border-radius:var(--radius-sm,6px);max-width:100%;max-height:520px;margin:0 auto;display:block}.viewer-text--tall{max-height:460px}.viewer-md{max-height:460px;padding:var(--spacing-5,20px);border:1px solid var(--border);border-radius:var(--radius-sm,6px);background:var(--card);color:var(--foreground);font-size:var(--font-size-sm,14px);line-height:1.8;overflow:auto}.viewer-md h1,.viewer-md h2,.viewer-md h3{margin:1.2em 0 .6em;line-height:1.4}.viewer-md h1:first-child,.viewer-md h2:first-child,.viewer-md h3:first-child{margin-top:0}.viewer-md p{margin:.7em 0}.viewer-md ul,.viewer-md ol{margin:.7em 0;padding-left:1.4em}.viewer-md li+li{margin-top:.3em}.viewer-md blockquote{border-left:3px solid var(--accent-strong);background:var(--surface);color:var(--text-secondary);margin:.8em 0;padding:.4em 1em}.viewer-md code{border-radius:var(--radius-xs,4px);background:var(--muted);font-family:var(--font-mono,monospace);padding:2px 6px;font-size:.92em}.viewer-md pre{padding:var(--spacing-4,16px);border-radius:var(--radius-sm,6px);background:var(--terminal-bg);color:var(--terminal-text);margin:.8em 0;overflow:auto}.viewer-md pre code{color:inherit;background:0 0;padding:0}.viewer-md a{color:var(--link);text-decoration:underline}.viewer-md table{border-collapse:collapse;width:100%;font-size:var(--font-size-xs,13px);margin:.8em 0}.viewer-md th,.viewer-md td{border:1px solid var(--border);text-align:left;padding:6px 10px}.viewer-md img{border-radius:var(--radius-sm,6px);max-width:100%}.viewer-md hr{border:0;border-top:1px solid var(--border);margin:1.2em 0}.viewer-docx{max-height:460px;padding:var(--spacing-5,20px);border:1px solid var(--border);border-radius:var(--radius-sm,6px);background:var(--card);font-size:var(--font-size-sm,14px);line-height:1.8;overflow:auto}.viewer-docx>p{margin:.8em 0}.viewer-docx__figure{text-align:center;margin:1.2em 0}.viewer-docx__figure img{border-radius:var(--radius-sm,6px);max-width:100%}.viewer-docx__figure figcaption{color:var(--text-secondary);font-size:var(--font-size-xxs,12px);margin-top:.5em}
