:root,:host{--w-e-textarea-bg-color: #fff;--w-e-textarea-color: #333;--w-e-textarea-border-color: #ccc;--w-e-textarea-slight-border-color: #e8e8e8;--w-e-textarea-slight-color: #d4d4d4;--w-e-textarea-slight-bg-color: #f5f2f0;--w-e-textarea-selected-border-color: #B4D5FF;--w-e-textarea-handler-bg-color: #4290f7;--w-e-toolbar-color: #595959;--w-e-toolbar-bg-color: #fff;--w-e-toolbar-active-color: #333;--w-e-toolbar-active-bg-color: #f1f1f1;--w-e-toolbar-disabled-color: #999;--w-e-toolbar-border-color: #e8e8e8;--w-e-modal-button-bg-color: #fafafa;--w-e-modal-button-border-color: #d9d9d9}.w-e-text-container *,.w-e-toolbar *{box-sizing:border-box;margin:0;outline:none;padding:0}.w-e-text-container blockquote,.w-e-text-container li,.w-e-text-container p,.w-e-text-container td,.w-e-text-container th,.w-e-toolbar *{line-height:1.5}.w-e-text-container{background-color:var(--w-e-textarea-bg-color);color:var(--w-e-textarea-color);height:100%;position:relative}.w-e-text-container .w-e-scroll{-webkit-overflow-scrolling:touch;height:100%}.w-e-text-container [data-slate-editor]{word-wrap:break-word;border-top:1px solid transparent;min-height:100%;outline:0;padding:0 10px;white-space:pre-wrap}.w-e-text-container [data-slate-editor] p{margin:15px 0}.w-e-text-container [data-slate-editor] h1,.w-e-text-container [data-slate-editor] h2,.w-e-text-container [data-slate-editor] h3,.w-e-text-container [data-slate-editor] h4,.w-e-text-container [data-slate-editor] h5{margin:20px 0}.w-e-text-container [data-slate-editor] img{cursor:default;display:inline!important;max-width:100%;min-height:20px;min-width:20px}.w-e-text-container [data-slate-editor] span{text-indent:0}.w-e-text-container [data-slate-editor] [data-selected=true]{box-shadow:0 0 0 2px var(--w-e-textarea-selected-border-color)}.w-e-text-placeholder{font-style:italic;left:10px;top:17px;width:90%}.w-e-max-length-info,.w-e-text-placeholder{color:var(--w-e-textarea-slight-color);pointer-events:none;position:absolute;-webkit-user-select:none;-moz-user-select:none;user-select:none}.w-e-max-length-info{bottom:.5em;right:1em}.w-e-bar{background-color:var(--w-e-toolbar-bg-color);color:var(--w-e-toolbar-color);font-size:14px;padding:0 5px}.w-e-bar svg{fill:var(--w-e-toolbar-color);height:14px;width:14px}.w-e-bar-show{display:flex}.w-e-bar-hidden{display:none}.w-e-hover-bar{border:1px solid var(--w-e-toolbar-border-color);border-radius:3px;box-shadow:0 2px 5px #0000001f;position:absolute}.w-e-toolbar{flex-wrap:wrap;position:relative}.w-e-bar-divider{background-color:var(--w-e-toolbar-border-color);display:inline-flex;height:40px;margin:0 5px;width:1px}.w-e-bar-item{display:flex;height:40px;padding:4px;position:relative;text-align:center}.w-e-bar-item,.w-e-bar-item button{align-items:center;justify-content:center}.w-e-bar-item button{background:transparent;border:none;color:var(--w-e-toolbar-color);cursor:pointer;display:inline-flex;height:32px;overflow:hidden;padding:0 8px;white-space:nowrap}.w-e-bar-item button:hover{background-color:var(--w-e-toolbar-active-bg-color);color:var(--w-e-toolbar-active-color)}.w-e-bar-item button .title{margin-left:5px}.w-e-bar-item .active{background-color:var(--w-e-toolbar-active-bg-color);color:var(--w-e-toolbar-active-color)}.w-e-bar-item .disabled{color:var(--w-e-toolbar-disabled-color);cursor:not-allowed}.w-e-bar-item .disabled svg{fill:var(--w-e-toolbar-disabled-color)}.w-e-bar-item .disabled:hover{background-color:var(--w-e-toolbar-bg-color);color:var(--w-e-toolbar-disabled-color)}.w-e-bar-item .disabled:hover svg{fill:var(--w-e-toolbar-disabled-color)}.w-e-menu-tooltip-v5:before{background-color:var(--w-e-toolbar-active-color);border-radius:5px;color:var(--w-e-toolbar-bg-color);content:attr(data-tooltip);font-size:.75em;opacity:0;padding:5px 10px;position:absolute;text-align:center;top:40px;transition:opacity .6s;visibility:hidden;white-space:pre;z-index:1}.w-e-menu-tooltip-v5:after{border:5px solid transparent;border-bottom:5px solid var(--w-e-toolbar-active-color);content:"";opacity:0;position:absolute;top:30px;transition:opacity .6s;visibility:hidden}.w-e-menu-tooltip-v5:hover:after,.w-e-menu-tooltip-v5:hover:before{opacity:1;visibility:visible}.w-e-menu-tooltip-v5.tooltip-right:before{left:100%;top:10px}.w-e-menu-tooltip-v5.tooltip-right:after{border-bottom-color:transparent;border-left-color:transparent;border-right-color:var(--w-e-toolbar-active-color);border-top-color:transparent;left:100%;margin-left:-10px;top:16px}.w-e-bar-item-group .w-e-bar-item-menus-container{background-color:var(--w-e-toolbar-bg-color);border:1px solid var(--w-e-toolbar-border-color);border-radius:3px;box-shadow:0 2px 10px #0000001f;display:none;left:0;margin-top:40px;position:absolute;top:0;z-index:1}.w-e-bar-item-group:hover .w-e-bar-item-menus-container{display:block}.w-e-select-list{background-color:var(--w-e-toolbar-bg-color);border:1px solid var(--w-e-toolbar-border-color);border-radius:3px;box-shadow:0 2px 10px #0000001f;left:0;margin-top:40px;max-height:350px;min-width:100px;overflow-y:auto;position:absolute;top:0;z-index:1}.w-e-select-list ul{line-height:1;list-style:none}.w-e-select-list ul .selected{background-color:var(--w-e-toolbar-active-bg-color)}.w-e-select-list ul li{cursor:pointer;padding:7px 0 7px 25px;position:relative;text-align:left;white-space:nowrap}.w-e-select-list ul li:hover{background-color:var(--w-e-toolbar-active-bg-color)}.w-e-select-list ul li svg{left:0;margin-left:5px;margin-top:-7px;position:absolute;top:50%}.w-e-bar-bottom .w-e-select-list{bottom:0;margin-bottom:40px;margin-top:0;top:inherit}.w-e-drop-panel{background-color:var(--w-e-toolbar-bg-color);border:1px solid var(--w-e-toolbar-border-color);border-radius:3px;box-shadow:0 2px 10px #0000001f;margin-top:40px;min-width:200px;padding:10px;position:absolute;top:0;z-index:1}.w-e-bar-bottom .w-e-drop-panel{bottom:0;margin-bottom:40px;margin-top:0;top:inherit}.w-e-modal{background-color:var(--w-e-toolbar-bg-color);border:1px solid var(--w-e-toolbar-border-color);border-radius:3px;box-shadow:0 2px 10px #0000001f;color:var(--w-e-toolbar-color);font-size:14px;min-height:40px;min-width:100px;padding:20px 15px 0;position:absolute;text-align:left;z-index:1}.w-e-modal .btn-close{cursor:pointer;line-height:1;padding:5px;position:absolute;right:8px;top:7px}.w-e-modal .btn-close svg{fill:var(--w-e-toolbar-color);height:10px;width:10px}.w-e-modal .babel-container{display:block;margin-bottom:15px}.w-e-modal .babel-container span{display:block;margin-bottom:10px}.w-e-modal .button-container{margin-bottom:15px}.w-e-modal button{background-color:var(--w-e-modal-button-bg-color);border:1px solid var(--w-e-modal-button-border-color);border-radius:4px;color:var(--w-e-toolbar-color);cursor:pointer;font-weight:400;height:32px;padding:4.5px 15px;text-align:center;touch-action:manipulation;transition:all .3s cubic-bezier(.645,.045,.355,1);-webkit-user-select:none;-moz-user-select:none;user-select:none;white-space:nowrap}.w-e-modal input[type=number],.w-e-modal input[type=text],.w-e-modal textarea{font-feature-settings:"tnum";background-color:var(--w-e-toolbar-bg-color);border:1px solid var(--w-e-modal-button-border-color);border-radius:4px;color:var(--w-e-toolbar-color);font-variant:tabular-nums;padding:4.5px 11px;transition:all .3s;width:100%}.w-e-modal textarea{min-height:60px}body .w-e-modal,body .w-e-modal *{box-sizing:border-box}.w-e-progress-bar{background-color:var(--w-e-textarea-handler-bg-color);height:1px;position:absolute;transition:width .3s;width:0}.w-e-full-screen-container{bottom:0!important;display:flex!important;flex-direction:column!important;height:100%!important;left:0!important;margin:0!important;padding:0!important;position:fixed;right:0!important;top:0!important;width:100%!important}.w-e-full-screen-container [data-w-e-textarea=true]{flex:1!important}.w-e-text-container [data-slate-editor] code{background-color:var(--w-e-textarea-slight-bg-color);border-radius:3px;font-family:monospace;padding:3px}.w-e-panel-content-color{list-style:none;text-align:left;width:230px}.w-e-panel-content-color li{border:1px solid var(--w-e-toolbar-bg-color);border-radius:3px;cursor:pointer;display:inline-block;padding:2px}.w-e-panel-content-color li:hover{border-color:var(--w-e-toolbar-color)}.w-e-panel-content-color li .color-block{border:1px solid var(--w-e-toolbar-border-color);border-radius:3px;height:17px;width:17px}.w-e-panel-content-color .active{border-color:var(--w-e-toolbar-color)}.w-e-panel-content-color .clear{line-height:1.5;margin-bottom:5px;width:100%}.w-e-panel-content-color .clear svg{height:16px;margin-bottom:-4px;width:16px}.w-e-text-container [data-slate-editor] blockquote{background-color:var(--w-e-textarea-slight-bg-color);border-left:8px solid var(--w-e-textarea-selected-border-color);display:block;font-size:100%;line-height:1.5;margin:10px 0;padding:10px}.w-e-panel-content-emotion{font-size:20px;list-style:none;text-align:left;width:300px}.w-e-panel-content-emotion li{border-radius:3px;cursor:pointer;display:inline-block;padding:0 5px}.w-e-panel-content-emotion li:hover{background-color:var(--w-e-textarea-slight-bg-color)}.w-e-textarea-divider{border-radius:3px;margin:20px auto;padding:20px}.w-e-textarea-divider hr{background-color:var(--w-e-textarea-border-color);border:0;display:block;height:1px}.w-e-text-container [data-slate-editor] pre>code{background-color:var(--w-e-textarea-slight-bg-color);border:1px solid var(--w-e-textarea-slight-border-color);border-radius:4px;display:block;font-size:14px;padding:10px;text-indent:0}.w-e-text-container [data-slate-editor] .w-e-image-container{display:inline-block;margin:0 3px}.w-e-text-container [data-slate-editor] .w-e-image-container:hover{box-shadow:0 0 0 2px var(--w-e-textarea-selected-border-color)}.w-e-text-container [data-slate-editor] .w-e-selected-image-container{overflow:hidden;position:relative}.w-e-text-container [data-slate-editor] .w-e-selected-image-container .w-e-image-dragger{background-color:var(--w-e-textarea-handler-bg-color);height:7px;position:absolute;width:7px}.w-e-text-container [data-slate-editor] .w-e-selected-image-container .left-top{cursor:nwse-resize;left:0;top:0}.w-e-text-container [data-slate-editor] .w-e-selected-image-container .right-top{cursor:nesw-resize;right:0;top:0}.w-e-text-container [data-slate-editor] .w-e-selected-image-container .left-bottom{bottom:0;cursor:nesw-resize;left:0}.w-e-text-container [data-slate-editor] .w-e-selected-image-container .right-bottom{bottom:0;cursor:nwse-resize;right:0}.w-e-text-container [data-slate-editor] .w-e-selected-image-container:hover,.w-e-text-container [contenteditable=false] .w-e-image-container:hover{box-shadow:none}.w-e-text-container [data-slate-editor] .table-container{border:1px dashed var(--w-e-textarea-border-color);border-radius:5px;margin-top:10px;overflow-x:auto;padding:10px;width:100%}.w-e-text-container [data-slate-editor] table{border-collapse:collapse}.w-e-text-container [data-slate-editor] table td,.w-e-text-container [data-slate-editor] table th{border:1px solid var(--w-e-textarea-border-color);line-height:1.5;min-width:30px;padding:3px 5px;text-align:left}.w-e-text-container [data-slate-editor] table th{background-color:var(--w-e-textarea-slight-bg-color);font-weight:700;text-align:center}.w-e-panel-content-table{background-color:var(--w-e-toolbar-bg-color)}.w-e-panel-content-table table{border-collapse:collapse}.w-e-panel-content-table td{border:1px solid var(--w-e-toolbar-border-color);cursor:pointer;height:15px;padding:3px 5px;width:20px}.w-e-panel-content-table td.active{background-color:var(--w-e-toolbar-active-bg-color)}.w-e-textarea-video-container{background-image:linear-gradient(45deg,#eee 25%,transparent 0,transparent 75%,#eee 0,#eee),linear-gradient(45deg,#eee 25%,#fff 0,#fff 75%,#eee 0,#eee);background-position:0 0,10px 10px;background-size:20px 20px;border:1px dashed var(--w-e-textarea-border-color);border-radius:5px;margin:10px auto 0;padding:10px 0;text-align:center}.w-e-text-container [data-slate-editor] pre>code{word-wrap:normal;font-family:Consolas,Monaco,Andale Mono,Ubuntu Mono,monospace;-webkit-hyphens:none;hyphens:none;line-height:1.5;margin:.5em 0;overflow:auto;padding:1em;-moz-tab-size:4;-o-tab-size:4;tab-size:4;text-align:left;text-shadow:0 1px #fff;white-space:pre;word-break:normal;word-spacing:normal}.w-e-text-container [data-slate-editor] pre>code .token.cdata,.w-e-text-container [data-slate-editor] pre>code .token.comment,.w-e-text-container [data-slate-editor] pre>code .token.doctype,.w-e-text-container [data-slate-editor] pre>code .token.prolog{color:#708090}.w-e-text-container [data-slate-editor] pre>code .token.punctuation{color:#999}.w-e-text-container [data-slate-editor] pre>code .token.namespace{opacity:.7}.w-e-text-container [data-slate-editor] pre>code .token.boolean,.w-e-text-container [data-slate-editor] pre>code .token.constant,.w-e-text-container [data-slate-editor] pre>code .token.deleted,.w-e-text-container [data-slate-editor] pre>code .token.number,.w-e-text-container [data-slate-editor] pre>code .token.property,.w-e-text-container [data-slate-editor] pre>code .token.symbol,.w-e-text-container [data-slate-editor] pre>code .token.tag{color:#905}.w-e-text-container [data-slate-editor] pre>code .token.attr-name,.w-e-text-container [data-slate-editor] pre>code .token.builtin,.w-e-text-container [data-slate-editor] pre>code .token.char,.w-e-text-container [data-slate-editor] pre>code .token.inserted,.w-e-text-container [data-slate-editor] pre>code .token.selector,.w-e-text-container [data-slate-editor] pre>code .token.string{color:#690}.w-e-text-container [data-slate-editor] pre>code .language-css .token.string,.w-e-text-container [data-slate-editor] pre>code .style .token.string,.w-e-text-container [data-slate-editor] pre>code .token.entity,.w-e-text-container [data-slate-editor] pre>code .token.operator,.w-e-text-container [data-slate-editor] pre>code .token.url{color:#9a6e3a}.w-e-text-container [data-slate-editor] pre>code .token.atrule,.w-e-text-container [data-slate-editor] pre>code .token.attr-value,.w-e-text-container [data-slate-editor] pre>code .token.keyword{color:#07a}.w-e-text-container [data-slate-editor] pre>code .token.class-name,.w-e-text-container [data-slate-editor] pre>code .token.function{color:#dd4a68}.w-e-text-container [data-slate-editor] pre>code .token.important,.w-e-text-container [data-slate-editor] pre>code .token.regex,.w-e-text-container [data-slate-editor] pre>code .token.variable{color:#e90}.w-e-text-container [data-slate-editor] pre>code .token.bold,.w-e-text-container [data-slate-editor] pre>code .token.important{font-weight:700}.w-e-text-container [data-slate-editor] pre>code .token.italic{font-style:italic}.w-e-text-container [data-slate-editor] pre>code .token.entity{cursor:help}:root{--radius: 10px;--radius-sm: 7px;--sidebar-w: 236px;--sidebar-w-collapsed: 64px;--topbar-h: 56px;--gap: 12px;--card-pad: 14px;--ctrl-h: 32px;--font: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", Roboto, sans-serif}html[data-theme=dark]{--bg: #0e1014;--panel: #15181e;--panel-2: #1b1f27;--panel-3: #222732;--border: #272d38;--border-soft: #1f242d;--text: #e8ecf2;--text-2: #9ba5b4;--text-3: #6a7482;--primary: #ff7a1a;--primary-hover: #ff8f3c;--primary-soft: rgba(255, 122, 26, .13);--primary-text: #fff;--danger: #f05a62;--danger-soft: rgba(240, 90, 98, .14);--success: #35b87c;--success-soft: rgba(53, 184, 124, .14);--warning: #e8a33d;--shadow: 0 10px 32px rgba(0, 0, 0, .42);--shadow-sm: 0 2px 10px rgba(0, 0, 0, .28);--toast-bg: #2c3850;--toast-border: #4d5b74;--toast-text: #f2f5f9;--mask: rgba(0, 0, 0, .55);--scrollbar: rgba(255, 255, 255, .14);--scrollbar-hover: rgba(255, 255, 255, .26);color-scheme:dark}html[data-theme=light]{--bg: #f3f5f8;--panel: #ffffff;--panel-2: #f7f8fa;--panel-3: #eef1f5;--border: #e2e6ec;--border-soft: #eceff3;--text: #1b2028;--text-2: #5c6674;--text-3: #8b95a3;--primary: #e8630a;--primary-hover: #f5731b;--primary-soft: rgba(232, 99, 10, .09);--primary-text: #fff;--danger: #d93a44;--danger-soft: rgba(217, 58, 68, .08);--success: #1f9d63;--success-soft: rgba(31, 157, 99, .09);--warning: #b97812;--shadow: 0 10px 30px rgba(20, 28, 40, .1);--shadow-sm: 0 2px 8px rgba(20, 28, 40, .06);--toast-bg: #2c3850;--toast-border: #2c3850;--toast-text: #f2f5f9;--mask: rgba(16, 22, 32, .42);--scrollbar: rgba(20, 28, 40, .16);--scrollbar-hover: rgba(20, 28, 40, .3);color-scheme:light}*{box-sizing:border-box}@supports (-moz-appearance: none){html{scrollbar-width:thin;scrollbar-color:var(--scrollbar) transparent}}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font);font-size:14px;line-height:1.55;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,select,textarea{font-family:inherit;font-size:inherit;color:inherit}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-thumb{background:var(--scrollbar);border-radius:6px}::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-hover)}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-corner{background:transparent}.app-shell{display:flex;min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:var(--sidebar-w);background:var(--panel);border-right:1px solid var(--border);display:flex;flex-direction:column;z-index:40;transition:width .18s ease,transform .2s ease}.app-shell.collapsed .sidebar{width:var(--sidebar-w-collapsed)}.brand{height:var(--topbar-h);display:flex;align-items:center;gap:10px;padding:0 16px;border-bottom:1px solid var(--border-soft);flex-shrink:0}.brand-mark{width:28px;height:28px;border-radius:8px;background:linear-gradient(135deg,var(--primary),#ffb066);display:grid;place-items:center;color:#fff;font-weight:800;font-size:13px;flex-shrink:0}.brand-name{font-weight:700;letter-spacing:.2px;white-space:nowrap;overflow:hidden}.app-shell.collapsed .brand-name{display:none}.nav{flex:1;overflow-y:auto;padding:10px 8px 20px}.nav-group{margin-bottom:2px}.nav-item{display:flex;align-items:center;gap:10px;height:38px;padding:0 10px;border-radius:var(--radius-sm);color:var(--text-2);cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap;position:relative}.nav-item:hover{background:var(--panel-2);color:var(--text)}.nav-item.active{background:var(--primary-soft);color:var(--primary);font-weight:600}.nav-item .chev{margin-left:auto;transition:transform .18s ease;opacity:.7}.nav-item.open .chev{transform:rotate(90deg)}.nav-sub{padding:4px 0 6px 12px;margin-left:14px;border-left:1px solid var(--border);display:flex;flex-direction:column;gap:2px}.nav-sub .nav-item{height:34px;font-size:13px}.app-shell.collapsed .nav-item .label,.app-shell.collapsed .nav-item .chev,.app-shell.collapsed .nav-sub{display:none}.app-shell.collapsed .nav-item{justify-content:center;padding:0}.sidebar-foot{border-top:1px solid var(--border-soft);padding:10px 12px;display:flex;align-items:center;justify-content:space-between;gap:8px;color:var(--text-3);font-size:12px}.main{flex:1;min-width:0;margin-left:var(--sidebar-w);display:flex;flex-direction:column;transition:margin-left .18s ease}.app-shell.collapsed .main{margin-left:var(--sidebar-w-collapsed)}.topbar{height:var(--topbar-h);position:sticky;top:0;z-index:30;background:color-mix(in srgb,var(--bg) 86%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--border-soft);display:flex;align-items:center;gap:12px;padding:0 20px}.topbar .crumb{color:var(--text-3);font-size:13px;display:flex;gap:6px;align-items:center}.topbar .spacer{flex:1}.icon-btn{width:34px;height:34px;border-radius:var(--radius-sm);border:1px solid transparent;background:transparent;color:var(--text-2);display:inline-grid;place-items:center;cursor:pointer}.icon-btn:hover{background:var(--panel-2);color:var(--text);border-color:var(--border)}.user-chip{display:flex;align-items:center;gap:8px;padding:4px 10px 4px 4px;border-radius:999px;border:1px solid var(--border);cursor:pointer;background:var(--panel)}.user-menu-wrap{position:relative}.menu-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60}.user-menu{position:absolute;right:0;top:calc(100% + 8px);z-index:61;min-width:150px;background:var(--panel);border:1px solid var(--border);border-radius:10px;padding:4px;box-shadow:0 10px 30px #00000040}.user-menu-item{display:flex;align-items:center;gap:8px;width:100%;padding:8px 10px;border-radius:6px;color:var(--text);font-size:13px;cursor:pointer;background:none;border:none;text-align:left}.user-menu-item:hover{background:var(--panel-2)}.avatar{width:26px;height:26px;border-radius:50%;background:var(--primary-soft);color:var(--primary);display:grid;place-items:center;font-weight:700;font-size:12px}.content{padding:14px;max-width:1600px;width:100%}.content>*+*{margin-top:var(--gap)}.section-title{font-weight:600;margin:2px 0 10px}.card{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm)}.card.pad{padding:var(--card-pad)}.card-head{padding:12px var(--card-pad);border-bottom:1px solid var(--border-soft);display:flex;align-items:center;gap:10px;font-weight:600}.card-body{padding:var(--card-pad)}.btn{height:var(--ctrl-h);padding:0 13px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--panel-2);color:var(--text);cursor:pointer;display:inline-flex;align-items:center;gap:6px;white-space:nowrap;transition:background .15s,border-color .15s}.btn:hover{border-color:var(--text-3)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-primary{background:var(--primary);border-color:var(--primary);color:var(--primary-text);font-weight:600}.btn-primary:hover{background:var(--primary-hover);border-color:var(--primary-hover)}.btn-ghost{background:transparent}.btn-danger{color:var(--danger);border-color:var(--border);background:transparent}.btn-danger:hover{background:var(--danger-soft);border-color:var(--danger)}.btn-sm{height:26px;padding:0 9px;font-size:13px}.btn-block{width:100%;justify-content:center}.input,.select,.textarea{width:100%;height:var(--ctrl-h);padding:0 10px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--panel-2);outline:none;transition:border-color .15s,box-shadow .15s}.textarea{height:auto;min-height:90px;padding:8px 10px;resize:vertical;line-height:1.6}.input:focus,.select:focus,.textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft)}.field{margin-bottom:12px}.field>label{display:block;font-size:13px;color:var(--text-2);margin-bottom:6px}.field .hint{color:var(--text-3);font-size:12px;margin-top:4px}.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 14px}.grid-2>.span-2{grid-column:1 / -1}.grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 14px}.toolbar{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.toolbar .input,.toolbar .select{width:auto;min-width:150px}.spacer{flex:1}.ellipsis{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.table-wrap{overflow-x:auto;border-radius:var(--radius)}table.table{width:100%;border-collapse:collapse;min-width:640px}.table th,.table td{text-align:left;padding:9px 12px;border-bottom:1px solid var(--border-soft);vertical-align:middle}.table th{color:var(--text-3);font-weight:500;font-size:12.5px;background:var(--panel-2);white-space:nowrap}.table tbody tr:hover{background:var(--panel-2)}.table .row-actions{display:flex;gap:4px;justify-content:flex-end;white-space:nowrap}.table .t-title{font-weight:600}.table .t-sub{color:var(--text-3);font-size:12px;margin-top:2px}.badge{display:inline-flex;align-items:center;gap:4px;height:22px;padding:0 8px;border-radius:999px;font-size:12px;background:var(--panel-3);color:var(--text-2)}.badge.success{background:var(--success-soft);color:var(--success)}.badge.warn{background:var(--primary-soft);color:var(--primary)}.badge.danger{background:var(--danger-soft);color:var(--danger)}.badge.dot:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.tabs{display:flex;gap:4px;border-bottom:1px solid var(--border);margin-bottom:var(--gap);overflow-x:auto}.tabs button{border:0;background:transparent;padding:8px 12px;color:var(--text-2);cursor:pointer;border-bottom:2px solid transparent;white-space:nowrap}.tabs button.active{color:var(--primary);border-bottom-color:var(--primary);font-weight:600}.pagination{display:flex;align-items:center;gap:8px;padding:0 4px;color:var(--text-3);font-size:13px}.pagination .spacer{flex:1}.pagination .page-num{min-width:30px;justify-content:center;padding:0 6px}.pagination .page-dots{padding:0 2px;color:var(--text-3);-webkit-user-select:none;user-select:none}.empty{padding:40px 16px;text-align:center;color:var(--text-3)}.mask{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--mask);z-index:60;animation:fade .15s ease}.drawer{position:fixed;top:0;right:0;bottom:0;width:min(720px,56vw);max-width:94vw;background:var(--panel);border-left:1px solid var(--border);box-shadow:var(--shadow);z-index:61;display:flex;flex-direction:column;animation:slideIn .18s ease}.drawer.w-sm{width:min(480px,44vw)}.drawer.w-lg{width:min(1280px,92vw)}.drawer.w-xl{width:min(1400px,94vw)}.drawer-head{height:56px;display:flex;align-items:center;gap:10px;padding:0 16px;border-bottom:1px solid var(--border-soft);flex-shrink:0}.drawer-head h3{margin:0;font-size:15px}.drawer-body{flex:1;overflow-y:auto;padding:var(--card-pad)}.drawer-body>*+*{margin-top:var(--gap)}.modal-body>*+*{margin-top:var(--gap)}.drawer-foot{padding:10px var(--card-pad);border-top:1px solid var(--border-soft);display:flex;gap:8px;justify-content:flex-end;flex-shrink:0}.modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:440px;max-width:92vw;max-height:86vh;display:flex;flex-direction:column;background:var(--panel);border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow);z-index:61;animation:pop .16s ease}.modal.w-lg{width:min(860px,92vw)}.modal-head{padding:14px 12px 0 18px;font-weight:700;flex-shrink:0;display:flex;align-items:center;gap:10px}.modal-head h3{margin:0;font-size:15px;flex:1;min-width:0}.modal-body{padding:12px 18px;overflow-y:auto}.modal-foot{padding:8px 18px 16px;display:flex;gap:8px;justify-content:flex-end;flex-shrink:0}@keyframes fade{0%{opacity:0}}@keyframes slideIn{0%{transform:translate(16px);opacity:.6}}@keyframes pop{0%{transform:translate(-50%,-48%) scale(.98);opacity:.6}}@keyframes spin{to{transform:rotate(360deg)}}.kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--gap)}.dash-kpis{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:8px}.dash-kpis .kpi{padding:8px 10px;min-width:0;overflow:hidden}.dash-kpis .k-label{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dash-kpis .k-value{font-size:clamp(15px,1.3vw,19px);margin-top:1px;font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media(max-width:1220px){.dash-kpis{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(max-width:639px){.dash-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}.kpi{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:12px 14px}.kpi .k-label{color:var(--text-3);font-size:12.5px}.kpi .k-value{font-size:24px;font-weight:700;margin-top:3px;letter-spacing:-.5px}.kpi .k-foot{color:var(--text-3);font-size:12px;margin-top:2px}.dash-grid{display:grid;grid-template-columns:2fr 1fr;gap:var(--gap)}.qa-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.qa-btn{display:flex;align-items:center;gap:8px;padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--panel);color:var(--text-2);font-size:13px;text-decoration:none;transition:border-color .12s ease,color .12s ease,background .12s ease}.qa-btn svg{color:var(--primary);flex-shrink:0}.qa-btn:hover{border-color:var(--primary);color:var(--text);background:var(--primary-soft)}.kw-eng{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.kw-eng-item{display:inline-flex;align-items:center;gap:6px;height:var(--ctrl-h);padding:0 14px;border-radius:999px;border:1px solid var(--border);background:var(--panel);color:var(--text-2);font-size:13px;cursor:pointer;transition:border-color .12s ease,color .12s ease,background .12s ease}.kw-eng-item:hover{border-color:var(--primary);color:var(--text)}.kw-eng-item.on{background:var(--primary);border-color:var(--primary);color:#fff;font-weight:600}.kw-eng-tag{font-size:10px;line-height:15px;padding:0 5px;border-radius:999px;background:var(--panel-3);color:var(--text-3)}.kw-eng-item.on .kw-eng-tag{background:#ffffff3d;color:#fff}.kw-chip{height:26px;padding:0 10px;border-radius:999px;border:1px solid transparent;background:var(--panel-2);color:var(--text-2);font-size:12px;cursor:pointer;transition:color .12s ease,background .12s ease}.kw-chip:hover{color:var(--text)}.kw-chip.on{background:var(--primary-soft);color:var(--primary);border-color:var(--primary);font-weight:600}.kw-rank{display:inline-flex;min-width:26px;height:22px;align-items:center;justify-content:center;padding:0 6px;border-radius:6px;border:1px solid var(--border);font-weight:600;font-variant-numeric:tabular-nums}.kw-notes{margin:0;padding-left:18px;color:var(--text-2);font-size:13px;line-height:1.9}.kw-notes li::marker{color:var(--primary)}.list-row{display:flex;align-items:center;gap:10px;padding:9px 0;border-bottom:1px solid var(--border-soft)}.list-row:last-child{border-bottom:0}.list-row .grow{flex:1;min-width:0}.list-row .ellipsis{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.muted{color:var(--text-3)}.tiny{font-size:12px}.login-page{min-height:100vh;display:grid;place-items:center;background:radial-gradient(1200px 600px at 20% -10%,var(--primary-soft),transparent 60%),var(--bg);padding:20px}.login-card{width:380px;max-width:100%;background:var(--panel);border:1px solid var(--border);border-radius:14px;padding:26px;box-shadow:var(--shadow)}.login-card h1{font-size:20px;margin:14px 0 4px}.login-card .sub{color:var(--text-3);font-size:13px;margin-bottom:18px}.channel-layout{display:grid;grid-template-columns:320px 1fr;gap:var(--gap);align-items:stretch}.tree{padding:8px;max-height:calc(100vh - 200px);overflow:auto}.tree-node{display:flex;align-items:center;gap:6px;padding:7px 8px;border-radius:var(--radius-sm);cursor:pointer;color:var(--text-2)}.tree-node:hover{background:var(--panel-2);color:var(--text)}.tree-node.active{background:var(--primary-soft);color:var(--primary);font-weight:600}.tree-node .toggle{width:16px;height:16px;display:grid;place-items:center;color:var(--text-3);flex-shrink:0}.tree-node .meta{margin-left:auto;font-size:11px;color:var(--text-3)}.editor-layout{display:grid;grid-template-columns:1fr 300px;gap:12px;align-items:start}.seo-card .field:last-child{margin-bottom:0}.richtext-wrap{border:1px solid var(--border);border-radius:var(--radius-sm);overflow:hidden;background:var(--panel-2)}.richtext-wrap .w-e-text-container{background:var(--panel-2)!important;color:var(--text)!important}.richtext-wrap .w-e-toolbar{background:var(--panel-3)!important;border-bottom:1px solid var(--border)!important}.richtext-wrap .w-e-bar-item button{color:var(--text-2)!important}.richtext-wrap .w-e-text-container [data-slate-editor]{color:var(--text)!important}.media-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}.media-item{border:1px solid var(--border);border-radius:var(--radius-sm);overflow:hidden;background:var(--panel)}.media-item .thumb{height:110px;background:var(--panel-3);display:grid;place-items:center;overflow:hidden}.media-item .thumb img{width:100%;height:100%;object-fit:cover}.media-item .info{padding:8px;font-size:12px}.media-item .info .name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.toast-host{position:fixed;top:calc(var(--topbar-h) + 30px);right:14px;z-index:90;display:flex;flex-direction:column;gap:8px;pointer-events:none}.toast-host>*{pointer-events:auto}.toast{padding:6px 14px;border-radius:var(--radius-sm);background:var(--toast-bg);color:var(--toast-text);border:1px solid var(--toast-border);box-shadow:0 10px 30px #00000059;font-size:13px;line-height:1.4;font-weight:500;animation:pop .16s ease}.toast-success{border-left:3px solid var(--success)}.toast-error{border-left:3px solid var(--danger)}.toast-info{border-left:3px solid var(--primary)}.manual-body{display:flex;align-items:flex-start;gap:24px}.manual-toc{position:sticky;top:0;width:216px;flex-shrink:0;max-height:calc(100vh - 120px);overflow-y:auto;display:flex;flex-direction:column;gap:2px;padding-right:14px;border-right:1px solid var(--border-soft)}.manual-toc-item{display:flex;align-items:center;gap:8px;width:100%;text-align:left;padding:7px 10px;border-radius:var(--radius-sm);border:none;background:transparent;color:var(--text-2);font-size:13px;cursor:pointer;transition:background .12s ease,color .12s ease}.manual-toc-item:hover{background:var(--panel-2);color:var(--text)}.manual-toc-num{font-size:11px;color:var(--text-3);font-variant-numeric:tabular-nums}.manual-doc{flex:1;min-width:0}.manual-sec+.manual-sec{margin-top:26px;padding-top:22px;border-top:1px solid var(--border-soft)}.manual-sec h2{font-size:16px;font-weight:600;margin:0 0 10px;display:flex;align-items:center;gap:10px}.manual-sec h2 span{font-size:11px;font-weight:600;color:var(--primary);background:var(--primary-soft);padding:2px 8px;border-radius:999px;font-variant-numeric:tabular-nums}.manual-sec .manual-h{font-size:13px;font-weight:600;color:var(--text);margin:12px 0 4px}.manual-sec p{margin:0 0 8px;color:var(--text-2);font-size:13px;line-height:1.8}.manual-sec ul{margin:0 0 8px;padding-left:18px;color:var(--text-2);font-size:13px;line-height:1.95}.manual-sec li::marker{color:var(--primary)}.manual-foot{margin-top:30px;color:var(--text-3);font-size:12px;text-align:center}@media(max-width:1023px){.manual-toc{display:none}}@media(max-width:1200px){.dash-grid{grid-template-columns:1fr}.kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.editor-layout{grid-template-columns:1fr}}@media(max-width:1023px){.sidebar{transform:translate(-100%);width:var(--sidebar-w);box-shadow:var(--shadow)}.app-shell.mobile-open .sidebar{transform:translate(0)}.app-shell.collapsed .sidebar{width:var(--sidebar-w)}.app-shell.collapsed .nav-item .label,.app-shell.collapsed .nav-item .chev,.app-shell.collapsed .nav-sub{display:initial}.app-shell.collapsed .nav-sub{display:flex}.app-shell.collapsed .nav-item{justify-content:flex-start;padding:0 10px}.main,.app-shell.collapsed .main{margin-left:0}.channel-layout{grid-template-columns:1fr}.tree{max-height:280px}.mobile-mask{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--mask);z-index:39}}@media(max-width:767px){.content{padding:10px}.topbar{padding:0 12px}.kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-2,.grid-3{grid-template-columns:1fr}.drawer,.drawer.w-sm,.drawer.w-lg,.drawer.w-xl{width:100vw;max-width:100vw}.table th,.table td{padding:10px}.toolbar .input,.toolbar .select{min-width:0;flex:1}.hide-mobile{display:none!important}}.mono{font-family:ui-monospace,SFMono-Regular,Consolas,monospace}.badge.primary{color:var(--primary);background:color-mix(in srgb,var(--primary) 14%,transparent)}.switch{position:relative;display:inline-flex;width:42px;height:24px;flex:0 0 auto}.switch input{position:absolute;opacity:0;width:100%;height:100%;margin:0;cursor:pointer;z-index:2}.switch span{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:999px;background:var(--panel-3);transition:background .15s}.switch span:after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#fff;transition:transform .15s}.switch input:checked+span{background:var(--primary)}.switch input:checked+span:after{transform:translate(18px)}.grow{flex:1 1 auto;min-width:0}.stack{display:grid;gap:var(--gap);align-content:start}.row{display:flex;align-items:center;gap:8px}.row.wrap{flex-wrap:wrap}.row.end{justify-content:flex-end}.spin{animation:spin 1s linear infinite}.report-kpis{grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}.report-kpis .kpi{padding:9px 11px;min-width:0}.report-kpis .k-label,.report-kpis .k-foot{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.report-kpis .k-value{font-size:clamp(15px,1.35vw,20px);margin-top:1px;font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.report-card{min-width:0;overflow:hidden}.report-card .card-head{padding:9px 12px;gap:6px;min-width:0}.report-card .card-head>span:not(.spacer){min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.report-card .card-body{padding:10px 12px;min-width:0}.report-grid-2,.report-grid-3{display:grid;gap:var(--gap)}.report-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.report-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.report-bars{display:flex;flex-direction:column;gap:10px}.report-bar{min-width:0}.report-bar-head{display:flex;align-items:center;gap:6px;font-size:12.5px;line-height:18px;color:var(--text-2);min-width:0}.report-bar-head .ellipsis{flex:1 1 auto}.report-bar-head .badge{flex:0 0 auto;display:inline-block;max-width:76px;line-height:20px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.report-bar-head b{margin-left:auto;color:var(--text);font-weight:600;flex:0 0 auto;font-variant-numeric:tabular-nums;white-space:nowrap}.report-bar-track{height:10px;border-radius:5px;background:color-mix(in srgb,var(--text) 12%,transparent);overflow:hidden;margin-top:7px}.report-bar-track i{display:block;height:100%;border-radius:4px;background:var(--primary);opacity:.85}.report-split{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.report-split>div{min-width:0}.report-split .k-value{font-size:clamp(15px,1.3vw,20px);font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.report-split .tiny{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.report-progress{height:6px;border-radius:4px;background:var(--panel-3);overflow:hidden;margin:8px 0 2px}.report-progress i{display:block;height:100%;background:#4a9eff}.report-sub{font-size:11.5px;text-transform:uppercase;letter-spacing:.05em;color:var(--text-3);margin:10px 0 7px}.report-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.report-chips .badge{max-width:100%;overflow:hidden;white-space:nowrap}.report-hourly{display:flex;align-items:flex-end;gap:2px;height:44px;margin-top:4px}.report-hourly i{flex:1;min-width:2px;background:var(--primary);opacity:.55;border-radius:2px 2px 0 0}.report-inline-stats{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-bottom:8px}.report-url-row{display:flex;align-items:center;gap:10px;padding:7px 0;border-bottom:1px solid var(--border-soft);min-width:0}.report-url-row:last-child{border-bottom:0}.report-url-row .badge{flex:0 0 auto}.report-url-row .mono{font-size:12px}.report-empty-box{padding:12px;border:1px dashed var(--border);border-radius:var(--radius-sm);background:var(--panel-2)}.tiny-badge{font-size:10.5px;padding:1px 5px;height:auto}.card-body.flush{padding:0}.table.compact th,.table.compact td{padding:7px 10px}table.table.report-table{table-layout:fixed;min-width:0}.report-table th,.report-table td{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.report-table td>a{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.report-table .badge{display:inline-block;max-width:100%;height:22px;line-height:22px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:middle}.report-table .num{text-align:right;font-variant-numeric:tabular-nums}.report-count{flex:0 0 auto;color:var(--text-3);font-size:11.5px;white-space:nowrap}.report-scroll{overflow-y:auto;overscroll-behavior:contain}@media(max-width:640px){table.table.report-table{min-width:420px}}@media(max-width:1280px){.report-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:1220px){.report-grid-2,.report-grid-3{grid-template-columns:1fr}}@media(max-width:1023px){.report-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}
