:root {
  color-scheme: dark;

  --tp-bg: #090d13;
  --tp-panel: #0d131b;
  --tp-panel-2: #111923;
  --tp-border: rgba(255, 255, 255, 0.08);
  --tp-border-strong: rgba(255, 255, 255, 0.13);

  --tp-text: #eef4fb;
  --tp-muted: #8c9aac;
  --tp-muted-2: #637083;

  --tp-accent: #68a7ff;
  --tp-accent-soft: rgba(104, 167, 255, 0.12);

  --tp-green: #2294c5;
  --tp-red: #ef4444;

  --tp-radius: 14px;
  --tp-radius-lg: 20px;

  --tp-shadow:
    0 24px 70px
    rgba(0, 0, 0, 0.30);
}

* {
  box-sizing: border-box;
}

html,
body {
  margin: 0;
  min-height: 100%;
  background:
    radial-gradient(
      circle at 50% -20%,
      rgba(55, 102, 168, 0.12),
      transparent 34rem
    ),
    var(--tp-bg);
  color: var(--tp-text);
}

body {
  min-height: 100vh;
  font-family:
    Inter,
    ui-sans-serif,
    system-ui,
    -apple-system,
    BlinkMacSystemFont,
    "Segoe UI",
    sans-serif;
}

button,
select,
input {
  font: inherit;
}

button,
select {
  color: inherit;
}

button {
  cursor: pointer;
}

.tp-custom-app {
  min-height: 100vh;
}

.tp-custom-header {
  min-height: 68px;
  padding:
    0
    clamp(18px, 3vw, 44px);

  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;

  position: sticky;
  top: 0;
  z-index: 50;

  border-bottom:
    1px solid
    var(--tp-border);

  background:
    rgba(9, 13, 19, 0.90);

  backdrop-filter:
    blur(18px);
}

.tp-custom-brand {
  color: inherit;
  text-decoration: none;

  display: inline-flex;
  align-items: center;
  gap: 11px;
}

.tp-custom-logo {
  width: 36px;
  height: 36px;

  border:
    1px solid
    rgba(104, 167, 255, 0.34);

  border-radius: 10px;

  background:
    linear-gradient(
      145deg,
      #15273e,
      #0c1522
    );

  color: #a7cbff;

  display: grid;
  place-items: center;

  font-weight: 800;
  letter-spacing: -0.04em;
}

.tp-custom-brand-copy {
  display: grid;
  gap: 1px;
}

.tp-custom-brand-copy strong {
  font-size: 14px;
}

.tp-custom-brand-copy small {
  color: var(--tp-muted);
  font-size: 11px;
}

.tp-custom-header-actions {
  display: flex;
  align-items: center;
  gap: 14px;
}

.tp-custom-version {
  padding: 6px 9px;

  border:
    1px solid
    rgba(104, 167, 255, 0.18);

  border-radius: 999px;

  background:
    rgba(104, 167, 255, 0.06);

  color: #92bcf7;

  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.09em;
}

.tp-custom-back {
  color: var(--tp-muted);
  text-decoration: none;
  font-size: 13px;
}

.tp-custom-back:hover {
  color: var(--tp-text);
}

.tp-custom-main {
  width:
    min(
      100% - 32px,
      1820px
    );

  margin: 0 auto;

  padding:
    clamp(34px, 5vw, 66px)
    0
    80px;
}

.tp-custom-intro {
  max-width: 920px;
  margin-bottom: 28px;
}

.tp-custom-eyebrow {
  display: inline-block;

  margin-bottom: 11px;

  color: #79aff9;

  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.14em;
}

.tp-custom-intro h1 {
  margin:
    0
    0
    14px;

  max-width: 890px;

  font-size:
    clamp(
      30px,
      4vw,
      54px
    );

  line-height: 1.02;
  letter-spacing: -0.045em;
}

.tp-custom-intro p {
  margin: 0;

  max-width: 820px;

  color: #a0adbd;

  font-size:
    clamp(
      14px,
      1.5vw,
      17px
    );

  line-height: 1.65;
}

.tp-custom-intro-meta {
  margin-top: 20px;

  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.tp-custom-intro-meta span {
  padding:
    7px
    10px;

  border:
    1px solid
    var(--tp-border);

  border-radius: 999px;

  background:
    rgba(255, 255, 255, 0.025);

  color: var(--tp-muted);

  font-size: 11px;
}

.tp-workspace {
  overflow: hidden;

  border:
    1px solid
    var(--tp-border-strong);

  border-radius:
    var(--tp-radius-lg);

  background:
    #0b1017;

  box-shadow:
    var(--tp-shadow);
}

.tp-workspace:fullscreen {
  border: 0;
  border-radius: 0;
  width: 100vw;
  height: 100vh;
  background: #0b1017;
}

.tp-workspace:fullscreen .tp-chart-stage {
  height:
    calc(
      100vh - 168px
    );
}

.tp-workspace-toolbar {
  min-height: 68px;

  padding:
    11px
    14px;

  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;

  border-bottom:
    1px solid
    var(--tp-border);

  background:
    #0f151e;
}

.tp-workspace-primary-controls,
.tp-workspace-actions {
  display: flex;
  align-items: center;
  gap: 8px;
}

.tp-control {
  display: grid;
  gap: 4px;

  min-width: 108px;
}

.tp-control-market {
  min-width: 150px;
}

.tp-control span,
.tp-color-control span {
  color: var(--tp-muted-2);

  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.tp-control select {
  min-height: 35px;

  padding:
    0
    30px
    0
    10px;

  border:
    1px solid
    var(--tp-border);

  border-radius: 8px;

  outline: 0;

  background:
    #111a24;

  color: #dce7f4;

  font-size: 12px;
}

.tp-control select:hover,
.tp-control select:focus {
  border-color:
    rgba(104, 167, 255, 0.38);
}

.tp-toolbar-button {
  min-height: 35px;

  padding:
    0
    12px;

  border:
    1px solid
    var(--tp-border);

  border-radius: 8px;

  background:
    #111a24;

  color: #a9b8c9;

  font-size: 11px;
  font-weight: 650;
}

.tp-toolbar-button:hover {
  border-color:
    rgba(104, 167, 255, 0.34);

  color: #eef4fb;
}

.tp-toolbar-button-accent {
  border-color:
    rgba(104, 167, 255, 0.25);

  background:
    rgba(104, 167, 255, 0.10);

  color: #a8cdff;
}

.tp-appearance-panel {
  padding:
    11px
    14px;

  border-bottom:
    1px solid
    var(--tp-border);

  background:
    #0d141d;

  display: flex;
  align-items: flex-end;
  flex-wrap: wrap;
  gap: 16px;
}

.tp-appearance-panel[hidden] {
  display: none;
}

.tp-color-control {
  display: grid;
  gap: 5px;
}

.tp-color-control input {
  width: 54px;
  height: 31px;

  padding: 2px;

  border:
    1px solid
    var(--tp-border);

  border-radius: 7px;

  background: transparent;
}

.tp-chart-information {
  min-height: 42px;

  padding:
    0
    14px;

  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;

  border-bottom:
    1px solid
    rgba(255, 255, 255, 0.045);

  background:
    #0b1017;
}

.tp-chart-symbol {
  display: flex;
  align-items: center;
  gap: 9px;
}

.tp-chart-symbol strong {
  font-size: 12px;
}

.tp-chart-symbol > span:not(.tp-demo-badge) {
  color: var(--tp-muted);
  font-size: 11px;
}

.tp-demo-badge {
  padding:
    4px
    7px;

  border:
    1px solid
    rgba(245, 158, 11, 0.20);

  border-radius: 999px;

  background:
    rgba(245, 158, 11, 0.07);

  color: #d9a84c;

  font-size: 8px;
  font-weight: 800;
  letter-spacing: 0.07em;
}

.tp-chart-ohlc {
  display: flex;
  gap: 11px;

  color: #77869a;

  font-size: 10px;
  font-variant-numeric:
    tabular-nums;
}

.tp-chart-stage {
  height:
    clamp(
      520px,
      68vh,
      760px
    );

  position: relative;

  background:
    #0b1017;
}

.tp-chart-root {
  position: absolute;
  inset: 0;
}

.tp-chart-watermark {
  position: absolute;

  left: 50%;
  top: 50%;

  transform:
    translate(
      -50%,
      -50%
    );

  pointer-events: none;

  color:
    rgba(255, 255, 255, 0.024);

  font-size:
    clamp(
      70px,
      10vw,
      160px
    );

  font-weight: 900;
  letter-spacing: -0.08em;
}

.tp-chart-footer {
  min-height: 38px;

  padding:
    0
    14px;

  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;

  border-top:
    1px solid
    var(--tp-border);

  background:
    #0e151e;

  color: #667487;

  font-size: 10px;
}

.tp-chart-status {
  display: flex;
  align-items: center;
  gap: 7px;
}

.tp-status-dot {
  width: 6px;
  height: 6px;

  border-radius: 999px;

  background: #2294c5;

  box-shadow:
    0
    0
    0
    4px
    rgba(34, 148, 197, 0.08);
}

.tp-custom-next {
  margin-top: 28px;

  padding:
    24px;

  border:
    1px solid
    var(--tp-border);

  border-radius:
    var(--tp-radius-lg);

  background:
    rgba(255, 255, 255, 0.018);

  display: grid;
  grid-template-columns:
    1fr
    auto;
  gap: 30px;
  align-items: center;
}

.tp-custom-next h2 {
  margin:
    0
    0
    8px;

  font-size:
    clamp(
      20px,
      2.4vw,
      30px
    );

  letter-spacing:
    -0.03em;
}

.tp-custom-next p {
  margin: 0;

  max-width: 660px;

  color: var(--tp-muted);

  font-size: 13px;
  line-height: 1.55;
}

.tp-custom-placeholder {
  min-width: 190px;

  padding:
    14px
    16px;

  border:
    1px dashed
    rgba(104, 167, 255, 0.24);

  border-radius: 12px;

  color: var(--tp-muted);

  display: grid;
  gap: 4px;

  font-size: 10px;
}

.tp-custom-placeholder strong {
  color: #9ec6ff;
  font-size: 12px;
}

@media (max-width: 900px) {

  .tp-workspace-toolbar {
    align-items: stretch;
    flex-direction: column;
  }

  .tp-workspace-primary-controls {
    display: grid;
    grid-template-columns:
      minmax(0, 1fr)
      minmax(0, 1fr)
      minmax(0, 1fr);
  }

  .tp-control,
  .tp-control-market {
    min-width: 0;
  }

  .tp-control select {
    width: 100%;
  }

  .tp-workspace-actions {
    justify-content: flex-end;
  }

  .tp-chart-stage {
    height: 590px;
  }

  .tp-custom-next {
    grid-template-columns: 1fr;
  }

  .tp-custom-placeholder {
    min-width: 0;
  }
}

@media (max-width: 620px) {

  .tp-custom-header {
    min-height: 60px;
    padding:
      0
      14px;
  }

  .tp-custom-version {
    display: none;
  }

  .tp-custom-main {
    width:
      min(
        100% - 20px,
        1820px
      );

    padding:
      28px
      0
      70px;
  }

  .tp-custom-intro h1 {
    font-size: 33px;
  }

  .tp-workspace {
    border-radius: 13px;
  }

  .tp-workspace-primary-controls {
    grid-template-columns:
      1fr
      1fr;
  }

  .tp-control-market {
    grid-column:
      1 / -1;
  }

  .tp-workspace-actions {
    display: grid;
    grid-template-columns:
      1fr
      1fr
      1fr;
  }

  .tp-toolbar-button {
    padding:
      0
      7px;

    font-size: 9px;
  }

  .tp-chart-information {
    min-height: 58px;
    align-items: flex-start;
    justify-content: center;
    flex-direction: column;
    gap: 5px;
    padding:
      9px
      12px;
  }

  .tp-chart-ohlc {
    width: 100%;
    overflow-x: auto;
  }

  .tp-chart-stage {
    height: 520px;
  }

  .tp-chart-footer {
    align-items: flex-start;
    flex-direction: column;
    gap: 5px;

    padding:
      9px
      12px;
  }

  .tp-custom-next {
    padding: 18px;
  }

  .tp-demo-badge {
    display: none;
  }
}
/* ============================================================
   STEP 1218D - STRATEGY STUDIO V02
   ============================================================ */

/*
  Desktop density intentionally reduced to approximately 85%
  through native dimensions instead of CSS transform scaling.
  This preserves chart coordinate accuracy and fullscreen behavior.
*/

@media (min-width:901px){

  .tp-custom-header{
    min-height:58px;
    padding-left:28px;
    padding-right:28px;
  }

  .tp-custom-logo{
    width:31px;
    height:31px;
    border-radius:8px;
  }

  .tp-custom-main{
    width:min(
      calc(100% - 28px),
      1960px
    );
    padding:30px 0 64px;
  }

  .tp-custom-intro{
    max-width:1040px;
    margin-bottom:18px;
  }

  .tp-custom-intro h1{
    max-width:940px;
    margin-bottom:11px;
    font-size:clamp(
      27px,
      3.2vw,
      46px
    );
  }

  .tp-custom-intro p{
    max-width:960px;
    font-size:14px;
    line-height:1.58;
  }

  .tp-custom-intro-meta{
    margin-top:15px;
  }

  .tp-workspace-toolbar{
    min-height:58px;
    padding:8px 11px;
  }

  .tp-control select,
  .tp-toolbar-button{
    min-height:31px;
  }

  .tp-chart-information{
    min-height:36px;
  }

  .tp-chart-stage{
    height:clamp(
      470px,
      60vh,
      660px
    );
  }

  .tp-chart-footer{
    min-height:34px;
  }
}

.tp-custom-seo-copy{
  margin-top:10px !important;
  color:#7f8da0 !important;
  font-size:13px !important;
}

.tp-process-grid{
  margin:0 0 22px;

  display:grid;
  grid-template-columns:
    repeat(3,minmax(0,1fr));
  gap:10px;
}

.tp-process-card{
  min-height:142px;

  padding:17px;

  border:
    1px solid
    var(--tp-border);

  border-radius:14px;

  background:
    linear-gradient(
      145deg,
      rgba(255,255,255,.032),
      rgba(255,255,255,.014)
    );

  position:relative;
}

.tp-process-card::after{
  content:"";

  position:absolute;
  inset:0;

  pointer-events:none;

  border-radius:inherit;

  background:
    radial-gradient(
      circle at 0 0,
      rgba(104,167,255,.07),
      transparent 46%
    );
}

.tp-process-number{
  width:27px;
  height:27px;

  border:
    1px solid
    rgba(104,167,255,.25);

  border-radius:8px;

  display:grid;
  place-items:center;

  background:
    rgba(104,167,255,.08);

  color:#9bc5ff;

  font-size:11px;
  font-weight:800;
}

.tp-process-card h2{
  margin:14px 0 6px;

  font-size:15px;
  letter-spacing:-.02em;
}

.tp-process-card p{
  margin:0;

  color:#8492a4;

  font-size:12px;
  line-height:1.5;
}

.tp-ai-studio,
.tp-strategy-intelligence{
  margin-top:14px;

  padding:18px;

  border:
    1px solid
    var(--tp-border-strong);

  border-radius:
    var(--tp-radius-lg);

  background:
    linear-gradient(
      145deg,
      #0d141d,
      #0a1017
    );

  box-shadow:
    0 18px 45px
    rgba(0,0,0,.17);
}

.tp-section-heading{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:20px;
}

.tp-section-heading h2{
  margin:0 0 5px;

  font-size:
    clamp(
      19px,
      2vw,
      27px
    );

  letter-spacing:-.03em;
}

.tp-section-heading p{
  margin:0;

  max-width:760px;

  color:#7f8da0;

  font-size:12px;
  line-height:1.55;
}

.tp-ai-status,
.tp-draft-status{
  flex:0 0 auto;

  padding:6px 9px;

  border:
    1px solid
    rgba(34,148,197,.23);

  border-radius:999px;

  background:
    rgba(34,148,197,.07);

  color:#6fbada;

  font-size:9px;
  font-weight:800;
  letter-spacing:.09em;
}

.tp-draft-status{
  border-color:
    rgba(104,167,255,.22);

  background:
    rgba(104,167,255,.07);

  color:#91bdff;
}

.tp-ai-context-strip{
  margin-top:14px;

  display:flex;
  flex-wrap:wrap;
  gap:7px;
}

.tp-ai-context-strip span{
  padding:6px 9px;

  border:
    1px solid
    var(--tp-border);

  border-radius:8px;

  background:
    rgba(255,255,255,.022);

  color:#687689;

  font-size:9px;
  text-transform:uppercase;
  letter-spacing:.06em;
}

.tp-ai-context-strip strong{
  margin-left:5px;

  color:#b8c7d8;

  font-size:10px;
  text-transform:none;
  letter-spacing:0;
}

.tp-ai-messages{
  margin-top:12px;

  min-height:88px;
  max-height:260px;

  overflow:auto;

  padding:12px;

  border:
    1px solid
    rgba(255,255,255,.055);

  border-radius:12px;

  background:#090f16;

  display:grid;
  gap:8px;
}

.tp-ai-message{
  max-width:min(780px,88%);

  padding:10px 12px;

  border-radius:11px;

  font-size:11px;
  line-height:1.52;
}

.tp-ai-message span{
  display:block;

  margin-bottom:4px;

  color:#77869a;

  font-size:8px;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.tp-ai-message p{
  margin:0;
}

.tp-ai-message-assistant{
  justify-self:start;

  border:
    1px solid
    rgba(104,167,255,.12);

  background:
    rgba(104,167,255,.055);

  color:#b5c4d6;
}

.tp-ai-message-user{
  justify-self:end;

  border:
    1px solid
    rgba(255,255,255,.075);

  background:
    #131d28;

  color:#dbe6f2;
}

.tp-ai-message-system{
  justify-self:start;

  max-width:100%;

  padding:6px 9px;

  background:transparent;

  color:#647286;

  font-size:9px;
  font-style:italic;
}

.tp-ai-composer{
  margin-top:9px;

  display:grid;
  grid-template-columns:
    minmax(0,1fr)
    auto;
  gap:8px;
}

.tp-ai-composer textarea{
  width:100%;
  min-height:72px;

  resize:vertical;

  padding:10px 11px;

  border:
    1px solid
    var(--tp-border);

  border-radius:10px;

  outline:0;

  background:#0b1119;

  color:#dce7f4;

  font-size:11px;
  line-height:1.5;
}

.tp-ai-composer textarea:focus{
  border-color:
    rgba(104,167,255,.38);

  box-shadow:
    0 0 0 3px
    rgba(104,167,255,.055);
}

.tp-ai-composer button{
  min-width:132px;

  padding:0 14px;

  border:
    1px solid
    rgba(104,167,255,.26);

  border-radius:10px;

  background:
    rgba(104,167,255,.11);

  color:#a7cdff;

  font-size:10px;
  font-weight:750;
}

.tp-ai-footnote{
  margin-top:7px;

  color:#566477;

  font-size:9px;
  line-height:1.45;
}

.tp-metric-grid{
  margin-top:15px;

  display:grid;
  grid-template-columns:
    repeat(5,minmax(0,1fr));
  gap:8px;
}

.tp-metric-card{
  min-width:0;

  padding:13px;

  border:
    1px solid
    var(--tp-border);

  border-radius:11px;

  background:
    rgba(255,255,255,.022);
}

.tp-metric-card > span{
  display:block;

  color:#667487;

  font-size:9px;
  font-weight:750;
  text-transform:uppercase;
  letter-spacing:.07em;
}

.tp-metric-card > strong{
  display:block;

  margin-top:7px;

  color:#e7eef7;

  font-size:23px;
  line-height:1;
  font-variant-numeric:
    tabular-nums;
}

.tp-metric-card > small{
  display:block;

  min-height:14px;
  margin-top:4px;

  color:#5f6d7e;

  font-size:9px;
}

.tp-meter{
  height:3px;

  margin-top:10px;

  overflow:hidden;

  border-radius:999px;

  background:
    rgba(255,255,255,.06);
}

.tp-meter i{
  display:block;

  width:0;
  height:100%;

  border-radius:inherit;

  background:
    linear-gradient(
      90deg,
      #3b82f6,
      #7cb4ff
    );

  transition:
    width .25s ease;
}

.tp-meter-warning i{
  background:
    linear-gradient(
      90deg,
      #d97706,
      #fbbf24
    );
}

.tp-strategy-config-grid{
  margin-top:10px;

  display:grid;
  grid-template-columns:
    minmax(260px,.7fr)
    minmax(0,1.3fr);
  gap:10px;
}

.tp-config-panel,
.tp-config-summary,
.tp-engine-context{
  border:
    1px solid
    var(--tp-border);

  border-radius:11px;

  background:
    rgba(255,255,255,.018);
}

.tp-config-panel{
  padding:13px;
}

.tp-config-panel h3{
  margin:0 0 11px;

  font-size:12px;
}

.tp-config-panel label{
  display:grid;
  gap:4px;

  margin-top:8px;
}

.tp-config-panel label span{
  color:#697789;

  font-size:9px;
  text-transform:uppercase;
  letter-spacing:.06em;
}

.tp-config-panel input,
.tp-config-panel select{
  width:100%;
  min-height:33px;

  padding:0 9px;

  border:
    1px solid
    var(--tp-border);

  border-radius:8px;

  outline:0;

  background:#101821;

  color:#d6e1ed;

  font-size:10px;
}

.tp-config-summary{
  padding:9px;

  display:grid;
  grid-template-columns:
    repeat(3,minmax(0,1fr));
  gap:7px;
}

.tp-config-summary article{
  padding:10px;

  border:
    1px solid
    rgba(255,255,255,.045);

  border-radius:8px;

  background:
    rgba(255,255,255,.015);
}

.tp-config-summary span{
  display:block;

  color:#607084;

  font-size:8px;
  text-transform:uppercase;
  letter-spacing:.06em;
}

.tp-config-summary strong{
  display:block;

  margin-top:4px;

  overflow:hidden;

  color:#b9c7d8;

  font-size:10px;

  text-overflow:ellipsis;
  white-space:nowrap;
}

.tp-engine-context{
  margin-top:10px;

  padding:11px 13px;
}

.tp-engine-context summary{
  cursor:pointer;

  color:#8595a9;

  font-size:10px;
  font-weight:700;
}

.tp-engine-context p{
  color:#5e6d80;

  font-size:9px;
}

.tp-engine-context pre{
  max-height:320px;

  overflow:auto;

  padding:10px;

  border-radius:8px;

  background:#080d13;

  color:#8295ac;

  font-size:9px;
  line-height:1.45;
}

@media (max-width:1050px){

  .tp-metric-grid{
    grid-template-columns:
      repeat(3,minmax(0,1fr));
  }

  .tp-strategy-config-grid{
    grid-template-columns:1fr;
  }
}

@media (max-width:900px){

  .tp-process-grid{
    grid-template-columns:1fr;
  }

  .tp-process-card{
    min-height:0;
  }

  .tp-section-heading{
    flex-direction:column;
  }

  .tp-metric-grid{
    grid-template-columns:
      1fr
      1fr;
  }
}

@media (max-width:620px){

  .tp-ai-studio,
  .tp-strategy-intelligence{
    padding:13px;
    border-radius:13px;
  }

  .tp-ai-composer{
    grid-template-columns:1fr;
  }

  .tp-ai-composer button{
    min-height:38px;
  }

  .tp-metric-grid{
    grid-template-columns:1fr;
  }

  .tp-config-summary{
    grid-template-columns:
      1fr
      1fr;
  }
}

/* ============================================================
   TP_STRATEGY_STUDIO_V03

   Visual direction:
   - centered product story
   - richer TP color system
   - collapsible section rail
   - chart-first workspace
   - graph -> AI -> strategy visual flow
   - Strategy DNA
   - live "TP understands" panel

   No CSS scaling is used.
   ============================================================ */

:root{
  --tp-v03-green:#54bae6;
  --tp-v03-green-soft:rgba(84,186,230,.14);
  --tp-v03-cyan:#5ad7ff;
  --tp-v03-blue:#6d8cff;
  --tp-v03-violet:#a97cff;
  --tp-v03-amber:#f0bf63;
  --tp-v03-teal:#4db4e0;
  --tp-v03-panel:rgba(15,23,34,.84);
  --tp-v03-panel-strong:rgba(17,27,40,.96);
  --tp-v03-line:rgba(133,165,197,.17);
}


body{
  background:
    radial-gradient(
      circle at 16% 8%,
      rgba(71,130,255,.08),
      transparent 30%
    ),
    radial-gradient(
      circle at 82% 22%,
      rgba(84,186,230,.07),
      transparent 28%
    ),
    radial-gradient(
      circle at 52% 78%,
      rgba(169,124,255,.045),
      transparent 32%
    ),
    #090d13;
}


.tp-custom-main{
  width:min(
    calc(100% - 26px),
    1420px
  ) !important;

  max-width:1420px !important;

  margin-left:auto !important;
  margin-right:auto !important;

  padding-left:220px !important;
  padding-right:20px !important;

  transition:
    padding-left .22s ease;
}


.tp-studio-rail{
  position:fixed;

  z-index:45;

  top:82px;
  left:16px;
  bottom:18px;

  width:188px;

  display:flex;
  flex-direction:column;

  padding:12px;

  border:
    1px solid
    rgba(120,154,188,.18);

  border-radius:18px;

  background:
    linear-gradient(
      165deg,
      rgba(18,29,43,.96),
      rgba(10,16,24,.94)
    );

  box-shadow:
    0 18px 60px
    rgba(0,0,0,.26),
    inset 0 1px 0
    rgba(255,255,255,.035);

  backdrop-filter:
    blur(18px);

  overflow:hidden;

  transition:
    width .22s ease,
    padding .22s ease;
}


.tp-studio-rail::before{
  content:"";

  position:absolute;
  inset:0 auto 0 0;

  width:2px;

  background:
    linear-gradient(
      to bottom,
      transparent,
      var(--tp-v03-green),
      var(--tp-v03-cyan),
      transparent
    );

  opacity:.8;
}


.tp-studio-rail-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;

  min-height:48px;

  margin-bottom:14px;
}


.tp-studio-rail-brand{
  display:flex;
  align-items:center;
  gap:9px;

  min-width:0;
}


.tp-studio-rail-brand > span{
  width:34px;
  height:34px;

  flex:0 0 34px;

  display:grid;
  place-items:center;

  border-radius:10px;

  border:
    1px solid
    rgba(84,186,230,.25);

  background:
    linear-gradient(
      145deg,
      rgba(84,186,230,.17),
      rgba(90,215,255,.08)
    );

  color:#f2fbff;

  font-size:12px;
  font-weight:900;
}


.tp-studio-rail-brand div{
  min-width:0;
}


.tp-studio-rail-brand strong,
.tp-studio-rail-brand small{
  display:block;

  white-space:nowrap;
}


.tp-studio-rail-brand strong{
  font-size:12px;
}


.tp-studio-rail-brand small{
  margin-top:2px;

  color:#77889d;

  font-size:9px;
}


.tp-studio-rail-toggle{
  width:28px;
  height:28px;

  flex:0 0 28px;

  display:grid;
  place-items:center;

  padding:0;

  border:
    1px solid
    rgba(120,154,188,.18);

  border-radius:8px;

  background:
    rgba(255,255,255,.025);

  color:#98aabd;

  font-size:18px;

  cursor:pointer;
}


.tp-studio-rail-toggle:hover{
  color:#fff;

  border-color:
    rgba(84,186,230,.34);

  background:
    rgba(84,186,230,.07);
}


.tp-studio-rail-nav{
  display:flex;
  flex-direction:column;
  gap:5px;
}


.tp-studio-nav-link{
  position:relative;

  min-height:43px;

  display:flex;
  align-items:center;
  gap:10px;

  padding:7px 9px;

  border:
    1px solid
    transparent;

  border-radius:11px;

  color:#8799ad;

  font-size:11px;
  font-weight:700;

  text-decoration:none;

  transition:
    color .16s ease,
    border-color .16s ease,
    background .16s ease;
}


.tp-studio-nav-link:hover{
  color:#eaf3fb;

  background:
    rgba(255,255,255,.025);
}


.tp-studio-nav-link.is-active{
  color:#effaff;

  border-color:
    rgba(84,186,230,.18);

  background:
    linear-gradient(
      90deg,
      rgba(84,186,230,.12),
      rgba(84,186,230,.025)
    );
}


.tp-studio-nav-link.is-active::before{
  content:"";

  position:absolute;

  left:-13px;

  width:3px;
  height:22px;

  border-radius:0 999px 999px 0;

  background:
    var(--tp-v03-green);

  box-shadow:
    0 0 14px
    rgba(84,186,230,.5);
}


.tp-studio-nav-icon{
  width:28px;
  height:28px;

  flex:0 0 28px;

  display:grid;
  place-items:center;

  border-radius:8px;

  background:
    rgba(255,255,255,.035);

  color:#9db1c6;

  font-size:13px;
}


.tp-studio-nav-link.is-active
.tp-studio-nav-icon{
  color:var(--tp-v03-green);

  background:
    rgba(84,186,230,.1);
}


.tp-studio-nav-label{
  white-space:nowrap;
}


.tp-studio-rail-foot{
  margin-top:auto;

  display:flex;
  align-items:center;
  gap:8px;

  padding:10px 8px;

  border:
    1px solid
    rgba(84,186,230,.1);

  border-radius:11px;

  background:
    rgba(84,186,230,.035);
}


.tp-studio-rail-foot strong,
.tp-studio-rail-foot small{
  display:block;

  white-space:nowrap;
}


.tp-studio-rail-foot strong{
  font-size:9px;

  color:#b9c9d8;
}


.tp-studio-rail-foot small{
  margin-top:2px;

  color:#6f8195;

  font-size:8px;
}


.tp-studio-live-dot{
  width:7px;
  height:7px;

  flex:0 0 7px;

  border-radius:50%;

  background:
    var(--tp-v03-green);

  box-shadow:
    0 0 10px
    rgba(84,186,230,.72);
}


body.tp-rail-collapsed
.tp-studio-rail{
  width:66px;

  padding-left:10px;
  padding-right:10px;
}


body.tp-rail-collapsed
.tp-custom-main{
  padding-left:92px !important;
}


body.tp-rail-collapsed
.tp-studio-rail-brand div,

body.tp-rail-collapsed
.tp-studio-nav-label,

body.tp-rail-collapsed
.tp-studio-rail-foot div{
  display:none;
}


body.tp-rail-collapsed
.tp-studio-rail-head{
  flex-direction:column;
  justify-content:center;
}


body.tp-rail-collapsed
.tp-studio-nav-link{
  justify-content:center;

  padding-left:0;
  padding-right:0;
}


body.tp-rail-collapsed
.tp-studio-rail-foot{
  justify-content:center;
}


body.tp-rail-collapsed
.tp-studio-rail-toggle{
  font-size:0;
}


body.tp-rail-collapsed
.tp-studio-rail-toggle::after{
  content:"›";

  font-size:18px;
}


.tp-studio-mobile-toggle,
.tp-studio-mobile-nav{
  display:none;
}


/* ------------------------------------------------------------
   Hero
   ------------------------------------------------------------ */

.tp-v03-hero{
  max-width:1050px;

  margin:
    32px
    auto
    24px;

  text-align:center;
}


.tp-v03-hero::before{
  content:"";

  display:block;

  width:74px;
  height:2px;

  margin:
    0
    auto
    20px;

  border-radius:999px;

  background:
    linear-gradient(
      90deg,
      transparent,
      var(--tp-v03-green),
      var(--tp-v03-cyan),
      transparent
    );

  box-shadow:
    0 0 18px
    rgba(84,186,230,.22);
}


.tp-v03-hero h1{
  max-width:900px;

  margin:
    11px
    auto
    14px;

  font-size:
    clamp(
      29px,
      4vw,
      48px
    );

  line-height:1.06;

  letter-spacing:-.035em;

  background:
    linear-gradient(
      115deg,
      #f4f8fc 15%,
      #c9eaf8 52%,
      #c7d7ff 92%
    );

  -webkit-background-clip:text;
  background-clip:text;

  color:transparent;
}


.tp-v03-hero-lead{
  max-width:820px;

  margin:
    0
    auto;

  color:#9aabba;

  font-size:14px;
  line-height:1.75;
}


.tp-v03-hero-punchline{
  display:block;

  margin-top:16px;

  color:#dff0f8;

  font-size:13px;
  font-weight:800;
  letter-spacing:.01em;
}


.tp-v03-capabilities{
  display:grid;

  grid-template-columns:
    repeat(
      3,
      minmax(0,1fr)
    );

  gap:9px;

  margin-top:27px;

  text-align:left;
}


.tp-v03-capability{
  --tone:
    var(--tp-v03-green);

  position:relative;

  min-height:82px;

  display:flex;
  align-items:center;
  gap:11px;

  padding:
    12px
    13px;

  overflow:hidden;

  border:
    1px solid
    color-mix(
      in srgb,
      var(--tone) 19%,
      transparent
    );

  border-radius:13px;

  background:
    linear-gradient(
      145deg,
      color-mix(
        in srgb,
        var(--tone) 8%,
        rgba(16,25,37,.9)
      ),
      rgba(11,18,27,.83)
    );

  box-shadow:
    inset 0 1px 0
    rgba(255,255,255,.025);
}


.tp-v03-capability::after{
  content:"";

  position:absolute;

  top:-38px;
  right:-30px;

  width:90px;
  height:90px;

  border-radius:50%;

  background:
    var(--tone);

  filter:
    blur(36px);

  opacity:.08;
}


.tp-v03-capability[data-tone="cyan"]{
  --tone:
    var(--tp-v03-cyan);
}


.tp-v03-capability[data-tone="blue"]{
  --tone:
    var(--tp-v03-blue);
}


.tp-v03-capability[data-tone="amber"]{
  --tone:
    var(--tp-v03-amber);
}


.tp-v03-capability[data-tone="violet"]{
  --tone:
    var(--tp-v03-violet);
}


.tp-v03-capability[data-tone="teal"]{
  --tone:
    var(--tp-v03-teal);
}


.tp-v03-capability-icon{
  position:relative;
  z-index:1;

  width:38px;
  height:38px;

  flex:0 0 38px;

  display:grid;
  place-items:center;

  border-radius:10px;

  background:
    color-mix(
      in srgb,
      var(--tone) 12%,
      rgba(9,14,21,.9)
    );

  border:
    1px solid
    color-mix(
      in srgb,
      var(--tone) 28%,
      transparent
    );

  color:
    var(--tone);

  font-size:9px;
  font-weight:900;
  letter-spacing:.035em;
}


.tp-v03-capability strong,
.tp-v03-capability small{
  position:relative;
  z-index:1;

  display:block;
}


.tp-v03-capability strong{
  color:#dde7f0;

  font-size:11px;
}


.tp-v03-capability small{
  margin-top:4px;

  color:#75879a;

  font-size:9px;
  line-height:1.4;
}


/* ------------------------------------------------------------
   Process
   ------------------------------------------------------------ */

.tp-v03-process-grid{
  margin-top:10px;
}


.tp-v03-process-grid
.tp-process-card{
  position:relative;

  overflow:hidden;

  background:
    linear-gradient(
      155deg,
      rgba(18,29,42,.9),
      rgba(11,18,27,.86)
    );

  border-color:
    rgba(121,151,183,.15);
}


.tp-v03-process-grid
.tp-process-card::before{
  content:"";

  position:absolute;

  top:0;
  left:0;
  right:0;

  height:2px;

  background:
    linear-gradient(
      90deg,
      var(--tp-v03-green),
      var(--tp-v03-cyan),
      transparent 80%
    );

  opacity:.66;
}


/* ------------------------------------------------------------
   Strategy context strip
   ------------------------------------------------------------ */

.tp-v03-command-strip{
  display:grid;

  grid-template-columns:
    minmax(160px,1.4fr)
    repeat(
      4,
      minmax(100px,1fr)
    );

  gap:1px;

  margin:
    13px
    0
    15px;

  overflow:hidden;

  border:
    1px solid
    rgba(113,150,185,.15);

  border-radius:12px;

  background:
    rgba(113,150,185,.12);
}


.tp-v03-command-title,
.tp-v03-command-item{
  min-height:52px;

  display:flex;
  align-items:center;

  padding:
    9px
    12px;

  background:
    rgba(12,19,29,.94);
}


.tp-v03-command-title{
  gap:9px;
}


.tp-v03-command-title small,
.tp-v03-command-title strong{
  display:block;
}


.tp-v03-command-title small{
  color:#5f7489;

  font-size:8px;
  font-weight:800;
  letter-spacing:.12em;
}


.tp-v03-command-title strong{
  margin-top:2px;

  color:
    var(--tp-v03-green);

  font-size:10px;
}


.tp-v03-command-item{
  flex-direction:column;
  align-items:flex-start;
  justify-content:center;
}


.tp-v03-command-item span{
  color:#667b90;

  font-size:8px;
  text-transform:uppercase;
  letter-spacing:.08em;
}


.tp-v03-command-item strong{
  margin-top:3px;

  color:#dbe6ef;

  font-size:10px;
}


/* ------------------------------------------------------------
   Chart-first workspace
   ------------------------------------------------------------ */

#customWorkspace{
  position:relative;

  border-color:
    rgba(90,215,255,.21) !important;

  background:
    linear-gradient(
      165deg,
      rgba(16,26,39,.97),
      rgba(8,14,22,.98)
    ) !important;

  box-shadow:
    0 22px 75px
    rgba(0,0,0,.28),
    0 0 0 1px
    rgba(90,215,255,.025),
    inset 0 1px 0
    rgba(255,255,255,.035);
}


#customWorkspace::before{
  content:"WORKSPACE";

  position:absolute;

  top:-8px;
  right:18px;

  z-index:2;

  padding:
    3px
    8px;

  border:
    1px solid
    rgba(90,215,255,.2);

  border-radius:999px;

  background:#0c131d;

  color:
    var(--tp-v03-cyan);

  font-size:7px;
  font-weight:900;
  letter-spacing:.13em;
}


/* ------------------------------------------------------------
   Graph -> AI -> Strategy
   ------------------------------------------------------------ */

.tp-v03-flow{
  display:grid;

  grid-template-columns:
    1fr
    35px
    1fr
    35px
    1fr;

  align-items:center;

  gap:8px;

  margin:
    17px
    0;

  padding:
    10px;

  border:
    1px solid
    rgba(113,150,185,.12);

  border-radius:14px;

  background:
    rgba(9,15,23,.55);
}


.tp-v03-flow-node{
  min-height:58px;

  display:grid;

  grid-template-columns:
    26px
    1fr;

  align-content:center;

  column-gap:8px;

  padding:
    9px
    11px;

  border:
    1px solid
    rgba(124,157,189,.13);

  border-radius:11px;

  background:
    linear-gradient(
      145deg,
      rgba(18,29,42,.88),
      rgba(11,18,27,.84)
    );
}


.tp-v03-flow-node > span{
  grid-row:
    1 /
    span 2;

  width:26px;
  height:26px;

  display:grid;
  place-items:center;

  border-radius:8px;

  background:
    rgba(84,186,230,.08);

  color:
    var(--tp-v03-green);

  font-size:8px;
  font-weight:900;
}


.tp-v03-flow-node strong{
  color:#d9e5ef;

  font-size:9px;
  letter-spacing:.08em;
}


.tp-v03-flow-node small{
  margin-top:3px;

  color:#708398;

  font-size:8px;
}


.tp-v03-flow-arrow{
  text-align:center;

  color:#547187;

  font-size:18px;
}


/* ------------------------------------------------------------
   Intelligence V0.3
   ------------------------------------------------------------ */

.tp-v03-intelligence-top{
  display:grid;

  grid-template-columns:
    minmax(0,1.15fr)
    minmax(310px,.85fr);

  gap:10px;

  margin-bottom:10px;
}


.tp-v03-dna,
.tp-v03-understanding{
  padding:14px;

  border:
    1px solid
    rgba(119,153,188,.15);

  border-radius:13px;

  background:
    linear-gradient(
      155deg,
      rgba(17,27,40,.92),
      rgba(10,17,26,.87)
    );
}


.tp-v03-panel-title{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
}


.tp-v03-panel-title h3{
  margin:
    5px
    0
    0;

  color:#e1eaf2;

  font-size:13px;
}


.tp-v03-panel-hint,
.tp-v03-understanding-pulse{
  padding:
    4px
    7px;

  border-radius:999px;

  font-size:7px;
  font-weight:900;
  letter-spacing:.08em;
  white-space:nowrap;
}


.tp-v03-panel-hint{
  border:
    1px solid
    rgba(90,215,255,.15);

  background:
    rgba(90,215,255,.05);

  color:
    var(--tp-v03-cyan);
}


.tp-v03-understanding-pulse{
  border:
    1px solid
    rgba(84,186,230,.16);

  background:
    rgba(84,186,230,.055);

  color:
    var(--tp-v03-green);
}


.tp-v03-dna-copy{
  max-width:590px;

  margin:
    8px
    0
    13px;

  color:#73869a;

  font-size:9px;
  line-height:1.5;
}


.tp-v03-dna-list{
  display:grid;
  gap:9px;
}


.tp-v03-dna-row > div:first-child{
  display:flex;
  align-items:center;
  justify-content:space-between;

  margin-bottom:4px;
}


.tp-v03-dna-row span{
  color:#9cafc1;

  font-size:9px;
  font-weight:700;
}


.tp-v03-dna-row strong{
  color:#dbe8f2;

  font-size:8px;
}


.tp-v03-dna-track{
  height:5px;

  overflow:hidden;

  border-radius:999px;

  background:
    rgba(111,145,177,.1);
}


.tp-v03-dna-track i{
  display:block;

  width:0;
  height:100%;

  border-radius:inherit;

  background:
    linear-gradient(
      90deg,
      var(--tp-v03-green),
      var(--tp-v03-cyan)
    );

  box-shadow:
    0 0 10px
    rgba(84,186,230,.14);

  transition:
    width .35s ease;
}


.tp-v03-understanding-list{
  display:grid;

  gap:1px;

  margin-top:12px;

  overflow:hidden;

  border:
    1px solid
    rgba(122,155,187,.1);

  border-radius:10px;

  background:
    rgba(122,155,187,.08);
}


.tp-v03-understanding-list > div{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;

  padding:
    8px
    9px;

  background:
    rgba(9,15,23,.9);
}


.tp-v03-understanding-list span{
  color:#718498;

  font-size:8px;
}


.tp-v03-understanding-list strong{
  color:#d9e5ef;

  font-size:9px;
}


.tp-v03-understanding-note{
  margin:
    10px
    0
    0;

  color:#65798d;

  font-size:8px;
  line-height:1.5;
}


/* Existing studio panels get more visual separation */

.tp-ai-studio{
  border-color:
    rgba(169,124,255,.17) !important;

  box-shadow:
    inset 0 1px 0
    rgba(255,255,255,.025),
    0 18px 55px
    rgba(0,0,0,.12);
}


.tp-strategy-intelligence{
  border-color:
    rgba(84,186,230,.16) !important;
}


/* ------------------------------------------------------------
   Responsive rail
   ------------------------------------------------------------ */

@media (max-width:1180px){

  .tp-custom-main{
    padding-left:92px !important;
  }

  .tp-studio-rail{
    width:66px;

    padding-left:10px;
    padding-right:10px;
  }

  .tp-studio-rail-brand div,
  .tp-studio-nav-label,
  .tp-studio-rail-foot div{
    display:none;
  }

  .tp-studio-rail-head{
    flex-direction:column;
    justify-content:center;
  }

  .tp-studio-nav-link{
    justify-content:center;

    padding-left:0;
    padding-right:0;
  }

  .tp-studio-rail-foot{
    justify-content:center;
  }

  .tp-studio-rail-toggle{
    display:none;
  }

  .tp-v03-capabilities{
    grid-template-columns:
      repeat(
        2,
        minmax(0,1fr)
      );
  }

  .tp-v03-intelligence-top{
    grid-template-columns:1fr;
  }
}


@media (max-width:760px){

  .tp-custom-main{
    width:100% !important;

    padding-left:13px !important;
    padding-right:13px !important;
  }

  .tp-studio-rail{
    display:none;
  }

  .tp-studio-mobile-toggle{
    position:fixed;

    z-index:60;

    left:12px;
    bottom:12px;

    display:flex;
    align-items:center;
    gap:7px;

    min-height:39px;

    padding:
      8px
      12px;

    border:
      1px solid
      rgba(84,186,230,.24);

    border-radius:11px;

    background:
      rgba(11,19,28,.96);

    color:#dce8f1;

    box-shadow:
      0 12px 35px
      rgba(0,0,0,.34);

    backdrop-filter:
      blur(14px);

    font-size:10px;
    font-weight:800;
  }

  .tp-studio-mobile-nav{
    position:fixed;

    z-index:59;

    left:12px;
    bottom:60px;

    width:
      min(
        230px,
        calc(100vw - 24px)
      );

    padding:8px;

    border:
      1px solid
      rgba(121,155,188,.18);

    border-radius:13px;

    background:
      rgba(11,19,28,.97);

    box-shadow:
      0 18px 50px
      rgba(0,0,0,.4);

    backdrop-filter:
      blur(16px);
  }

  .tp-studio-mobile-nav:not([hidden]){
    display:grid;

    gap:4px;
  }

  .tp-studio-mobile-nav a{
    padding:
      9px
      10px;

    border-radius:8px;

    color:#a9bac9;

    font-size:10px;
    font-weight:700;

    text-decoration:none;
  }

  .tp-studio-mobile-nav a:hover{
    color:#fff;

    background:
      rgba(84,186,230,.07);
  }

  .tp-v03-hero{
    margin-top:22px;
  }

  .tp-v03-hero h1{
    font-size:31px;
  }

  .tp-v03-capabilities{
    grid-template-columns:1fr;
  }

  .tp-v03-command-strip{
    grid-template-columns:
      1fr
      1fr;
  }

  .tp-v03-command-title{
    grid-column:
      1 /
      -1;
  }

  .tp-v03-flow{
    grid-template-columns:1fr;
  }

  .tp-v03-flow-arrow{
    transform:
      rotate(90deg);
  }

  .tp-v03-intelligence-top{
    grid-template-columns:1fr;
  }
}

/* ============================================================
   TP_STRATEGY_STUDIO_V04

   Focused workspace:
   - product explanation belongs to Home
   - Strategy Studio starts directly with the work
   - TP AI becomes a compact Strategy Composer
   ============================================================ */

.tp-v04-studio-intro{
  max-width:760px;

  margin:
    24px
    auto
    18px;

  text-align:center;
}


.tp-v04-studio-intro h1{
  margin:
    7px
    0
    7px;

  color:#eef5fa;

  font-size:
    clamp(
      26px,
      3.2vw,
      38px
    );

  line-height:1.08;

  letter-spacing:-.03em;
}


.tp-v04-studio-intro > p{
  max-width:650px;

  margin:
    0
    auto;

  color:#8799aa;

  font-size:12px;
  line-height:1.6;
}


.tp-v04-studio-sync{
  width:max-content;
  max-width:100%;

  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;

  margin:
    13px
    auto
    0;

  padding:
    7px
    10px;

  border:
    1px solid
    rgba(84,186,230,.13);

  border-radius:999px;

  background:
    rgba(84,186,230,.035);

  color:#9cafbd;

  font-size:9px;
}


.tp-v04-studio-sync strong{
  font-weight:650;
}


/* ------------------------------------------------------------
   TP AI Strategy Composer
   ------------------------------------------------------------ */

.tp-ai-composer-studio{
  padding:
    15px !important;

  border-color:
    rgba(169,124,255,.16) !important;

  background:
    linear-gradient(
      155deg,
      rgba(16,24,36,.94),
      rgba(10,16,25,.91)
    ) !important;
}


.tp-v04-ai-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
}


.tp-v04-ai-head h2{
  margin:
    5px
    0
    4px;

  color:#e7edf5;

  font-size:16px;
  letter-spacing:-.015em;
}


.tp-v04-ai-head p{
  max-width:620px;

  margin:0;

  color:#788a9d;

  font-size:9px;
  line-height:1.5;
}


.tp-v04-ai-context{
  display:flex;
  flex-wrap:wrap;
  gap:6px;

  margin-top:11px;
}


.tp-v04-ai-context > span{
  min-width:105px;

  display:flex;
  align-items:center;
  gap:6px;

  padding:
    5px
    8px;

  border:
    1px solid
    rgba(112,146,180,.12);

  border-radius:8px;

  background:
    rgba(9,15,23,.52);
}


.tp-v04-ai-context small{
  color:#65798c;

  font-size:7px;
  text-transform:uppercase;
  letter-spacing:.06em;
}


.tp-v04-ai-context strong{
  color:#bac9d7;

  font-size:8px;
}


.tp-v04-composer-shell{
  margin-top:10px;

  overflow:hidden;

  border:
    1px solid
    rgba(138,157,190,.17);

  border-radius:12px;

  background:
    rgba(7,12,19,.65);

  box-shadow:
    inset 0 1px 0
    rgba(255,255,255,.02);
}


.tp-v04-composer-shell textarea{
  width:100%;

  min-height:104px;

  display:block;

  box-sizing:border-box;

  resize:vertical;

  padding:
    13px
    14px;

  border:0 !important;
  outline:0;

  background:transparent !important;

  color:#e4edf4;

  font:inherit;
  font-size:11px;
  line-height:1.55;
}


.tp-v04-composer-shell textarea::placeholder{
  color:#536679;
}


.tp-v04-composer-bottom{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;

  padding:
    8px
    9px;

  border-top:
    1px solid
    rgba(119,149,180,.1);

  background:
    rgba(255,255,255,.012);
}


.tp-v04-ai-chips{
  display:flex;
  flex-wrap:wrap;
  gap:5px;
}


.tp-v04-ai-chips button{
  min-height:28px;

  padding:
    5px
    8px;

  border:
    1px solid
    rgba(128,157,187,.12);

  border-radius:999px;

  background:
    rgba(255,255,255,.022);

  color:#8498aa;

  font-size:8px;

  cursor:pointer;
}


.tp-v04-ai-chips button:hover{
  border-color:
    rgba(169,124,255,.28);

  background:
    rgba(169,124,255,.06);

  color:#c9b7ef;
}


.tp-v04-ai-add{
  flex:0 0 auto;

  min-height:31px;

  padding:
    6px
    12px !important;

  border-radius:8px !important;

  font-size:9px !important;
  font-weight:800;
}


.tp-v04-ai-history{
  margin-top:9px;

  overflow:hidden;

  border:
    1px solid
    rgba(119,149,180,.1);

  border-radius:9px;

  background:
    rgba(8,14,21,.42);
}


.tp-v04-ai-history summary{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;

  padding:
    8px
    10px;

  cursor:pointer;

  list-style:none;

  color:#7d91a4;

  font-size:8px;
}


.tp-v04-ai-history summary::-webkit-details-marker{
  display:none;
}


.tp-v04-ai-history summary::before{
  content:"›";

  margin-right:2px;

  color:#677c90;

  font-size:13px;

  transition:
    transform .16s ease;
}


.tp-v04-ai-history[open]
summary::before{
  transform:
    rotate(90deg);
}


.tp-v04-ai-history summary span{
  margin-right:auto;
}


.tp-v04-ai-history summary strong{
  color:#a6b7c6;

  font-size:8px;
}


.tp-v04-ai-history
.tp-ai-messages{
  max-height:240px;

  margin:0;

  padding:
    8px
    10px
    10px;

  border-top:
    1px solid
    rgba(119,149,180,.08);

  overflow:auto;
}


.tp-v04-ai-transparency{
  display:block;

  margin-top:7px;

  color:#526579;

  font-size:7px;
  line-height:1.45;
}


@media (max-width:760px){

  .tp-v04-ai-head{
    flex-direction:column;
    gap:8px;
  }

  .tp-v04-composer-bottom{
    align-items:stretch;
    flex-direction:column;
  }

  .tp-v04-ai-add{
    width:100%;
  }

  .tp-v04-ai-context{
    display:grid;

    grid-template-columns:
      1fr
      1fr;
  }
}


/* ============================================================
   TP_STRATEGY_STUDIO_V06
   Guided / manual / AI Strategy Builder
   ============================================================ */

.tp-v06-builder{
  margin-top:14px;
  padding:17px;
  border:1px solid rgba(84,186,230,.17);
  border-radius:14px;
  background:
    linear-gradient(
      145deg,
      rgba(13,21,30,.97),
      rgba(8,14,21,.96)
    );
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.025),
    0 20px 55px rgba(0,0,0,.14);
}

.tp-v06-builder-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
}

.tp-v06-builder-head h2{
  margin:5px 0;
  color:#edf6fb;
  font-size:19px;
  letter-spacing:-.025em;
}

.tp-v06-builder-head p{
  max-width:730px;
  margin:0;
  color:#7f92a4;
  font-size:10px;
  line-height:1.55;
}

.tp-v06-builder-status{
  flex:0 0 auto;
  padding:6px 9px;
  border:1px solid rgba(84,186,230,.21);
  border-radius:999px;
  background:rgba(84,186,230,.055);
  color:#76bedd;
  font-size:8px;
  font-weight:800;
  letter-spacing:.06em;
}

.tp-v06-mode-switch{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:7px;
  margin-top:14px;
}

.tp-v06-mode-switch button{
  min-height:58px;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:center;
  gap:3px;
  padding:9px 11px;
  border:1px solid rgba(125,157,187,.12);
  border-radius:10px;
  background:rgba(255,255,255,.018);
  color:#9aabba;
  text-align:left;
  cursor:pointer;
}

.tp-v06-mode-switch button:hover{
  border-color:rgba(84,186,230,.22);
  background:rgba(84,186,230,.035);
}

.tp-v06-mode-switch button.is-active{
  border-color:rgba(84,186,230,.31);
  background:
    linear-gradient(
      135deg,
      rgba(84,186,230,.085),
      rgba(94,166,255,.035)
    );
  color:#e4f0f5;
}

.tp-v06-mode-switch strong{
  font-size:10px;
}

.tp-v06-mode-switch small{
  color:#687d90;
  font-size:8px;
}

.tp-v06-guide{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(190px,.32fr);
  gap:8px;
  margin-top:10px;
}

.tp-v06-guide-copy,
.tp-v06-readiness{
  padding:11px 12px;
  border:1px solid rgba(124,155,185,.1);
  border-radius:10px;
  background:rgba(6,12,18,.48);
}

.tp-v06-guide-copy > span,
.tp-v06-readiness small,
.tp-v06-subtitle{
  display:block;
  color:#5fb7ff;
  font-size:7px;
  font-weight:850;
  letter-spacing:.1em;
}

.tp-v06-guide-copy strong{
  display:block;
  margin-top:4px;
  color:#d9e7f0;
  font-size:11px;
}

.tp-v06-guide-copy p{
  margin:4px 0 0;
  color:#718599;
  font-size:9px;
  line-height:1.5;
}

.tp-v06-readiness{
  display:flex;
  flex-direction:column;
  justify-content:center;
}

.tp-v06-readiness strong{
  margin-top:4px;
  color:#e6f2f7;
  font-size:14px;
}

.tp-v06-readiness span{
  margin-top:3px;
  color:#708496;
  font-size:8px;
  line-height:1.4;
}

.tp-v06-presets{
  margin-top:12px;
}

.tp-v06-helper{
  margin:4px 0 0;
  color:#627689;
  font-size:8px;
}

.tp-v06-preset-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:6px;
  margin-top:7px;
}

.tp-v06-preset-grid button{
  min-height:60px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:4px;
  padding:9px 10px;
  border:1px solid rgba(111,147,182,.11);
  border-radius:9px;
  background:rgba(255,255,255,.018);
  color:#b7c7d4;
  text-align:left;
  cursor:pointer;
}

.tp-v06-preset-grid button:hover{
  border-color:rgba(169,124,255,.24);
  background:rgba(169,124,255,.045);
}

.tp-v06-preset-grid strong{
  font-size:9px;
}

.tp-v06-preset-grid small{
  color:#667a8e;
  font-size:7px;
  line-height:1.4;
}

.tp-v06-library{
  margin-top:12px;
  overflow:hidden;
  border:1px solid rgba(119,151,181,.11);
  border-radius:11px;
  background:rgba(6,12,18,.36);
}

.tp-v06-library summary{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:10px 11px;
  cursor:pointer;
  list-style:none;
}

.tp-v06-library summary::-webkit-details-marker{
  display:none;
}

.tp-v06-library summary span{
  color:#c6d5e0;
  font-size:9px;
  font-weight:800;
}

.tp-v06-library summary small{
  color:#607588;
  font-size:7px;
}

.tp-v06-library-body{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:1px;
  padding:1px;
  border-top:1px solid rgba(119,151,181,.08);
  background:rgba(119,151,181,.06);
}

.tp-v06-library-body section{
  padding:10px;
  background:rgba(8,14,21,.96);
}

.tp-v06-library-body section > span{
  display:block;
  margin-bottom:6px;
  color:#657d91;
  font-size:7px;
  font-weight:850;
  letter-spacing:.08em;
}

.tp-v06-library-body section > div{
  display:flex;
  flex-wrap:wrap;
  gap:5px;
}

.tp-v06-library-body button{
  min-height:28px;
  padding:5px 8px;
  border:1px solid rgba(118,150,180,.11);
  border-radius:7px;
  background:rgba(255,255,255,.017);
  color:#879bad;
  font-size:8px;
  cursor:pointer;
}

.tp-v06-library-body button:hover{
  border-color:rgba(84,186,230,.24);
  background:rgba(84,186,230,.04);
  color:#bddbe8;
}

.tp-v06-draft-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:14px;
  margin-top:14px;
}

.tp-v06-draft-head strong{
  display:block;
  margin-top:4px;
  color:#d9e7ef;
  font-size:11px;
}

.tp-v06-draft-head small{
  display:block;
  margin-top:3px;
  color:#657a8d;
  font-size:8px;
}

#tpV06AddCustom{
  flex:0 0 auto;
  padding:7px 10px;
  border:1px solid rgba(84,186,230,.2);
  border-radius:8px;
  background:rgba(84,186,230,.05);
  color:#91c8df;
  font-size:8px;
  font-weight:800;
  cursor:pointer;
}

.tp-v06-blocks{
  display:grid;
  gap:7px;
  margin-top:9px;
}

.tp-v06-empty{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:4px;
  min-height:92px;
  margin-top:9px;
  padding:15px;
  border:1px dashed rgba(116,148,178,.15);
  border-radius:10px;
  color:#738799;
  text-align:center;
}

.tp-v06-empty strong{
  color:#a7b7c4;
  font-size:10px;
}

.tp-v06-empty span{
  max-width:520px;
  font-size:8px;
  line-height:1.5;
}

.tp-v06-clarity{
  margin-top:12px;
}

.tp-v06-ambiguities{
  display:grid;
  gap:5px;
  margin-top:6px;
}

.tp-v06-ambiguities-clear{
  padding:8px 9px;
  border:1px solid rgba(84,186,230,.11);
  border-radius:8px;
  background:rgba(84,186,230,.025);
  color:#73919e;
  font-size:8px;
  line-height:1.45;
}

.tp-v06-ai-bridge{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:15px;
  margin-top:10px;
  padding:10px 11px;
  border:1px solid rgba(169,124,255,.13);
  border-radius:10px;
  background:
    linear-gradient(
      135deg,
      rgba(169,124,255,.04),
      rgba(94,166,255,.025)
    );
}

.tp-v06-ai-bridge span{
  display:block;
  color:#ad8fdf;
  font-size:7px;
  font-weight:850;
  letter-spacing:.08em;
}

.tp-v06-ai-bridge strong{
  display:block;
  margin-top:3px;
  color:#cbd7e2;
  font-size:9px;
}

.tp-v06-ai-bridge small{
  display:block;
  margin-top:2px;
  color:#65788b;
  font-size:7px;
}

.tp-v06-ai-bridge button{
  flex:0 0 auto;
  padding:7px 10px;
  border:1px solid rgba(169,124,255,.2);
  border-radius:8px;
  background:rgba(169,124,255,.055);
  color:#c5afe8;
  font-size:8px;
  font-weight:800;
  cursor:pointer;
}

@media (max-width:900px){

  .tp-v06-mode-switch,
  .tp-v06-preset-grid{
    grid-template-columns:1fr 1fr;
  }
}

@media (max-width:760px){

  .tp-v06-builder-head,
  .tp-v06-draft-head,
  .tp-v06-ai-bridge{
    align-items:stretch;
    flex-direction:column;
  }

  .tp-v06-mode-switch,
  .tp-v06-preset-grid,
  .tp-v06-guide,
  .tp-v06-library-body{
    grid-template-columns:1fr;
  }

  #tpV06AddCustom,
  .tp-v06-ai-bridge button{
    width:100%;
  }
}


/* ============================================================
   TP_STRATEGY_STUDIO_V06_RULE_CARDS
   ============================================================ */

.tp-v06-empty[hidden]{
  display:none;
}

.tp-v06-rule-card{
  padding:10px;
  border:
    1px solid
    rgba(119,151,181,.13);
  border-radius:11px;
  background:
    linear-gradient(
      145deg,
      rgba(14,22,31,.95),
      rgba(8,14,21,.95)
    );
  box-shadow:
    inset 0 1px 0
    rgba(255,255,255,.018);
}

.tp-v06-rule-top{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:10px;
}

.tp-v06-rule-identity{
  min-width:0;
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:6px;
}

.tp-v06-rule-identity strong{
  color:#dce8f0;
  font-size:10px;
}

.tp-v06-rule-identity small{
  width:100%;
  color:#586d80;
  font-size:7px;
}

.tp-v06-rule-kind{
  padding:4px 6px;
  border:
    1px solid
    rgba(94,166,255,.17);
  border-radius:999px;
  background:
    rgba(94,166,255,.045);
  color:#83bce9;
  font-size:7px;
  font-weight:850;
  letter-spacing:.04em;
}

.tp-v06-rule-actions{
  flex:0 0 auto;
  display:flex;
  gap:4px;
}

.tp-v06-rule-actions button{
  width:27px;
  height:27px;
  display:grid;
  place-items:center;
  padding:0;
  border:
    1px solid
    rgba(119,151,181,.12);
  border-radius:7px;
  background:
    rgba(255,255,255,.018);
  color:#788da0;
  cursor:pointer;
}

.tp-v06-rule-actions button:hover:not(:disabled){
  border-color:
    rgba(84,186,230,.22);
  color:#b6d2de;
}

.tp-v06-rule-actions button:disabled{
  opacity:.28;
  cursor:default;
}

.tp-v06-rule-actions .is-delete{
  border-color:
    rgba(234,106,106,.12);
  color:#a76f75;
}

.tp-v06-rule-actions .is-delete:hover{
  border-color:
    rgba(234,106,106,.3);
  color:#e69a9e;
}

.tp-v06-rule-controls{
  display:grid;
  grid-template-columns:
    repeat(
      2,
      minmax(110px,180px)
    );
  gap:6px;
  margin-top:9px;
}

.tp-v06-rule-body{
  display:grid;
  gap:7px;
  margin-top:7px;
}

.tp-v06-rule-field{
  display:grid;
  gap:4px;
}

.tp-v06-rule-field > span{
  color:#5f7589;
  font-size:7px;
  font-weight:700;
}

.tp-v06-rule-field input,
.tp-v06-rule-field select,
.tp-v06-rule-field textarea{
  width:100%;
  box-sizing:border-box;
  border:
    1px solid
    rgba(118,151,181,.14);
  border-radius:7px;
  outline:0;
  background:#09111a;
  color:#cbd8e2;
  font:inherit;
  font-size:8px;
}

.tp-v06-rule-field input,
.tp-v06-rule-field select{
  min-height:31px;
  padding:5px 7px;
}

.tp-v06-rule-field textarea{
  min-height:54px;
  resize:vertical;
  padding:7px 8px;
  line-height:1.45;
}

.tp-v06-rule-field input:focus,
.tp-v06-rule-field select:focus,
.tp-v06-rule-field textarea:focus{
  border-color:
    rgba(84,186,230,.26);
}

.tp-v06-parameter-grid{
  display:grid;
  grid-template-columns:
    repeat(
      auto-fit,
      minmax(100px,1fr)
    );
  gap:6px;
}

.tp-v06-ambiguity{
  display:grid;
  gap:3px;
  padding:8px 9px;
  border:
    1px solid
    rgba(245,176,65,.18);
  border-radius:8px;
  background:
    rgba(245,176,65,.04);
}

.tp-v06-ambiguity strong{
  color:#e1b96f;
  font-size:8px;
}

.tp-v06-ambiguity span{
  color:#9f855a;
  font-size:8px;
  line-height:1.45;
}

@media (max-width:760px){

  .tp-v06-rule-controls{
    grid-template-columns:1fr;
  }

  .tp-v06-parameter-grid{
    grid-template-columns:1fr;
  }
}

/* TP_STRATEGY_STUDIO_V07: a guided editor on the existing canonical draft. */
body.studio-v07{--studio-mint:#9cd2e9;--studio-muted:#a0afb7;--studio-border:#263238;background:#0c1216;color:#eaeff1;font-size:14px;line-height:1.5;}
.studio-v07 [hidden]{display:none!important}.studio-v07 button,.studio-v07 input,.studio-v07 select,.studio-v07 textarea{font:inherit}.studio-v07 button{transition:background .15s,border-color .15s;color:inherit}.studio-v07 button:disabled{opacity:.45;cursor:not-allowed}.studio-v07 :focus-visible{outline:2px solid #9cd2e9;outline-offset:4px}.studio-v07 input,.studio-v07 select,.studio-v07 textarea{min-width:0;background:#0d1519;color:#eaeff1;border:1px solid #304047;border-radius:8px;padding:10px 12px;line-height:1.4}.studio-v07 input:hover,.studio-v07 select:hover,.studio-v07 textarea:hover{border-color:#52656b}.studio-v07 input::placeholder,.studio-v07 textarea::placeholder{color:#788a93}.studio-v07 button svg{width:18px;height:18px}.studio-v07 h1,.studio-v07 h2,.studio-v07 h3,.studio-v07 h4,.studio-v07 p{margin:0}.studio-v07 a{color:inherit;text-decoration:none}.studio-v07 small{font-size:11px}
.studio-rail{width:216px;position:fixed;inset:0 auto 0 0;padding:30px 16px 20px;display:flex;flex-direction:column;background:#0a1014;border-right:1px solid #213036;z-index:30}.studio-brand{display:flex;align-items:center;gap:11px;margin:0 8px 50px;font-size:16px;font-weight:650;letter-spacing:-.4px}.studio-brand small{display:block;font-size:10px;font-weight:400;letter-spacing:0;color:#a2b1b7;margin-top:3px}.studio-monogram{width:38px;height:39px;display:grid;place-content:center;position:relative;color:#a6daf0;border:1px solid #445a64;border-radius:11px;background:#162126;font-size:18px;letter-spacing:-1px}.studio-monogram>span{position:absolute;right:5px;bottom:5px;color:#98cee5}.studio-rail-label{padding:0 14px;margin-bottom:12px;font-size:10px;font-weight:600;letter-spacing:1.6px;color:#8fa0a8}.studio-navigation{display:grid;gap:6px}.studio-navigation a,.studio-navigation button{display:flex;align-items:center;gap:12px;width:100%;padding:12px 13px;border:1px solid transparent;border-radius:8px;background:transparent;color:#aebcc3;text-align:left;font-size:12px;white-space:nowrap}.studio-navigation span{font-size:18px;width:18px;display:inline-block;text-align:center}.studio-navigation .active{background:#192930;border-color:#28404b;color:#b9e3f5}.studio-navigation button:hover{color:#eaf0f3;background:#162026}.studio-rail-tip{margin:auto 10px 32px;padding-top:40px;font-size:12px;color:#96a8b1}.studio-tip-symbol{display:grid;place-content:center;width:22px;height:22px;border:1px solid #475860;border-radius:50%;color:#a8cad8;font-style:italic;margin-bottom:12px}.studio-rail-tip strong{font-size:12px;color:#cbd9db;font-weight:500}.studio-rail-tip p{margin-top:6px;font-size:11px;line-height:1.75}.studio-rail-footer{border-top:1px solid #223037;padding:20px 6px 0;display:flex;gap:11px;align-items:center;font-size:12px}.studio-rail-footer small{display:block;color:#95a5af;margin-top:2px;font-size:10px}.studio-avatar{background:#202b30;border:1px solid #35444a;width:34px;height:34px;display:grid;place-content:center;border-radius:50%;font-size:11px;font-weight:600;color:#b5d1dd}
.studio-shell{margin-left:216px;min-height:100vh}.studio-topbar{height:68px;border-bottom:1px solid #233139;padding:0 40px;display:flex;justify-content:space-between;gap:20px;align-items:center;background:#0c1216}.studio-breadcrumb{display:flex;gap:13px;align-items:center;font-size:11px;color:#8fa0a9}.studio-breadcrumb span{color:#455a64}.studio-breadcrumb strong{font-weight:500;color:#dae4e5}.studio-save{font-size:11px;color:#a6b6bd;display:flex;gap:7px;align-items:center}.studio-dot{width:5px;height:5px;background:#91bed2;border-radius:50%}.studio-main{max-width:1540px;margin:0 auto;padding:37px 40px 20px}.studio-page-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:27px}.studio-eyebrow{display:block;color:#9daeb4;font-size:10px;letter-spacing:1.6px;font-weight:600;margin-bottom:10px}.studio-page-heading h1{font-size:31px;line-height:1.23;letter-spacing:-1.2px;font-weight:600}.studio-page-heading h1>span{color:var(--studio-mint)}.studio-page-heading p{margin-top:9px;color:#a0b0b8;font-size:13px}.studio-primary,.studio-secondary{display:inline-flex;align-items:center;justify-content:center;gap:16px;border-radius:8px;min-height:40px;padding:10px 17px;font-weight:600;font-size:12px!important;border:1px solid #93c6dc;background:var(--studio-mint);color:#12252d!important;white-space:nowrap}.studio-primary:hover{background:#b9e2f4}.studio-secondary{background:#152125;border-color:#34494e;color:#d7e2e7!important;gap:8px}.studio-secondary:hover{background:#203238;border-color:#5c7079}.studio-text-button{border:0;background:transparent;color:#a9c4cf!important;padding:8px 0;font-size:12px!important;text-align:left;display:inline-flex;align-items:center;gap:8px}.studio-text-button:hover{color:#d4eef9!important}.studio-primary>span{font-size:17px;font-weight:400}.studio-full{width:100%}
.studio-basics{padding:19px 22px;border:1px solid var(--studio-border);border-radius:11px;background:#101a1f;display:grid;grid-template-columns:minmax(200px,1fr) 154px 150px auto;gap:20px;align-items:center}.studio-basics label{display:grid;gap:7px}.studio-basics label>span{font-size:10px;font-weight:500;color:#acbec6;letter-spacing:.2px}.studio-basics input,.studio-basics select{width:100%;font-size:13px!important;background:#0e161b;border-color:#2c3d43;min-height:40px}.studio-name input{font-size:14px!important;font-weight:500}.studio-basics-note{font-size:11px;line-height:1.7;color:#8ea2ab;border-left:1px solid #2a3a40;padding-left:20px;align-self:end;padding-bottom:7px}
.studio-builder{margin-top:25px}.studio-builder-toolbar{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:22px}.studio-segmented{display:flex;padding:4px;background:#080f13;border:1px solid #23343b;border-radius:9px;gap:3px}.studio-segmented button{background:transparent;border:1px solid transparent;color:#a2b4bd;padding:7px 14px;border-radius:6px;font-size:12px}.studio-segmented button.is-active{color:#e6f2f7;border-color:#384a51;background:#23333a}.studio-toolbar-actions{display:flex;gap:21px;align-items:center}.studio-ai-button{background:#161d29;color:#c2c9f5!important;border:1px solid #384460;border-radius:7px;padding:8px 13px;font-size:12px!important;display:inline-flex;align-items:center;gap:7px}.studio-ai-button:hover{background:#242d40}.studio-columns{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:24px;align-items:start}.studio-editor{min-width:0}.studio-guide{border:1px solid #354850;border-radius:11px;background:linear-gradient(130deg,#172429 0%,#111c20 67%);overflow:hidden}.studio-guide-overline{padding:17px 20px 0;display:flex;justify-content:space-between;align-items:center;gap:12px}.studio-guide-overline>span{font-size:9px;letter-spacing:1.35px;font-weight:600;color:#accbd9}.studio-guide-overline>small{font-size:10px;color:#9cacaf}.studio-stages{display:flex;margin:18px 20px 22px;border-bottom:1px solid #313c41;gap:4px}.studio-stages button{flex:1;display:flex;justify-content:center;gap:6px;align-items:center;padding:0 0 13px;background:transparent;border:0;border-bottom:2px solid transparent;color:#95a4aa;font-size:10px;white-space:nowrap}.studio-stages button[aria-current=step]{border-bottom-color:#a2d6ed;color:#c6e8f6}.studio-stages button>span{font-size:10px;border:1px solid #4d5e65;width:18px;height:18px;display:grid;place-content:center;border-radius:50%;line-height:1}.studio-stages button[aria-current=step]>span{background:#a2d6ed;color:#0c2530;border-color:#a2d6ed}.studio-guide-question{padding:0 23px;display:flex;justify-content:space-between;gap:18px}.studio-step-caption{font-size:9px;letter-spacing:1.3px;color:#a3c1ce;font-weight:600}.studio-guide h2{font-size:21px;letter-spacing:-.55px;font-weight:550;margin-top:5px!important;line-height:1.4}.studio-guide-question p{color:#a6b6bd;font-size:12px;max-width:420px;margin-top:8px!important;line-height:1.65}.studio-guide-decoration{color:#96b5c3;font-size:60px;line-height:1;opacity:.6}.studio-suggestions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:21px 22px 20px}.studio-suggestions button{background:#101e20;border:1px solid #34454c;border-radius:7px;text-align:left;min-height:67px;padding:11px 12px;font-size:11px;color:#e1ebf0;display:flex;flex-direction:column;gap:5px;justify-content:center;position:relative}.studio-suggestions button:hover{background:#20333b;border-color:#75909b}.studio-suggestions small{font-size:9px;color:#aabdc5}.studio-suggestions button>span{color:#a4cadb;position:absolute;right:10px;top:7px;font-size:16px;font-weight:300}.studio-guide-bottom{display:flex;align-items:center;justify-content:space-between;gap:16px;border-top:1px solid #2e3c42;margin:0 22px;padding:12px 0 13px}.studio-guide-bottom>span{font-size:10px;color:#a4b1b7;max-width:330px}.studio-guide-bottom>button{white-space:nowrap;font-size:10px!important}
.studio-draft-heading{display:flex;justify-content:space-between;gap:18px;align-items:center;margin:29px 0 17px}.studio-draft-heading h2{font-size:17px;letter-spacing:-.35px;font-weight:550;display:flex;gap:12px;align-items:center}.studio-draft-heading h2>span{font-size:10px;padding:3px 7px;border:1px solid #36464c;background:#16252a;border-radius:5px;font-weight:400;color:#c3d3d5;letter-spacing:0}.studio-draft-heading p{font-size:11px;color:#94a9b1;margin-top:5px}.studio-draft-heading button{font-size:11px!important;padding:8px 12px;min-height:35px}.studio-empty{border:1px dashed #3b4c52;border-radius:10px;text-align:center;min-height:228px;padding:30px 26px;background:#0d161b}.studio-empty-mark{display:flex;justify-content:center;align-items:center;margin-bottom:18px;color:#aabec7;gap:10px}.studio-empty-mark span{width:29px;height:29px;background:#15242a;border:1px solid #3d515a;display:grid;place-content:center;border-radius:8px;font-size:12px}.studio-empty-mark i{width:30px;height:1px;background:#3e4e55}.studio-empty h3{font-size:15px;font-weight:500;letter-spacing:-.2px}.studio-empty p{color:#9bafb8;font-size:12px;line-height:1.75;max-width:410px;margin:9px auto 13px}.studio-empty button{font-size:11px!important}
.studio-rule-list{display:grid;gap:10px}.studio-rule{background:#121d22;border:1px solid #2b3f45;border-radius:10px;overflow:hidden}.studio-rule.is-open{border-color:#546d78;background:#131f23}.studio-rule-header{display:flex;gap:8px;align-items:center;padding:13px 15px}.studio-rule-toggle{display:flex;flex:1;gap:12px;align-items:flex-start;min-width:0;background:transparent;border:0;text-align:left;padding:0}.studio-rule-number{width:26px;height:26px;display:grid;place-content:center;background:#1d2b31;color:#9ec7d9;border:1px solid #354c56;border-radius:7px;font-size:11px;flex-shrink:0;margin-top:4px}.studio-rule-text{display:grid;gap:4px;min-width:0}.studio-rule-kicker{display:flex;align-items:center;gap:7px;font-size:9px;color:#adc1c6;letter-spacing:.9px}.studio-rule-timeframe{display:inline-block;font-size:9px;color:#b7d7e7;letter-spacing:0;padding:1px 5px;background:#1c303c;border:1px solid #355062;border-radius:4px}.studio-rule-label{font-size:12px;line-height:1.5;letter-spacing:-.1px;color:#ecf0f2;overflow-wrap:anywhere}.studio-rule-status{display:block;font-size:10px;color:#e2c385;margin-top:2px}.studio-rule-actions{display:flex;gap:3px}.studio-rule-actions button{background:transparent;border:1px solid transparent;border-radius:5px;padding:4px 6px;font-size:14px;color:#a8c0c5}.studio-rule-actions button:hover{background:#283b3f;border-color:#415c60}.studio-rule-actions .studio-delete:hover{color:#f4a7a7;background:#432b30}.studio-rule-body{border-top:1px solid #314047;padding:17px 20px 20px}.studio-rule-explanation{font-size:11px;color:#adbec5;padding-left:10px;border-left:2px solid #729bad;margin-bottom:16px!important;line-height:1.7}.studio-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.studio-field{display:grid;gap:6px;min-width:0}.studio-field>span{font-size:11px;color:#bccdd0}.studio-field input,.studio-field select,.studio-field textarea{width:100%;font-size:12px!important}.studio-field small{font-size:10px;color:#99acb3}.studio-field.wide{grid-column:1/-1}.studio-field textarea{min-height:76px;resize:vertical}.studio-rule-editor-foot{display:flex;justify-content:space-between;align-items:center;margin-top:16px;gap:15px}.studio-rule-editor-foot small{font-size:10px;color:#9db3b5}.studio-rule-editor-foot button{font-size:11px!important;padding:6px 11px;min-height:32px}.studio-free-editor{margin-top:15px;color:#a5b6be;font-size:11px}.studio-free-editor summary{cursor:pointer;margin-bottom:10px}.studio-rule-errors{font-size:11px;color:#e3c58f;display:grid;gap:4px;margin:10px 0 0}.studio-rule-errors p{font-size:11px}
.studio-summary{position:sticky;top:24px;background:#101b20;border:1px solid #2f444b;border-radius:11px;padding:21px 21px 0}.studio-summary-top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:16px}.studio-section-kicker{display:block;font-size:9px;letter-spacing:1.1px;font-weight:600;color:#a5bdc6}.studio-draft-badge{font-size:9px;font-weight:500;letter-spacing:.75px;color:#a5c1c8;border:1px solid #3e565f;padding:3px 6px;border-radius:4px;white-space:nowrap}.studio-summary h2{font-size:19px;font-weight:550;letter-spacing:-.6px;line-height:1.4;overflow-wrap:anywhere}.studio-summary-meta{display:flex;flex-wrap:wrap;gap:7px;margin-top:11px;padding-bottom:18px;border-bottom:1px solid #2c3c44}.studio-summary-meta>span{font-size:10px;padding:3px 8px;background:#1b2b33;color:#c3d9df;border-radius:5px;border:1px solid #304c59}.studio-summary-meta>span:first-child{color:#ccd9df;background:#202f35;border-color:#374a52}.studio-story{padding:19px 0;display:grid;gap:16px;min-height:80px}.studio-story>p{font-size:12px;line-height:1.8;color:#a6bbc5}.studio-story-section{padding-left:14px;border-left:1px solid #384f59;position:relative}.studio-story-section:before{content:'';position:absolute;left:-3px;top:4px;width:5px;height:5px;background:#85b1c4;border-radius:50%}.studio-story-section strong{color:#c4dde8;font-size:10px;font-weight:500;display:block;margin-bottom:6px}.studio-story-section p{font-size:11px;line-height:1.8;color:#bbcbd1;margin-bottom:4px}.studio-story-section small{font-size:9px;color:#92acb7;background:#172a32;padding:1px 3px;border-radius:3px;white-space:nowrap}.studio-summary-check{display:flex;gap:10px;border-top:1px solid #2c3c44;padding:18px 0;color:#dbbe87}.studio-check-icon{font-size:20px;line-height:1}.studio-summary-check strong{font-size:11px;font-weight:500}.studio-summary-check p{color:#a6bac3;font-size:10px;margin-top:4px;line-height:1.7}.studio-summary .studio-primary{font-size:11px!important;justify-content:space-between;min-height:39px}.studio-honesty{margin:12px 0 18px!important;text-align:center;color:#a1b6bf;font-size:10px}.studio-honesty>span{margin-right:3px;color:#aab9bf}.studio-summary-tip{margin:0 -21px;padding:17px 21px 19px;background:#102226;border-top:1px solid #293e43;border-radius:0 0 11px 11px}.studio-summary-tip strong{font-size:11px;font-weight:500;color:#c6d9e1}.studio-summary-tip p{font-size:10px;color:#a8bec3;margin-top:5px;line-height:1.75}
.studio-alert-config{margin-top:24px;padding:22px 20px;border:1px solid #2b3f45;border-radius:10px;background:#101b20}.studio-alert-config h2{font-size:16px;font-weight:500;letter-spacing:-.3px;margin-top:7px!important}.studio-alert-fields{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:18px}.studio-alert-fields label{display:grid;gap:6px;font-size:10px;color:#b6c8ce}.studio-alert-fields select{width:100%;font-size:11px!important;min-height:38px}.studio-alert-config p{font-size:10px;margin-top:14px;color:#9db0b9}.studio-review{margin-top:35px;border:1px solid #31464d;border-radius:11px;padding:25px;background:#101b20;scroll-margin-top:20px}.studio-review-heading{display:flex;justify-content:space-between;gap:20px;align-items:center;padding-bottom:23px;border-bottom:1px solid #2d4248}.studio-review h2{font-size:23px;letter-spacing:-.5px;font-weight:500}.studio-review-heading p{font-size:12px;color:#afc0c7;margin-top:7px}.studio-review-columns{display:grid;grid-template-columns:1.15fr 1fr;gap:35px;margin-top:24px}.studio-review h3{font-size:12px;font-weight:500;color:#d6e0e4;margin-bottom:13px}.studio-review-issues{display:grid;gap:8px}.studio-review-issues button{display:flex;text-align:left;align-items:flex-start;justify-content:space-between;gap:12px;background:#222729;border:1px solid #504d38;border-radius:7px;padding:10px 12px;color:#e4d7b3;font-size:11px;line-height:1.6}.studio-review-issues button:hover{background:#273439}.studio-review-clear{font-size:12px;color:#b8d0da;line-height:1.8;padding:15px;border:1px solid #3c4f57;border-radius:7px;background:#182328}.studio-invalidation-note{color:#b8c8cc;font-size:11px;margin-top:12px;line-height:1.7}.studio-technical{margin-top:18px;font-size:11px;color:#a4bec5}.studio-technical summary{cursor:pointer}.studio-technical pre{max-height:260px;overflow:auto;font-size:11px;white-space:pre-wrap;overflow-wrap:anywhere;background:#0a1217;padding:15px;border-radius:8px;margin-top:12px}.studio-notification{background:#17272e;border:1px solid #39555c;border-radius:12px;padding:17px}.studio-notification>div{display:flex;align-items:center;gap:8px}.studio-notification-logo{display:grid;place-content:center;width:22px;height:22px;background:#2c424b;color:#c2e3f1;border-radius:6px;font-size:9px;font-weight:600}.studio-notification strong{font-size:10px;font-weight:500;color:#cbdae0}.studio-notification small{margin-left:auto;color:#97b2bc;font-size:9px}.studio-notification h4{font-size:13px;margin-top:12px;line-height:1.6}.studio-notification p{font-size:11px;color:#c5d6dd;line-height:1.8;margin-top:6px}.studio-notification-foot{font-size:9px;display:block;margin-top:12px;color:#9fb7c2}.studio-export-row{display:flex;align-items:center;gap:18px;margin-top:17px}.studio-export-row button{font-size:11px!important}.studio-export-note{font-size:10px;color:#a3b7c0;margin-top:10px!important;line-height:1.7}.studio-goal{margin-top:22px;display:flex;align-items:center;gap:14px;font-size:11px;color:#adbec4}.studio-goal select{font-size:11px!important;max-width:240px}.studio-review-limit{margin-top:22px!important;font-size:10px;color:#a5bac3;border-top:1px solid #2d4248;padding-top:17px}.studio-page-footer{display:flex;justify-content:space-between;gap:20px;font-size:10px;color:#8fa4ad;padding-top:23px}
.studio-dialog{width:min(800px,calc(100% - 32px));max-height:88vh;overflow:auto;border:1px solid #50696d;border-radius:16px;background:#111e24;color:#eaf0f2;padding:26px;box-shadow:0 32px 100px #0009}.studio-dialog::backdrop{background:#030b10cc;backdrop-filter:blur(4px)}.studio-dialog-heading{display:flex;justify-content:space-between;align-items:start;gap:20px;margin-bottom:23px}.studio-dialog-heading h2{font-size:25px;font-weight:500;letter-spacing:-.6px}.studio-dialog-heading p{margin-top:7px;font-size:12px;color:#a6bcc6}.studio-close{width:30px;height:30px;display:grid;place-content:center;border:1px solid #425a64;border-radius:7px;background:#1c3038;color:#b7d1d7;font-size:21px!important;flex-shrink:0}.studio-close:hover{background:#304a53}.studio-search{display:flex;align-items:center;gap:10px;border:1px solid #547076;background:#0c171e;padding:0 13px;border-radius:8px}.studio-search>span{font-size:23px;color:#abc9d6}.studio-search input{border:0!important;background:transparent!important;width:100%;padding:12px 0!important;font-size:13px!important}.studio-search input:focus-visible{outline-offset:7px}.studio-library-filters{display:flex;gap:7px;flex-wrap:wrap;margin:16px 0 23px}.studio-library-filters button{background:#192b33;border:1px solid #3b5663;border-radius:6px;padding:6px 10px;font-size:11px;color:#b8cdd6}.studio-library-filters button[aria-pressed=true]{background:#28424d;color:#cee9f4;border-color:#6b8d9c}.studio-library-dialog .tp-v06-library-body{background:none;border:0;display:grid;grid-template-columns:1fr 1fr;gap:20px 22px}.studio-library-dialog .tp-v06-library-body section{padding:0;border:0;background:transparent}.studio-library-dialog .tp-v06-library-body section>span{font-size:10px;color:#a7c2c8;letter-spacing:1px;margin-bottom:9px;display:block}.studio-library-dialog .tp-v06-library-body section>div{display:flex;flex-wrap:wrap;gap:6px}.studio-library-dialog .tp-v06-library-body button{font-size:11px;line-height:1.4;min-height:34px;padding:8px 10px;background:#1c3039;border:1px solid #3d5966;border-radius:7px;color:#d9e9ee}.studio-library-dialog .tp-v06-library-body button:hover{background:#2b444f;border-color:#789aa8;color:#e7f8ff}.studio-dialog-footer{margin-top:24px;padding-top:18px;border-top:1px solid #3a5058;display:flex;gap:20px;justify-content:space-between;align-items:center;font-size:11px;color:#b6cbd2}.studio-dialog-note{margin-top:22px!important;font-size:11px;color:#adc3cc;line-height:1.8}.studio-featured-template{display:flex;flex-direction:column;gap:10px;width:100%;text-align:left;border:1px solid #648796;border-radius:10px;background:#1b2f38;padding:24px}.studio-example-tag{font-size:10px;letter-spacing:1px;color:#b6d5e2}.studio-featured-template strong{font-size:20px;font-weight:500;letter-spacing:-.4px}.studio-featured-template>span:not(.studio-example-tag){font-size:12px;color:#c1d3db;line-height:1.8}.studio-featured-template>b{margin-top:4px;font-size:12px;color:#c6e7f5}.studio-featured-template:hover{background:#253d48}.studio-template-note{margin:23px 0 12px;font-size:11px;color:#b1c7ce}.studio-dialog .tp-v06-preset-grid{grid-template-columns:1fr 1fr;gap:10px}.studio-dialog .tp-v06-preset-grid button{padding:18px;border-color:#3d5963;background:#1b2e37;min-height:95px}.studio-dialog .tp-v06-preset-grid strong{font-size:13px;color:#e1ebf0}.studio-dialog .tp-v06-preset-grid small{font-size:11px;color:#b1c8d0;line-height:1.8;margin-top:6px}.studio-chart-dialog{width:min(1120px,calc(100% - 32px))}.studio-chart-dialog .tp-workspace{margin:0;border-color:#354e57}.studio-chart-dialog .tp-chart-stage{height:410px}.studio-chart-dialog .tp-chart-root{min-height:350px;height:100%}.studio-ai-dialog{position:fixed;width:min(780px,calc(100% - 32px))}.studio-ai-close{margin-left:auto;margin-bottom:12px}.studio-ai-dialog .tp-ai-studio{border:0;padding:0;background:transparent;box-shadow:none}.studio-ai-dialog .tp-v04-ai-head h2{font-size:25px}.studio-ai-dialog .tp-v04-ai-head p{font-size:12px;color:#bbd0d7}.studio-ai-dialog .tp-v04-ai-head{padding-right:0}.studio-ai-dialog .tp-v04-ai-context{margin:22px 0}.studio-ai-dialog textarea{font-size:14px!important}.studio-ai-dialog .tp-v04-ai-transparency,.studio-ai-note{font-size:11px!important;line-height:1.8;color:#b6cbd3;display:block;margin:14px 0!important}.studio-ai-dialog .tp-ai-status{white-space:normal}.studio-ai-dialog .tp-ai-messages{max-height:270px}.studio-toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:15px;background:#23363e;color:#e4f3fa;border:1px solid #7593a0;padding:12px 16px;border-radius:10px;box-shadow:0 15px 45px #0008;font-size:12px;z-index:100;max-width:calc(100% - 30px)}.studio-toast button{background:transparent;border:0;color:#c1e5f5;padding:3px;text-decoration:underline;font-size:12px}.studio-toast-close{font-size:20px!important;text-decoration:none!important}.studio-warning{color:#f0d199!important}.studio-rule .studio-field select option{background:#13212a}.studio-rule-preview-tag{font-size:10px;background:#243b40;padding:2px 6px;border-radius:4px}.studio-open-all{font-size:10px!important}
@media(min-width:1550px){.studio-columns{grid-template-columns:minmax(0,1fr) 350px}.studio-summary h2{font-size:22px}.studio-guide-question p{max-width:500px}.studio-suggestions button{min-height:74px;font-size:12px}.studio-guide h2{font-size:24px}}
@media(max-width:1180px){.studio-rail{width:185px;padding-inline:10px}.studio-shell{margin-left:185px}.studio-main{padding:29px 25px 20px}.studio-topbar{padding-inline:25px}.studio-brand{font-size:14px;gap:8px;margin-inline:4px}.studio-brand small{font-size:9px}.studio-navigation a,.studio-navigation button{padding-inline:9px;font-size:11px}.studio-columns{grid-template-columns:minmax(0,1fr) 270px;gap:18px}.studio-basics{grid-template-columns:minmax(130px,1fr) 125px 140px;gap:15px}.studio-basics-note{display:none}.studio-summary{padding:19px 16px 0}.studio-summary-tip{margin-inline:-16px;padding-inline:16px}.studio-guide-overline>small{display:none}.studio-suggestions{grid-template-columns:repeat(2,minmax(0,1fr))}.studio-stages{margin-inline:16px}.studio-stages button{font-size:9px;gap:3px}.studio-guide-bottom>span{max-width:240px;font-size:9px}.studio-guide-question{padding-inline:19px}.studio-guide h2{font-size:20px}.studio-guide-decoration{display:none}.studio-toolbar-actions{gap:14px}.studio-toolbar-actions button{font-size:11px!important}.studio-page-heading h1{font-size:28px}.studio-page-heading>.studio-primary{padding-inline:12px;font-size:11px!important}}
@media(max-width:960px){.studio-rail{width:72px;padding:23px 8px}.studio-brand{justify-content:center;margin:0 0 30px}.studio-brand>span:not(.studio-monogram),.studio-rail-label,.studio-rail-tip,.studio-rail-footer{display:none}.studio-navigation{gap:12px}.studio-navigation a,.studio-navigation button{width:50px;height:47px;overflow:hidden;white-space:nowrap;font-size:0;gap:0;justify-content:center;padding:0}.studio-navigation span{font-size:23px}.studio-shell{margin-left:72px}.studio-page-heading h1{font-size:27px}.studio-columns{grid-template-columns:minmax(0,1fr) 264px}.studio-main{padding-inline:23px}.studio-topbar{padding-inline:23px}.studio-alert-fields{grid-template-columns:1fr}.studio-guide h2{font-size:19px}.studio-summary-top{flex-wrap:wrap}.studio-guide-bottom{flex-wrap:wrap;gap:5px}.studio-guide-bottom>span{max-width:none}.studio-stages{gap:5px}.studio-stages button{flex-direction:column;gap:6px;font-size:10px}.studio-draft-heading{align-items:start}.studio-draft-heading h2{flex-wrap:wrap;gap:6px}.studio-draft-heading .studio-secondary{font-size:10px!important;padding-inline:8px}.studio-draft-heading p{font-size:10px}.studio-fields{grid-template-columns:1fr}.studio-page-heading>button{white-space:normal;min-width:133px}.studio-basics{grid-template-columns:minmax(120px,1fr) 115px 130px;gap:12px}}
@media(max-width:760px){.studio-rail{display:none}.studio-shell{margin-left:0}.studio-topbar{height:53px;padding-inline:19px}.studio-breadcrumb{font-size:10px;gap:8px}.studio-save{font-size:9px}.studio-main{padding:24px 18px 20px}.studio-page-heading{align-items:start;gap:12px;margin-bottom:23px}.studio-page-heading h1{font-size:27px}.studio-page-heading p{font-size:12px;max-width:280px;line-height:1.8}.studio-page-heading>button{min-width:auto;max-width:115px;font-size:10px!important;gap:4px;padding:8px}.studio-eyebrow{font-size:9px}.studio-basics{grid-template-columns:1fr 1fr;padding:16px;gap:14px}.studio-basics .studio-name{grid-column:1/-1}.studio-basics input,.studio-basics select{font-size:14px!important}.studio-columns{grid-template-columns:1fr;gap:24px}.studio-summary{position:static}.studio-summary h2{font-size:22px}.studio-summary-top{flex-wrap:nowrap}.studio-summary .studio-primary{justify-content:center}.studio-summary-tip{padding-top:16px}.studio-suggestions{grid-template-columns:repeat(3,minmax(0,1fr))}.studio-stages button{flex-direction:row;font-size:11px;gap:6px}.studio-guide h2{font-size:23px}.studio-guide-bottom{flex-wrap:nowrap}.studio-builder-toolbar{flex-wrap:wrap;gap:12px}.studio-toolbar-actions{gap:13px;justify-content:space-between;margin-left:auto}.studio-toolbar-actions button{font-size:11px!important}.studio-segmented button{font-size:11px;padding-inline:10px}.studio-review{padding:19px}.studio-review-columns{grid-template-columns:1fr;gap:27px}.studio-review h2{font-size:22px}.studio-review-heading{align-items:start}.studio-review-heading p{font-size:11px;line-height:1.8}.studio-page-footer{font-size:9px;flex-wrap:wrap;gap:8px}.studio-fields{grid-template-columns:1fr 1fr}.studio-draft-heading h2{font-size:18px}.studio-draft-heading p{font-size:11px}.studio-draft-heading .studio-secondary{font-size:11px!important}.studio-alert-fields{grid-template-columns:1fr 1fr}.studio-dialog{padding:20px;max-height:92vh}.studio-dialog-heading h2{font-size:22px}.studio-dialog .tp-v06-preset-grid{grid-template-columns:1fr}.studio-featured-template{padding:19px}.studio-chart-dialog .tp-chart-stage{height:330px}.studio-ai-dialog .tp-v04-composer-bottom{flex-wrap:wrap}.studio-toast{width:max-content;font-size:11px}}
@media(max-width:430px){.studio-topbar{padding-inline:15px}.studio-breadcrumb{font-size:9px;gap:6px}.studio-save{max-width:145px;font-size:9px}.studio-main{padding-inline:14px}.studio-page-heading h1{font-size:24px;letter-spacing:-.8px}.studio-page-heading>.studio-primary{display:none}.studio-page-heading p{max-width:none}.studio-toolbar-actions{width:100%;margin-left:0;gap:10px}.studio-builder-toolbar{gap:13px}.studio-segmented{width:100%}.studio-segmented button{flex:1;font-size:12px}.studio-guide-overline{padding-inline:16px}.studio-stages{margin-inline:12px}.studio-stages button{font-size:9px;gap:4px}.studio-stages button>span{width:16px;height:16px;font-size:9px}.studio-guide-question{padding-inline:16px}.studio-guide h2{font-size:21px}.studio-guide-question p{font-size:12px}.studio-suggestions{grid-template-columns:1fr 1fr;margin-inline:16px}.studio-suggestions button{font-size:11px;min-height:64px}.studio-suggestions small{font-size:10px}.studio-guide-bottom{margin-inline:16px;flex-wrap:wrap;gap:8px;padding-bottom:14px}.studio-guide-bottom>span{font-size:10px}.studio-guide-bottom button{margin-left:auto}.studio-rule-header{padding:12px 10px;gap:4px}.studio-rule-toggle{gap:8px}.studio-rule-number{width:23px;height:23px}.studio-rule-actions{gap:0;flex-direction:column}.studio-rule-actions button{padding:0 7px;font-size:14px;min-height:24px}.studio-rule-label{font-size:12px}.studio-rule-body{padding:15px}.studio-fields,.studio-alert-fields{grid-template-columns:1fr}.studio-rule-editor-foot{align-items:start}.studio-rule-editor-foot small{max-width:160px}.studio-dialog{width:calc(100% - 20px);padding:18px}.studio-dialog .tp-v06-library-body{grid-template-columns:1fr;gap:23px}.studio-dialog-footer{align-items:start;flex-wrap:wrap;gap:10px}.studio-dialog-heading h2{font-size:21px}.studio-dialog-heading p{font-size:11px}.studio-featured-template strong{font-size:18px}.studio-library-filters{gap:5px}.studio-library-filters button{font-size:10px;padding:6px 8px}.studio-guide-decoration{display:none}.studio-goal{align-items:start;flex-direction:column}.studio-review-heading{flex-wrap:wrap;gap:10px}.studio-review{padding:17px}.studio-review-columns{gap:23px}.studio-chart-dialog .tp-workspace-toolbar{flex-direction:column;align-items:stretch}.studio-chart-dialog .tp-workspace-primary-controls{flex-wrap:wrap}.studio-chart-dialog .tp-workspace-actions{flex-wrap:wrap}.studio-chart-dialog .tp-chart-information{flex-wrap:wrap}.studio-chart-dialog .tp-chart-symbol{flex-wrap:wrap}.studio-chart-dialog .tp-chart-ohlc{flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){.studio-v07 *{scroll-behavior:auto!important;transition:none!important}}

.studio-mobile-chart{display:none!important}
@media(max-width:760px){.studio-mobile-chart{display:inline-flex!important}.studio-v07 input,.studio-v07 select,.studio-v07 textarea,.studio-v07 .studio-field input,.studio-v07 .studio-field select,.studio-v07 .studio-field textarea{font-size:16px!important}.studio-toolbar-actions{flex-wrap:wrap}.studio-alert-fields select{font-size:13px!important}.studio-basics input,.studio-basics select{font-size:16px!important}}


/* TP_DYNAMIC_MARKET_PICKER_20260930 */

.tp-market-picker {
  position: relative;
  min-width: 220px;
}

.tp-market-select-bridge {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
  pointer-events: none !important;
}

.tp-market-picker-button {
  width: 100%;
  min-height: 38px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 8px 11px;
  border: 1px solid rgba(148, 163, 184, .22);
  border-radius: 9px;
  background: rgba(11, 16, 23, .94);
  color: inherit;
  font: inherit;
  text-align: left;
  cursor: pointer;
}

.tp-market-picker-button:hover,
.tp-market-picker-button[aria-expanded="true"] {
  border-color: rgba(96, 165, 250, .56);
}

.tp-market-picker-chevron {
  opacity: .62;
}

.tp-market-picker-panel {
  position: absolute;
  z-index: 100;
  top: calc(100% + 7px);
  left: 0;
  width: min(460px, 82vw);
  max-height: 390px;
  overflow: hidden;
  border: 1px solid rgba(148, 163, 184, .22);
  border-radius: 12px;
  background: #0b1017;
  box-shadow: 0 18px 50px rgba(0, 0, 0, .42);
}

.tp-market-search-box {
  padding: 10px;
  border-bottom: 1px solid rgba(148, 163, 184, .12);
}

.tp-market-search-box input {
  width: 100%;
  min-height: 39px;
  border: 1px solid rgba(148, 163, 184, .22);
  border-radius: 8px;
  padding: 8px 10px;
  background: #090d13;
  color: inherit;
  font: inherit;
  outline: none;
}

.tp-market-search-box input:focus {
  border-color: rgba(96, 165, 250, .62);
}

.tp-market-search-status {
  padding: 9px 11px 7px;
  font-size: 12px;
  opacity: .72;
}

.tp-market-search-status[data-state="error"] {
  opacity: 1;
}

.tp-market-results {
  max-height: 295px;
  overflow-y: auto;
  padding: 4px 6px 8px;
}

.tp-market-result {
  width: 100%;
  display: grid;
  gap: 4px;
  padding: 10px;
  border: 0;
  border-radius: 8px;
  background: transparent;
  color: inherit;
  text-align: left;
  cursor: pointer;
}

.tp-market-result:hover,
.tp-market-result:focus-visible {
  background: rgba(148, 163, 184, .10);
  outline: none;
}

.tp-market-result-main {
  display: flex;
  align-items: baseline;
  gap: 8px;
  min-width: 0;
}

.tp-market-result-main strong {
  flex: 0 0 auto;
}

.tp-market-result-main span {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  opacity: .82;
}

.tp-market-result small {
  opacity: .56;
}

@media (max-width: 640px) {

  .tp-market-picker {
    min-width: 0;
    width: 100%;
  }

  .tp-market-picker-panel {
    width: min(92vw, 460px);
  }
}
