*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{color-scheme:dark;--bg: #1e1f22;--bg2: #2b2d31;--bg3: #313338;--bg4: #3b3d44;--border: #3f4147;--text: #dbdee1;--text2: #b5bac1;--text3: #80848e;--accent: #5865f2;--accent-h: #4752c4;--success: #2d7d46;--danger: #c0392b;--radius: 6px;--left: 360px;--right: 370px}html,body{height:100%;background:var(--bg);color:var(--text);font-family:gg sans,Noto Sans,Helvetica Neue,Helvetica,Arial,sans-serif;font-size:15.5px;overflow:hidden}#root{display:flex;flex-direction:column;height:100vh}.app-header{display:flex;align-items:center;gap:10px;padding:0 16px;height:52px;flex-shrink:0;background:var(--bg2);border-bottom:1px solid var(--border)}.app-header h1{font-size:15px;font-weight:700;white-space:nowrap}.spacer{flex:1}.app-body{display:flex;flex:1;overflow:hidden}.panel-left{width:var(--left);flex-shrink:0;background:var(--bg2);border-right:1px solid var(--border);display:flex;flex-direction:column;overflow:hidden}.panel-center{flex:1;overflow-y:auto;overflow-x:hidden;padding:28px 32px;background:var(--bg3);min-width:0}.panel-right{width:var(--right);flex-shrink:0;background:var(--bg2);border-left:1px solid var(--border);display:flex;flex-direction:column;overflow:hidden}.panel-header{padding:10px 14px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.7px;color:var(--text3);border-bottom:1px solid var(--border);flex-shrink:0}.panel-body{flex:1;overflow-y:auto;padding:6px}.config-bar{padding:10px 12px;border-bottom:1px solid var(--border);display:flex;flex-direction:column;gap:8px;flex-shrink:0}.toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:6px;padding:8px 12px;border-bottom:1px solid var(--border);flex-shrink:0}.toolbar-label{font-size:10px;color:var(--text3);font-weight:700;text-transform:uppercase;letter-spacing:.5px;width:100%;margin-bottom:2px}input,textarea,select{background:var(--bg4);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);padding:7px 10px;font-size:13px;font-family:inherit;outline:none;transition:border-color .15s;width:100%}input:focus,textarea:focus,select:focus{border-color:var(--accent)}textarea{resize:vertical;min-height:70px}input[type=color]{width:38px;height:30px;padding:2px 4px;cursor:pointer}input[type=number]{width:auto}.field{display:flex;flex-direction:column;gap:4px}.field label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--text3)}button{display:inline-flex;align-items:center;justify-content:center;gap:5px;padding:6px 14px;border-radius:var(--radius);border:none;font-size:13px;font-family:inherit;font-weight:500;cursor:pointer;transition:background .15s,opacity .15s;white-space:nowrap}button:disabled{opacity:.4;cursor:default}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover:not(:disabled){background:var(--accent-h)}.btn-secondary{background:var(--bg4);color:var(--text2)}.btn-secondary:hover:not(:disabled){background:#4a4d57;color:var(--text)}.btn-danger{background:var(--danger);color:#fff}.btn-danger:hover:not(:disabled){background:#a93226}.btn-success{background:var(--success);color:#fff}.btn-success:hover:not(:disabled){background:#23623a}.btn-icon{background:transparent;border:none;color:var(--text3);padding:2px 6px;font-size:13px;border-radius:3px;opacity:0;pointer-events:none;transition:opacity .1s,background .1s}.btn-icon.add-btn{color:#57f287}.btn-icon.del-btn{color:#ed4245}.btn-icon:hover{background:var(--bg3);color:var(--text)}.btn-toggle{display:inline-flex;align-items:center;gap:6px;padding:5px 14px;border-radius:var(--radius);border:1px solid var(--border);font-size:12px;font-weight:600;cursor:pointer;transition:background .15s,border-color .15s;background:var(--bg4);color:var(--text2)}.btn-toggle.on{border-color:var(--success);color:#57f287;background:#2d7d462e}.btn-toggle.off{border-color:var(--danger);color:#ed4245;background:#c0392b2e}.btn-send{padding:7px 18px;font-size:13px;font-weight:600;min-width:86px;justify-content:center}.btn-toggle{min-width:96px}.tree-node{display:flex;align-items:center;gap:4px;padding:4px 8px;border-radius:4px;cursor:pointer;user-select:none;font-size:13px;color:var(--text2);transition:background .1s,color .1s;min-height:28px}.tree-node:hover{background:var(--bg4);color:var(--text)}.tree-node.selected{background:#5865f238;color:var(--text)}.tree-node:hover .btn-icon{opacity:1;pointer-events:auto}.tree-node.selected .btn-icon.add-btn{opacity:.6;pointer-events:auto}.tree-node-icon{font-size:11px;opacity:.6;flex-shrink:0}.tree-node-label{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tree-actions{display:flex;gap:1px;flex-shrink:0;margin-left:2px}.tree-children{padding-left:12px;border-left:1px solid var(--border);margin-left:10px}.tree-add-menu{display:flex;flex-direction:column;gap:2px;padding:4px 0}.tree-add-opt{text-align:left;background:#5865f21a;color:var(--text2);border-radius:4px;padding:4px 10px;font-size:12px;border:1px solid transparent;justify-content:flex-start}.tree-add-opt:hover{background:var(--accent);color:#fff;border-color:transparent}.preview-wrapper{max-width:720px;width:100%;margin:0 auto;min-width:0}.preview-sel{border-radius:5px;outline:2px solid transparent;outline-offset:-1px;cursor:pointer;transition:outline-color .12s}.preview-sel:hover{outline-color:#5865f266}.preview-sel-active{outline-color:#5865f2!important}.props-empty{color:var(--text3);font-size:13px;padding:20px 14px;text-align:center}.props-section{padding:12px 14px;display:flex;flex-direction:column;gap:12px}.props-title{font-size:11px;font-weight:700;color:var(--text3);text-transform:uppercase;letter-spacing:.5px}.gallery-items{display:flex;flex-direction:column;gap:8px}.gallery-item{background:var(--bg3);border-radius:var(--radius);padding:10px;display:flex;flex-direction:column;gap:6px}.gallery-item-header{display:flex;justify-content:space-between;align-items:center;font-size:11px;color:var(--text3);font-weight:700;text-transform:uppercase}.options-list{display:flex;flex-direction:column;gap:4px}.option-item{background:var(--bg3);border-radius:var(--radius);padding:8px 10px;display:flex;flex-direction:column;gap:5px}.option-item-header{display:flex;justify-content:space-between;align-items:center;font-size:11px;color:var(--text3)}.status-bar{display:flex;align-items:center;gap:10px;padding:5px 14px;border-top:1px solid var(--border);background:var(--bg2);font-size:12px;color:var(--text3);flex-shrink:0}.status-bar .msg{flex:1}.status-bar .msg.ok{color:#57f287}.status-bar .msg.err{color:#ed4245}.status-bar .msg.info{color:var(--text2)}.row{display:flex;gap:8px;align-items:center}.row.wrap{flex-wrap:wrap}.grow{flex:1}small{font-size:11px;color:var(--text3)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--bg4);border-radius:3px}.toast-container{position:fixed;bottom:52px;right:20px;display:flex;flex-direction:column;gap:8px;z-index:9999;pointer-events:none}.toast{display:flex;align-items:center;gap:10px;padding:10px 16px;border-radius:var(--radius);font-size:13px;font-weight:500;min-width:220px;max-width:360px;box-shadow:0 4px 20px #00000073;animation:toast-in .2s ease,toast-out .25s ease 3.2s forwards;pointer-events:auto}.toast-ok{background:#162b1f;border:1px solid #2d7d46;color:#57f287}.toast-err{background:#2d1214;border:1px solid #c0392b;color:#ed4245}.toast-warn{background:#2d251a;border:1px solid #b7950b;color:#fcc419}.toast-info{background:#191b30;border:1px solid #5865f2;color:#b5bac1}.toast-icon{display:flex;align-items:center;flex-shrink:0}@keyframes toast-in{0%{opacity:0;transform:translate(24px)}to{opacity:1;transform:translate(0)}}@keyframes toast-out{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(24px)}}.modal-overlay{position:fixed;inset:0;background:#000000b8;display:flex;align-items:center;justify-content:center;z-index:10000;backdrop-filter:blur(3px)}.modal{background:var(--bg2);border:1px solid var(--border);border-radius:12px;width:480px;max-width:calc(100vw - 40px);max-height:calc(100vh - 80px);display:flex;flex-direction:column;box-shadow:0 24px 64px #0009;animation:modal-in .18s ease}@keyframes modal-in{0%{opacity:0;transform:scale(.96) translateY(-8px)}to{opacity:1;transform:scale(1) translateY(0)}}.modal-header{padding:20px 24px 16px;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:14px;position:relative}.modal-close{position:absolute;top:14px;right:16px;background:none;border:none;cursor:pointer;color:#4e5058;font-size:16px;padding:4px 6px;border-radius:4px;line-height:1;transition:color .15s,background .15s}.modal-close:hover{color:#ed4245;background:#ed42451a}.modal-header-icon{width:42px;height:42px;background:#5865f22e;border-radius:10px;display:flex;align-items:center;justify-content:center;color:#a5b4fc;flex-shrink:0}.modal-header-text h2{font-size:16px;font-weight:700;color:var(--text)}.modal-header-text p{font-size:12px;color:var(--text3);margin-top:2px}.modal-body{padding:20px 24px;flex:1;overflow-y:auto}.modal-footer{padding:14px 24px;border-top:1px solid var(--border);display:flex;justify-content:flex-end;gap:10px;align-items:center}.modal-page-dots{display:flex;gap:6px;flex:1;align-items:center}.modal-page-dot{width:7px;height:7px;border-radius:50%;background:var(--border);transition:background .15s,transform .15s}.modal-page-dot.active{background:var(--accent);transform:scale(1.25)}.welcome-card{background:var(--bg3);border:1px solid var(--border);border-radius:10px;padding:16px;display:flex;flex-direction:column;gap:14px}.welcome-card-row{display:flex;align-items:center;gap:14px}.welcome-card-icon{width:34px;height:34px;background:#5865f226;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:17px;color:#a5b4fc;flex-shrink:0}.welcome-card-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--text3)}.welcome-card-value{font-size:14px;font-weight:600;color:var(--text);margin-top:2px}.tutorial-step{display:flex;flex-direction:column;gap:14px}.tutorial-step-badge{display:inline-flex;align-items:center;gap:8px;background:#5865f21f;border:1px solid rgba(88,101,242,.25);border-radius:20px;padding:4px 12px;font-size:11px;font-weight:700;color:#b5bac1;text-transform:uppercase;letter-spacing:.5px;width:fit-content}.tutorial-step-desc{font-size:13px;color:var(--text2);line-height:1.6}.tutorial-step-list{display:flex;flex-direction:column;gap:9px}.tutorial-step-item{display:flex;align-items:flex-start;gap:10px;font-size:13px;color:var(--text2);line-height:1.45}.tutorial-step-item-dot{width:6px;height:6px;border-radius:50%;background:var(--accent);margin-top:5px;flex-shrink:0}.tutorial-tip{background:#5865f212;border:1px solid rgba(88,101,242,.18);border-radius:8px;padding:10px 14px;font-size:12px;color:var(--text3);line-height:1.5}.send-mode-toggle{display:flex;border-radius:var(--radius);overflow:hidden;border:1px solid var(--border);flex-shrink:0}.mode-btn{flex:1;background:transparent;color:var(--text3);padding:6px 10px;font-size:12px;font-weight:500;border-radius:0;border:none;transition:background .15s,color .15s;white-space:nowrap}.mode-btn.active{background:var(--accent);color:#fff}.mode-btn:hover:not(.active){background:var(--bg4);color:var(--text)}.security-tip{background:#fcc4190f;border:1px solid rgba(252,196,25,.2);border-radius:8px;padding:10px 14px;font-size:12px;color:var(--text3);line-height:1.5}.btn-coming-soon{position:relative;opacity:.7}.btn-coming-soon:hover{opacity:1}.badge-soon{position:absolute;top:-8px;right:-4px;background:var(--accent);color:#fff;font-size:9px;font-weight:700;border-radius:8px;padding:1px 5px;text-transform:uppercase;letter-spacing:.3px;white-space:nowrap;pointer-events:none}#export-preview-clone{position:fixed;left:-9999px;top:0;background:#313338;padding:20px;border-radius:8px;font-family:gg sans,Noto Sans,sans-serif;pointer-events:none}@media print{body *{visibility:hidden}#print-preview,#print-preview *{visibility:visible}#print-preview{position:fixed;left:0;top:0;width:100%;background:#313338;padding:20px}}
