/* Hallmark · macrostructure: Workbench · genre: modern-minimal · theme: Cobalt · nav: N3 Side-rail · footer: Ft2 · enrichment: none
 * audience: private operator · use: monitor trading · tone: technical
 * pre-emit critique: P4 H5 E4 S5 R5 V4 */
@import url('/static/tokens.css');
@import url('/static/fonts/korean.css');
@font-face{font-family:'Space Grotesk';src:url('/static/fonts/space-grotesk.woff2') format('woff2');font-weight:300 700;font-display:swap}
*{box-sizing:border-box}html,body{overflow-x:clip}html{scroll-behavior:smooth;scroll-padding-top:var(--space-xl)}body{margin:0;background:var(--color-paper);color:var(--color-ink);font:var(--text-base)/1.6 var(--font-body);font-variant-numeric:tabular-nums}button,input,a{font:inherit}button,a.button,nav a{white-space:nowrap}button,a{touch-action:manipulation}button{cursor:pointer}a{color:inherit;text-decoration:none}[hidden]{display:none!important}h1,h2,p{margin:0}h1,h2{font-style:normal;overflow-wrap:anywhere;min-width:0}h1{font-size:var(--text-title);font-weight:700;letter-spacing:-.04em}h2{font-size:var(--text-base);font-weight:700}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid var(--color-focus);outline-offset:3px}button:disabled{opacity:.45;cursor:not-allowed}button:active:not(:disabled),a.button:active{transform:translateY(1px)}.button{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-sm);min-height:44px;padding:var(--space-sm) var(--space-md);border:1px solid var(--color-line);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-ink);font-size:var(--text-sm);font-weight:700;transition:transform var(--dur-micro) var(--ease-out)}.button.primary{background:var(--color-accent);color:var(--color-accent-ink);border-color:var(--color-accent)}button[aria-busy=true]{opacity:.6;cursor:wait}.text-button{border:0;background:var(--color-surface);color:var(--color-muted);padding:var(--space-sm) 0;min-height:44px;text-align:left;font-size:var(--text-sm)}.small{font-size:var(--text-sm)}.muted{color:var(--color-muted)}.positive{color:var(--color-positive)}.negative,.error{color:var(--color-negative)}.wordmark{font:700 2rem var(--font-display);letter-spacing:-.08em}.wordmark span{color:var(--color-accent)}.loading{padding:var(--space-2xl);color:var(--color-muted)}.login{max-width:600px;margin:12vh auto;padding:var(--space-xl)}.login h1{font-size:var(--text-display);margin:var(--space-2xl) 0 var(--space-md);line-height:1.2}.login p{margin-bottom:var(--space-lg);color:var(--color-muted)}.login .button{margin-bottom:var(--space-md)}.rail{background:var(--color-surface);border-bottom:1px solid var(--color-line);padding:var(--space-md);display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm)}.rail-label,.rail nav,.rail-bottom>span,.rail-bottom>strong{display:none}.rail-bottom{display:flex;align-items:center}.workspace{padding:var(--space-lg) var(--space-md);max-width:1680px;margin:auto;min-width:0}.topbar{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);margin-bottom:var(--space-xl)}.connection{text-align:right;font-size:var(--text-sm);color:var(--color-muted)}.connection time{display:block;margin-top:var(--space-xs)}.status{font-size:var(--text-sm);color:var(--color-muted)}.status.ok{color:var(--color-positive)}.modebar{display:flex;flex-wrap:wrap;gap:var(--space-md);justify-content:space-between;align-items:center;margin-bottom:var(--space-lg)}.tabs,.range{display:flex;gap:var(--space-xs)}.tabs{border-bottom:1px solid var(--color-line)}.tabs button{border:0;border-bottom:2px solid var(--color-paper);background:var(--color-paper);color:var(--color-muted);font-weight:700;padding:var(--space-sm) var(--space-lg);min-height:44px}.tabs button[aria-selected=true]{color:var(--color-accent);border-bottom-color:var(--color-accent)}.controls{display:flex;align-items:center;gap:var(--space-md)}.overview-layout{display:grid;gap:var(--space-lg);grid-template-columns:minmax(0,1fr)}.portfolio{background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius-sm);padding:var(--space-lg)}.portfolio-heading{display:flex;justify-content:space-between;align-items:center;gap:var(--space-sm)}.big-number{font:500 var(--text-display)/1.2 var(--font-display);letter-spacing:-.04em;margin-top:var(--space-sm);overflow-wrap:anywhere}.pnl{min-height:26px;margin-top:var(--space-sm);font-size:var(--text-sm)}.metrics{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-md);margin:var(--space-lg) 0 var(--space-xl);padding-bottom:var(--space-lg);border-bottom:1px solid var(--color-line)}.metrics div{display:flex;justify-content:space-between;gap:var(--space-sm);font-size:var(--text-sm)}.metrics span{color:var(--color-muted)}.chart-head{display:flex;align-items:center;flex-wrap:wrap;justify-content:space-between;gap:var(--space-sm)}.range button{border:0;border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-muted);font-size:var(--text-sm);padding:var(--space-sm);min-height:44px}.range button[aria-pressed=true]{background:var(--color-raised);color:var(--color-ink)}.chart{position:relative;height:190px;margin-top:var(--space-md)}.chart svg{width:100%;height:100%;overflow:visible}.chart polyline{fill:none;stroke:var(--color-accent);stroke-width:2;vector-effect:non-scaling-stroke}.chart line{stroke:var(--color-line);stroke-width:1}.chart-empty{position:absolute;inset:0;display:grid;place-items:center;color:var(--color-muted);font-size:var(--text-sm);text-align:center}.chart-labels{display:flex;justify-content:space-between;color:var(--color-muted);font-size:var(--text-sm);margin-top:var(--space-sm)}#valuation-note{margin-top:var(--space-lg)}.operation{padding:var(--space-sm) 0}.section-head{display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;gap:var(--space-sm);margin-bottom:var(--space-md)}dl{margin:0 0 var(--space-lg)}dl>div{display:flex;justify-content:space-between;gap:var(--space-md);padding:var(--space-sm) 0;font-size:var(--text-sm)}dt{color:var(--color-muted)}dd{margin:0;font-weight:700;text-align:right}.operation-message{padding:var(--space-md) 0;margin-top:var(--space-md);font-size:var(--text-sm);font-weight:700;color:var(--color-warning);border-top:1px solid var(--color-line)}.market-section,.data-section{margin-top:var(--space-2xl)}.markets{border-block:1px solid var(--color-line)}.market{padding:var(--space-md) 0;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--space-xs) var(--space-md);border-bottom:1px solid var(--color-line)}.market:last-child{border:0}.market-name{font-family:var(--font-display);font-weight:700}.market-price{text-align:right;font-weight:700}.market-reason{font-size:var(--text-sm);color:var(--color-muted)}.market-change{text-align:right;font-size:var(--text-sm)}.empty{padding:var(--space-xl) 0;color:var(--color-muted);font-size:var(--text-sm)}table{border-collapse:collapse;width:100%;font-size:var(--text-sm)}thead{display:none}tr{display:block;padding:var(--space-md) 0;border-bottom:1px solid var(--color-line)}td{display:flex;justify-content:space-between;gap:var(--space-md);padding:var(--space-xs) 0;overflow-wrap:anywhere}td:before{content:attr(data-label);color:var(--color-muted);flex-shrink:0}td.number{font-variant-numeric:tabular-nums}.pagination{display:flex;justify-content:space-between;align-items:center;gap:var(--space-md);margin-top:var(--space-md)}.pagination>div{display:flex;align-items:center;gap:var(--space-md)}.events{max-height:280px;overflow:auto}.event{display:grid;gap:var(--space-xs);font-size:var(--text-sm);padding:var(--space-sm) 0;border-bottom:1px solid var(--color-line)}.event time{color:var(--color-muted)}footer{display:flex;flex-wrap:wrap;justify-content:space-between;gap:var(--space-md);padding-top:var(--space-lg);margin-top:var(--space-2xl);border-top:1px solid var(--color-line);font-size:var(--text-sm);color:var(--color-muted)}.notice{padding:var(--space-md);border:1px solid var(--color-line);margin-bottom:var(--space-lg);border-radius:var(--radius-sm)}dialog{position:fixed;inset:0;margin:auto;width:min(520px,calc(100% - 32px));height:fit-content;max-height:85dvh;overflow:auto;padding:var(--space-xl);border:1px solid var(--color-line);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-ink)}dialog::backdrop{background:var(--color-overlay)}dialog h2{font-size:var(--text-title);margin-bottom:var(--space-lg)}dialog p{margin-bottom:var(--space-md);font-size:var(--text-sm)}dialog label{display:block;font-size:var(--text-sm);margin-bottom:var(--space-sm)}dialog input{width:100%;min-height:44px;padding:var(--space-sm);border:1px solid var(--color-line);border-radius:var(--radius-sm);background:var(--color-paper);color:var(--color-ink)}dialog input[aria-invalid=true]{border-color:var(--color-negative)}.confirmation-phrase{font-weight:700}.dialog-actions{display:flex;justify-content:flex-end;gap:var(--space-sm)}#confirm-error{min-height:1.6em;margin-top:var(--space-sm)}
@media(hover:hover){button:hover:not(:disabled),a.button:hover{filter:brightness(.97)}nav a:hover{color:var(--color-accent)}dialog input:hover{background:var(--color-raised);color:var(--color-ink)}}
@media(min-width:40rem){.workspace{padding:var(--space-xl)}.metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.metrics div{display:grid;gap:var(--space-sm)}.section-head{flex-direction:row;align-items:center}.market{grid-template-columns:110px 130px minmax(0,1fr) 80px;align-items:center}.market-reason{padding-inline-start:var(--space-md)}thead{display:table-header-group}tr{display:table-row;padding:0}td,th{display:table-cell;text-align:left;padding:var(--space-md) var(--space-sm);vertical-align:middle}td:before{display:none}th{color:var(--color-muted);font-weight:400;border-block:1px solid var(--color-line)}td.number,th.number{text-align:right}.event{grid-template-columns:165px minmax(0,1fr);gap:var(--space-md)}}
@media(min-width:68rem){.rail{position:fixed;inset:0 auto 0 0;width:200px;display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;border-bottom:0;border-right:1px solid var(--color-line);padding:var(--space-xl) var(--space-lg);gap:0}.rail-label{display:block;font-size:var(--text-sm);color:var(--color-muted);margin-top:var(--space-md)}.rail nav{display:grid;gap:var(--space-sm);margin-top:var(--space-2xl)}.rail nav a{padding:var(--space-sm) 0;min-height:44px;font-size:var(--text-sm)}.rail nav a.selected{color:var(--color-accent);font-weight:700}.rail-bottom{margin-top:auto;display:grid}.rail-bottom>span,.rail-bottom>strong{display:block}.workspace{margin-left:200px;padding:var(--space-xl) var(--space-2xl)}.overview-layout{grid-template-columns:minmax(0,1fr) 280px;gap:var(--space-xl)}.operation{padding:var(--space-md) 0}.portfolio{padding:var(--space-xl)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
.validation-note{margin-top:var(--space-lg);padding:var(--space-md);border-left:2px solid var(--color-line)}#scan-note{margin-bottom:var(--space-md)}
body{word-break:keep-all}.market-reason{overflow-wrap:anywhere}
