:root{font:15px/1.55 -apple-system,BlinkMacSystemFont,"Segoe UI","Microsoft YaHei",sans-serif;color:#182235;background:#f6f8fc;--blue:#245bec;--line:#e3e9f2;--muted:#6e7b91}*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}button{cursor:pointer;border:1px solid var(--line);border-radius:9px;padding:9px 15px;color:inherit;background:white;transition:background .15s}button:hover{background:#edf2ff}button:disabled{opacity:.45;cursor:default}.primary{background:var(--blue);border-color:var(--blue);color:white}.primary:hover{background:#194ad0}input,textarea,select{border:1px solid var(--line);border-radius:8px;padding:10px;background:#fff;color:inherit;width:100%}input:focus,textarea:focus{outline:2px solid #bfd0ff;border-color:var(--blue)}textarea{resize:vertical;min-height:90px}label{display:block;margin:12px 0;color:var(--muted)}h1,h2,h3,p{margin:0}h1{font-size:25px;letter-spacing:-.5px}h2{font-size:18px}h3{font-size:12px;letter-spacing:.06em;color:var(--muted);margin:22px 12px 8px}a{color:var(--blue);text-decoration:none}aside{width:240px;height:100vh;position:fixed;padding:26px 16px;background:#eef2f8;border-right:1px solid var(--line);display:flex;flex-direction:column;gap:4px}.brand{font-size:25px;font-weight:750;letter-spacing:-1px;margin:0 12px 24px}.brand span{display:block;font-size:12px;letter-spacing:0;color:var(--muted);font-weight:400;margin-top:4px}nav{overflow:auto}#history{max-height:34vh}nav button{width:100%;text-align:left;border:0;background:transparent;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:2px 0}nav button.active{background:#dce7ff;color:var(--blue)}nav button small{display:block;font-size:11px;color:var(--muted)}footer{margin-top:auto;padding:18px 10px 0;color:var(--muted);font-size:12px}footer button{display:block;margin-top:10px;background:transparent}main{margin-left:240px;min-height:100vh}header{padding:25px 36px;background:#fff;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:16px;align-items:center}.eyebrow{font-size:10px;letter-spacing:2px;color:var(--muted)}#header-actions{display:flex;gap:8px}#workspace{padding:28px 36px;max-width:1600px;margin:auto}.intro{padding:42px 0 35px;text-align:center}.intro h1{font-size:34px}.intro p{color:var(--muted);margin-top:10px}.grid{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:24px}.runner{grid-template-columns:320px minmax(0,1fr)}.panel{border:1px solid var(--line);background:white;border-radius:16px;padding:23px;min-width:0;margin-bottom:18px}.panel h2{margin-bottom:15px}.materials{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:18px}.material{border:1px dashed #bfcde3;background:#fff;border-radius:14px;min-height:165px;padding:18px;cursor:pointer}.material:hover{border-color:var(--blue);background:#fafcff}.material h2{font-size:16px;margin-bottom:14px}.material .empty{color:var(--muted);font-size:13px;padding:15px 0}.file-row{display:flex;align-items:center;gap:6px;margin:7px 0;padding:8px;background:#f4f7fb;border-radius:7px;cursor:default}.file-row span{flex:1;overflow:hidden;overflow-wrap:anywhere;font-size:13px}.file-row button{padding:3px 7px;font-size:11px;opacity:0}.file-row:hover button,.file-row:focus-within button{opacity:1}.file-row select{font-size:11px;padding:3px;width:95px}.material .sub{font-size:12px;margin-top:10px;color:var(--muted);background:none;border:0;padding:0}.composer{padding:17px;border:1px solid var(--line);border-radius:15px;background:white}.composer textarea{border:0;min-height:110px;outline:none;padding:5px}.composer-bar{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding-top:12px}.composer-bar label{font-size:12px;margin:0}.composer-bar input{width:auto}.messages{max-height:55vh;overflow:auto;padding:8px 0 20px}.message{margin:0 0 18px;padding:17px 20px;border-radius:12px;background:white;border:1px solid var(--line);white-space:pre-wrap;overflow-wrap:anywhere}.message.you{background:#eaf0ff;border-color:#eaf0ff;margin-left:8%}.message strong{display:block;font-size:12px;color:var(--blue);margin-bottom:8px}.message p{font-size:14px}.muted,.hint{color:var(--muted);font-size:13px}.hint{margin-top:12px}.actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:15px}.badge{display:inline-block;border-radius:20px;background:#edf3ff;color:#325da8;padding:3px 9px;font-size:11px;margin:0 5px 6px 0}.step{font-size:13px;border-left:2px solid #dbe5fb;padding:6px 12px;margin:8px 0}.table-wrap{overflow:auto;max-height:55vh;margin:15px 0}table{border-collapse:collapse;width:100%;font-size:13px;white-space:nowrap}td,th{padding:10px;border-bottom:1px solid var(--line);text-align:left}th{background:#f5f7fb;position:sticky;top:0}.empty-state{text-align:center;padding:65px 15px;color:var(--muted)}.empty-state b{display:block;color:#26364b;margin-bottom:8px}.result-tools{display:flex;gap:10px}.result-tools input{flex:1}.result-tools select{width:auto;max-width:220px}.downloads{display:flex;gap:12px;flex-wrap:wrap;margin-top:15px}.login{display:flex;min-height:100vh;align-items:center;justify-content:center}.login-card{width:400px;background:white;border:1px solid var(--line);border-radius:20px;padding:35px}.login-card .brand{margin:0 0 30px}.login-card button{width:100%;margin-top:15px}#login-error{color:#b62727;font-size:13px;margin-top:12px}[hidden]{display:none!important}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);max-width:80vw;background:#172238;color:white;padding:14px 22px;border-radius:12px;z-index:99}dialog{border:1px solid var(--line);border-radius:17px;max-width:760px;width:90vw;padding:26px}dialog::backdrop{background:#101e3866}#modal-content{max-height:65vh;overflow:auto;margin:18px 0;white-space:pre-wrap;overflow-wrap:anywhere}.modal-actions{display:flex;justify-content:flex-end;gap:12px}pre{font-size:12px;white-space:pre-wrap;overflow-wrap:anywhere}.chart{max-height:300px;overflow:auto}.bar-line{display:flex;gap:10px;align-items:center;font-size:12px;margin:8px 0}.bar-line span{min-width:90px;max-width:150px;overflow:hidden}.bar-line progress{flex:1;height:13px;accent-color:var(--blue)}.danger{color:#b23b3b}.busy{color:var(--blue);padding:10px;font-size:13px}.slot{padding-bottom:14px;margin-bottom:15px;border-bottom:1px solid var(--line)}@media(max-width:1100px){aside{width:200px}main{margin-left:200px}header,#workspace{padding:20px}.grid{grid-template-columns:1fr}.runner{grid-template-columns:280px minmax(0,1fr)}}@media(max-width:760px){aside{position:static;width:auto;height:auto;padding:15px}aside .brand{margin-bottom:10px}#history,#plugins{max-height:130px}footer{display:none}main{margin:0}header{align-items:flex-start}h1{font-size:21px}.materials,.runner{grid-template-columns:1fr}.file-row button{opacity:1}.material{min-height:115px}.intro h1{font-size:26px}.result-tools{flex-wrap:wrap}}
