:root{font-family:Inter,'Segoe UI','Microsoft YaHei',sans-serif;font-size:12px;color-scheme:light;--bg:#eef1f4;--panel:#fff;--surface:#f8fafb;--border:#dfe5eb;--ink:#273849;--muted:#80909e;--blue:#126ddd;--highlight:#ebf3ff;--grid:#e9eef2;--major:#d5dfe8;--shadow:0 12px 45px #142b4920}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);overflow:hidden}body.dark{color-scheme:dark;--bg:#101821;--panel:#18232f;--surface:#141e28;--border:#2a3848;--ink:#d3e0ed;--muted:#8295a7;--blue:#63a6f7;--highlight:#203b55;--grid:#23313f;--major:#344759;--shadow:0 12px 45px #0008}button,input,select,textarea{font:inherit;color:inherit}button,select{border:1px solid var(--border);background:var(--panel);border-radius:5px;min-height:30px;padding:5px 10px}button{cursor:pointer;white-space:nowrap}button:hover{background:var(--highlight);border-color:#8bb3df}button:disabled{opacity:.3;cursor:default}button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--blue);outline-offset:2px}input,textarea{border:1px solid var(--border);background:var(--panel);border-radius:5px;padding:7px 8px;min-width:0}input[type=checkbox]{accent-color:var(--blue)}input[type=color]{padding:2px;min-height:30px}select{max-width:190px}.primary{background:#156ad3;color:white;border-color:#156ad3}.primary:hover{background:#0f5dbe}.grow{flex:1}.line{width:1px;height:22px;background:var(--border);margin:0 5px;flex-shrink:0}header{display:flex;align-items:center;gap:8px;padding:0 16px;height:62px;background:var(--panel);border-bottom:1px solid var(--border)}.brand{display:flex;align-items:center;gap:9px;width:224px;flex-shrink:0}.brandmark{color:var(--blue);font-size:42px;font-weight:600;line-height:1}.brand strong{font-size:18px;letter-spacing:-.5px}.brand strong span{display:block;font-size:8px;letter-spacing:3.5px;color:var(--muted);margin-top:2px}.project{display:flex;flex-direction:column;gap:3px}.project input{border:0;padding:0;font-weight:600;width:300px;background:transparent;font-size:13px}.project>span{font-size:10px;color:#53917b}.commandbar{display:flex;align-items:center;gap:7px;height:49px;background:var(--surface);border-bottom:1px solid var(--border);padding:7px 14px}.commandgroup{display:flex;gap:4px}.commandgroup button{background:transparent}.application{height:calc(100dvh - 145px);display:grid;grid-template-columns:246px minmax(300px,1fr) 252px;min-height:260px}.signalpanel,.properties{background:var(--panel);display:flex;flex-direction:column;min-height:0}.signalpanel{border-right:1px solid var(--border)}.properties{border-left:1px solid var(--border)}.panelheading{display:flex;align-items:center;justify-content:space-between;height:44px;padding:0 15px;font-weight:600;border-bottom:1px solid var(--border);flex-shrink:0}.badge{color:var(--muted);font:10px Consolas,monospace;letter-spacing:.7px}.filterrow{display:flex;padding:12px 10px 7px;gap:5px}.filterrow input{width:100%;font-size:11px;background:var(--surface)}.signalcaption{height:36px;display:flex;justify-content:space-between;align-items:center;padding:0 13px;color:var(--muted);font-size:10px}.signalcaption button{border:0;min-height:22px;padding:0 7px;color:var(--muted)}#signalList{flex:1;overflow:auto;padding:0 7px 12px}.group{display:flex;gap:7px;align-items:center;height:31px;color:var(--muted);font-size:10px;letter-spacing:.5px;cursor:pointer;padding:0 6px;border-top:1px solid var(--border);margin-top:5px}.group .groupcount{margin-left:auto}.signalrow{display:flex;align-items:center;gap:8px;height:49px;border:1px solid transparent;border-radius:5px;cursor:pointer;padding:0 7px}.signalrow.active{background:var(--highlight);border-color:#92b8e64d}.signalrow:hover{background:var(--surface)}.signalrow.active:hover{background:var(--highlight)}.signalrow input{margin:0}.signalrow .dot{width:6px;height:21px;background:var(--signal);border-radius:2px;flex-shrink:0}.signalname{font-family:Consolas,monospace;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:151px;font-size:12px}.signalrow small{display:block;color:var(--muted);font:9px sans-serif;margin-top:4px}.signalfooter{padding:9px;display:flex;align-items:center;gap:5px;border-top:1px solid var(--border);font-size:10px}.signalfooter span{flex:1;color:var(--muted)}.signalfooter button{min-height:25px;font-size:10px;padding:4px 8px}.editor{min-width:0;display:flex;flex-direction:column;min-height:0;background:var(--panel)}.editbar{display:flex;align-items:center;gap:3px;height:44px;padding:7px 9px;border-bottom:1px solid var(--border);flex-shrink:0}.tools{display:flex;align-items:center;gap:2px}.tools button{border-color:transparent;background:transparent;padding:5px 7px;font-size:11px}.tools button.active{background:var(--highlight);color:var(--blue);border-color:#7da8dc66}.editbar>button{min-height:26px;padding:3px 7px;font-size:11px}#zoomLabel{font-size:10px;color:var(--muted);padding:0 4px}.timelinebar{min-height:41px;display:flex;align-items:center;gap:10px;padding:5px 12px;border-bottom:1px solid var(--border);flex-shrink:0;background:var(--surface);flex-wrap:wrap}#toolHint{font-size:10px;color:var(--muted);flex:1}.timelinebar label{font-size:10px;color:var(--muted);white-space:nowrap;display:flex;align-items:center;gap:4px}.timelinebar input[type=number]{width:59px;padding:4px;font-size:10px}.timelinebar select{min-height:25px;font-size:10px;padding:3px 6px}#canvasScroll{flex:1;overflow:auto;position:relative;touch-action:none;overscroll-behavior:contain;background:var(--panel)}#canvas{display:block;user-select:none;touch-action:none}.canvasbottom{display:flex;align-items:center;min-height:29px;border-top:1px solid var(--border);padding:6px 12px;color:var(--muted);font-size:10px;gap:12px}#projectDescription{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:75%}#durationLabel{white-space:nowrap}#propertyBody{padding:15px;overflow:auto;flex:1}.sectionlabel{text-transform:uppercase;font-size:9px;color:var(--muted);letter-spacing:1px;margin:21px 0 10px}.sectionlabel:first-child{margin-top:0}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:12px;color:var(--muted);font-size:10px}.field input,.field select,.field textarea{width:100%;color:var(--ink);font-size:12px}.field textarea{min-height:60px;resize:vertical}.fieldpair{display:grid;grid-template-columns:1fr 1fr;gap:8px}.check{font-size:11px;color:var(--ink);display:flex;align-items:center;gap:7px;margin:12px 0}.propertybuttons{display:flex;gap:6px;flex-wrap:wrap}.propertybuttons button{font-size:10px}.note{font-size:11px;color:var(--muted);line-height:1.9}.readout{background:var(--surface);padding:10px;border:1px solid var(--border);border-radius:5px;color:var(--muted);font:11px/1.8 Consolas,monospace;overflow-wrap:anywhere}.danger{color:#c05c6d}footer{display:flex;align-items:center;gap:12px;height:34px;background:var(--panel);border-top:1px solid var(--border);padding:0 14px;color:var(--muted);font-size:10px}footer button{border:0;font-size:10px;padding:0;min-height:20px}.statusdot{width:5px;height:5px;background:#2ca885;border-radius:50%}.version{font-size:9px;letter-spacing:.8px}dialog{border:1px solid var(--border);border-radius:9px;background:var(--panel);color:var(--ink);box-shadow:var(--shadow);padding:24px;width:650px;max-width:94vw;max-height:88vh;overflow:auto}dialog::backdrop{background:#10233566}dialog h2{font-size:18px;margin:0 0 8px}dialog p{line-height:1.9;color:var(--muted);font-size:12px}dialog textarea{width:100%;min-height:155px;font:12px/1.8 Consolas,monospace;resize:vertical}dialog .fields{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}dialog .dialogactions{display:flex;justify-content:flex-end;gap:8px;margin-top:20px}#dialogError{color:#bf5868;font-size:12px;min-height:20px;margin-top:10px}.exportchoices{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:20px 0}.exportchoices button{padding:18px;text-align:left;font-weight:600}.exportchoices small{display:block;font-weight:400;color:var(--muted);margin-top:7px}#toast{display:none;position:fixed;bottom:48px;left:50%;transform:translateX(-50%);background:#243a51;color:white;padding:12px 20px;border-radius:6px;box-shadow:var(--shadow);z-index:100;font-size:12px;max-width:80vw}.recentitem{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border);padding:10px 0;gap:10px}.recentitem small{display:block;color:var(--muted);margin-top:5px}kbd{font:10px Consolas,monospace;padding:2px 5px;border:1px solid var(--border);border-radius:3px;background:var(--surface)}@media(max-width:1200px){.application{grid-template-columns:210px minmax(300px,1fr) 216px}.brand{width:190px}.commandbar{gap:3px}.commandbar button{font-size:11px;padding:4px 7px}.project input{width:220px}#toolHint{display:none}.editbar{flex-wrap:wrap;height:auto;min-height:44px}.tools button{padding:5px}.signalname{max-width:119px}}@media(max-width:900px){.application{grid-template-columns:180px minmax(400px,1fr) 210px;overflow-x:auto}.brand{width:160px}.project input{width:180px}header{gap:4px;padding:0 8px}header button{font-size:10px;padding:5px}.commandbar{overflow-x:auto}.commandbar .grow{display:none}footer .version{display:none}}

.themechooser{display:flex;gap:9px;margin:18px 0}.themechooser select{max-width:none;flex:1}.themefields{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.themefields input{height:42px}.themeSwatches{display:flex;gap:7px;margin:12px 0}.themeSwatches span{height:20px;flex:1;border-radius:3px}#canvasScroll{background:var(--canvas,var(--panel))}.primary{background:var(--blue);border-color:var(--blue)}.primary:hover{filter:brightness(.92);background:var(--blue)}

.primary{color:var(--primaryink,#fff)}
