/* The same project surface is used on the public site and in the dashboard. */
.td-projects {color:#edf5ff;font:400 1rem/1.6 Inter,"Segoe UI",sans-serif;--tdp-line:#214b61;--tdp-muted:#9bb1c3;max-width:1200px;margin:0 auto;overflow-wrap:anywhere}
.td-projects * {box-sizing:border-box}
.tdp-category-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0 0 24px}
.td-projects .tdp-category-card {display:flex;align-items:center;gap:16px;padding:20px;border:1px solid #214b61;border-radius:18px;background:#071827;color:#edf5ff;cursor:pointer;text-align:left;font:inherit;min-height:100px}
.td-projects .tdp-category-card:hover {border-color:#08def5;background:#0a293c}
.tdp-category-card .tdp-project-icon {flex:none}
.tdp-category-card strong {display:block;font-size:1rem;line-height:1.4}
.tdp-category-card small {display:block;color:#9bb1c3;font-size:.875rem;margin-top:4px}
.tdp-catalog-notice {margin-top:20px;padding:16px;border:1px solid #214b61;border-radius:14px}
.tdp-entry-actions {display:flex;gap:8px;align-items:center;padding:12px 0 0}
.tdp-entry-actions .tdp-follow {flex:1}
.td-projects .tdp-project-entry {display:flex;flex-direction:column;align-items:stretch;min-width:0}
.td-projects .tdp-project-entry .tdp-project-row {height:auto;flex:1}
.tdp-follow[aria-pressed=true] {color:#45e5f7!important;border-color:#137084!important;background:#08dbf218!important}
.td-projects button:disabled {cursor:wait;opacity:.65}
.tdp-catalog-head>.tdp-button {margin-bottom:20px}
.tdp-catalog-head>.tdp-eyebrow {display:block}
@media(max-width:760px) {.tdp-category-grid {grid-template-columns:repeat(2,minmax(0,1fr))}.td-projects .tdp-category-card {gap:12px;padding:16px}}
@media(max-width:480px) {.tdp-category-grid {grid-template-columns:1fr}.td-projects .tdp-category-card {min-height:80px}}
.td-projects h1,.td-projects h2,.td-projects h3 {font-family:Manrope,Inter,"Segoe UI",sans-serif;color:#edf5ff;letter-spacing:-.03em;line-height:1.2;margin:0}
.td-projects h1 {font-size:clamp(2rem,4vw,3.5rem);font-weight:800;margin:.45rem 0 .7rem}
.td-projects h2 {font-size:1.125rem;font-weight:750;margin-bottom:1.1rem}
.td-projects p {color:var(--tdp-muted);font-size:1rem;line-height:1.7;margin:.4rem 0 1rem}
.td-projects svg {width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:var(--icon-stroke, 2);stroke-linecap:round;stroke-linejoin:round}
.td-projects .tdp-project-icon > .category-glyph {width:28px;height:28px;flex:none}
.td-projects .tdp-eyebrow {color:#08def5;font-size:.875rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.td-projects .tdp-muted {font-size:.875rem;color:var(--tdp-muted)}
.tdp-catalog-head {margin-bottom:1.8rem;max-width:780px}
.tdp-toolbar,.tdp-search,.tdp-filters,.tdp-pagination,.tdp-header-actions {display:flex;gap:.65rem;align-items:center;flex-wrap:wrap}
.tdp-toolbar {justify-content:space-between;margin:1.2rem 0}
.tdp-search {flex:1}
.td-projects .tdp-search input {width:min(400px,100%);min-width:0;flex:1;max-width:450px;border:1px solid var(--tdp-line);border-radius:.65rem;padding:.7rem .9rem;background:#061726;color:#edf5ff;font:inherit}
.td-projects .tdp-button,.td-projects .tdp-chip {display:inline-flex;align-items:center;justify-content:center;min-height:44px;border:1px solid var(--tdp-line);border-radius:.7rem;padding:.6rem 1rem;background:#081d2d;color:#edf5ff;font:600 .875rem/1.4 Inter,"Segoe UI",sans-serif;text-decoration:none;cursor:pointer;white-space:normal;text-align:center}
.td-projects .tdp-button:hover,.td-projects .tdp-chip:hover {border-color:#08def5;background:#0a293c}
.td-projects .tdp-primary {background:linear-gradient(110deg,#08d9ed,#149aff);border-color:#36d9f7;color:#00121e;box-shadow:0 5px 24px #00bfff20}
.td-projects .tdp-primary:hover {background:#55e5ff;color:#00121e}
.td-projects .tdp-chip {border-radius:2rem;background:transparent;gap:.5rem;max-width:100%}
.td-projects .tdp-chip svg {width:20px;height:20px;flex:none}
.td-projects .tdp-chip[aria-pressed=true] {border-color:#09dcf2;background:#08dbf218;color:#45e5f7}
.td-projects :is(a,button,input,summary):focus-visible {outline:2px solid #33ddfa;outline-offset:4px}
.td-projects .tdp-count {font-size:.875rem;margin:1.3rem 0 .6rem}
.tdp-list {border:1px solid var(--tdp-line);border-radius:1rem;background:linear-gradient(120deg,#091a29,#041321);overflow:hidden}
.tdp-list>p {padding:1.5rem}
.td-projects .tdp-project-row {display:grid;grid-template-columns:48px minmax(0,1fr) minmax(100px,18%) 20px;align-items:center;gap:1rem;width:100%;padding:1.2rem 1.4rem;border:0;border-bottom:1px solid #214b6160;border-radius:0;text-align:left;background:transparent;color:inherit;cursor:pointer;font:inherit}
.td-projects .tdp-project-row:last-child {border-bottom:0}
.td-projects .tdp-project-row:hover {background:#0b2d4244}
.tdp-project-icon {display:grid;place-items:center;width:48px;height:48px;border:1px solid var(--tdp-line);border-radius:1rem;color:#00dcf5;background:#062235}
.tdp-project-copy,.tdp-row-meta {display:grid;gap:.2rem;min-width:0}
.tdp-project-copy strong {font-size:1.125rem}
.tdp-project-copy>span {font-size:.875rem;color:var(--tdp-muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.tdp-row-meta {font-size:.875rem;color:#d2e1ed}.tdp-row-meta small {font-size:.875rem;color:var(--tdp-muted)}
.tdp-row-arrow {color:#00dcf5}
.tdp-pagination {justify-content:flex-end;margin:1rem 0;color:var(--tdp-muted);font-size:.875rem}
.tdp-project-header {display:flex;justify-content:space-between;gap:1.5rem;align-items:flex-end;margin-bottom:1.8rem;flex-wrap:wrap}
.tdp-project-heading {display:flex;align-items:center;gap:1.15rem;min-width:0;flex:1}
.tdp-project-heading .tdp-project-icon {width:58px;height:58px;flex:none}
.tdp-access {display:inline-block;color:#53deec;font-size:.875rem;border:1px solid #137084;border-radius:2rem;padding:.2rem .65rem}
.tdp-detail-grid {display:grid;grid-template-columns:minmax(0,1.65fr) minmax(260px,1fr);gap:1rem;align-items:start}
.tdp-detail-main,.tdp-detail-side {display:grid;gap:1rem;min-width:0}
.td-projects>.tdp-metrics {margin:0 0 24px;gap:12px}
.td-projects>.tdp-metrics>div {border-radius:24px;padding:20px;background:#071827;border-color:#132d40}
.td-projects>.tdp-metrics strong {font-size:1.8rem}
.td-projects .tdp-card {padding:1.65rem;border:1px solid #132d40;border-radius:1.6rem;background:#071827;box-shadow:none;min-width:0;margin:0}
.td-projects .tdp-project-question {margin-top:26px;background:#071c2b}
.tdp-metrics {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.6rem;margin-top:1.25rem}
.tdp-metrics>div {display:grid;gap:.55rem;border:1px solid #1f4d6460;background:#041625;border-radius:.6rem;padding:.85rem}
.tdp-metrics span {color:var(--tdp-muted);font-size:.875rem;line-height:1.35}.tdp-metrics strong {font-size:1.2rem;line-height:1.4}
.td-projects :is(.tdp-status,.tdp-facts) {margin:0}
.tdp-status>div,.tdp-facts>div {display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1rem;border-bottom:1px solid #214b6155;padding:.85rem 0;font-size:.875rem}
.tdp-facts>div {grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);font-size:1rem}
.tdp-status>div:last-child,.tdp-facts>div:last-child {border-bottom:0}
.td-projects dt {color:var(--tdp-muted);font-weight:400}.td-projects dd {margin:0;text-align:right;color:#edf5ff}
.tdp-fact-sources {display:flex;flex-wrap:wrap;gap:.5rem;justify-content:flex-end;margin-top:.4rem}
.td-projects .tdp-source-link {display:block;color:#50dff0;font-size:.875rem;text-decoration:underline;text-underline-offset:3px;margin-bottom:.45rem}
.td-projects .tdp-lock>svg {box-sizing:content-box;color:#08def5;border:1px solid var(--tdp-line);padding:.8rem;border-radius:.9rem;margin-bottom:1rem}
.td-projects .tdp-text-link {display:inline-block;margin:.8rem;color:#52e0ef;font-size:.875rem;text-decoration:underline}
.td-projects svg.tdp-chart {display:block;width:100%;height:auto;min-height:150px;color:#05e0fa;stroke-width:2;overflow:visible;margin:1rem 0}
.td-projects details {border-top:1px solid #214b6160;padding:1rem 0}.td-projects summary {font-size:.875rem;cursor:pointer;color:#d9e8f3}
#detail-dialog.project-dialog {width:min(1220px,calc(100vw - 48px));max-width:1220px}
#detail-dialog.project-dialog .dialog-header {margin-bottom:0}
@media(max-width:760px) {.tdp-detail-grid {grid-template-columns:1fr}.tdp-project-header {align-items:flex-start}.td-projects .tdp-card {padding:1.15rem}.tdp-metrics {grid-template-columns:repeat(auto-fit,minmax(125px,1fr))}.tdp-project-heading {flex-basis:100%}.td-projects .tdp-project-row {grid-template-columns:40px minmax(0,1fr) 16px;gap:.75rem;padding:1rem}.tdp-project-row .tdp-project-icon {width:40px;height:40px}.tdp-row-meta {grid-column:2;grid-row:2;display:flex;flex-wrap:wrap}.tdp-row-arrow {grid-column:3;grid-row:1}.tdp-toolbar {align-items:stretch}.tdp-header-actions {width:100%}}
@media(max-width:480px) {#detail-dialog.project-dialog {width:calc(100vw - 16px);padding:0}.tdp-project-heading {gap:.75rem}.tdp-project-heading .tdp-project-icon {width:44px;height:44px}.td-projects .tdp-project-heading h1 {font-size:2rem}.tdp-facts>div {grid-template-columns:1fr;gap:.3rem}.tdp-facts dd {text-align:left}.tdp-fact-sources {justify-content:flex-start}.tdp-search {flex-basis:100%}}

/* Catalog cards follow the public project previews on both account surfaces. */
.td-projects .tdp-list {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;border:0;border-radius:0;background:none;overflow:visible}
.td-projects .tdp-project-row {display:flex;flex-direction:column;align-items:flex-start;gap:14px;min-height:220px;height:100%;padding:24px;border:1px solid #132d40!important;border-radius:24px;background:#071827}
.td-projects .tdp-project-row:hover {background:#0a2030;border-color:#235166!important}
.tdp-project-row .tdp-project-icon {display:grid;width:40px;height:40px;flex:none;border-radius:12px;color:#8bddef;background:linear-gradient(135deg,#15374b,#081e30);border-color:#28556b}
.tdp-project-row .tdp-row-meta {display:flex;align-items:center;gap:12px;order:-1;color:#8bddef;font-size:.875rem;letter-spacing:.02em;text-transform:none}
.tdp-project-row .tdp-row-meta small {display:none}
.tdp-project-row .tdp-project-copy {gap:10px}
.tdp-project-row .tdp-project-copy strong {font-size:1.2rem;line-height:1.3}
.tdp-project-row .tdp-project-copy>span {-webkit-line-clamp:3;line-height:1.6}
.tdp-project-row .tdp-row-arrow {align-self:flex-end;margin-top:auto}
.tdp-project-heading>.tdp-project-icon {display:grid;align-self:flex-start;margin-top:.5rem;border-radius:16px;color:#8bddef;background:linear-gradient(135deg,#15374b,#081e30);border-color:#28556b}
.tdp-project-heading>.tdp-project-icon svg {width:28px;height:28px}
.category-icon .category-glyph {width:28px;height:28px;color:#8bddef}
.category-card .category-icon {flex:none;border-color:#28556b;background:linear-gradient(135deg,#15374b,#081e30)}
.category-card .category-count {font-size:.875rem;font-variant-numeric:tabular-nums;color:#9bb1c3}
.category-card p {font-size:1rem;line-height:1.6}
.td-projects .tdp-primary {background:#06d9ef;color:#00222c;border-color:#06d9ef;border-radius:999px;box-shadow:0 8px 24px #00d9ef12}
@media(max-width:900px) {.td-projects .tdp-list {grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px) {.td-projects .tdp-list {grid-template-columns:1fr}.td-projects .tdp-project-row {padding:22px;min-height:190px}}

/* The same cards and actions remain available on phones, with larger touch controls. */
@media(max-width:760px) {
  .td-projects .tdp-button,.td-projects .tdp-chip {min-height:48px;font-size:1rem}
  .td-projects .tdp-category-card {min-height:100px}
  .tdp-category-card strong {font-size:1.125rem}
  .tdp-category-card small {font-size:.9375rem}
  .tdp-project-row .tdp-project-copy>span {font-size:1rem}
  .tdp-project-heading .tdp-project-icon {width:48px;height:48px}
}

/* General project profile: one standard for catalog cards and dashboard details. */
.td-projects .tdp-project-icon>img {display:block;width:100%;height:100%;object-fit:contain;border-radius:inherit}
.td-projects .tdp-logo-fallback {font-size:1rem;font-weight:750;letter-spacing:.02em}
.td-projects .tdp-overview-header {align-items:flex-start;gap:20px;margin-bottom:28px}
.td-projects .tdp-overview-header .tdp-project-heading {align-items:flex-start;gap:18px}
.td-projects .tdp-overview-header .tdp-project-icon {width:64px;height:64px;flex:none;margin-top:4px;border:0;background:transparent;overflow:hidden}
.td-projects .tdp-overview-header h1 {font-size:clamp(2rem,3vw,2.8rem);margin:.4rem 0 .55rem}
.td-projects .tdp-overview-intro {max-width:650px;margin:0;color:#bed0df;line-height:1.6}
.td-projects .tdp-overview-grid {grid-template-columns:minmax(0,1.6fr) minmax(280px,1fr);gap:20px}
.td-projects .tdp-overview-grid :is(.tdp-detail-main,.tdp-detail-side) {gap:20px}
.td-projects .tdp-overview-grid .tdp-card {padding:26px;border-radius:20px}
.td-projects .tdp-project-wordmark {display:block;width:min(220px,100%);height:auto;max-height:44px;object-fit:contain;object-position:left center;margin:0 0 24px}
.td-projects .tdp-project-wordmark[hidden] {display:none}
.td-projects .tdp-overview-grid h2 {font-size:1.125rem;margin-bottom:16px}
.td-projects .tdp-overview-grid h3 {font-size:1rem;line-height:1.4;margin:0 0 8px}
.td-projects .tdp-overview-section+.tdp-overview-section {margin-top:22px;padding-top:22px;border-top:1px solid #214b6166}
.td-projects .tdp-overview-section p {margin-bottom:8px}
.td-projects .tdp-overview-grid .tdp-source-link {font-size:.8125rem;margin:10px 0 0;line-height:1.6}
.td-projects .tdp-overview-grid .tdp-status>div {font-size:.875rem;padding:10px 0;gap:12px}
.td-projects .tdp-official-links {display:grid;gap:4px}
.td-projects .tdp-official-link {display:flex;align-items:center;min-height:44px;color:#78ddec;text-decoration:none;font-size:.9375rem;border-bottom:1px solid #214b6155;padding:9px 0}
.td-projects .tdp-official-link:last-child {border-bottom:0}
.td-projects .tdp-official-link:hover {color:#c5faff;text-decoration:underline;text-underline-offset:4px}
.td-projects .tdp-profile-date {font-size:.8125rem;line-height:1.6;margin:14px 0 0}
.td-projects .tdp-evidence-status {display:inline-block;padding:4px 10px;border:1px solid #665938;border-radius:8px;color:#e4c781;font-size:.8125rem;margin:0 0 12px}
.td-projects .tdp-overview-grid .tdp-evidence-status~p {font-size:.875rem;margin:0 0 8px}
.td-projects>.tdp-overview-core {margin-top:20px;background:#092334;border-color:#225167;border-radius:20px}
.td-projects .tdp-overview-core .tdp-button {margin-top:4px}
@media(max-width:760px) {
  .td-projects .tdp-overview-grid {grid-template-columns:1fr;gap:16px}
  .td-projects .tdp-overview-grid :is(.tdp-detail-main,.tdp-detail-side) {gap:16px}
  .td-projects .tdp-overview-grid .tdp-card {padding:20px;border-radius:16px}
  .td-projects .tdp-overview-header .tdp-project-heading {gap:12px}
  .td-projects .tdp-overview-header .tdp-project-icon {width:48px;height:48px}
  .td-projects .tdp-overview-header {gap:16px;margin-bottom:22px}
  .td-projects .tdp-overview-intro {font-size:.9375rem}
  .td-projects .tdp-overview-header h1 {font-size:2rem}
  .td-projects .tdp-overview-grid .tdp-source-link {min-height:44px;display:flex;align-items:center}
  .td-projects .tdp-overview-core .tdp-button {width:100%}
}

.tdp-overview-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:flex-end}
.tdp-overview-actions .tdp-follow{background:#00cfe8;color:#00131d;border-color:#00cfe8;font-weight:700}
.tdp-overview-actions .tdp-follow[aria-pressed="true"]{background:#103245;color:#96f1ff;border-color:#30728b}
.tdp-overview-actions .tdp-follow:disabled{opacity:.65;cursor:wait}
.front-project-symbol img{width:36px;height:36px;object-fit:contain;border-radius:9px}
@media(max-width:760px){.tdp-overview-actions{justify-content:flex-start;width:100%}}

/* Public preview: readable introduction, two factual cards, one account invitation. */

/* External token market data: fixed position after the project's data-use section. */
.tdp-market {min-width:0;overflow:hidden}
.tdp-market-heading {display:flex;align-items:center;justify-content:space-between;gap:12px}
.td-projects .tdp-market-heading h2 {margin:0}
.tdp-market-symbol {color:#aabed1;font-size:.8125rem;letter-spacing:.1em}
.tdp-market-provenance {color:#8fa9bf;font-size:.75rem!important;line-height:1.6;margin:8px 0 18px!important}
.tdp-market-status {color:#a9c0d4;font-size:.8125rem!important;line-height:1.5;margin:12px 0!important}
.tdp-market-status[data-state="OBSERVED"]::before {content:"";display:inline-block;width:7px;height:7px;background:#4996ff;border-radius:50%;margin-right:8px}
.tdp-market-status[data-state="STALE"] {color:#e2be7a}
.tdp-market-summary {display:grid;grid-template-columns:minmax(0,1fr) minmax(80px,42%);gap:10px 12px;width:100%;text-align:left;padding:15px 0 13px;background:none;border:0;border-top:1px solid #244255;border-bottom:1px solid #244255;color:#eef5fd;font:inherit;cursor:pointer}
.tdp-market-summary:hover .tdp-market-open {color:#b5f5ff}
.tdp-market-summary:focus-visible,.tdp-market-action:focus-visible,.tdp-market-close:focus-visible {outline:2px solid #57dff6;outline-offset:5px}
.tdp-market-values {display:flex;flex-wrap:wrap;align-items:baseline;gap:8px 12px}
.tdp-market-price {font-size:clamp(1.35rem,2.6vw,1.9rem);font-weight:680;letter-spacing:-.035em;line-height:1.3;font-variant-numeric:tabular-nums}
.tdp-market-change {font-size:.9375rem;font-weight:600;font-variant-numeric:tabular-nums;color:#bbcbdb}
.tdp-market-change[data-direction="up"] {color:#42d4a3}
.tdp-market-change[data-direction="down"] {color:#ff8998}
.tdp-market-period {width:100%;color:#8fa9bf;font-size:.8125rem}
.tdp-market-spark {width:100%;height:64px;align-self:center;overflow:visible}
.tdp-market-line {fill:none;stroke:#458fff;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}
.tdp-market-open {grid-column:1/-1;color:#67d7ed;font-size:.8125rem}
.tdp-market-time,.tdp-market-note {font-size:.75rem!important;color:#8fa9bf;line-height:1.65!important;margin:12px 0 0!important;overflow-wrap:anywhere}
.tdp-market-footer {display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;margin-top:12px}
.tdp-market-source {color:#76dceb;font-size:.8125rem;text-underline-offset:3px}
.tdp-market-action {min-height:40px;border:1px solid #284b65;border-radius:9px;padding:8px 13px;background:#0d2334;color:#c0d2e2;font:inherit;font-size:.8125rem;cursor:pointer}
.tdp-market-action[aria-pressed="true"] {background:#173d61;color:#deedff;border-color:#438ed9}
.tdp-market-dialog {box-sizing:border-box;width:min(1100px,calc(100% - 40px));max-width:1400px;max-height:calc(100dvh - 40px);padding:0;border:1px solid #2a465d;border-radius:20px;background:#081a29;color:#e8f0fb;box-shadow:0 30px 100px #0009;font-family:Inter,system-ui,sans-serif;overflow:hidden;color-scheme:dark}
.tdp-market-dialog * {box-sizing:border-box}
.tdp-market-dialog [hidden] {display:none!important}
/* The shell clips the corners; only the inset content scrolls. */
.tdp-market-dialog[open] {display:flex;flex-direction:column}
.tdp-market-dialog-content {min-height:0;min-width:0;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#52748c transparent;margin:0 6px 8px;padding:0 22px 20px}
body:has(.tdp-market-dialog[open]) {overflow:hidden}
.tdp-market-dialog::backdrop {background:#010a14cc;backdrop-filter:blur(6px)}
.tdp-market-dialog-header {display:flex;justify-content:space-between;align-items:center;gap:18px;flex:none;min-width:0;padding:22px 28px 20px;margin:0}
.tdp-market-dialog-header h2 {overflow-wrap:anywhere;margin:0;font-size:1.45rem;letter-spacing:-.03em}
.tdp-market-dialog-header .tdp-market-provenance {margin:0 0 6px!important;font-size:11px!important;letter-spacing:.025em}
.tdp-market-close {flex:none;display:grid;place-items:center;width:44px;height:44px;padding:0;background:#102a3e;color:#bcd2e5;border:1px solid #30516a;border-radius:10px;font:inherit;font-size:1.8rem;cursor:pointer}
.tdp-market-close > svg {width:20px;height:20px;flex:none}
.tdp-market-ranges {display:flex;flex-wrap:wrap;align-items:center;gap:4px;margin:0 0 22px;padding:5px;background:#0d2131;border:1px solid #1e394e;border-radius:12px;width:fit-content;max-width:100%}
.tdp-market-ranges .tdp-market-action {min-height:34px;min-width:46px;padding:6px 12px;background:transparent;border:1px solid transparent;font-size:12px;border-radius:8px;font-weight:600}
.tdp-market-ranges .tdp-market-action:hover {background:#173449;color:#fff}
.tdp-market-ranges .tdp-market-action[aria-pressed="true"] {background:#1d3b51;color:#edf7ff;border-color:#345d78;box-shadow:0 2px 6px #0003}
.tdp-market-detail-price {display:flex;flex-wrap:wrap;align-items:baseline;gap:16px}
.tdp-market-detail-price {min-width:0;max-width:100%}
.tdp-market-detail-price .tdp-market-price {font-size:clamp(1.7rem,3.4vw,2.35rem);font-weight:650;letter-spacing:-.045em}
.tdp-market-detail-price .tdp-market-price[data-long="true"] {font-size:clamp(1.15rem,2.8vw,1.8rem);overflow-wrap:anywhere}
.tdp-market-detail-price .tdp-market-change {padding:5px 8px;border-radius:6px;background:#163c332e;font-size:13px}
.tdp-market-detail-price .tdp-market-change[data-direction="down"] {background:#63334130}
.tdp-market-readout {display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 20px;margin-bottom:20px;min-height:50px}
.tdp-market-readout-info {text-align:right}
.tdp-market-readout-info .tdp-market-status {font-size:11px!important;margin:0 0 4px!important}
.tdp-market-selection-date {margin:0;color:#c1d4e3;font-size:12px;font-variant-numeric:tabular-nums}
.tdp-market-year {min-height:34px;max-width:100%;padding:6px 9px;border:0;border-left:1px solid #294456;border-radius:0;background:transparent;color:#acc2d3;font:inherit;font-size:12px;color-scheme:dark}
.tdp-market-year:focus-visible {outline:2px solid #458fff;outline-offset:3px}
.tdp-market-chart-status {font-size:.8125rem;color:#e2be7a}
.tdp-market-coverage {font-size:11px;line-height:1.6;color:#8da8bc;margin:14px 0 8px}
.tdp-market-data-details {font-size:11px;color:#8da8bc;border-top:1px solid #1c3447;padding-top:12px;line-height:1.6}
.tdp-market-data-details summary {cursor:pointer;width:fit-content;color:#aec4d6}
.tdp-market-data-details .tdp-market-note {max-width:850px;font-size:11px!important;margin-top:8px!important}
.tdp-market-empty {padding:40px 20px;color:#9eb6ca;text-align:center;line-height:1.7}
.tdp-market-calendar {display:flex;align-items:end;flex-wrap:wrap;gap:12px;margin:-8px 0 20px;padding:16px;border:1px solid #2a465d;border-radius:10px;background:#0b2030}
.tdp-market-calendar label {display:grid;gap:6px;font-size:12px;color:#adc4d6;flex:1;min-width:140px}
.tdp-market-calendar input {min-height:40px;width:100%;border:1px solid #365166;border-radius:6px;padding:8px;background:#081a29;color:#e8f0fb;font:inherit;color-scheme:dark}

/* Reusable, provider-independent market chart. */
.tdp-market-change[data-direction="up"] {color:#16c79a}
.tdp-market-change[data-direction="down"] {color:#f6465d}
.tdp-market-spark[data-direction="up"] .tdp-market-line {stroke:#16c79a}
.tdp-market-spark[data-direction="down"] .tdp-market-line {stroke:#f6465d}
.tdp-market-spark[data-direction="flat"] .tdp-market-line {stroke:#a5b9c9}
.tdp-chart {--chart-up:#16c79a;--chart-down:#f6465d;--chart-accent:#a5b9c9;--chart-rsi:#aa87ed;--chart-ink:#b5c5d5;--chart-line:var(--chart-up);min-width:0;color:var(--chart-line)}
.tdp-chart[data-direction="down"] {--chart-line:var(--chart-down)}
.tdp-chart[data-direction="flat"] {--chart-line:var(--chart-accent)}
.tdp-chart-identity {display:flex;justify-content:space-between;flex-wrap:wrap;gap:6px 16px;margin:16px 0 4px;font:500 10px/1.6 Inter,system-ui,sans-serif;color:#99b1c4}
.tdp-chart-identity>span:first-child {color:#ccdae5;letter-spacing:.035em}
.tdp-chart-interval {display:flex;align-items:center;gap:7px;font:500 10px/1.4 Inter,system-ui,sans-serif;color:#a9bfd0}
.tdp-chart-interval select {width:auto;min-width:66px;min-height:36px;padding:6px;border:1px solid #29485d;border-radius:7px;background:#0a1e2e;color:#e1f1fd;font:inherit;color-scheme:dark}
.tdp-chart-interval select:focus-visible {outline:2px solid #59beef;outline-offset:2px}
.tdp-chart-candle path {fill:none;stroke:currentColor;stroke-width:1;vector-effect:non-scaling-stroke}
.tdp-chart-candle rect {fill:currentColor;stroke:none}
.tdp-chart-candle[data-direction="flat"] {color:var(--chart-accent)}
.tdp-chart-candle[data-complete="false"] rect {fill:#081a29;stroke:currentColor;stroke-width:1;stroke-dasharray:2 1}
.tdp-chart-ohlc {grid-column:1/-1;display:grid;grid-template-columns:auto 1fr;gap:5px 10px;border-top:1px solid #2b4356;padding-top:8px;font-size:11px;color:#b7c9d8}
.tdp-chart-ohlc b {text-align:right;font-weight:550;color:#edf3fa;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.tdp-chart-candle-state {grid-column:1/-1;font-size:10px;line-height:1.5;color:#afc0d0;margin:3px 0}
.tdp-chart-rsi {position:relative;border-top:1px solid #294052;margin:0 0 14px;padding-top:10px}
.tdp-chart-rsi-header {display:flex;align-items:center;gap:12px;font:11px/1.6 Inter,system-ui,sans-serif;color:#b7c6d5;padding-left:8px}
.tdp-chart-rsi-value {color:var(--chart-rsi);font-size:12px;font-weight:600;font-variant-numeric:tabular-nums}
.tdp-chart-rsi .tdp-chart-svg {height:100px}
.tdp-chart .tdp-chart-rsi-band {fill:#aa87ed0d;stroke:none}
.tdp-chart-rsi-line {fill:none;stroke:var(--chart-rsi);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.tdp-chart-rsi-cursor {fill:none;stroke:#adbdce;stroke-width:1;stroke-dasharray:4 4}
.tdp-chart-rsi-empty {position:absolute;top:46px;left:12px;right:115px;margin:0!important;font-size:11px;line-height:1.6;color:#adbdce;background:#081a29e8;padding:6px}
.tdp-chart [hidden] {display:none!important}
.tdp-chart-toolbar {display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px}
.tdp-chart-segments {display:flex;padding:3px;border:1px solid #203b4f;border-radius:8px;background:#0a1e2e;gap:2px}
.tdp-chart-tool {display:inline-flex;justify-content:center;align-items:center;gap:5px;min-height:30px;padding:5px 10px;border:0;border-radius:5px;background:transparent;color:#95b0c6;font:500 11px/1.4 Inter,system-ui,sans-serif;cursor:pointer;white-space:nowrap}
.tdp-chart-tool:hover {background:#17354a;color:#e8f0fb}
.tdp-chart-tool[aria-pressed="true"] {background:#1a384f;color:#e1f1fd}
.tdp-chart-tool:disabled {opacity:.3;cursor:default}
.tdp-chart-tool:focus-visible,.tdp-chart-surface:focus-visible,.tdp-chart-nav-handle:focus-visible,.tdp-chart-nav-selection:focus-visible,.tdp-market-calendar :focus-visible,.tdp-market-data-details summary:focus-visible {outline:2px solid #59beef;outline-offset:2px}
.tdp-chart-tools {display:flex;gap:3px;margin-left:auto}
.tdp-chart-tools .tdp-chart-tool {width:32px;padding:6px}
.tdp-chart-tool svg {display:block;width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.tdp-chart-plot {position:relative;height:clamp(240px,36dvh,350px);min-width:0;isolation:isolate}
.tdp-chart .tdp-chart-svg {display:block;width:100%;height:100%;overflow:visible;color:var(--chart-line);fill:none;stroke:none}
/* Dashboard SVG defaults are for icons. Text and area fills must never inherit their stroke. */
.tdp-chart .tdp-chart-svg text,.tdp-chart .tdp-chart-area,.tdp-chart .tdp-chart-last rect {stroke:none}
.tdp-chart-grid path {fill:none;stroke:#20384b;stroke-width:1;stroke-opacity:.75}
.tdp-chart-grid text {fill:#abc3d7;font:11px Inter,system-ui,sans-serif;font-variant-numeric:tabular-nums}
.tdp-chart-line {fill:none;stroke:currentColor;stroke-width:1.8;stroke-linejoin:round;stroke-linecap:round}
.tdp-chart-baseline {fill:none;stroke:#628093;stroke-width:1;stroke-dasharray:3 5;opacity:.28}
.tdp-chart-last path {fill:none;stroke:currentColor;stroke-width:1;stroke-dasharray:3 3;opacity:.7}
.tdp-chart-last rect {fill:currentColor}
.tdp-chart-last text {fill:#04131e;font:650 11px Inter,system-ui,sans-serif;font-variant-numeric:tabular-nums}
.tdp-chart-crosshair path {fill:none;stroke:#9bbace;stroke-width:1;stroke-dasharray:4 4;opacity:.8}
.tdp-chart-crosshair circle {fill:#081a29;stroke:currentColor;stroke-width:2.5}
.tdp-chart-surface {position:absolute;cursor:crosshair;touch-action:none;border-radius:2px;-webkit-user-select:none;user-select:none}
.tdp-chart-surface:active {cursor:grabbing}
.tdp-chart-tooltip {position:absolute;z-index:3;pointer-events:none;display:grid;grid-template-columns:1fr auto;gap:7px 10px;width:230px;max-width:calc(100% - 16px);padding:12px;border:1px solid #365268;border-radius:9px;background:#102335fa;box-shadow:0 8px 28px #0004;color:#edf3fa}
.tdp-chart-tooltip-date {grid-column:1/-1;font-size:10px;line-height:1.5;color:#a9c4d8}
.tdp-chart-tooltip strong {font-size:14px;font-variant-numeric:tabular-nums;letter-spacing:-.025em}
.tdp-chart-tooltip strong {overflow-wrap:anywhere;min-width:0}
.tdp-chart-tooltip-change {font-size:11px;align-self:center}
.tdp-chart [data-direction="up"] {color:var(--chart-up)}
.tdp-chart [data-direction="down"] {color:var(--chart-down)}
.tdp-chart-empty {position:absolute;inset:25% 80px auto 8px;color:#a9c4d8;text-align:center;background:#081a29d9;padding:20px;font-size:13px;pointer-events:none}
.tdp-chart-range-row {display:flex;justify-content:space-between;flex-wrap:wrap;gap:5px 12px;margin:9px 0;color:#8faabe;font-size:10px;line-height:1.5;font-variant-numeric:tabular-nums}
.tdp-chart-range-row>span:first-child {color:#c0d4e4;font-weight:500}
.tdp-chart-navigator {position:relative;height:44px;margin:0 7px 17px;border-radius:7px;background:#0c2437;touch-action:none;user-select:none}
.tdp-chart-navigator svg {display:block;width:100%;height:100%;padding:4px 0;opacity:.7;fill:none;stroke:none}
.tdp-chart-mini-line {fill:none;stroke:#638faa;stroke-width:1.2;vector-effect:non-scaling-stroke}
.tdp-chart-nav-shade {position:absolute;top:0;bottom:0;background:#05121dbc;pointer-events:none}
.tdp-chart-nav-selection {position:absolute;top:0;height:100%;border:1px solid #4682a7;background:#489aca0d;cursor:grab;padding:0;border-radius:4px;min-width:0}
.tdp-chart-nav-selection:active {cursor:grabbing}
.tdp-chart-nav-handle {position:absolute;top:0;bottom:0;width:12px;transform:translateX(-50%);border:1px solid #5486a5;border-radius:4px;background:#20445c;cursor:ew-resize;padding:0}
.tdp-chart-nav-handle::after {content:"";position:absolute;top:14px;bottom:14px;left:4px;width:2px;background:#a3c6df;border-radius:1px}
.tdp-chart-stats {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));padding:15px 0;border-top:1px solid #20394d;border-bottom:1px solid #20394d;color:#dae7f2;gap:12px}
.tdp-chart-stats>div {display:grid;gap:7px;min-width:0;padding-left:18px;border-left:1px solid #20394d}
.tdp-chart-stats>div:first-child {padding-left:0;border:0}
.tdp-chart-stats span {font-size:10px;color:#8da8be}
.tdp-chart-stats strong {font-size:13px;font-weight:550;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.tdp-chart-hint {margin:11px 0 0;color:#718da3;font-size:10px;line-height:1.5}
.tdp-chart-touch-hint {display:none}
.tdp-chart-sr {position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.tdp-market-dialog--expanded {width:calc(100% - 24px);max-width:1400px}
.tdp-market-dialog--expanded .tdp-chart-plot {height:clamp(260px,48dvh,600px)}
@media(pointer:coarse) {.tdp-chart-mouse-hint{display:none}.tdp-chart-touch-hint{display:inline}.tdp-chart-tool{min-height:40px}.tdp-chart-nav-handle::before{content:"";position:absolute;inset:-3px -12px}.tdp-chart-navigator{height:48px}}
@media(max-width:640px) {
 .tdp-market-readout {margin-bottom:16px;gap:6px}.tdp-market-readout-info{text-align:left;width:100%;display:flex;justify-content:space-between;align-items:center;gap:8px}.tdp-market-readout-info .tdp-market-status{margin:0!important}.tdp-market-selection-date{font-size:10px}
 .tdp-market-ranges{width:100%;gap:2px;margin-bottom:18px}.tdp-market-ranges .tdp-market-action{flex:1;min-width:34px;padding:7px 7px;font-size:11px}.tdp-market-year{font-size:11px;min-width:72px;flex:1}
 .tdp-chart-toolbar{gap:6px}.tdp-chart-tool{font-size:10px;padding:5px 8px}.tdp-chart-tools{gap:0}.tdp-chart-tools .tdp-chart-tool{width:28px}.tdp-chart-plot{height:260px}
 .tdp-chart-stats{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:17px}.tdp-chart-stats>div:nth-child(3){border:0;padding-left:0}.tdp-chart-stats strong{font-size:12px}
 .tdp-market-coverage{font-size:10px}.tdp-market-data-details .tdp-market-note{font-size:11px!important}.tdp-chart-range-row{font-size:9px}
}
/* The watchlist uses the same observations and dialog in a smaller summary. */
.tdp-market--card .tdp-market-summary {grid-template-columns:minmax(0,1fr) 92px;gap:5px 10px;min-height:0;padding:9px 0 8px;border-bottom:0}
.tdp-market--card .tdp-market-values {gap:5px 8px;align-content:center}
.tdp-market--card .tdp-market-price {font-size:19px;letter-spacing:-.025em}
.tdp-market--card .tdp-market-change {font-size:13px}
.tdp-market--card .tdp-market-spark {height:40px}
.tdp-market--card .tdp-market-line {stroke:#16c79a}
.tdp-market-card-bottom {grid-column:1/-1;display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:5px 12px}
.tdp-market--card .tdp-market-open,.tdp-market--card .tdp-market-period {font-size:11px;width:auto}
.tdp-market-card-meta,.tdp-market-card-provenance {color:#9ab4c9;font-size:10px;line-height:1.6;margin:4px 0 0;overflow-wrap:anywhere}
.tdp-market-card-provenance {color:#8fa9bf}
.tdp-market--card .tdp-market-status {margin:8px 0!important;font-size:12px!important}
.tdp-market--card .tdp-market-summary:focus-visible {outline-offset:-2px;border-radius:4px}
@media(max-width:560px) {
  .tdp-market-dialog {width:calc(100% - 16px);max-height:calc(100dvh - 16px);padding:0;border-radius:16px}
  .tdp-market-dialog-header {padding:20px 16px 18px}
  .tdp-market-dialog-content {padding:0 10px 12px;margin-bottom:6px}
  .tdp-market-dialog-header h2 {font-size:1.125rem}
  .tdp-market-detail-price .tdp-market-price {font-size:2rem}
  .tdp-market-action {min-height:44px}
  .tdp-market-summary {min-height:120px}
  .tdp-market-provenance,.tdp-market-note,.tdp-market-time {font-size:.8125rem!important}
}

.td-projects .tdp-preview-header .tdp-project-heading>div {min-width:0}
.td-projects .tdp-preview-header h1[tabindex="-1"]:focus {outline:none}
.td-projects .tdp-preview-grid {align-items:stretch}
.td-projects .tdp-preview-grid .tdp-card {height:100%}
.td-projects .tdp-preview-invitation {display:grid;grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:22px;margin-top:24px;padding:28px;border-color:#225167;border-radius:20px;background:linear-gradient(115deg,#0b293a,#071c2b)}
.td-projects .tdp-preview-mark {display:grid;place-items:center;width:48px;height:48px;border:1px solid #2d6377;border-radius:14px;color:#69e7f4;background:#0c3345}
.td-projects .tdp-preview-copy h2 {font-size:1.25rem;margin:0 0 8px;line-height:1.35}
.td-projects .tdp-preview-copy p {max-width:580px;margin:0;color:#bed0df;font-size:.9375rem;line-height:1.7}
.td-projects .tdp-preview-actions {display:flex;flex-direction:column;align-items:center;gap:2px;min-width:190px}
.td-projects .tdp-preview-actions .tdp-button {min-height:48px;padding:12px 22px}
.td-projects .tdp-preview-actions .tdp-text-link {display:inline-flex;align-items:center;justify-content:center;min-height:44px;margin:0;padding:8px 16px}
@media(min-width:761px) and (max-width:1000px) {
  .td-projects .tdp-preview-invitation {grid-template-columns:48px minmax(0,1fr)}
  .td-projects .tdp-preview-actions {grid-column:2;flex-direction:row;justify-content:flex-start;flex-wrap:wrap;gap:12px}
}
@media(max-width:760px) {
  .td-projects .tdp-preview-header .tdp-project-heading {display:grid;grid-template-columns:48px minmax(0,1fr);column-gap:14px;row-gap:4px}
  .td-projects .tdp-preview-header .tdp-project-heading>div {display:contents}
  .td-projects .tdp-preview-header .tdp-project-icon {grid-column:1;grid-row:1 / span 2;align-self:center;margin:0}
  .td-projects .tdp-preview-header .tdp-eyebrow {grid-column:2;grid-row:1;font-size:.75rem;line-height:1.5}
  .td-projects .tdp-preview-header h1 {grid-column:2;grid-row:2;margin:0;font-size:clamp(1.7rem,6vw,2.25rem);line-height:1.2}
  .td-projects .tdp-preview-header .tdp-overview-intro {grid-column:1 / -1;grid-row:3;margin-top:12px;font-size:1rem;line-height:1.7}
  .td-projects .tdp-preview-header .tdp-overview-actions {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .td-projects .tdp-preview-header .tdp-button {padding:10px 12px;font-size:.9375rem;min-height:48px}
  .td-projects .tdp-preview-grid .tdp-status>div {font-size:.9375rem;padding:12px 0}
  .td-projects .tdp-preview-invitation {grid-template-columns:40px minmax(0,1fr);align-items:start;gap:14px;margin-top:16px;padding:22px 20px;border-radius:16px}
  .td-projects .tdp-preview-mark {width:40px;height:40px;border-radius:12px}
  .td-projects .tdp-preview-copy h2 {font-size:1.125rem;margin-bottom:10px}
  .td-projects .tdp-preview-copy p {font-size:1rem}
  .td-projects .tdp-preview-actions {grid-column:1 / -1;min-width:0;align-items:stretch;margin-top:4px}
}
/* Navigation focus announces the new view without framing a noninteractive heading. */
.td-projects :is(h1,h2)[tabindex="-1"]:focus {outline:none;box-shadow:none}

/* Follow state uses the same bookmark as the dashboard navigation. */
.td-projects .tdp-follow:has(.tdp-follow-label) { width:44px;height:44px;min-width:44px;min-height:44px;padding:0;flex:0 0 44px; }
.td-projects .tdp-follow > svg { width:22px;height:22px;flex:none; }
.td-projects .tdp-follow[aria-pressed="true"] > svg { fill:currentColor; }
.tdp-follow-label { position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0; }
