:root{color:#0f1722;font-synthesis:none;text-rendering:optimizelegibility;--font-mono:"JetBrains Mono", "SFMono-Regular", Consolas, "Liberation Mono", Menlo, monospace;--bg:#f6f8fb;--bg-radial:#11b88621;--bg-radial-secondary:#3861fb14;--surface:#fff;--surface-strong:#fff;--surface-glass:#ffffffc7;--surface-muted:#eef3f7;--border:#0f172214;--border-strong:#0f172221;--text:#0f1722;--muted:#5b6675;--weak:#8a94a3;--accent:#0f9f75;--accent-strong:#11b886;--accent-soft:#11b8861f;--danger:#e23b3b;--danger-soft:#e23b3b1a;--shadow:0 22px 54px #0f17221a;--shadow-card:0 16px 38px #0f172214;--header-bg:#f6f8fbc7;--hero-bg:linear-gradient(135deg, #11b88624, transparent 42%), linear-gradient(180deg, #fff, #edf5f1);--hero-border:#11b8862e;--hero-number:#07120d;--input-bg:#ffffffdb;--tile-bg:#0f17220a;--radius:16px;background:#f6f8fb;font-family:Pretendard Variable,Pretendard,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}html[data-theme=dark]{color:#e8edf2;--bg:#0b0e13;--bg-radial:#2ee6a62e;--bg-radial-secondary:#4e7cff1a;--surface:#151a21;--surface-strong:#1a2029;--surface-glass:#151a21c7;--surface-muted:#10151d;--border:#ffffff12;--border-strong:#ffffff1f;--text:#e8edf2;--muted:#9aa6b2;--weak:#6b7682;--accent:#2ee6a6;--accent-strong:#62ffd0;--accent-soft:#2ee6a61f;--danger:#ff5d5d;--danger-soft:#ff5d5d1a;--shadow:0 24px 60px #00000057;--shadow-card:0 18px 42px #0003;--header-bg:#0b0e13c2;--hero-bg:linear-gradient(135deg, #2ee6a624, transparent 38%), linear-gradient(180deg, #1a2029, #111722);--hero-border:#2ee6a62b;--hero-number:#fff;--input-bg:#0a0e14b8;--tile-bg:#ffffff0a;background:#0b0e13}*{box-sizing:border-box}html,body{height:100%;margin:0;overflow:hidden}body{min-width:320px;height:100dvh;color:var(--text);background:radial-gradient(circle at 50% -10%, var(--bg-radial), transparent 34rem), radial-gradient(circle at 0% 20%, var(--bg-radial-secondary), transparent 28rem), var(--bg);margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid color-mix(in srgb, var(--accent) 34%, transparent);outline-offset:3px}button:disabled{cursor:progress}#root{width:100vw;height:100dvh}@media (width>=761px){#root{zoom:.8;width:125vw;height:125dvh}}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.app-shell{flex-direction:column;height:100%;display:flex;overflow:hidden}.login-screen{height:100dvh}.portfolio-screen,.signals-screen{min-height:100%}.app-shell--center,.login-screen{padding:max(20px, env(safe-area-inset-top)) max(16px, env(safe-area-inset-right)) max(20px, env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left));place-items:center;display:grid}.login-screen{position:relative;overflow:hidden}.login-screen:before{pointer-events:none;content:"";background:radial-gradient(ellipse at center, var(--bg-radial), transparent 68%);filter:blur(12px);height:55vh;position:fixed;inset:-20% -10% auto}.login-card,.notice{border:1px solid var(--border);border-radius:var(--radius);background:linear-gradient(180deg, var(--surface-strong), var(--surface));width:min(100%,400px);box-shadow:var(--shadow);position:relative}.login-card{gap:22px;padding:28px;display:grid}.login-card__header{gap:10px;display:grid}.wordmark,.eyebrow{color:var(--accent);letter-spacing:0;text-transform:uppercase;margin:0;font-size:.78rem;font-weight:900}h1,h2,h3,p{margin:0}h1{color:var(--text);font-size:1.85rem;line-height:1.12}h2{color:var(--text);font-size:1.02rem;line-height:1.25}.field{color:var(--muted);gap:9px;font-size:.95rem;font-weight:750;display:grid}.field input{border:1px solid var(--border-strong);width:100%;min-height:52px;color:var(--text);background:var(--input-bg);border-radius:14px;padding:0 16px;box-shadow:inset 0 1px #ffffff14}.field input::placeholder{color:var(--weak)}.field input:focus{border-color:color-mix(in srgb, var(--accent) 66%, transparent)}.field input[type=number]{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.primary-button,.secondary-button,.theme-toggle{border-radius:14px;min-height:48px;padding:0 17px;font-weight:900;transition:transform .15s,border-color .15s,background .15s,box-shadow .15s}.primary-button{color:#03120d;background:linear-gradient(135deg, var(--accent-strong), color-mix(in srgb, var(--accent-strong) 72%, white));box-shadow:0 14px 34px color-mix(in srgb, var(--accent) 22%, transparent);border:0}.primary-button:hover:not(:disabled){box-shadow:0 18px 40px color-mix(in srgb, var(--accent) 28%, transparent);transform:translateY(-1px)}.primary-button:disabled{opacity:.68}.secondary-button,.theme-toggle{border:1px solid var(--border-strong);color:var(--text);background:var(--surface-glass)}.secondary-button--danger{color:var(--danger)}.secondary-button:hover,.theme-toggle:hover{border-color:color-mix(in srgb, var(--accent) 36%, transparent);background:var(--accent-soft)}.shell-actions{align-items:center;gap:8px;display:flex}.update-badge{color:#111827;white-space:nowrap;background:#f59e0b;border-radius:999px;align-items:center;min-height:32px;padding:0 12px;font-size:.75rem;font-weight:800;display:inline-flex}.theme-toggle{place-items:center;width:48px;padding:0;font-size:1.05rem;display:inline-grid}.icon-button{border:1px solid var(--border-strong);width:48px;min-height:48px;color:var(--text);background:var(--surface-glass);border-radius:14px;place-items:center;transition:transform .15s,border-color .15s,background .15s;display:inline-grid}.icon-button svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2px;width:21px;height:21px}.icon-button:hover{border-color:color-mix(in srgb, var(--accent) 36%, transparent);background:var(--accent-soft)}.icon-button--danger{color:var(--danger)}.icon-button--danger:hover{border-color:color-mix(in srgb, var(--danger) 34%, transparent);background:var(--danger-soft)}.theme-toggle--floating{top:max(16px, env(safe-area-inset-top));right:max(16px, env(safe-area-inset-right));z-index:4;position:fixed}.shell-topbar{z-index:20;min-height:calc(68px + env(safe-area-inset-top));border-bottom:1px solid var(--border);padding:max(10px, env(safe-area-inset-top)) max(16px, env(safe-area-inset-right)) 10px max(16px, env(safe-area-inset-left));background:var(--surface-glass);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);flex:none;justify-content:space-between;align-items:center;gap:12px;display:flex}.shell-topbar h1{font-size:1.18rem;line-height:1.15}.account-switcher{align-items:center;gap:6px;min-height:30px;margin-top:6px;display:flex;position:relative}.account-switcher__name,.account-switcher__toggle,.account-switcher__edit button{border:1px solid var(--border);min-height:28px;color:var(--text);background:var(--tile-bg);border-radius:8px;padding:4px 9px;font-size:.78rem;font-weight:850}.account-switcher__name{text-overflow:ellipsis;white-space:nowrap;max-width:min(42vw,220px);overflow:hidden}.account-switcher__toggle{color:var(--accent)}.account-switcher__menu{z-index:45;border:1px solid var(--border);background:var(--surface-strong);min-width:170px;max-width:min(76vw,260px);box-shadow:var(--shadow-card);border-radius:10px;gap:4px;padding:5px;display:grid;position:absolute;top:calc(100% + 6px);left:0}.account-switcher__row{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:4px;display:grid}.account-switcher__menu button,.account-switcher__create input{min-width:0;color:var(--text);text-align:left;background:0 0;border:0;border-radius:7px;padding:8px 9px;font-size:.82rem;font-weight:800}.account-switcher__create input{border:1px solid var(--border);background:var(--input-bg);width:100%;font-weight:700}.account-switcher__menu button.active{color:var(--accent);background:var(--accent-soft)}.account-switcher__delete{color:var(--danger)!important;font-size:.76rem!important}.account-switcher__add{margin-top:2px;color:var(--accent)!important;background:var(--accent-soft)!important}.account-switcher__create{border-top:1px solid var(--border);gap:5px;padding-top:5px;display:grid}.account-switcher__create-actions{gap:5px;display:flex}.account-switcher__create-actions button{text-align:center;flex:1 1 0}.account-switcher__edit{align-items:center;gap:5px;display:flex}.account-switcher__edit input{border:1px solid var(--border);width:min(42vw,190px);min-height:30px;color:var(--text);background:var(--input-bg);border-radius:8px;padding:4px 8px;font-size:.82rem}.account-context-label{border:1px solid var(--border-strong);min-height:34px;color:var(--text);background:var(--tile-bg);border-radius:8px;align-items:center;gap:8px;padding:6px 10px;font-size:.82rem;font-weight:850;display:inline-flex}.account-context-label span{color:var(--muted)}.account-context-label strong{text-overflow:ellipsis;white-space:nowrap;max-width:min(44vw,220px);overflow:hidden}.account-context-label em{color:var(--accent);font-style:normal}.shell-content{width:100%;min-width:0;min-height:0;padding:16px max(16px, env(safe-area-inset-right)) 22px max(16px, env(safe-area-inset-left));-webkit-overflow-scrolling:touch;flex:auto;margin:0 auto;overflow:auto}.shell-content>*{width:min(100%,1040px);margin-inline:auto}.bottom-tabs{z-index:30;border-top:1px solid var(--border);width:100%;padding:6px max(6px, env(safe-area-inset-right)) calc(6px + env(safe-area-inset-bottom)) max(6px, env(safe-area-inset-left));background:var(--surface-glass);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);flex:none;grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;gap:0;display:grid;overflow:hidden;box-shadow:0 -12px 32px #0f172214}.bottom-tab{min-width:0;min-height:54px;color:var(--weak);border-radius:12px;align-content:center;justify-items:center;gap:3px;text-decoration:none;transition:color .15s,background .15s,transform .15s;display:grid}.bottom-tab svg,.more-row svg,.empty-state svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2px;width:22px;height:22px}.bottom-tab span{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:.68rem;font-weight:900;line-height:1.1;overflow:hidden}.bottom-tab.active{color:var(--accent);background:var(--accent-soft)}.bottom-tab:active{transform:translateY(1px)}.page-header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px;display:flex}.page-header h1{font-size:1.45rem}.page-header p:not(.eyebrow){color:var(--muted);margin-top:7px;font-size:.92rem;font-weight:700;line-height:1.45}.page-header__action{flex:none}.placeholder-screen,.more-screen,.assets-screen,.chart-screen,.settings-screen,.trade-screen,.report-screen,.talk-screen{gap:14px;display:grid}.empty-state{border:1px solid var(--border);border-radius:var(--radius);background:linear-gradient(180deg, var(--surface-strong), var(--surface));box-shadow:var(--shadow-card);gap:14px;padding:22px;display:grid}.empty-state__mark,.more-row__icon{border:1px solid color-mix(in srgb, var(--accent) 22%, transparent);width:42px;height:42px;color:var(--accent);background:var(--accent-soft);border-radius:14px;place-items:center;display:inline-grid}.empty-state p{color:var(--muted);margin-top:7px;font-size:.94rem;font-weight:700;line-height:1.45}.more-list{gap:10px;display:grid;overflow-x:hidden}.more-row{border:1px solid var(--border);border-radius:var(--radius);min-height:74px;color:var(--text);background:linear-gradient(180deg, var(--surface-strong), var(--surface));box-shadow:var(--shadow-card);text-align:left;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;width:100%;padding:13px 14px;text-decoration:none;display:grid}.more-row--danger{color:var(--danger)}.more-row--danger .more-row__icon{border-color:color-mix(in srgb, var(--danger) 24%, transparent);color:var(--danger);background:var(--danger-soft)}.more-row__copy{gap:4px;min-width:0;display:grid}.more-row__copy strong{font-size:1rem;font-weight:950}.more-row__copy span{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:.84rem;font-weight:720;line-height:1.32;overflow:hidden}.more-row__chevron{width:18px;height:18px;color:var(--weak)}.form-error{color:var(--danger);font-size:.92rem;font-weight:750}.form-success{color:var(--accent);font-size:.92rem;font-weight:850}.asset-form{border:1px solid var(--border);border-radius:var(--radius);background:linear-gradient(180deg, var(--surface-strong), var(--surface));box-shadow:var(--shadow-card);gap:12px;padding:14px;display:grid}.settings-form,.settings-section{gap:14px;display:grid}.settings-section{border:1px solid var(--border);border-radius:var(--radius);background:linear-gradient(180deg, var(--surface-strong), var(--surface));box-shadow:var(--shadow-card);padding:14px}.update-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.update-grid div{border:1px solid var(--border);border-radius:8px;gap:4px;min-width:0;padding:12px;display:grid}.update-grid span{color:var(--muted);font-size:.78rem}.update-grid strong{overflow-wrap:anywhere;font-size:.9rem}.update-actions{flex-wrap:wrap;gap:12px;display:flex}.strategy-screen{min-height:100%}.strategy-mode,.strategy-card{border:1px solid var(--border);border-radius:var(--radius);background:linear-gradient(180deg, var(--surface-strong), var(--surface));box-shadow:var(--shadow-card);gap:14px;padding:14px;display:grid}.strategy-mode{margin-bottom:14px}.strategy-mode__top,.strategy-mode__controls{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.strategy-mode__top>div:first-child{min-width:min(100%,280px)}.strategy-mode__controls{justify-content:flex-start}.strategy-mode h2,.strategy-card h2{font-size:1.04rem}.strategy-mode p,.strategy-card__top p{color:var(--muted);margin-top:5px;font-size:.84rem;font-weight:780}.strategy-mode--real{border-color:color-mix(in srgb, var(--danger) 30%, var(--border))}.strategy-warning{color:var(--danger);background:var(--danger-soft);border-radius:12px;padding:10px 12px;font-weight:850}.strategy-list{gap:12px;display:grid}.strategy-category-nav{background:var(--tile-bg);border-radius:13px;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;min-height:46px;margin-bottom:14px;padding:4px;display:grid}.strategy-category-nav button{min-width:0;color:var(--muted);background:0 0;border:0;border-radius:10px;font-weight:950}.strategy-category-nav button.active{color:var(--accent);background:var(--accent-soft)}.asset-detail-tabs{grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:0}.strategy-section{gap:12px;display:grid}.strategy-card__top{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.strategy-param-grid{gap:12px;display:grid}.strategy-param-field{gap:8px;min-width:0;display:grid}.strategy-param-field>span{color:var(--muted);justify-content:space-between;align-items:baseline;gap:10px;font-size:.82rem;font-weight:900;display:flex}.strategy-param-field small{color:var(--weak);font-family:var(--font-mono);flex:none;font-size:.78rem;font-weight:900}.strategy-param-field input,.strategy-param-field select{border:1px solid var(--border-strong);width:100%;min-width:0;min-height:46px;color:var(--text);background:var(--input-bg);border-radius:13px;padding:0 12px;font-weight:880}.strategy-param-field input[type=number]{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.strategy-param-field em{color:var(--weak);font-size:.76rem;font-style:normal;font-weight:760;line-height:1.35}.expr-param-control,.variable-text-control{gap:8px;min-width:0;display:grid}.expr-param-mode{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;display:grid}.expr-param-mode button,.variable-chip-list button{border:1px solid var(--border);min-height:32px;color:var(--muted);background:var(--surface-strong);border-radius:8px;font-size:.76rem;font-weight:900}.expr-param-mode button.active{border-color:color-mix(in srgb, #f59e0b 44%, var(--border));color:var(--text);background:color-mix(in srgb, #f59e0b 18%, var(--surface-strong))}.variable-chip-list{flex-wrap:wrap;gap:6px;min-width:0;display:flex}.variable-chip-list button{min-height:28px;padding:4px 8px}.variable-preview{min-height:26px;font-family:var(--font-mono);overflow-wrap:anywhere;border-radius:8px;padding:5px 8px;font-size:.76rem;font-weight:900}.variable-preview--ok{color:#15803d;background:#22c55e26}.variable-preview--error{color:#b91c1c;background:#ef444424}.weekday-picker{grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;display:grid}.weekday-picker button{border:1px solid var(--border-strong);min-width:0;min-height:38px;color:var(--muted);background:var(--panel);border-radius:8px;font-weight:900}.weekday-picker button.active{border-color:var(--accent);color:var(--accent-strong);background:var(--accent-soft)}.strategy-param-toggle{min-height:58px}.block-card{border:1px solid var(--border);border-left:4px solid var(--accent);background:var(--panel);border-radius:8px;gap:10px;min-width:0;padding:14px;display:grid}.block-card.is-selected{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.block-card__head,.block-card footer{justify-content:space-between;align-items:center;gap:10px;min-width:0;display:flex}.block-card__head strong{min-width:0;color:var(--text);font-size:.98rem;font-weight:950}.block-card__head span,.block-card footer span{color:var(--weak);flex:none;font-size:.74rem;font-weight:900}.block-card p{color:var(--muted);margin:0;font-size:.84rem;font-weight:720;line-height:1.45}.block-card__body{gap:10px;display:grid}.block-card--category-시간{border-left-color:#14b8a6}.block-card--category-성과{border-left-color:#f59e0b}.block-card--category-매매{border-left-color:#22c55e}.block-card--category-지표{border-left-color:#38bdf8}.block-card--category-한도{border-left-color:#a8a29e}.block-card--category-메타{border-left-color:#8b5cf6}.block-card--category-알림{border-left-color:#fb7185}.block-card--category-제어{border-left-color:#6366f1}.block-builder{--block-palette-width:min(320px, 32vw);--block-palette-top:calc(104px + env(safe-area-inset-top));--block-palette-bottom:calc(76px + env(safe-area-inset-bottom));min-width:0;padding-left:calc(var(--block-palette-width) + 16px);display:block}.block-builder__palette,.block-builder__tree,.block-preset-panel{border:1px solid var(--border);background:var(--tile-bg);border-radius:8px;gap:12px;min-width:0;padding:12px;display:grid}.block-builder__palette{top:var(--block-palette-top);bottom:var(--block-palette-bottom);left:max(16px, env(safe-area-inset-left));z-index:24;width:var(--block-palette-width);box-shadow:var(--shadow-card);grid-template-rows:auto minmax(0,1fr);position:fixed;overflow:hidden}.block-builder__tree{align-self:start;max-height:calc(100vh - 24px);overflow:auto}.block-builder__top,.block-preset-panel__top{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.block-builder__top h3,.block-palette-group h4{color:var(--text);margin:0;font-size:.95rem}.block-builder__top p,.block-preset-panel__top small{color:var(--muted);margin:4px 0 0;font-size:.78rem;font-weight:760}.market-toggle--block{grid-template-columns:repeat(3,minmax(0,1fr))}.block-preset-list{grid-template-columns:repeat(auto-fit,minmax(92px,1fr));gap:8px;display:grid}.block-preset-list button,.block-palette-card,.icon-text-button{border:1px solid var(--border);color:var(--text);background:var(--surface-strong);border-radius:8px;font-weight:900}.block-preset-list button{min-height:38px}.block-preset-list button.active{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.block-preset-list button:disabled{color:var(--weak);background:var(--tile-bg)}.block-palette-groups,.block-palette-mobile__blocks,.block-palette-group,.block-tree,.block-summary-tree,.block-summary-node{gap:10px;min-width:0;display:grid}.block-palette-card{text-align:left;gap:5px;min-height:62px;padding:10px 11px;display:grid;overflow:hidden}.block-palette-card strong,.block-tree-node__select strong{overflow-wrap:anywhere;min-width:0}.block-palette-card span{color:color-mix(in srgb, var(--text) 76%, transparent);font-size:.76rem;font-weight:740;line-height:1.35}.block-palette-mobile{display:none}.block-palette-groups--desktop{grid-template-columns:48px minmax(0,1fr);align-items:start;min-height:0;padding-right:2px;overflow:auto}.block-palette-category-rail{align-content:start;gap:6px;min-width:0;display:grid}.block-palette-category{border:1px solid var(--border);min-width:0;min-height:46px;color:var(--text);text-align:center;border-left-width:4px;border-radius:8px;place-items:center;gap:2px;padding:6px 4px;font-weight:930;display:grid}.block-palette-category strong{overflow-wrap:anywhere;min-width:0;font-size:.72rem;line-height:1.05}.block-palette-category small{color:var(--muted);font-family:var(--font-mono);font-size:.66rem;font-weight:900}.block-palette-category.active{border-color:#ef4444;box-shadow:0 0 0 2px #ef4444b8}.block-palette-group--open{min-height:0}.block-tree-empty,.block-tree-drop-hint{border:1px dashed var(--border-strong);min-height:96px;color:var(--muted);background:var(--surface);text-align:center;border-radius:8px;place-items:center;gap:5px;display:grid}.block-tree-drop-hint{min-height:48px;font-size:.78rem;font-weight:820}.block-tree-drop-line{background:0 0;border-radius:999px;min-height:12px}.block-tree-drop-line:hover,.block-tree-drop-line:focus-within{background:color-mix(in srgb, var(--accent) 28%, transparent)}.block-tree-node{border:1px solid var(--border);border-left:6px solid var(--accent);background:var(--surface-strong);border-radius:8px;gap:10px;min-width:0;padding:10px;display:grid}.block-tree-scope-cap{display:none}.block-tree-node.is-selected{background:linear-gradient(90deg, #ef444438, transparent 55%), var(--surface-strong);border-color:#ef4444;box-shadow:0 0 0 2px #ef4444d1,0 12px 28px #ef444429}.block-tree-node__top,.block-tree-node__badges{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.block-tree-node__select{min-width:0;color:inherit;text-align:left;background:0 0;border:0;gap:3px;padding:0;display:grid}.block-tree-node__select span{color:var(--muted);font-size:.72rem;font-weight:900}.block-tree-node__select em{color:var(--text);overflow-wrap:anywhere;font-size:.9rem;font-style:normal;font-weight:940;line-height:1.35}.block-node-param-grid{border:1px solid var(--border);background:color-mix(in srgb, var(--surface-strong) 84%, var(--tile-bg));border-radius:8px;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px;min-width:0;padding:12px;display:grid}.block-node-param-grid .strategy-param-field{gap:7px}.block-node-param-grid .strategy-param-field>span{min-height:18px;font-size:.78rem;line-height:1.25}.block-node-param-grid .strategy-param-field input,.block-node-param-grid .strategy-param-field select,.block-node-param-grid .search-select input{border-radius:10px;min-height:42px;padding-inline:10px;font-size:.86rem}.block-node-param-grid .strategy-param-toggle{border-radius:10px;min-height:42px;padding:8px 10px}.block-tree-children,.block-summary-children{border-left:1px solid var(--border-strong);gap:9px;margin-left:18px;padding-left:12px;display:grid}.block-tree-children{border-radius:8px;min-height:64px;padding-top:8px;padding-bottom:8px;padding-right:8px}.block-tree-children:hover{background:color-mix(in srgb, var(--accent) 7%, transparent)}.block-value-badge,.icon-text-button{min-height:30px;padding:5px 9px;font-size:.72rem;font-weight:950}.block-icon-button{border:1px solid var(--border);width:32px;min-height:32px;color:var(--text);background:var(--surface-strong);border-radius:8px;place-items:center;display:inline-grid}.block-icon-button svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2px;width:17px;height:17px}.block-icon-button:hover{border-color:color-mix(in srgb, var(--accent) 36%, var(--border));background:var(--accent-soft)}.block-icon-button--danger{color:var(--danger)}.block-icon-button--danger:hover{border-color:color-mix(in srgb, var(--danger) 38%, var(--border));background:var(--danger-soft)}.block-value-badge{background:var(--tile-bg);border-radius:999px;align-items:center;display:inline-flex}.block-value-badge--true{color:#15803d;background:#22c55e2e}.block-value-badge--false{color:#b45309;background:#f59e0b2e}.block-value-badge--muted{color:var(--weak)}.block-summary-card{border:1px solid var(--border);min-width:0;color:var(--text);background:var(--surface-strong);border-left-width:5px;border-radius:8px;gap:7px;padding:10px 11px;display:grid}.block-summary-card__top{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;min-width:0;display:flex}.block-summary-card__top strong{overflow-wrap:anywhere;min-width:0;font-size:.92rem;font-weight:950}.block-summary-card p{color:var(--text);overflow-wrap:anywhere;margin:0;font-size:.92rem;font-weight:860;line-height:1.4}.block-category-시간{background:color-mix(in srgb, #14b8a6 22%, var(--surface-strong));border-left-color:#14b8a6}.block-category-성과,.block-category-조건{background:color-mix(in srgb, #f59e0b 22%, var(--surface-strong));border-left-color:#f59e0b}.block-category-지표{background:color-mix(in srgb, #38bdf8 22%, var(--surface-strong));border-left-color:#38bdf8}.block-category-한도{background:color-mix(in srgb, #a8a29e 24%, var(--surface-strong));border-left-color:#a8a29e}.block-category-메타{background:color-mix(in srgb, #8b5cf6 20%, var(--surface-strong));border-left-color:#8b5cf6}.block-category-매매{background:color-mix(in srgb, #22c55e 18%, var(--surface-strong));border-left-color:#22c55e}.block-category-알림{background:color-mix(in srgb, #fb7185 18%, var(--surface-strong));border-left-color:#fb7185}.block-category-제어{background:color-mix(in srgb, #6366f1 20%, var(--surface-strong));border-left-color:#6366f1}.block-category-매매.block-action-buy{background:linear-gradient(105deg, color-mix(in srgb, #22c55e 42%, var(--surface-strong)) 0 70%, color-mix(in srgb, #16a34a 56%, var(--surface-strong)) 70% 100%)}.block-category-매매.block-action-sell{background:linear-gradient(105deg, color-mix(in srgb, #22c55e 42%, var(--surface-strong)) 0 70%, color-mix(in srgb, #ef4444 56%, var(--surface-strong)) 70% 100%)}@media (width<=760px){.block-builder{grid-template-columns:1fr;padding-bottom:0;padding-left:54px;display:grid}.block-builder--palette-open{padding-left:min(204px,52vw)}.block-builder__palette{top:calc(76px + env(safe-area-inset-top));bottom:calc(64px + env(safe-area-inset-bottom));left:max(6px, env(safe-area-inset-left));z-index:25;border-color:var(--border-strong);background:var(--surface-strong);width:44px;max-height:none;box-shadow:var(--shadow-card);border-radius:8px;order:2;padding:4px;position:fixed}.block-builder--palette-open .block-builder__palette{width:min(190px,52vw - 10px)}.block-builder__tree{order:1;max-height:none;padding:9px;overflow:visible}.block-builder__palette>.block-builder__top,.block-builder__palette>.market-toggle--block,.block-palette-groups--desktop{display:none}.block-palette-mobile{gap:6px;min-height:0;display:grid}.block-palette-mobile__pager{grid-template-columns:minmax(0,1fr);align-items:center;gap:4px;min-width:0;display:grid}.block-palette-mobile__categories{grid-template-columns:1fr;gap:4px;min-width:0;display:grid}.block-palette-mobile__categories button{border:1px solid var(--border);min-height:34px;color:var(--text);background:var(--tile-bg);border-left-width:3px;border-radius:8px;place-items:center;gap:2px;padding:4px 2px;font-size:.68rem;font-weight:920;line-height:1.05;display:grid}.block-palette-mobile__categories button.active{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.block-palette-mobile__categories small{color:var(--muted);font-size:.58rem}.block-palette-mobile__arrow{border:1px solid var(--border);width:32px;min-height:38px;color:var(--text);background:var(--tile-bg);border-radius:999px;place-items:center;font-size:.78rem;font-weight:950;display:none}.block-palette-mobile__arrow:before{content:"◀"}.block-palette-mobile__arrow--next:before{content:"▶"}.block-palette-mobile__blocks{grid-auto-rows:max-content;align-content:start;max-height:100%;padding-right:2px;overflow-y:auto}.block-palette-mobile__blocks .block-palette-card{grid-auto-rows:max-content;align-content:start;gap:4px;height:auto;min-height:0;padding:8px;overflow:visible}.block-palette-mobile__blocks .block-palette-card strong{font-size:.78rem;line-height:1.18}.block-palette-mobile__blocks .block-palette-card span{white-space:normal;overflow-wrap:anywhere;font-size:.68rem;display:block;overflow:visible}.block-node-param-grid{grid-template-columns:1fr}.block-tree-children,.block-summary-children{margin-left:0;padding-left:0}.block-tree-node{border-left-width:3px;gap:0;padding:0;overflow:hidden}.block-tree-node__top{gap:6px;padding:8px}.block-node-param-grid{gap:8px;margin:0 8px 8px;padding:8px}.block-node-param-grid .strategy-param-field input,.block-node-param-grid .strategy-param-field select,.block-node-param-grid .search-select input,.block-node-param-grid .strategy-param-toggle{border-radius:8px;min-height:36px;font-size:.78rem}.block-tree-children{border-left:3px solid var(--border-strong);background:color-mix(in srgb, var(--surface) 58%, transparent);border-radius:0;gap:7px;min-height:auto;padding:0 0 0 6px}.block-tree-children:hover{background:color-mix(in srgb, var(--surface) 58%, transparent)}.block-tree-children>.block-tree-drop-line,.block-tree-children>.block-tree-node{width:100%}.block-tree-scope-cap{border-top:1px solid var(--border);min-height:26px;color:var(--text);border-left:3px solid;align-items:center;padding:5px 8px;font-size:.72rem;font-weight:940;display:flex}.block-tree-scope-cap span{overflow-wrap:anywhere;min-width:0}.managed-tree-grid .block-builder{grid-template-columns:1fr;padding-left:0}.managed-tree-grid .block-builder--palette-open{padding-left:0}.managed-tree-grid .block-builder__palette{width:auto;height:auto;max-height:none;position:static;top:auto;bottom:auto;left:auto}.block-builder__top h3,.block-palette-group h4{font-size:.86rem}.block-builder__top p,.block-preset-panel__top small,.block-tree-node__select span,.block-tree-node__select em{font-size:.72rem}}.strategy-kind-nav{grid-template-columns:repeat(auto-fit,minmax(96px,1fr))}.strategy-unit-panel,.strategy-unit-list,.asset-unit-panel,.strategy-unit-detail{gap:12px;display:grid}.strategy-unit-create,.strategy-unit-card,.managed-unit-card,.managed-child-card{border:1px solid var(--border);color:var(--text);background:linear-gradient(180deg, var(--surface-strong), var(--surface));box-shadow:var(--shadow-card);border-radius:8px;gap:14px;padding:14px;text-decoration:none;display:grid}.managed-unit-list,.managed-child-list,.managed-tree-grid,.managed-tree-summary{gap:12px;display:grid}.managed-tree-grid .block-builder{grid-template-columns:minmax(260px, var(--block-palette-width)) minmax(0, 1fr);gap:12px;padding-left:0;display:grid}.managed-tree-grid .block-builder--palette-open{padding-left:0}.managed-tree-grid .block-builder__palette{z-index:auto;width:auto;max-height:none;position:static;top:auto;bottom:auto;left:auto}.managed-tree-grid .block-builder__tree{max-height:none}@media (width<=760px){.managed-tree-grid .block-builder{grid-template-columns:1fr;padding-left:0}.managed-tree-grid .block-builder--palette-open{padding-left:0}.managed-tree-grid .block-builder__palette{width:auto;height:auto}}.managed-unit-card{color:var(--text);transition:transform .15s,border-color .15s,background .15s}.managed-unit-card:hover{border-color:color-mix(in srgb, var(--accent) 34%, var(--border));background:var(--surface-strong);transform:translateY(-1px)}.managed-unit-card__top,.managed-child-card{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.managed-unit-card__top>div,.managed-child-card>div:first-child{gap:4px;min-width:0;display:grid}.managed-unit-card strong,.managed-child-card strong{color:var(--text);overflow-wrap:anywhere;font-weight:950}.managed-unit-card span,.managed-child-card span{color:var(--muted);font-size:.82rem;font-weight:840}.managed-unit-card__metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0;display:grid}.managed-unit-editor{align-content:start}.managed-member-add{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:8px;display:grid}.managed-performance-row{margin-top:12px}.strategy-list-toolbar__actions{flex-wrap:wrap;gap:8px;display:flex}.strategy-ranking-row--managed{border-color:color-mix(in srgb, var(--accent) 28%, var(--border))}.strategy-unit-card--link,.strategy-unit-card{transition:transform .15s,border-color .15s,background .15s}.strategy-unit-card:hover{border-color:color-mix(in srgb, var(--accent) 34%, var(--border));background:var(--surface-strong);transform:translateY(-1px)}.strategy-unit-card--disabled{opacity:.76}.strategy-unit-create__grid,.strategy-unit-edit-grid{gap:10px;display:grid}.strategy-unit-create__mode{color:var(--muted);gap:8px;font-size:.82rem;font-weight:900;display:grid}.strategy-budget-control{border:1px solid var(--border);background:var(--tile-bg);border-radius:8px;gap:10px;padding:12px;display:grid}.strategy-budget-control__top{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px;display:flex}.strategy-budget-control__top span{color:var(--text);font-weight:950}.strategy-budget-control__top small{color:var(--muted);font-size:.78rem;font-weight:820}.market-toggle--budget{grid-template-columns:repeat(2,minmax(0,1fr))}.strategy-budget-control__row{grid-template-columns:minmax(112px,140px) minmax(0,1fr);align-items:end;gap:10px;display:grid}.strategy-budget-control__input{gap:6px}.strategy-unit-actions,.strategy-unit-meta,.strategy-unit-editor__actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.strategy-unit-actions{justify-content:flex-end}.strategy-unit-card__top{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.strategy-unit-card__title,.strategy-unit-card__body{color:inherit;text-decoration:none}.strategy-unit-card__title h2{margin:0}.strategy-unit-card__body{gap:10px;display:grid}.strategy-unit-run-toggle{border:1px solid var(--border);min-height:32px;color:var(--text);background:var(--tile-bg);border-radius:8px;align-items:center;gap:7px;padding:0 10px;font-size:.78rem;font-weight:950;display:inline-flex}.strategy-unit-run-toggle input{width:18px;height:18px;accent-color:var(--accent)}.strategy-unit-run-toggle--detail{min-height:38px}.strategy-unit-meta{color:var(--muted);font-size:.82rem;font-weight:850}.strategy-unit-summary{color:var(--muted);margin:0;font-size:.84rem;font-weight:820;line-height:1.45}.strategy-unit-detail__top{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.strategy-list-toolbar{border:1px solid var(--border);background:var(--tile-bg);border-radius:8px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:12px;display:flex}.strategy-list-toolbar>div{gap:3px;display:grid}.strategy-list-toolbar strong{color:var(--text);font-weight:950}.strategy-list-toolbar span{color:var(--muted);font-size:.82rem;font-weight:840}.secondary-button.is-active{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.strategy-unit-facts,.strategy-unit-params{gap:8px;margin:0;display:grid}.strategy-unit-facts>div,.strategy-unit-params>div{background:var(--tile-bg);border-radius:8px;grid-template-columns:minmax(92px,140px) minmax(0,1fr);gap:10px;padding:10px 12px;display:grid}.strategy-unit-facts dt,.strategy-unit-params dt{color:var(--muted);font-size:.78rem;font-weight:900}.strategy-unit-facts dd,.strategy-unit-params dd{overflow-wrap:anywhere;min-width:0;margin:0;font-weight:880}.strategy-unit-overview-grid{gap:10px;display:grid}.strategy-unit-info-card{border:1px solid var(--border);background:var(--tile-bg);border-radius:8px;gap:12px;padding:13px;display:grid}.strategy-unit-info-card--primary{background:linear-gradient(135deg, color-mix(in srgb, var(--accent-soft) 70%, transparent), transparent 54%), var(--tile-bg)}.strategy-unit-info-card__top,.strategy-unit-pill-row{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.strategy-unit-info-card__top span{color:var(--muted);margin-bottom:4px;font-size:.76rem;font-weight:900;display:block}.strategy-unit-info-card__top strong{color:var(--text);overflow-wrap:anywhere;font-weight:950}.strategy-unit-pill-row{justify-content:flex-end}.strategy-unit-facts--compact{grid-template-columns:repeat(2,minmax(0,1fr))}.strategy-unit-facts--compact>div{background:color-mix(in srgb, var(--surface) 58%, transparent);grid-template-columns:1fr;gap:4px;padding:9px 10px}.strategy-unit-metric-row{grid-template-columns:repeat(auto-fit,minmax(126px,1fr));gap:8px;display:grid}.strategy-unit-param-card{margin-top:2px}.strategy-condition-editor,.strategy-condition-side,.strategy-condition-rows,.strategy-condition-readout,.strategy-condition-readout>div,.strategy-condition-pills{gap:10px;display:grid}.strategy-condition-editor{border:1px solid var(--border);background:var(--tile-bg);border-radius:8px;padding:12px}.strategy-condition-editor h3{margin:0;font-size:.95rem}.strategy-condition-side__top{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.strategy-condition-side__top span,.strategy-condition-readout>div>span{color:var(--muted);font-size:.78rem;font-weight:950}.strategy-condition-row{grid-template-columns:minmax(180px,1.4fr) minmax(74px,.5fr) minmax(96px,.7fr) repeat(2,minmax(90px,.8fr)) auto;align-items:center;gap:8px;display:grid}.strategy-condition-row input,.strategy-condition-row select{border:1px solid var(--border);min-height:38px;color:var(--text);background:var(--surface-strong);border-radius:8px;padding:0 10px;font-weight:860}.strategy-condition-pills{flex-wrap:wrap;display:flex}.strategy-unit-equity__placeholder{border:1px dashed var(--border-strong);min-height:220px;color:var(--muted);background:var(--tile-bg);text-align:center;border-radius:8px;place-items:center;gap:6px;display:grid}.strategy-unit-equity__placeholder strong{color:var(--text)}.strategy-ranking-list{gap:10px;display:grid}.strategy-ranking-row{border:1px solid var(--border);color:var(--text);background:linear-gradient(180deg, var(--surface-strong), var(--surface));box-shadow:var(--shadow-card);border-radius:8px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:12px;padding:12px;text-decoration:none;display:grid}.strategy-ranking-row:hover{border-color:color-mix(in srgb, var(--accent) 34%, var(--border))}.strategy-ranking-row strong,.strategy-ranking-row span:not(.pill){display:block}.strategy-ranking-row span:not(.pill){color:var(--muted);margin-top:3px;font-size:.82rem;font-weight:820}.strategy-ranking-row dl{grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0;display:grid}.strategy-ranking-row dl>div,.strategy-performance-grid>div{background:var(--tile-bg);border-radius:8px;padding:10px 12px}.strategy-ranking-row dt,.strategy-performance-grid dt{color:var(--muted);font-size:.76rem;font-weight:900}.strategy-ranking-row dd,.strategy-performance-grid dd{font-family:var(--font-mono);margin:3px 0 0;font-weight:950}.pill,.rank-badge{min-width:46px;min-height:38px;font-family:var(--font-mono);text-align:center;white-space:nowrap;vertical-align:middle;border-radius:999px;justify-content:center;align-items:center;padding:0 12px;font-size:.9rem;font-weight:950;line-height:1;display:inline-flex}.pill--gold,.rank-badge--gold{color:#5f3b00;background:#ffd666}.pill--silver,.rank-badge--silver{color:#30343b;background:#d8dee8}.pill--bronze,.rank-badge--bronze{color:#4b2406;background:#c98b55}.pill--black,.rank-badge--black{color:#fff;background:#111827}.strategy-performance-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0;display:grid}.strategy-unit-table{min-width:620px}.market-toggle--compact{width:min(100%,190px);min-height:36px;display:inline-grid}.market-toggle--compact button{border-radius:8px;min-height:28px}.toast-host{z-index:1000;pointer-events:none;gap:8px;width:min(340px,100vw - 36px);display:grid;position:fixed;bottom:18px;right:18px}.trade-toast-host{top:calc(98px + env(safe-area-inset-top));left:max(16px, env(safe-area-inset-left));z-index:46;pointer-events:none;gap:10px;width:min(560px,100vw - 32px);display:grid;position:fixed}.toast{border:1px solid var(--border);color:var(--text);background:var(--surface-strong);box-shadow:var(--shadow-card);border-radius:8px;padding:11px 13px;font-size:.86rem;font-weight:880}.trade-toast{border-color:color-mix(in srgb, var(--accent) 48%, var(--border));background:color-mix(in srgb, var(--surface-strong) 94%, var(--accent));padding:15px 18px;font-size:1.04rem;line-height:1.35;box-shadow:0 18px 46px #0f172229}.toast--success{border-color:color-mix(in srgb, #22c55e 42%, var(--border))}.toast--warn{border-color:color-mix(in srgb, #f59e0b 42%, var(--border))}@media (width>=720px){.strategy-unit-create__grid,.strategy-unit-edit-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(190px,220px);align-items:end}.strategy-param-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.strategy-ranking-row{grid-template-columns:auto minmax(0,1fr) minmax(260px,320px)}.strategy-ranking-row dl{grid-column:auto}.strategy-performance-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.strategy-unit-overview-grid{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr)}.strategy-unit-overview-grid .strategy-unit-info-card--primary{grid-row:span 2}.managed-unit-list,.managed-tree-grid{grid-template-columns:1fr}.managed-unit-list{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width>=761px){.managed-tree-grid .block-builder{grid-template-columns:minmax(260px, var(--block-palette-width)) minmax(0, 1fr);gap:12px;padding-left:0;display:grid}.managed-tree-grid .block-builder__palette{width:auto;max-height:none;position:static;top:auto;bottom:auto;left:auto}}@media (width<760px){.strategy-unit-panel,.strategy-unit-list,.asset-unit-panel,.strategy-unit-detail,.strategy-unit-create,.managed-unit-list,.managed-child-list,.managed-tree-grid,.managed-tree-summary{gap:9px}.strategy-unit-create,.strategy-unit-card,.managed-unit-card,.managed-child-card,.strategy-unit-info-card,.strategy-budget-control{padding:10px}.strategy-unit-meta,.strategy-unit-summary,.managed-unit-card span,.managed-child-card span{font-size:.76rem}.strategy-unit-run-toggle,.market-toggle--compact,.secondary-button,.primary-button{min-height:34px;font-size:.78rem}.strategy-condition-row{grid-template-columns:1fr}.managed-unit-card__top,.managed-child-card,.strategy-unit-detail__top,.managed-member-add{flex-direction:column;grid-template-columns:1fr}.managed-unit-card__metrics{grid-template-columns:1fr}.strategy-list-toolbar__actions,.strategy-unit-editor__actions,.strategy-unit-actions{justify-content:flex-start;width:100%}}.status-screen{gap:18px;display:grid}.status-summary{border:1px solid var(--border);border-radius:var(--radius);background:linear-gradient(180deg, var(--surface-strong), var(--surface));box-shadow:var(--shadow-card);gap:12px;padding:16px;display:grid}.status-summary span{color:var(--weak);margin-bottom:7px;font-size:.78rem;font-weight:850;display:block}.status-summary strong{color:var(--text);font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:1.35rem;font-weight:950}.status-refresh{width:100%}.status-list{gap:12px;display:grid}.status-card{border:1px solid var(--border);border-radius:var(--radius);background:linear-gradient(180deg, var(--surface-strong), var(--surface));box-shadow:var(--shadow-card);padding:16px;position:relative;overflow:hidden}.status-card:before{content:"";background:var(--weak);width:3px;position:absolute;inset:0 auto 0 0}.status-card--running{background:linear-gradient(90deg, var(--accent-soft), transparent 46%), linear-gradient(180deg, var(--surface-strong), var(--surface))}.status-card--running:before{background:var(--accent)}.status-card--stopped{background:linear-gradient(90deg, var(--danger-soft), transparent 46%), linear-gradient(180deg, var(--surface-strong), var(--surface))}.status-card--stopped:before{background:var(--danger)}.status-card__top{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:14px;display:flex}.status-card__top h2{font-size:1.05rem}.status-card__top p{color:var(--muted);margin-top:5px;font-size:.84rem;font-weight:780}.status-badge{min-height:32px;font-size:.78rem;font-family:var(--font-mono);border-radius:999px;flex:none;padding:7px 10px;font-weight:950}.status-badge--running{color:var(--accent);background:var(--accent-soft)}.status-badge--stopped{color:var(--danger);background:var(--danger-soft)}.status-metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin:0;display:grid}.status-metrics>div{background:var(--tile-bg);border-radius:12px;min-width:0;padding:10px}.upload-screen{gap:18px;display:grid}.upload-dropzone{border:1px dashed color-mix(in srgb, var(--accent) 42%, var(--border));border-radius:var(--radius);background:linear-gradient(180deg, var(--surface-strong), var(--surface)), var(--accent-soft);box-shadow:var(--shadow-card);text-align:center;justify-items:center;gap:16px;padding:24px 18px;display:grid}.upload-dropzone--active{border-color:var(--accent);background:linear-gradient(180deg, color-mix(in srgb, var(--accent-soft) 60%, var(--surface-strong)), var(--surface)), var(--accent-soft)}.upload-dropzone input{display:none}.upload-dropzone__icon{width:58px;height:58px;color:var(--accent);background:var(--accent-soft);border-radius:18px;place-items:center;display:grid}.upload-dropzone__icon svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2px;width:30px;height:30px}.upload-dropzone h2{font-size:1.08rem}.upload-dropzone p{color:var(--muted);margin-top:6px;font-size:.88rem;font-weight:780}.upload-list-section{gap:12px;display:grid}.upload-list-section__top{justify-content:space-between;align-items:center;gap:12px;display:flex}.upload-list-section__top h2{font-size:1.05rem}.upload-list{gap:12px;display:grid}.upload-card{border:1px solid var(--border);border-radius:var(--radius);background:linear-gradient(180deg, var(--surface-strong), var(--surface));min-width:0;box-shadow:var(--shadow-card);justify-content:space-between;align-items:flex-start;gap:12px;padding:15px;display:flex}.upload-card h3{overflow-wrap:anywhere;font-size:.98rem}.upload-card p{color:var(--muted);margin-top:5px;font-size:.82rem;font-weight:760}.upload-card strong{color:var(--text);font-family:var(--font-mono);font-variant-numeric:tabular-nums;flex:none;font-size:.9rem;font-weight:950}.archive{gap:22px;min-width:0;display:grid}.archive__head{gap:6px;padding:4px 2px 0;display:grid}.archive__eyebrow{color:var(--accent);font-family:var(--font-mono);letter-spacing:.18em;text-transform:uppercase;margin:0;font-size:.72rem;font-weight:800}.archive__title{letter-spacing:-.02em;margin:0;font-size:1.65rem;font-weight:950;line-height:1.15}.archive__sub{color:var(--muted);margin:0;font-size:.88rem;font-weight:700}.archive__controls{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;min-width:0;display:flex}.archive__chips{gap:6px;display:flex}.archive__chip{border:1px solid var(--border);color:var(--muted);background:var(--surface);border-radius:999px;align-items:center;gap:7px;padding:8px 14px;font-size:.84rem;font-weight:850;transition:color .18s,border-color .18s,background .18s;display:inline-flex}.archive__chip em{font-family:var(--font-mono);color:var(--weak);font-size:.7rem;font-style:normal;font-weight:800;transition:color .18s}.archive__chip.is-active{color:var(--text);border-color:color-mix(in srgb, var(--accent) 55%, var(--border));background:var(--accent-soft)}.archive__chip.is-active em{color:var(--accent)}.archive__search{border:1px solid var(--border);background:var(--input-bg);border-radius:999px;flex:auto;align-items:center;gap:8px;min-width:180px;max-width:280px;padding:8px 14px;transition:border-color .18s;display:inline-flex}.archive__search:focus-within{border-color:color-mix(in srgb, var(--accent) 55%, var(--border))}.archive__search svg{fill:none;width:15px;height:15px;stroke:var(--weak);stroke-width:2px;stroke-linecap:round;flex-shrink:0}.archive__search input{width:100%;min-width:0;color:var(--text);background:0 0;border:0;outline:none;padding:0;font-size:.86rem;font-weight:700}.archive__search input::placeholder{color:var(--weak)}.archive__list{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);min-width:0;box-shadow:var(--shadow-card);margin:0;padding:0;list-style:none;display:grid;overflow:hidden}.archive__row-wrap{opacity:0;min-width:0;animation:.42s cubic-bezier(.22,.9,.3,1) forwards archive-rise}.archive__row-wrap+.archive__row-wrap{border-top:1px solid var(--border)}@keyframes archive-rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.archive__row-wrap{opacity:1;animation:none}}.archive__row{color:var(--text);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:16px;padding:16px 18px;text-decoration:none;transition:background .18s;display:grid;position:relative}.archive__row:before{content:"";background:var(--accent);opacity:0;width:3px;transition:opacity .18s;position:absolute;inset:0 auto 0 0}.archive__row:hover{background:color-mix(in srgb, var(--accent-soft) 55%, transparent)}.archive__row:hover:before{opacity:1}.archive__index{color:var(--weak);font-family:var(--font-mono);letter-spacing:.04em;font-size:.78rem;font-weight:800;transition:color .18s}.archive__row:hover .archive__index{color:var(--accent)}.archive__body{gap:6px;min-width:0;display:grid}.archive__row-title{overflow-wrap:anywhere;align-items:center;gap:8px;min-width:0;font-size:.95rem;font-weight:900;line-height:1.4;display:flex}.archive__new{color:var(--accent);background:var(--accent-soft);font-family:var(--font-mono);letter-spacing:.1em;border-radius:6px;flex-shrink:0;padding:1px 7px;font-size:.62rem;font-style:normal;font-weight:900}.archive__meta{color:var(--weak);font-family:var(--font-mono);align-items:center;gap:10px;font-size:.72rem;font-weight:750;display:flex}.archive__badge{letter-spacing:.06em;border-radius:5px;padding:1px 6px;font-size:.64rem;font-weight:900}.archive__badge--html{color:var(--accent);background:var(--accent-soft)}.archive__badge--md{color:var(--muted);background:var(--tile-bg)}.archive__cat:before,.archive__meta time:before{content:"·";color:var(--border-strong);margin-right:10px}.archive__arrow{fill:none;width:18px;height:18px;stroke:var(--weak);stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;opacity:0;flex-shrink:0;transition:opacity .18s,transform .18s,stroke .18s;transform:translate(-6px)}.archive__row:hover .archive__arrow{opacity:1;stroke:var(--accent);transform:translate(0)}@media (width<=560px){.archive__controls{flex-direction:column;align-items:stretch}.archive__search{max-width:none}.archive__arrow{display:none}}.report-viewer{grid-template-rows:auto minmax(0,1fr);gap:12px;min-width:0;display:grid}.report-viewer--html{height:100%;min-height:70vh}.report-viewer__bar{align-items:center;gap:12px;min-width:0;display:flex}.report-viewer__back{border:1px solid var(--border);color:var(--text);background:var(--surface);box-shadow:var(--shadow-card);border-radius:10px;flex-shrink:0;align-items:center;gap:6px;padding:8px 12px;font-size:.85rem;font-weight:900;display:inline-flex}.report-viewer__back svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:16px;height:16px}.report-viewer__back:hover{border-color:color-mix(in srgb, var(--accent) 46%, var(--border));background:var(--accent-soft)}.report-viewer__title{text-overflow:ellipsis;white-space:nowrap;font-size:.95rem;font-weight:950;overflow:hidden}.report-viewer__frame{border:1px solid var(--border);border-radius:var(--radius);width:100%;height:100%;min-height:70vh;box-shadow:var(--shadow-card);background:#fff}.audit-screen{gap:18px;min-width:0;display:grid}.audit-layout{gap:14px;min-width:0;display:grid}.audit-nav{gap:8px;min-width:0;display:grid}.audit-nav button{border:1px solid var(--border);min-width:0;color:var(--text);background:var(--surface);box-shadow:var(--shadow-card);text-align:left;border-radius:12px;grid-template-columns:36px minmax(0,1fr);align-items:center;gap:10px;padding:11px;display:grid}.audit-nav button.active{border-color:color-mix(in srgb, var(--accent) 46%, var(--border));background:var(--accent-soft)}.audit-nav button span{width:36px;height:36px;color:var(--accent);background:var(--accent-soft);font-family:var(--font-mono);border-radius:10px;place-items:center;font-size:.82rem;font-weight:950;display:grid}.audit-nav button strong{text-overflow:ellipsis;white-space:nowrap;font-size:.9rem;font-weight:900;line-height:1.35;overflow:hidden}.audit-document{border:1px solid var(--border);border-radius:var(--radius);background:linear-gradient(180deg, var(--surface-strong), var(--surface));min-width:0;box-shadow:var(--shadow-card);padding:18px;overflow:hidden}.audit-document h1,.audit-document h2,.audit-document h3,.audit-document h4{letter-spacing:0;margin:1.25em 0 .55em;line-height:1.25}.audit-document h1:first-child,.audit-document h2:first-child,.audit-document h3:first-child{margin-top:0}.audit-document h1{font-size:1.42rem}.audit-document h2{border-top:1px solid var(--border);padding-top:18px;font-size:1.18rem}.audit-document h3{font-size:1.04rem}.audit-document p,.audit-document li{color:var(--text);font-size:.94rem;font-weight:650;line-height:1.72}.audit-document ul,.audit-document ol{padding-left:1.35rem}.audit-document li+li{margin-top:5px}.audit-document a{color:var(--accent);font-weight:850;text-decoration:none}.audit-document blockquote{border-left:4px solid var(--accent);color:var(--muted);background:var(--accent-soft);margin:14px 0;padding:4px 0 4px 14px}.audit-document code{background:var(--tile-bg);font-family:var(--font-mono);border-radius:6px;padding:2px 5px;font-size:.86em}.audit-document pre{border:1px solid var(--border);background:var(--surface-muted);border-radius:12px;padding:13px;overflow-x:auto}.audit-document pre code{background:0 0;padding:0;font-size:.84rem;line-height:1.55}.audit-document table{border-collapse:collapse;width:100%;margin:14px 0;font-size:.88rem;display:block;overflow-x:auto}.audit-document th,.audit-document td{border:1px solid var(--border);vertical-align:top;padding:9px 10px}.audit-document th{color:var(--text);background:var(--tile-bg);text-align:left;font-weight:950}.market-toggle{background:var(--tile-bg);border-radius:14px;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;min-height:48px;padding:4px;display:grid}.market-toggle button{min-width:0;min-height:40px;color:var(--muted);background:0 0;border:0;border-radius:11px;font-weight:900}.market-toggle button.active{color:var(--accent);background:var(--accent-soft)}.asset-list{gap:12px;display:grid}.asset-groups-layout,.asset-group-list{gap:14px;display:grid}.asset-group{border:1px solid var(--border);border-radius:var(--radius);background:linear-gradient(180deg, var(--surface-strong), var(--surface));box-shadow:var(--shadow-card);gap:13px;padding:14px;display:grid}.asset-group__header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.asset-group__toggle{min-width:0;color:var(--text);text-align:left;background:0 0;border:0;align-items:center;padding:0;font-size:1.02rem;font-weight:900;display:inline-flex}.asset-group__toggle span{border:1px solid var(--border-strong);width:26px;height:26px;color:var(--accent);background:var(--accent-soft);font-family:var(--font-mono);border-radius:9px;flex:none;place-items:center;margin-right:8px;display:inline-grid}.asset-group__toggle strong{overflow-wrap:anywhere;min-width:0}.asset-group__meta{color:var(--muted);flex-wrap:wrap;flex:none;justify-content:flex-end;gap:7px;font-size:.78rem;font-weight:850;display:flex}.asset-group__badge,.asset-group__meta>span{border:1px solid var(--border);background:var(--tile-bg);border-radius:999px;align-items:center;min-height:27px;padding:0 9px;display:inline-flex}.asset-group__badge{color:var(--text)}.asset-group__badge--manual{color:var(--accent);background:var(--accent-soft)}.asset-group-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0;display:grid}.asset-group-summary div{background:var(--tile-bg);border-radius:12px;min-width:0;padding:10px}.asset-group-summary dt,.asset-metrics dt{color:var(--muted);font-size:.73rem;font-weight:850}.asset-group-summary dd,.asset-metrics dd{font-family:var(--font-mono);overflow-wrap:anywhere;margin:4px 0 0;font-size:.88rem;font-weight:900}.asset-group__body{gap:12px;display:grid}.asset-group__empty{border:1px dashed var(--border-strong);color:var(--muted);background:var(--tile-bg);border-radius:12px;padding:12px;font-size:.86rem;font-weight:760}.asset-group-create{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:10px;display:grid}.asset-group-editor{border-top:1px solid var(--border);gap:10px;padding-top:12px;display:grid}.asset-group-editor__choices{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px;display:grid}.asset-group-editor__choice{border:1px solid var(--border);min-width:0;color:var(--text);background:var(--tile-bg);border-radius:12px;align-items:center;gap:8px;padding:9px 10px;font-size:.84rem;font-weight:820;display:flex}.asset-group-editor__choice span{overflow-wrap:anywhere;min-width:0}.asset-group-editor__actions{flex-wrap:wrap;gap:8px;display:flex}.asset-card{border:1px solid var(--border);border-radius:var(--radius);background:linear-gradient(180deg, var(--surface-strong), var(--surface));box-shadow:var(--shadow-card);gap:14px;padding:16px;display:grid}.asset-card--clickable{cursor:pointer}.asset-card--clickable:focus-visible{outline:3px solid color-mix(in srgb, var(--accent) 34%, transparent);outline-offset:3px}.asset-card__top{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.asset-card__top h2{font-size:1.05rem}.asset-card__top p{color:var(--muted);margin-top:5px;font-size:.84rem;font-weight:760}.asset-delete{border:1px solid color-mix(in srgb, var(--danger) 26%, transparent);min-height:44px;color:var(--danger);background:var(--danger-soft);border-radius:13px;flex:none;padding:0 14px;font-weight:900}.asset-metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:0;display:grid}.asset-metrics div{background:var(--tile-bg);border-radius:12px;min-width:0;padding:10px}@media (width<=520px){.asset-group__header,.asset-card__top{flex-direction:column;align-items:stretch}.asset-group__meta{justify-content:flex-start}.asset-group-summary,.asset-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.asset-group-create{grid-template-columns:1fr}.asset-delete{width:100%}}.asset-detail-screen{gap:16px;display:grid}.asset-detail-nav{display:flex}.back-link{border:1px solid var(--border);min-height:38px;color:var(--muted);background:var(--surface-glass);border-radius:12px;padding:9px 12px;font-size:.86rem;font-weight:850;text-decoration:none}.back-link:before{content:"← "}.asset-holding-summary,.asset-detail-section{border:1px solid var(--border);border-radius:var(--radius);background:linear-gradient(180deg, var(--surface-strong), var(--surface));box-shadow:var(--shadow-card);gap:14px;padding:16px;display:grid}.asset-holding-summary__header{justify-content:space-between;align-items:center;gap:12px;display:flex}.asset-holding-summary__label{color:var(--muted);font-size:.9rem;font-weight:850}.asset-metrics--detail{grid-template-columns:repeat(2,minmax(0,1fr))}.asset-detail-section__title{font-size:.98rem}.asset-chart{gap:16px;display:grid}.trade-status{flex-wrap:wrap;align-items:center;gap:8px;min-height:48px;display:flex}.trade-badge{border:1px solid color-mix(in srgb, var(--accent) 24%, transparent);min-height:34px;color:var(--accent);background:var(--accent-soft);white-space:nowrap;border-radius:999px;align-items:center;padding:0 12px;font-size:.82rem;font-weight:950;display:inline-flex}.trade-badge--danger{border-color:color-mix(in srgb, var(--danger) 30%, transparent);color:var(--danger);background:var(--danger-soft)}.trade-badge--muted{border-color:var(--border-strong);color:var(--muted);background:var(--tile-bg)}.trade-badge--warn{color:#b66d00;background:#f59f001f;border-color:#f59f0052}.side-badge--long{border-color:color-mix(in srgb, var(--accent) 28%, transparent);color:var(--accent);background:var(--accent-soft)}.side-badge--short{border-color:color-mix(in srgb, var(--danger) 28%, transparent);color:var(--danger);background:var(--danger-soft)}.pill--danger{border-color:color-mix(in srgb, var(--danger) 30%, transparent);color:var(--danger);background:var(--danger-soft)}.pill--muted{border-color:var(--border-strong);color:var(--muted);background:var(--tile-bg)}.pill--warn{color:#b66d00;background:#f59f001f;border-color:#f59f0052}.pill--long{border-color:color-mix(in srgb, var(--accent) 28%, transparent);color:var(--accent);background:var(--accent-soft)}.pill--short{border-color:color-mix(in srgb, var(--danger) 28%, transparent);color:var(--danger);background:var(--danger-soft)}.trade-notice{border:1px solid var(--border);color:var(--muted);background:var(--tile-bg);border-radius:14px;padding:12px 14px;font-size:.9rem;font-weight:780;line-height:1.45}.trade-notice--danger{border-color:color-mix(in srgb, var(--danger) 28%, transparent);color:var(--danger);background:var(--danger-soft)}.trade-section{gap:12px;min-width:0;display:grid}.trade-form{overflow-x:hidden}.trade-form input[type=range]{width:100%;min-height:44px;accent-color:var(--accent)}.trade-plan,.trade-result{border:1px solid var(--border);border-radius:var(--radius);background:linear-gradient(180deg, var(--surface-strong), var(--surface));min-width:0;box-shadow:var(--shadow-card);gap:14px;padding:16px;display:grid}.trade-plan--danger{border-color:color-mix(in srgb, var(--danger) 30%, transparent);background:linear-gradient(180deg, var(--surface-strong), var(--surface)), var(--danger-soft)}.trade-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.trade-metrics--sell{grid-template-columns:repeat(auto-fit,minmax(132px,1fr))}.trade-metrics dd{overflow-wrap:anywhere}.trade-danger-action{width:100%}.trade-plan--danger .trade-danger-action,.trade-result .trade-badge--danger+*{box-shadow:0 14px 34px color-mix(in srgb, var(--danger) 20%, transparent)}.trade-result ul{gap:8px;margin:0;padding:0;list-style:none;display:grid}.trade-result li{min-width:0;color:var(--text);background:var(--tile-bg);overflow-wrap:anywhere;border-radius:12px;padding:10px 12px;font-size:.9rem;font-weight:760;line-height:1.4}.signal-sections,.signal-section,.signal-list{gap:14px;display:grid}.signal-sections{gap:28px}.section-heading{justify-content:space-between;align-items:flex-end;gap:12px;display:flex}.section-heading h2{color:var(--text);font-size:1.02rem;font-weight:950}.section-heading p{color:var(--muted);margin-top:5px;font-size:.84rem;font-weight:760}.signal-card{border:1px solid var(--border);border-radius:var(--radius);background:linear-gradient(180deg, var(--surface-strong), var(--surface));box-shadow:var(--shadow-card);color:inherit;gap:14px;padding:16px;text-decoration:none;display:grid;position:relative;overflow:hidden}.paper-unit-card__notice{color:var(--muted);margin:0;font-size:.82rem;font-weight:850}.signal-card:before{content:"";background:var(--weak);width:3px;position:absolute;inset:0 auto 0 0}.signal-card--pos{background:linear-gradient(90deg, var(--accent-soft), transparent 52%), linear-gradient(180deg, var(--surface-strong), var(--surface))}.signal-card--pos:before,.signal-card--fired:before{background:var(--accent)}.signal-card--neg{background:linear-gradient(90deg, var(--danger-soft), transparent 52%), linear-gradient(180deg, var(--surface-strong), var(--surface))}.signal-card--neg:before{background:var(--danger)}.signal-card--fired{border-color:color-mix(in srgb, var(--accent) 42%, var(--border));box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--accent) 16%, transparent), var(--shadow-card)}.signal-card__top{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.signal-card__top h3{overflow-wrap:anywhere;color:var(--text);font-size:1.02rem;font-weight:950}.signal-card__top p{color:var(--muted);font-family:var(--font-mono);font-variant-numeric:tabular-nums;margin-top:5px;font-size:.84rem;font-weight:800}.ratio-track{background:var(--tile-bg);border-radius:999px;height:9px;overflow:hidden}.ratio-track span{border-radius:inherit;background:linear-gradient(90deg, var(--accent), var(--accent-strong));width:0;height:100%;display:block}.signal-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:0;display:grid}.signal-metrics--three{grid-template-columns:repeat(3,minmax(0,1fr))}.signal-metrics>div{background:var(--tile-bg);border-radius:12px;min-width:0;padding:10px}.total-panel{border:1px solid var(--hero-border);background:var(--hero-bg);box-shadow:var(--shadow);border-radius:20px;gap:18px;padding:22px;display:grid}.total-panel__label{color:var(--muted);margin-bottom:8px;font-size:.88rem;font-weight:800;display:block}.total-panel strong{overflow-wrap:anywhere;color:var(--hero-number);font-size:2.8rem;font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-weight:950;line-height:.98;display:block}.total-panel__pills{flex-wrap:wrap;gap:8px;display:flex}.live-indicator{border:1px solid color-mix(in srgb, var(--accent) 24%, transparent);min-height:32px;color:var(--accent);background:var(--accent-soft);font-size:.82rem;font-family:var(--font-mono);font-variant-numeric:tabular-nums;border-radius:999px;align-items:center;gap:7px;padding:7px 11px;font-weight:900;display:inline-flex}.live-indicator span{background:var(--accent);width:7px;height:7px;box-shadow:0 0 0 0 color-mix(in srgb, var(--accent) 42%, transparent);border-radius:999px;animation:1.7s ease-out infinite live-pulse}.tone-pill{background:var(--tile-bg);min-height:32px;font-size:.9rem;font-family:var(--font-mono);font-variant-numeric:tabular-nums;border-radius:999px;padding:7px 11px;font-weight:900}.summary-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:14px 0 26px;display:grid}.summary-grid .metric:last-child{grid-column:1/-1}.etf-screen{min-height:100%}.dashboard-etf,.etf-create,.etf-detail{border:1px solid var(--border);border-radius:var(--radius);background:linear-gradient(180deg, var(--surface-strong), var(--surface));box-shadow:var(--shadow-card);gap:12px;padding:14px;display:grid}.dashboard-etf{margin-bottom:26px}.etf-create{margin-bottom:14px}.etf-layout,.etf-list{gap:12px;display:grid}.etf-card{border:1px solid var(--border);border-radius:var(--radius);min-height:74px;color:var(--text);background:var(--surface-glass);text-align:left;gap:7px;padding:13px 14px;display:grid}.etf-card--active{border-color:color-mix(in srgb, var(--accent) 48%, var(--border));background:var(--accent-soft)}.etf-card span,.etf-card small{overflow-wrap:anywhere;color:var(--muted);font-size:.78rem;font-weight:850}.etf-card strong{overflow-wrap:anywhere;font-size:1rem;font-weight:950}.etf-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:14px;display:grid}.metric,.cash-row{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-glass);gap:7px;display:grid;box-shadow:inset 0 1px #ffffff14}.metric{min-height:88px;padding:15px}.metric span,.cash-row span,dt{color:var(--weak);font-size:.76rem;font-weight:850}.metric strong,.cash-row strong,dd{overflow-wrap:anywhere;color:var(--text);font-family:var(--font-mono);font-variant-numeric:tabular-nums;margin:0;font-size:1rem;font-weight:900}.cash-section,.holdings-section{gap:12px;margin-top:24px;display:grid}.cash-list,.holding-list,.paper-performance-list{gap:12px;display:grid}.cash-row{grid-template-columns:minmax(0,1fr) auto;align-items:center;min-height:58px;padding:14px 15px}.holding-card{border:1px solid var(--border);border-radius:var(--radius);background:linear-gradient(180deg, var(--surface-strong), var(--surface));box-shadow:var(--shadow-card);padding:16px;position:relative;overflow:hidden}.holding-card--clickable{cursor:pointer}.holding-card--clickable:hover{border-color:color-mix(in srgb, var(--accent) 34%, var(--border));transform:translateY(-1px)}.holding-card--clickable:focus-visible{outline:3px solid color-mix(in srgb, var(--accent) 34%, transparent);outline-offset:3px}.holding-card:before{content:"";background:var(--weak);width:3px;position:absolute;inset:0 auto 0 0}.holding-card--pos{background:linear-gradient(90deg, var(--accent-soft), transparent 48%), linear-gradient(180deg, var(--surface-strong), var(--surface))}.holding-card--pos:before{background:var(--accent)}.holding-card--neg{background:linear-gradient(90deg, var(--danger-soft), transparent 48%), linear-gradient(180deg, var(--surface-strong), var(--surface))}.holding-card--neg:before{background:var(--danger)}.holding-card__top{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:15px;display:flex}.holding-card__top h3{overflow-wrap:anywhere;color:var(--text);font-size:1.02rem;font-weight:950}.holding-card__top p{color:var(--muted);margin-top:5px;font-size:.85rem;font-weight:760}.holding-card__top span{border:1px solid color-mix(in srgb, var(--accent) 24%, transparent);background:var(--accent-soft);min-height:28px;color:var(--accent);border-radius:999px;flex:none;padding:5px 10px;font-size:.78rem;font-weight:950}.holding-card dl{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin:0;display:grid}.holding-card dl>div{background:var(--tile-bg);border-radius:12px;min-width:0;padding:10px}.empty-text,.notice{color:var(--muted)}.notice{gap:16px;padding:22px;display:grid}.talk-screen{grid-template-rows:auto auto minmax(180px,1fr) auto;min-height:100%;overflow-x:hidden}.talk-status{border:1px solid var(--border);min-width:0;color:var(--muted);background:var(--surface-glass);border-radius:14px;padding:11px 13px;font-size:.84rem;font-weight:850;line-height:1.35}.talk-status--warn{border-color:color-mix(in srgb, var(--danger) 28%, transparent);color:var(--danger);background:var(--danger-soft)}.talk-thread{align-content:end;gap:10px;min-width:0;min-height:0;padding:2px 0 4px;display:grid;overflow-x:hidden}.talk-empty{border:1px solid var(--border);border-radius:var(--radius);min-width:0;color:var(--muted);background:linear-gradient(180deg, var(--surface-strong), var(--surface));box-shadow:var(--shadow-card);gap:7px;padding:18px;display:grid}.talk-empty strong{color:var(--text);font-size:1rem}.talk-empty span{font-size:.9rem;font-weight:720;line-height:1.5}.talk-bubble{border:1px solid var(--border);background:var(--surface);border-radius:16px;gap:6px;min-width:0;max-width:min(86%,640px);padding:12px 14px;display:grid;box-shadow:0 10px 22px #0f17220f}.talk-bubble--user{border-color:color-mix(in srgb, var(--accent) 24%, transparent);color:#03120d;background:linear-gradient(135deg, var(--accent-strong), color-mix(in srgb, var(--accent-strong) 74%, white));justify-self:end}.talk-bubble--assistant{overscroll-behavior-inline:contain;justify-self:start;width:fit-content;max-width:100%;overflow-x:auto}.talk-bubble--pending{color:var(--muted)}.talk-bubble--error{border-color:color-mix(in srgb, var(--danger) 28%, transparent);color:var(--danger);background:var(--danger-soft)}.talk-bubble__label,.talk-bubble__tools{font-size:.72rem;font-weight:950;line-height:1.2}.talk-bubble__label{color:inherit;opacity:.72}.talk-bubble p{overflow-wrap:anywhere;white-space:pre-wrap;font-size:.95rem;font-weight:720;line-height:1.45}.talk-bubble__tools{overflow-wrap:anywhere;color:inherit;opacity:.62}.talk-draft-open{justify-self:start;min-height:38px;padding:0 13px}.talk-md{overflow-wrap:anywhere;font-size:.95rem;font-weight:720;line-height:1.45}.talk-md p{white-space:normal;margin:0 0 .5em}.talk-md p:last-child{margin-bottom:0}.talk-md ul,.talk-md ol{margin:.4em 0;padding-left:1.4em}.talk-md li{margin-bottom:.2em}.talk-md table{border-collapse:collapse;width:max-content;min-width:100%;margin:.5em 0;font-size:.88rem}.talk-md th,.talk-md td{border:1px solid var(--border);text-align:left;white-space:nowrap;padding:5px 9px}.talk-md th{background:var(--tile-bg);font-weight:900}.talk-md code{background:var(--tile-bg);font-family:var(--font-mono);border-radius:4px;padding:1px 5px;font-size:.88em}.talk-md pre{background:var(--tile-bg);border-radius:8px;margin:.5em 0;padding:10px 12px;overflow-x:auto}.talk-md pre code{background:0 0;padding:0;font-size:.85em}.talk-composer{z-index:5;border:1px solid var(--border);background:var(--surface-glass);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-radius:18px;grid-template-columns:minmax(0,1fr) 48px;gap:9px;min-width:0;padding:8px;display:grid;position:sticky;bottom:0;box-shadow:0 -12px 34px #0f172214}.talk-composer__field{min-width:0}.talk-composer textarea{resize:vertical;border:1px solid var(--border-strong);width:100%;min-height:48px;max-height:132px;color:var(--text);background:var(--input-bg);border-radius:14px;padding:13px 14px;line-height:1.35;display:block}.talk-composer textarea::placeholder{color:var(--weak)}.talk-send{color:#03120d;background:linear-gradient(135deg, var(--accent-strong), color-mix(in srgb, var(--accent-strong) 72%, white));width:48px;min-height:48px;box-shadow:0 12px 28px color-mix(in srgb, var(--accent) 22%, transparent);border:0;border-radius:14px;place-items:center;display:inline-grid}.talk-send:disabled{opacity:.55}.talk-send svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.3px;width:22px;height:22px}.tone-pos{color:var(--accent)}.tone-neg{color:var(--danger)}.chart-controls{border:1px solid var(--border);border-radius:var(--radius);background:linear-gradient(180deg, var(--surface-strong), var(--surface));box-shadow:var(--shadow-card);gap:10px;padding:12px;display:grid;overflow-x:hidden}.indicator-controls{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);gap:12px;padding:14px;display:grid}.indicator-toggle-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.indicator-toggle{border:1px solid var(--border);min-width:0;min-height:54px;color:var(--muted);background:var(--tile-bg);text-align:left;border-radius:12px;gap:4px;padding:9px 10px;display:grid}.indicator-toggle.active{border-color:color-mix(in srgb, var(--accent) 42%, var(--border));color:var(--accent);background:var(--accent-soft)}.indicator-toggle span,.indicator-toggle small{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.indicator-toggle span{color:inherit;font-size:.86rem;font-weight:950}.indicator-toggle small{color:var(--muted);font-size:.72rem;font-weight:800}.asset-select{min-width:0;color:var(--muted);gap:8px;font-size:.82rem;font-weight:900;display:grid}.asset-select select,.asset-select input[type=text],.asset-select input[type=number]{border:1px solid var(--border-strong);width:100%;min-width:0;min-height:46px;color:var(--text);background:var(--input-bg);border-radius:13px;padding:0 12px;font-weight:880}.search-select{width:100%;min-width:0;position:relative}.asset-select .search-select input{border:1px solid var(--border-strong);width:100%;min-width:0;min-height:46px;color:var(--text);background:var(--input-bg);border-radius:13px;padding:0 12px;font-weight:880}.search-select__menu{z-index:30;border:1px solid var(--border-strong);background:var(--surface-strong);max-height:280px;box-shadow:var(--shadow);border-radius:13px;padding:6px;position:absolute;top:calc(100% + 6px);left:0;right:0;overflow:auto}.search-select__group{color:var(--muted);padding:8px 10px 5px;font-size:.72rem;font-weight:950}.search-select__menu button{width:100%;color:var(--text);text-align:left;background:0 0;border:0;border-radius:9px;justify-content:space-between;align-items:center;gap:10px;padding:10px;font-weight:900;display:flex}.search-select__menu button.active,.search-select__menu button:hover{background:var(--tile-bg)}.search-select__menu small{color:var(--muted);font-family:var(--font-mono);font-size:.72rem}.search-select__empty{color:var(--muted);padding:12px 10px;font-weight:850}.etf-symbol-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.symbol-check{border:1px solid var(--border);min-width:0;min-height:42px;color:var(--text);background:var(--tile-bg);border-radius:12px;align-items:center;gap:9px;padding:0 11px;font-weight:900;display:flex}.symbol-check input{width:19px;height:19px;accent-color:var(--accent);flex:none}.symbol-check span{overflow-wrap:anywhere;min-width:0;font-family:var(--font-mono);font-size:.88rem}.bucket-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.time-row{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:10px;display:grid}.time-chips{flex-wrap:wrap;gap:8px;min-width:0;display:flex}.time-chips button{border:1px solid color-mix(in srgb, var(--accent) 24%, transparent);min-height:44px;color:var(--accent);background:var(--accent-soft);font-family:var(--font-mono);border-radius:999px;align-items:center;gap:8px;padding:0 12px;font-weight:950;display:inline-flex}.time-chips strong{color:var(--muted);font-family:inherit}.nav-editor-list,.nav-editor-pool{gap:8px;display:grid}.nav-editor-row{border:1px solid var(--border);background:var(--tile-bg);border-radius:8px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;padding:9px 10px;display:grid}.nav-editor-row>span{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-weight:950;overflow:hidden}.nav-editor-row>div,.nav-editor-pool{flex-wrap:wrap;gap:6px;display:flex}.nav-editor-row button{border:1px solid var(--border-strong);min-height:34px;color:var(--text);background:var(--surface-glass);border-radius:8px;padding:0 9px;font-size:.8rem;font-weight:900}.nav-editor-row button:disabled{opacity:.5}.settings-switch{background:var(--tile-bg);min-height:54px;color:var(--text);border-radius:14px;justify-content:space-between;align-items:center;gap:14px;padding:0 14px;font-weight:900;display:flex}.settings-switch input{width:24px;height:24px;accent-color:var(--accent)}.interval-toggle{background:var(--tile-bg);border-radius:13px;grid-template-columns:repeat(5,minmax(0,1fr));gap:5px;min-width:0;min-height:46px;padding:4px;display:grid;overflow:hidden}.interval-toggle button{min-width:0;min-height:38px;color:var(--muted);background:0 0;border:0;border-radius:10px;font-size:.9rem;font-weight:950}.interval-toggle button.active{color:var(--accent);background:var(--accent-soft)}.interval-toggle--units{grid-template-columns:repeat(2,minmax(0,1fr))}.chart-panel{border:1px solid var(--border);border-radius:var(--radius);background:linear-gradient(180deg, var(--surface-strong), var(--surface));min-width:0;box-shadow:var(--shadow-card);gap:12px;padding:14px;display:grid;overflow:hidden}.chart-panel__top{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.chart-panel__top h2{overflow-wrap:anywhere;font-size:1.04rem}.chart-panel__top p{color:var(--muted);margin-top:4px;font-size:.84rem;font-weight:780}.chart-status{color:var(--accent);background:var(--accent-soft);border-radius:999px;flex:none;padding:6px 9px;font-size:.78rem;font-weight:950}.chart-stack{gap:8px;min-width:0;display:grid}.chart-canvas{border:1px solid var(--border);background:var(--surface);border-radius:12px;width:100%;min-width:0;position:relative;overflow:hidden}.chart-canvas--price{height:clamp(280px,52dvh,430px)}.chart-canvas--volume{height:clamp(130px,24dvh,190px)}.indicator-panel{border:1px solid var(--border);background:var(--surface);border-radius:14px;gap:10px;padding:12px;display:grid}.indicator-mini-chart{background:var(--tile-bg);border-radius:12px;width:100%;height:120px;display:block}.indicator-threshold{stroke:var(--muted);stroke-dasharray:5 5;stroke-opacity:.45}.indicator-threshold-label{fill:var(--muted);font-family:var(--font-mono);font-size:10px;font-weight:850}.chart-canvas--etf{height:clamp(260px,44dvh,390px)}.chart-legend{flex-wrap:wrap;gap:8px;min-width:0;display:flex}.chart-legend span{border-radius:999px;padding:6px 9px;font-size:.78rem;font-weight:950}.chart-legend__buy{color:var(--accent);background:var(--accent-soft)}.chart-legend__sell{color:var(--danger);background:var(--danger-soft)}.chart-legend__cvd{color:var(--text);background:var(--surface-strong);border:1px solid var(--border)}.chart-loading{place-items:center;min-height:360px;display:grid}@media (width>=720px){.status-summary{grid-template-columns:minmax(0,1fr) auto;align-items:center}.status-refresh{width:auto;min-width:148px}.chart-controls{grid-template-columns:minmax(0,1fr) minmax(280px,360px);align-items:end}.indicator-toggle-list{grid-template-columns:repeat(3,minmax(0,1fr))}.chart-panel{padding:18px}.reports-layout{grid-template-columns:minmax(220px,300px) minmax(0,1fr);align-items:start}.reports-category-nav{position:sticky;top:0}.audit-layout{grid-template-columns:minmax(220px,300px) minmax(0,1fr);align-items:start}.audit-nav{position:sticky;top:0}.audit-document{padding:24px}}.tone-neutral{color:var(--text)}.page-actions{justify-content:flex-end;margin:-8px 0 16px;display:flex}.page-actions--context{justify-content:flex-start}.backtest-screen,.backtest-layout{gap:18px;display:grid}.backtest-runner,.backtest-panel{border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow-card);border-radius:8px;gap:16px;padding:16px;display:grid}.backtest-period-grid,.backtest-assets,.backtest-variant-list,.backtest-results,.backtest-history{gap:12px;display:grid}.section-heading--compact{grid-template-columns:minmax(0,1fr) auto;align-items:center}.text-button{color:var(--accent);background:0 0;border:0;padding:0;font-weight:900}.archive__chip.active{color:var(--accent);border-color:color-mix(in srgb, var(--accent) 42%, var(--border));background:var(--accent-soft)}.backtest-variant{box-shadow:none}.table-scroll{overflow-x:auto}.data-table{border-collapse:collapse;width:100%;min-width:760px;font-size:.88rem}.data-table th,.data-table td{border-bottom:1px solid var(--border);text-align:left;vertical-align:top;padding:10px 9px}.data-table th{color:var(--muted);text-transform:uppercase;font-size:.76rem;font-weight:950}.data-table tbody tr{cursor:pointer}.data-table tbody tr.active,.data-table tbody tr:hover{background:var(--tile-bg)}.data-table td strong,.data-table td span{display:block}.data-table td span{max-width:280px;color:var(--muted);overflow-wrap:anywhere;font-size:.78rem}.reason-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;display:grid}.metric-tile{border:1px solid var(--border);background:var(--tile-bg);border-radius:8px;gap:4px;padding:12px;display:grid}.metric-tile span,.metric-tile small{color:var(--muted);font-size:.78rem;font-weight:850}.metric-tile strong{font-family:var(--font-mono);font-size:1.05rem}.history-row{border:1px solid var(--border);width:100%;color:var(--text);background:var(--surface-strong);text-align:left;border-radius:8px;grid-template-columns:minmax(0,1fr) auto;gap:4px 12px;padding:12px;display:grid}.history-row:hover{border-color:var(--border-strong);background:var(--tile-bg)}.history-row span{font-weight:900}.history-row strong{font-family:var(--font-mono)}.history-row small{color:var(--muted);grid-column:1/-1}@media (width>=980px){.backtest-layout{grid-template-columns:minmax(340px,440px) minmax(0,1fr);align-items:start}.backtest-runner{position:sticky;top:0}.backtest-period-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.loader{border:3px solid var(--border-strong);border-top-color:var(--accent);border-radius:999px;width:42px;height:42px;animation:.8s linear infinite spin}.content-center{place-items:center;min-height:min(520px,100dvh - 160px);display:grid}.child-param-tree{gap:12px;display:grid}.child-param-node{cursor:default}.child-param-node__params{align-items:end}.child-param-field{gap:8px;min-width:0;display:grid}.child-param-field__reset{justify-self:start;min-height:34px}.strategy-unit-child-toggle{max-width:220px}.strategy-unit-override-list{flex-wrap:wrap;gap:8px;margin-top:14px;display:flex}.skeleton-panel{gap:12px;width:min(100%,420px);display:grid}.skeleton-panel div{border:1px solid var(--border);border-radius:var(--radius);background:linear-gradient(90deg, var(--tile-bg), var(--surface-glass), var(--tile-bg));background-size:220% 100%;height:72px;animation:1.3s ease-in-out infinite shimmer}@keyframes spin{to{transform:rotate(360deg)}}@keyframes shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}@keyframes live-pulse{0%{box-shadow:0 0 0 0 color-mix(in srgb, var(--accent) 42%, transparent)}70%{box-shadow:0 0 0 8px color-mix(in srgb, var(--accent) 0%, transparent)}to{box-shadow:0 0 0 0 color-mix(in srgb, var(--accent) 0%, transparent)}}@media (width>=680px){.login-card{padding:34px}.portfolio-screen{min-height:auto}.total-panel{grid-template-columns:minmax(0,1fr) auto;align-items:end;padding:28px}.total-panel strong{font-size:4.3rem}.summary-grid{grid-template-columns:repeat(5,minmax(0,1fr));margin:16px 0 30px}.summary-grid .metric:last-child{grid-column:auto}.holding-list{grid-template-columns:repeat(2,minmax(0,1fr))}.shell-content{padding:24px max(24px, env(safe-area-inset-right)) 32px max(24px, env(safe-area-inset-left))}.shell-topbar{padding:max(12px, env(safe-area-inset-top)) max(24px, env(safe-area-inset-right)) 12px max(24px, env(safe-area-inset-left))}}
