:root{--paper: #fbfaf7;--panel: #f4f2ec;--ink: #1f2328;--ink-soft: #41474f;--mute: #7a756b;--faint: #a49e92;--line: #eae6de;--line-soft: #e2ded6;--line-hard: #c9c4ba;--accent: #2f6feb;--pos: #12915a;--neg: #d83a34;--neg-band: #f8efec;--warn: #b45309;--up: #c0392b;--dn: #1d6fb8;--serif: "Noto Serif KR", "Nanum Myeongjo", Batang, serif;--sans: "Malgun Gothic", "NanumGothic", sans-serif}*{margin:0;padding:0;box-sizing:border-box}body{background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:13px}button{font-family:inherit;cursor:pointer}input{font-family:inherit}.mono{font-variant-numeric:tabular-nums;font-feature-settings:"tnum"}.shell{display:flex;min-height:100vh}.side{width:172px;border-right:1px solid var(--line-soft);padding:20px 0 14px;display:flex;flex-direction:column;flex-shrink:0}.side .logo{font-family:var(--serif);font-size:15.5px;font-weight:800;padding:0 16px 20px;letter-spacing:-.3px}.side a{padding:8px 16px;font-size:12.5px;color:var(--mute);font-weight:600;border-left:2px solid transparent;text-decoration:none;cursor:pointer}.side a.on{color:var(--ink);font-weight:800;border-left-color:var(--ink);background:var(--panel)}.side .gap{flex:1}.side .dim{font-size:10.5px;color:var(--faint);padding:8px 16px}.main{flex:1;min-width:0;padding:20px 26px 14px;display:flex;flex-direction:column;height:100vh}.mast{display:flex;align-items:baseline;gap:12px}.mast h3{font-family:var(--serif);font-size:19px;font-weight:800;letter-spacing:-.4px}.mast .date{font-size:11px;color:var(--faint)}.mast .spacer{flex:1}.btn2{border:1px solid var(--line-hard);background:transparent;padding:6px 12px;font-size:11.5px;font-weight:700;color:var(--ink)}.btn1{background:var(--ink);color:var(--paper);border:1px solid var(--ink);padding:7px 13px;font-size:11.5px;font-weight:700}.drule{border-top:2px solid var(--ink);border-bottom:1px solid var(--ink);height:4px;margin-top:11px}.hero{display:flex;align-items:flex-end;flex-wrap:wrap;row-gap:12px;padding:15px 0 13px;border-bottom:1px solid var(--line-soft)}.hero .lb{font-size:11px;color:var(--mute);margin-bottom:6px}.hero .n{font-size:37px;font-weight:800;letter-spacing:-1.5px;line-height:1}.hero .n small{font-size:16px;font-weight:700;letter-spacing:0}.hero .div{width:1px;background:var(--line-soft);align-self:stretch;margin:0 22px}.hero .st{margin-right:26px}.hero .st .k{font-size:10.5px;color:var(--faint)}.hero .st .v{font-size:15.5px;font-weight:800;margin-top:4px}.hero .st .v small{font-size:10.5px;font-weight:600;color:var(--faint)}.gridwrap{flex:1 1 auto;overflow:auto;margin-top:14px;border:1px solid var(--line-hard);background:#fff}table{border-collapse:separate;border-spacing:0;width:100%}th{background:var(--ink);color:#efece4;font-size:11px;font-weight:700;padding:8px 10px;white-space:nowrap;text-align:right;letter-spacing:.2px;border-right:1px solid rgba(255,255,255,.14);cursor:pointer;-webkit-user-select:none;user-select:none;position:sticky;top:0;z-index:2}th:last-child{border-right:none}th.l{text-align:left}th .arr{font-size:9px;opacity:.5;margin-left:4px}th .resz{position:absolute;left:-4px;top:0;bottom:0;width:9px;cursor:col-resize}th .resz.r{left:auto;right:0;width:7px}th .arr.on{opacity:1;color:#fff}td{font-size:12.5px;padding:4px 10px;border-bottom:1px solid var(--line);border-right:1px solid var(--line);white-space:nowrap;text-align:right;height:33px;background:#fff}td:last-child{border-right:none}td.l{text-align:left}tr:hover td{background:#f6f4ee}tr.off td{opacity:.38}tr.nocost td{background:var(--neg-band)}.negC{color:var(--neg);font-weight:700}.warnC{color:var(--warn);font-weight:700}.faintC{color:var(--faint)}.cell{border:none;background:transparent;font-size:12.5px;color:var(--ink);width:100%;padding:4px 2px;outline:none}.cell:focus{background:#fff;box-shadow:inset 0 0 0 1.5px var(--accent)}.cell.num{text-align:right;font-variant-numeric:tabular-nums}.cell.nm{font-weight:700}.cell::placeholder{color:var(--faint);font-weight:400}.cell:focus::placeholder{color:transparent}.fnote{padding:10px 0 0;font-size:10.5px;color:var(--faint);line-height:1.7;flex-shrink:0}.seg{display:inline-flex;border:1px solid var(--line-hard);margin-top:3px}.seg button{border:none;background:transparent;padding:4px 11px;font-size:11px;font-weight:700;color:var(--mute);border-right:1px solid var(--line-hard)}.seg button:last-child{border-right:none}.seg button.on{background:var(--ink);color:var(--paper)}.nav2{display:flex;gap:20px;padding:11px 0 0;font-size:12.5px;border-bottom:1px solid var(--line-soft)}.nav2 span{color:var(--mute);font-weight:600;padding-bottom:7px;cursor:pointer}.nav2 span.on{color:var(--ink);font-weight:800;border-bottom:2px solid var(--ink);margin-bottom:-1px}.nav2 .plus{color:var(--faint)}.nav2 span.dragtab{opacity:.35}.nav2 .tabmenu{border:none;background:transparent;color:var(--faint);font-size:10px;margin-left:4px;padding:0 2px;line-height:1}.nav2 .tabmenu:hover{color:var(--ink)}.ctxwrap{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20}.ctx{position:fixed;background:#fff;border:1px solid var(--line-hard);min-width:128px;padding:4px 0}.ctx button{display:block;width:100%;text-align:left;border:none;background:transparent;padding:7px 14px;font-size:12px;color:var(--ink)}.ctx button:hover{background:var(--panel)}.ctx button.danger{color:var(--neg)}.btn-danger{background:var(--neg);color:#fff;border:1px solid var(--neg);padding:7px 13px;font-size:11.5px;font-weight:700}.cell.master{background:#f6f2e9}.cell.master:focus{background:#fff}tr.loss td{background:var(--neg-band)}.drag{cursor:grab;color:var(--faint);font-size:13px;-webkit-user-select:none;user-select:none;padding:2px 6px;display:inline-block}.drag:hover{color:var(--ink)}.drag:active{cursor:grabbing}tr.dragging td{opacity:.35}.del{border:none;background:transparent;color:var(--faint);font-size:15px;line-height:1;padding:2px 6px;white-space:nowrap}.del:hover{color:var(--neg)}.del.armed{color:var(--neg);font-weight:700;font-size:11px}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#1f232859;display:flex;align-items:center;justify-content:center;z-index:10}.sheet{background:var(--paper);border:1px solid var(--line-hard);width:560px;padding:18px 20px 16px}.sheet h4{font-family:var(--serif);font-size:15px;font-weight:800;margin-bottom:4px}.sheet .hint{font-size:11px;color:var(--mute);margin-bottom:10px;line-height:1.6}.sheet textarea{width:100%;height:180px;border:1px solid var(--line-hard);background:#fff;padding:8px;font-size:12px;font-family:var(--sans);resize:vertical;outline:none}.sheet .foot{display:flex;align-items:center;gap:10px;margin-top:10px}.mini{border-collapse:collapse;width:100%}.mini th{background:var(--panel);color:var(--mute);font-size:10.5px;font-weight:700;text-align:left;padding:6px 10px;border-bottom:1px solid var(--line-hard);position:sticky;top:0}.mini td{font-size:12.5px;padding:4px 10px;border-bottom:1px solid var(--line)}.mini td.faintC{color:var(--faint)}.specbtn{border:1px solid var(--line-hard);background:#fff;padding:2px 9px;font-size:11.5px;font-weight:700;color:var(--ink);margin-right:5px}.specbtn:hover{background:var(--ink);color:var(--paper);border-color:var(--ink)}.srlist{position:absolute;left:0;top:100%;z-index:30;background:#fff;border:1px solid var(--line-hard);min-width:230px;max-height:176px;overflow:auto}.srlist div{padding:5px 10px;font-size:12px;cursor:pointer}.srlist div:hover{background:var(--panel)}.convV{color:var(--warn)}.upC{color:var(--up);font-weight:700}.dnC{color:var(--dn);font-weight:700}tr.detailrow td{background:var(--panel);font-size:11.5px;padding:7px 12px 7px 34px}.dchip{display:inline-block;margin:1px 16px 1px 0;color:var(--ink-soft)}.dchip b{font-weight:700}.setrow{display:flex;align-items:center;gap:10px;padding:10px 0 2px;border-top:1px solid var(--line)}.setname{font-size:12.5px;font-weight:700}.setstate{margin-left:auto;font-size:11.5px;font-weight:700}.setstate.ok{color:var(--pos)}.setstate.off{color:var(--faint)}.setmsg{font-size:11.5px;padding:7px 10px;border:1px solid var(--line-hard)}.setmsg.ok{color:var(--pos);border-color:var(--pos)}.setmsg.err{color:var(--neg);border-color:var(--neg)}.setmsg.info{color:var(--mute)}.aliasclr{position:absolute;right:2px;top:50%;transform:translateY(-50%);border:none;background:transparent;color:var(--faint);font-size:13px;line-height:1;padding:0 4px}.aliasclr:hover{color:var(--neg)}.sheet .cnt{font-size:11.5px;color:var(--mute)}.sheet .spacer{flex:1}.asktoggle{border:none;background:transparent;color:var(--faint);font-size:11px;padding:2px 6px 2px 0}.asktoggle:hover{color:var(--ink)}.askshell{flex:1 1 auto;display:flex;min-height:0;gap:18px}.asklist{width:190px;flex:0 0 auto;overflow-y:auto;padding:12px 0 20px;border-right:1px solid var(--line-soft)}.asknew{width:calc(100% - 8px);margin:0 4px 14px;padding:8px 10px;border:1px solid var(--ink);background:transparent;color:var(--ink);font-size:12px;font-weight:700;text-align:left}.asknew:hover{background:var(--ink);color:var(--paper)}.askgroup{font-size:10.5px;color:var(--faint);padding:12px 8px 4px;letter-spacing:.2px}.askitem{position:relative;display:flex;align-items:center}.askitem .t{flex:1 1 auto;min-width:0;border:none;background:transparent;text-align:left;padding:7px 8px;font-size:12px;color:var(--mute);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.askitem .e{flex:1 1 auto;min-width:0;margin:3px 6px;padding:5px 7px;font-size:12px;border:1px solid var(--accent);background:#fff;color:var(--ink);outline:none;font-family:inherit}.askitem .m{border:none;background:transparent;color:var(--faint);padding:4px 6px;font-size:13px;opacity:0;flex:0 0 auto}.askitem:hover .m{opacity:1}.askitem:hover .t{color:var(--ink)}.askitem.on{background:var(--panel)}.askitem.on .t{color:var(--ink);font-weight:700}.askmenu{position:absolute;right:4px;top:28px;z-index:20;background:#fff;border:1px solid var(--line-hard);box-shadow:0 4px 14px #00000017}.askmenu button{display:block;width:100%;border:none;background:transparent;padding:7px 14px;font-size:12px;text-align:left;color:var(--ink-soft);white-space:nowrap}.askmenu button:hover{background:var(--panel)}.askmenu button.del{color:var(--neg)}.askmain{flex:1 1 auto;display:flex;flex-direction:column;min-width:0}.askwrap{flex:1 1 auto;overflow:auto;padding:16px 0 10px}.askempty{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:55vh}.askempty .hi{font-family:var(--serif);font-size:21px;font-weight:800;letter-spacing:-.5px;margin-bottom:20px}.askempty .chips{display:flex;flex-wrap:wrap;gap:7px;justify-content:center;max-width:620px}.askempty .chips button{border:1px solid var(--line-hard);background:#fff;padding:7px 13px;font-size:12px;color:var(--ink-soft)}.askempty .chips button:hover{border-color:var(--ink);color:var(--ink)}.askturn{margin-bottom:26px;max-width:900px}.askqrow{display:flex;justify-content:flex-end}.askq{background:var(--panel);border:1px solid var(--line-soft);padding:9px 13px;font-size:13px;line-height:1.6;color:var(--ink);white-space:pre-wrap;max-width:78%;text-align:left}.aska{padding-top:14px}.askbody{font-size:13px;line-height:1.75;color:var(--ink-soft);white-space:pre-wrap}.askwait{font-size:12px;color:var(--mute);display:flex;align-items:center;gap:7px}.askwait .mono{color:var(--faint);font-size:11px}.askwait .dot{width:6px;height:6px;background:var(--ink);border-radius:50%;animation:askpulse 1.1s ease-in-out infinite}@keyframes askpulse{0%,to{opacity:.2}50%{opacity:1}}.askact{display:flex;gap:4px;margin-top:12px;opacity:0;transition:opacity .12s}.askturn:hover .askact{opacity:1}.askact button{border:1px solid transparent;background:transparent;color:var(--faint);font-size:11px;padding:3px 8px}.askact button:hover{border-color:var(--line-hard);color:var(--ink)}.askchart{margin:14px 0 4px}.asktable{margin-top:12px;overflow-x:auto;border:1px solid var(--line-hard);background:#fff}.asktable table{border-collapse:collapse;width:100%}.asktable th{background:var(--ink);color:var(--paper);font-size:11px;font-weight:700;padding:7px 10px;text-align:right;white-space:nowrap}.asktable th.l,.asktable td.l{text-align:left}.asktable td{font-size:12.5px;padding:6px 10px;text-align:right;border-bottom:1px solid var(--line);border-right:1px solid var(--line);white-space:nowrap}.asktable td:last-child{border-right:none}.asktable tr:last-child td{border-bottom:none}.asksteps{margin-top:8px}.asksteps>button{border:none;background:transparent;font-size:11px;color:var(--faint);padding:2px 0}.asksteps>button:hover{color:var(--mute)}.asksteps pre{margin-top:6px;padding:9px 11px;background:var(--panel);border-left:2px solid var(--line-hard);font-size:11px;line-height:1.6;color:var(--mute);white-space:pre-wrap;word-break:break-all;font-family:Consolas,monospace}.asksteps pre.err{border-left-color:var(--neg)}.askbar{display:flex;align-items:flex-end;gap:9px;padding:11px 0 4px;border-top:2px solid var(--ink);max-width:900px}.askbar textarea{flex:1 1 auto;border:1px solid var(--line-hard);background:#fff;padding:9px 11px;font-size:13px;line-height:1.5;resize:none;min-height:38px;max-height:160px;overflow-y:auto}.askbar textarea:focus{box-shadow:inset 0 0 0 1.5px var(--accent)}.askbar .btn1,.askbar .btn2{white-space:nowrap;flex:0 0 auto}.askbar .btn1:disabled{opacity:.4;cursor:default}.snapband{background:var(--ink);color:var(--paper);font-size:11.5px;font-weight:700;padding:7px 12px;margin:-2px -2px 0;letter-spacing:-.2px}input[type=checkbox]{accent-color:var(--ink);width:14px;height:14px;cursor:pointer}.colrow{display:flex;align-items:center;gap:8px;padding:5px 4px;border-bottom:1px solid var(--line);font-size:12.5px}.colrow:last-child{border-bottom:none}.colrow.dragging{opacity:.35}.colrow .drag{padding:2px 4px}.colgrab{cursor:grab;-webkit-user-select:none;user-select:none}.colgrab:active{cursor:grabbing}thead th.coldrag{opacity:.45}.colmenu{position:fixed;z-index:90;background:#fff;border:1px solid var(--line-hard);box-shadow:0 6px 18px #0000001f;min-width:168px;padding:4px 0}.colmenu .t{font-size:10.5px;color:var(--faint);padding:4px 12px 6px;border-bottom:1px solid var(--line);margin-bottom:4px}.colmenu button{display:block;width:100%;border:none;background:transparent;padding:7px 12px;font-size:12px;text-align:left;color:var(--ink-soft);white-space:nowrap}.colmenu button:hover:not(:disabled){background:var(--panel);color:var(--ink)}.colmenu button:disabled{color:var(--faint);cursor:default}td.ctr,th.ctr{text-align:center}.docklaunch{position:fixed;right:18px;bottom:18px;z-index:70;background:var(--ink);color:var(--paper);border:1px solid var(--ink);padding:9px 15px;font-size:12px;font-weight:700;box-shadow:0 4px 14px #00000029}.docklaunch:hover{background:var(--ink-soft)}.dock{position:fixed;z-index:70;display:flex;flex-direction:column;background:var(--paper);border:1px solid var(--ink);box-shadow:0 8px 28px #0000002e}.dockbar{display:flex;align-items:center;gap:7px;padding:7px 8px 7px 11px;background:var(--ink);color:var(--paper);cursor:move;-webkit-user-select:none;user-select:none;flex:0 0 auto}.dockbar .t{font-size:12px;font-weight:700;white-space:nowrap}.dockbar .c{font-size:10.5px;opacity:.7;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dockbar .spacer{flex:1}.dockbar button{border:none;background:transparent;color:var(--paper);opacity:.75;font-size:11px;padding:2px 5px}.dockbar button:hover{opacity:1}.dockbody{flex:1 1 auto;overflow:auto;padding:10px 11px;min-height:0}.dockhint{font-size:11.5px;color:var(--faint);line-height:1.65}.dockturn{margin-bottom:14px}.dockturn .dq{display:inline-block;background:var(--panel);border:1px solid var(--line-soft);padding:5px 9px;font-size:12px;line-height:1.5;float:right;clear:both;max-width:88%;margin-bottom:6px}.dockturn .da{clear:both;padding-top:4px}.dockturn .dbody{font-size:12.5px;line-height:1.7;color:var(--ink-soft);white-space:pre-wrap}.dockturn .dchart{margin-top:8px}.dwait{font-size:11.5px;color:var(--mute);display:flex;align-items:center;gap:6px;clear:both}.dwait .dot{width:5px;height:5px;background:var(--ink);border-radius:50%;animation:askpulse 1.1s ease-in-out infinite}.dockchips{display:flex;flex-wrap:wrap;gap:5px;margin-top:9px}.dockchips button{border:1px solid var(--line-hard);background:#fff;color:var(--ink);padding:4px 9px;font-size:11.5px;font-variant-numeric:tabular-nums}.dockchips button:hover{border-color:var(--ink);background:var(--panel)}.dockask{display:flex;align-items:center;gap:6px;padding:8px 11px;border-top:1px solid var(--line-hard);background:var(--panel);font-size:11.5px;flex:0 0 auto}.dockask .spacer{flex:1}.dockask button{padding:3px 10px;font-size:11px}.dockbar2{display:flex;align-items:flex-end;gap:6px;padding:8px;border-top:2px solid var(--ink);flex:0 0 auto}.dockbar2 textarea{flex:1;border:1px solid var(--line-hard);background:#fff;padding:7px 9px;font-family:inherit;font-size:12.5px;line-height:1.5;resize:none;min-height:32px;max-height:96px;outline:none}.dockbar2 textarea:focus{box-shadow:inset 0 0 0 1.5px var(--accent)}.dockbar2 .btn1{padding:6px 11px;font-size:11.5px;white-space:nowrap}.dockresz{position:absolute;left:0;bottom:0;width:14px;height:14px;cursor:nesw-resize;background:linear-gradient(45deg,transparent 40%,var(--line-hard) 40%,var(--line-hard) 55%,transparent 55%)}.dockbar button.on{background:var(--paper);color:var(--ink);opacity:1;font-weight:700}.dockpick{background:var(--accent);color:#fff;font-size:11px;font-weight:700;padding:6px 11px;text-align:center;flex:0 0 auto}.gridwrap.picking tbody tr{cursor:crosshair}.gridwrap.picking tbody tr:hover{outline:2px solid var(--accent);outline-offset:-2px}.gridwrap.picking input,.gridwrap.picking .drag{pointer-events:none}.dockempty{flex:1 1 auto;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:20px}.dockempty .q{font-family:var(--serif);font-size:15px;font-weight:800}.dockempty .s{font-size:11px;color:var(--faint);text-align:center;line-height:1.6}.dockcard{padding:9px 11px;border-bottom:1px solid var(--line-hard);background:var(--panel);flex:0 0 auto}.dockcard .h{font-size:11px;color:var(--mute);margin-bottom:5px}.dockcard .r{display:flex;flex-wrap:wrap;gap:10px;font-size:12px;font-variant-numeric:tabular-nums;margin-bottom:3px}.dockcard .rec{display:flex;align-items:center;gap:8px;margin-top:6px;padding-top:6px;border-top:1px solid var(--line);font-size:12px;font-variant-numeric:tabular-nums}.dockcard .rec b{font-size:13.5px}.dockcard .rec button{padding:2px 9px;font-size:11px;margin-left:auto}.dockturn .dq .w{font-size:9.5px;background:var(--ink);color:var(--paper);padding:1px 5px;margin-left:5px;vertical-align:middle}.dweb{margin-top:9px;padding:8px 9px;background:var(--panel);border-left:2px solid var(--line-hard)}.dweb .wt{font-size:10.5px;color:var(--warn);margin-bottom:5px;font-weight:700}.dweb .ws{display:flex;flex-direction:column;gap:3px;margin-top:7px}.dweb .ws a{font-size:10.5px;color:var(--mute);text-decoration:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dweb .ws a:hover{color:var(--accent);text-decoration:underline}.dockbar2 .btn2{padding:6px 10px;font-size:11.5px;white-space:nowrap}
