pre code.hljs{padding:1em;display:block;overflow-x:auto}code.hljs{padding:3px 5px}.hljs{color:#abb2bf;background:#282c34}.hljs-comment,.hljs-quote{color:#5c6370;font-style:italic}.hljs-doctag,.hljs-keyword,.hljs-formula{color:#c678dd}.hljs-section,.hljs-name,.hljs-selector-tag,.hljs-deletion,.hljs-subst{color:#e06c75}.hljs-literal{color:#56b6c2}.hljs-string,.hljs-regexp,.hljs-addition,.hljs-attribute,.hljs-meta .hljs-string{color:#98c379}.hljs-attr,.hljs-variable,.hljs-template-variable,.hljs-type,.hljs-selector-class,.hljs-selector-attr,.hljs-selector-pseudo,.hljs-number{color:#d19a66}.hljs-symbol,.hljs-bullet,.hljs-link,.hljs-meta,.hljs-selector-id,.hljs-title{color:#61aeee}.hljs-built_in,.hljs-title.class_,.hljs-class .hljs-title{color:#e6c07b}.hljs-emphasis{font-style:italic}.hljs-strong{font-weight:700}.hljs-link{text-decoration:underline}:root{--ink:#111;--muted:#777;--muted-strong:#333;--line:#e6e6e6;--soft-line:#f0f0f0;--paper:#fff;--panel:#f7f7f7;--wash:#f0f0f0;--canvas:#f5f5f5;--accent:#e63a46;--accent-strong:#d02e3a;--accent-soft:#fdecee;--warm-accent:#fa5d19;--warm-soft:#fa5d191a;--danger:#b42336;--success:#16885a;--live:#35c759;--shadow:0 18px 48px #11111124;--shadow-soft:0 14px 36px #11111114;--shadow-hairline:0 1px 0 #ffffffdb inset;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:var(--ink);background:var(--wash);font-family:MiSans,Avenir Next,Source Han Sans SC,Noto Sans CJK SC,PingFang SC,Microsoft YaHei,Segoe UI,sans-serif}*{box-sizing:border-box}body{background:linear-gradient(180deg, #f7f7f7f0, #f0f0f0fa), linear-gradient(#11111109 1px, transparent 1px), linear-gradient(90deg, #11111109 1px, transparent 1px), var(--wash);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;background-size:auto,120px 120px,120px 120px;min-width:320px;margin:0}button,input,textarea{font:inherit}button{cursor:pointer}a{color:var(--accent)}a:visited{color:var(--accent-strong)}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid color-mix(in srgb, var(--accent) 68%, white);outline-offset:2px}::selection{color:#fff;background:color-mix(in srgb, var(--accent) 86%, black)}.app-shell{background:var(--panel);border-left:1px solid #11111114;border-right:1px solid #11111114;grid-template-rows:64px 64px minmax(0,1fr);max-width:1720px;height:100vh;margin:0 auto;display:grid;box-shadow:0 0 0 1px #11111106,0 20px 54px #11111114}.topbar{border-bottom:1px solid var(--line);min-width:0;box-shadow:var(--shadow-hairline);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#f7f7f7f5;justify-content:space-between;align-items:center;gap:16px;padding:0 24px;display:flex}.brand{min-height:44px;color:var(--ink);align-items:center;gap:10px;font-weight:750;text-decoration:none;display:inline-flex}.brand:visited{color:var(--ink)}.brand-mark{background:var(--accent);color:#fff;border-radius:8px;place-items:center;width:32px;height:32px;font-weight:800;display:inline-grid;box-shadow:inset 0 -1px #0000002e,0 8px 18px #e63a462e}.topbar-actions,.preview-actions,.modal-actions,.admin-auth,.admin-controls,.admin-metrics,.admin-pagination{align-items:center;gap:8px;display:flex}.text-link{min-width:44px;min-height:44px;color:var(--muted-strong);justify-content:center;align-items:center;padding:0 8px;font-size:13px;font-weight:650;text-decoration:none;display:inline-flex}.text-link:visited{color:var(--muted-strong)}.text-link:hover{color:var(--accent);background:var(--accent-soft);border-radius:8px}.theme-strip{border-bottom:1px solid var(--line);box-shadow:var(--shadow-hairline);background:#fff;align-items:center;gap:16px;padding:0 24px;display:flex;overflow:hidden}.theme-label{color:var(--muted);flex:none;font-size:12px;font-weight:750}.theme-filter{flex:none;align-items:center;gap:6px;display:flex}.theme-filter input,.theme-filter select{border:1px solid var(--line);min-height:38px;color:var(--ink);background:#fff;border-radius:10px;padding:0 10px;font-size:12px;font-weight:650}.theme-filter input{width:120px}.theme-list{scrollbar-width:thin;scrollbar-color:#cfcfcf transparent;flex:auto;align-items:center;gap:8px;min-width:0;padding:7px 2px;display:flex;overflow-x:auto}.mobile-pane-toggle{border:1px solid var(--line);background:var(--panel);border-radius:10px;flex:none;align-items:center;gap:4px;padding:3px;display:none}.mobile-pane-toggle button{min-height:34px;color:var(--muted-strong);background:0 0;border:0;border-radius:8px;justify-content:center;align-items:center;gap:5px;padding:0 9px;font-size:12px;font-weight:700;display:inline-flex}.mobile-pane-toggle button.active{color:var(--accent);box-shadow:0 0 0 1px var(--line) inset;background:#fff}.theme-chip{border:1px solid var(--line);height:42px;color:var(--muted-strong);background:#fff;border-radius:12px;flex:none;align-items:center;gap:6px;padding:0 12px 0 8px;font-size:13px;font-weight:600;transition:background-color .16s cubic-bezier(.22,1,.36,1),border-color .16s cubic-bezier(.22,1,.36,1),box-shadow .16s cubic-bezier(.22,1,.36,1),transform .16s cubic-bezier(.22,1,.36,1);display:inline-flex;position:relative;box-shadow:inset 0 1px #fffc}.theme-chip.recommended:after{content:"";background:var(--warm-accent);border-radius:50%;width:6px;height:6px;position:absolute;top:5px;right:5px}.theme-chip.active{border-width:2px;border-color:var(--accent);color:var(--ink);background:#fff;font-weight:700;box-shadow:0 0 0 3px #e63a4614,0 10px 24px #1111110f}.theme-chip:hover{border-color:color-mix(in srgb, var(--accent) 42%, var(--line));background:#fff;transform:translateY(-1px);box-shadow:0 10px 24px #11111114}.theme-chip:active{transform:translateY(0)}.swatch{border-radius:50%;flex:none;width:13px;height:13px;box-shadow:inset 0 0 0 1px #0000001f}.theme-mini-preview{border:1px solid;border-radius:5px;grid-template-rows:4px 1fr 3px;gap:3px;width:22px;height:26px;padding:4px;display:grid;box-shadow:inset 0 0 0 1px #ffffffb8}.theme-mini-preview span{opacity:.82;border-radius:2px;display:block}.workspace{background:linear-gradient(#11111107 1px, transparent 1px), linear-gradient(90deg, #11111107 1px, transparent 1px), var(--wash);background-size:120px 120px,120px 120px,auto;grid-template-columns:minmax(390px,.92fr) minmax(520px,1.08fr);min-height:0;display:grid}.editor-pane,.preview-pane{flex-direction:column;min-width:0;min-height:0;display:flex}.editor-pane{border-right:1px solid var(--line);background:#fff;box-shadow:inset 1px 0 #ffffff8f}.pane-toolbar{border-bottom:1px solid var(--line);min-height:68px;box-shadow:var(--shadow-hairline);background:#f7f7f7f5;justify-content:space-between;align-items:center;gap:10px;padding:10px 16px;display:flex}.preview-toolbar{flex-wrap:wrap}.preview-actions{flex-wrap:wrap;flex:420px;justify-content:flex-end;min-width:0}.preview-title{min-width:120px;color:var(--ink);align-items:center;gap:10px;font-weight:700;display:inline-flex}.theme-name{border:1px solid var(--line);background:#fff;border-radius:8px;padding:3px 10px;font-weight:800}.tool-button,.copy-button,.icon-button{border:1px solid var(--line);color:var(--ink);white-space:nowrap;background:#fff;border-radius:12px;justify-content:center;align-items:center;gap:7px;min-height:44px;padding:0 13px;font-weight:650;text-decoration:none;transition:background-color .16s cubic-bezier(.22,1,.36,1),border-color .16s cubic-bezier(.22,1,.36,1),box-shadow .16s cubic-bezier(.22,1,.36,1),transform .16s cubic-bezier(.22,1,.36,1);display:inline-flex;box-shadow:inset 0 1px #ffffffdb}.tool-button:hover,.icon-button:hover{border-color:color-mix(in srgb, var(--accent) 36%, var(--line));color:var(--accent);background:#fff;transform:translateY(-1px);box-shadow:inset 0 1px #ffffffe0,0 10px 24px #11111114}.tool-button:active,.copy-button:active,.icon-button:active{transform:translateY(0)scale(.98)}.tool-button:disabled,.copy-button:disabled{opacity:.48;cursor:not-allowed}.tool-button.danger-inline{color:var(--danger)}.icon-button{width:44px;padding:0}.icon-button.danger{color:var(--danger)}.copy-button{background:var(--accent-strong);border-color:var(--accent-strong);color:#fff;font-weight:700;box-shadow:0 12px 26px #e63a4638,inset 0 1px #ffffff29}.copy-button:hover{background:var(--accent);border-color:var(--accent)}.copy-button:visited{color:#fff}.copy-button.success{background:var(--success);border-color:var(--success)}.char-count{color:var(--muted-strong);margin-left:auto;font-size:12px;font-weight:650}.hidden-input{display:none}.markdown-input{resize:none;color:#111827;width:100%;caret-color:var(--accent);tab-size:2;background:linear-gradient(90deg,#e63a460f 0 3px,#0000 3px),#fff;border:0;outline:0;flex:1;padding:28px 24px;font-family:SF Mono,Cascadia Code,Consolas,monospace;font-size:14.5px;line-height:1.72}.markdown-input.drag-over{background:var(--accent-soft);box-shadow:inset 0 0 0 2px var(--accent)}.preview-content{background:linear-gradient(#11111109 1px, transparent 1px), linear-gradient(90deg, #11111109 1px, transparent 1px), var(--wash);scrollbar-gutter:stable;background-size:120px 120px,120px 120px,auto;flex:1;min-height:0;padding:32px 20px;overflow:auto}.preview-container{max-width:820px;margin:0 auto;padding:6px 0 40px}.preview-container>*{border:1px solid var(--line);box-shadow:var(--shadow-soft), 0 1px 0 #ffffffe6 inset;border-radius:12px}.empty-state{min-height:320px;color:var(--muted);text-align:center;background:#ffffffbd;border:1px dashed #cfcfcf;border-radius:12px;align-content:center;place-items:center;gap:8px;display:grid}.empty-state h2{color:var(--ink);margin:0}.code-frame{background:#24272f;border-radius:12px;margin:20px 0;overflow:hidden}.code-dots{border-bottom:1px solid #1c1f25;gap:6px;padding:10px 12px;display:flex}.code-dots span{background:#ff5f56;border-radius:50%;width:10px;height:10px}.code-dots span:nth-child(2){background:#ffbd2e}.code-dots span:nth-child(3){background:#27c93f}.code-frame pre{margin:0!important;padding:16px!important}.mermaid{border:1px solid var(--line);background:#fff;border-radius:12px;padding:18px;overflow-x:auto}.overlay{z-index:20;background:#11111147;border:0;position:fixed;inset:0}.side-panel{z-index:21;background:var(--paper);border-left:1px solid var(--line);width:min(420px,100vw);height:100vh;box-shadow:var(--shadow);flex-direction:column;display:flex;position:fixed;top:0;right:0}.panel-header{border-bottom:1px solid var(--line);box-shadow:var(--shadow-hairline);background:#f7f7f7f5;justify-content:space-between;align-items:center;gap:12px;padding:18px 20px;display:flex}.panel-header h2{margin:0;font-size:18px}.panel-header p,.muted{color:var(--muted);margin:4px 0 0;font-size:13px}.history-list{padding:10px 12px;overflow:auto}.history-tools{border-bottom:1px solid var(--line);background:var(--panel);flex-wrap:wrap;gap:8px;padding:12px;display:flex}.history-tools .tool-button{border-radius:10px;min-height:38px;padding:0 10px;font-size:12px}.asset-summary{color:var(--muted);flex:1 0 100%;font-size:12px;line-height:1.5}.history-item{border-bottom:1px solid var(--soft-line);grid-template-columns:1fr 44px 44px;align-items:center;gap:8px;padding:8px;display:grid}.history-main{text-align:left;background:0 0;border:0;border-radius:12px;gap:5px;padding:9px 8px;display:grid}.history-main:hover{box-shadow:0 0 0 1px var(--line) inset, 0 10px 24px #1111110f;background:#fff}.history-main strong{color:var(--ink)}.history-main span{color:var(--muted);font-size:12px}.modal-backdrop{z-index:30;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#11111157;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.settings-modal,.share-card{background:var(--paper);border:1px solid var(--line);width:min(720px,100%);max-height:min(720px,90vh);box-shadow:var(--shadow);border-radius:16px;flex-direction:column;display:flex;overflow:hidden}.share-card{width:min(560px,100%)}.settings-grid{background:var(--panel);padding:10px;overflow:auto}.settings-row{border-bottom:1px solid var(--soft-line);background:#fff;border-radius:12px;grid-template-columns:18px minmax(0,1fr) auto auto 44px 44px 44px;align-items:center;gap:8px;min-height:56px;padding:6px 8px;display:grid}.settings-row:hover{box-shadow:0 0 0 1px var(--line) inset;background:#fff}.settings-row>span:nth-child(2){text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.settings-row.is-hidden{opacity:.48}.badge{background:var(--accent-soft);min-height:24px;color:var(--accent);border-radius:6px;align-items:center;padding:0 9px;font-size:12px;font-weight:700;display:inline-flex}.modal-actions{border-top:1px solid var(--line);background:var(--panel);justify-content:flex-end;padding:14px 18px}.share-input,.admin-auth input,.admin-controls input,.admin-controls select{border:1px solid var(--line);min-width:0;min-height:44px;color:var(--ink);background:#fff;border-radius:12px;padding:0 12px}.share-input{margin:18px}.toast{z-index:40;color:#fff;background:var(--success);box-shadow:var(--shadow);border-radius:12px;padding:10px 14px;font-weight:650;position:fixed;bottom:24px;left:50%;transform:translate(-50%)}.toast.error{background:var(--danger)}.share-page{background:linear-gradient(180deg, #f7f7f7f0, #f0f0f0fa), linear-gradient(#11111109 1px, transparent 1px), linear-gradient(90deg, #11111109 1px, transparent 1px), var(--wash);background-size:auto,120px 120px,120px 120px;min-height:100vh}.shared-article{max-width:840px;margin:0 auto;padding:36px 18px}.admin-page{background:linear-gradient(180deg, #f7f7f7f0, #f0f0f0fa), linear-gradient(#11111109 1px, transparent 1px), linear-gradient(90deg, #11111109 1px, transparent 1px), var(--wash);background-size:auto,120px 120px,120px 120px;min-height:100vh}.admin-panel{max-width:1080px;margin:0 auto;padding:24px}.admin-auth{justify-content:flex-start;margin-bottom:16px}.admin-controls{flex-wrap:wrap;margin-bottom:12px}.admin-controls input{min-width:min(280px,100%)}.admin-metrics{color:var(--muted);flex-wrap:wrap;margin-bottom:12px;font-size:12px;font-weight:650}.admin-metrics span{border:1px solid var(--line);background:#fff;border-radius:8px;min-height:28px;padding:5px 9px}.admin-table-wrap{background:var(--paper);border:1px solid var(--line);box-shadow:var(--shadow-soft);border-radius:16px;overflow-x:auto}.admin-table{border-collapse:collapse;width:100%;min-width:880px}.admin-table th,.admin-table td{border-bottom:1px solid var(--soft-line);text-align:left;padding:12px}.admin-table th{color:var(--muted-strong);background:var(--panel);font-size:12px;font-weight:750}.admin-table td a{align-items:center;min-height:44px;display:inline-flex}.admin-table td:last-child{width:72px}.admin-pagination{color:var(--muted-strong);justify-content:flex-end;margin-top:14px;font-size:13px;font-weight:650}@media (width<=900px){.app-shell{grid-template-rows:58px 58px minmax(0,1fr)}.workspace{grid-template-rows:minmax(190px,32vh) minmax(0,1fr);grid-template-columns:1fr}.workspace.mobile-edit,.workspace.mobile-preview{grid-template-rows:minmax(0,1fr)}.workspace.mobile-edit .preview-pane,.workspace.mobile-preview .editor-pane{display:none}.editor-pane{border-right:0;border-bottom:1px solid var(--line)}.preview-toolbar{justify-content:flex-start;align-items:flex-start;gap:10px}.preview-actions{flex-wrap:wrap;width:100%;padding-bottom:0;overflow:visible}.tool-button,.copy-button{flex:none}.mobile-pane-toggle{display:inline-flex}}@media (width<=560px){.topbar{padding:0 10px}.brand span:last-child{text-overflow:ellipsis;white-space:nowrap;max-width:180px;overflow:hidden}.theme-strip{gap:8px;padding:0 10px}.theme-label{display:none}.theme-filter input{width:86px}.theme-filter select{width:72px}.pane-toolbar{min-height:64px;padding:8px 10px}.preview-title{width:100%}.preview-actions{grid-template-columns:44px repeat(4,minmax(0,1fr));gap:8px;display:grid}.preview-actions .tool-button{min-width:0;padding:0 8px}.preview-actions .copy-button{grid-column:1/-1}.admin-panel{padding:14px 10px}.admin-auth,.admin-controls{align-items:stretch}.admin-auth{flex-direction:column}.admin-auth input,.admin-auth .copy-button,.admin-controls input,.admin-controls select,.admin-controls .tool-button{width:100%}.markdown-input{padding:16px 14px;font-size:14px}.preview-content{padding:16px 8px}.settings-row{grid-template-columns:18px minmax(0,1fr) 44px 44px 44px}.settings-row .badge,.settings-row .star-marker{display:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:1ms!important;animation-duration:1ms!important}}
