:root{--ground: #f7f8fa;--surface: #ffffff;--surface-2: #f1f3f6;--line: #e2e6ec;--line-strong: #c9d0da;--ink: #1a1d23;--ink-2: #4a5260;--muted: #697386;--faint: #9aa3b2;--up: #d6262c;--up-bg: #fdf0f0;--up-line: rgba(214, 38, 44, .3);--down: #1b64c8;--down-bg: #eef4fd;--down-line: rgba(27, 100, 200, .3);--accent: #0e7c6b;--accent-ink: #0b5f52;--accent-bg: #e6f2f0;--warn: #a8620a;--warn-bg: #fdf3e4;--warn-line: rgba(168, 98, 10, .4);--shadow: 0 1px 2px rgba(26, 29, 35, .06), 0 8px 24px -12px rgba(26, 29, 35, .18);--sans: -apple-system, BlinkMacSystemFont, "Apple SD Gothic Neo", Roboto, "Noto Sans KR", "Malgun Gothic", "맑은 고딕", helvetica, system-ui, sans-serif;--mono: ui-monospace, SFMono-Regular, "SF Mono", "Roboto Mono", Menlo, Consolas, "D2Coding", "Liberation Mono", monospace;--pad: clamp(14px, 3vw, 28px)}@media (prefers-color-scheme: dark){:root:not([data-theme=light]){--ground: #15171c;--surface: #1d2027;--surface-2: #24282f;--line: #2e333c;--line-strong: #3d444f;--ink: #e8eaed;--ink-2: #b5bcc7;--muted: #8b95a4;--faint: #6b7484;--up: #ff6b6b;--up-bg: #2c1f22;--up-line: rgba(255, 107, 107, .4);--down: #63a4f5;--down-bg: #1a2534;--down-line: rgba(99, 164, 245, .4);--accent: #3fb8a2;--accent-ink: #5fcdb8;--accent-bg: #14302b;--warn: #d9a04a;--warn-bg: #2c2418;--warn-line: rgba(217, 160, 74, .45);--shadow: 0 1px 2px rgba(0, 0, 0, .3), 0 8px 24px -12px rgba(0, 0, 0, .5)}}:root[data-theme=dark]{--ground: #15171c;--surface: #1d2027;--surface-2: #24282f;--line: #2e333c;--line-strong: #3d444f;--ink: #e8eaed;--ink-2: #b5bcc7;--muted: #8b95a4;--faint: #6b7484;--up: #ff6b6b;--up-bg: #2c1f22;--up-line: rgba(255, 107, 107, .4);--down: #63a4f5;--down-bg: #1a2534;--down-line: rgba(99, 164, 245, .4);--accent: #3fb8a2;--accent-ink: #5fcdb8;--accent-bg: #14302b;--warn: #d9a04a;--warn-bg: #2c2418;--warn-line: rgba(217, 160, 74, .45);--shadow: 0 1px 2px rgba(0, 0, 0, .3), 0 8px 24px -12px rgba(0, 0, 0, .5)}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0}body{background-color:var(--ground);color:var(--ink);font-family:var(--sans);font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased}h1,h2,h3,p,dl,dd{margin:0}h1,h2,h3{letter-spacing:-.025em;line-height:1.3}ul,ol{margin:0;padding:0;list-style:none}table{border-collapse:collapse}fieldset{min-inline-size:0}button,input{font:inherit;color:inherit}a{color:inherit;text-decoration:none}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}#root{min-height:100vh;min-height:100dvh}.sr_only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation:none!important;transition:none!important}}.app{display:flex;flex-direction:column;min-height:100vh;min-height:100dvh}.app_bar{position:sticky;top:0;z-index:60;display:flex;align-items:center;justify-content:space-between;gap:12px 20px;flex-wrap:wrap;padding:12px var(--pad);border-bottom:1px solid var(--line-strong);background:color-mix(in srgb,var(--ground) 92%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);font-family:var(--sans);font-size:15px}.app_nav{display:flex;gap:20px;overflow-x:auto;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain}.app_nav .tab{display:flex;flex-direction:column;gap:1px;padding:3px 0 5px;border-bottom:2px solid transparent;color:var(--ink-2);font-weight:500;white-space:nowrap;transition:color .15s,border-color .15s}.app_nav .tab:hover{color:var(--ink)}.app_nav .tab_hint{color:var(--muted);font-size:12px;font-weight:400;letter-spacing:.01em}.app_nav .tab.on{border-bottom-color:var(--accent);color:var(--ink);font-weight:700}.app_nav .tab.on .tab_hint{color:var(--accent-ink)}.app_bar_right{display:flex;align-items:center;gap:8px}.app_user{color:var(--ink-2);font-size:13.5px}.mode_badge{padding:3px 9px;border:1px solid var(--line-strong);border-radius:3px;background:var(--surface);color:var(--ink-2);font-size:12.5px;font-weight:600;white-space:nowrap}.mode_badge.real{border-color:var(--up-line);background:var(--up-bg);color:var(--up)}.mode_badge.read_only{border-color:var(--down-line);background:var(--down-bg);color:var(--down)}.app_body{display:grid;gap:16px;align-content:start;width:100%;max-width:1320px;margin:0 auto;padding:var(--pad)}.page{display:grid;gap:12px;padding:0}.page_title{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;font-size:clamp(19px,2.4vw,23px);font-weight:800;letter-spacing:-.03em}.page_loading,.empty{padding:22px 2px;color:var(--muted);font-size:16px}.note{padding:8px 12px;border-left:2px solid var(--warn);background:var(--warn-bg);color:var(--ink-2);font-size:15px}.page_actions{display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap;padding-top:12px;border-top:1px solid var(--line)}.btn{padding:6px 12px;border:1px solid var(--line-strong);background:var(--surface);color:var(--ink-2);font-family:var(--mono);font-size:14px;white-space:nowrap;cursor:pointer;transition:border-color .15s,color .15s,background .15s}.btn:hover:not(:disabled){border-color:var(--ink);color:var(--ink)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn.primary{border-color:var(--accent);background:var(--accent);color:#fff;font-weight:600}.btn.primary:hover:not(:disabled){border-color:var(--accent)}.btn.primary:hover:not(:disabled){color:#fff}.btn.on{border-color:var(--down-line);background:var(--down-bg);color:var(--down);font-weight:600}.btn.on:hover:not(:disabled){border-color:var(--down);color:var(--down)}.btn.kill{border-color:var(--up-line);color:var(--up);font-weight:600}.btn.kill:hover:not(:disabled){border-color:var(--up);background:var(--up-bg);color:var(--up)}.btn.kill_resume{border-color:var(--accent);background:var(--accent);color:#fff;font-weight:600}.btn.kill_resume:hover:not(:disabled){color:#fff}.pane{padding:14px;border:1px solid var(--line);background:var(--surface);overflow-x:auto;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain}.pane-h{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:11px;color:var(--muted);font-family:var(--mono);font-size:13.5px;letter-spacing:.06em}.pane-h>span:first-child{color:var(--ink);font-weight:600}.cols-2{display:grid;grid-template-columns:1fr 1fr;gap:12px;align-items:start}.cols-fit{container-type:inline-size}.cols-fit_in{display:grid;grid-template-columns:1fr;gap:12px;align-items:start}@container (min-width: 1000px){.cols-fit_in{grid-template-columns:1fr 1fr}}.cols-32{display:grid;grid-template-columns:1.5fr 1fr;gap:12px;align-items:start}.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(152px,1fr));gap:12px}.stat{padding:13px 14px;border:1px solid var(--line);background:var(--surface)}.stat.emph{border-color:var(--ink);background:var(--surface-2)}.stat .k{color:var(--muted);font-family:var(--mono);font-size:13px;letter-spacing:.06em}.stat .v{margin-top:5px;font-family:var(--mono);font-size:22px;font-weight:600;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.stat .s{margin-top:3px;color:var(--muted);font-family:var(--mono);font-size:13px}.stat.pl{border-top:2px solid var(--muted);background:var(--surface-2)}.stat.pl .k{color:var(--ink-2);font-weight:600}.stat.pl.realized{grid-column-start:1}.stat.pl.valuation{border-left:1px dashed var(--line-strong)}.up{color:var(--up)}.down{color:var(--down)}.flat{color:var(--ink-2)}.tbl{width:100%;font-size:15px}.tbl th{padding:0 8px 8px;border-bottom:1px solid var(--line-strong);color:var(--muted);font-family:var(--mono);font-size:13px;font-weight:500;letter-spacing:.06em;text-align:left;white-space:nowrap}.tbl td{padding:8px;border-bottom:1px solid var(--line);vertical-align:middle}.tbl .num{font-family:var(--mono);font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}.tbl .dim{color:var(--muted)}.tbl .nowrap{white-space:nowrap}.tbl tr.parent>td{background:var(--surface-2);font-weight:600}.tbl tbody tr.parent:not(:first-child)>td{border-top:1px solid var(--line-strong)}.tbl tr.child td:first-child{position:relative;padding-left:26px;font-weight:400}.tbl tr.child td:first-child:before{content:"";position:absolute;left:12px;top:0;bottom:0;width:2px;background:var(--line-strong)}.tbl tr.child.b td:first-child:before{background:var(--down)}.tbl tr.child.r td:first-child:before{background:var(--up)}.tbl tr.child.planned>td{background-color:var(--surface-2);background-image:repeating-linear-gradient(135deg,transparent 0 6px,color-mix(in srgb,var(--ink) 5%,transparent) 6px 12px);color:var(--muted)}.tbl tr.child.planned td:first-child:before{background:repeating-linear-gradient(180deg,var(--line-strong) 0 3px,transparent 3px 6px)}.row_toggle{display:inline-flex;align-items:center;gap:6px;padding:2px 0;border:0;background:none;font-size:16px;font-weight:600;letter-spacing:-.01em;cursor:pointer}.row_toggle:hover{color:var(--down)}.gaps{display:flex;gap:6px 14px;flex-wrap:wrap;margin-top:4px;color:var(--muted);font-family:var(--mono);font-size:13.5px;font-weight:400}.gaps a{border-bottom:1px solid var(--down-line);color:var(--down)}.gaps .order_btn{padding:1px 8px;font-size:13px;line-height:1.5}.chip{display:inline-block;padding:1px 6px;border:1px solid var(--line-strong);color:var(--muted);font-family:var(--mono);font-size:12px;white-space:nowrap}.chip.sell{border-color:var(--up-line);background:var(--up-bg);color:var(--up)}.chip.buy{border-color:var(--down-line);background:var(--down-bg);color:var(--down)}.chip.hold{border-color:var(--line-strong);color:var(--ink-2)}.chip.stop{border-color:var(--warn-line);background:var(--warn-bg);color:var(--warn)}.chip.done{border-color:var(--line-strong);background:var(--surface-2);color:var(--muted)}.form-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:9px 0;border:0;border-bottom:1px dotted var(--line);margin:0}.form-row:last-child{border-bottom:0}.form-row>label,.form-row>.lab,.form-row>legend{flex:0 0 auto;min-width:148px;padding:0;font-size:16px}.form-row small{flex:1 0 100%;margin-left:158px;color:var(--muted);font-size:13.5px}.form-row input[type=text],.bulk input,.tbl input{padding:5px 8px;border:1px solid var(--line-strong);background:var(--surface);color:var(--ink);font-family:var(--mono);font-size:16px;font-variant-numeric:tabular-nums;text-align:right}.form-row input[type=text]:focus,.bulk input:focus,.tbl input:focus{border-color:var(--accent)}.tbl input{width:100%;max-width:118px}.form-row select{padding:5px 8px;border:1px solid var(--line-strong);background:var(--surface);color:var(--ink);font-family:var(--mono);font-size:16px}.form-row select:focus{border-color:var(--accent)}.form-row input[type=checkbox],.form-row input[type=radio],.tbl input[type=radio]{accent-color:var(--ink);margin:0}.form-row input[type=date],.form-row input[type=password]{padding:5px 8px;border:1px solid var(--line-strong);background:var(--surface);color:var(--ink);font-family:var(--mono);font-size:16px;font-variant-numeric:tabular-nums}.form-row input[type=date]:focus,.form-row input[type=password]:focus{border-color:var(--accent)}.form-row .cond_text,.form-row textarea{flex:1 1 280px;padding:5px 8px;border:1px solid var(--line-strong);background:var(--surface);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.6;text-align:left;resize:vertical}.form-row .cond_text:focus,.form-row textarea:focus{border-color:var(--accent)}.bulk input{max-width:118px}.seg_field{display:flex;align-items:center;gap:0 10px;flex-wrap:wrap;padding:0;border:0;margin:0}.seg_field legend{padding:0;color:var(--muted);font-family:var(--mono);font-size:13px;letter-spacing:.06em}.form-row.seg_field small{margin-top:5px;margin-left:0}.form-row.seg_field legend{margin-bottom:5px}.form-row.seg_field legend{min-width:148px;color:var(--ink);font-family:var(--sans);font-size:16px;letter-spacing:normal}.seg_option{display:inline-flex;align-items:center;gap:5px;padding:4px 9px;border:1px solid var(--line-strong);background:var(--surface);color:var(--ink-2);font-family:var(--mono);font-size:14px;white-space:nowrap;cursor:pointer}.seg_option+.seg_option{margin-left:-1px}.seg_option input{accent-color:var(--ink);margin:0}.seg_option:has(input:checked){z-index:1;border-color:var(--accent);background:var(--accent);color:#fff}.seg_option:has(input:checked) input{accent-color:#fff}.bulk{display:grid;gap:8px;padding:10px 0;border-bottom:1px dotted var(--line);margin-bottom:10px}.bulk .field{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.bulk .field label{min-width:128px;font-size:15px}.s{color:var(--muted);font-size:14px}.pane>.s{margin-top:8px}.todo{display:flex;flex-direction:column;gap:7px}.todo li{display:flex;align-items:center;gap:10px;padding:9px 11px;border:1px solid var(--line);border-left-width:3px;font-size:15px}.todo li.r{border-left-color:var(--up)}.todo li.y{border-left-color:var(--warn)}.todo li.b{border-left-color:var(--down)}.todo .todo_stock{margin-right:6px}.todo .m{margin-left:auto;color:var(--muted);font-family:var(--mono);font-size:13px;white-space:nowrap}.halt_strip{padding:11px 14px;border:1px solid var(--line);border-radius:9px;background:var(--surface);font-size:15px}.halt_strip.halted{border-color:var(--up-line);background:var(--up-bg)}.halt_strip_line{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.halt_strip.halted b{color:var(--up)}.halt_strip .calm{color:var(--muted);font-weight:500}.halt_strip .why{flex:1 1 320px;color:var(--ink-2);font-size:14.5px}.halt_strip_toggle{margin-left:auto}.halt_strip .todo{margin-top:11px}.halt_strip .todo li{background:var(--surface)}.msg.error{margin:0;padding:9px 11px;border:1px solid var(--up-line);border-left:3px solid var(--up);background:var(--up-bg);color:var(--up);font-size:15px;font-weight:600}.warnbar{display:flex;gap:9px;align-items:center;margin-top:12px;padding:11px 12px;border:1px solid var(--up-line);border-left:4px solid var(--up);background:var(--up-bg);color:var(--up);font-size:15px;font-weight:700}.immediate_order{margin:0}.dialog_dim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:flex;align-items:center;justify-content:center;padding:16px;background:#101c2e73}.dialog{width:min(480px,100%);max-height:calc(100vh - 32px);max-height:calc(100dvh - 32px);overflow-y:auto;-webkit-overflow-scrolling:touch;padding:20px;border:1.5px solid var(--ink);background:var(--surface);box-shadow:0 24px 60px -30px #101c2eb3}.dialog_title{padding-bottom:11px;border-bottom:1px solid var(--line-strong);font-size:20px;font-weight:800}.dialog_body{display:grid;gap:10px;margin-top:13px;font-size:16px;color:var(--ink-2)}.dialog_body .immediate_order{padding:11px 12px;border:1px solid var(--up-line);border-left:4px solid var(--up);background:var(--up-bg);color:var(--up);font-weight:700}.dialog_foot{display:flex;gap:8px;justify-content:flex-end;margin-top:18px;padding-top:14px;border-top:1px solid var(--line)}.layer_toast .toast_cont{padding:11px 14px;border:1px solid var(--line-strong);border-left:3px solid var(--ink);background:var(--surface);box-shadow:0 16px 38px -24px #101c2ebf;font-size:16px}.layer_toast.success .toast_cont{border-left-color:var(--down)}.layer_toast.error .toast_cont{border-left-color:var(--up);color:var(--up);font-weight:600}.layer_toast .txt_box{display:block}@media (max-width: 1060px){.cols-2,.cols-32{grid-template-columns:1fr}}@media (max-width: 760px){.tbl:not(.stack-table){min-width:520px}.stats{grid-template-columns:repeat(auto-fit,minmax(136px,1fr))}.stat.pl.realized{grid-column-start:auto}.form-row>label,.form-row>.lab,.form-row>legend{min-width:100%}.form-row small{margin-left:0}.bulk .field label{min-width:100%}.form-row.seg_field{flex-direction:column;align-items:stretch}.form-row.seg_field .seg_option+.seg_option{margin-left:0;margin-top:-1px}.row_toggle{padding:6px 0}.halt_strip{font-size:14px}.halt_strip_line{gap:9px}.halt_strip_toggle,.halt_strip .btn.kill_resume{margin-left:0;width:100%}.stack-table thead{display:none}.stack-table,.stack-table tbody,.stack-table tr,.stack-table td{display:block;width:auto}.stack-table tr{display:grid;grid-template-columns:1fr 1fr;gap:8px 12px;align-items:baseline;padding:12px 13px;border-bottom:1px solid var(--line)}.stack-table tr:last-child{border-bottom:0}.stack-table td{padding:0;border:0;text-align:left;white-space:normal}.stack-table td:first-child{grid-column:1 / -1}.stack-table td[data-k]:before{display:block;margin-bottom:1px;color:var(--muted);content:attr(data-k);font-family:var(--sans);font-size:11.5px;font-weight:500}.stack-table td.wide{grid-column:1 / -1}}.panel{overflow:hidden;border:1px solid var(--line);border-radius:11px;background:var(--surface)}.panel+.panel{margin-top:12px}.tbl-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain}.group-head{display:flex;align-items:baseline;gap:9px;padding:12px 14px 10px;border-bottom:1px solid var(--line);background:var(--surface-2);flex-wrap:wrap}.group-head .g{font-size:13px;font-weight:700}.group-head .c{color:var(--muted);font-family:var(--mono);font-size:12px}.group-head .todo{margin-left:auto;color:var(--warn);font-size:12px}.row_pick{padding:0;border:0;background:none;color:inherit;font:inherit;text-align:left;cursor:pointer}.name{font-weight:600}.code{margin-left:6px;color:var(--faint);font-family:var(--mono);font-size:12px}.dash{color:var(--faint)}td.stat-cell{padding:6px;white-space:nowrap}.stat-chip{display:inline-block;padding:2px 7px;border:1px solid var(--line-strong);border-radius:5px;background:transparent;color:var(--ink-2);font-family:inherit;font-size:12px;line-height:1.3;text-align:left;text-decoration:none}a.stat-chip,button.stat-chip{cursor:pointer}.stat-chip .where{display:block;color:var(--muted);font-size:11px}.stat-chip.manual{border-color:var(--line-strong);background:var(--surface-2)}.stat-chip.halted{border-color:var(--warn-line);background:var(--warn-bg);color:var(--warn)}.stat-chip.halted .where{color:var(--warn)}.stat-chip.sell{border-color:var(--up-line);background:var(--up-bg);color:var(--up)}.stat-chip.buy{border-color:var(--down-line);background:var(--down-bg);color:var(--down)}.stat-chip.watch{color:var(--muted)}.split_grid tbody tr.pick:hover{background:var(--surface-2)}.split_grid tbody tr.open{background:var(--accent-bg)}td.split-cell{min-width:62px;padding:6px 4px;text-align:center}.split-box{padding:5px 2px;border-radius:5px;font-family:var(--mono);font-size:12.5px;font-weight:500;font-variant-numeric:tabular-nums;line-height:1.25}.split-box.held-up{background:var(--up-bg);color:var(--up)}.split-box.held-down{background:var(--down-bg);color:var(--down)}.split-box.held-flat{background:var(--surface-2);color:var(--ink-2)}.split-box.closed{background:var(--surface-2);color:var(--muted)}.split-box.wait{background:transparent;color:var(--faint);font-weight:400}.split-box .qty{display:block;opacity:.72;font-size:10.5px;font-weight:400;white-space:nowrap}.set{border:1px solid var(--line);border-top:2px solid var(--accent);border-radius:11px;background:var(--surface)}.set-head{display:flex;align-items:baseline;gap:10px;padding:13px 16px 11px;flex-wrap:wrap}.set-head .t{font-size:15px;font-weight:700}.set-head .p{font-family:var(--mono);font-size:15px;font-weight:600}.set-head .x{margin-left:auto}.set-tabs{display:flex;padding:0 10px;border-bottom:1px solid var(--line);overflow-x:auto;overscroll-behavior-x:contain}.set-tabs button{margin-bottom:-1px;padding:9px 14px 11px;border:0;border-bottom:2px solid transparent;background:none;color:var(--muted);font-size:13px;font-weight:500;white-space:nowrap;cursor:pointer}.set-tabs button[aria-selected=true]{border-bottom-color:var(--ink);color:var(--ink);font-weight:700}.set-body{padding:16px}.row2{display:grid;grid-template-columns:1fr 1fr;gap:12px;align-items:start}.pane_actions{display:flex;gap:8px;margin-top:12px}.pane_actions .btn{flex:1}.chart-note{padding:28px;border:1px dashed var(--line-strong);border-radius:9px;color:var(--muted);font-size:13px;text-align:center}.chart-note p{margin:0}.chart-note .s{margin-top:4px;font-size:12px}.chart_pane .seg button{padding:5px 12px;font-size:13px}.chart_figure{display:grid;gap:10px}.chart_frame{display:grid;grid-template-columns:62px minmax(0,1fr);container-type:inline-size}.chart_plot{display:block;width:100%;height:auto;border:1px solid var(--line);border-radius:9px;background:var(--surface)}.chart_grid line{stroke:var(--line);stroke-width:1;vector-effect:non-scaling-stroke}.chart_yaxis{position:relative}.chart_ytick{position:absolute;right:7px;transform:translateY(-50%);color:var(--muted);font-family:var(--mono);font-size:11px;font-variant-numeric:tabular-nums;white-space:nowrap}.chart_xaxis{position:relative;grid-column:2;height:15px;margin-top:3px}.chart_xtick{position:absolute;top:0;transform:translate(-50%);color:var(--muted);font-family:var(--mono);font-size:11px;font-variant-numeric:tabular-nums;white-space:nowrap}.chart_xtick:first-child{transform:none}.chart_xtick:last-child{transform:translate(-100%)}@container (max-width: 420px){.chart_ytick:nth-child(2n){display:none}}@container (max-width: 320px){.chart_xtick:nth-child(2n){display:none}}.chart_blank{display:grid;justify-items:center;gap:12px;padding:26px 20px;border:1px solid var(--line);border-radius:9px;background:var(--surface-2);color:var(--muted);font-size:13px;text-align:center}.chart_blank_msg{margin:0}.chart_blank_retry,.chart_table_toggle{font-size:13px}.chart_candle.up rect{fill:var(--up)}.chart_candle.down rect{fill:var(--down)}.chart_candle.flat rect{fill:var(--muted)}.chart_axis,.chart_legend{display:flex;flex-wrap:wrap;gap:6px 14px;margin:0;padding:0;list-style:none;color:var(--muted);font-size:13px}.chart_axis{font-family:var(--mono)}.chart_axis .num{color:var(--ink);font-weight:600}.chart_legend{font-size:12.5px}.chart_legend li:before{content:"";display:inline-block;width:8px;height:10px;margin-right:5px;border-radius:2px;background:var(--muted);vertical-align:-1px}.chart_legend .up:before{background:var(--up)}.chart_legend .down:before{background:var(--down)}.chart_figure>.btn{justify-self:start}@media (max-width: 1060px){.row2{grid-template-columns:1fr}}@media (max-width: 760px){.set-body{padding:13px}.set-head{padding:11px 13px 9px}.set-tabs{padding:0 4px}.set-tabs button{padding:9px 11px 11px;font-size:12.5px}td.split-cell{min-width:54px}.tbl-wrap tbody td:first-child,.tbl-wrap thead th:first-child{position:sticky;left:0;z-index:2;max-width:132px;background:var(--surface);box-shadow:1px 0 0 var(--line);white-space:normal}.tbl-wrap thead th:first-child{background:var(--surface-2)}.tbl-wrap tbody tr.open td:first-child{background:var(--accent-bg)}.name{display:block;line-height:1.3}.code{margin-left:0}}.split-view{display:grid;grid-template-columns:minmax(0,1fr) 470px;gap:16px;align-items:start}.side .set{position:sticky;top:14px;display:flex;max-height:calc(100vh - 28px);max-height:calc(100dvh - 28px);flex-direction:column;overflow:hidden}.side .set-head,.side .set-tabs{flex:none}.side .set-body{overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.side-empty{position:sticky;top:16px;padding:40px 24px;border:1px dashed var(--line-strong);border-radius:11px;color:var(--muted);font-size:15px;text-align:center}.narrow-set{margin-top:14px}@media (max-width: 1060px){.split-view{grid-template-columns:minmax(0,1fr)}.side .set,.side-empty{position:static;max-height:none}.side .set-body{overflow-y:visible}}.msg.halt{margin:0 0 11px;padding:9px 11px;border:1px solid var(--warn-line);border-left:3px solid var(--warn);background:var(--warn-bg);color:var(--warn);font-size:13px;line-height:1.5}.crash{display:flex;flex-direction:column;gap:9px;margin:12px 0;padding:13px 14px;border:1px solid var(--up-line);border-left:4px solid var(--up);border-radius:6px;background:var(--up-bg)}.crash_title{color:var(--up);font-size:15px;font-weight:700}.crash_where{font-family:var(--mono);font-weight:600;overflow-wrap:anywhere}.crash_message{color:var(--ink);font-family:var(--mono);font-size:14px;overflow-wrap:anywhere}.crash_stack{margin:0;padding:9px 10px;overflow-x:auto;border:1px solid var(--up-line);border-radius:4px;background:var(--surface);color:var(--ink-2);font-family:var(--mono);font-size:12.5px;line-height:1.5;white-space:pre;-webkit-overflow-scrolling:touch}.crash_actions{display:flex;gap:8px;flex-wrap:wrap}.crash_actions a.btn{display:inline-block}.crash_log{padding:0 var(--pad)}.login{width:min(380px,100%);margin:clamp(48px,12vh,120px) auto;padding:0 var(--pad)}.login_title{margin-bottom:18px;font-size:31.5px;font-weight:800;letter-spacing:-.045em;text-align:center}.login_form{display:grid;gap:14px;padding:22px 20px;border:1px solid var(--line-strong);background:var(--surface);box-shadow:0 20px 50px -40px #101c2e99}.login .field{display:grid;gap:5px}.login .field label{color:var(--muted);font-family:var(--mono);font-size:13.5px;letter-spacing:.06em}.login .field input{padding:9px 10px;border:1px solid var(--line-strong);background:var(--surface);color:var(--ink);font-size:17px}.login .field input:focus{border-color:var(--accent)}.login .btn.primary{padding:10px;font-size:16px}.cash_plan_side{display:grid;gap:12px;align-content:start}.cash_plan .pane>.stat{margin-bottom:12px}.cash-cap{margin-bottom:13px;color:var(--ink);font-family:var(--mono);font-size:13px;font-variant-numeric:tabular-nums;text-align:right}.gauge-row{margin-bottom:14px}.gauge-label{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:6px;color:var(--ink-2);font-family:var(--mono);font-size:14px;font-variant-numeric:tabular-nums}.gauge-track{position:relative;height:22px;border:1px solid var(--line);background:var(--surface-2)}.gauge-fill{position:absolute;inset:0 auto 0 0;background:var(--down);opacity:.8}.gauge-fill.over{background:var(--up);opacity:.9}.gauge-cash{position:absolute;top:-5px;bottom:-5px;width:2px;background:var(--ink)}.cash_plan .warnbar+.warnbar{margin-top:6px}.remedy{display:grid;gap:6px}.remedy li{padding:8px 10px;border:1px solid var(--line);background:var(--surface-2);font-family:var(--mono);font-size:14px;font-variant-numeric:tabular-nums}.holdings .tbl tr.parent>td:first-child{min-width:240px}@media (max-width: 760px){.holdings .tbl:not(.stack-table){min-width:580px}}.stock_setting .page_title{font-family:var(--sans)}.stock_switch{max-width:100%;padding:3px 6px;border:1px solid var(--line);background:var(--surface);color:inherit;font:inherit;letter-spacing:inherit}.stock_switch:hover{border-color:var(--ink)}.diffline{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:4px;padding:7px 9px;border:1px solid var(--line);font-family:var(--mono);font-size:14px;font-variant-numeric:tabular-nums}.diffline.now{background:var(--surface-2);color:var(--muted)}.diffline.next{border-color:var(--down-line);background:var(--down-bg);color:var(--down);font-weight:600}.ph{margin-top:10px}.ph-line{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:7px 0;border-bottom:1px dotted var(--line);font-family:var(--mono);font-size:14px;font-variant-numeric:tabular-nums}.ph-line:last-child{border-bottom:0}.ph-line dt{color:var(--ink-2)}.ph-line dd{margin:0;font-weight:600}.new_badge{margin-right:8px;padding:2px 7px;border:1px solid var(--warn-line);background:var(--warn-bg);color:var(--warn);font-family:var(--mono);font-size:13px;letter-spacing:0;vertical-align:middle}.stock_add{margin-bottom:18px}.stock_search_results{margin:0 0 12px;padding:0;max-height:220px;overflow-y:auto;border:1px solid var(--line-strong);list-style:none}.stock_search_results li+li{border-top:1px solid var(--line-strong)}.stock_search_results .btn{display:flex;justify-content:space-between;gap:12px;width:100%;border:0;background:transparent;text-align:left}.stock_search_results .stock_code{color:var(--muted);font-variant-numeric:tabular-nums}.picked_stock{display:flex;align-items:baseline;gap:10px;margin:0 0 10px}.add_stock_body{display:grid;grid-template-columns:minmax(220px,300px) minmax(0,1fr);gap:18px;align-items:start}.quote_board{border:1px solid var(--line-strong);background:var(--surface)}.quote_notices:not(:empty){padding:8px 10px;border-bottom:1px solid var(--line)}.quote_notices>p{margin:0}.quote_notices>p+p{margin-top:4px}.quote_tbl{width:100%;border-collapse:collapse;table-layout:fixed;font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:13px}.quote_col_step{width:34px}.quote_tbl caption{padding:6px 10px;color:var(--muted);font-family:var(--sans);font-size:12px;text-align:left}.quote_tbl thead th{padding:5px 8px;border-bottom:1px solid var(--line);background:var(--surface-2);color:var(--muted);font-size:12px;font-weight:400}.quote_tbl thead th:first-child{text-align:right}@media (max-width: 1060px){.add_stock_body{grid-template-columns:1fr}.quote_scroll{max-height:56vh;max-height:56dvh;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain}.quote_pick{padding:9px 8px}}.quote_group>th{padding:6px 8px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--surface-2);color:var(--ink-2);font-family:var(--sans);font-size:12px;text-align:left}.quote_row>th{padding:0 8px;color:var(--muted);font-size:12px;font-weight:400;text-align:right}.quote_row>td{padding:0;text-align:right}.quote_row .quote_qty{padding:0 8px;color:var(--ink-2)}.quote_row.empty>td{padding:6px 8px;color:var(--muted)}.quote_pick{display:block;width:100%;padding:6px 8px;border:0;background:transparent;color:inherit;font:inherit;text-align:right;cursor:pointer}.quote_pick:hover{background:var(--surface-2)}.quote_asks .quote_pick{color:var(--down)}.quote_bids .quote_pick{color:var(--up)}.holdings .tbl tr.group_head>th{padding:12px 10px 6px;border-bottom:1px solid var(--line-strong);background:var(--surface);text-align:left;font-weight:700}.group_head_count{margin-left:8px;color:var(--muted);font-weight:400}.group_head_caption{display:block;margin-top:2px;color:var(--muted);font-size:12px;font-weight:400}.row_plain{display:inline-block;padding:2px 0;font-weight:600}.coming_soon p{padding:26px 14px;border:1px dashed var(--line-strong);background:var(--surface);color:var(--muted);font-size:16px;text-align:center}.mode_row{align-items:center;font-family:var(--sans);font-size:15px}.mode_row_text{display:grid;gap:2px}.mode_row_name{font-weight:600}.mode_row_text small{color:var(--muted);font-size:13.5px}.mode_row_text small.mode_row_reason{color:var(--warn);font-weight:600}.mode_row_current{color:var(--ink-2);font-weight:600;white-space:nowrap}.mode_row.real .mode_row_name,.mode_row.real .mode_row_current{color:var(--up);font-weight:700}.note.warn{border-left-color:var(--up);background:var(--up-bg);color:var(--up);font-weight:600}.filterbar{display:flex;align-items:center;gap:8px 16px;flex-wrap:wrap;padding:11px 14px;border:1px solid var(--line);background:var(--surface)}.filterbar_field,.filterbar_check{display:inline-flex;align-items:center;gap:7px;font-size:15px}.filterbar_field>span{color:var(--muted);font-family:var(--mono);font-size:13px;letter-spacing:.06em}.filterbar input[type=date],.filterbar input[type=text]{padding:5px 8px;border:1px solid var(--line-strong);background:var(--surface);color:var(--ink);font-family:var(--mono);font-size:16px;font-variant-numeric:tabular-nums}.filterbar input[type=text]{max-width:128px;text-align:right}.filterbar input:focus{border-color:var(--accent)}.filterbar_check input{accent-color:var(--ink);margin:0}.filterbar button{margin-left:auto}.dim{color:var(--muted)}.bulkbar{display:flex;align-items:center;gap:8px 14px;flex-wrap:wrap;padding-bottom:10px;border-bottom:1px dotted var(--line);margin-bottom:10px}.bulkbar .btn:first-of-type{margin-left:auto}.dialog_body .remedy li{font-family:var(--mono);font-size:14.5px}.cond_seg{display:flex;gap:6px;flex-wrap:wrap}.form-row_group{margin-top:12px;padding-top:12px;border-top:1px solid var(--line-strong)}.result_prompt{margin:8px 0 0}.cond_prompt{flex:1 1 280px;padding:5px 8px;border:1px solid var(--line);background:var(--surface);color:var(--ink-2);font-size:15px;line-height:1.6}.states{display:grid;gap:12px}.state{padding:14px;border:1px solid var(--line);background:var(--surface)}.state .sh{display:flex;justify-content:space-between;gap:10px;margin-bottom:10px;color:var(--muted);font-family:var(--mono);font-size:13px;letter-spacing:.1em}.state_line{margin:12px 0;color:var(--ink-2);font-size:15px;line-height:1.7}.state_line .mono{font-family:var(--mono);font-variant-numeric:tabular-nums;font-weight:600}.state_btn{width:100%;padding:9px;font-family:var(--sans);font-size:15px}.state_actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:11px}.state_note{margin-top:9px;padding-top:9px;border-top:1px dotted var(--line-strong);color:var(--muted);font-family:var(--mono);font-size:13px}.steplines{display:grid;gap:2px}.stepline{display:flex;gap:8px;padding:5px 0;color:var(--muted);font-family:var(--mono);font-size:14px}.stepline.done{color:var(--ink-2)}.stepline.now{color:var(--down);font-weight:600}.recos{display:grid;gap:8px}.reco{padding:11px 12px;border:1px solid var(--line);border-left:3px solid var(--down)}.reco.ex{border-left-color:var(--muted);background:var(--surface-2)}.reco.ex .rn{color:var(--muted);font-weight:600}.reco .rh{display:flex;align-items:baseline;justify-content:space-between;gap:10px;flex-wrap:wrap}.reco .rn{font-size:16px;font-weight:700;letter-spacing:-.01em}.reco .rc{color:var(--muted);font-family:var(--mono);font-size:13px}.reco .rr{margin-top:6px;color:var(--ink-2);font-size:15px;line-height:1.7}.reco .rm{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}.reco .rm b{padding:2px 6px;border:1px solid var(--line);color:var(--muted);font-family:var(--mono);font-size:12.5px;font-weight:500}.addbtn{padding:3px 9px;border:1px solid var(--down);background:var(--surface);color:var(--down);font-family:var(--mono);font-size:13px;white-space:nowrap;cursor:pointer}.addbtn:hover{background:var(--down-bg)}.recommend .pane>.btn{margin-top:8px}.notice_box{margin-top:12px;padding:11px;border:1px solid var(--line);background:var(--surface-2);color:var(--ink-2);font-size:15px;line-height:1.7}.reco_history_h{margin:14px 0 8px}.more_grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px}.more_card{display:block;padding:15px 16px;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--ink);transition:border-color .15s,background .15s}.more_card:hover{border-color:var(--accent);background:var(--accent-bg)}.more_card h2{margin:0 0 4px;font-size:16px;font-weight:600}.more_card p{color:var(--muted);font-size:14px;line-height:1.55}.crumb{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.crumb span{color:var(--ink-2);font-size:14px;font-weight:600}.crumb .sep{color:var(--faint);font-weight:400}.seg{display:inline-flex;overflow:hidden;border:1px solid var(--line-strong);border-radius:7px}.seg button{border:0;padding:8px 16px;background:var(--surface);color:var(--muted);font-size:14px}.seg button+button{border-left:1px solid var(--line-strong)}.seg button[aria-pressed=true]{background:var(--accent);color:#fff;font-weight:700}.seg button:hover:not([aria-pressed=true]){background:var(--surface-2);color:var(--ink)}.stock_profit{display:grid;gap:12px}.lead{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:1px;overflow:hidden;max-width:760px;border:1px solid var(--line);border-radius:12px;background:var(--line)}.lead-main{padding:20px 22px;background:var(--surface)}.lead-side{display:flex;flex-direction:column;justify-content:center;gap:9px;padding:14px 20px;background:var(--surface)}.lead-side>div{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.lead .k{color:var(--muted);font-size:13.5px;font-weight:500}.lead-main .v{margin:3px 0 5px;font-family:var(--mono);font-size:34px;font-variant-numeric:tabular-nums;font-weight:600;letter-spacing:-.03em;line-height:1.1}.lead-main .v .unit{margin-left:3px;font-size:16px;font-weight:500;letter-spacing:0}.lead-main .s{color:var(--ink-2);font-size:13.5px}.lead-side .v2{font-family:var(--mono);font-size:16px;font-variant-numeric:tabular-nums;font-weight:600}.microNote{margin-top:-6px;color:var(--muted);font-size:13px}.profit_narrow{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:9px 13px;border:1px solid var(--accent);border-radius:9px;background:var(--accent-bg);color:var(--ink-2);font-size:15px}.bar{overflow:hidden;min-width:120px;height:7px;border-radius:4px;background:var(--surface-2)}.bar>i{display:block;height:100%;background:var(--accent)}.sub2{display:block;color:var(--muted);font-family:var(--sans);font-size:12px;font-weight:400}.profit_stocks th.l,.profit_stocks td.l,.profit_bars th.l,.profit_bars td.l{text-align:left}.profit_stocks .arrow{color:var(--muted)}.profit_stocks .strong{font-weight:700}@media (max-width: 760px){.lead{grid-template-columns:1fr}.lead-main .v{font-size:28px}}.watchlist .split-view_main>.panel+.panel{margin-top:16px}.watchlist .panel>.empty{padding:18px 14px;font-size:15px}.watchlist .tbl .btn{padding:4px 10px;font-size:13px}.watchlist .tbl tbody tr.open{background:var(--accent-bg)}.quote_now{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}.quote_now_price{font-family:var(--mono);font-size:19px;font-weight:600;font-variant-numeric:tabular-nums;letter-spacing:-.01em}.quote_now_rate{color:var(--muted);font-family:var(--mono);font-size:15px;font-weight:600;font-variant-numeric:tabular-nums}.quote_now_rate.up{color:var(--up)}.quote_now_rate.down{color:var(--down)}
