@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Noto+Sans+KR:wght@400;500;600;700&display=swap";:root{font-family:DM Sans,Noto Sans KR,system-ui,sans-serif;color:#eef2f6;background:#0b0e13;font-synthesis:none;text-rendering:optimizeLegibility;--bg: #0b0e13;--sidebar: #0e1218;--panel: #131821;--panel-2: #171d27;--panel-3: #1b222d;--border: #252d38;--border-soft: rgba(255, 255, 255, .07);--text: #eef2f6;--text-soft: #b6bec9;--muted: #7f8998;--accent: #73d4b4;--accent-soft: rgba(115, 212, 180, .12);--purple: #8f9cf4;--purple-soft: rgba(143, 156, 244, .12);--positive: #f07f8c;--positive-soft: rgba(240, 127, 140, .11);--negative: #6ea8f7;--negative-soft: rgba(110, 168, 247, .11);--warning: #f2b86b;--warning-soft: rgba(242, 184, 107, .11);--danger: #ff6575;color-scheme:dark}*{box-sizing:border-box}html{min-width:320px;background:var(--bg)}body{margin:0;min-width:320px;min-height:100vh;background:radial-gradient(circle at 75% -20%,rgba(93,126,180,.08),transparent 34%),var(--bg)}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{color:inherit}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin:0}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:2px}::-webkit-scrollbar{width:9px;height:9px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#303946;border-radius:9px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.app-loading{min-height:100vh;display:grid;place-items:center}.app-shell{min-height:100vh;display:flex}.sidebar{position:fixed;inset:0 auto 0 0;z-index:30;width:226px;display:flex;flex-direction:column;border-right:1px solid var(--border-soft);background:#0e1218f5;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);padding:22px 16px}.brand{display:flex;align-items:center;gap:11px;padding:0 7px 26px}.brand-mark{width:37px;height:37px;display:grid;place-items:center;color:#0a1511;background:var(--accent);border-radius:11px;box-shadow:0 8px 28px #73d4b42e}.brand>div:nth-child(2){display:flex;flex-direction:column;gap:1px}.brand strong{font-size:15px;letter-spacing:.01em}.brand span{color:var(--muted);font-size:10px;letter-spacing:.12em;text-transform:uppercase}.sidebar-close{display:none!important;margin-left:auto}.side-nav{display:flex;flex-direction:column;gap:5px}.side-nav a{display:flex;align-items:center;gap:12px;color:#8f99a7;min-height:45px;padding:0 13px;border-radius:9px;font-size:14px;font-weight:500;transition:.15s ease}.side-nav a:hover{color:var(--text);background:#ffffff09}.side-nav a.is-active{color:#d8fff2;background:var(--accent-soft)}.side-nav a.is-active svg{color:var(--accent)}.sidebar-status{display:flex;align-items:center;gap:10px;margin-top:auto;padding:14px 12px;border:1px solid var(--border-soft);background:#ffffff05;border-radius:10px}.status-orb{width:9px;height:9px;flex:0 0 auto;border-radius:50%;background:var(--accent);box-shadow:0 0 0 4px var(--accent-soft)}.sidebar-status>div:last-child{display:flex;flex-direction:column;gap:2px}.sidebar-status strong{font-size:11px;font-weight:600}.sidebar-status span{color:var(--muted);font-size:10px}.logout-button{border:0;background:transparent;color:var(--muted);display:flex;align-items:center;gap:10px;padding:14px 12px 4px;cursor:pointer;font-size:12px}.logout-button:hover{color:var(--text-soft)}.main-area{min-width:0;width:100%;margin-left:226px}.content{width:min(100%,1540px);margin:0 auto;padding:34px clamp(22px,3vw,52px) 60px}.mobile-header,.bottom-nav{display:none}.page-header{min-height:69px;display:flex;justify-content:space-between;align-items:flex-start;gap:28px;margin-bottom:23px}.page-header h1{font-size:clamp(25px,2.5vw,34px);font-weight:600;letter-spacing:-.045em}.page-header p{color:var(--muted);margin-top:7px;font-size:13px}.eyebrow{display:block;color:var(--accent);margin-bottom:7px;font-size:10px;font-weight:700;letter-spacing:.16em}.page-actions{display:flex;align-items:center;gap:8px;padding-top:7px}.sync-chip{display:flex;align-items:center;gap:9px;height:38px;padding:0 5px 0 12px;color:var(--text-soft);background:var(--panel);border:1px solid var(--border);border-radius:10px;font-size:11px}.sync-chip button{width:29px;height:29px;display:grid;place-items:center;border:0;color:var(--muted);background:transparent;border-radius:7px;cursor:pointer}.sync-chip button:hover{color:var(--accent);background:var(--accent-soft)}.sync-dot{width:7px;height:7px;background:var(--accent);border-radius:50%;box-shadow:0 0 0 3px var(--accent-soft)}.demo-banner,.notice-banner,.inline-error{display:flex;align-items:center;gap:10px;min-height:39px;margin-bottom:16px;padding:9px 13px;border-radius:9px;font-size:12px}.demo-banner{color:#d9dffc;background:var(--purple-soft);border:1px solid rgba(143,156,244,.2)}.notice-banner{color:#d7f8ed;background:var(--accent-soft);border:1px solid rgba(115,212,180,.2)}.inline-error{color:#ffdce0;background:var(--positive-soft);border:1px solid rgba(240,127,140,.25)}.panel{min-width:0;background:linear-gradient(145deg,#161c25f5,#12171ff5);border:1px solid var(--border);border-radius:14px;padding:20px;box-shadow:0 16px 50px #0000001a}.panel-header{min-height:42px;display:flex;justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:12px}.panel-header h2{font-size:15px;font-weight:600;letter-spacing:-.01em}.panel-header p{color:var(--muted);margin-top:4px;font-size:11px}.kpi-grid{display:grid;grid-template-columns:1.15fr repeat(3,1fr);gap:12px;margin-bottom:12px}.kpi-card{min-width:0;min-height:122px;display:flex;flex-direction:column;justify-content:center;padding:19px 20px;background:var(--panel);border:1px solid var(--border);border-radius:13px;overflow:hidden}.kpi-card.is-featured{position:relative;background:radial-gradient(circle at 95% 0%,rgba(115,212,180,.15),transparent 55%),linear-gradient(145deg,#18231f,#131a1b);border-color:#73d4b447}.kpi-card.is-featured:after{content:"";position:absolute;width:85px;height:85px;right:-30px;bottom:-37px;border:15px solid rgba(115,212,180,.06);border-radius:50%}.kpi-card>span{color:var(--muted);margin-bottom:8px;font-size:11px;font-weight:500}.kpi-card>strong{font-size:clamp(20px,2vw,27px);font-weight:600;letter-spacing:-.045em;white-space:nowrap}.kpi-card>small{color:var(--muted);margin-top:7px;font-size:10px}.is-positive{color:var(--positive)!important}.is-negative{color:var(--negative)!important}.dashboard-grid{display:grid;gap:12px}.dashboard-grid-primary{grid-template-columns:minmax(400px,.86fr) minmax(560px,1.45fr)}.allocation-layout{display:grid;grid-template-columns:minmax(150px,.8fr) minmax(195px,1.2fr);align-items:center;gap:10px}.donut-wrap{position:relative;width:min(100%,260px);min-width:0;margin:0 auto}.donut-center{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;align-items:center;pointer-events:none}.donut-center span{color:var(--muted);font-size:10px}.donut-center strong{margin-top:3px;font-size:16px;font-weight:600}.allocation-legend{display:flex;flex-direction:column}.allocation-legend>div{min-width:0;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:9px;padding:7px 0}.legend-dot{width:7px;height:7px;border-radius:2px}.allocation-legend-copy{min-width:0;display:flex;flex-direction:column}.allocation-legend strong,.allocation-legend b{font-size:11px;font-weight:600}.allocation-legend-copy>span{color:var(--muted);overflow:hidden;font-size:9px;text-overflow:ellipsis;white-space:nowrap}.allocation-legend-value{display:flex;flex-direction:column;align-items:flex-end;gap:2px;text-align:right}.allocation-legend-value span{color:var(--text-soft);font-size:10px;font-variant-numeric:tabular-nums;white-space:nowrap}.chart-tooltip{display:flex;flex-direction:column;gap:2px;padding:9px 11px;background:#171c24;border:1px solid #2a323e;border-radius:9px;box-shadow:0 10px 30px #00000040}.chart-tooltip strong{font-size:11px}.chart-tooltip span{font-size:12px}.chart-tooltip small{color:var(--muted)}.watchlist{display:flex;flex-direction:column}.watch-row{min-width:0;display:grid;grid-template-columns:32px minmax(92px,1fr) minmax(96px,.85fr) minmax(100px,.95fr) minmax(100px,.8fr) 28px;align-items:center;gap:9px;min-height:54px;border-bottom:1px solid var(--border-soft)}.watch-row:last-child{border-bottom:0}.symbol-avatar{width:30px;height:30px;display:grid;place-items:center;color:var(--accent);background:var(--accent-soft);border-radius:8px;font-size:9px;font-weight:700}.watch-symbol,.watch-price,.regular-close{min-width:0;display:flex;flex-direction:column}.watch-symbol strong{font-size:11px}.watch-symbol span,.session-cell>span,.regular-close span{color:var(--muted);font-size:9px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.session-cell{min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:3px}.watch-price{align-items:flex-end}.watch-price strong{font-size:11px;font-weight:600}.watch-price span{margin-top:2px;font-size:9px}.regular-close{align-items:flex-end}.regular-close b{margin-top:2px;color:var(--text-soft);font-size:9px;font-weight:500}.icon-button{width:34px;height:34px;flex:0 0 auto;display:inline-grid;place-items:center;border:0;color:var(--text-soft);background:transparent;border-radius:8px;cursor:pointer}.icon-button:hover{color:var(--text);background:#ffffff0f}.subtle-delete{width:28px;height:28px;color:#697481}.subtle-delete:hover{color:var(--danger);background:var(--positive-soft)}.badge{width:fit-content;display:inline-flex;align-items:center;gap:4px;min-height:20px;padding:2px 7px;color:var(--text-soft);background:#ffffff0e;border:1px solid var(--border-soft);border-radius:999px;font-size:9px;font-weight:600;white-space:nowrap}.badge-positive{color:#bff2df;background:var(--accent-soft);border-color:#73d4b42b}.badge-negative{color:#c7dcfb;background:var(--negative-soft);border-color:#6ea8f72b}.badge-warning{color:#f7d9ae;background:var(--warning-soft);border-color:#f2b86b2b}.badge-info{color:#d5dafa;background:var(--purple-soft);border-color:#8f9cf42b}.signals-section{margin:24px 0 12px}.section-label{display:flex;align-items:baseline;gap:12px;margin:0 2px 10px}.section-label>span{color:var(--accent);font-size:9px;font-weight:700;letter-spacing:.16em}.section-label p{color:var(--muted);font-size:10px}.signal-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.signal-card{min-width:0;min-height:106px;display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:14px;padding:17px;background:var(--panel);border:1px solid var(--border);border-radius:13px}.signal-golden{background:radial-gradient(circle at 100% 0%,rgba(115,212,180,.09),transparent 48%),var(--panel)}.signal-dead{background:radial-gradient(circle at 100% 0%,rgba(110,168,247,.09),transparent 48%),var(--panel)}.signal-icon{width:41px;height:41px;display:grid;place-items:center;border-radius:11px}.signal-golden .signal-icon{color:var(--accent);background:var(--accent-soft)}.signal-dead .signal-icon{color:var(--negative);background:var(--negative-soft)}.signal-title{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.signal-title strong{font-size:13px;font-weight:600}.signal-values{display:flex;flex-wrap:wrap;gap:15px;margin-top:8px;color:var(--muted);font-size:10px}.signal-values b{color:var(--text-soft);font-weight:500}.signal-spread{display:flex;flex-direction:column;align-items:flex-end;padding-left:18px;border-left:1px solid var(--border-soft)}.signal-spread span,.signal-spread small{color:var(--muted);font-size:9px}.signal-spread strong{margin:3px 0;font-size:19px;font-weight:600}.dashboard-grid-bottom{grid-template-columns:minmax(0,1fr) 300px}.peak-panel{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;background:radial-gradient(circle at 100% 0%,rgba(242,184,107,.15),transparent 52%),var(--panel)}.peak-icon{width:45px;height:45px;display:grid;place-items:center;color:var(--warning);background:var(--warning-soft);border-radius:12px;margin-bottom:18px}.peak-panel>span{color:var(--muted);font-size:10px}.peak-panel>strong{margin:5px 0 3px;font-size:24px;font-weight:600;letter-spacing:-.04em}.peak-panel>small{color:var(--text-soft);font-size:10px}.peak-distance{display:flex;align-items:center;gap:5px;margin-top:19px;color:var(--text-soft);font-size:10px}.peak-note{display:flex;align-items:center;gap:6px;margin-top:9px;color:var(--muted);font-size:9px}.button{min-height:37px;display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:0 14px;border:1px solid transparent;border-radius:9px;cursor:pointer;font-size:11px;font-weight:600;transition:.15s ease}.button:disabled{opacity:.55;cursor:wait}.button-primary{color:#07130f;background:var(--accent)}.button-primary:hover:not(:disabled){background:#83dec0;transform:translateY(-1px)}.button-secondary{color:var(--text-soft);background:var(--panel-2);border-color:var(--border)}.button-secondary:hover:not(:disabled){color:var(--text);border-color:#384250}.button-ghost{color:var(--text-soft);background:transparent;border-color:var(--border)}.button-ghost:hover{color:var(--accent);border-color:#73d4b44d;background:var(--accent-soft)}.button-small{min-height:31px;padding:0 10px;font-size:10px}.button-block{width:100%}.modal-backdrop{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:20px;background:#030508bd;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.modal{width:min(100%,590px);max-height:calc(100vh - 40px);overflow-y:auto;padding:22px;background:#141a22;border:1px solid #2a333f;border-radius:15px;box-shadow:0 28px 90px #00000073}.modal-header{display:flex;justify-content:space-between;gap:18px;margin-bottom:20px}.modal-header h2{font-size:17px;font-weight:600}.modal-header p{margin-top:5px;color:var(--muted);font-size:11px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.field{min-width:0;display:flex;flex-direction:column;gap:7px}.field>span{color:var(--text-soft);font-size:10px;font-weight:500}.field small{color:var(--muted);font-size:9px;line-height:1.5}.field input,.field select,.field textarea,.date-filter input{width:100%;min-height:39px;padding:9px 11px;color:var(--text);background:#0e131a;border:1px solid var(--border);border-radius:8px;outline:0;font-size:11px}.field textarea{resize:vertical}.field input::placeholder,.field textarea::placeholder{color:#56616f}.field input:focus,.field select:focus,.field textarea:focus,.date-filter input:focus{border-color:#73d4b48c;box-shadow:0 0 0 3px #73d4b412}.field-full{grid-column:1 / -1}.check-field{display:flex;align-items:center;gap:9px;color:var(--text-soft);font-size:11px}.check-field input{accent-color:var(--accent)}.form-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:5px}.form-error{color:#ffd2d8;padding:9px 11px;background:var(--positive-soft);border-radius:7px;font-size:10px}.state-box{min-height:55vh;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:12px;color:var(--muted);font-size:12px}.state-error{color:#eec4ca}.spin{animation:spin 1s linear infinite}.empty-state{min-height:180px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;color:var(--muted);text-align:center}.empty-state strong{color:var(--text-soft);font-size:12px}.empty-state span{font-size:10px}.login-page{min-height:100vh;display:grid;grid-template-columns:minmax(420px,1.15fr) minmax(400px,.85fr)}.login-story{position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between;padding:clamp(34px,5vw,72px);background:linear-gradient(145deg,#070f0de0,#090f16f2),repeating-linear-gradient(90deg,transparent 0,transparent 59px,rgba(255,255,255,.025) 60px)}.login-story:before{content:"";position:absolute;width:520px;height:520px;right:-170px;top:16%;border:1px solid rgba(115,212,180,.13);border-radius:50%;box-shadow:0 0 0 80px #73d4b409,0 0 0 160px #73d4b405}.login-logo{position:relative;z-index:1;display:flex;align-items:center;gap:10px;color:var(--accent)}.login-logo strong{color:var(--text);font-size:16px}.login-copy{position:relative;z-index:1;max-width:590px}.login-copy h1{font-size:clamp(44px,5vw,72px);font-weight:600;letter-spacing:-.065em;line-height:1.08}.login-copy p{max-width:480px;margin-top:24px;color:#9ca8b4;font-size:15px;line-height:1.8}.login-feature{position:relative;z-index:1;display:flex;align-items:center;gap:10px;color:#8f9aa7;font-size:11px}.login-feature svg{color:var(--accent)}.login-form-wrap{display:grid;place-items:center;padding:28px;background:#0d1117}.login-card{width:min(100%,370px);padding:31px;background:var(--panel);border:1px solid var(--border);border-radius:16px;box-shadow:0 30px 80px #00000038}.login-icon{width:45px;height:45px;display:grid;place-items:center;color:var(--accent);background:var(--accent-soft);border-radius:12px;margin-bottom:20px}.login-card h2{font-size:21px;font-weight:600;letter-spacing:-.035em}.login-card>p{color:var(--muted);margin:7px 0 25px;font-size:11px}.login-card .button{margin-top:17px}.login-help{display:block;margin-top:13px;color:#596370;text-align:center;font-size:9px}.asset-summary,.performance-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:18px}.asset-summary article,.performance-kpis article{min-height:104px;display:flex;flex-direction:column;justify-content:center;padding:17px 19px;background:var(--panel);border:1px solid var(--border);border-radius:12px}.asset-summary article>span,.performance-kpis article>span{color:var(--muted);font-size:10px}.asset-summary article>strong,.performance-kpis article>strong{margin:5px 0 3px;font-size:21px;font-weight:600;letter-spacing:-.04em}.asset-summary article>small,.performance-kpis article>small{color:var(--muted);font-size:9px}.asset-summary .net-worth-card{background:radial-gradient(circle at 100% 0%,rgba(115,212,180,.12),transparent 55%),var(--panel);border-color:#73d4b438}.account-list{display:flex;flex-direction:column;gap:12px;margin-bottom:18px}.asset-return-note{display:flex;align-items:baseline;gap:10px;margin:-5px 0 18px;padding:11px 13px;color:var(--text-soft);background:#8f9cf412;border:1px solid rgba(143,156,244,.16);border-radius:9px;font-size:10px;line-height:1.55}.asset-return-note strong{flex:0 0 auto;color:#d5dafa;font-size:10px}.asset-return-note span{color:var(--muted)}.account-heading{display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:12px;margin-bottom:14px}.provider-icon{width:41px;height:41px;display:grid;place-items:center;color:var(--text-soft);background:var(--panel-3);border-radius:11px}.provider-toss{color:#7da9ff;background:#4a7adc1f}.provider-kiwoom{color:#ed7f86;background:#dc525c1c}.provider-upbit{color:#8f9cf4;background:var(--purple-soft)}.provider-manual{color:var(--accent);background:var(--accent-soft)}.account-heading>div:nth-child(2)>span{color:var(--muted);font-size:9px}.account-title{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-bottom:3px}.account-title h2{font-size:14px;font-weight:600}.account-heading>strong{font-size:17px;font-weight:600}.table-wrap{max-width:100%;overflow-x:auto}.data-table{width:100%;border-collapse:collapse;font-size:10px}.data-table th{color:var(--muted);padding:10px 11px;border-bottom:1px solid var(--border);text-align:left;font-weight:500;white-space:nowrap}.data-table td{min-height:52px;padding:11px;border-bottom:1px solid var(--border-soft);color:var(--text-soft);white-space:nowrap}.data-table tbody tr:last-child td{border-bottom:0}.data-table tbody tr:hover td{background:#ffffff04}.records-table{min-width:1280px;font-size:13px}.records-table th{padding:14px 15px;font-size:12px;font-weight:600}.records-table td{padding:14px 15px;line-height:1.35}.align-right{text-align:right!important}.numeric{font-variant-numeric:tabular-nums}.strong-cell{color:var(--text)!important;font-weight:600}.muted-cell{color:var(--muted)!important}.asset-name-cell{display:flex;align-items:center;gap:10px}.asset-symbol{width:29px;height:29px;flex:0 0 auto;display:grid;place-items:center;color:var(--accent);background:var(--accent-soft);border-radius:8px;font-size:8px;font-weight:700}.asset-name-cell>div{display:flex;flex-direction:column;gap:2px}.asset-name-cell strong{color:var(--text);font-size:10px;font-weight:600}.asset-name-cell span:last-child{color:var(--muted);font-size:8px}.valuation-date{color:var(--muted);font-size:9px}.liability-list{display:flex;flex-direction:column}.liability-list article{display:grid;grid-template-columns:38px minmax(0,1fr) 80px 130px 30px;align-items:center;gap:11px;min-height:62px;border-bottom:1px solid var(--border-soft)}.liability-list article:last-child{border-bottom:0}.liability-icon{width:34px;height:34px;display:grid;place-items:center;color:var(--warning);background:var(--warning-soft);border-radius:9px}.liability-list article>div:nth-child(2),.liability-rate{display:flex;flex-direction:column}.liability-list article>div:nth-child(2) strong{font-size:11px}.liability-list article>div:nth-child(2) span,.liability-rate span{color:var(--muted);font-size:9px}.liability-rate b{margin-top:2px;color:var(--text-soft);font-size:10px;font-weight:500}.liability-balance{text-align:right;font-size:12px;font-weight:600}.filter-bar{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:14px}.segmented{width:fit-content;display:flex;gap:3px;padding:3px;background:var(--panel);border:1px solid var(--border);border-radius:9px}.segmented button{min-height:29px;padding:0 11px;border:0;color:var(--muted);background:transparent;border-radius:6px;cursor:pointer;font-size:10px}.segmented button.is-active{color:#d8fff2;background:var(--accent-soft)}.performance-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:12px}.calculation-note{display:grid;grid-template-columns:36px minmax(0,1fr) auto;align-items:center;gap:10px;margin-top:12px;padding:14px 16px;color:var(--text-soft);background:var(--panel);border:1px solid var(--border);border-radius:11px}.calculation-note>svg:first-child{color:var(--accent)}.calculation-note>svg:last-child{color:var(--warning)}.calculation-note div{display:flex;flex-direction:column;gap:3px}.calculation-note strong{font-size:10px}.calculation-note span{color:var(--muted);font-size:9px}.baseline-adjustment{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;margin-bottom:16px;padding:13px 14px;color:var(--warning);background:var(--warning-soft);border:1px solid rgba(242,184,107,.24);border-radius:10px}.baseline-adjustment>div{display:flex;flex-direction:column;gap:3px}.baseline-adjustment strong{color:#f5d6a8;font-size:11px}.baseline-adjustment span{color:#ddc39d;font-size:10px;line-height:1.55}.record-toolbar{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-bottom:14px}.date-filter{display:flex;align-items:center;gap:8px;color:var(--muted)}.date-filter input{width:132px;min-height:34px;padding:6px 9px}.record-count{color:var(--muted);font-size:10px}.record-date{display:flex;flex-direction:column;gap:2px}.record-date strong{color:var(--text);font-size:13px}.record-date span{color:var(--muted);font-size:10px}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.settings-form{display:grid;grid-template-columns:1fr 1fr;gap:14px}.settings-form .button{align-self:end}.checkbox-field{flex-direction:row;align-items:flex-start;padding:11px 12px;background:#73d4b40b;border:1px solid rgba(115,212,180,.14);border-radius:8px}.checkbox-field input{width:auto;min-height:auto;margin-top:2px;padding:0;accent-color:var(--accent)}.checkbox-field>span{display:flex;flex-direction:column;gap:3px}.fx-rate-field{gap:8px;padding:13px;background:#73d4b40b;border:1px solid rgba(115,212,180,.17);border-radius:10px}.fx-rate-heading,.fx-rate-value{display:flex;align-items:center;justify-content:space-between;gap:12px}.fx-rate-value>div{display:flex;align-items:baseline;gap:7px}.fx-rate-value strong{color:#dcfff3;font-size:20px;font-variant-numeric:tabular-nums;letter-spacing:-.03em}.fx-rate-value span{color:var(--muted);font-size:10px}.fx-rate-error{color:#edb3bb!important}.input-with-icon{position:relative}.input-with-icon svg{position:absolute;left:11px;top:50%;color:var(--muted);transform:translateY(-50%)}.input-with-icon input{padding-left:37px}.system-list{display:flex;flex-direction:column}.system-list>div{display:grid;grid-template-columns:27px minmax(0,1fr) auto;align-items:center;gap:9px;min-height:42px;border-bottom:1px solid var(--border-soft)}.system-list>div:last-child{border-bottom:0}.system-list svg{color:var(--accent)}.system-list span{color:var(--text-soft);font-size:10px}.security-note{display:flex;align-items:flex-start;gap:9px;margin-top:13px;padding:11px;color:var(--warning);background:var(--warning-soft);border-radius:8px}.security-note p{color:#ddc39d;font-size:9px;line-height:1.6}.settings-section-label{margin-top:25px}.integration-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.integration-card{min-width:0;padding:18px;background:var(--panel);border:1px solid var(--border);border-radius:13px}.integration-top{display:grid;grid-template-columns:39px minmax(0,1fr) auto;align-items:center;gap:10px}.integration-logo{width:38px;height:38px;display:grid;place-items:center;border-radius:10px}.integration-toss{color:#7da9ff;background:#4a7adc1f}.integration-kiwoom{color:#ed7f86;background:#dc525c1c}.integration-upbit{color:#8f9cf4;background:var(--purple-soft)}.integration-top h3{font-size:12px;font-weight:600}.integration-top p{margin-top:3px;color:var(--muted);font-size:8px;line-height:1.45}.integration-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:15px;padding:11px;background:#ffffff06;border-radius:8px}.integration-summary>div{min-width:0;display:flex;flex-direction:column;gap:3px}.integration-summary span{color:var(--muted);font-size:8px}.integration-summary strong{overflow:hidden;color:var(--text-soft);font-size:9px;font-weight:500;text-overflow:ellipsis;white-space:nowrap}.integration-error{display:flex;align-items:flex-start;gap:7px;margin-top:10px;padding:8px;color:#f0bfc6;background:var(--positive-soft);border-radius:7px;font-size:8px;line-height:1.5}.realtime-diagnostic{display:flex;flex-direction:column;align-items:flex-start;gap:10px;margin-top:12px;padding:12px;background:#ed7f860e;border:1px solid rgba(237,127,134,.12);border-radius:9px}.realtime-heading{width:100%;display:flex;align-items:center;justify-content:space-between;gap:8px}.realtime-heading>div{display:flex;align-items:center;gap:6px;color:#ed9ba0}.realtime-heading strong{color:var(--text-soft);font-size:9px;font-weight:600}.realtime-metrics{width:100%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.realtime-metrics>div{min-width:0;display:flex;flex-direction:column;gap:3px}.realtime-metrics span{color:var(--muted);font-size:7px}.realtime-metrics strong{overflow:hidden;color:var(--text-soft);font-size:8px;font-weight:500;text-overflow:ellipsis;white-space:nowrap}.realtime-last-quote{color:var(--muted);font-size:8px;line-height:1.5}.integration-actions,.credential-actions{display:flex;justify-content:flex-end;gap:7px;margin-top:15px}.credential-form{display:flex;flex-direction:column;gap:10px;margin-top:15px}.api-security-banner{display:flex;align-items:center;gap:12px;margin-top:13px;padding:15px 17px;color:var(--accent);background:var(--accent-soft);border:1px solid rgba(115,212,180,.17);border-radius:11px}.api-security-banner div{display:flex;flex-direction:column;gap:3px}.api-security-banner strong{color:#d8fff2;font-size:10px}.api-security-banner span{color:#a7c8bd;font-size:9px}@media(max-width:1240px){.dashboard-grid-primary{grid-template-columns:1fr}.allocation-layout{grid-template-columns:minmax(220px,.65fr) minmax(260px,1fr)}.integration-grid{grid-template-columns:1fr 1fr}}@media(max-width:1040px){.sidebar{width:205px}.main-area{margin-left:205px}.kpi-grid{grid-template-columns:1fr 1fr}.settings-grid{grid-template-columns:1fr}}@media(max-width:780px){.baseline-adjustment{grid-template-columns:auto minmax(0,1fr)}.baseline-adjustment .button{grid-column:1 / -1;width:100%}.sidebar{width:min(80vw,290px);transform:translate(-105%);transition:transform .18s ease;box-shadow:20px 0 60px #0006}.sidebar.is-open{transform:translate(0)}.sidebar-close{display:inline-grid!important}.sidebar-backdrop{position:fixed;inset:0;z-index:20;border:0;background:#0000008c}.main-area{margin-left:0}.mobile-header{position:sticky;top:0;z-index:15;min-height:57px;display:grid;grid-template-columns:38px 1fr 38px;align-items:center;padding:0 13px;background:#0b0e13e6;border-bottom:1px solid var(--border-soft);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.mobile-brand{display:flex;justify-content:center;align-items:center;gap:7px;color:var(--accent)}.mobile-brand strong{color:var(--text);font-size:13px}.mobile-sync-dot{justify-self:center;width:8px;height:8px;background:var(--accent);border-radius:50%;box-shadow:0 0 0 4px var(--accent-soft)}.content{padding:22px 14px 90px}.bottom-nav{position:fixed;inset:auto 0 0;z-index:19;height:calc(61px + env(safe-area-inset-bottom));display:grid;grid-template-columns:repeat(5,1fr);padding:5px 8px env(safe-area-inset-bottom);background:#0e1218f5;border-top:1px solid var(--border);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.bottom-nav a{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:3px;color:var(--muted);border-radius:8px;font-size:8px}.bottom-nav a.is-active{color:var(--accent);background:var(--accent-soft)}.page-header{min-height:auto;flex-direction:column;gap:14px;margin-bottom:18px}.page-actions{width:100%;padding-top:0}.page-actions .button{flex:1}.sync-chip{width:100%}.sync-chip button{margin-left:auto}.kpi-grid{gap:9px}.kpi-card{min-height:107px;padding:15px}.kpi-card>strong{font-size:clamp(17px,5vw,21px)}.allocation-layout{grid-template-columns:1fr}.donut-wrap{max-width:310px;width:100%;margin:0 auto}.allocation-legend{display:grid;grid-template-columns:1fr 1fr;gap:0 15px}.watch-row{grid-template-columns:32px minmax(78px,1fr) auto auto 26px}.regular-close{display:none}.session-cell>span{max-width:82px}.signal-grid,.performance-grid,.asset-summary,.performance-kpis,.settings-grid,.integration-grid{grid-template-columns:1fr}.signal-card{grid-template-columns:40px minmax(0,1fr)}.signal-spread{grid-column:1 / -1;flex-direction:row;align-items:center;gap:8px;padding:9px 0 0;border-left:0;border-top:1px solid var(--border-soft)}.signal-spread small{margin-left:auto}.dashboard-grid-bottom{grid-template-columns:1fr}.peak-panel{min-height:245px}.form-grid,.settings-form{grid-template-columns:1fr}.field-full{grid-column:auto}.realtime-metrics{grid-template-columns:1fr 1fr}.account-heading{grid-template-columns:42px minmax(0,1fr)}.account-heading>strong{grid-column:1 / -1;margin-top:3px;font-size:18px}.asset-table{min-width:1180px}.asset-return-note{align-items:flex-start;flex-direction:column;gap:3px}.records-table{min-width:1180px;font-size:12px}.records-table th,.records-table td{padding:13px 12px}.liability-list article{grid-template-columns:38px minmax(0,1fr) 28px;padding:11px 0}.liability-rate{display:none}.liability-balance{grid-column:2;text-align:left}.liability-list article .subtle-delete{grid-row:1 / 3;grid-column:3}.filter-bar,.record-toolbar{align-items:stretch;flex-direction:column}.segmented{width:100%}.segmented button{flex:1}.date-filter{width:100%}.date-filter label{flex:1}.date-filter input{width:100%}.login-page{grid-template-columns:1fr}.login-story{min-height:310px;padding:28px 24px}.login-copy h1{font-size:40px}.login-copy p{margin-top:14px;font-size:12px}.login-feature{display:none}.login-form-wrap{padding:24px 17px 40px}}@media(max-width:460px){.kpi-grid{grid-template-columns:1fr}.kpi-card{min-height:96px}.allocation-legend{grid-template-columns:1fr}.watch-row{grid-template-columns:31px minmax(75px,1fr) auto 26px}.session-cell{display:none}.panel{padding:16px}.page-actions{flex-wrap:wrap}.login-story{min-height:280px}.login-copy h1{font-size:34px}}body{font-size:15px}.brand strong{font-size:16px}.brand span,.sidebar-status span,.eyebrow,.kpi-card>small,.donut-center span,.allocation-legend span:not(.legend-dot),.watch-symbol span,.session-cell>span,.regular-close span,.watch-price span,.regular-close b,.section-label>span,.signal-spread small,.peak-panel>span,.peak-panel>small,.peak-distance,.peak-note,.field small,.login-help,.asset-summary article>small,.performance-kpis article>small,.account-heading>div:nth-child(2)>span,.asset-name-cell span:last-child,.valuation-date,.liability-list article>div:nth-child(2) span,.liability-rate span,.calculation-note span,.record-date span,.fx-rate-value span,.security-note p,.integration-top p,.integration-summary span,.integration-error,.realtime-metrics span,.realtime-last-quote,.api-security-banner span{font-size:14px}.sidebar-status strong,.logout-button,.sync-chip,.panel-header p,.kpi-card>span,.allocation-legend strong,.allocation-legend b,.chart-tooltip strong,.symbol-avatar,.watch-symbol strong,.watch-price strong,.badge,.section-label p,.signal-values,.signal-title p,.peak-note,.modal-header p,.field>span,.check-field,.form-error,.empty-state span,.login-feature,.login-card>p,.asset-summary article>span,.performance-kpis article>span,.asset-symbol,.asset-name-cell strong,.liability-rate b,.calculation-note strong,.baseline-adjustment span,.record-count,.system-list span,.integration-summary strong,.realtime-heading strong,.realtime-metrics strong,.api-security-banner strong{font-size:15px}.page-header p,.demo-banner,.notice-banner,.inline-error,.button,.field input,.field select,.field textarea,.date-filter input,.state-box,.empty-state strong,.segmented button,.baseline-adjustment strong,.integration-top h3{font-size:15px}.button-small,.data-table,.records-table th{font-size:14px}.records-table,.record-date strong{font-size:15px}.panel-header h2,.signal-title strong,.account-title h2{font-size:18px}.modal-header h2,.account-heading>strong,.donut-center strong{font-size:20px}.signal-spread strong{font-size:21px}.asset-summary article>strong,.performance-kpis article>strong,.fx-rate-value strong{font-size:23px}.peak-panel>strong{font-size:27px}.kpi-card>strong{font-size:clamp(23px,2vw,30px)}.page-header h1{font-size:clamp(28px,2.5vw,36px)}.bottom-nav a{font-size:12px}@media(max-width:780px){.mobile-brand strong{font-size:15px}.kpi-card>strong{font-size:clamp(20px,5vw,24px)}.records-table{font-size:13px}}@keyframes spin{to{transform:rotate(360deg)}}.spin{animation:spin .9s linear infinite}
