html,body{width:100%;height:100%}input::-ms-clear,input::-ms-reveal{display:none}*,*:before,*:after{box-sizing:border-box}html{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;-ms-overflow-style:scrollbar;-webkit-tap-highlight-color:rgba(0,0,0,0)}@-ms-viewport{width:device-width}body{margin:0}[tabindex="-1"]:focus{outline:none}hr{box-sizing:content-box;height:0;overflow:visible}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5em;font-weight:500}p{margin-top:0;margin-bottom:1em}abbr[title],abbr[data-original-title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted;border-bottom:0;cursor:help}address{margin-bottom:1em;font-style:normal;line-height:inherit}input[type=text],input[type=password],input[type=number],textarea{-webkit-appearance:none}ol,ul,dl{margin-top:0;margin-bottom:1em}ol ol,ul ul,ol ul,ul ol{margin-bottom:0}dt{font-weight:500}dd{margin-bottom:.5em;margin-left:0}blockquote{margin:0 0 1em}dfn{font-style:italic}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}pre,code,kbd,samp{font-size:1em;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,Courier,monospace}pre{margin-top:0;margin-bottom:1em;overflow:auto}figure{margin:0 0 1em}img{vertical-align:middle;border-style:none}a,area,button,[role=button],input:not([type=range]),label,select,summary,textarea{touch-action:manipulation}table{border-collapse:collapse}caption{padding-top:.75em;padding-bottom:.3em;text-align:left;caption-side:bottom}input,button,select,optgroup,textarea{margin:0;color:inherit;font-size:inherit;font-family:inherit;line-height:inherit}button,input{overflow:visible}button,select{text-transform:none}button,html [type=button],[type=reset],[type=submit]{-webkit-appearance:button}button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{padding:0;border-style:none}input[type=radio],input[type=checkbox]{box-sizing:border-box;padding:0}input[type=date],input[type=time],input[type=datetime-local],input[type=month]{-webkit-appearance:listbox}textarea{overflow:auto;resize:vertical}fieldset{min-width:0;margin:0;padding:0;border:0}legend{display:block;width:100%;max-width:100%;margin-bottom:.5em;padding:0;color:inherit;font-size:1.5em;line-height:inherit;white-space:normal}progress{vertical-align:baseline}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:none}[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}summary{display:list-item}template{display:none}[hidden]{display:none!important}mark{padding:.2em;background-color:#feffe6}*{box-sizing:border-box}:root{--accent-blue: #6fa8ff;--accent-green: #28d17c;--accent-orange: #ff9800;--accent-orange-bright: #ffd36a;--accent-orange-hover: #ffb33d;--accent-orange-deep: #dd7600;--accent-orange-soft: #ff980026;--accent-red: #ff5b5b;--button-selected-text: #2a1606;--button-selected-text-hover: #231305;--button-selected-border: #f2b24d;--button-selected-border-hover: #ffd06a;--button-selected-bg: linear-gradient(180deg, #f5b84c 0%, #d98616 62%, #9a5512 100%);--button-selected-bg-hover: linear-gradient(180deg, #ffd16a 0%, #e99a22 58%, #b46316 100%);--button-selected-bg-active: linear-gradient(180deg, #c87519 0%, #7f430f 100%);--button-unselected-text: #f3c56a;--button-unselected-text-hover: #ffd36a;--button-unselected-border: #3a414f;--button-unselected-border-hover: #c9862a;--button-unselected-bg: linear-gradient(180deg, #20242d 0%, #141720 100%);--button-unselected-bg-hover: linear-gradient(180deg, #2a261d 0%, #191a1d 100%);--button-disabled-text: #6d7584;--button-disabled-bg: linear-gradient(180deg, #1a1d24 0%, #111319 100%);--control-bg: #151820;--control-bg-hover: #1a1e27;--control-bg-disabled: #111319;--control-focus-ring: #ff98002e;--select-arrow: url("data:image/svg+xml,%3Csvg width='14' height='14' viewBox='0 0 14 14' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M3.5 5.25 7 8.75l3.5-3.5' fill='none' stroke='%23ffb33d' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");--border-strong: #3a414f;--border-subtle: #252a35;--surface-app: #050506;--surface-card: #101217;--surface-card-soft: #151820;--surface-elevated: #1a1e27;--surface-sidebar: #090a0d;--text-muted: #6d7584;--text-primary: #f7f8fa;--text-secondary: #a4acba;--font-body: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-heading: Geist, Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-data: "IBM Plex Mono", "SFMono-Regular", Consolas, monospace;--radius-card: 8px;--space-panel: 16px}body{margin:0;background:var(--surface-app);color:var(--text-primary);font-family:var(--font-body);overflow-x:hidden}button,input,textarea,select{font-family:inherit}.control-select{-moz-appearance:none;appearance:none;-webkit-appearance:none;background-color:var(--control-bg);background-image:var(--select-arrow),linear-gradient(180deg,#151820,#111319);background-position:right 12px center,0 0;background-repeat:no-repeat;background-size:14px 14px,100% 100%;border:1px solid var(--border-subtle);border-radius:var(--radius-card);color:var(--text-primary);cursor:pointer;outline:none;padding-right:38px!important}.control-select:hover{border-color:var(--button-unselected-border-hover);background-color:var(--control-bg-hover);background-image:var(--select-arrow),linear-gradient(180deg,#1a1e27,#151820)}.control-select:focus,.control-select:focus-visible{border-color:var(--accent-orange)!important;box-shadow:0 0 0 3px var(--control-focus-ring);outline:none}.control-select:disabled{border-color:var(--border-subtle);background-color:var(--control-bg-disabled);color:var(--text-muted);cursor:not-allowed}.control-select option{background:var(--surface-elevated);color:var(--text-primary)}.auth-restore-page,.login-page{min-height:100vh;display:grid;place-items:center;background:var(--surface-app)}.login-page{position:relative;overflow:hidden}.login-page:before{content:"";position:absolute;width:520px;height:260px;top:12vh;left:calc(50% - 260px);border-radius:var(--radius-card);background:var(--accent-orange-soft);filter:blur(70px);pointer-events:none}.login-card{position:relative;z-index:1;width:min(440px,calc(100vw - 32px));border-color:var(--border-subtle);background:var(--surface-card)}.login-card .ant-card-head{min-height:56px;border-bottom-color:var(--border-subtle)}.login-card .ant-card-head-title{color:var(--text-primary)!important;font-family:var(--font-heading);font-size:20px}.login-brand{display:grid;gap:14px;margin-bottom:18px}.login-brand h2.ant-typography{margin:0 0 6px;color:var(--text-primary);font-family:var(--font-heading);font-size:28px;line-height:1.2}.login-brand .ant-typography{margin:0;color:var(--text-secondary);font-size:13px;line-height:1.45}.login-error{margin-bottom:14px;border:1px solid #ff5b5b66;border-radius:var(--radius-card);background:#ff5b5b14;color:var(--accent-red);padding:10px 12px;font-size:12px;font-weight:600}.auth-restore-page{gap:12px;align-content:center;color:var(--text-secondary);font-size:13px}.muted-copy,.ant-typography.muted-copy{color:var(--text-secondary)}.app-shell{min-height:100vh;background:var(--surface-app)}.shell-main{min-width:0;background:var(--surface-app)}.sidebar{position:sticky!important;top:0;align-self:flex-start;height:100vh;border-right:1px solid var(--border-subtle);background:var(--surface-sidebar)!important;overflow:hidden}.sidebar .ant-layout-sider-children{height:100vh;display:flex;flex-direction:column;padding:24px 20px;gap:22px;overflow:hidden}.sidebar-nav{flex:0 0 auto;min-height:0}.sidebar .ant-menu{flex:0 0 auto;border-inline-end:0!important;background:transparent;padding:0;overflow:visible}.sidebar .ant-menu-item{height:35px;line-height:35px;border-radius:var(--radius-card);color:var(--text-secondary);margin-inline:0;margin-block:0 5px;width:100%;padding-inline:12px!important;font-size:12px;font-weight:500}.sidebar .ant-menu-item .ant-menu-item-icon{color:var(--text-muted);font-size:15px}.sidebar .ant-menu-title-content{margin-inline-start:10px}.sidebar .ant-menu-item-selected{background:var(--accent-orange-soft)!important;color:var(--text-primary)!important;border:1px solid #ff98004a;font-weight:700}.sidebar .ant-menu-item-selected .ant-menu-item-icon{color:var(--accent-orange)}.brand{display:flex;gap:12px;align-items:center;padding:0;flex:0 0 auto}.brand h4.ant-typography{margin:0;color:var(--text-primary);font-family:var(--font-heading);font-size:18px;line-height:1.2}.brand .ant-typography{color:var(--text-muted);font-size:11px;font-weight:500}.brand-mark{width:38px;height:38px;flex:0 0 auto;border-radius:var(--radius-card);display:grid;place-items:center;background:var(--accent-orange);color:var(--surface-app);font-weight:800}.sidebar-footer{display:grid;gap:10px;margin-top:auto;flex:0 0 auto}.sidebar-state-list{display:grid;gap:10px}.sidebar-state-item{min-height:55px;display:flex;align-items:center;gap:10px;border:1px solid var(--border-subtle);border-radius:var(--radius-card);background:var(--surface-card);padding:12px}.sidebar-state-dot{width:8px;height:8px;flex:0 0 auto;border-radius:50%}.sidebar-state-item div{display:grid;gap:2px}.sidebar-state-item span{color:var(--text-muted);font-size:11px;font-weight:500}.sidebar-state-item strong{color:var(--text-primary);font-size:12px;font-weight:700}@media (max-height: 860px) and (min-width: 901px){.sidebar-state-list{display:none}}.app-topbar{position:sticky;top:0;z-index:30;min-height:74px;display:grid;grid-template-columns:180px minmax(0,1fr) auto;align-items:center;gap:16px;border-bottom:1px solid var(--border-subtle);background:var(--surface-app);padding:12px 24px}.market-switcher{min-width:0;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px}.topbar-label{color:var(--text-muted);font-size:12px;font-weight:700}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.market-switcher select{width:100%;min-height:42px;border:1px solid var(--border-subtle);border-radius:var(--radius-card);color:var(--text-primary);padding:0 38px 0 12px;font-size:14px;font-weight:700;outline:none}.market-switcher select:focus-visible{border-color:var(--accent-orange);box-shadow:0 0 0 3px #ff98001f}.index-ticker{min-width:0;height:46px;overflow:hidden;border:1px solid var(--border-subtle);border-radius:var(--radius-card);background:var(--surface-card)}.index-ticker-track{display:flex;width:max-content;gap:0;align-items:center;height:100%;padding:4px 0;animation:ticker-scroll 27.2s linear infinite;will-change:transform}.index-ticker:hover .index-ticker-track{animation-play-state:paused}.index-ticker-group{display:flex;flex:0 0 auto;gap:8px}.index-chip{flex:0 0 auto;min-width:142px;height:36px;display:flex;align-items:center;gap:8px;border:1px solid #252a3580;border-radius:var(--radius-card);background:var(--surface-card-soft);padding:0 8px}.index-chip strong,.index-value,.index-change{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.index-chip strong{color:var(--text-primary);font-family:var(--font-data);font-size:12px;font-weight:800}.index-value{color:var(--text-secondary);font-family:var(--font-data);font-size:12px}.index-change{font-family:var(--font-data);font-size:12px;font-weight:800}.index-change-profit,.index-change-positive{color:var(--accent-red)}.index-change-loss,.index-change-negative{color:var(--accent-green)}@keyframes ticker-scroll{0%{transform:translate(0)}to{transform:translate(-50%)}}@media (prefers-reduced-motion: reduce){.index-ticker-track{animation-duration:.01ms;animation-iteration-count:1}}.topbar-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;min-width:0}.topbar-account{position:relative;min-width:0}.topbar-icon-button.ant-btn{width:42px;min-width:42px;padding-inline:0}.topbar-user-button{min-width:0;max-width:220px;min-height:42px;display:inline-flex;align-items:center;gap:10px;border:1px solid var(--border-subtle);border-radius:var(--radius-card);background:var(--surface-card-soft);color:var(--text-primary);padding:4px 10px 4px 6px;font-size:14px;font-weight:700;cursor:pointer}.topbar-user-button:hover,.topbar-user-button:focus-visible{border-color:var(--accent-orange);outline:none}.topbar-user-button span:last-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-dropdown-menu{position:absolute;top:calc(100% + 10px);right:0;z-index:80;width:190px;display:grid;gap:4px;border:1px solid var(--border-subtle);border-radius:var(--radius-card);background:var(--surface-elevated);padding:6px;box-shadow:0 8px 18px #0005}.account-dropdown-menu button{width:100%;min-height:40px;display:flex;align-items:center;gap:10px;border:0;border-radius:6px;background:transparent;color:var(--text-secondary);padding:0 10px;font-size:14px;font-weight:700;text-align:left;cursor:pointer}.account-dropdown-menu button:hover,.account-dropdown-menu button:focus-visible{background:var(--surface-card-soft);color:var(--text-primary);outline:none}.account-dropdown-menu button.danger{color:var(--accent-red)}.account-dialog-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:120;display:grid;place-items:center;background:#050506b8;padding:20px}.account-dialog{width:min(460px,100%);border:1px solid var(--border-subtle);border-radius:var(--radius-card);background:var(--surface-card);padding:18px;box-shadow:0 18px 44px #00000070}.account-dialog h2{margin:0 0 16px;color:var(--text-primary);font-family:var(--font-heading);font-size:20px;line-height:1.25}.account-dialog form{display:grid;gap:9px}.account-dialog label{color:var(--text-secondary);font-size:14px;font-weight:700}.account-dialog .control-input{width:100%;min-height:42px;padding:0 12px;font-size:15px}.account-modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:4px}.content{padding:24px 24px 16px;background:var(--surface-app);min-width:0;overflow-x:hidden}.control-button.ant-btn{border-radius:var(--radius-card);font-weight:800;display:inline-flex;align-items:center;justify-content:center;gap:8px;overflow:hidden;white-space:nowrap}.control-button-primary.ant-btn-primary{border-color:var(--button-selected-border);background:var(--button-selected-bg);color:var(--button-selected-text);box-shadow:inset 0 1px #ffe2a566,0 0 0 1px #ff980018}.control-button .anticon,.control-button span{color:inherit}.control-button-primary.ant-btn-primary:not(:disabled):hover,.control-button-primary.ant-btn-primary:not(:disabled):focus-visible{border-color:var(--button-selected-border-hover);background:var(--button-selected-bg-hover);color:var(--button-selected-text-hover);box-shadow:inset 0 1px #ffe2a54d,0 0 0 3px var(--control-focus-ring)}.control-button-primary.ant-btn-primary:not(:disabled):active{border-color:var(--accent-orange-deep);background:var(--button-selected-bg-active);color:var(--button-selected-text-hover);box-shadow:inset 0 1px 3px #00000038}.control-button-primary.ant-btn-primary:disabled,.control-button-primary.ant-btn-primary.ant-btn-disabled,.control-button-secondary.ant-btn-default:disabled,.control-button-secondary.ant-btn-default.ant-btn-disabled{border-color:var(--border-subtle);background:var(--button-disabled-bg);color:var(--button-disabled-text);box-shadow:none}.control-button-secondary.ant-btn-default{border-color:var(--button-unselected-border);background:var(--button-unselected-bg);color:var(--button-unselected-text)}.control-button-secondary.ant-btn-default:not(:disabled):hover,.control-button-secondary.ant-btn-default:not(:disabled):focus-visible{border-color:var(--button-unselected-border-hover);background:var(--button-unselected-bg-hover);color:var(--button-unselected-text-hover);box-shadow:0 0 0 3px #ff980024}.control-button-danger.ant-btn{border-color:#ff5b5b99;color:#ffd6d6}.control-button-danger.ant-btn:not(:disabled):hover,.control-button-danger.ant-btn:not(:disabled):focus-visible{border-color:var(--accent-red);color:#ffe3e3;box-shadow:0 0 0 3px #ff5b5b24}.control-input{width:100%;min-width:0;border:1px solid var(--border-subtle);border-radius:var(--radius-card);background:var(--control-bg);color:var(--text-primary);outline:none}.control-input:hover{border-color:var(--button-unselected-border-hover);background:var(--control-bg-hover)}.control-input:focus,.control-input:focus-visible{border-color:var(--accent-orange)!important;background:var(--control-bg-hover);box-shadow:0 0 0 3px var(--control-focus-ring)}.control-input::placeholder{color:var(--text-muted)}.control-input:disabled,.control-input[readonly]{border-color:var(--border-subtle);background:var(--control-bg-disabled);color:var(--text-muted);cursor:not-allowed}.ant-form-item-label>label,.ant-descriptions-item-label,.ant-card-head-title,.ant-statistic-title{color:var(--text-secondary)!important}.ant-descriptions-item-content,.ant-statistic-content,.ant-card .ant-typography{color:var(--text-primary)}.ant-card{border-color:var(--border-subtle);border-radius:var(--radius-card);background:var(--surface-card)}.console-page{position:relative;min-height:calc(100vh - 48px);color:var(--text-primary);isolation:isolate;width:100%}.console-page *{min-width:0}.console-glow{position:absolute;z-index:-1;border-radius:var(--radius-card);pointer-events:none;filter:blur(52px)}.console-glow-top{width:36vw;max-width:470px;height:150px;left:38%;top:-112px;background:#ff980022}.console-glow-bottom{width:30vw;max-width:360px;height:150px;right:4%;bottom:10%;background:#6fa8ff18}.console-page-header{min-height:64px;display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:24px;width:100%}.console-page-copy h2.ant-typography{margin:0 0 4px;color:var(--text-primary);font-family:var(--font-heading);font-size:27px;line-height:1.25}.console-page-copy .ant-typography{color:var(--text-muted);font-size:12px}.console-page-actions{display:flex;align-items:center;justify-content:flex-end;gap:12px;flex-wrap:wrap}.status-pill-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}.status-pill{min-height:34px;display:inline-flex;align-items:center;gap:8px;border:1px solid var(--border-subtle);border-radius:var(--radius-card);background:var(--surface-card);color:var(--text-muted);padding:0 12px;font-size:11px;font-weight:500;white-space:nowrap}.status-pill strong{color:var(--text-primary);font-size:12px}.sync-feedback{width:100%;min-height:42px;display:flex;align-items:center;border:1px solid var(--border-subtle);border-radius:var(--radius-card);margin-bottom:16px;padding:10px 14px;color:var(--text-secondary);background:var(--surface-card);font-size:var(--text-sm-size);line-height:1.35}.sync-feedback-success{border-color:color-mix(in srgb,var(--accent-red) 42%,var(--border-subtle));color:var(--accent-red);background:color-mix(in srgb,var(--accent-red) 8%,var(--surface-card))}.sync-feedback-warning{border-color:color-mix(in srgb,var(--accent-orange) 48%,var(--border-subtle));color:var(--accent-orange);background:color-mix(in srgb,var(--accent-orange) 10%,var(--surface-card))}.sync-feedback-error{border-color:color-mix(in srgb,var(--accent-green) 48%,var(--border-subtle));color:var(--accent-green);background:color-mix(in srgb,var(--accent-green) 10%,var(--surface-card))}.tone-dot{width:7px;height:7px;border-radius:50%;display:inline-block;flex:0 0 auto}.tone-green{background:var(--accent-green)}.tone-orange{background:var(--accent-orange)}.tone-blue{background:var(--accent-blue)}.tone-red,.tone-profit{background:var(--accent-red)}.tone-loss{background:var(--accent-green)}.tone-muted{background:var(--text-muted)}.tone-text-green{color:var(--accent-green)!important}.tone-text-orange{color:var(--accent-orange)!important}.tone-text-blue{color:var(--accent-blue)!important}.tone-text-red,.tone-text-profit{color:var(--accent-red)!important}.tone-text-loss{color:var(--accent-green)!important}.tone-text-muted{color:var(--text-secondary)!important}.pencil-layout{position:relative;width:100%;min-height:var(--pencil-layout-height)}.pencil-layout-overview{width:100%}.pencil-layout>.ui-panel{position:absolute}.ui-panel{display:flex;flex-direction:column;border:1px solid var(--border-subtle);border-radius:var(--radius-card);background:var(--surface-card);padding:var(--space-panel);min-height:164px;overflow:hidden}.ui-panel-title{flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.ui-panel-title span{display:block;color:var(--accent-orange);font-size:9px;line-height:1.25;font-weight:700}.ui-panel-title h3{margin:2px 0 0;color:var(--text-primary);font-family:var(--font-heading);font-size:16px;line-height:1.25}.ui-panel-meta{display:inline-flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}.ui-panel-meta em{color:var(--text-muted);font-size:10px;font-style:normal;font-weight:600;white-space:nowrap}.ui-panel-body{flex:1 1 auto;min-height:0;overflow:hidden}.ui-panel-body>.copy-list,.ui-panel-body>.quality-list,.ui-panel-body>.progress-list,.ui-panel-body>.settings-list{height:100%}.metric-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.metric-row.two{grid-template-columns:repeat(2,minmax(0,1fr))}.metric-row.four{grid-template-columns:repeat(4,minmax(0,1fr))}.metric-tile{min-height:56px;display:grid;gap:3px;border:1px solid var(--border-subtle);border-radius:var(--radius-card);background:var(--surface-card-soft);padding:8px 10px}.metric-tile span{color:var(--text-muted);font-size:10px;font-weight:600}.metric-tile strong{color:var(--text-primary);font-family:var(--font-data);font-size:15px;line-height:1.15;overflow-wrap:anywhere}.metric-tile small{margin-left:3px;color:var(--text-muted);font-family:var(--font-body);font-size:9px}.metric-tile em{color:var(--text-secondary);font-size:9px;font-style:normal;overflow-wrap:anywhere}.progress-list,.quality-list,.copy-list{display:grid;gap:8px;align-content:start;min-height:0}.progress-row{display:grid;gap:4px}.progress-row div{display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--text-secondary);font-size:10px}.progress-row meter{width:100%;height:6px;border:0;border-radius:999px;overflow:hidden;background:var(--border-subtle)}.progress-row meter::-webkit-meter-bar{border:0;border-radius:999px;background:var(--border-subtle)}.progress-row meter::-webkit-meter-optimum-value{border-radius:999px;background:var(--accent-orange)}.data-table-wrap{border:1px solid var(--border-subtle);border-radius:var(--radius-card);background:var(--surface-card-soft);overflow-x:auto;overflow-y:auto;height:100%}.data-table{min-width:var(--table-min-width)}.data-table-row{display:grid;min-height:36px;align-items:center;border-top:1px solid #252a3580;color:var(--text-secondary);font-size:11px}.pencil-layout-settings .data-table-row{min-height:30px}.data-table-row:first-child{border-top:0}.data-table-row>*{padding:0 8px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.data-table-head{min-height:26px;border-top:0;background:var(--surface-elevated);color:var(--text-muted);font-size:9px;font-weight:700}.data-table strong{color:var(--text-primary)}.quality-item{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;min-height:36px;border:1px solid var(--border-subtle);border-radius:var(--radius-card);background:var(--surface-card-soft);padding:4px 9px}.quality-item strong{display:block;color:var(--text-primary);font-size:10px;line-height:1.25}.quality-item span{display:block;color:var(--text-muted);font-size:9px;line-height:1.25;overflow-wrap:anywhere}.quality-item em{font-size:9px;font-style:normal;font-weight:700;white-space:nowrap}.panel-copy{margin:0;color:var(--text-secondary);font-size:12px;font-weight:500;line-height:1.55;overflow-wrap:anywhere}.operational-overview-decision .ui-panel-body,.operational-overview-equity .ui-panel-body{overflow:visible}.overview-decision{display:grid;grid-template-rows:100px 96px;gap:8px;height:100%;min-height:0}.overview-decision-top{display:grid;grid-template-columns:minmax(132px,.24fr) minmax(0,1fr);gap:14px;align-items:stretch;min-width:0}.overview-decision-card,.overview-decision-summary,.overview-decision-row{border:1px solid var(--border-subtle);border-radius:var(--radius-card);background:var(--surface-card-soft)}.overview-decision-card{display:grid;align-content:center;gap:4px;padding:9px 9px 8px}.overview-decision-card span{color:var(--text-muted);font-size:11px;font-weight:800}.overview-decision-card strong{color:var(--accent-orange);font-family:var(--font-heading);font-size:42px;line-height:1.08;font-weight:900;letter-spacing:0}.overview-decision-card em{color:var(--text-secondary);font-family:var(--font-data);font-size:13px;font-style:normal;font-weight:800;line-height:1.05}.overview-decision-summary{display:grid;align-content:center;gap:5px;padding:10px 12px;min-width:0}.overview-decision-summary strong{color:var(--text-primary);font-family:var(--font-heading);font-size:17px;line-height:1.15;font-weight:900;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.overview-decision-summary span{color:var(--text-secondary);font-size:11px;line-height:1.35;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.overview-decision-summary em{color:var(--accent-green);font-size:14px;font-weight:900;font-style:normal;line-height:1.25}.overview-decision-summary-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0}.overview-decision-id{color:var(--text-muted);font-family:var(--font-data);font-size:10px;font-weight:800;text-align:right;white-space:nowrap}.overview-decision-rows{display:grid;gap:6px;min-height:0}.overview-decision-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;min-height:28px;padding:3px 9px}.overview-decision-row strong{display:block;color:var(--text-primary);font-size:10px;line-height:1.1;font-weight:900}.overview-decision-row span{display:block;color:var(--text-muted);font-size:9px;line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.overview-decision-row em{font-size:9px;font-style:normal;font-weight:900;white-space:nowrap}.overview-equity{display:grid;grid-template-rows:auto minmax(96px,1fr) 48px;gap:12px;height:100%;min-height:0}.operational-overview-equity .ui-panel-meta em{color:var(--text-muted);font-family:var(--font-data);font-size:12px;font-weight:800}.overview-equity-value{color:var(--text-primary);font-family:var(--font-heading);font-size:28px;font-weight:900;line-height:1.15;letter-spacing:0}.overview-equity-chart{position:relative;min-height:96px;border:0;overflow:hidden}.overview-equity-chart .tradingview-equity-chart{height:100%;min-height:96px;border:0;background:transparent}.overview-equity-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;min-height:0}.overview-equity-stat{display:grid;align-content:center;gap:2px;border:1px solid var(--border-subtle);border-radius:var(--radius-card);background:var(--surface-card-soft);padding:8px;min-width:0}.overview-equity-stat span{color:var(--text-muted);font-size:10px;line-height:1.15;font-weight:700}.overview-equity-stat strong{font-family:var(--font-data);font-size:16px;line-height:1.05;font-weight:900;overflow-wrap:anywhere}.empty-state{display:grid;gap:8px;min-height:128px;align-content:center;justify-items:start;border:1px dashed var(--border-strong);border-radius:var(--radius-card);background:var(--surface-card-soft);padding:16px}.empty-state strong{color:var(--text-primary);font-size:13px}.empty-state span{color:var(--text-secondary);font-size:12px;line-height:1.45}.settings-list{display:grid;gap:10px;align-content:start;overflow:hidden}.settings-list.compact{gap:8px}.settings-row{display:grid;grid-template-columns:150px minmax(0,1fr);gap:12px;align-items:center;min-height:42px;border:1px solid var(--border-subtle);border-radius:var(--radius-card);background:var(--surface-card-soft);padding:8px 10px}.settings-row span{color:var(--text-muted);font-size:11px;font-weight:700}.settings-row strong{color:var(--text-primary);font-size:12px;overflow-wrap:anywhere}.settings-list.compact .settings-row{grid-template-columns:minmax(82px,.42fr) minmax(0,1fr);min-height:26px;padding:4px 8px}.pencil-layout-settings .ui-panel{padding:14px}.pencil-layout-settings .ui-panel-title{margin-bottom:10px}.pencil-layout-settings .settings-list.compact{gap:4px}.settings-note{display:grid;gap:4px;border:1px solid var(--border-subtle);border-radius:var(--radius-card);background:var(--surface-card-soft);padding:7px 8px}.settings-note span{color:var(--text-muted);font-size:11px;font-weight:700}.settings-note p{margin:0;color:var(--text-primary);font-size:11px;line-height:1.35}.settings-note p strong,.settings-note p small{display:inline-block;margin-right:8px;color:var(--text-primary);font-size:11px;line-height:1.35;overflow-wrap:anywhere}.settings-note p small{color:var(--text-secondary)}.settings-form{display:grid;gap:8px;align-content:start;height:100%;min-width:0}.settings-form .control-field{display:grid;grid-template-columns:minmax(82px,.32fr) minmax(0,1fr);gap:10px;align-items:center;min-width:0}.settings-form .control-field-label{color:var(--text-muted);font-size:11px;font-weight:700}.settings-form .control-input,.settings-form .control-select{width:100%;min-width:0;height:30px;padding:0 38px 0 10px;font-size:12px}.settings-form-actions{display:flex;flex-wrap:wrap;gap:8px}.settings-form-actions .control-button{min-width:116px}@media (prefers-reduced-motion: no-preference){.control-button,.control-input,.control-select,.ui-panel,.status-pill,.quality-item,.metric-tile{transition:border-color .18s ease,background .18s ease,color .18s ease}}@media (max-width: 1180px){.pencil-layout{display:grid;gap:16px;min-height:0}.pencil-layout>.ui-panel{position:static;width:100%!important;height:auto!important;min-height:188px}.pencil-layout-settings>.ui-panel,.pencil-layout-worker>.ui-panel,.pencil-layout-logs>.ui-panel{min-height:220px}}@media (max-width: 900px){.app-shell{display:block}.sidebar{position:static!important;flex:0 0 auto!important;width:100%!important;min-width:100%!important;max-width:100%!important;height:auto;overflow:visible;border-right:0;border-bottom:1px solid var(--border-subtle)}.app-shell>.ant-layout{width:100%!important;min-width:0}.app-topbar{position:static;grid-template-columns:minmax(0,1fr);gap:10px;padding:12px 16px}.market-switcher{grid-template-columns:52px minmax(0,1fr)}.topbar-actions{justify-content:flex-start;flex-wrap:wrap}.topbar-user-button{max-width:calc(100vw - 132px)}.brand{padding:0}.sidebar .ant-layout-sider-children{height:auto;min-height:0;padding:16px;gap:14px;overflow:visible}.sidebar .ant-menu{display:flex;flex-wrap:wrap;overflow-x:visible;padding:0 0 2px;gap:6px}.sidebar .ant-menu-item{flex:0 0 auto;width:auto;margin-block:0}.sidebar-footer{display:none}.content{padding:12px}.console-page-header{align-items:flex-start;flex-direction:column}.console-page-actions,.status-pill-row{justify-content:flex-start}}@media (max-width: 620px){.console-page-copy h2.ant-typography{font-size:23px}.ui-panel{padding:12px}.data-table-wrap{margin-inline:-1px}.status-pill{white-space:normal}.metric-row,.metric-row.two,.metric-row.four,.settings-row,.settings-list.compact .settings-row,.settings-form .control-field{grid-template-columns:minmax(0,1fr)}.settings-form-actions{display:grid;grid-template-columns:minmax(0,1fr)}.settings-form-actions .control-button{width:100%;min-width:0}}.operation-grid,.factor-grid,.paper-grid{display:grid;gap:18px;grid-template-columns:minmax(0,1fr) minmax(320px,.6fr)}.operation-grid>.ui-panel:first-child,.paper-grid>.ui-panel:first-child{grid-column:1 / -1}.backtest-grid{display:grid;grid-template-columns:minmax(280px,340px) minmax(0,1fr);grid-template-areas:"match match" "config candles" "result result" "trades trades" "signals signals";gap:18px;align-items:stretch;width:100%;max-width:100%}.backtest-panel-config{grid-area:config;min-height:0;height:clamp(420px,48vh,620px)}.backtest-panel-candles{grid-area:candles;min-height:0;height:clamp(420px,48vh,620px)}.backtest-panel-result{grid-area:result;min-height:0;min-height:380px;height:clamp(400px,42vh,560px)}.backtest-panel-match{grid-area:match;min-height:118px}.backtest-panel-trades{grid-area:trades;min-height:240px}.backtest-panel-signals{grid-area:signals;min-height:220px}.backtest-form{max-height:none}.backtest-choice-summary{display:grid;gap:8px}.backtest-match-list{grid-template-columns:repeat(3,minmax(0,1fr));align-content:stretch}.backtest-result-stack{display:grid;grid-template-rows:auto minmax(260px,1fr);gap:12px;height:100%;min-height:0}.backtest-chart{display:grid;grid-template-rows:auto minmax(240px,1fr) auto;gap:8px;min-height:0;height:100%;border:1px solid #252a3580;border-radius:var(--radius-card);background:var(--surface-card-soft);padding:10px 0 0;overflow:hidden}.backtest-chart-title{padding:0 12px;color:var(--text-primary);font-size:11px;font-weight:700}.tradingview-equity-chart{width:100%;height:100%;min-height:240px;display:block;overflow:hidden;border-top:1px solid #252a3580;border-bottom:1px solid #252a3580;background:var(--surface-card-soft)}.tradingview-equity-chart>div,.tradingview-equity-chart table,.tradingview-equity-chart canvas{width:100%!important;height:100%!important;max-width:none}.backtest-chart-meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;align-items:center;color:var(--text-muted);font-size:10px;padding:0 12px 10px}.backtest-chart-meta strong{color:var(--text-primary);text-align:center;font-family:var(--font-data);font-size:11px}.backtest-chart-meta span:last-child{text-align:right}.candlestick-shell{display:grid;grid-template-rows:auto minmax(260px,1fr) auto;gap:0;height:100%;min-height:0;border:1px solid var(--border-subtle);border-radius:var(--radius-card);background:var(--surface-card-soft);padding:0;overflow:hidden}.candlestick-header{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;padding:10px 12px 8px}.candlestick-header strong{display:block;color:var(--text-primary);font-size:12px;line-height:1.25}.candlestick-header span{display:block;color:var(--text-muted);font-size:10px;line-height:1.35}.candlestick-price{text-align:right;font-family:var(--font-data)}.tradingview-candlestick-chart{width:100%;height:100%;min-height:260px;display:block;overflow:hidden;border-top:1px solid #252a3580;border-bottom:1px solid #252a3580;background:var(--surface-card-soft)}.tradingview-candlestick-chart>div,.tradingview-candlestick-chart table,.tradingview-candlestick-chart canvas{width:100%!important;height:100%!important;max-width:none}.candlestick-meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;color:var(--text-muted);font-family:var(--font-data);font-size:10px;padding:8px 12px 10px}.candlestick-meta span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.candlestick-meta span:nth-child(2){text-align:center}.candlestick-meta span:last-child{text-align:right}.control-row{display:flex;flex-wrap:wrap;gap:10px}.control-row .control-button{min-width:112px}.inline-actions{display:flex;flex-wrap:wrap;gap:6px}.inline-actions .control-button{min-width:72px}.table-pagination{width:100%;min-height:48px;display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:12px;border-top:1px solid var(--border-subtle);padding-top:12px;color:var(--text-muted);font-size:var(--text-sm-size);line-height:1.35}.table-pagination-controls{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap}.table-pagination-controls strong{min-width:92px;color:var(--text-primary);font-size:var(--text-sm-size);line-height:1.35;text-align:center;white-space:nowrap}.table-pagination .control-select{width:112px;height:34px}@media (max-width: 980px){.operation-grid,.factor-grid,.paper-grid,.backtest-grid{grid-template-columns:minmax(0,1fr)}.backtest-grid{grid-template-areas:"match" "config" "candles" "result" "trades" "signals"}.backtest-panel-config,.backtest-panel-candles,.backtest-panel-result{height:auto;min-height:0}.backtest-panel-config .ui-panel-body,.backtest-panel-result .ui-panel-body{overflow:visible}.backtest-match-list{grid-template-columns:minmax(0,1fr)}}@media (max-width: 620px){.control-row{display:grid;grid-template-columns:minmax(0,1fr)}.control-row .control-button{width:100%;min-width:0}.backtest-chart-meta{grid-template-columns:minmax(0,1fr)}.candlestick-shell{grid-template-rows:auto minmax(180px,1fr) auto}.candlestick-header{display:grid}.candlestick-price{text-align:left}.tradingview-candlestick-chart{min-height:180px}.candlestick-meta{grid-template-columns:minmax(0,1fr)}.candlestick-meta span,.candlestick-meta span:nth-child(2),.candlestick-meta span:last-child{text-align:left}.backtest-chart-meta strong,.backtest-chart-meta span:last-child{text-align:left}}:root{--text-xs-size: .8125rem;--text-sm-size: .875rem;--text-ui-size: .9375rem;--text-body-size: 1rem;--text-panel-title-size: 1.1875rem;--text-page-title-size: 2rem;--text-large-value-size: 1.5rem;--pencil-y-scale: 1.28}body{font-size:var(--text-body-size);line-height:1.5;-webkit-text-size-adjust:100%;text-size-adjust:100%}.login-card .ant-card-head-title,.ui-panel-title h3{font-size:var(--text-panel-title-size)}.login-brand h2.ant-typography{font-size:2rem}.login-brand .ant-typography,.auth-restore-page,.panel-copy,.empty-state span{font-size:var(--text-body-size)}.login-error{font-size:var(--text-sm-size);line-height:1.45}.brand h4.ant-typography{font-size:1.35rem}.brand .ant-typography,.sidebar-state-item span,.topbar-label,.index-chip strong,.index-value,.index-change,.topbar-user-button,.ui-panel-title span,.ui-panel-meta em,.metric-tile span,.metric-tile small,.metric-tile em,.progress-row div,.data-table-head,.quality-item span,.quality-item em,.overview-decision-card span,.overview-decision-id,.overview-decision-row span,.overview-decision-row em,.overview-equity-stat span,.settings-row span,.settings-note span,.settings-note p,.settings-note p strong,.settings-note p small,.settings-form .control-field-label,.backtest-chart-meta,.candlestick-header span,.candlestick-meta,.backtest-chart-title{font-size:var(--text-sm-size)}.sidebar .ant-menu-item{height:42px;line-height:42px;font-size:var(--text-ui-size)}.sidebar .ant-menu-item .ant-menu-item-icon{font-size:1.0625rem}.brand-mark{width:44px;height:44px;font-size:1.125rem}.sidebar-state-item{min-height:68px}.sidebar-state-item strong,.status-pill strong,.metric-tile strong,.data-table-row,.quality-item strong,.overview-decision-card em,.overview-decision-summary span,.overview-decision-summary em,.overview-decision-row strong,.operational-overview-equity .ui-panel-meta em,.settings-row strong,.settings-form .control-input,.settings-form .control-select,.candlestick-header strong,.backtest-chart-meta strong{font-size:var(--text-ui-size)}.content{padding:24px 24px 20px}.console-page-copy h2.ant-typography{font-size:var(--text-page-title-size);line-height:1.18}.console-page-copy .ant-typography{font-size:var(--text-body-size);line-height:1.45}.console-page-header{min-height:78px}.status-pill{min-height:42px;font-size:var(--text-sm-size);line-height:1.35}.control-button.ant-btn{min-height:38px;font-size:var(--text-ui-size);line-height:1.3}.control-button.ant-btn-sm{min-height:34px;font-size:var(--text-sm-size)}.pencil-layout{min-height:calc(var(--pencil-layout-height) * var(--pencil-y-scale, 1))}.ui-panel{min-height:212px;padding:18px}.ui-panel-title{align-items:flex-start;margin-bottom:14px}.ui-panel-title span,.ui-panel-meta em{line-height:1.25}.ui-panel-body,.operational-overview-decision .ui-panel-body,.operational-overview-equity .ui-panel-body{overflow:hidden}.ui-panel-body>.copy-list,.ui-panel-body>.quality-list,.ui-panel-body>.progress-list,.ui-panel-body>.settings-list,.ui-panel-body>.settings-form,.ui-panel-body>.data-table-wrap,.ui-panel-body>.backtest-result-stack,.ui-panel-body>.candlestick-shell,.ui-panel-body>.backtest-chart,.ui-panel-body>.empty-state{width:100%}.ui-panel-body>.data-table-wrap{overflow:auto}.metric-row{gap:10px}.metric-tile{min-height:78px;padding:10px 12px}.metric-tile strong{line-height:1.16}.progress-list,.quality-list,.copy-list{gap:10px}.progress-row{gap:6px}.progress-row meter{height:8px}.data-table-row{min-height:46px;line-height:1.35}.pencil-layout-settings .data-table-row{min-height:42px}.data-table-head{min-height:36px}.data-table-row>*{padding:0 10px}.quality-item{min-height:54px;padding:8px 10px}.quality-item strong,.quality-item span{line-height:1.32}.panel-copy{line-height:1.65}.overview-decision{grid-template-rows:minmax(134px,.58fr) minmax(142px,.42fr);gap:10px}.overview-decision-top{grid-template-columns:minmax(154px,.22fr) minmax(0,1fr);gap:14px}.overview-decision-card{padding:12px}.overview-decision-card strong{font-size:3.25rem;line-height:1.02}.overview-decision-summary{gap:7px;padding:12px 14px}.overview-decision-summary strong{font-size:1.35rem;line-height:1.18}.overview-decision-summary span{white-space:normal}.overview-decision-summary-footer{align-items:baseline}.overview-decision-rows{gap:8px}.overview-decision-row{min-height:42px;padding:6px 10px}.overview-equity{grid-template-rows:auto minmax(132px,1fr) minmax(64px,auto)}.overview-equity-value{font-size:2.1rem}.overview-equity-stat{min-height:62px}.overview-equity-stat strong{font-size:1.125rem}.empty-state{min-height:164px}.empty-state strong{font-size:1.0625rem}.settings-row{grid-template-columns:minmax(176px,.42fr) minmax(0,1fr);min-height:54px}.settings-list.compact .settings-row{grid-template-columns:minmax(108px,.46fr) minmax(0,1fr);min-height:40px}.settings-note{padding:10px}.settings-form{gap:10px}.settings-form .control-field{grid-template-columns:minmax(104px,.34fr) minmax(0,1fr)}.settings-form .control-input,.settings-form .control-select{height:40px}.settings-form-actions .control-button{min-width:136px}.backtest-panel-match{min-height:154px}.backtest-panel-config,.backtest-panel-candles{height:clamp(560px,58vh,760px)}.backtest-panel-result{min-height:520px;height:clamp(520px,52vh,700px)}.backtest-panel-trades{min-height:300px}.backtest-panel-signals{min-height:280px}.backtest-result-stack{grid-template-rows:auto minmax(320px,1fr)}.backtest-chart{grid-template-rows:auto minmax(300px,1fr) auto}.tradingview-equity-chart{min-height:300px}.candlestick-shell{grid-template-rows:auto minmax(340px,1fr) auto}.tradingview-candlestick-chart{min-height:340px}.candlestick-header{align-items:center}.control-row .control-button{min-width:132px}.inline-actions .control-button{min-width:86px}@media (max-width: 1180px){:root{--pencil-y-scale: 1}.pencil-layout{min-height:0}.pencil-layout>.ui-panel{min-height:260px}.pencil-layout-settings>.ui-panel,.pencil-layout-worker>.ui-panel,.pencil-layout-logs>.ui-panel{min-height:300px}}@media (max-width: 900px){.sidebar .ant-menu-item{min-height:42px}.app-topbar{padding:12px 16px}.content{padding:16px}}@media (max-width: 620px){.console-page-copy h2.ant-typography{font-size:1.75rem}.status-pill{width:100%}.overview-decision{grid-template-rows:auto auto}.overview-decision-top{grid-template-columns:minmax(0,1fr)}.overview-decision-card strong{font-size:2.5rem}.overview-equity-stats,.backtest-chart-meta,.candlestick-meta{grid-template-columns:minmax(0,1fr)}}
