:root{color-scheme:dark;--bg:#0b121a;--panel:#101c27;--line:#243240;--text:#e6edf3;--muted:#91a3b3;--green:#54d7ad;--red:#f47d87;--blue:#76a9fb}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,"Malgun Gothic",system-ui,sans-serif;font-size:15px;line-height:1.55}button,input,select{font:inherit}button{background:#182735;color:var(--text);border:1px solid var(--line);border-radius:6px;padding:6px 11px;cursor:pointer}button:hover{background:#263b4d}button:disabled{opacity:.35;cursor:default}button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--green);outline-offset:2px}header{height:66px;display:flex;align-items:center;justify-content:space-between;padding:0 28px;border-bottom:1px solid var(--line);background:#0d1822}.brand{font-size:19px;font-weight:700;display:flex;align-items:center;gap:12px}.brand-icon{color:var(--green);font-size:29px}.brand small{font-size:13px;font-weight:400;color:var(--muted);margin-left:12px}main{display:grid;grid-template-columns:292px minmax(0,1fr);max-width:2100px;margin:auto}aside{border-right:1px solid var(--line);height:calc(100vh - 66px);position:sticky;top:0;display:flex;flex-direction:column;background:#0d1720}.aside-head{padding:20px 22px 8px}h1{font-size:22px;margin:0}h2{font-size:25px;margin:5px 0}h3{font-size:16px;font-weight:650;margin:0 0 15px}p{margin:6px 0;color:var(--muted)}.filters{padding:0 20px 14px;display:grid;gap:10px;border-bottom:1px solid var(--line)}label{font-size:13px;color:var(--muted);display:block}.filters input,.filters select{width:100%;margin-top:4px;border:1px solid var(--line);background:#111f2b;color:var(--text);padding:7px;border-radius:5px;min-width:0}.filter-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.subtle{color:var(--muted);background:none;border:none;padding:0;text-align:left;font-size:13px}.trade-list{overflow:auto;flex:1;min-height:160px}.trade-item{width:100%;background:none;border:0;border-bottom:1px solid #1a2936;border-radius:0;text-align:left;padding:15px 20px;display:block}.trade-item.active{background:#163329;border-left:3px solid var(--green);padding-left:17px}.trade-item-top{display:flex;justify-content:space-between;gap:8px;font-weight:600}.trade-item small{font-size:12px;color:var(--muted);display:block;margin-top:5px}.badge{font-size:11px;padding:2px 5px;border-radius:3px;background:#203342;margin-left:5px}.positive,.entry{color:var(--green)}.negative,.exit{color:var(--red)}.pagination{display:flex;justify-content:space-between;align-items:center;padding:10px;border-top:1px solid var(--line);font-size:12px}.pagination button{font-size:12px}.workspace{min-width:0;padding:24px 28px}.eyebrow{font-size:11px;letter-spacing:2px;color:var(--green);font-weight:700}.trade-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.trade-heading p{font-size:13px}.trade-nav{display:flex;gap:6px}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:20px}.stat{border:1px solid var(--line);border-radius:8px;background:var(--panel);padding:15px 18px}.stat label{font-size:12px}.stat strong{display:block;font-size:23px;letter-spacing:-.5px;margin:3px 0}.stat small{font-size:12px;color:var(--muted)}.chart-section{border:1px solid var(--line);border-radius:9px;overflow:hidden;background:#0e1923}.chart-toolbar{display:flex;justify-content:space-between;align-items:center;padding:12px 14px;gap:12px;flex-wrap:wrap;border-bottom:1px solid var(--line)}.intervals{display:flex;gap:3px;flex-wrap:wrap}.intervals button{font-size:13px;border-color:transparent;background:none;padding:5px 9px}.intervals button.active{background:var(--green);color:#071710;font-weight:700}.chart-options{display:flex;align-items:center;gap:12px}.chart-options label{display:flex;align-items:center;gap:4px;white-space:nowrap}.chart-options button{font-size:12px}.chart-caption{display:flex;justify-content:space-between;gap:8px;color:var(--muted);font-size:12px;padding:9px 15px;min-height:36px;flex-wrap:wrap}#chartWrap{position:relative}#chart{height:430px}#chartStatus{position:absolute;inset:0;display:grid;place-items:center;background:#0e1923ec;color:var(--muted);text-align:center;padding:30px;pointer-events:none}#chartStatus[hidden]{display:none}.legend{display:flex;flex-wrap:wrap;align-items:center;gap:17px;font-size:12px;color:var(--muted);padding:10px 15px;border-top:1px solid var(--line)}a{color:var(--blue)}.legend a{margin-left:auto;font-size:11px}.details-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:22px;margin-top:24px}.analysis-panel,.numbers-panel,.ledger{padding:20px;border:1px solid var(--line);border-radius:8px;background:var(--panel)}.analysis-entry{margin:12px 0}.analysis-entry b{font-size:14px;display:block;margin-bottom:3px}.analysis-entry p{font-size:14px;line-height:1.75}.fact-label{font-size:11px;color:var(--green);margin-right:6px}.inference-label{font-size:11px;color:var(--blue);margin-right:6px}.metric-row{display:flex;justify-content:space-between;gap:10px;padding:7px 0;border-bottom:1px solid #21303d;font-size:14px}.metric-row span{color:var(--muted)}.metric-row strong{font-variant-numeric:tabular-nums;font-weight:500;text-align:right}.note{font-size:12px;color:var(--muted);line-height:1.8;margin-top:12px}.ledger{margin-top:22px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.section-heading h3{margin:0}.section-heading span{font-size:12px;color:var(--muted)}.section-heading button{font-size:12px}.muted{font-size:12px}.table-scroll{overflow:auto;max-height:490px;margin-top:15px}table{width:100%;border-collapse:collapse;white-space:nowrap;font-size:13px}th{position:sticky;top:0;background:#152432;text-align:right;color:var(--muted);font-weight:500;padding:10px}td{padding:10px;border-bottom:1px solid #24313e;text-align:right;font-variant-numeric:tabular-nums}th:first-child,td:first-child,th:nth-child(2),td:nth-child(2){text-align:left}tbody tr{cursor:pointer}tbody tr:hover{background:#1d3241}tbody tr.selected{background:#204138}footer{font-size:12px;color:var(--muted);padding:22px 0}dialog{background:var(--panel);color:var(--text);border:1px solid #3d5266;border-radius:12px;max-width:720px;width:calc(100% - 32px);max-height:85vh;padding:25px}dialog::backdrop{background:#0009}.dialog-top{display:flex;justify-content:space-between;align-items:center}dialog p,dialog li{font-size:15px;line-height:1.8}.empty{padding:35px 20px;text-align:center;color:var(--muted)}@media(min-width:1600px){#chart{height:520px}}@media(max-width:1050px){main{grid-template-columns:245px minmax(0,1fr)}.workspace{padding:18px}.stats{grid-template-columns:repeat(2,1fr)}.details-grid{grid-template-columns:1fr}.brand small{display:none}}@media(max-width:720px){header{padding:0 15px}main{display:block}aside{position:static;height:auto;border-right:0}.aside-head{padding:14px 18px 0}.filters{grid-template-columns:1fr 1fr;gap:8px;padding:10px 18px}.filter-row{gap:6px}.trade-list{max-height:240px;min-height:0}.trade-item{padding:10px 18px}.workspace{padding:16px 12px}.trade-heading h2{font-size:22px}.stat{padding:12px}.stat strong{font-size:20px}.chart-options{flex-wrap:wrap}#chart{height:370px}.chart-caption{font-size:11px}.analysis-panel,.numbers-panel,.ledger{padding:15px}.section-heading{align-items:flex-start;flex-wrap:wrap}}
[hidden]{display:none!important}#filterPanel{border-bottom:1px solid var(--line)}#filterPanel summary{padding:12px 20px;color:var(--green);cursor:pointer;font-size:13px}#filterPanel .filters{border:0}.trade-item{padding:10px 16px}.trade-item-top{font-size:13px}.view-tabs{display:flex;gap:8px;margin-bottom:22px}.view-tabs .active,#visibleTrades .active{background:#194b3c;color:#72edc4;border-color:#337a62}#maLegend{display:flex;flex-wrap:wrap;gap:12px;padding:10px 15px;border-top:1px solid var(--line)}#maLegend label{font-size:12px}#maLegend input{accent-color:currentColor}#maLegend .muted{margin-left:auto}.visible-trades{padding:14px 16px;border:1px solid var(--line);border-radius:8px;margin-top:12px;background:var(--panel)}.visible-trades b{font-size:13px}.visible-trades p{font-size:12px}#visibleTrades{display:flex;gap:6px;overflow:auto;padding:8px 0;max-height:130px;flex-wrap:wrap}#visibleTrades button{font-size:12px;white-space:nowrap}#equityChart{height:460px;border:1px solid var(--line);border-radius:8px;overflow:hidden}#equitySummary{display:grid;grid-template-columns:1fr .6fr 1.2fr;gap:16px;margin:22px 0}#equitySummary>div{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:18px}#equitySummary span{display:block;font-size:12px;color:var(--muted)}#equitySummary strong{display:block;font-size:24px;margin-top:6px}#equitySummary .date-range{font-size:16px}#equityDetails{padding:18px;border:1px solid var(--line);border-radius:8px;margin-top:16px;min-height:90px}.equity-trade{display:flex;align-items:center;justify-content:space-between;gap:16px;font-size:13px;padding:8px 0}.stats .stat strong{font-size:23px}@media(max-width:720px){#equitySummary{grid-template-columns:1fr}#equityChart{height:360px}.equity-trade{flex-wrap:wrap}#maLegend .muted{margin-left:0}}

#positionBand{position:absolute;top:0;bottom:28px;background:rgba(84,215,173,.055);border-left:2px dashed #54d7ad;border-right:2px dashed #f47d87;pointer-events:none;z-index:2;overflow:hidden}#bandTitle{display:block;width:max-content;max-width:100%;padding:3px 8px;background:#183e35dd;color:#a5f5d9;font-size:11px;white-space:nowrap;overflow:hidden}#focusInfo{display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding:12px 15px;border-top:1px solid #243240;background:#12252a;font-size:12px}#focusInfo>b{color:#a5f5d9;margin-right:8px}#focusInfo small{flex-basis:100%;color:#91a3b3;font-size:11px}.stage{padding:2px 6px;border-radius:4px;background:#0c1824}.stage.add{color:#76a9fb}.stage.reduce{color:#f2b900}.stage.close{color:#f47d87}.trade-item.active{background:#184a3e;border:1px solid #54d7ad;border-left:6px solid #72f7c7;box-shadow:inset 0 0 18px #54d7ad18}.trade-item.active .trade-item-top{font-weight:700;color:#fff}.selected-label{display:block;color:#a6ffe0;font-size:11px;font-weight:700;letter-spacing:.5px;margin-bottom:5px}

.event-key{display:flex;gap:8px;overflow:auto;width:100%;padding:3px 0}.event-key button{flex-shrink:0;font-size:12px;padding:4px 8px;background:#101c27}.event-key b{display:inline-block;border:1px solid currentColor;border-radius:50%;min-width:20px;text-align:center;margin-right:4px}

#tradeLinks{position:absolute;inset:0;pointer-events:none;z-index:4;overflow:hidden}#tradeLinks button{position:absolute;pointer-events:auto;font-size:11px;padding:2px 5px;color:#b5d9f5;background:#102c40e8;border:1px solid #426981;border-radius:4px;white-space:nowrap}#tradeLinks button:hover{background:#24556e;color:white;border-color:#a3e4ff}

#tradeLinks button.long-entry{color:#83ebbc;border-color:#37896a}#tradeLinks button.short-entry{color:#ffa0a9;border-color:#a2505b}#positionBand[data-side="short"]{background:rgba(244,125,135,.055)}#positionBand[data-side="short"] #bandTitle{background:#49272cdd;color:#ffb6bd}

header{background:#0b121a}.brand-logo{display:block;position:relative;width:224px;height:54px;overflow:hidden;flex-shrink:0}.brand-logo img{position:absolute;width:298px;height:149px;max-width:none;left:-37px;top:-47px}.brand small{margin-left:6px}@media(max-width:480px){.brand-logo{width:190px;height:46px}.brand-logo img{width:253px;height:126.5px;left:-31.5px;top:-39.9px}}

/* Compact header logo */
.brand-logo{width:190px;height:46px}.brand-logo img{width:253px;height:126.5px;left:-31.5px;top:-39.9px}@media(max-width:480px){.brand-logo{width:170px;height:41px}.brand-logo img{width:226.5px;height:113.25px;left:-28.1px;top:-35.7px}}

.source-switch{display:flex;gap:8px;padding:10px 28px;border-bottom:1px solid var(--line);background:#0d1822}.source-switch .active{background:#194b3c;color:#9affd8;border-color:#408269}#personalApp aside{height:calc(100vh - 120px)}#personalApp .trade-item small{display:block}#myChart,#myEquityChart{height:400px;border:1px solid var(--line);border-radius:8px;margin-top:10px}#myAudit{margin-bottom:20px;font-size:13px}#myAudit p{font-size:12px}.privacy-note{font-size:12px;color:#98c8b9;margin-bottom:10px}#importMapping{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:15px 0}#importDialog label{margin:12px 0}#importDialog select{display:block;width:100%;background:#132632;color:#eee;padding:7px;border:1px solid #354552;border-radius:5px}#importMessage{color:#ffd184}#myTitle{margin-top:15px}#personalApp details{margin-top:20px}#myEquityDetail button{margin:5px}#personalApp input[type=file]{max-width:100%}@media(max-width:720px){#personalApp aside{height:auto}#importMapping{grid-template-columns:1fr}.source-switch{padding:10px 15px}}
#myFilterPanel{margin-top:0!important;border-bottom:1px solid var(--line)}#myFilterPanel summary{padding:12px 20px;color:var(--green);cursor:pointer;font-size:13px}#myFilterPanel .filters{border:0}.my-import-bar{padding:8px 20px;display:grid;gap:8px}.my-audit-details{margin:0 0 16px!important;border:1px solid var(--line);border-radius:8px}.my-audit-details>summary{padding:10px 15px;color:var(--muted);cursor:pointer;font-size:12px}#myAudit{border:0;margin:0}#myTitle{margin:5px 0}#myFocusInfo{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:12px 15px;background:#12252a;font-size:12px}#myFocusInfo>b{color:#a5f5d9}#myFocusInfo small{flex-basis:100%;color:var(--muted)}#myTradeLinks{position:absolute;inset:0;pointer-events:none;z-index:4;overflow:hidden}#myTradeLinks button{position:absolute;pointer-events:auto;background:#102c40e8;font-size:11px;padding:2px 5px;white-space:nowrap}#myTradeLinks .long-entry{color:#83ebbc;border-color:#37896a}#myTradeLinks .short-entry{color:#ffa0a9;border-color:#a2505b}#myVisibleTrades{margin-top:12px;padding:14px 16px;font-size:13px}#myVisibleTrades button{font-size:12px;margin:3px}#myVisibleTrades .active{background:#194b3c;border-color:#337a62;color:#72edc4}#myEquitySummary{grid-template-columns:1fr .6fr 1.4fr;margin-top:20px}#myEquitySummary .stat:last-child strong{font-size:16px}#myChart{height:430px;margin-top:0}#myMoreEvents{margin-top:12px}@media(min-width:1600px){#myChart{height:520px}}@media(max-width:720px){#myChart{height:370px}#myEquitySummary{grid-template-columns:1fr}#myFilterPanel .filters{display:grid}#personalApp aside{height:auto}}
#myFocusInfo .event-key{align-items:flex-start}#myFocusInfo .event-key button{white-space:nowrap;height:auto}#myFocusInfo .event-key>span{flex-shrink:0;white-space:nowrap;padding:4px 8px}#myFocusInfo .event-key button b{line-height:20px}
.badge.add-kind-loss{background:#456fa9;color:#fff;border:1px solid #83aae0;font-weight:600}.badge.add-kind-profit{background:#b45c6a;color:#fff;border:1px solid #e6a0ab;font-weight:600}.badge.add-kind-flat,.badge.add-kind-unknown{background:#536575;color:#fff;border:1px solid #8da0b1}


.compact-review .analysis-entry{margin:13px 0}.compact-review .analysis-entry p{margin:4px 0;font-size:13px;line-height:1.55}.compact-review .analysis-entry b{font-size:14px}.compact-review .review-takeaway{color:#b3c9db}.compact-review .note{font-size:11px;line-height:1.5;margin-bottom:0}

.badge.add-kind-loss{background:#456fa92b;color:#9fc5ff;border-color:#83aae066}.badge.add-kind-profit{background:#b45c6a2b;color:#ffadb9;border-color:#e6a0ab66}.badge.add-kind-flat,.badge.add-kind-unknown{background:#53657526;color:#b7c8d6;border-color:#8da0b155}.ma-setting-row{display:flex;align-items:center;gap:16px;margin:12px 0;flex-wrap:wrap}.ma-setting-row label{display:flex;align-items:center;gap:8px}.ma-setting-row input[type=number]{width:90px}.ma-setting-row input[type=color]{width:44px;height:32px;padding:2px}.ma-settings-actions{display:flex;gap:8px;flex-wrap:wrap;margin:16px 0}#maSettingsError{color:#f47d87}.ma-settings-open{font-size:12px}

#myPositionBand .position-band-title{display:block;width:max-content;max-width:100%;padding:3px 8px;background:#183e35dd;color:#a5f5d9;font-size:11px;white-space:nowrap;overflow:hidden}#myPositionBand[data-side="short"] .position-band-title{background:#49272cdd;color:#ffb6bd}

/* Shared, subtle position tint for public and personal charts. */
#positionBand[data-side="long"],#myPositionBand[data-side="long"]{background:rgba(84,215,173,.08)}
#positionBand[data-side="short"],#myPositionBand[data-side="short"]{background:rgba(244,85,105,.10)}

#equityChart,#myEquityChart{height:460px;margin-top:0;border:1px solid var(--line);border-radius:8px;overflow:hidden}#equitySummary,#myEquitySummary{display:grid;grid-template-columns:1fr .6fr 1.4fr;gap:16px;margin:22px 0}#equitySummary label,#myEquitySummary label{display:block;font-size:12px;color:var(--muted)}#equitySummary .date-range,#myEquitySummary .date-range{font-size:16px}#myEquityDetail{margin-top:16px;padding:18px;min-height:90px}.equity-tools{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:10px 0;color:var(--muted);font-size:12px}@media(max-width:720px){#equityChart,#myEquityChart{height:360px}#equitySummary,#myEquitySummary{grid-template-columns:1fr}}

.journal-toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:18px 0}.journal-toolbar input,.journal-toolbar select,#journalTags,#journalMemo{background:#10212d;color:#dae7ef;border:1px solid #344957;border-radius:5px;padding:9px}#journalSummary{grid-template-columns:repeat(4,1fr)}#journalCalendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;margin:20px 0}#journalCalendar>b{text-align:center;color:var(--muted)}#journalCalendar button{min-height:92px;display:flex;flex-direction:column;align-items:flex-start;gap:8px;background:#10212d}#journalCalendar button.active{border:2px solid #54d7ad;background:#173931}#journalCalendar strong{font-size:14px}#journalCalendar small{font-size:11px}#journalMemo{display:block;width:100%;min-height:110px;margin:10px 0}#journalTags{display:block;width:100%;margin:10px 0}#journalNoteStatus{margin-left:12px;color:#54d7ad}@media(max-width:720px){#journalSummary{grid-template-columns:1fr 1fr}#journalCalendar button{min-height:76px;padding:5px}#journalCalendar strong{font-size:10px}}

.journal-selection{padding:12px 16px;display:flex;flex-wrap:wrap;gap:8px;font-size:12px;color:#9de6cc}.note-indicator{color:#a9c9fa!important}#tradeNoteMemo,#tradeNoteTags{display:block;width:100%;padding:10px;margin:10px 0;background:#10212d;color:#dae7ef;border:1px solid #344957;border-radius:5px}#tradeNoteMemo{min-height:150px}#tradeNoteImage{max-width:100%;display:block}.record-thumbnail{display:block;max-width:360px;max-height:200px;margin:12px 0}.saved-note{white-space:pre-wrap;overflow-wrap:anywhere}#journalRecords article{margin:14px 0}#tradeNotes{margin-top:20px}#journalSettings summary{cursor:pointer}

.pagination.expanded-pagination{display:flex;flex-direction:column;gap:8px;padding:10px 12px;flex-shrink:0}.page-controls{display:grid;grid-template-columns:repeat(4,1fr);gap:5px;width:100%}.page-controls button{padding:7px 4px;font-size:12px;white-space:nowrap}.page-jump{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;font-size:12px}.page-jump input{width:64px;min-width:0;background:#10212d;color:#dae7ef;border:1px solid #344957;border-radius:5px;padding:6px;text-align:center}.page-jump button{padding:6px 10px;font-size:12px}

.page-controls button{display:flex;align-items:center;justify-content:center;min-height:36px;padding:4px}.page-controls .page-arrow{display:block;width:18px;height:18px;pointer-events:none;flex-shrink:0}

/* Compact persistent workspace navigation; branding stays in document flow. */
header,.source-switch{position:static}
.workspace>.view-tabs{position:sticky;top:0;z-index:30;background:var(--bg);border-bottom:1px solid var(--line);padding:9px 0;margin-bottom:18px;gap:6px;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:thin;box-shadow:0 7px 10px #0002}
.workspace>.view-tabs button{flex-shrink:0;white-space:nowrap;font-size:13px;padding:6px 10px}
html{scroll-padding-top:64px}
@media(min-width:721px){
 main>aside,#personalApp>aside{position:sticky;top:0;align-self:start;height:calc(100dvh - var(--sidebar-top-space,124px));min-height:0}
 main>aside>.trade-list{min-height:0;overflow-y:auto;overscroll-behavior-y:contain}
 #filterPanel,#myFilterPanel{flex-shrink:0;max-height:45dvh;overflow-y:auto;overscroll-behavior-y:contain}
}
@media(max-width:720px){.workspace>.view-tabs{padding:8px 0}.workspace>.view-tabs button{font-size:12px;padding:6px 8px}}

#performanceStats{grid-template-columns:repeat(5,minmax(0,1fr));margin-top:18px}#performanceStats strong{font-size:21px}#performanceComparisons{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:20px}#performanceDrill{margin-top:20px}#performanceStatus{color:var(--red)}#performanceGroups button{font-size:12px}#performanceTrades{max-height:460px}@media(max-width:1100px){#performanceStats{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:720px){#performanceComparisons{grid-template-columns:1fr}}

/* Aligned date range controls on the performance screen. */
.performance-period{gap:16px;align-items:flex-end;margin:20px 0}
.performance-period label{display:flex;flex-direction:column;gap:8px;font-size:13px;line-height:1.4}
.performance-period input[type=date]{width:180px;min-width:0;height:40px;padding:8px 10px;font-size:14px;line-height:20px}
.performance-period button{height:40px;padding:8px 14px;font-size:14px;line-height:20px}
@media(max-width:480px){.performance-period{gap:12px}.performance-period label{flex:1 1 140px}.performance-period input[type=date]{width:100%}}

.performance-presets{display:flex;gap:8px;flex-wrap:wrap;margin:20px 0 12px}.performance-presets button{min-height:40px;padding:8px 16px;font-size:14px}.performance-presets button.active{background:#194b3c;color:#9affd8;border-color:#408269}#performanceRange{margin:10px 0}#performanceStatus{color:var(--muted)}

.perf-neutral{color:var(--text)}.perf-help-card{position:relative;cursor:help}.perf-help-card:focus-visible{outline:2px solid var(--green);outline-offset:3px}.perf-help-card label{display:flex;align-items:center;justify-content:space-between;gap:5px}.perf-help-icon{font-size:12px;color:var(--muted)}.perf-tooltip{display:none;position:absolute;left:0;top:calc(100% + 6px);width:280px;max-width:80vw;z-index:40;padding:12px 14px;background:#1b2c3b;color:var(--text);border:1px solid #476074;border-radius:7px;box-shadow:0 6px 18px #0007;font-size:13px;line-height:1.65;font-weight:400}.perf-tooltip:before{content:"";position:absolute;left:0;right:0;top:-8px;height:8px}.perf-help-card:hover:not(.help-dismissed) .perf-tooltip,.perf-help-card:focus:not(.help-dismissed) .perf-tooltip{display:block}.perf-help-card:nth-child(5n) .perf-tooltip{left:auto;right:0}@media(max-width:1100px){.perf-help-card:nth-child(5n) .perf-tooltip{left:0;right:auto}.perf-help-card:nth-child(2n) .perf-tooltip{left:auto;right:0}}

/* Comparison heading and controls share a compact baseline. */
.performance-compare-toolbar{display:flex;align-items:center;gap:16px 24px;margin:0 0 16px}
.performance-compare-toolbar h3{margin:0;font-size:16px;line-height:24px;flex-shrink:0}
.performance-compare-toolbar label{display:flex;align-items:center;gap:10px;font-size:13px;line-height:20px;white-space:nowrap}
.performance-compare-toolbar select{width:170px;height:38px;margin:0;padding:7px 10px;font-size:13px;line-height:22px}
.performance-compare-toolbar button{height:38px;margin:0;padding:7px 14px;font-size:13px;line-height:22px;white-space:nowrap}
#performanceGroups button{min-height:34px;padding:6px 12px;font-size:12px;line-height:20px}
@media(max-width:720px){.performance-compare-toolbar{gap:12px 16px}.performance-compare-toolbar h3{flex-basis:100%}.performance-compare-toolbar select{width:150px}}

#performanceGroups .perf-neutral,#performanceStats .perf-neutral{color:var(--text)}

/* Shared presentation for public, read-only reviews. */
.journal-toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:18px 0}.journal-toolbar input,.journal-toolbar select,#journalTags,#journalMemo{background:#10212d;color:#dae7ef;border:1px solid #344957;border-radius:5px;padding:9px}#publicJournalSummary{grid-template-columns:repeat(4,1fr)}#publicCalendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;margin:20px 0}#publicCalendar>b{text-align:center;color:var(--muted)}#publicCalendar button{min-height:92px;display:flex;flex-direction:column;align-items:flex-start;gap:8px;background:#10212d}#publicCalendar button.active{border:2px solid #54d7ad;background:#173931}#publicCalendar strong{font-size:14px}#publicCalendar small{font-size:11px}#journalMemo{display:block;width:100%;min-height:110px;margin:10px 0}#journalTags{display:block;width:100%;margin:10px 0}#journalNoteStatus{margin-left:12px;color:#54d7ad}@media(max-width:720px){#publicJournalSummary{grid-template-columns:1fr 1fr}#publicCalendar button{min-height:76px;padding:5px}#publicCalendar strong{font-size:10px}}
#pubPerformanceStats{grid-template-columns:repeat(5,minmax(0,1fr));margin-top:18px}#pubPerformanceStats strong{font-size:21px}#pubPerformanceComparisons{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:20px}#pubPerformanceDrill{margin-top:20px}#pubPerformanceStatus{color:var(--red)}#pubPerformanceGroups button{font-size:12px}#pubPerformanceTrades{max-height:460px}@media(max-width:1100px){#pubPerformanceStats{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:720px){#pubPerformanceComparisons{grid-template-columns:1fr}}
.performance-presets{display:flex;gap:8px;flex-wrap:wrap;margin:20px 0 12px}.performance-presets button{min-height:40px;padding:8px 16px;font-size:14px}.performance-presets button.active{background:#194b3c;color:#9affd8;border-color:#408269}#pubPerformanceRange{margin:10px 0}#pubPerformanceStatus{color:var(--muted)}
#pubPerformanceGroups button{min-height:34px;padding:6px 12px;font-size:12px;line-height:20px}
#pubPerformanceGroups .perf-neutral,#pubPerformanceStats .perf-neutral{color:var(--text)}

.list-period{display:grid;gap:8px;font-size:13px;color:var(--muted)}.list-period label{display:grid;gap:4px}.list-period small{font-size:11px;line-height:1.5}.list-period input{min-width:0;width:100%}

#myEquityDetail.equity-detail-locked,#equityDetails.equity-detail-locked{border-color:rgba(84,215,173,.38);box-shadow:none;background:linear-gradient(110deg,rgba(84,215,173,.045),transparent 65%),var(--panel)}.equity-lock-status{margin:12px 0 6px;color:var(--text)}

#memberDialog{width:min(760px,94vw);max-height:88vh;overflow:auto}#memberDialog label{display:flex;flex-direction:column;gap:8px;margin:16px 0}#memberDialog input{box-sizing:border-box;width:100%;min-height:40px;padding:9px 12px;background:var(--panel);color:var(--text);border:1px solid var(--line);border-radius:6px}#memberDialog .member-check{flex-direction:row;align-items:center}#memberDialog .member-check input{width:18px;min-height:18px}.member-actions{display:flex;gap:10px;flex-wrap:wrap;margin:14px 0}#memberDialog hr{border:0;border-top:1px solid var(--line);margin:24px 0}#memberStatus{color:var(--green);line-height:1.6}#memberDialog li{margin:10px 0;line-height:1.6}#memberButton{margin-left:auto;margin-right:8px}

#memberAuthError{color:var(--red);margin:12px 0;min-height:20px;line-height:1.5}

.local-save-panel{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 18px;margin:12px 0 18px;border:1px solid var(--line);border-radius:8px;background:var(--panel);font-size:13px}.local-save-panel p{margin:5px 0 0;color:var(--muted);line-height:1.5}.local-save-panel button{white-space:nowrap}.local-save-panel .negative{color:var(--red)}@media(max-width:720px){.local-save-panel{align-items:flex-start;flex-direction:column}}

.csv-guide-button{display:inline-flex;align-items:center;justify-content:center;padding:9px 12px;margin-right:8px;border:1px solid var(--line);border-radius:6px;background:var(--panel);color:var(--text);text-decoration:none;font-size:13px;white-space:nowrap}#csvGuideDialog{width:min(1020px,96vw);max-height:94vh;padding:18px}#csvGuideDialog .dialog-top{margin-bottom:10px}#csvGuideDialog h2{font-size:20px;margin:0}#csvGuideFrame{display:block;width:100%;height:75vh;border:0;border-radius:8px}@media(max-width:720px){header{flex-wrap:wrap;gap:8px}.csv-guide-button{font-size:12px}#csvGuideDialog{padding:10px}}

.header-account-actions{display:flex;align-items:center;justify-content:flex-end;gap:12px;margin-left:auto}.header-csv-guide{display:flex;align-items:center;gap:10px}.header-csv-guide .csv-guide-button{margin:0}.header-csv-guide small{color:var(--muted);font-size:12px}#methodBtn[hidden]{display:none}@media(max-width:1100px){.header-csv-guide{flex-direction:column;align-items:flex-end;gap:2px}.header-csv-guide small{font-size:11px}}@media(max-width:720px){header{height:auto;min-height:66px;padding-top:8px;padding-bottom:8px}.header-account-actions{flex-wrap:wrap;gap:8px}.header-csv-guide small{white-space:normal}}

.csv-upload-area{text-align:center;padding:18px 16px;margin:16px 0 10px;border:1px dashed #3b625e;border-radius:12px;background:#10272466}.csv-upload-picker{position:relative;display:inline-flex!important;align-items:center;justify-content:center;min-height:44px;width:min(240px,100%);padding:10px 20px!important;border:1px solid #398c73;border-radius:8px;background:#195541;color:#eafff6;font-size:16px;font-weight:700;cursor:pointer;overflow:hidden}.csv-upload-picker:hover{background:#236b53}.csv-upload-picker:focus-within{outline:2px solid var(--green);outline-offset:3px}.csv-upload-picker input[type=file]{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer;margin:0}.csv-upload-area .note{margin:8px 0 0;overflow-wrap:anywhere}.csv-upload-help{margin:22px 0 0;padding-top:16px;border-top:1px solid var(--line);text-align:center;font-size:13px}

.csv-upload-area.drag-over{border-color:var(--green);background:#19554188}.csv-file-list{list-style:none;padding:0;margin:10px 0;max-height:180px;overflow:auto}.csv-file-list:empty{display:none}.csv-file-list li{display:flex;align-items:center;gap:12px;justify-content:space-between;padding:9px 12px;border-bottom:1px solid var(--line);font-size:13px}.csv-file-list span{min-width:0;overflow-wrap:anywhere}.csv-file-list button{flex-shrink:0;font-size:12px;padding:4px 9px}

#memberDeleteArea{margin-top:28px;padding-top:22px;border-top:1px solid var(--line)}
#memberDeleteArea>summary{display:list-item;width:fit-content;padding:9px 15px;border:1px solid #67424b;border-radius:7px;background:#30202a;color:#f2a8af;font-size:14px;font-weight:600;cursor:pointer;transition:background .15s,border-color .15s}
#memberDeleteArea>summary:hover{background:#442a34;border-color:#b36c79;color:#ffd2d7}
#memberDeleteArea>summary:focus-visible{outline:2px solid var(--red);outline-offset:3px}
#memberDeleteArea[open]>summary{margin-bottom:16px;background:#38232d}
#memberDeleteArea>p{margin:0 0 18px;line-height:1.8}

#dataManager{width:min(860px,95vw);max-height:90vh}#dataManagerBody{max-height:50vh;overflow:auto}.data-manager-item{padding:16px 0;border-bottom:1px solid var(--line);overflow-wrap:anywhere}.data-manager-item p{margin:8px 0}.data-manager-item img{display:block;max-width:320px;max-height:180px;object-fit:contain;margin:10px 0}#excludePosition{font-size:12px;margin:4px 0 12px}#excludedPositionNotice{margin:6px 0 12px}#memberDataManager{margin:0 0 10px}

#excludePositionDialog{width:min(460px,calc(100vw - 32px));padding:26px;border:1px solid #334753;border-radius:18px;background:#101d27;box-shadow:0 24px 90px #0008}
#excludePositionDialog::backdrop{background:#02090fbb;backdrop-filter:blur(3px)}
.exclusion-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.exclusion-icon{display:grid;place-items:center;width:42px;height:42px;border:1px solid #b58d5340;border-radius:12px;background:#c6964a14;color:#d4ae75}.exclusion-icon svg{width:24px;height:24px}
#excludeDialogClose{background:transparent;border:0;font-size:26px;line-height:1;padding:6px 9px;color:var(--muted)}#excludeDialogClose:hover{background:#ffffff0b;color:var(--text)}
#excludeDialogTitle{font-size:22px;letter-spacing:-.5px;margin:0 0 14px}.exclusion-position{display:inline-block;background:#1a303b;border:1px solid #2d4550;border-radius:6px;padding:5px 10px;color:#c4d8e4;font-size:13px;font-weight:600}
#excludeDialogDescription{font-size:14px;line-height:1.8;color:#aebfca;margin:16px 0}.exclusion-preserve{padding:14px 16px;background:#132d2866;border:1px solid #29544777;border-radius:10px}.exclusion-preserve strong{display:block;font-size:13px;color:#96dac2;margin-bottom:5px}.exclusion-preserve span{display:block;font-size:12px;line-height:1.8;color:#9aafa9}
.exclusion-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:24px}.exclusion-actions button{padding:10px 17px;min-height:42px;font-size:14px;border-radius:8px}#excludeDialogConfirm{background:#254c43;border-color:#3c7868;color:#dcfff2}#excludeDialogConfirm:hover{background:#306153}#excludeDialogError{font-size:13px;color:var(--red);margin:14px 0 0}
@media(max-width:480px){#excludePositionDialog{padding:22px}#excludeDialogTitle{font-size:20px}.exclusion-actions button{flex:1}}

#dataManager{width:min(760px,calc(100vw - 32px));padding:28px;border-radius:18px;border-color:#334753;box-shadow:0 24px 90px #0008}#dataManager::backdrop{background:#02090fbb;backdrop-filter:blur(3px)}#dataManager .dialog-top h2{font-size:24px;margin:0}.data-manager-intro{color:var(--muted);font-size:13px!important;margin:8px 0 22px}.data-manager-tabs{display:flex;gap:4px;padding:5px;border:1px solid #293c48;border-radius:10px;background:#0a1620;margin:0 0 24px}.data-manager-tabs button{flex:1;border:1px solid transparent;background:transparent;color:var(--muted);padding:10px 14px;border-radius:7px}.data-manager-tabs button[aria-pressed=true]{background:#21483e;border-color:#356958;color:#d5ffed;font-weight:700;box-shadow:0 2px 8px #0003}.data-manager-tabs button:hover{color:#e6edf3;background:#1a3038}.data-manager-tabs button[aria-pressed=true]:hover{background:#285448}.data-manager-section{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.data-manager-section h3{margin:0;font-size:17px}.data-manager-section span{color:#9db3bf;font-size:12px;background:#1c2d38;padding:3px 9px;border-radius:20px}#dataManagerBody>.note{font-size:12px;line-height:1.8;margin:0 0 16px}#dataManagerBody{max-height:48vh}.data-manager-item{padding:18px;margin:0 0 12px;border:1px solid #2a404c;border-radius:12px;background:#0d1923}.data-manager-item>b{display:block;font-size:15px;color:#e6edf3}.data-manager-item .note{font-size:12px;color:#8fa7b6;margin:7px 0}.data-file-period{font-size:13px!important;color:#bfd0db;margin:12px 0!important}.data-file-stats{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:16px}.data-file-stats span{font-size:12px;background:#182d37;color:#b8cdd8;border:1px solid #29424e;border-radius:5px;padding:3px 8px}.data-file-remove,#dataCancelConfirm{color:#f0a7ad;background:#442a3433;border:1px solid #70434c;padding:8px 12px}.data-file-remove:hover,#dataCancelConfirm:hover{background:#59323d66;border-color:#a96270}#dataManagerStatus{border:1px solid #365e50;background:#18372a66;border-radius:8px;padding:12px 14px;font-size:13px;line-height:1.8}#dataManagerStatus.is-error{color:#f1c1a3;background:#47321d55;border-color:#795431}#dataCancelPreview{border:1px solid #6a4c43;background:#251e2166;border-radius:12px;margin-top:16px}#dataCancelPreview h3{font-size:16px}#dataCancelPreview p{font-size:13px}#dataCancelPreview button{margin-right:8px}@media(max-width:480px){#dataManager{padding:20px}.data-manager-tabs button{font-size:13px;padding:9px 6px}.data-manager-item{padding:14px}}

/* Launch: compact memo editor and account save indicator. */
#tradeNotes{padding:20px;margin-top:20px}
#tradeNotes>.journal-toolbar{margin:12px 0;gap:10px}
#tradeNotes>.journal-toolbar:first-child{margin:0 0 8px;justify-content:space-between}
#tradeNotes h3{margin:0;font-size:17px}
#tradeNoteIdentity{margin:0 0 10px}
#tradeNotes label{margin:8px 0}
#tradeNoteMemo{margin:6px 0 10px;min-height:120px}
#tradeNoteTags{margin:6px 0 10px}
#tradeNotes>.note{line-height:1.6}
#accountSaveState{font-size:12px;color:var(--muted);white-space:nowrap}
#accountSaveState.negative{color:var(--red)}
.guest-login-notice{display:flex;align-items:center;gap:12px;margin-bottom:16px;font-size:13px;color:var(--muted)}
#myProvenance,#reviewSaveStatus:empty{display:none}
.account-backup-panel{margin:20px 0 0}
