@import "https://fonts.googleapis.com/css2?family=Roboto+Mono:wght@500&display=swap";
:root{--bg:#f3f0ee;--surface:#fcfbfa;--surface-strong:#fff;--ink:#141413;--muted:#696969;--line:#1414131c;--line-strong:#14141333;--accent:#cf4500;--accent-soft:#f37338;--chip:#f4f4f4;--font-number:"Coinbase Mono", "Roboto Mono", "Coinbase Sans", monospace}*{box-sizing:border-box}html,body{background:var(--bg);min-height:100%;color:var(--ink);margin:0;font-family:Inter,Sofia Sans,Arial,sans-serif;font-weight:450}button,input,select,textarea{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}.app-shell{min-height:100vh;padding:20px clamp(16px,3vw,40px) 48px}.topbar{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:18px;max-width:1240px;margin:0 auto 28px;padding-bottom:14px;display:flex}.brand{letter-spacing:-.03em;align-items:center;gap:10px;font-size:15px;font-weight:700;display:inline-flex}.brand-mark{border:2px solid var(--ink);border-radius:50%;width:22px;height:22px;position:relative}.brand-mark:after{content:"";background:var(--accent-soft);border-radius:50%;width:5px;height:5px;position:absolute;top:2px;right:-2px}.nav-links{color:var(--muted);align-items:center;gap:18px;font-size:14px;display:flex}.nav-links a,.nav-links span{line-height:1}.nav-links .active{color:var(--ink);font-weight:650}.nav-signout{color:var(--muted);background:0 0;border:0;padding:0;font-size:13px}.nav-signout:hover{color:var(--ink)}.access-shell{place-items:center;min-height:100vh;padding:24px;display:grid}.access-card{border:1px solid var(--line);background:var(--surface);text-align:center;border-radius:40px;width:min(100%,440px);padding:clamp(30px,6vw,56px);box-shadow:0 24px 70px #14141312}.access-brand{justify-content:center;margin-bottom:48px}.access-card h1{letter-spacing:-.055em;margin:0;font-size:clamp(38px,8vw,64px)}.access-card p{color:var(--muted);margin:18px 0 28px;line-height:1.6}.access-button{border-radius:999px;width:100%;min-height:48px}.pin-form{gap:10px;display:grid}.pin-form input{text-align:center;letter-spacing:.22em;border-radius:999px;min-height:48px}.sync-error{color:#7a2a08;background:#f7dfd4;border-radius:999px;margin:0 0 16px;padding:10px 16px;font-size:13px}button:disabled{cursor:wait;opacity:.55}.workspace{max-width:1240px;margin:0 auto}.page-heading{justify-content:space-between;align-items:end;gap:16px;margin-bottom:16px;display:flex}.page-title h1{letter-spacing:-.04em;margin:0;font-size:clamp(24px,3vw,34px);font-weight:650;line-height:1.12}.page-title p{color:var(--muted);margin:7px 0 0;font-size:14px;line-height:1.45}.summary-line{color:var(--muted);flex-wrap:wrap;align-items:center;gap:8px 12px;margin:0 0 14px;font-size:13px;display:flex}.summary-line strong{color:var(--ink);font-weight:650}.toolbar{border:1px solid var(--line);background:#fcfbfab8;border-radius:20px;grid-template-columns:minmax(220px,1fr) 150px 150px auto auto;align-items:center;gap:10px;margin-bottom:12px;padding:12px;display:grid}input,select,textarea{border:1px solid var(--line-strong);background:var(--surface-strong);width:100%;color:var(--ink);border-radius:14px;outline:none;padding:10px 12px}textarea{resize:vertical;min-height:84px}input:focus,select:focus,textarea:focus{border-color:var(--ink);box-shadow:0 0 0 3px #14141314}.primary-button,.secondary-button,.ghost-button,.icon-button{border:1px solid var(--line-strong);background:var(--surface-strong);min-height:40px;color:var(--ink);white-space:nowrap;border-radius:14px;padding:9px 14px;font-size:14px;font-weight:600}.primary-button{border-color:var(--ink);background:var(--ink);color:var(--bg)}.ghost-button{background:0 0}.import-button{justify-content:center;align-items:center;display:inline-flex}.import-button input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.icon-button{border-radius:50%;width:34px;min-height:34px;padding:0}.table-panel{border:1px solid var(--line);background:var(--surface);border-radius:20px;overflow:hidden}.table-scroll{overflow-x:auto}table{border-collapse:collapse;width:100%;min-width:980px}th,td{border-bottom:1px solid var(--line);text-align:left;vertical-align:middle;padding:12px 14px;font-size:14px}th{z-index:1;color:#5f5b58;letter-spacing:.03em;text-transform:uppercase;background:#eee9e5;font-size:12px;font-weight:750;position:sticky;top:0}.sort-button{width:100%;color:inherit;font:inherit;letter-spacing:inherit;text-transform:inherit;background:0 0;border:0;justify-content:flex-start;align-items:center;gap:6px;padding:0;display:inline-flex}th.num .sort-button{justify-content:flex-end}.sort-arrow{color:var(--muted);opacity:.45;font-size:11px}.sort-arrow.active{color:var(--accent);opacity:1}tbody tr:hover{background:#ffffff9e}tbody tr:last-child td{border-bottom:0}.num{text-align:right}td.num,.number-display{font-family:var(--font-number);font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1, "zero" 1;letter-spacing:0;font-weight:500}.asset-cell{align-items:center;gap:10px;min-width:180px;display:flex}.asset-symbol{letter-spacing:-.02em;font-weight:750}.asset-name{color:var(--muted);margin-top:2px;font-size:12px;font-weight:450;display:block}.asset-dot{background:var(--ink);width:30px;height:30px;color:var(--bg);border-radius:50%;flex:none;place-items:center;font-size:12px;font-weight:700;display:grid}.account-chip,.type-chip,.currency-chip{background:var(--chip);border:1px solid var(--line);border-radius:999px;justify-content:center;align-items:center;min-height:28px;padding:5px 10px;font-size:12px;font-weight:650;display:inline-flex}.muted-cell{color:var(--muted)}.currency-chip{background:var(--ink);color:var(--bg);border-color:var(--ink)}.row-actions{justify-content:flex-end;align-items:center;gap:10px;display:flex}.row-actions .icon-button{width:auto;min-height:auto;color:var(--muted);background:0 0;border:0;border-radius:0;padding:0 2px;font-size:17px;line-height:1}.row-actions .icon-button:hover,.row-actions .icon-button:focus-visible{color:var(--ink)}.empty-state{text-align:center;color:var(--muted);padding:42px 20px;font-size:14px}.drawer-backdrop{z-index:30;background:#14141333;justify-content:flex-end;display:flex;position:fixed;inset:0}.drawer{background:var(--surface);border-left:1px solid var(--line);width:min(420px,100%);height:100%;padding:22px;overflow-y:auto;box-shadow:0 18px 60px #00000029}.drawer-header{justify-content:space-between;align-items:start;gap:12px;margin-bottom:18px;display:flex}.drawer-header h2{letter-spacing:-.03em;margin:0;font-size:22px}.drawer-header p{color:var(--muted);margin:5px 0 0;font-size:13px}.asset-form{gap:14px;display:grid}.field-group{gap:7px;display:grid}.field-row{grid-template-columns:1fr 1fr;gap:10px;display:grid}.form-combobox{min-width:0;position:relative}.form-combobox-trigger{border:1px solid var(--line-strong);background:var(--surface-strong);width:100%;min-height:42px;color:var(--ink);text-align:left;border-radius:14px;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;display:flex}.form-combobox-trigger:focus-visible{border-color:var(--ink);outline:none;box-shadow:0 0 0 3px #14141314}.form-combobox-trigger>span:first-child{min-width:0;color:inherit;font-size:inherit;font-weight:inherit;letter-spacing:normal;text-overflow:ellipsis;text-transform:none;white-space:nowrap;overflow:hidden}.form-combobox-arrow{color:var(--muted);font-size:16px;line-height:1}.form-combobox-menu{z-index:80;border:1px solid var(--line-strong);background:var(--surface-strong);border-radius:12px;width:100%;max-height:240px;padding:5px;position:absolute;top:calc(100% + 5px);left:0;overflow-y:auto;box-shadow:0 14px 35px #14141329}.form-combobox-menu button{width:100%;min-height:38px;color:var(--ink);text-align:left;background:0 0;border:0;border-radius:8px;align-items:center;gap:8px;padding:8px 9px;display:flex}.form-combobox-menu button:hover,.form-combobox-menu button:focus-visible,.form-combobox-menu button.selected{background:var(--chip);outline:none}.asset-autocomplete-menu button{justify-content:space-between;align-items:baseline}.asset-autocomplete-menu button strong{font-family:var(--font-number);flex:none;font-size:12px;font-weight:500}.asset-autocomplete-menu button span{min-width:0;color:var(--muted);letter-spacing:normal;text-overflow:ellipsis;text-transform:none;white-space:nowrap;font-size:12px;font-weight:500;overflow:hidden}label span{color:#4d4946;letter-spacing:.03em;text-transform:uppercase;font-size:12px;font-weight:750}.form-actions{justify-content:flex-end;gap:8px;padding-top:6px;display:flex}.home-card{border:1px solid var(--line);background:var(--surface);border-radius:20px;padding:22px}.home-card+.home-card{margin-top:12px}.home-grid{grid-template-columns:1.2fr .8fr;gap:12px;display:grid}.home-card h2{letter-spacing:-.03em;margin:0 0 8px;font-size:20px}.home-card p{color:var(--muted);margin:0;line-height:1.5}.visual-panel{border:1px solid var(--line);background:linear-gradient(135deg,#fcfbfaeb,#f4f4f4ad);border-radius:24px;margin:0 0 14px;padding:18px}.visual-heading,.section-title-row{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.visual-heading{margin-bottom:14px}.visual-heading h2,.section-title-row h3{letter-spacing:-.03em;margin:4px 0 0}.visual-heading h2{font-size:24px}.section-title-row h3{font-size:17px}.visual-heading p,.visual-note,.section-title-row span{color:var(--muted);margin:0;font-size:12px;line-height:1.45}.eyebrow-dot{color:#5f5b58;letter-spacing:.06em;align-items:center;gap:6px;font-size:11px;font-weight:800;display:inline-flex}.eyebrow-dot:before{content:"";background:var(--accent-soft);border-radius:50%;width:6px;height:6px}.metric-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:12px;display:grid}.metric-card{border:1px solid var(--line);background:#ffffff9e;border-radius:22px;flex-direction:column;justify-content:space-between;min-height:104px;padding:14px;display:flex}.metric-value-stack{gap:5px;margin-top:auto;display:grid}.metric-card span{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;font-size:12px;font-weight:700}.metric-card strong{color:var(--ink);order:2;font-size:clamp(20px,2.7vw,30px);line-height:1}.metric-card small{color:var(--muted);font-size:12px}.metric-card em{color:var(--accent);order:1;font-size:13px;font-style:normal}.metric-positive strong,.metric-positive em,.profit-positive{color:#2f6f46}.metric-negative strong,.metric-negative em,.profit-negative{color:#9f2f1f}.profit-neutral{color:var(--muted)}.visual-grid{grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px;display:grid}.allocation-card,.heatmap-panel,.disclosure-panel{border:1px solid var(--line);background:#fcfbfab8;border-radius:22px;padding:14px}.heatmap-panel{min-width:0;overflow:hidden}.disclosure-panel{background:#fcfbfad1;margin:0 0 14px}.disclosure-page-panel{margin-bottom:0}.disclosure-heading{align-items:center;margin-bottom:12px}.disclosure-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.disclosure-item,.disclosure-empty{border:1px solid var(--line);background:#ffffff94;border-radius:18px;min-height:92px;padding:13px}.disclosure-item{align-content:space-between;gap:8px;display:grid}.disclosure-meta{color:var(--muted);font-size:11px}.disclosure-item strong,.disclosure-empty strong{color:var(--ink);font-size:14px;line-height:1.35}.disclosure-item em,.disclosure-empty span{color:var(--muted);font-size:12px;font-style:normal;line-height:1.45}.disclosure-empty{align-content:center;gap:6px;display:grid}.section-title-row.compact{align-items:center;margin-bottom:12px}.stacked-bar{background:#14141314;border-radius:999px;gap:3px;height:28px;padding:3px;display:flex;overflow:hidden}.bar-segment{border-radius:999px;min-width:3px}.segment-0{background:var(--ink)}.segment-1{background:var(--accent)}.segment-2{background:#8f6b4d}.segment-3{background:#7d8b72}.segment-4{background:#d1cdc7}.segment-5{background:var(--accent-soft)}.allocation-list{gap:9px;margin-top:12px;display:grid}.allocation-row{color:#4d4946;grid-template-columns:12px 1fr auto;align-items:center;gap:8px;font-size:13px;display:grid}.allocation-row strong{color:var(--ink)}.legend-dot{border-radius:50%;width:9px;height:9px}.heatmap-panel .section-title-row{margin-bottom:12px}.heatmap-grid{aspect-ratio:1000/420;background:#1414130f;border-radius:0;width:100%;min-width:0;max-width:100%;height:clamp(360px,42vw,500px);min-height:360px;position:relative;overflow:hidden}.heatmap-tile{border:1px solid #1414131a;border-radius:0;flex-direction:column;justify-content:space-between;gap:4px;padding:clamp(8px,1.4vw,14px);display:flex;position:absolute;overflow:hidden;box-shadow:inset 0 0 0 2px #fcfbfaa8}.heatmap-tile-compact,.heatmap-tile-label-only{border-radius:0;padding:7px}.heatmap-tile-compact{justify-content:center;gap:7px}.heatmap-tile-label-only{justify-content:center}.heatmap-symbol{white-space:normal;text-overflow:ellipsis;-webkit-line-clamp:2;line-clamp:2;overflow-wrap:anywhere;word-break:keep-all;letter-spacing:-.03em;-webkit-box-orient:vertical;min-width:0;max-width:100%;font-weight:800;line-height:1.05;display:-webkit-box;overflow:hidden}.heatmap-tile-compact .heatmap-symbol{letter-spacing:-.02em;line-height:1.08}.heatmap-tile-label-only .heatmap-symbol{letter-spacing:-.02em;line-height:1.06}.heatmap-name{color:currentColor;opacity:.72;white-space:nowrap;min-width:0;max-width:100%;font-size:12px;line-height:1.15;display:block;overflow:visible}.heatmap-value{text-overflow:clip;white-space:nowrap;max-width:100%;margin-top:auto;font-size:clamp(20px,2.7vw,32px);line-height:1;overflow:visible}.heatmap-cost{white-space:nowrap;opacity:.78;max-width:100%;margin-top:5px;font-size:11px;display:block;overflow:visible}.heatmap-tile-compact .heatmap-name{display:none}.heatmap-tile-compact .heatmap-value{margin-top:0;font-size:clamp(14px,1.3vw,20px)}.heatmap-tile-compact .heatmap-cost{display:none}.transactions-workspace{gap:14px;display:grid}.transactions-toolbar{grid-template-columns:130px 160px minmax(130px,1fr) 130px auto auto}.transaction-summary{margin-bottom:0}.timeline-panel{overscroll-behavior:contain;border:1px solid var(--line);background:var(--surface);border-radius:20px;max-height:720px;overflow-y:auto}.timeline-month+.timeline-month{border-top:1px solid var(--line)}.timeline-month-heading{z-index:3;background:#eee9e5;justify-content:space-between;align-items:center;gap:12px;min-height:48px;padding:12px 16px;display:flex;position:sticky;top:0}.timeline-month-heading h2{letter-spacing:0;margin:0;font-size:16px}.timeline-month-heading span,.timeline-date{color:var(--muted);font-size:12px;font-weight:700}.timeline-day{border-top:1px solid var(--line);grid-template-columns:118px minmax(0,1fr);display:grid}.timeline-month-heading+.timeline-day{border-top:0}.timeline-date{border-right:1px solid var(--line);padding:14px 16px}.timeline-list{min-width:0}.transaction-item+.transaction-item{border-top:1px solid var(--line)}.transaction-main{width:100%;min-height:58px;color:var(--ink);text-align:left;background:0 0;border:0;grid-template-columns:92px minmax(0,1fr) minmax(120px,auto);align-items:center;gap:12px;padding:10px 14px;display:grid}.transaction-main:hover{background:#ffffff9e}.transaction-type{border:1px solid var(--line);background:var(--chip);border-radius:999px;justify-content:center;align-items:center;width:86px;min-height:28px;font-size:11px;font-weight:800;display:inline-flex}.type-buy,.type-deposit,.type-dividend{color:#2f6f46;background:#e3eee3}.type-sell,.type-withdrawal,.type-fee,.type-tax{color:#9f2f1f;background:#f3ded6}.transaction-title{gap:2px;min-width:0;display:grid}.transaction-title strong,.transaction-title em,.consumed-lots p{overflow-wrap:anywhere}.transaction-title strong{font-size:14px}.transaction-title em{color:var(--muted);font-size:12px;font-style:normal}.transaction-amount{text-align:right;white-space:nowrap}.transaction-details{gap:10px;padding:0 14px 14px 120px;display:grid}.detail-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.detail-grid span,.consumed-lots,.preview-errors{border:1px solid var(--line);color:var(--muted);background:#ffffff9e;border-radius:14px;padding:10px;font-size:12px}.detail-grid strong,.consumed-lots strong{color:var(--ink)}.consumed-lots{gap:5px;display:grid}.consumed-lots p,.preview-errors p{margin:0}.transaction-error{background:#fff7f4}.import-preview-dialog{border:1px solid var(--line);background:var(--surface);border-radius:20px;width:min(620px,100% - 32px);max-height:calc(100vh - 40px);margin:auto;padding:22px;overflow-y:auto;box-shadow:0 18px 60px #00000029}.import-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}@media (max-width:820px){.topbar,.page-heading{flex-direction:column;align-items:flex-start}.toolbar,.home-grid,.metric-grid,.transactions-toolbar,.import-metrics,.visual-grid,.disclosure-list{grid-template-columns:1fr}.nav-links{flex-wrap:wrap;gap:12px}.field-row{grid-template-columns:1fr}.visual-heading,.section-title-row{flex-direction:column}.visual-panel{padding:14px}.heatmap-grid{aspect-ratio:auto;height:clamp(320px,112vw,430px);min-height:320px;overflow:hidden}.heatmap-tile,.heatmap-tile-compact,.heatmap-tile-label-only{border-radius:0}.timeline-day{grid-template-columns:1fr}.timeline-date{border-right:0;border-bottom:1px solid var(--line);padding:10px 14px}.transaction-main{grid-template-columns:82px minmax(0,1fr)}.transaction-amount{text-align:left;grid-column:2}.transaction-details{padding:0 14px 14px}.detail-grid{grid-template-columns:1fr 1fr}}.stock-analysis-page{gap:14px;display:grid}.stock-analysis-heading{align-items:flex-end}.issue-overview-panel,.selected-stock-panel,.stock-selector-card,.stock-detail-card{border:1px solid var(--line);background:#fcfbfad1}.issue-overview-panel{border-radius:32px;padding:18px}.issue-stock-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.issue-stock-card{text-align:left;border:1px solid var(--line);min-height:172px;color:var(--ink);background:#ffffff9e;border-radius:28px;align-content:start;gap:7px;padding:18px;transition:transform .14s,border-color .14s,background .14s;display:grid}.issue-stock-card:hover,.issue-stock-card.selected{background:var(--surface-strong);border-color:#14141361;transform:translateY(-1px)}.issue-stock-card strong{letter-spacing:-.04em;font-size:clamp(22px,2.6vw,32px);line-height:1}.issue-stock-card em,.issue-card-footer{color:var(--muted);font-size:12px;font-style:normal}.issue-stock-card p{color:#4d4946;margin:6px 0 0;font-size:14px;line-height:1.45}.issue-severity{border:1px solid var(--line);background:var(--chip);border-radius:999px;justify-content:center;align-items:center;width:fit-content;padding:5px 10px;font-size:12px;font-weight:700;display:inline-flex}.severity-high{color:#9f2f1f;background:#cf45001f;border-color:#cf450047}.severity-medium{color:#7a3d05;background:#f3733824;border-color:#f3733852}.severity-watch{color:#555;background:#1414130f}.selected-stock-panel{border-radius:32px;grid-template-columns:280px minmax(0,1fr);gap:12px;padding:12px;display:grid}.stock-selector-card,.stock-detail-card{border-radius:24px;padding:18px}.stock-selector-card{background:#ffffff7a;align-content:start;gap:16px;display:grid}.stock-selector-card h3,.stock-detail-grid h3{letter-spacing:-.03em;margin:6px 0 0;font-size:20px}.stock-selector-list{gap:8px;display:grid}.stock-selector-list button{border:1px solid var(--line);background:var(--surface-strong);color:var(--ink);border-radius:999px;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px 10px 16px;display:flex}.stock-selector-list button.active{color:var(--bg);background:var(--ink);border-color:var(--ink)}.stock-selector-list span{color:inherit;opacity:.72;font-size:12px}.stock-detail-card{background:var(--surface-strong)}.stock-detail-header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:14px;display:flex}.stock-detail-header h2{letter-spacing:-.055em;margin:6px 0 4px;font-size:clamp(34px,5vw,58px);font-weight:650;line-height:.96}.stock-detail-header p{color:var(--muted);margin:0}.stock-signal-strip{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:14px;display:grid}.stock-metric-card{border:1px solid var(--line);background:var(--bg);border-radius:22px;flex-direction:column;justify-content:space-between;gap:8px;min-height:112px;padding:14px;display:flex}.stock-metric-card span,.stock-metric-card em{color:var(--muted);font-size:12px;font-style:normal}.stock-metric-card strong{color:var(--ink);word-break:keep-all;font-size:clamp(16px,2vw,22px);line-height:1.12}.analysis-tab-row{border:1px solid var(--line);background:var(--bg);border-radius:999px;gap:4px;width:fit-content;margin:0 0 14px;padding:4px;display:inline-flex}.analysis-tab-row button{min-height:34px;color:var(--muted);background:0 0;border:0;border-radius:999px;padding:7px 14px;font-size:13px;font-weight:750}.analysis-tab-row button.active{background:var(--ink);color:var(--bg)}.stock-detail-grid{grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr);gap:12px;display:grid}.stock-detail-grid section,.insider-trade-panel{border:1px solid var(--line);background:#f3f0eeb8;border-radius:22px;padding:16px}.analyst-report-panel{border:1px solid var(--line);background:#f3f0eeb8;border-radius:22px;gap:14px;padding:16px;display:grid}.analyst-report-panel h3{letter-spacing:-.03em;margin:6px 0 0;font-size:20px}.analyst-report-panel p{color:var(--muted);margin:7px 0 0;font-size:13px;line-height:1.45}.analyst-report-head{align-items:flex-start}.analyst-report-stats{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.analyst-report-stats span{border:1px solid var(--line);min-width:86px;color:var(--muted);text-transform:uppercase;background:#ffffffb8;border-radius:999px;gap:3px;padding:9px 12px;font-size:11px;font-weight:700;display:grid}.analyst-report-stats strong{color:var(--ink);font-size:17px;line-height:1}.analyst-report-meta-strip{flex-wrap:wrap;gap:8px;display:flex}.analyst-report-meta-strip span{color:var(--muted);background:#ffffff94;border:1px solid #14141317;border-radius:999px;align-items:center;gap:6px;padding:7px 10px;font-size:12px;display:inline-flex}.analyst-report-meta-strip strong{color:var(--ink)}.analyst-report-list{overscroll-behavior:contain;gap:9px;max-height:560px;padding-right:4px;display:grid;overflow-y:auto}.analyst-report-list::-webkit-scrollbar{width:8px}.analyst-report-list::-webkit-scrollbar-thumb{background:#14141338;border-radius:999px}.analyst-report-card{border:1px solid var(--line);background:#ffffffad;border-radius:20px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:13px;display:grid}.analyst-report-card-main{gap:6px;min-width:0;display:grid}.analyst-report-date,.analyst-report-card-meta{color:var(--muted);font-size:12px}.analyst-report-card h4{color:var(--ink);letter-spacing:-.02em;margin:0;font-size:15px;line-height:1.35}.analyst-report-card-meta{flex-wrap:wrap;gap:10px;display:flex}.analyst-report-actions{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}.analyst-report-actions a{border:1px solid var(--line-strong);min-height:32px;color:var(--ink);white-space:nowrap;background:#fcfbfad6;border-radius:999px;justify-content:center;align-items:center;padding:6px 10px;font-size:12px;font-weight:750;display:inline-flex}.insider-trade-panel h3{letter-spacing:-.03em;margin:6px 0 0;font-size:20px}.insider-trade-panel p{color:var(--muted);margin:7px 0 0;font-size:13px;line-height:1.45}.finviz-insider-panel{gap:14px;display:grid}.insider-board-head{align-items:flex-start}.insider-board-stats{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.insider-board-stats span{border:1px solid var(--line);min-width:86px;color:var(--muted);text-transform:uppercase;background:#ffffffb8;border-radius:999px;gap:3px;padding:9px 12px;font-size:11px;font-weight:700;display:grid}.insider-board-stats strong{color:var(--ink);font-size:17px;line-height:1}.insider-chart-card,.insider-table-card{border:1px solid var(--line);background:#ffffffb3;border-radius:20px;overflow:hidden}.insider-chart-toolbar{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;display:flex}.insider-chart-toolbar strong{letter-spacing:-.02em;font-size:13px}.insider-chart-toolbar span{color:var(--muted);font-size:11px}.insider-chart-area{background:linear-gradient(#14141314 1px,#0000 1px) 0 20px/100% 52px,linear-gradient(#f3f0ee80,#ffffff75);grid-template-columns:repeat(8,minmax(42px,1fr));align-items:end;gap:10px;height:250px;padding:26px 18px 18px;display:grid;position:relative}.insider-price-svg{pointer-events:none;z-index:0;width:calc(100% - 36px);height:calc(100% - 56px);position:absolute;inset:22px 18px 34px;overflow:visible}.insider-price-svg path{fill:none;stroke:#2563ebb8;stroke-width:2.3px;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.insider-bar-group{z-index:1;grid-template-rows:1fr auto;place-items:end center;gap:7px;height:100%;display:grid;position:relative}.insider-bars{align-items:end;gap:3px;height:178px;display:flex}.insider-bar{border-radius:999px 999px 2px 2px;width:11px;min-height:8px;display:block;box-shadow:inset 0 0 0 1px #14141314}.insider-bar.buy,.insider-chart-legend i.buy,.trade-type-pill.buy{background:#0f9f6e}.insider-bar.sell,.insider-chart-legend i.sell,.trade-type-pill.sell{background:#cf3d2a}.insider-bar.report,.insider-chart-legend i.report,.trade-type-pill.report,.trade-type-pill.mixed{background:#6b7280}.insider-bar-group em{color:var(--muted);font-size:11px;font-style:normal}.insider-chart-legend{border-top:1px solid var(--line);color:var(--muted);flex-wrap:wrap;gap:14px;padding:10px 14px 12px;font-size:11px;display:flex}.insider-chart-legend span{align-items:center;gap:6px;display:inline-flex}.insider-chart-legend i{border-radius:50%;width:10px;height:10px}.insider-chart-legend i.price{background:#2563ebb8;border-radius:999px;width:18px;height:2px}.insider-table-scroll{overflow-x:auto}.insider-trade-table{min-width:960px}.insider-trade-table th{color:#f3f0ee;letter-spacing:.04em;text-transform:uppercase;background:#141413;border-bottom-color:#f3f0ee29;font-size:11px}.insider-trade-table td{padding:10px 12px;font-size:13px}.insider-trade-table tbody tr.trade-buy{background:#0f9f6e1f}.insider-trade-table tbody tr.trade-sell{background:#cf3d2a1f}.insider-trade-table tbody tr.trade-report,.insider-trade-table tbody tr.trade-mixed{background:#6b72801a}.insider-trade-table tbody tr.clickable-trade-row{cursor:pointer}.insider-trade-table tbody tr.clickable-trade-row:hover,.insider-trade-table tbody tr.clickable-trade-row:focus-visible{outline-offset:-2px;filter:brightness(.985);outline:2px solid #14141347}.trade-type-pill{color:#fff;border-radius:999px;justify-content:center;align-items:center;min-width:58px;padding:4px 8px;font-size:11px;font-weight:800;display:inline-flex}.insider-source-link{border:1px solid var(--line-strong);border-radius:999px;padding:5px 8px;font-size:11px;font-weight:750;display:inline-flex}.selected-disclosure-list{overscroll-behavior:contain;gap:9px;max-height:520px;margin-top:12px;padding-right:4px;display:grid;overflow-y:auto}.selected-disclosure-list::-webkit-scrollbar{width:8px}.selected-disclosure-list::-webkit-scrollbar-thumb{background:#14141338;border-radius:999px}.selected-disclosure-list::-webkit-scrollbar-track{background:0 0}.disclosure-section-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.category-filter{gap:6px;min-width:190px;display:grid}.category-filter span{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;font-size:11px;font-weight:750}.category-filter select{border-radius:999px;min-height:34px;padding:7px 32px 7px 12px;font-size:13px;font-weight:650}.selected-disclosure-list a,.stock-empty-note{border:1px solid var(--line);background:#ffffffa8;border-radius:18px;gap:6px;padding:13px;display:grid}.disclosure-card-meta{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px;display:flex}.disclosure-category-badge{color:#8d3100;letter-spacing:-.01em;background:#cf45001a;border:1px solid #cf450047;border-radius:999px;align-items:center;width:fit-content;padding:4px 9px;font-size:11px;font-style:normal;font-weight:750;display:inline-flex}.selected-disclosure-list span,.selected-disclosure-list em,.stock-empty-note span{color:var(--muted);font-size:12px;font-style:normal;line-height:1.45}.selected-disclosure-list .disclosure-category-badge{color:#8d3100;font-size:11px;font-style:normal;line-height:1}.selected-disclosure-list strong,.stock-empty-note strong{font-size:14px;line-height:1.35}.stock-ai-comment{color:#4d4946;margin:12px 0 14px;line-height:1.55}.risk-tag-row{flex-wrap:wrap;gap:8px;display:flex}.risk-tag-row span{border:1px solid var(--line);background:var(--surface-strong);color:#4d4946;border-radius:999px;padding:7px 10px;font-size:12px}.static-analysis-note{border:1px solid var(--line);background:#ffffffa8;border-radius:18px;gap:6px;padding:13px;display:grid}.static-analysis-note strong{font-size:14px;line-height:1.35}.static-analysis-note span{color:var(--muted);font-size:12px;font-style:normal;line-height:1.45}.analysis-check-grid{grid-template-columns:1fr 1fr;gap:12px;margin-top:12px;display:grid}.analysis-list-card{border:1px solid var(--line);background:#f3f0eeb8;border-radius:22px;padding:16px}.analysis-list-card h3{letter-spacing:-.03em;margin:0 0 10px;font-size:20px}.analysis-list-card ul{color:#4d4946;margin:0;padding-left:18px;font-size:14px;line-height:1.55}.analysis-list-card li+li{margin-top:7px}@media (max-width:860px){.issue-stock-grid,.selected-stock-panel,.stock-signal-strip,.stock-detail-grid,.analysis-check-grid{grid-template-columns:1fr}.insider-chart-area{grid-template-columns:repeat(4,minmax(42px,1fr));overflow-x:auto}.stock-analysis-heading,.stock-detail-header,.analyst-report-head,.disclosure-section-head{flex-direction:column;align-items:flex-start}.analyst-report-card{grid-template-columns:1fr}.analyst-report-actions{justify-content:flex-start}.category-filter{width:100%}}.daily-assets-panel{border:1px solid var(--line);background:var(--surface);border-radius:22px;width:100%;min-width:0;max-width:100%;margin-bottom:16px;padding:18px 20px 14px;overflow:hidden}.daily-assets-heading{justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:14px;display:flex}.daily-assets-heading>div:first-child,.daily-assets-latest{gap:3px;display:grid}.daily-assets-heading-actions{justify-content:flex-end;align-items:flex-end;gap:12px;display:flex}.daily-assets-mode-switch{border:1px solid var(--line);background:var(--surface-muted,#f4f4f1);border-radius:999px;padding:2px;display:inline-flex}.daily-assets-mode-switch button{color:var(--muted);cursor:pointer;font:inherit;background:0 0;border:0;border-radius:999px;padding:5px 10px;font-size:10px;font-weight:750}.daily-assets-mode-switch button.is-active{background:var(--ink);color:var(--surface)}.daily-assets-heading span{color:var(--muted);letter-spacing:.08em;font-size:10px;font-weight:750}.daily-assets-heading h2{letter-spacing:-.035em;margin:0;font-size:19px}.daily-assets-latest{justify-items:end}.daily-assets-latest strong{font-size:15px;font-weight:500}.daily-assets-table-scroll{border:1px solid var(--line);overscroll-behavior:contain;border-radius:14px;max-height:430px;overflow:auto}.daily-assets-table{border-collapse:collapse;width:100%;min-width:860px;font-size:12px}.daily-assets-table th,.daily-assets-table td{border-bottom:1px solid var(--line);text-align:right;white-space:nowrap;padding:10px 12px}.daily-assets-table tr:last-child th,.daily-assets-table tr:last-child td{border-bottom:0}.daily-assets-table thead th{z-index:2;color:var(--muted);background:#f4f4f1;font-size:10px;font-weight:750;position:sticky;top:0}.daily-assets-table th:first-child{z-index:1;background:var(--surface);text-align:left;position:sticky;left:0}.daily-assets-table thead th:first-child{z-index:2;background:#f4f4f1}.daily-assets-table td{font-weight:500}.daily-assets-period-range{color:var(--muted);margin-top:3px;font-size:9px;font-weight:500;display:block}.daily-assets-table .is-positive{color:#087f5b}.daily-assets-table .is-negative{color:#c43f35}.daily-assets-estimate-row th,.daily-assets-estimate-row td{background:#fff8ed}.daily-assets-table .daily-assets-estimate-row th:first-child{box-shadow:inset 3px 0 0 var(--accent);background:#fff8ed}.daily-assets-estimate-badge{color:#9b3909;letter-spacing:0;vertical-align:middle;background:#cf45001c;border-radius:999px;margin-left:7px;padding:2px 6px;font-size:8px;font-weight:800;display:inline-flex}.daily-assets-live-loading strong{color:var(--muted);font-size:12px}.daily-assets-live-meta,.daily-assets-live-error{margin:9px 2px 0;font-size:10px;line-height:1.45}.daily-assets-live-meta{color:#805000}.daily-assets-live-error{color:#9b3028}.daily-assets-note{color:var(--muted);margin:10px 2px 0;font-size:10px;line-height:1.45}.profit-chart-panel{border:1px solid var(--line);background:var(--surface);border-radius:22px;width:100%;min-width:0;max-width:100%;margin-bottom:16px;padding:18px 20px 12px;overflow:hidden}.profit-chart-heading{justify-content:space-between;align-items:flex-end;gap:16px;display:flex}.profit-chart-heading>div{gap:3px;display:grid}.profit-chart-heading span{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:11px;font-weight:750}.profit-chart-heading h2{letter-spacing:-.035em;margin:0;font-size:19px}.profit-chart-heading strong{font-size:14px;font-weight:500}.profit-chart-actions{justify-items:end;gap:8px;display:grid}.profit-chart-navigator{gap:7px;margin:2px 18px 4px;display:grid}.profit-navigator-heading,.profit-range-ends{justify-content:space-between;align-items:center;gap:12px;display:flex}.profit-navigator-heading strong{font-size:12px;font-weight:500}.profit-navigator-heading button{border:1px solid var(--line-strong);min-height:28px;color:var(--muted);background:0 0;border-radius:999px;padding:4px 11px;font-size:11px;font-weight:700}.profit-range-track{--range-start:0%;--range-end:100%;touch-action:none;background:#1414131a;border-radius:999px;height:24px;position:relative;box-shadow:inset 0 1px 2px #14141314}.profit-range-selection{top:5px;bottom:5px;left:var(--range-start);right:calc(100% - var(--range-end));background:var(--ink);border-radius:999px;position:absolute}.profit-range-handle{z-index:3;touch-action:none;cursor:grab;background:0 0;border:0;border-radius:50%;width:44px;height:44px;padding:0;position:absolute;top:50%;transform:translate(-50%,-50%)}.profit-range-handle:after{content:"";border:3px solid var(--ink);background:var(--surface-strong);border-radius:50%;position:absolute;inset:11px;box-shadow:0 2px 7px #14141333}.profit-range-handle:active{cursor:grabbing}.profit-range-handle:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.profit-range-handle-end{z-index:4}.profit-range-mobile{display:none}.profit-range-mobile label{gap:3px;display:grid}.profit-range-mobile label>span{justify-content:space-between;align-items:center;gap:12px;display:flex}.profit-range-mobile input[type=range]{width:100%;min-height:44px;box-shadow:none;accent-color:var(--ink);touch-action:manipulation;background:0 0;border:0;margin:0;padding:0}.profit-range-ends{color:var(--muted);font-size:10px}@media (max-width:820px),(hover:none) and (pointer:coarse){.profit-range-track{display:none}.profit-range-mobile{gap:5px;display:grid}}.profit-chart-legend{color:var(--muted);gap:14px;margin-top:12px;font-size:11px;display:flex}.profit-chart-legend span{align-items:center;gap:6px;display:inline-flex}.profit-chart-legend i{background:#0f9f6e;border-radius:2px;width:10px;height:10px;display:inline-block}.profit-chart-legend .profit-line-key{background:var(--accent);border-radius:999px;width:18px;height:2px}.profit-chart{width:100%;min-width:0;max-width:100%;height:auto;margin-top:2px;display:block;overflow:visible}.profit-grid-line{stroke:#14141312;stroke-width:1px}.profit-zero-line{stroke:#14141340;stroke-width:1px}.profit-bar-positive{fill:#0f9f6e}.profit-bar-negative{fill:#cf3d2a}.profit-cumulative-line{fill:none;stroke:var(--accent);stroke-width:2.5px;stroke-linecap:round;stroke-linejoin:round}.profit-cumulative-point{fill:var(--surface-strong);stroke:var(--accent);stroke-width:2px}.profit-month-label,.profit-axis-label{fill:var(--muted);font-family:var(--font-number);font-size:10px;font-weight:500}.profit-chart-empty{color:var(--muted);margin:24px 0 10px;font-size:13px}.performance-panel{border:1px solid var(--line);background:var(--surface);border-radius:22px;width:100%;min-width:0;max-width:100%;margin-bottom:16px;padding:20px;overflow:hidden}.performance-heading,.performance-controls,.performance-legend,.performance-meta{justify-content:space-between;align-items:center;gap:12px;display:flex}.performance-heading>div{gap:3px;display:grid}.performance-heading span{color:var(--muted);letter-spacing:.08em;font-size:11px;font-weight:750}.performance-heading h2{letter-spacing:-.035em;margin:0;font-size:20px}.performance-heading strong{font-size:18px;font-weight:500}.performance-controls{align-items:flex-start;margin-top:16px}.performance-mode-switch,.performance-benchmark-switches{flex-wrap:wrap;gap:7px;display:flex}.performance-mode-switch{background:#14141312;border-radius:999px;padding:3px}.performance-mode-switch button,.performance-benchmark-switches button{min-height:32px;color:var(--muted);background:0 0;border:1px solid #0000;border-radius:999px;padding:6px 11px;font-size:11px;font-weight:750}.performance-mode-switch button.is-active{background:var(--surface-strong);color:var(--ink);box-shadow:0 1px 4px #1414131f}.performance-benchmark-switches button{border-color:var(--line)}.performance-benchmark-switches button.is-active{background:var(--surface-strong);border-color:currentColor}.performance-benchmark-switches .benchmark-sp500{color:#d95f02}.performance-benchmark-switches .benchmark-nasdaq100{color:#2768c7}.performance-benchmark-switches .benchmark-kospi200{color:#168568}.performance-notice{background:#cf45000f;border:1px solid #cf450033;border-radius:16px;gap:6px;margin:18px 0 8px;padding:16px;display:grid}.performance-notice strong{font-size:14px}.performance-notice span{color:var(--muted);font-size:12px;line-height:1.5}.performance-legend{color:var(--muted);flex-wrap:wrap;justify-content:flex-start;margin-top:16px;font-size:11px}.performance-legend span{align-items:center;gap:6px;display:inline-flex}.performance-legend strong{color:var(--ink);font-weight:500}.performance-legend i{border-radius:999px;width:18px;height:3px;display:inline-block}.performance-chart{width:100%;height:auto;display:block;overflow:visible}.performance-line{fill:none;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round}.performance-line-portfolio{stroke:var(--ink);background:var(--ink)}polyline.performance-line-portfolio{stroke-width:3px}.performance-line-sp500{stroke:#d95f02;background:#d95f02}.performance-line-nasdaq100{stroke:#2768c7;background:#2768c7}.performance-line-kospi200{stroke:#168568;background:#168568}.performance-baseline{stroke:#14141352;stroke-width:1px;stroke-dasharray:4 4}.performance-endpoint{fill:var(--surface-strong);stroke:var(--ink);stroke-width:2px}.performance-meta{color:var(--muted);flex-wrap:wrap;justify-content:flex-start;margin:-2px 18px 14px;font-size:10px}.performance-estimated{color:#9b4b00}.performance-notes{color:var(--muted);flex-wrap:wrap;gap:5px 12px;margin:8px 18px 0;font-size:10px;display:flex}.annual-performance{border-top:1px solid var(--line);min-width:0;margin:20px 0 16px;padding-top:18px}.annual-performance-heading{justify-content:space-between;align-items:flex-end;gap:12px;margin:0 18px 10px;display:flex}.annual-performance-heading>div{gap:3px;display:grid}.annual-performance-heading span{color:var(--muted);letter-spacing:.08em;font-size:10px;font-weight:750}.annual-performance-heading h3{letter-spacing:-.025em;margin:0;font-size:17px}.annual-performance-heading p{max-width:420px;color:var(--muted);text-align:right;margin:0;font-size:10px;line-height:1.45}.annual-performance-chart-scroll,.annual-performance-table-scroll{overscroll-behavior-inline:contain;width:100%;max-width:100%;overflow-x:auto}.annual-performance-chart{width:max(100%,760px);height:auto;display:block;overflow:visible}.annual-performance-bar{opacity:.86;stroke:none}.annual-performance-bar.performance-line-portfolio{fill:var(--ink)}.annual-performance-bar.performance-line-sp500{fill:#d95f02}.annual-performance-bar.performance-line-nasdaq100{fill:#2768c7}.annual-performance-bar.performance-line-kospi200{fill:#168568}.annual-performance-table-scroll{border:1px solid var(--line);border-radius:14px;margin-top:8px}.annual-performance-table{border-collapse:collapse;width:100%;min-width:620px;font-size:12px}.annual-performance-table th,.annual-performance-table td{border-bottom:1px solid var(--line);white-space:nowrap;padding:10px 12px}.annual-performance-table tr:last-child th,.annual-performance-table tr:last-child td{border-bottom:0}.annual-performance-table thead th{color:var(--muted);text-align:right;background:#14141309;font-size:10px;font-weight:750}.annual-performance-table thead th:first-child,.annual-performance-table tbody th{z-index:1;text-align:left;position:sticky;left:0}.annual-performance-table thead th:first-child{z-index:2}.annual-performance-table tbody th{background:var(--surface);font-weight:700}.annual-performance-table tbody th small{color:var(--muted);background:#14141312;border-radius:999px;margin-left:6px;padding:2px 6px;font-size:9px;display:inline-block}.annual-performance-table td{text-align:right;font-weight:500}@media (max-width:640px){.daily-assets-panel{padding:16px 12px 12px}.daily-assets-heading{flex-direction:column;align-items:flex-start;gap:8px}.daily-assets-heading-actions{flex-wrap:wrap;justify-content:flex-start;align-items:flex-start;width:100%}.daily-assets-latest{justify-items:start}.profit-chart-panel{padding:16px 12px 8px}.profit-chart-heading{flex-direction:column;align-items:flex-start;gap:6px}.profit-chart-actions{justify-items:start;width:100%}.profit-chart-navigator{margin-inline:10px}.performance-panel{padding:16px 12px 12px}.performance-heading,.performance-controls{flex-direction:column;align-items:flex-start}.performance-controls,.performance-mode-switch,.performance-benchmark-switches{width:100%}.performance-benchmark-switches button{flex:auto}.performance-meta,.performance-notes{margin-inline:10px}.annual-performance-heading{flex-direction:column;align-items:flex-start;margin-inline:10px}.annual-performance-heading p{text-align:left}}.apr-workspace{gap:16px;display:grid}.apr-heading{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.apr-heading h1{letter-spacing:-.055em;margin:0;font-size:clamp(28px,4vw,42px)}.apr-heading>div>p:last-child{max-width:700px;color:var(--muted);margin:8px 0 0;font-size:14px;line-height:1.5}.apr-eyebrow,.apr-panel-heading p{color:var(--accent);letter-spacing:.1em;text-transform:uppercase;margin:0 0 5px;font-size:11px;font-weight:750}.apr-status{border:1px solid var(--line);background:var(--surface);color:var(--muted);white-space:nowrap;border-radius:999px;padding:8px 11px;font-size:12px;font-weight:700}.apr-status-stale,.apr-status-partial{color:#805000;border-color:#a467004d}.apr-status-unavailable{color:#8f251c;border-color:#9822184d}.apr-notice{color:var(--muted);background:#ffffff94;border:1px solid #1414131f;border-radius:14px;padding:12px 14px;font-size:13px;line-height:1.45}.apr-notice-error{color:#80251e;background:#f9e4e1;border-color:#98221840}.apr-notice-warning{color:#765000;background:#fbf1dd;border-color:#a4670040}.apr-card-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;display:grid}.apr-summary-card{border:1px solid var(--line);background:var(--surface);border-radius:18px;flex-direction:column;min-height:188px;padding:16px;display:flex}.apr-summary-card p,.apr-summary-card small,.apr-summary-card footer{color:var(--muted)}.apr-summary-card p{min-height:30px;margin:0;font-size:12px;font-weight:700;line-height:1.25}.apr-summary-card>strong{font-family:var(--font-number);letter-spacing:-.05em;margin-top:9px;font-size:25px}.apr-summary-card>span{min-height:18px;color:var(--accent);font-family:var(--font-number);margin-top:2px;font-size:12px}.apr-summary-card small{margin-top:7px;font-size:11px;line-height:1.35}.apr-summary-card footer{border-top:1px solid var(--line);overflow-wrap:anywhere;margin-top:auto;padding-top:10px;font-size:9px;line-height:1.4}.apr-panel{border:1px solid var(--line);background:var(--surface);border-radius:20px;padding:18px;overflow:hidden}.apr-panel-heading{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:16px;display:flex}.apr-panel-heading h2{letter-spacing:-.035em;margin:0;font-size:19px}.apr-panel-heading>span{color:var(--muted);text-align:right;font-size:11px}.apr-table-scroll{overflow-x:auto}.apr-table{min-width:1080px}.apr-table th,.apr-table td{padding:11px 12px;font-size:12px}.apr-table td{line-height:1.45}.apr-table td:first-child{min-width:190px}.apr-table td strong{font-size:13px}.apr-setup{color:#8f251c;margin-top:5px;font-size:10px;font-weight:650;display:block}.apr-empty,.apr-chart-empty{border:1px dashed var(--line-strong);min-height:130px;color:var(--muted);text-align:center;border-radius:14px;place-items:center;padding:20px;font-size:13px;line-height:1.5;display:grid}.apr-controls{flex-wrap:wrap;align-items:end;gap:10px;margin-bottom:14px;display:flex}.apr-controls label{min-width:190px;color:var(--muted);gap:5px;font-size:11px;font-weight:700;display:grid}.apr-controls fieldset{border:0;gap:4px;margin:0;padding:0;display:flex}.apr-controls legend{color:var(--muted);margin-bottom:5px;font-size:11px;font-weight:700}.apr-controls button{border:1px solid var(--line-strong);min-height:39px;color:var(--muted);background:0 0;border-radius:10px;padding:7px 12px;font-size:12px;font-weight:700}.apr-controls button.is-active{border-color:var(--ink);background:var(--ink);color:var(--bg)}.apr-chart-wrap{border:1px solid var(--line);background:var(--surface-strong);border-radius:14px;padding:12px}.apr-chart{width:100%;height:auto;display:block;overflow:visible}.apr-chart line{stroke:var(--line-strong);stroke-width:1px}.apr-chart text{fill:var(--muted);font-family:var(--font-number);font-size:10px}.apr-chart-line,.apr-chart-ma{fill:none;stroke-linecap:round;stroke-linejoin:round}.apr-chart-line{stroke:var(--ink);stroke-width:2.5px}.apr-chart-ma{stroke:var(--accent);stroke-width:2px;stroke-dasharray:5 4}.apr-chart-legend{color:var(--muted);flex-wrap:wrap;gap:14px;margin:2px 14px 0;font-size:10px;display:flex}.apr-chart-legend span{align-items:center;gap:5px;display:inline-flex}.apr-chart-legend i{border-radius:4px;width:18px;height:3px}.apr-key-value{background:var(--ink)}.apr-key-ma{background:var(--accent)}.apr-history-grid{grid-template-columns:1fr 1fr;gap:26px;display:grid}.apr-history-grid h3{margin:0 0 9px;font-size:13px}.apr-history-list{color:var(--muted);gap:8px;margin:0;padding-left:18px;font-size:12px;line-height:1.45;display:grid}.apr-history-list strong{color:var(--ink)}.apr-history-list a{color:var(--accent);text-underline-offset:2px;text-decoration:underline}.apr-muted{color:var(--muted);margin:0;font-size:12px}.apr-decision-panel{padding:20px}.apr-signal-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.apr-signal-card{border:1px solid var(--line);border-left:3px solid var(--line-strong);background:var(--surface-strong);border-radius:15px;gap:8px;min-height:154px;padding:14px;display:grid}.apr-signal-card.is-up{border-left-color:#18825f}.apr-signal-card.is-down{border-left-color:#a33b31}.apr-signal-card.is-flat{border-left-color:#9a6b14}.apr-signal-card>div{justify-content:space-between;align-items:center;gap:8px;display:flex}.apr-signal-card p{color:var(--muted);margin:0;font-size:11px;line-height:1.45}.apr-signal-card>div>p{color:var(--ink);font-size:12px;font-weight:750}.apr-signal-card>strong{letter-spacing:-.055em;font-size:30px}.apr-signal-card>strong small,.apr-opportunity-card header>strong small{color:var(--muted);margin-left:3px;font-size:11px;font-weight:650}.apr-signal-card footer{color:var(--muted);margin-top:auto;font-size:9px}.apr-direction{color:var(--muted);background:#1414130f;border-radius:999px;padding:4px 7px;font-size:9px;font-weight:750}.apr-opportunity-grid{grid-template-columns:repeat(auto-fit,minmax(235px,1fr));gap:10px;display:grid}.apr-opportunity-card{border:1px solid var(--line);background:var(--surface-strong);border-radius:16px;flex-direction:column;gap:12px;min-height:236px;padding:15px;display:flex}.apr-opportunity-card header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.apr-opportunity-card h3{letter-spacing:-.02em;margin:6px 0 0;font-size:14px;line-height:1.35}.apr-opportunity-card header>strong{letter-spacing:-.04em;flex:none;font-size:24px}.apr-opportunity-status{color:var(--muted);background:#1414130f;border-radius:999px;padding:4px 7px;font-size:9px;font-weight:800;display:inline-flex}.apr-opportunity-status.is-opportunity{color:#12684c;background:#18825f1c}.apr-opportunity-status.is-watch{color:#77510c;background:#9a6b141f}.apr-property-scores{grid-template-columns:repeat(3,1fr);gap:5px;display:grid}.apr-property-scores span{color:var(--muted);background:#1414130b;border-radius:9px;gap:2px;padding:7px;font-size:9px;display:grid}.apr-property-scores strong{color:var(--ink);font-family:var(--font-number);font-size:13px}.apr-product-evidence{color:var(--muted);gap:5px;font-size:10px;display:grid}.apr-product-evidence span{justify-content:space-between;gap:8px;display:flex}.apr-product-evidence strong{color:var(--ink);font-family:var(--font-number);text-align:right}.apr-query-pills{flex-wrap:wrap;gap:5px;margin-top:auto;display:flex}.apr-query-pills span{border:1px solid var(--line);max-width:100%;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;border-radius:999px;padding:4px 7px;font-size:9px;overflow:hidden}.apr-insight-grid{grid-template-columns:1fr 1fr;gap:16px;min-width:0;display:grid}.apr-compact-panel{min-width:0}.apr-ranked-signals{gap:0;margin:0;padding:0;list-style:none;display:grid}.apr-ranked-signals li{border-top:1px solid var(--line);grid-template-columns:46px minmax(0,1fr);gap:12px;padding:12px 0;display:grid}.apr-ranked-signals li:first-child{border-top:0;padding-top:0}.apr-ranked-signals li>strong{letter-spacing:-.04em;font-size:19px}.apr-ranked-signals li>strong small{color:var(--muted);letter-spacing:0;margin-top:2px;font-size:8px;font-weight:700;display:block}.apr-ranked-signals h3{text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:13px;line-height:1.3;overflow:hidden}.apr-ranked-signals h3 a{color:inherit;text-decoration:none}.apr-ranked-signals h3 a:hover{color:var(--accent)}.apr-ranked-signals p,.apr-ranked-signals span{color:var(--muted);margin:3px 0 0;font-size:10px;line-height:1.4}.apr-ranked-signals li div>span{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.apr-details{padding:0}.apr-details>summary{cursor:pointer;justify-content:space-between;align-items:center;gap:16px;min-height:74px;padding:18px 20px;list-style:none;display:flex}.apr-details>summary::-webkit-details-marker{display:none}.apr-details>summary span:first-child{gap:4px;display:grid}.apr-details>summary strong{font-size:15px}.apr-details>summary small,.apr-details>summary span:last-child{color:var(--muted);font-size:10px}.apr-details[open]>summary{border-bottom:1px solid var(--line)}.apr-details[open]>summary span:last-child{font-size:0}.apr-details[open]>summary span:last-child:after{content:"닫기";font-size:10px}.apr-details-body{background:#14141306;gap:14px;padding:14px;display:grid}.apr-details-body>.apr-panel{box-shadow:none;border-radius:14px}@media (max-width:1050px){.apr-card-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.apr-signal-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.apr-insight-grid{grid-template-columns:1fr}}@media (max-width:640px){.apr-heading{flex-direction:column}.apr-status{white-space:normal}.apr-card-grid,.apr-signal-grid{grid-template-columns:1fr}.apr-summary-card{min-height:160px}.apr-panel{padding:14px}.apr-details{padding:0}.apr-details>summary{padding:15px}.apr-details-body{padding:8px}.apr-panel-heading{flex-direction:column}.apr-panel-heading>span{text-align:left}.apr-controls{align-items:stretch}.apr-controls label{width:100%}.apr-history-grid{grid-template-columns:1fr;gap:20px}.apr-opportunity-grid{grid-template-columns:1fr}}.backtest-workspace{gap:16px;display:grid}.backtest-badge{color:#9a3707;font:700 11px/1 var(--font-number);white-space:nowrap;background:#cf450012;border:1px solid #cf450047;border-radius:999px;padding:8px 12px}.backtest-warning{color:#765000;background:#fbf1dd;border:1px solid #a4670040;border-radius:14px;align-items:baseline;gap:12px;padding:12px 14px;font-size:12px;line-height:1.5;display:flex}.backtest-warning strong{color:#5f4000;flex:none}.backtest-layout{grid-template-columns:minmax(280px,360px) minmax(0,1fr);align-items:start;gap:16px;display:grid}.backtest-panel{border:1px solid var(--line);background:var(--surface);border-radius:20px;padding:18px}.backtest-form{gap:15px;display:grid;position:sticky;top:16px}.backtest-panel-heading{justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.backtest-panel-heading span,.backtest-empty>span{color:var(--accent);letter-spacing:.1em;font-size:10px;font-weight:800}.backtest-panel-heading h2{letter-spacing:-.035em;margin:3px 0 0;font-size:18px}.backtest-panel-heading small{max-width:190px;color:var(--muted);text-align:right;font-size:10px;line-height:1.4}.backtest-form label{color:var(--muted);gap:6px;font-size:11px;font-weight:700;display:grid}.backtest-form label small{font-size:9px;font-weight:500;line-height:1.4}.backtest-code-field textarea{min-height:72px;font-family:var(--font-number);font-size:13px}.backtest-field-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.backtest-costs{grid-template-columns:repeat(3,minmax(0,1fr))}.backtest-costs input{padding-inline:8px}.backtest-fixed-contract{border-top:1px solid var(--line);gap:7px;margin:0;padding-top:13px;font-size:10px;display:grid}.backtest-fixed-contract div{justify-content:space-between;gap:12px;display:flex}.backtest-fixed-contract dt{color:var(--muted)}.backtest-fixed-contract dd{text-align:right;margin:0;font-weight:700}.backtest-submit{width:100%}.backtest-error{color:#80251e;background:#f9e4e1;border-radius:12px;margin:0;padding:10px 12px;font-size:11px;line-height:1.4}.backtest-results{gap:12px;min-width:0;display:grid}.backtest-empty{text-align:center;place-content:center;min-height:260px;display:grid}.backtest-empty strong{margin-top:8px;font-size:18px}.backtest-empty p{max-width:430px;color:var(--muted);margin:8px auto 0;font-size:12px;line-height:1.5}.backtest-metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.backtest-metrics article{border:1px solid var(--line);background:var(--surface);border-radius:17px;min-height:126px;padding:14px;display:grid}.backtest-metrics span,.backtest-metrics small{color:var(--muted);font-size:10px}.backtest-metrics strong{font-family:var(--font-number);letter-spacing:-.06em;align-self:end;font-size:clamp(20px,2.4vw,28px)}.backtest-metrics small{margin-top:4px}.backtest-curve-panel{overflow:hidden}.backtest-chart-wrap{border:1px solid var(--line);background:var(--surface-strong);border-radius:14px;margin-top:18px;padding:10px}.backtest-chart{width:100%;height:auto;display:block}.backtest-chart line{stroke:var(--line-strong)}.backtest-chart polyline{fill:none;stroke:var(--accent);stroke-width:3px;stroke-linecap:round;stroke-linejoin:round}.backtest-chart-dates{color:var(--muted);font:9px/1 var(--font-number);justify-content:space-between;padding:4px 14px 2px;display:flex}.backtest-hashes{color:var(--muted);font:8px/1.35 var(--font-number);overflow-wrap:anywhere;gap:4px;margin-top:10px;display:grid}.backtest-limitations ul{gap:0;margin:14px 0 0;padding:0;list-style:none;display:grid}.backtest-limitations li{border-top:1px solid var(--line);grid-template-columns:minmax(180px,.8fr) minmax(0,1.5fr);gap:12px;padding:10px 0;font-size:10px;line-height:1.4;display:grid}.backtest-limitations li strong{font-family:var(--font-number);font-size:9px}.backtest-limitations li span{color:var(--muted)}@media (max-width:900px){.backtest-layout{grid-template-columns:1fr}.backtest-form{position:static}.backtest-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:560px){.backtest-warning{flex-direction:column;align-items:flex-start;gap:4px}.backtest-field-grid,.backtest-costs,.backtest-metrics{grid-template-columns:1fr}.backtest-panel-heading{flex-direction:column}.backtest-panel-heading small{text-align:left}.backtest-limitations li{grid-template-columns:1fr;gap:4px}}.screener-workspace{gap:20px;padding-bottom:56px;display:grid}.screener-stack{gap:18px;display:grid}.screener-card{border:1px solid var(--line,#dfe3e8);background:var(--panel,#fff);border-radius:16px;padding:20px;box-shadow:0 8px 30px #0f172a0d}.screener-card h2{margin:0 0 14px;font-size:18px}.screener-card h3{margin:0;font-size:15px}.screener-main-card{gap:22px;display:grid}.screener-main-card>h2{margin-bottom:-4px}.screener-market-section{border-bottom:1px solid var(--line,#dfe3e8);gap:10px;padding-bottom:22px;display:grid}.screener-card label{gap:7px;margin-top:14px;font-size:13px;font-weight:650;display:grid}.screener-card input,.screener-card select{color:#17202a;background:#fff;border:1px solid #cbd2da;border-radius:9px;min-height:40px;padding:8px 10px}.screener-card select[multiple]{min-height:122px}.screener-chips,.screener-search-results{flex-wrap:wrap;gap:7px;display:flex}.screener-chips button,.screener-search-results button,.screener-condition button,.screener-pagination button,.screener-conditions>button:not(.primary-button){cursor:pointer;background:#fff;border:1px solid #cbd2da;border-radius:999px;padding:8px 11px}.screener-chips button.selected,.screener-search-results button.selected{color:#0b4c3c;background:#e9f7f2;border-color:#135f4b}.screener-search-results{max-height:190px;margin-top:9px;overflow:auto}.screener-section-head{justify-content:space-between;align-items:center;gap:16px;display:flex}.screener-section-head h2,.screener-section-head h3{margin:0}.screener-condition{grid-template-columns:minmax(220px,1.6fr) 110px 110px 110px auto;gap:8px;margin:10px 0;display:grid}.screener-conditions{gap:4px;display:grid}.screener-conditions>.primary-button{width:100%;margin-top:16px}.screener-summary{flex-wrap:wrap;gap:12px;font-size:13px;display:flex}.screener-table-wrap{margin-top:16px;overflow:auto}.screener-table-wrap table{border-collapse:collapse;white-space:nowrap;width:100%;font-size:13px}.screener-table-wrap th,.screener-table-wrap td{text-align:left;border-bottom:1px solid #edf0f2;padding:10px}.screener-table-wrap th{background:#f7f8fa;position:sticky;top:0}.screener-pagination{justify-content:center;align-items:center;gap:14px;margin-top:16px;display:flex}.screener-backtest p{color:#65717d}.screener-date-row{grid-template-columns:180px 180px auto;align-items:end;gap:12px;display:grid}.screener-date-row label{margin:0}.screener-date-row .primary-button{min-height:40px}.screener-backtest-result{background:#f1f7f5;border-radius:12px;flex-wrap:wrap;align-items:baseline;gap:12px;margin-top:18px;padding:18px;display:flex}.screener-backtest-result strong{color:#0b4c3c;font-size:28px}.screener-backtest-result small{color:#65717d;width:100%}@media (max-width:900px){.screener-condition{grid-template-columns:1fr 100px 1fr}.screener-date-row{grid-template-columns:1fr}}
