/* Derived from the Kadence theme palette so this page cannot drift from the rest of the site
   again. The --pl-* names are kept for compatibility with the rest of this file; they are
   semantic slots now, not literal colours (--pl-purple is the site accent, which is blue).
   Fallbacks mirror the theme's --global-palette1-15 for non-WordPress previews. */
:root{--pl-purple:var(--global-palette1,#2b6cb0);--pl-purple-dark:var(--global-palette2,#215387);--pl-ink:var(--global-palette3,#1a202c);--pl-muted:var(--global-palette6,#718096);--pl-line:var(--global-palette7,#edf2f7);--pl-bg:var(--global-palette8,#f7fafc);--pl-card:var(--global-palette9,#fff);--pl-green:var(--global-palette11,#13612e);--pl-red:var(--global-palette13,#b82105);--pl-amber:var(--global-palette15,#f5a524);--pl-cyan:var(--global-palette12,#1159af)}
.obpl-finance{color:var(--pl-ink);background:linear-gradient(180deg,var(--pl-bg) 0,var(--pl-card) 38rem);font-family:inherit}.obpl-finance *{box-sizing:border-box}.obpl-finance-shell{width:min(1220px,calc(100% - 32px));margin:0 auto;padding:42px 0 80px}.obpl-finance a{color:var(--pl-purple-dark)}
.obpl-finance-hero{position:relative;overflow:hidden;margin-bottom:22px;padding:36px;border:1px solid rgba(43,108,176,.18);border-radius:22px;background:radial-gradient(circle at 90% 0,rgba(43,108,176,.18),transparent 38%),#fff;box-shadow:0 8px 36px rgba(20,18,38,.06)}.obpl-finance-hero:after{content:"";position:absolute;right:-70px;bottom:-110px;width:280px;height:280px;border:1px solid rgba(43,108,176,.14);border-radius:50%}.obpl-eyebrow{display:block;margin-bottom:7px;color:var(--pl-purple-dark);font:700 11px/1.2 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.12em;text-transform:uppercase}.obpl-finance-hero h1{max-width:760px;margin:0;font-size:clamp(34px,5vw,62px);line-height:1.02;letter-spacing:-.045em}.obpl-finance-hero p{max-width:720px;margin:16px 0 0;color:var(--pl-muted);font-size:17px;line-height:1.55}.obpl-finance-meta{display:flex;gap:10px;align-items:center;margin-top:20px;color:var(--pl-muted);font-size:13px}.obpl-live-dot{width:8px;height:8px;border-radius:50%;background:var(--pl-green);box-shadow:0 0 0 5px rgba(20,158,97,.12)}
.obpl-kpis{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin:0 0 22px}.obpl-kpi{min-width:0;padding:17px 18px;border:1px solid var(--pl-line);border-radius:14px;background:#fff;box-shadow:0 4px 24px rgba(0,0,0,.03)}.obpl-kpi strong{display:block;overflow:hidden;text-overflow:ellipsis;color:var(--pl-ink);font-size:22px;line-height:1.1;white-space:nowrap}.obpl-kpi span{display:block;margin-top:6px;color:var(--pl-muted);font-size:11px;letter-spacing:.06em;text-transform:uppercase}
.obpl-dashboard-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(300px,.85fr);gap:14px;margin-bottom:14px}.obpl-panel{min-width:0;padding:22px;border:1px solid var(--pl-line);border-radius:16px;background:var(--pl-card);box-shadow:0 4px 24px rgba(0,0,0,.03)}.obpl-panel h2,.obpl-panel h3{margin:0;letter-spacing:-.025em}.obpl-panel-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:16px}.obpl-panel-head p{margin:4px 0 0;color:var(--pl-muted);font-size:13px}.obpl-tag{padding:6px 9px;border-radius:8px;background:rgba(43,108,176,.1);color:var(--pl-purple-dark);font:700 10px/1 ui-monospace,SFMono-Regular,monospace;text-transform:uppercase}
.obpl-chart{min-height:240px}.obpl-chart-shell{overflow-x:auto}.obpl-chart-shell svg{display:block;width:100%;min-width:600px;height:auto}.obpl-grid-line{stroke:#ececf1;stroke-width:1}.obpl-baseline{stroke:#9497a9;stroke-width:1;stroke-dasharray:5 5}.obpl-axis-label{fill:#9497a9;font-size:11px}.obpl-series{filter:drop-shadow(0 2px 3px rgba(0,0,0,.08))}.obpl-series-benchmark{stroke-dasharray:9 6;filter:none}.obpl-chart-legend{display:flex;gap:14px;flex-wrap:wrap;margin-top:8px}.obpl-legend-item{display:flex;gap:6px;align-items:center;color:var(--pl-muted);font-size:12px}.obpl-legend-item i{width:8px;height:8px;border-radius:50%}.obpl-history-note{margin:10px 0 0;padding:9px 11px;border-radius:8px;background:#f2f6fa;color:var(--pl-muted);font-size:12px}
.obpl-bar-row{display:grid;grid-template-columns:minmax(110px,1fr) minmax(90px,1.5fr) 60px;gap:10px;align-items:center;margin:13px 0}.obpl-bar-label{display:flex;flex-direction:column;min-width:0}.obpl-bar-label strong{font-size:13px}.obpl-bar-label span,.obpl-bar-label small{color:var(--pl-muted);font-size:11px}.obpl-bar-label small{font-size:9px}.obpl-bar-track{height:8px;overflow:hidden;border-radius:99px;background:#eeeef3}.obpl-bar-track span{display:block;height:100%;border-radius:inherit}.obpl-bar-track .positive{background:var(--pl-green)}.obpl-bar-track .negative{background:var(--pl-red)}.obpl-bar-track .benchmark{background:repeating-linear-gradient(90deg,var(--pl-ink) 0 8px,#fff 8px 12px)}.obpl-benchmark-row{margin-top:18px;padding-top:13px;border-top:1px dashed var(--pl-line)}.obpl-up{color:var(--pl-green)}.obpl-down{color:var(--pl-red)}
.obpl-data-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:14px;margin-bottom:14px}.obpl-heatmap{display:grid;grid-template-columns:115px repeat(3,minmax(100px,1fr));gap:6px}.obpl-heat-corner,.obpl-heat-head,.obpl-heat-player{display:flex;align-items:center;padding:7px;color:var(--pl-muted);font-size:11px;font-weight:700;text-transform:uppercase}.obpl-heat-head{justify-content:center}.obpl-heat-player{color:var(--pl-ink);font-size:12px}.obpl-heat-cell{display:grid;grid-template-columns:auto 1fr;gap:2px 8px;align-items:center;padding:10px;border:1px solid rgba(104,107,130,.18);border-radius:10px;color:var(--pl-ink);text-align:left;cursor:pointer}.obpl-heat-cell:hover,.obpl-heat-cell:focus-visible{border-color:var(--pl-purple);outline:none}.obpl-heat-cell strong{grid-row:1/3;font-size:17px}.obpl-heat-cell span{font-size:12px;font-weight:700}.obpl-heat-cell small{color:var(--pl-muted);font-size:10px}
.obpl-activity{display:flex;gap:10px;align-items:flex-end;min-height:180px;padding:15px 8px 0;border-bottom:1px solid var(--pl-line)}.obpl-activity-bar{display:flex;flex:1;flex-direction:column;justify-content:flex-start;align-items:center;min-width:28px;padding-top:8px;border-radius:8px 8px 0 0;background:linear-gradient(180deg,var(--pl-purple),#5b9bd5);color:#fff}.obpl-activity-bar span{font-weight:700}.obpl-activity-bar small{margin-top:auto;margin-bottom:6px;font-size:9px;white-space:nowrap}
.obpl-player-section{margin-top:14px;padding:26px;border:1px solid var(--pl-line);border-radius:18px;background:#fff}.obpl-player-selector{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin-bottom:20px}.obpl-player-button{display:grid;grid-template-columns:auto 1fr;gap:3px 9px;padding:14px;border:1px solid var(--pl-line);border-radius:12px;background:#fff;color:var(--pl-ink);text-align:left;cursor:pointer}.obpl-player-button:hover,.obpl-player-button[aria-pressed="true"]{border-color:var(--pl-purple);box-shadow:0 0 0 3px rgba(43,108,176,.09)}.obpl-player-rank{grid-row:1/4;display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#eef4fa;color:var(--pl-purple-dark);font-weight:800}.obpl-player-button strong{font-size:15px}.obpl-player-button span:not(.obpl-player-rank){font-size:12px}.obpl-player-button small{font-size:11px;font-weight:700}.obpl-section-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;margin:24px 0 12px}.obpl-section-head h2{margin:0;font-size:34px;letter-spacing:-.04em}.obpl-section-head p{max-width:720px;margin:7px 0;color:var(--pl-muted)}.obpl-philosophy{margin-bottom:18px;padding:15px 17px;border-left:3px solid var(--pl-purple);border-radius:0 10px 10px 0;background:#f5f9fc}.obpl-philosophy strong{font-size:15px}.obpl-philosophy p{margin:5px 0 0;color:var(--pl-muted);font-size:13px}
.obpl-strategy-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:18px}.obpl-strategy-card{min-width:0;padding:18px;border:1px solid var(--pl-line);border-radius:14px;background:#fff}.obpl-strategy-card h3{margin:0;font-size:26px}.obpl-strategy-card>p{margin:5px 0 15px;font-size:12px;font-weight:700}.obpl-donut-wrap{display:grid;grid-template-columns:108px minmax(0,1fr);gap:13px;align-items:center}.obpl-donut{position:relative;width:108px;height:108px;border-radius:50%}.obpl-donut:after{content:"";position:absolute;inset:18px;border-radius:50%;background:#fff}.obpl-donut-center{position:absolute;z-index:1;inset:25px;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center}.obpl-donut-center strong{font-size:11px}.obpl-donut-center span{color:var(--pl-muted);font-size:8px}.obpl-allocation-legend{min-width:0}.obpl-allocation-legend div{display:grid;grid-template-columns:8px minmax(0,1fr) auto;gap:5px;align-items:center;margin:5px 0;font-size:10px}.obpl-allocation-legend i{width:7px;height:7px;border-radius:2px}.obpl-allocation-legend span{overflow:hidden;text-overflow:ellipsis}.obpl-card-actions{margin-top:14px}
.obpl-button-secondary{display:inline-flex;justify-content:center;align-items:center;padding:9px 12px;border:1px solid var(--pl-purple-dark);border-radius:10px;background:#fff;color:var(--pl-purple-dark);font-size:12px;font-weight:700;text-decoration:none;cursor:pointer}.obpl-button-secondary:hover{background:rgba(43,108,176,.08)}.obpl-button-secondary:disabled{border-color:var(--pl-line);color:var(--pl-muted);cursor:not-allowed}
.obpl-journal{margin-top:14px;padding:26px;border:1px solid var(--pl-line);border-radius:18px;background:#fff}.obpl-trade-filters{display:grid;grid-template-columns:1fr 1.2fr 1fr auto;gap:8px;margin:16px 0}.obpl-trade-filters select,.obpl-trade-filters input{width:100%;padding:10px 11px;border:1px solid var(--pl-line);border-radius:9px;background:#fff;color:var(--pl-ink);font:inherit;font-size:13px}.obpl-trades{display:grid;gap:10px}.obpl-trade{padding:16px;border:1px solid var(--pl-line);border-radius:12px;background:#fff}.obpl-trade:target{border-color:var(--pl-purple);box-shadow:0 0 0 3px rgba(43,108,176,.1)}.obpl-trade header{display:flex;justify-content:space-between;gap:12px;align-items:center}.obpl-trade time{color:var(--pl-muted);font-size:11px}.obpl-trade h3{margin:10px 0 6px;font-size:17px}.obpl-trade-badges{display:flex;gap:6px}.obpl-action,.obpl-risk-badge{padding:5px 7px;border-radius:6px;font-size:9px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.obpl-action.buy{background:rgba(20,158,97,.13);color:#13612e}.obpl-action.sell{background:rgba(217,72,95,.13);color:#b82105}.obpl-action.hold{background:rgba(104,107,130,.12);color:#484b5e}.obpl-risk-badge{background:rgba(43,108,176,.1);color:var(--pl-purple-dark)}.obpl-rationale{margin:0;color:#373846;font-size:13px;line-height:1.6}.obpl-sources{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.obpl-sources a{font-size:11px;font-weight:700}.obpl-journal-more{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:14px;border-radius:10px;background:#f2f6fa;color:var(--pl-muted);font-size:12px}.obpl-empty,.obpl-error{padding:18px;border-radius:10px;background:#f4f7f9;color:var(--pl-muted);font-size:13px}.obpl-error{background:#fff1f3;color:#b82105}
@media(max-width:980px){.obpl-kpis{grid-template-columns:repeat(3,1fr)}.obpl-dashboard-grid,.obpl-data-grid{grid-template-columns:1fr}.obpl-strategy-grid{grid-template-columns:1fr}.obpl-donut-wrap{grid-template-columns:140px 1fr}.obpl-donut{width:140px;height:140px}.obpl-donut:after{inset:24px}.obpl-player-selector{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.obpl-finance-shell{width:min(100% - 20px,1220px);padding-top:18px}.obpl-finance-hero,.obpl-panel,.obpl-player-section,.obpl-journal{padding:16px}.obpl-kpis{grid-template-columns:1fr 1fr}.obpl-kpi:last-child{grid-column:1/-1}.obpl-kpi strong{font-size:18px}.obpl-player-selector{grid-template-columns:1fr 1fr}.obpl-section-head{flex-direction:column}.obpl-section-head h2{font-size:28px}.obpl-heatmap{grid-template-columns:72px repeat(3,minmax(70px,1fr));gap:3px}.obpl-heat-cell{padding:6px}.obpl-heat-cell strong{font-size:13px}.obpl-heat-cell small{display:none}.obpl-heat-corner,.obpl-heat-head,.obpl-heat-player{padding:4px;font-size:8px}.obpl-trade-filters{grid-template-columns:1fr 1fr}.obpl-trade-filters .obpl-button-secondary{grid-column:1/-1}.obpl-donut-wrap{grid-template-columns:112px 1fr}.obpl-donut{width:112px;height:112px}.obpl-donut:after{inset:19px}.obpl-chart-shell svg{min-width:540px}.obpl-finance-hero h1{font-size:37px}}
