:root{color-scheme:light;--ink:#262626;--muted:#85817c;--line:#eceae7;--paper:#fff;--bg:#fff;--accent:#e9752b;--blue:#aa5522;--frozen:222px;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC",sans-serif;font-size:16px}
[hidden]{display:none!important}.surface-tabs{display:flex;gap:24px;border-bottom:1px solid var(--line);margin:-4px 0 24px}.surface-tabs button{background:none;border:0;border-bottom:3px solid transparent;padding:12px 2px;color:var(--muted);font-size:15px;font-weight:600}.surface-tabs button[aria-pressed=true]{border-bottom-color:var(--accent);color:var(--accent)}.holdings-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.holdings-summary{display:grid;gap:14px}.currency-summary{border:1px solid var(--line);border-radius:9px;padding:20px 24px;background:white}.summary-heading{display:flex;justify-content:space-between;gap:12px;font-size:14px;margin-bottom:18px}.summary-heading strong{color:var(--blue)}.summary-heading span{font-size:12px;color:var(--muted)}.summary-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}.summary-metrics small{display:block;color:var(--muted);font-size:13px;margin-bottom:7px}.summary-metrics strong{display:block;font-size:25px;font-weight:650;font-variant-numeric:tabular-nums}.holdings-table th{padding:18px}.holding-actions{display:flex;gap:8px;justify-content:flex-end}.holding-actions button{font-size:13px;padding:7px 10px;min-height:34px}.holding-delete{color:#ad3a47}.holdings-empty td{white-space:normal;text-align:center;padding:55px 20px;color:var(--muted);font-size:15px;line-height:1.9}.position-form{display:grid;grid-template-columns:1fr 1fr;gap:18px}.position-form label{font-size:14px;color:var(--muted);display:flex;flex-direction:column;gap:8px}.position-form input{width:100%;font-size:16px}.position-form input:read-only{background:#f0f4f6;color:var(--muted)}.position-help,#position-error,.position-form-actions{grid-column:1/-1}.position-help{font-size:13px;line-height:1.8;color:var(--muted);margin:0}.position-form-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:4px}#position-dialog{max-width:560px}#position-error{color:#ad3a47;font-size:14px;margin:0}.holdings-table .sticky{font-weight:400}.portfolio-missing{font-size:11px;white-space:normal;max-width:190px;margin-top:4px;color:var(--muted)}@media(max-width:800px){.surface-tabs{gap:18px;margin-bottom:20px}.surface-tabs button{font-size:14px}.currency-summary{padding:16px}.summary-metrics{grid-template-columns:1fr 1fr;gap:18px}.summary-metrics strong{font-size:21px}.summary-heading{flex-wrap:wrap}.position-form{grid-template-columns:1fr}.position-form-actions{grid-column:auto}.holdings-table{--frozen:150px}}
.order-toolbar{margin-top:12px}#order-dialog{max-width:580px}.order-help{font-size:14px;line-height:1.8;color:var(--muted);margin:0 0 18px}#order-list{list-style:none;padding:0;margin:0}#order-list li{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--line);border-top:3px solid transparent;min-width:0}.drag-handle{cursor:grab;color:#8497a5;font-size:24px;user-select:none}.order-security{flex:1;min-width:0}.order-security strong{font-size:15px}.order-security>span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;color:var(--muted);margin-top:4px}.order-actions{display:flex;gap:6px;flex-shrink:0}.order-actions button{min-height:36px;padding:7px 10px;font-size:14px}.order-actions button:disabled{cursor:default}.order-footer{display:flex;justify-content:flex-end;padding-top:20px}#order-list .dragging{opacity:.4}#order-list .drop-before{border-top-color:var(--accent)}#order-list .drop-after{border-bottom:3px solid var(--accent)}.order-empty{font-size:14px;color:var(--muted)}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink)}button,input{font:inherit}button,a,input{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:wait;opacity:.55}a{color:var(--blue);text-decoration:none}a:hover{text-decoration:underline}button:focus-visible,input:focus-visible,a:focus-visible,.table-shell:focus-visible{outline:3px solid #f9bc92;outline-offset:3px}.masthead{height:78px;padding:0 36px;background:#152b3d;display:flex;align-items:center;justify-content:space-between}.brand{color:#fff;display:flex;align-items:center;gap:12px;font-size:24px;font-weight:650;letter-spacing:-.5px}.brand:hover{text-decoration:none}.brand-icon{background:#65d5b3;color:#152b3d;width:30px;height:30px;text-align:center;line-height:30px;border-radius:7px;font-weight:800}.brand-divider{height:23px;width:1px;background:#415364;margin:0 6px}.brand-sub{color:#a9bdca;font-size:12px;font-weight:500;letter-spacing:1.8px}.local-label{font-size:13px;color:#bbcbd5;white-space:nowrap}main{padding:28px 32px 36px;max-width:2000px;margin:auto}.title-row{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:26px}.eyebrow{font-size:12px;font-weight:650;letter-spacing:1.5px;color:var(--muted);margin-bottom:8px}h1{font-size:30px;line-height:1.2;margin:0;font-weight:650;letter-spacing:-.6px}.title-actions{display:flex;gap:10px}.primary,.secondary{border-radius:7px;padding:10px 16px;font-size:14px;font-weight:550;min-height:42px}.primary{background:var(--accent);color:white;border:1px solid var(--accent)}.primary:hover{background:#d9651d}.secondary{background:white;color:var(--ink);border:1px solid #ccd8e1}.secondary:hover{background:#edf4f7}.control-row{display:flex;align-items:center;gap:16px;flex-wrap:wrap}form{display:flex;gap:8px}input{border:1px solid #ccd8e1;border-radius:7px;background:white;padding:10px 12px;font-size:14px;width:270px;min-width:0}.count{font-size:14px;color:var(--muted)}.views{margin-left:auto;display:flex;gap:4px;background:#e5edf1;padding:4px;border-radius:8px}.views button{border:0;border-radius:5px;padding:8px 13px;background:transparent;color:var(--muted);font-size:14px}.views button[aria-pressed=true]{background:white;color:var(--ink);box-shadow:0 1px 4px #14394c10}.data-strip{display:flex;justify-content:space-between;gap:16px;color:var(--muted);font-size:13px;padding:18px 0 12px;flex-wrap:wrap}#load-status{color:var(--blue)}#feedback{background:#fff6df;border:1px solid #dfc580;padding:12px 16px;margin-bottom:12px;font-size:14px;border-radius:7px}.table-shell{overflow:auto;border:1px solid var(--line);border-radius:9px;background:white;max-height:65vh;min-height:250px;box-shadow:0 3px 18px #23354d05}table{border-collapse:separate;border-spacing:0;width:100%;font-variant-numeric:tabular-nums;white-space:nowrap;font-size:14px}th,td{padding:16px 18px;border-bottom:1px solid #e7edf1;text-align:right;min-width:145px}thead th{position:sticky;top:0;z-index:3;background:#f3f7f9;vertical-align:middle;color:#496172;font-size:13px;line-height:1.5;font-weight:600}.group-head th{top:0;padding:9px 18px;font-size:12px;color:#6c7e8c;letter-spacing:.5px;background:#eaf0f4;border-right:1px solid var(--line);text-align:left}.column-head th{top:37px;padding:11px 18px}.th-button{padding:0;border:0;background:none;color:inherit;cursor:pointer;font:inherit;text-align:inherit;line-height:1.5}.th-button span{display:block;color:#81909c;font-size:12px}.th-button[data-sort-active]{color:var(--accent)}.sticky{position:sticky!important;left:0;min-width:var(--frozen);width:var(--frozen);max-width:var(--frozen);text-align:left;border-right:1px solid var(--line);background:white;z-index:2}thead .sticky{background:#f3f7f9;z-index:5}.group-head .sticky{background:#eaf0f4}tbody tr{cursor:pointer}tbody tr:hover td{background:#f0f8f7}tbody tr:last-child td{border-bottom:0}.security-cell{display:flex;align-items:center;justify-content:space-between;gap:10px}.symbol{font-weight:700;letter-spacing:.15px;font-size:15px}.security-name{font-size:12px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:165px;margin-top:4px}.currency{font-size:11px;color:#8494a0;margin-left:4px}.positive{color:#10846b}.negative{color:#ad3a47}.missing{color:#8594a1}.missing-label{font-size:11px;color:#98a6af;display:block;margin-top:3px}.remove{border:none;background:none;color:#98a7b1;padding:6px;line-height:1;font-size:18px;opacity:0}.remove:focus-visible,tr:hover .remove{opacity:1}.status-cell{font-size:12px;color:var(--muted);min-width:135px}.loading-cell{color:#8093a1;text-align:left;min-width:600px}.skeleton{height:10px;background:linear-gradient(90deg,#edf2f5,#dfe8ef,#edf2f5);width:100%;border-radius:4px;animation:pulse 1.5s infinite;display:inline-block}@keyframes pulse{50%{opacity:.5}}.table-footer{display:flex;justify-content:space-between;gap:12px;padding:12px 2px;color:var(--muted);font-size:12px;flex-wrap:wrap}.coverage-note{margin-top:22px;border-top:1px solid var(--line);padding-top:20px;display:grid;grid-template-columns:155px 1fr auto;gap:20px;align-items:start;font-size:13px;color:var(--muted);line-height:1.7}.coverage-note strong{color:#526778;font-weight:600}.coverage-note p{margin:0;max-width:980px}.coverage-note a{white-space:nowrap}dialog{border:1px solid var(--line);border-radius:14px;padding:28px;max-width:950px;width:calc(100% - 36px);max-height:88vh;overflow:auto;background:white;color:var(--ink);box-shadow:0 20px 90px #122c4e35}dialog::backdrop{background:#152b3d70;backdrop-filter:blur(2px)}.dialog-top{display:flex;align-items:flex-start;justify-content:space-between;gap:15px;margin-bottom:20px}h2{margin:0;font-size:24px;line-height:1.3}.icon-button{border:0;border-radius:5px;background:#eef3f5;color:var(--ink);font-size:24px;line-height:1;padding:8px 12px}.meta-row{background:#f3f7f9;padding:14px 16px;font-size:13px;line-height:1.9;border-radius:8px;margin-bottom:16px;overflow-wrap:anywhere}.source-links{display:flex;gap:18px;flex-wrap:wrap;font-size:14px;margin:14px 0 20px}.metric-detail{padding:16px 0;border-top:1px solid var(--line);display:grid;grid-template-columns:195px 1fr;gap:12px}.metric-detail h3{margin:0;font-size:14px;font-weight:600}.metric-detail .value{font-size:18px;font-weight:600;margin-bottom:8px}.metric-detail p{margin:4px 0;font-size:13px;color:var(--muted);line-height:1.7;overflow-wrap:anywhere}.metric-detail a{font-size:13px}.method-content{line-height:1.85;font-size:15px}.method-content p{margin:0 0 18px}.method-content dt{font-weight:650;color:var(--blue);margin-top:18px}.method-content dd{margin:6px 0;color:#5c6d7a}.empty-row td{text-align:center;padding:50px;color:var(--muted)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:800px){.masthead{height:64px;padding:0 18px}.brand-sub,.brand-divider{display:none}main{padding:22px 16px}.title-row{align-items:flex-end}.title-actions{gap:6px}.primary,.secondary{padding:10px 12px}h1{font-size:27px}.control-row{gap:12px}form{width:100%}input{flex:1;width:auto}.views{margin-left:auto}.views button{padding:8px 9px;font-size:13px}.data-strip{font-size:12px;gap:8px}.table-shell{max-height:60vh;--frozen:170px}th,td{padding:14px 12px}.security-name{max-width:118px}.remove{opacity:1}.coverage-note{grid-template-columns:1fr;gap:8px}.metric-detail{grid-template-columns:1fr;gap:5px}dialog{padding:20px}.local-label{font-size:12px}}@media(prefers-reduced-motion:reduce){.skeleton{animation:none}}

@keyframes value-flash-up{0%,20%{background-color:#b8edcf}100%{background-color:transparent}}
@keyframes value-flash-down{0%,20%{background-color:#fac4c9}100%{background-color:transparent}}
.value-flash-up{animation:value-flash-up .9s ease-out}.value-flash-down{animation:value-flash-down .9s ease-out}
@media(prefers-reduced-motion:reduce){.value-flash-up,.value-flash-down{animation-duration:.9s;animation-timing-function:steps(1,end)}}

#watchlist-surface .order-toolbar{margin-bottom:18px}.source-footer{margin-top:20px;text-align:right;font-size:13px}

.order-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.order-toolbar .views{margin-left:auto}

/* Compact research table with more room for visible rows and columns. */
main{max-width:none;padding:20px 20px 28px}
.masthead{height:60px;padding:0 20px}
.title-row{margin-bottom:18px}.surface-tabs{margin-bottom:16px}
#watchlist-surface .order-toolbar{margin-top:10px;margin-bottom:12px}
#watchlist-surface .table-shell{--frozen:178px;height:78vh;max-height:none;min-height:380px}
#watchlist{font-size:13px}
#watchlist th,#watchlist td{min-width:104px;padding:8px 10px}
#watchlist .sticky{min-width:var(--frozen);width:var(--frozen);max-width:var(--frozen)}
#watchlist .symbol{font-size:14px}
#watchlist .security-name{font-size:11px;max-width:137px;margin-top:2px}
#watchlist .security-cell{gap:4px}
#watchlist .remove{font-size:16px;padding:4px}
#watchlist .group-head th{height:30px;padding:5px 10px;line-height:19px;font-size:11px}
#watchlist .column-head th{top:30px;padding:7px 10px;font-size:12px;line-height:1.4}
#watchlist .th-button span{font-size:10px}
#watchlist .currency,#watchlist .missing-label{font-size:10px}
#watchlist .status-cell{min-width:110px;font-size:11px}
@media(max-width:800px){
  main{padding:16px 12px 24px}
  .masthead{padding:0 16px}
  #watchlist-surface .table-shell{--frozen:148px}
  #watchlist th,#watchlist td{padding-left:8px;padding-right:8px;min-width:96px}
  #watchlist .sticky{min-width:var(--frozen)}
  #watchlist .security-name{max-width:105px}
}

/* Private account and passkey entry. */
.login-main{display:grid;place-items:center;min-height:calc(100vh - 100px);padding:36px 20px}
.login-card{width:min(100%,480px);background:#fff;border:1px solid var(--line,#d4e1e9);border-radius:18px;padding:36px;box-shadow:0 12px 40px #152b3d0a}
.login-card h1{font-size:30px;line-height:1.3;margin:14px 0 20px}
.login-card p{line-height:1.7}
.login-card input{width:100%;margin:8px 0}
.login-card .primary{width:100%;margin-top:20px}
.login-hint{font-size:12px;color:#647b8d}
#account-dialog{max-width:540px}
#account-dialog p{line-height:1.6}
#account-dialog hr{border:0;border-top:1px solid #d4e1e9;margin:24px 0}
#account-dialog button{margin:5px 4px 5px 0}
#account-dialog .dialog-heading{display:flex;align-items:center;justify-content:space-between}
#account-button{margin-left:auto;font-size:12px;padding:7px 12px}
.login-card form{display:block;width:100%}
.login-card .primary{display:block;padding:14px 18px}

.account-browser {display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:0 0 16px;color:var(--muted);}
.account-browser select {padding:8px 12px;border:1px solid #ccd9e2;border-radius:8px;background:white;max-width:100%;font:inherit;}
.read-only #add-form,.read-only #order-button,.read-only .remove,.read-only #add-position,.read-only .holding-actions,.read-only #choose-import,.read-only #import-preview {display:none!important;}
#profile-form {display:flex;gap:10px;flex-wrap:wrap;align-items:center;}
#signup-toggle {margin-top:16px;}

.account-browser {font-size:14px;line-height:1.5;}
.account-browser select {font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text","PingFang SC","Microsoft YaHei",sans-serif;font-size:14px;font-weight:500;line-height:1.5;padding:7px 10px;color:#274152;}
#account-mode {font-size:13px;font-weight:400;}
#invite-result {overflow-wrap:anywhere;user-select:all;padding:12px;background:#eef5f7;border-radius:8px;font-family:ui-monospace,monospace;}

.account-browser label {font-size:13px;font-weight:500;}

.admin-account {padding:12px 0;}
.admin-account button {font-size:12px;padding:5px 9px;margin:5px;}


/* White workspace / orange navigation. Shared components also style the login bridge. */
:root{--sidebar:184px;font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;-webkit-font-smoothing:antialiased}
button,input,select{font-family:inherit}button{-webkit-appearance:none;appearance:none;transition:background-color .15s,color .15s,border-color .15s}
.brand{color:var(--ink);font-size:23px;font-weight:750;gap:9px;letter-spacing:-.9px}.brand-icon{background:var(--accent);color:#fff;box-shadow:0 3px 8px #e9752b20;width:29px;height:29px;line-height:29px;border-radius:8px}.brand-dot{color:var(--accent);margin-left:-8px}
.sidebar{position:fixed;inset:0 auto 0 0;width:var(--sidebar);background:#fcfbf9;border-right:1px solid var(--line);padding:27px 14px;display:flex;flex-direction:column;z-index:10}.sidebar .brand{padding:0 8px;margin-bottom:45px}.nav-caption{color:#a39d95;font-size:10px;font-weight:600;letter-spacing:1.3px;padding:0 14px;margin-bottom:14px}.surface-tabs{display:flex;flex-direction:column;gap:7px;border:0;margin:0}.surface-tabs button{display:flex;align-items:center;gap:12px;width:100%;border:1px solid transparent;border-radius:9px;padding:12px;color:#79746e;text-align:left;font-size:13px;font-weight:550;background:transparent}.surface-tabs button svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.surface-tabs small{display:block;font-size:10px;font-weight:400;margin-top:3px;opacity:.72}.surface-tabs button:hover{background:#f3f0ec;color:var(--ink)}.surface-tabs button[aria-pressed=true]{background:#fff0e4;border-color:#f9e0cb;color:#bd5c20;box-shadow:none}.sidebar-bottom{margin-top:auto;padding:16px 9px 0;display:flex;align-items:center;gap:7px;color:#a39d95;font-size:10px}.workspace-mark{height:5px;width:5px;background:var(--accent);border-radius:50%}
main.workspace{padding:0;margin:0 0 0 var(--sidebar);max-width:none;min-height:100vh;min-width:0}.workspace-topbar{height:65px;padding:0 28px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.workspace-label{font-size:12px;color:#89837b;display:flex;gap:13px;align-items:center}.topbar-slash{color:#d2ccc5}#page-eyebrow{font-size:10px;letter-spacing:.8px;color:#aca49a}.workspace-content{padding:27px 28px 22px}.section-kicker{color:var(--accent);font-size:10px;font-weight:650;letter-spacing:2px;margin-bottom:8px}.title-row{margin-bottom:22px}.title-row h1{font-size:28px;font-weight:650;letter-spacing:-.6px}.title-actions{gap:8px}.primary,.secondary{border-radius:7px;min-height:36px;padding:8px 13px;font-size:12px;font-weight:550}.primary{box-shadow:0 2px 4px #e9752b13}.secondary{border-color:#e5e1dc;background:white}.secondary:hover{background:#faf8f5;border-color:#d6cdc1}#account-button{font-size:11px;margin:0;min-height:32px}
.account-browser{font-size:12px;margin-bottom:24px;gap:9px}.account-browser label{font-size:11px}.account-browser select{font-size:12px;color:#49433c;padding:6px 30px 6px 9px;border:1px solid #e8e3dc;border-radius:6px;background:#fff;max-width:250px}
.control-row{gap:12px}#add-form{gap:7px}input{border-color:#e5e1dc;font-size:12px;border-radius:7px;padding:9px 11px;width:270px}input::placeholder{color:#b0a89f}.count{font-size:11px}#watchlist-surface .order-toolbar{margin-top:12px;margin-bottom:14px}.views{background:#f5f3ef;border-radius:7px;padding:3px;gap:2px}.views button{font-size:11px;padding:7px 11px;border-radius:5px}.views button[aria-pressed=true]{background:#fff;color:#a9501d;box-shadow:0 1px 3px #6b40120c}
.table-shell{border-color:#e9e5df;border-radius:10px;box-shadow:0 3px 12px #64401803}#watchlist-surface .table-shell{height:calc(100vh - 282px);min-height:420px;--frozen:166px}#watchlist{font-size:12px}#watchlist th,#watchlist td{min-width:101px;padding:9px 10px;border-bottom-color:#f0ede9}#watchlist .symbol{font-size:12px;letter-spacing:.1px}#watchlist .security-name{font-size:10px;max-width:127px;color:#9b9389;margin-top:3px}thead th,thead .sticky{background:#fcfbf9;color:#625b52}.group-head th,.group-head .sticky{background:#f5f2ed;color:#a29685;border-color:#e9e3db}#watchlist .group-head th{height:28px;font-size:10px;padding:4px 10px}#watchlist .column-head th{top:28px;font-size:11px;padding:9px 10px}#watchlist .th-button span{font-size:9px;color:#a79f94;font-weight:400;margin-top:2px}.sticky{border-right-color:#e9e5df}tbody tr:hover td{background:#fff9f2}.currency{color:#aca296}.missing,.missing-label{color:#b2aaa0}.status-cell{color:#999086}.source-footer{font-size:10px;margin-top:14px}.source-footer a{color:#a89c8d}a{color:#b85d25}
.holdings-toolbar{margin-bottom:16px}.holdings-summary{gap:12px}.currency-summary{border-color:#e9e5df;border-radius:10px;box-shadow:0 2px 8px #64401803;padding:19px 22px}.summary-heading strong{color:#b75e28}.summary-metrics strong{font-size:24px;font-weight:600;letter-spacing:-.5px}.summary-metrics small{font-size:11px}.summary-heading span{font-size:10px}.holdings-table{max-height:calc(100vh - 410px);min-height:260px;--frozen:166px}.holdings-table th,.holdings-table td{padding:12px;font-size:12px;min-width:110px}.data-strip,.table-footer{font-size:10px;color:#a69c90}.data-strip{padding:14px 0 10px}.holding-actions button{font-size:10px;min-height:28px;padding:5px 8px}
.macro-placeholder{min-height:calc(100vh - 210px);border:1px solid var(--line);border-radius:12px;background:radial-gradient(ellipse at 50% 30%,#fff7ef 0,white 60%);display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;padding:44px 20px}.macro-illustration{width:78px;height:78px;border-radius:20px;background:#fff1e3;border:1px solid #f6dfc8;display:grid;place-items:center;margin-bottom:24px}.macro-illustration svg{width:52px;height:52px;fill:none;stroke:#e9752b;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.coming-label{font-size:10px;color:#bd783e;letter-spacing:1px;margin-bottom:12px}.macro-placeholder h2{font-size:23px;font-weight:550;letter-spacing:-.5px}.macro-placeholder p{font-size:12px;color:#aaa094;margin:12px 0 28px}.macro-topics{display:flex;gap:9px;flex-wrap:wrap;justify-content:center}.macro-topics span{padding:7px 11px;font-size:10px;border:1px solid #eee8de;border-radius:20px;color:#9f9180;background:#fff}
dialog{border-color:#e6e0d6;border-radius:13px;box-shadow:0 24px 85px #4b2f1622;font-size:14px}dialog::backdrop{background:#2f291b45;backdrop-filter:blur(3px)}.icon-button{background:#f6f2ed}.meta-row{background:#faf7f2}.method-content dt{color:#a65a2a}.method-content dd{color:#81796f}.method-content{font-size:13px}.eyebrow{color:#c17d47;font-size:10px}.dialog-top h2,.dialog-heading h2{font-size:21px}.admin-account{padding:8px 0}#invite-result{background:#fff3e6}#account-dialog hr{border-top-color:var(--line)}
.login-page{background:#fcfaf7}.login-page .masthead{background:white;border-bottom:1px solid var(--line);height:64px;padding:0 30px}.login-main{min-height:calc(100vh - 64px)}.login-card{border-color:#e9e1d6;box-shadow:0 12px 50px #7c542009;border-radius:14px;padding:34px}.login-card h1{font-size:27px;font-weight:600}.login-card p{color:#8c8174;font-size:13px}.login-card .primary{padding:12px;font-size:13px}.login-hint{color:#a49889}.login-card input{font-size:13px}
@media(min-width:1600px){:root{--sidebar:200px}.workspace-content{padding-left:32px;padding-right:32px}}
@media(max-width:1000px){:root{--sidebar:154px}.sidebar{padding:23px 9px}.sidebar .brand{font-size:20px;padding:0 5px}.surface-tabs button{padding:11px 9px;gap:9px}.workspace-content{padding:23px 18px}.workspace-topbar{padding:0 18px}.sidebar-bottom{font-size:9px;padding-left:5px}.workspace-label{font-size:11px}}
@media(max-width:640px){:root{--sidebar:64px}.sidebar{padding:20px 6px}.sidebar .brand{font-size:0;margin-bottom:31px;padding:0;justify-content:center}.brand-dot,.nav-caption,.sidebar-bottom{display:none}.surface-tabs{gap:10px}.surface-tabs button{padding:12px 5px;justify-content:center;gap:0}.surface-tabs button span{font-size:0}.surface-tabs button small{display:none}.surface-tabs button svg{width:21px;height:21px}.workspace-content{padding:20px 12px}.workspace-topbar{height:54px;padding:0 12px}.workspace-label{gap:8px;font-size:10px}#page-eyebrow{font-size:8px}.title-row{align-items:center;gap:8px;margin-bottom:18px}.title-row h1{font-size:24px}.title-actions .secondary{display:none}.primary,.secondary{font-size:11px;padding:8px 10px}.account-browser{gap:6px;margin-bottom:18px}.account-browser select{font-size:11px;max-width:190px}#add-form{width:100%}#ticker-input{width:auto;flex:1}.control-row{gap:8px}.order-toolbar{gap:9px}.order-toolbar .views{margin-left:0}.views button{font-size:10px;padding:7px}#watchlist-surface .table-shell{--frozen:132px;height:calc(100vh - 294px);min-height:350px}#watchlist .security-name{max-width:94px}#watchlist th,#watchlist td{min-width:96px;padding-left:8px;padding-right:8px}#watchlist .sticky{min-width:var(--frozen)}.macro-placeholder h2{font-size:19px}.summary-metrics strong{font-size:21px}.holdings-table{--frozen:132px}.login-page .masthead{padding:0 20px}.login-card{padding:26px}}

/* Loading states keep table geometry stable while requests complete. */
.skeleton{background:linear-gradient(100deg,#f3f0eb 25%,#e9e3da 45%,#f3f0eb 65%);background-size:250% 100%;animation:loading-shimmer 1.6s ease-in-out infinite;min-width:45px;height:9px}
@keyframes loading-shimmer{from{background-position:100% 0}to{background-position:-100% 0}}
.loading-indicator{display:inline-flex;align-items:center;gap:8px;font-size:12px;color:var(--muted)}
.loading-indicator::before{content:"";width:12px;height:12px;border:2px solid #f3dfce;border-top-color:var(--accent);border-radius:50%;animation:loading-spin .8s linear infinite}
@keyframes loading-spin{to{transform:rotate(360deg)}}
.user-placeholder{padding:18px 0;max-width:240px}.initial-loading td{height:44px}
#domain-passkey{padding:14px 0}#passkey-reauth{margin-left:12px;font-size:13px}
@media(prefers-reduced-motion:reduce){.skeleton,.loading-indicator::before{animation:none}}

.cell-fetching{background-image:linear-gradient(100deg,transparent 25%,#edddc340 45%,transparent 65%);background-size:250% 100%;animation:loading-shimmer 1.6s ease-in-out infinite}
@media(prefers-reduced-motion:reduce){.cell-fetching{animation:none}}

/* User rows align destructive actions away from the account name. */
#admin-accounts .admin-account{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:12px 0}
#admin-accounts .admin-account strong{min-width:0;overflow-wrap:anywhere}
#admin-accounts .admin-account button{flex-shrink:0;margin:0;padding:7px 12px;min-height:32px;border-color:#efd8cb;color:#a6532a}
@media(max-width:500px){#admin-accounts .admin-account{gap:12px;flex-wrap:wrap}}

/* Adjustable desktop navigation. */
#sidebar-toggle{position:absolute;right:-12px;top:76px;width:24px;height:24px;display:grid;place-items:center;padding:0;border:1px solid var(--line);border-radius:50%;background:white;color:#a37859;font-size:19px;z-index:2}
#sidebar-resize{position:absolute;inset:0 -4px 0 auto;width:8px;cursor:col-resize;touch-action:none}
#sidebar-resize::after{content:"";position:absolute;top:0;bottom:0;left:3px;width:2px;background:transparent}
#sidebar-resize:hover::after,#sidebar-resize:focus-visible::after,.sidebar-resizing #sidebar-resize::after{background:#f4772980}
#sidebar-resize:focus-visible{outline:none}
body.sidebar-resizing{cursor:col-resize;user-select:none}
body.sidebar-collapsed{--sidebar:64px!important}
.sidebar-collapsed .sidebar{padding-left:6px;padding-right:6px}
.sidebar-collapsed .sidebar .brand{padding:0;justify-content:center}
.sidebar-collapsed .brand-name,.sidebar-collapsed .nav-caption,.sidebar-collapsed .sidebar-bottom,.sidebar-collapsed .surface-tabs button span{display:none}
.sidebar-collapsed .surface-tabs button{justify-content:center;padding:12px 5px;gap:0}
.sidebar-collapsed #sidebar-resize{display:none}
@media(max-width:640px){#sidebar-toggle,#sidebar-resize{display:none}}
/* Macro: official releases and dated market observations. */
.macro-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px}.macro-toolbar p,.macro-footnote{font-size:12px;color:var(--muted)}.macro-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.macro-card{border:1px solid var(--line);border-radius:14px;padding:25px;background:#fff;min-width:0}.macro-card-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.macro-card h2{font-size:21px;margin:8px 0 24px;font-weight:600}.macro-badge{font-size:10px;background:#fff2e6;color:#bd6425;border-radius:20px;padding:6px 10px;white-space:nowrap}.macro-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 14px}.macro-metrics span,.macro-release span{font-size:12px;color:#8e887f}.macro-metrics strong{display:block;font-size:29px;line-height:1.5;font-weight:550;font-variant-numeric:tabular-nums}.macro-metrics small{font-size:12px;margin-left:5px;font-weight:400;color:#9a9187}.macro-metrics p{font-size:10px;color:#9a9187;margin:2px 0}.macro-chart{margin:24px 0 20px}.macro-chart svg{display:block;width:100%;height:95px}.macro-chart figcaption{display:flex;justify-content:space-between;color:#a59b90;font-size:10px}.macro-release{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding:29px 0 17px;border-top:1px solid var(--line)}.macro-release p{font-size:11px;line-height:1.8;margin-top:8px}.macro-note,.macro-error,.macro-retrieved{font-size:11px;line-height:1.8;color:#91867b;margin-top:14px}.macro-error{color:#bd6425}.macro-sources{display:flex;gap:12px;flex-wrap:wrap;margin-top:14px}.macro-sources a{font-size:10px;color:#c06424}.macro-footnote{margin:22px 0;line-height:1.8}.macro-skeleton{height:170px;display:grid;gap:16px;margin-top:24px}.macro-skeleton span{display:block;border-radius:7px;background:linear-gradient(90deg,#faf7f3,#eee7df,#faf7f3);background-size:200% 100%;animation:macro-shimmer 1.5s infinite}.macro-skeleton span:first-child{width:55%}@keyframes macro-shimmer{to{background-position:-200% 0}}@media(max-width:900px){.macro-grid{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){.macro-skeleton span{animation:none}}

.macro-metrics .macro-warning{display:inline-block;margin:6px 0;padding:4px 8px;border-radius:6px;font-size:11px;color:#a26d44;background:#fff4e9}.macro-metrics .macro-warning.is-triggered{color:#b54132;background:#fff0ed}

.macro-value-link{display:block;color:inherit;text-decoration:none;border-radius:4px}.macro-value-link:hover strong{color:#c06424}.macro-value-link:focus-visible{outline:2px solid #ee7523;outline-offset:3px}

.macro-fed{margin-top:20px}.fed-legend{display:flex;flex-wrap:wrap;gap:12px 24px;margin:24px 0 16px;color:#746d65;font-size:14px}.fed-legend i{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:8px}.fed-legend strong{color:#302c28}.fed-chart{margin:0}.fed-chart svg{display:block;width:100%;height:auto;min-height:160px}.fed-chart figcaption{display:flex;justify-content:space-between;color:#9e958b;font-size:11px;gap:12px}.fed-rules{margin-top:14px;font-size:12px;color:#8a8177}.fed-rules p{white-space:pre-wrap;line-height:1.7}.fed-rules summary{cursor:pointer}

.home-market-card,.home-index{border:1px solid var(--line);border-radius:14px;background:white;padding:26px}.home-market-card{margin-top:16px}.home-market-card h2{margin:8px 0 0;font-size:23px}.home-market-card .is-open{color:#008d78}.home-countdown-label{display:block;margin-top:24px;color:var(--muted);font-size:13px}.home-countdown{display:block;margin:10px 0 16px;font-size:38px;font-variant-numeric:tabular-nums;letter-spacing:1px}.home-indices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin:24px 0}.home-index .eyebrow{letter-spacing:1px;font-size:10px}.home-index h2{font-size:17px;margin:12px 0 26px}.home-index-price{font-size:29px;font-variant-numeric:tabular-nums}.home-quote-time{font-size:11px;color:var(--muted);margin-top:24px}.home-source{color:var(--accent);font-size:12px;text-decoration:none}.home-source:hover{text-decoration:underline}@media(max-width:900px){.home-indices{grid-template-columns:1fr}.home-countdown{font-size:30px}}

.macro-chart{position:relative}.macro-chart svg{cursor:crosshair;outline-offset:3px}.macro-crosshair line{stroke:#91867b;stroke-width:1.4;stroke-dasharray:3 3;vector-effect:non-scaling-stroke}.macro-crosshair circle{fill:#ee7523;stroke:#fff;stroke-width:1.8;vector-effect:non-scaling-stroke}.macro-chart-tooltip{position:absolute;z-index:2;pointer-events:none;padding:6px 9px;border:1px solid var(--line);border-radius:6px;background:#fff;box-shadow:0 2px 8px #00000012;color:#39352f;font-size:11px;white-space:nowrap;font-variant-numeric:tabular-nums}.macro-chart-tooltip[hidden]{display:none}

.fed-chart{position:relative}.fed-chart svg{cursor:crosshair;outline-offset:3px}.fed-crosshair line{stroke:#91867b;stroke-width:1.4;stroke-dasharray:3 3;vector-effect:non-scaling-stroke}.fed-crosshair circle{stroke:#fff;stroke-width:1.8;vector-effect:non-scaling-stroke}.fed-chart-tooltip{position:absolute;z-index:2;pointer-events:none;max-width:100%;box-sizing:border-box;padding:9px 12px;border:1px solid var(--line);border-radius:7px;background:#fffffff5;box-shadow:0 2px 8px #00000012;color:#746d65;font-size:12px;line-height:1.8;font-variant-numeric:tabular-nums}.fed-chart-tooltip strong{color:#302c28}.fed-chart-tooltip i{display:inline-block;width:8px;height:8px;margin-right:6px;border-radius:50%}.fed-chart-tooltip small{display:block;font-size:10px}.fed-tooltip-time{margin-top:6px;padding-top:5px;border-top:1px solid var(--line)}.fed-chart-tooltip[hidden]{display:none}

.whales-intro{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px}.whales-intro p{font-size:12px;color:var(--muted)}.whales-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.whale-card{border:1px solid var(--line);border-radius:14px;padding:25px;background:#fff;min-width:0}.whale-card h2{font-size:21px;font-weight:600;margin:10px 0}.whale-person{font-size:12px;color:#746d65;line-height:1.8;margin:0 0 16px}.whale-card .macro-badge{display:inline-block}.whale-description{font-size:12px;line-height:1.8;color:#91867b;margin-top:16px}.whale-card .macro-sources a{font-size:11px}@media(max-width:900px){.whales-grid{grid-template-columns:1fr}}

.whale-connected{grid-column:1/-1}
.whale-data{margin-top:20px;border-top:1px solid var(--line,#e7e3dd);padding-top:16px}
.whale-status{font-size:12px;color:#8d847a;line-height:1.8;margin:0 0 14px}
.whale-table-scroll{overflow:auto;max-height:490px;border:1px solid #e7e3dd;border-radius:10px}
.whale-table{width:100%;border-collapse:collapse;font-size:13px}
.whale-table caption{text-align:left;padding:12px;color:#8d847a;font-size:12px}
.whale-table th{position:sticky;top:0;background:#f6f3ef;z-index:1;font-size:12px}
.whale-table th,.whale-table td{padding:12px 14px;border-bottom:1px solid #eee9e3;text-align:right;white-space:nowrap}
.whale-table th:first-child,.whale-table td:first-child{text-align:left}
.whale-table td small{display:block;color:#9b9186;font-size:11px;margin-top:4px}
.whales-intro .count{margin-left:auto}.whales-intro button{margin-left:14px}
.whale-tabs{display:flex;gap:10px;flex-wrap:wrap;margin:20px 0}
.whale-tabs [aria-pressed="true"]{color:#c65316;background:#fff1e6;border-color:#fbc9aa}
#whale-detail{border:1px solid #e7e3dd;border-radius:16px;padding:24px;margin-bottom:24px}
#whale-detail-title{margin:22px 0 14px;font-size:26px}
#whale-detail .whale-table-scroll{max-height:650px}
.whale-enter{margin-top:8px}.whale-retrieved{margin-top:16px}
.whale-change{padding:4px 8px;border-radius:6px;background:#f3f0eb;color:#837b72;font-size:12px}
.whale-change.new,.whale-change.increase{background:#e9f5ef;color:#228561}
.whale-change.exit,.whale-change.decrease{background:#fcedeb;color:#be524a}

.whale-group{margin-bottom:32px}.whale-group-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:8px}.whale-group-heading h2{font-size:20px;font-weight:600;margin:0}.whale-group-heading span{font-size:12px;color:var(--muted);white-space:nowrap}.whale-group-description,.whale-group-note{font-size:12px;line-height:1.8;color:var(--muted);margin:0 0 16px}.whale-group-note{margin-bottom:24px}


.whale-category-control{margin-left:auto}.whale-category-control select{width:280px;max-width:100%;padding:11px 14px;border:1px solid var(--line);border-radius:9px;background:#fff;color:#746d65;font:inherit;font-size:13px;cursor:pointer}.whale-category-control select:focus-visible{outline:2px solid #ee7523;outline-offset:2px}.whales-groups{min-width:0}@media(max-width:640px){.whale-category-control select{width:180px}.whale-group-heading{align-items:start;flex-direction:column;gap:4px}}

/* Short compositor-only entrance motion keeps navigation immediately usable. */
.whale-analysis-tabs{display:flex;gap:8px;margin-bottom:24px}.whale-analysis-tabs [aria-pressed=true]{background:#fff0e4;border-color:#f5caaa;color:#bd5c20}
#whale-stock-analysis{border:1px solid var(--line);border-radius:13px;padding:24px;background:white}
#whale-stock-analysis h2{font-size:21px;margin:0 0 18px}#whale-stock-analysis label{display:block;font-size:12px;color:var(--muted);margin-bottom:8px}#whale-stock-search{width:100%;max-width:480px}
#whale-stock-ranking{margin:20px 0 16px}
.whale-stock-results{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:12px 0 20px}
.whale-stock-choice{background:#fcfbf9;border:1px solid var(--line);border-radius:8px;padding:12px;text-align:left;color:var(--ink)}.whale-stock-choice:hover{background:#fff3e8;border-color:#f5caaa}.whale-stock-choice strong{display:block;font-size:12px}.whale-stock-choice small{display:block;margin-top:6px;font-size:11px;color:var(--muted)}
.whale-stock-group{margin:24px 0}.whale-stock-group h3{display:flex;align-items:center;gap:12px;font-size:15px}.whale-fund-link{background:none;border:0;padding:0;color:#bd5c20;font:inherit;cursor:pointer}.whale-fund-link:hover{text-decoration:underline}#whale-stock-content h3{font-size:17px}
@media(max-width:640px){#whale-stock-analysis{padding:16px}.whale-stock-results{grid-template-columns:1fr}}
.sidebar{transition:width 320ms cubic-bezier(.22,1,.36,1),padding 320ms cubic-bezier(.22,1,.36,1)}
main.workspace{transition:margin-left 320ms cubic-bezier(.22,1,.36,1)}
.sidebar-resizing .sidebar,.sidebar-resizing main.workspace{transition:none}
.sidebar .brand-name,.sidebar .nav-caption,.sidebar .sidebar-bottom,.sidebar .surface-tabs button span{transition:opacity 180ms ease;white-space:nowrap}
.sidebar-collapsed .brand-name,.sidebar-collapsed .nav-caption,.sidebar-collapsed .sidebar-bottom,.sidebar-collapsed .surface-tabs button span{display:block;opacity:0;pointer-events:none;position:absolute;visibility:hidden}
.motion-row-exit{position:fixed;overflow:hidden;pointer-events:none;background:white;z-index:20}
dialog.motion-closing{animation:none!important}
dialog.motion-closing::backdrop{animation:finfeed-fade-exit 240ms cubic-bezier(.4,0,.2,1) forwards}
/* Avoid Safari repeatedly compositing the large table through backdrop blur. */
dialog::backdrop{backdrop-filter:none}
#detail-title:focus,#account-title:focus{outline:none}
@keyframes finfeed-fade-exit{from{opacity:var(--exit-backdrop-opacity,1)}to{opacity:0}}
@media(prefers-reduced-motion:reduce){.sidebar,main.workspace,.sidebar .brand-name,.sidebar .nav-caption,.sidebar .sidebar-bottom,.sidebar .surface-tabs button span{transition:none}}
@keyframes finfeed-dialog-enter{from{opacity:0;transform:translateY(24px) scale(.975)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes finfeed-menu-enter{from{opacity:0;transform:translateY(-6px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes finfeed-fade-enter{from{opacity:0}to{opacity:1}}
@keyframes finfeed-security-enter{from{opacity:0;transform:translateX(28px) scale(.99)}to{opacity:1;transform:translateX(0) scale(1)}}
@keyframes finfeed-account-enter{from{opacity:0;transform:scale(.955)}to{opacity:1;transform:scale(1)}}
@keyframes finfeed-method-enter{from{opacity:0;transform:translateY(-16px)}to{opacity:1;transform:translateY(0)}}
dialog[open]{animation:finfeed-dialog-enter 320ms cubic-bezier(.16,1,.3,1)}
#detail-dialog[open]{animation:finfeed-security-enter 340ms cubic-bezier(.22,1,.36,1)}
#account-dialog[open]{animation:finfeed-account-enter 300ms cubic-bezier(.22,1,.36,1)}
#method-dialog[open]{animation:finfeed-method-enter 280ms cubic-bezier(.22,1,.36,1)}
dialog[open]::backdrop{animation:finfeed-fade-enter 240ms ease-out}
.dropdown-menu:not([hidden]){animation:finfeed-menu-enter 220ms cubic-bezier(.16,1,.3,1);transform-origin:top center}
@media(prefers-reduced-motion:reduce){dialog[open],#detail-dialog[open],#account-dialog[open],#method-dialog[open],dialog[open]::backdrop,.dropdown-menu:not([hidden]){animation:none}}

/* Site-styled selectors remain interactive during background data refreshes. */
.dropdown-source{display:none!important}.dropdown{position:relative;min-width:160px}.dropdown-trigger{display:flex;align-items:center;justify-content:space-between;gap:22px;width:100%;padding:9px 12px;background:#fff;border:1px solid var(--line);border-radius:9px;color:#49433c;font:inherit;font-size:13px;cursor:pointer}.dropdown-trigger:hover,.dropdown-trigger[aria-expanded="true"]{border-color:#ee7523;background:#fff8f1}.dropdown-arrow{width:7px;height:7px;border-right:1.5px solid #b06a3b;border-bottom:1.5px solid #b06a3b;transform:rotate(45deg);margin:-4px 2px 0 0;flex-shrink:0}.dropdown-menu{position:absolute;top:calc(100% + 7px);left:0;min-width:100%;width:max-content;max-width:min(320px,80vw);max-height:320px;overflow:auto;padding:6px;background:#fff;border:1px solid var(--line);border-radius:11px;box-shadow:0 8px 28px #46301c20;z-index:100}.dropdown-option{display:block;position:relative;width:100%;text-align:left;white-space:nowrap;padding:10px 32px 10px 12px;background:transparent;border:0;border-radius:7px;color:#746d65;font:inherit;font-size:13px;cursor:pointer}.dropdown-option:hover,.dropdown-option:focus-visible{background:#fff3e8;color:#cb570b;outline:none}.dropdown-option[aria-selected="true"]{background:#fff0e3;color:#cb570b;font-weight:600}.dropdown-option[aria-selected="true"]::after{content:"\2713";position:absolute;right:12px}.dropdown-trigger:focus-visible{outline:2px solid #ee7523;outline-offset:2px}.dropdown-empty{margin:8px 10px;font-size:12px;color:#958c82}.whale-category-control .dropdown{width:280px}.whale-category-control .dropdown-menu{left:auto;right:0}.account-browser .dropdown{min-width:170px}@media(max-width:640px){.whale-category-control .dropdown{width:180px}.account-browser .dropdown{min-width:145px}}

/* Keep the search field and programmatic dialog heading visually neutral. */
#whale-stock-search:focus,#whale-stock-search:focus-visible,#order-title:focus{outline:none;box-shadow:none}

#ticker-input:focus,#ticker-input:focus-visible{outline:none;box-shadow:none}
.ticker-search{position:relative;min-width:0}.ticker-suggestions{position:absolute;top:calc(100% + 8px);left:0;width:max(100%,340px);max-width:80vw;max-height:360px;overflow:auto;z-index:100;padding:6px;border:1px solid var(--line);border-radius:10px;background:white;box-shadow:0 8px 28px #46301c20}.ticker-suggestions button{display:block;width:100%;border:0;border-radius:6px;padding:10px;background:transparent;text-align:left;color:var(--ink);font-size:12px}.ticker-suggestions button:hover,.ticker-suggestions button[aria-selected=true]{background:#fff3e8}.ticker-suggestions strong{display:block}.ticker-suggestions span{display:block;color:var(--muted);margin-top:4px;font-size:11px}.ticker-suggestions[hidden]{display:none}@media(max-width:800px){.ticker-search{flex:1}.ticker-search input{width:100%}.ticker-suggestions{width:100%;max-width:100%}}

#position-form input:focus,#position-form input:focus-visible{outline:none;box-shadow:none}
#position-dialog .icon-button,#position-dialog .icon-button:focus,#position-dialog .icon-button:focus-visible{background:transparent;outline:none;box-shadow:none;-webkit-tap-highlight-color:transparent}
/* Warm muted red sits alongside the orange controls without overpowering data. */
#watchlist .security-label{flex:1;min-width:0}
#watchlist .security-label .security-name{max-width:100%}
#watchlist .favorite-heart{flex:0 0 22px;display:grid;place-items:center;width:22px;height:28px;padding:2px;border:0;background:transparent;color:#ba6664;cursor:pointer;opacity:1}
#watchlist .favorite-heart svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linejoin:round;transition:fill 160ms ease,color 160ms ease,transform 160ms ease}
#watchlist .favorite-heart[aria-pressed="true"]{color:#bd5c59}
#watchlist .favorite-heart[aria-pressed="true"] svg{fill:currentColor}
#watchlist .favorite-heart:not(:disabled):hover svg{transform:scale(1.1)}
#watchlist .favorite-heart:disabled{cursor:default}
#watchlist .favorite-heart:disabled svg{transition:none;transform:none}
#watchlist .security-cell{gap:7px}
#watchlist tr.watchlist-favorite td{background-color:#fff5f3}
#watchlist tr.watchlist-favorite:hover td{background-color:#fcebe7}
@media(prefers-reduced-motion:reduce){#watchlist .favorite-heart svg{transition:none}}

.holdings-empty{cursor:default;user-select:none;-webkit-user-select:none}.holdings-empty:hover td{background:white}.holdings-empty:focus,.holdings-empty td:focus{outline:none}

.holdings-table .holdings-empty td{height:216px;vertical-align:middle;text-align:center;padding:12px}

.news-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:24px}.news-toolbar p{color:var(--muted,#918980);font-size:14px}.news-feed{display:grid;gap:14px;margin-top:22px}.news-card{border:1px solid #e8e4de;border-radius:12px;background:#fff;padding:22px 24px}.news-meta{display:flex;flex-wrap:wrap;align-items:center;gap:12px;font-size:12px;color:#918980;margin-bottom:14px}.news-meta strong{color:#554d45}.news-meta time{margin-left:auto}.news-badge{background:#fff1e5;color:#be5b1d;padding:4px 9px;border-radius:6px}.news-card>a{display:block;font-size:17px;font-weight:600;line-height:1.6;color:#292521;text-decoration:none}.news-card>a:hover{color:#d26321}.news-card p{font-size:12px;color:#918980;margin:12px 0 0}.news-empty{padding:48px;text-align:center;color:#918980}@media(max-width:600px){.news-card{padding:18px}.news-meta time{width:100%;margin-left:0}}

.news-ticker-filter{margin:0 0 24px;min-width:0}.news-tickers{display:flex;flex-wrap:nowrap;gap:8px;margin-top:12px;max-width:100%;overflow-x:auto;overflow-y:hidden;padding-bottom:8px;scrollbar-width:thin}.news-tickers button{flex:0 0 auto;white-space:nowrap}.news-tickers button[aria-pressed="true"]{color:#be5b1d;background:#fff1e5;border-color:#ffc49c}
.news-tickers{scrollbar-color:var(--accent) #fff1e5}
@supports selector(::-webkit-scrollbar){.news-tickers{scrollbar-width:auto;scrollbar-color:auto}.news-tickers::-webkit-scrollbar{height:4px}.news-tickers::-webkit-scrollbar-track{background:#fff1e5;border-radius:4px}.news-tickers::-webkit-scrollbar-thumb{background:var(--accent);border-radius:4px}.news-tickers::-webkit-scrollbar-thumb:hover{background:#cf601c}}

.home-sector-section{margin-top:36px}.home-sector-section h2{font-size:21px;font-weight:600}.home-sector-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:22px}.home-sector{border:1px solid var(--line);border-radius:14px;padding:22px;background:#fff;min-width:0}.home-sector h3{font-size:17px;margin:8px 0 20px}.home-sector .home-index-price small{font-size:12px;color:var(--muted);font-weight:400;margin-left:6px}.home-sector .macro-chart{margin:22px 0 16px}.home-sector .home-quote-time{margin-top:16px;line-height:1.7}.home-sector-chart-empty{height:128px;display:flex;align-items:center;justify-content:center;color:var(--muted);font-size:12px}@media(max-width:1100px){.home-sector-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:650px){.home-sector-grid{grid-template-columns:1fr}}

.home-sector{position:relative}.sector-handle{position:absolute;right:14px;top:14px;border:0;background:transparent;color:#a99a8a;padding:4px 9px;min-height:32px;font-size:23px;cursor:grab;user-select:none;-webkit-user-drag:element}.sector-handle:hover,.sector-handle:focus,.sector-handle:focus-visible,.sector-handle:active{background:transparent;outline:none;box-shadow:none;-webkit-tap-highlight-color:transparent}.sector-handle:active{cursor:grabbing}.home-sector{transition:opacity 180ms ease,transform 180ms ease}.home-sector.sector-dragging{opacity:.45;transform:scale(.985)}.home-sector.sector-drop{transform:translateY(-4px)}@media(prefers-reduced-motion:reduce){.home-sector{transition:none}.home-sector.sector-dragging,.home-sector.sector-drop{transform:none}}

.notification-binding{display:grid;grid-template-columns:minmax(0,1fr) 104px;align-items:end;gap:10px;margin:12px 0}.notification-binding label{flex:1;min-width:0;display:grid;gap:6px}.notification-binding input,.notification-options input[type=number]{width:100%;padding:10px 12px;border:1px solid var(--line,#e5e1da);border-radius:8px;background:transparent;color:inherit}.notification-options{display:grid;gap:12px;margin:16px 0}.notification-check{display:flex;align-items:center;gap:9px}.notification-check input{width:16px;height:16px;accent-color:#ee7523}.notification-help{font-size:12px;color:#918b82;line-height:1.8}.notification-binding input:focus{outline:none;box-shadow:none}.notification-options input[type=number]{max-width:130px;margin-left:10px}.notification-binding input,.notification-binding button{height:40px;min-height:40px;margin:0}#account-dialog .notification-binding button{width:100%;height:40px;min-height:40px;margin:0;padding:8px;white-space:nowrap}

#invite-result{display:block;width:100%;text-align:left;border:1px solid var(--line);cursor:pointer;margin:16px 0 6px;color:inherit}#invite-result[hidden]{display:none}#invite-copy-status{font-size:12px;color:var(--muted,#918b82)}
.macro-chart svg:focus,.macro-chart svg:focus-visible,.fed-chart svg:focus,.fed-chart svg:focus-visible{outline:none;box-shadow:none;-webkit-tap-highlight-color:transparent}

#notification-threshold:focus,#notification-threshold:focus-visible{outline:none;box-shadow:none;-webkit-tap-highlight-color:transparent}

/* Account email loading and binding transitions are scoped to this section. */
#notification-binding-fields{display:flow-root;overflow:hidden}
.notification-skeleton{display:grid;gap:24px;padding:16px 0 24px;min-height:280px;align-content:start}
.notification-skeleton .skeleton{height:15px;width:85%}
.notification-skeleton .skeleton:first-child{width:65%}
.notification-skeleton .skeleton:last-child{width:45%}

#notification-save{min-width:112px;transition:opacity .28s ease,background-color .28s ease}
#notification-save:disabled{cursor:default}
@media(prefers-reduced-motion:reduce){#notification-save{transition:none}}
