:root{--bg: #0B0E14;--panel: #131824;--panel2: #0D121B;--line: #252D3D;--text: #E8ECF4;--dim: #8C96A8;--green: #17A45C;--gold: #FFD644;--up: #F5544F;--down: #4C8DF6}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg);color:var(--text);font-size:14.5px;line-height:1.6;font-family:Pretendard Variable,Pretendard,Malgun Gothic,Apple SD Gothic Neo,Segoe UI,sans-serif}.wrap{max-width:960px;margin:0 auto;padding:20px 16px 60px}.brand{display:flex;align-items:center;gap:9px;flex-wrap:wrap;padding:12px 0 16px;border-bottom:1px solid var(--line);margin-bottom:20px}.brand .dot{width:9px;height:9px;border-radius:50%;background:var(--green);box-shadow:0 0 8px #17a45ccc}.brand b{font-size:16px}.note{color:var(--dim);font-size:12.5px}.drop{border:2px dashed var(--line);border-radius:12px;background:var(--panel2);padding:30px 20px;text-align:center;cursor:pointer;transition:border-color .15s,background .15s}.drop.over,.drop:hover{border-color:var(--green);background:#10151f}.dropTitle{font-size:16px;font-weight:700;margin-bottom:6px}.dropHint{color:var(--dim);font-size:12.5px;word-break:keep-all}.dropHint b{color:var(--text)}.days{display:inline-block;margin-top:14px;color:var(--dim);font-size:13px;cursor:default}.days select{background:var(--panel);color:var(--text);border:1px solid var(--line);border-radius:6px;padding:4px 8px;font-family:inherit}.miniBtn{background:#17a45c29;color:#8fe0b5;border:1px solid var(--green);border-radius:6px;padding:3px 12px;font-family:inherit;font-size:12.5px;font-weight:700;cursor:pointer}.miniBtn:hover:not(:disabled){background:#17a45c4d}.miniBtn:disabled{opacity:.5;cursor:default}.fetchRow{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:12px;padding:10px 14px;background:var(--panel2);border:1px solid var(--line);border-radius:10px}.orLabel{color:var(--dim);font-size:12.5px}.fetchRow select{background:var(--panel);color:var(--text);border:1px solid var(--line);border-radius:6px;padding:5px 8px;font-family:inherit}.fetchRow button{background:#17a45c29;color:#8fe0b5;border:1px solid var(--green);border-radius:8px;padding:6px 14px;font-family:inherit;font-size:13px;font-weight:700;cursor:pointer;transition:background .15s}.fetchRow button:hover:not(:disabled){background:#17a45c4d}.fetchRow button:disabled{opacity:.5;cursor:default}.presets{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:20px}.chip{background:var(--panel);color:var(--text);border:1px solid var(--line);border-radius:20px;padding:5px 14px;font-family:inherit;font-size:13px;font-weight:600;cursor:pointer;transition:border-color .15s,background .15s}.chip:hover:not(:disabled){border-color:var(--green);background:#10151f}.chip:disabled{opacity:.5;cursor:default}.alert{background:#f5544f1a;border:1px solid rgba(245,84,79,.45);border-radius:8px;padding:10px 14px;margin-top:14px;color:#ffb3b0;font-size:13px;white-space:pre-wrap;word-break:break-all}.panel{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:18px;margin-top:20px}.panel h2{font-size:15.5px;margin-bottom:12px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.badge{font-size:11.5px;font-weight:700;border-radius:20px;padding:2px 10px}.badge.running{background:#ffd64426;color:var(--gold)}.badge.done{background:#17a45c2e;color:#8fe0b5}.badge.error{background:#f5544f26;color:#ffb3b0}.summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px;margin-bottom:14px}.summary>div{background:var(--panel2);border:1px solid var(--line);border-radius:8px;padding:10px 12px}.summary span{display:block;color:var(--dim);font-size:11.5px;margin-bottom:3px}.summary b{font-variant-numeric:tabular-nums}.running{color:var(--gold);font-size:13.5px}.chart{width:100%;border-radius:8px;border:1px solid var(--line);margin-bottom:12px;display:block}.tableScroll{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:13px}th,td{border-bottom:1px solid var(--line);padding:7px 10px;text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}th{color:var(--dim);font-weight:600;background:var(--panel2)}th:first-child,td:first-child{text-align:left}td.mid{font-weight:700}td.up{color:var(--up)}td.down{color:var(--down)}tr.rowLink{cursor:pointer}tr.rowLink:hover td{background:#171d2a}.foot{color:var(--dim);font-size:12.5px;margin-top:12px;word-break:keep-all}.foot a{color:#7fd4a8}.symInput{background:var(--panel);color:var(--text);border:1px solid var(--line);border-radius:6px;padding:5px 10px;font-family:inherit;font-size:13px;width:210px}.symInput:focus{outline:none;border-color:var(--green)}.analysisBox{border-top:1px solid var(--line);margin-top:16px;padding-top:14px}.analysisBox h3{font-size:14px;margin-bottom:10px}.msg{display:flex;gap:10px;margin-bottom:10px}.msgRole{flex:0 0 38px;text-align:center;font-size:11.5px;font-weight:700;border-radius:6px;padding:2px 0;height:fit-content}.msg.user .msgRole{background:#ffd64426;color:var(--gold)}.msg.assistant .msgRole{background:#17a45c2e;color:#8fe0b5}.msgBody{flex:1;background:var(--panel2);border:1px solid var(--line);border-radius:8px;padding:9px 12px;font-size:13.5px;white-space:pre-wrap;word-break:break-word;overflow-x:auto}.mdTable{margin:4px 0;white-space:normal}.mdTable th,.mdTable td{text-align:right}.mdTable th:first-child,.mdTable td:first-child{text-align:left}.msgBody code{background:#171d2a;border:1px solid var(--line);border-radius:4px;padding:1px 5px;font-size:12px}.msgBody a{color:#7fd4a8}.askRow{display:flex;gap:8px;margin-top:10px}.askRow input{flex:1;background:var(--panel2);color:var(--text);border:1px solid var(--line);border-radius:8px;padding:8px 12px;font-family:inherit;font-size:13.5px}.askRow input:focus{outline:none;border-color:var(--green)}
