@import url("https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@600;700;800&display=swap");

:root {
  color-scheme: dark;
  --ink: #f5f7f3;
  --muted: #9ca9a3;
  --line: rgba(255,255,255,.1);
  --panel: #111a18;
  --panel-2: #16211e;
  --green: #78e3a4;
  --green-dark: #173c2a;
  --lime: #c8f36b;
  --red: #ff877d;
  --amber: #f6c969;
  font-family: "DM Sans", system-ui, sans-serif;
  background: #09110f;
  color: var(--ink);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; min-height: 100vh; background: #09110f; }
button, input, select { font: inherit; }
a { color: inherit; }
button:disabled { cursor: wait; opacity: .55; }
.brand { display: inline-flex; align-items: center; gap: .65rem; font: 800 .95rem Manrope, sans-serif; text-decoration: none; letter-spacing: -.02em; }
.brand span { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 10px; background: var(--green); color: #07100d; font-size: .8rem; letter-spacing: -.05em; }
.site-header, .game-header { position: relative; z-index: 10; display: flex; align-items: center; justify-content: space-between; min-height: 72px; padding: 0 max(24px, calc((100vw - 1240px) / 2)); border-bottom: 1px solid var(--line); background: rgba(9,17,15,.88); backdrop-filter: blur(18px); }
.account-nav { display: flex; align-items: center; gap: 1.1rem; font-size: .84rem; }
.account-nav a, .account-nav button { color: #dce5e0; text-decoration: none; border: 0; background: transparent; cursor: pointer; }
.account-nav form { margin: 0; }
.account-nav .nav-cta { padding: .6rem 1rem; border-radius: 999px; background: #e9f7ef; color: #0c1713; font-weight: 700; }
.user-pill { max-width: 180px; overflow: hidden; text-overflow: ellipsis; color: var(--green); white-space: nowrap; }
.eyebrow { margin: 0 0 .7rem; color: var(--green); font-size: .7rem; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }
.hero { position: relative; display: grid; grid-template-columns: 1.05fr .95fr; gap: 4rem; align-items: center; width: min(1240px, calc(100% - 48px)); min-height: 690px; margin: 0 auto; padding: 5rem 0; }
.hero::before { content: ""; position: absolute; z-index: -1; top: 4rem; left: -15rem; width: 32rem; height: 32rem; border-radius: 50%; background: rgba(55,199,122,.13); filter: blur(90px); }
h1, h2, h3 { font-family: Manrope, sans-serif; letter-spacing: -.045em; }
.hero h1 { max-width: 760px; margin: 0; font-size: clamp(3.5rem, 7.2vw, 6.8rem); line-height: .93; }
.hero h1 em { color: var(--green); font-style: normal; }
.hero-copy { max-width: 650px; margin: 1.8rem 0 2.1rem; color: #aebcb6; font-size: 1.13rem; line-height: 1.7; }
.hero-actions { display: flex; flex-wrap: wrap; gap: .8rem; }
.button { display: inline-flex; min-height: 46px; align-items: center; justify-content: center; padding: .75rem 1.15rem; border: 1px solid transparent; border-radius: 12px; font-weight: 750; text-decoration: none; cursor: pointer; }
.button-primary { background: var(--green); color: #08120e; box-shadow: 0 10px 28px rgba(76,210,137,.12); }
.button-secondary { border-color: var(--line); background: rgba(255,255,255,.035); color: #e8efeb; }
.notice { color: var(--amber); }
.hero-visual { position: relative; width: min(100%, 520px); aspect-ratio: 1; justify-self: end; border: 1px solid var(--line); border-radius: 50%; background: radial-gradient(circle, rgba(81,205,139,.15), transparent 52%), linear-gradient(135deg, #101c18, #080e0c); box-shadow: inset 0 0 90px rgba(84,237,155,.06), 0 35px 90px rgba(0,0,0,.35); }
.hero-visual::after { content: ""; position: absolute; inset: 10%; border: 1px dashed rgba(120,227,164,.25); border-radius: 50%; }
.hero-core { position: absolute; z-index: 3; inset: 32%; display: flex; flex-direction: column; align-items: center; justify-content: center; border: 1px solid rgba(120,227,164,.35); border-radius: 50%; background: #12221c; box-shadow: 0 0 60px rgba(71,230,143,.15); }
.hero-core small { color: var(--muted); font-size: .66rem; text-transform: uppercase; }
.hero-core strong { margin: .25rem 0; font: 800 clamp(1.6rem, 4vw, 2.8rem) Manrope; letter-spacing: -.06em; }
.hero-core span { color: var(--green); font-size: .74rem; }
.orbit { position: absolute; inset: 5%; border: 1px solid rgba(255,255,255,.08); border-radius: 50%; animation: orbit 26s linear infinite; }
.orbit-two { inset: 20%; animation-direction: reverse; animation-duration: 18s; }
.orbit span { position: absolute; display: grid; place-items: center; min-width: 72px; height: 34px; padding: 0 .7rem; border: 1px solid var(--line); border-radius: 999px; background: #17231f; color: #bed0c8; font-size: .7rem; box-shadow: 0 10px 25px rgba(0,0,0,.3); }
.orbit span:first-child { top: -17px; left: calc(50% - 36px); }
.orbit span:last-child { right: -36px; top: calc(50% - 17px); }
@keyframes orbit { to { transform: rotate(360deg); } }
.systems-strip { display: flex; justify-content: center; gap: clamp(1.2rem, 5vw, 4.5rem); overflow: hidden; padding: 1.4rem 24px; border-block: 1px solid var(--line); color: #789087; font: 700 .7rem Manrope; letter-spacing: .13em; text-transform: uppercase; white-space: nowrap; }
.game-section { width: min(1240px, calc(100% - 48px)); margin: 0 auto; padding: 7rem 0; }
.section-heading { display: flex; justify-content: space-between; align-items: end; gap: 3rem; margin-bottom: 2.4rem; }
.section-heading h2 { margin: 0; font-size: clamp(2rem, 4vw, 3.5rem); }
.section-heading > p { max-width: 400px; margin: 0; color: var(--muted); line-height: 1.6; }
.game-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1rem; }
.game-card { overflow: hidden; border: 1px solid var(--line); border-radius: 20px; background: var(--panel); }
.game-card.featured { grid-column: span 2; grid-row: span 2; }
.card-art { position: relative; display: grid; place-items: center; height: 260px; border-bottom: 1px solid var(--line); background: radial-gradient(circle at 60% 45%, rgba(127,238,175,.25), transparent 25%), linear-gradient(145deg, #172c24, #0b1512); }
.card-art b { font: 800 4.2rem Manrope; color: var(--green); letter-spacing: -.08em; }
.molecule { position: absolute; width: 17px; height: 17px; border: 4px solid rgba(201,255,220,.7); border-radius: 50%; }
.molecule::before, .molecule::after { content: ""; position: absolute; top: 4px; left: 13px; width: 100px; height: 2px; background: rgba(201,255,220,.28); transform: rotate(25deg); transform-origin: left; }
.molecule::after { transform: rotate(-52deg); width: 70px; }
.molecule.m1 { top: 62px; left: 90px; }
.molecule.m2 { right: 95px; bottom: 72px; transform: rotate(180deg); }
.card-content { padding: 1.35rem; }
.card-meta { display: flex; justify-content: space-between; gap: 1rem; color: #7f928a; font-size: .67rem; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; }
.live-tag { color: var(--green); }
.game-card h3 { margin: .7rem 0 .5rem; font-size: 1.45rem; }
.game-card p { margin: 0; color: var(--muted); font-size: .9rem; line-height: 1.6; }
.card-stats { display: flex; gap: 1.4rem; margin: 1.4rem 0; color: #8e9e98; font-size: .72rem; }
.card-stats span { display: flex; flex-direction: column; }
.card-stats b { color: var(--ink); font-size: 1rem; }
.text-link { color: var(--green); font-size: .85rem; font-weight: 700; text-decoration: none; }
.small-art { display: grid; place-items: center; height: 100px; border-bottom: 1px solid var(--line); background: linear-gradient(145deg, #1a2622, #0d1512); color: rgba(120,227,164,.5); font: 800 1.6rem Manrope; }
.upcoming { opacity: .76; }
footer { display: flex; justify-content: space-between; width: min(1240px, calc(100% - 48px)); margin: 0 auto; padding: 2rem 0; border-top: 1px solid var(--line); color: #71827b; font-size: .75rem; }
footer span { color: #d5dfda; font-weight: 700; }
footer p { margin: 0; }

/* Authentication */
.auth-page { display: grid; place-items: center; padding: 40px 20px; background: radial-gradient(circle at 50% 0, rgba(71,207,134,.14), transparent 35rem), #09110f; }
.auth-card, .setup-card, .loading-card { width: min(100%, 540px); padding: clamp(1.6rem, 5vw, 3.2rem); border: 1px solid var(--line); border-radius: 24px; background: rgba(17,26,24,.96); box-shadow: 0 30px 100px rgba(0,0,0,.35); }
.auth-card .back-link { display: inline-block; margin-bottom: 3rem; color: var(--muted); font-size: .82rem; text-decoration: none; }
.auth-card h1, .setup-card h1 { margin: 0; font-size: clamp(2.1rem, 7vw, 3.5rem); line-height: 1.05; }
.lede, .setup-card > p { color: var(--muted); line-height: 1.6; }
.form-stack { display: grid; gap: 1rem; margin-top: 1.6rem; }
.form-stack label { display: grid; gap: .45rem; color: #dbe5e0; font-size: .78rem; font-weight: 700; }
input, select { width: 100%; min-height: 48px; padding: 0 .9rem; border: 1px solid rgba(255,255,255,.14); border-radius: 10px; outline: none; background: #0a1210; color: var(--ink); }
input:focus, select:focus { border-color: var(--green); box-shadow: 0 0 0 3px rgba(120,227,164,.1); }
.auth-links { display: flex; justify-content: space-between; gap: 1rem; margin-top: 1.5rem; font-size: .8rem; }
.auth-links a { color: var(--green); text-decoration: none; }
.recovery-card { padding: 1.2rem; border: 1px solid rgba(120,227,164,.25); border-radius: 14px; background: var(--green-dark); }
.recovery-card code { display: block; margin: 1rem 0; padding: .8rem; background: rgba(0,0,0,.22); color: var(--lime); word-break: break-all; }
.error-message { color: var(--red); }

/* Game */
.game-header { position: sticky; top: 0; min-height: 64px; padding-inline: 24px; }
.game-title { display: flex; align-items: center; gap: .65rem; }
.game-title i { width: 9px; height: 9px; border-radius: 50%; background: var(--green); box-shadow: 0 0 14px var(--green); }
.game-title strong { font: 700 .85rem Manrope; }
.game-title small { padding-left: .65rem; border-left: 1px solid var(--line); color: var(--muted); }
.game-shell { width: min(1440px, calc(100% - 40px)); margin: 0 auto; padding: 1.5rem 0 4rem; }
.loading-card, .setup-card { margin: 9vh auto; text-align: center; }
.spinner { display: block; width: 28px; height: 28px; margin: 0 auto; border: 3px solid var(--line); border-top-color: var(--green); border-radius: 50%; animation: spin .7s linear infinite; }
@keyframes spin { to { transform: rotate(360deg); } }
.setup-card .form-stack { text-align: left; }
.metric-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: .8rem; margin-bottom: .8rem; }
.metric-grid article { padding: 1.15rem; border: 1px solid var(--line); border-radius: 14px; background: var(--panel); }
.metric-grid span, .metric-grid small { display: block; color: var(--muted); font-size: .68rem; }
.metric-grid strong { display: block; margin: .25rem 0; font: 750 1.55rem Manrope; letter-spacing: -.05em; }
.dashboard-grid { display: grid; grid-template-columns: minmax(0, 1.75fr) minmax(280px, .75fr); gap: .8rem; }
.panel { border: 1px solid var(--line); border-radius: 16px; background: var(--panel); }
.panel-heading { display: flex; align-items: start; justify-content: space-between; gap: 1rem; padding: 1.2rem 1.3rem; border-bottom: 1px solid var(--line); }
.panel-heading .eyebrow { margin-bottom: .25rem; font-size: .58rem; }
.panel-heading h2 { margin: 0; font-size: 1.15rem; }
.info-tip { display: grid; place-items: center; width: 23px; height: 23px; border: 1px solid var(--line); border-radius: 50%; color: var(--muted); font-size: .7rem; cursor: help; }
.pipeline-list { padding: .2rem 1.3rem; }
.pipeline-item { display: grid; grid-template-columns: 1.1fr 1fr .55fr; gap: 1.2rem; align-items: center; padding: 1.15rem 0; border-bottom: 1px solid var(--line); }
.pipeline-item:last-child { border: 0; }
.asset-name, .asset-value { display: flex; flex-direction: column; }
.asset-name strong { font: 700 .9rem Manrope; }
.asset-name span, .asset-value span { color: var(--muted); font-size: .68rem; }
.stage > span { display: block; margin-bottom: .35rem; color: #cdd8d3; font-size: .72rem; }
.progress { height: 5px; overflow: hidden; border-radius: 999px; background: rgba(255,255,255,.08); }
.progress i { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, #45bf7d, var(--lime)); }
.asset-value { text-align: right; }
.asset-value strong { font-size: .8rem; }
.live-dot { color: var(--green); font-size: .65rem; text-transform: uppercase; }
.live-dot::before { content: ""; display: inline-block; width: 6px; height: 6px; margin-right: .4rem; border-radius: 50%; background: var(--green); }
.news-list { padding: .2rem 1.3rem; }
.news-item { position: relative; padding: 1rem 0 1rem .9rem; border-bottom: 1px solid var(--line); }
.news-item::before { content: ""; position: absolute; top: 1.1rem; bottom: 1rem; left: 0; width: 2px; border-radius: 2px; background: #71847b; }
.news-item.positive::before { background: var(--green); }
.news-item.negative::before { background: var(--red); }
.news-item span { color: #758a80; font-size: .58rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.news-item h3 { margin: .25rem 0 0; font: 600 .78rem/1.45 "DM Sans"; letter-spacing: 0; }
.decisions-panel { grid-column: 1 / -1; }
.plan-total { color: var(--lime); font-size: .75rem; font-weight: 700; }
.decision-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; background: var(--line); }
.decision-grid label { display: flex; flex-direction: column; min-width: 0; padding: 1rem 1.1rem; background: var(--panel); color: #dce5e1; font-size: .74rem; font-weight: 700; }
.decision-grid small { min-height: 2.1em; margin: .25rem 0 .75rem; color: var(--muted); font-size: .62rem; font-weight: 400; line-height: 1.35; }
.decision-grid select { min-height: 40px; margin-top: auto; font-size: .72rem; }
.decision-footer { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1rem 1.3rem; }
.decision-footer p { margin: 0; color: var(--muted); font-size: .7rem; }
.save-status { margin: .7rem 0 0; color: #70847b; font-size: .66rem; text-align: right; }
.status-banner { margin-bottom: .8rem; padding: 1rem 1.2rem; border-radius: 12px; background: var(--green-dark); color: var(--green); font-weight: 700; }
.status-banner.failed, .status-banner.bankrupt, .status-banner.clinical-failure { background: rgba(255,100,90,.11); color: var(--red); }
dialog { width: min(520px, calc(100% - 32px)); padding: 2rem; border: 1px solid var(--line); border-radius: 20px; background: #131e1a; color: var(--ink); box-shadow: 0 30px 100px rgba(0,0,0,.65); }
dialog::backdrop { background: rgba(2,6,5,.75); backdrop-filter: blur(4px); }
dialog h2 { margin-top: 0; font-size: 2rem; }
.dialog-close { position: absolute; top: 12px; right: 12px; border: 0; background: transparent; color: var(--muted); font-size: 1.5rem; cursor: pointer; }
.turn-summary { display: grid; grid-template-columns: repeat(3, 1fr); gap: .7rem; margin: 1.2rem 0; }
.turn-summary > div { padding: .8rem; border: 1px solid var(--line); border-radius: 10px; }
.turn-summary span { display: block; color: var(--muted); font-size: .62rem; }
.turn-summary strong { font-size: .9rem; }
.turn-summary p { grid-column: 1 / -1; margin: 0; padding: .8rem; background: rgba(255,255,255,.035); color: #b9c6c0; font-size: .78rem; line-height: 1.5; }
.turn-summary .risk-callout { color: var(--amber); }
.negative-text { color: var(--red); }

@media (max-width: 980px) {
  .hero { grid-template-columns: 1fr; min-height: auto; }
  .hero-visual { width: min(85vw, 470px); justify-self: center; }
  .game-grid { grid-template-columns: repeat(2, 1fr); }
  .metric-grid { grid-template-columns: repeat(3, 1fr); }
  .decision-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 700px) {
  .site-header, .game-header { padding-inline: 16px; }
  .site-header .user-pill, .site-header .account-nav > a:first-of-type, .game-header .user-pill { display: none; }
  .hero { width: min(100% - 32px, 1240px); gap: 2rem; padding: 3.5rem 0; }
  .hero h1 { font-size: clamp(3rem, 16vw, 5rem); }
  .section-heading { align-items: start; flex-direction: column; }
  .game-section { width: min(100% - 32px, 1240px); padding: 4rem 0; }
  .game-grid { grid-template-columns: 1fr; }
  .game-card.featured { grid-column: auto; grid-row: auto; }
  .systems-strip { justify-content: start; }
  .game-title small { display: none; }
  .game-shell { width: min(100% - 24px, 1440px); }
  .metric-grid { grid-template-columns: repeat(2, 1fr); }
  .metric-grid article:first-child { grid-column: span 2; }
  .dashboard-grid { grid-template-columns: 1fr; }
  .decision-grid { grid-template-columns: 1fr; }
  .pipeline-item { grid-template-columns: 1fr; gap: .6rem; }
  .asset-value { text-align: left; }
  .decision-footer { align-items: stretch; flex-direction: column; }
  .turn-summary { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; scroll-behavior: auto !important; }
}

/* TrialMaster */
.trialmaster { background: #07100e; }
.tm-shell { max-width: 1480px; }
.tm-setup { display: grid; grid-template-columns: 1.05fr .95fr; gap: clamp(2rem, 6vw, 7rem); align-items: center; min-height: calc(100vh - 110px); padding: 4rem clamp(1rem, 5vw, 5rem); }
.tm-setup-copy h1 { margin: 0; font-size: clamp(3rem, 6vw, 6rem); line-height: .94; }
.tm-setup-copy h1 em { color: var(--green); font-style: normal; }
.tm-setup-copy > p { max-width: 640px; color: var(--muted); font-size: 1.05rem; line-height: 1.7; }
.tm-setup-copy ul { display: grid; gap: .65rem; padding: 0; list-style: none; color: #c5d2cc; font-size: .82rem; }
.tm-setup-copy li::before { content: "✓"; margin-right: .65rem; color: var(--green); }
.tm-setup-form { display: grid; gap: 1rem; padding: clamp(1.4rem, 4vw, 2.4rem); border: 1px solid var(--line); border-radius: 22px; background: var(--panel); box-shadow: 0 30px 90px rgba(0,0,0,.32); }
.tm-setup-form label, .protocol-grid label { display: grid; gap: .4rem; color: #c9d5cf; font-size: .72rem; font-weight: 700; }
.setup-capital { display: grid; grid-template-columns: 1fr auto; padding: .9rem 1rem; border: 1px solid rgba(120,227,164,.2); border-radius: 11px; background: rgba(120,227,164,.06); }
.setup-capital span, .setup-capital small { color: var(--muted); font-size: .65rem; }
.setup-capital strong { grid-row: span 2; align-self: center; color: var(--green); font: 800 1.5rem Manrope; }
.tm-metrics { display: grid; grid-template-columns: repeat(5, 1fr); gap: .7rem; margin-bottom: .7rem; }
.tm-metrics article { padding: 1rem 1.1rem; border: 1px solid var(--line); border-radius: 13px; background: var(--panel); }
.tm-metrics span, .tm-metrics small { display: block; overflow: hidden; color: var(--muted); font-size: .64rem; text-overflow: ellipsis; white-space: nowrap; }
.tm-metrics strong { display: block; margin: .25rem 0; overflow: hidden; font: 750 1.4rem Manrope; letter-spacing: -.05em; text-overflow: ellipsis; white-space: nowrap; }
.tm-grid { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(280px, .65fr); gap: .7rem; }
.tm-chip { padding: .34rem .55rem; border: 1px solid var(--line); border-radius: 999px; color: #a9bbb2; font-size: .6rem; white-space: nowrap; }
.asset-summary { display: grid; grid-template-columns: 1.3fr .8fr .8fr; gap: 1px; background: var(--line); }
.asset-summary > div { padding: 1rem 1.2rem; background: var(--panel); }
.asset-summary span, .asset-progress span { display: block; margin-bottom: .25rem; color: var(--muted); font-size: .6rem; text-transform: uppercase; }
.asset-summary strong { font-size: .8rem; }
.asset-progress { padding: 1.1rem 1.2rem; }
.asset-progress > div:first-child { display: flex; justify-content: space-between; }
.asset-progress b { font-size: .72rem; }
.phase-roadmap { display: grid; grid-template-columns: repeat(5, 1fr); padding: 0 1.2rem 1.2rem; }
.phase-roadmap div { position: relative; padding-top: 1rem; border-top: 1px solid #26332e; color: #586b62; font-size: .56rem; text-align: center; }
.phase-roadmap div i { position: absolute; top: -4px; left: calc(50% - 4px); width: 8px; height: 8px; border-radius: 50%; background: #31423a; }
.phase-roadmap .complete { color: #8eb5a3; border-color: #478661; }
.phase-roadmap .complete i { background: #5bc688; }
.phase-roadmap .active { color: var(--green); border-color: var(--green); }
.phase-roadmap .active i { background: var(--green); box-shadow: 0 0 12px var(--green); }
.tm-risk-panel .panel-heading > strong { color: var(--green); font: 800 1.7rem Manrope; }
.risk-list { padding: .65rem 1.2rem; }
.risk-list > div { display: flex; align-items: center; justify-content: space-between; padding: .48rem 0; border-bottom: 1px solid rgba(255,255,255,.055); color: #afbeb7; font-size: .7rem; }
.risk-stars { color: var(--amber); font-size: .7rem; letter-spacing: .08em; }
.risk-stars i { color: #34433d; font-style: normal; }
.model-warning { margin: .2rem 1.2rem 1rem; color: #71837b; font-size: .59rem; line-height: 1.5; }
.evidence-panel, .adviser-panel, .tm-news { grid-column: 1 / -1; }
.small-button { padding: .4rem .6rem; border: 1px solid var(--line); border-radius: 8px; background: transparent; color: #9caea5; font-size: .62rem; cursor: pointer; }
.evidence-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; background: var(--line); }
.evidence-grid article { padding: 1.1rem 1.3rem; background: var(--panel); }
.evidence-source { margin-bottom: .8rem; color: #8ea198; font-size: .62rem; font-weight: 700; text-transform: uppercase; }
.source-dot { display: inline-block; width: 6px; height: 6px; margin-right: .4rem; border-radius: 50%; }
.source-dot.live { background: var(--green); }
.source-dot.synthetic { background: #85a7ff; }
.evidence-grid strong { display: block; font: 750 1.35rem Manrope; }
.evidence-grid > article > span { color: #aebdb6; font-size: .69rem; }
.evidence-grid p { margin: .7rem 0 0; color: #6f8279; font-size: .61rem; line-height: 1.45; }
.protocol-required, .clock-controls { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1.2rem 1.3rem; }
.protocol-required { background: rgba(120,227,164,.055); }
.protocol-required p { margin: .2rem 0 0; color: var(--muted); font-size: .7rem; }
.clock-controls > div { margin-right: auto; }
.clock-controls span, .clock-controls small { display: block; color: var(--muted); font-size: .62rem; }
.clock-controls strong { display: block; margin: .15rem 0; font-size: .9rem; }
.adviser-list { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; background: var(--line); }
.adviser-list article { padding: 1.1rem 1.2rem; background: var(--panel); }
.adviser-list article > div { display: flex; align-items: start; justify-content: space-between; gap: .5rem; }
.adviser-list strong { font-size: .75rem; }
.adviser-list span { padding: .24rem .4rem; border-radius: 999px; background: rgba(120,227,164,.08); color: var(--green); font-size: .55rem; }
.adviser-list p { margin: .7rem 0 0; color: var(--muted); font-size: .67rem; line-height: 1.55; }
.investor-panel { grid-column: 2; }
.funding-offer, .no-offer { padding: 1.2rem; }
.funding-offer > span { color: var(--green); font-size: .62rem; text-transform: uppercase; }
.funding-offer > strong { display: block; margin: .3rem 0; font: 800 2rem Manrope; }
.funding-offer p, .no-offer p { color: var(--muted); font-size: .68rem; line-height: 1.5; }
.no-offer strong { font-size: .85rem; }
.no-offer span { color: #8ca096; font-size: .62rem; }
.tm-news { grid-column: 1; grid-row: span 2; }
.tm-news .news-list { display: grid; grid-template-columns: repeat(2, 1fr); gap: 0 1.2rem; }
.tm-dialog { width: min(760px, calc(100% - 24px)); }
.protocol-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: .8rem; }
.protocol-toggles { display: flex; flex-wrap: wrap; gap: 1rem; margin: 1rem 0; }
.protocol-toggles label { display: flex; align-items: center; gap: .45rem; color: #b9c8c1; font-size: .7rem; }
.protocol-toggles input { width: auto; min-height: 0; accent-color: var(--green); }
.protocol-estimate { display: grid; grid-template-columns: repeat(3, 1fr); gap: .6rem; margin: 1rem 0; }
.protocol-estimate > div { padding: .8rem; border: 1px solid var(--line); border-radius: 9px; background: #0c1512; }
.protocol-estimate span { display: block; color: var(--muted); font-size: .58rem; }
.protocol-estimate strong { font-size: .88rem; }
.tm-dialog .model-warning { margin-inline: 0; }
.result-content { display: grid; gap: .65rem; margin: 1rem 0; }
.result-content > p, .result-event, .result-outcome { margin: 0; padding: 1rem; border: 1px solid var(--line); border-radius: 10px; color: #aebcb5; font-size: .72rem; line-height: 1.5; }
.result-event p, .result-outcome p { margin: .3rem 0 0; color: var(--muted); }
.result-outcome.positive { border-color: rgba(120,227,164,.35); }
.result-outcome.negative { border-color: rgba(255,135,125,.35); }

@media (max-width: 900px) {
  .tm-setup { grid-template-columns: 1fr; }
  .tm-metrics { grid-template-columns: repeat(2, 1fr); }
  .stage-metric { grid-column: span 2; }
  .tm-grid { grid-template-columns: 1fr; }
  .evidence-panel, .adviser-panel, .tm-news, .investor-panel { grid-column: 1; }
  .tm-news { grid-row: auto; }
  .adviser-list { grid-template-columns: 1fr; }
}
@media (max-width: 620px) {
  .tm-setup { padding: 2rem 0; }
  .tm-setup-copy h1 { font-size: 3.2rem; }
  .asset-summary, .evidence-grid, .protocol-grid, .protocol-estimate { grid-template-columns: 1fr; }
  .clock-controls, .protocol-required { align-items: stretch; flex-direction: column; }
  .clock-controls > div { margin-right: 0; }
  .tm-news .news-list { grid-template-columns: 1fr; }
}
