/* ============================================================
 * DECISION-CARD SYNTHESIS — assembly layer (2026-10-28)
 * The shell chrome (sky, stage states, shelf hide, seg, orbs)
 * comes from canon copies: tokens.min.css · tide.min.css ·
 * pleasant-app.min.css. This file only assembles: the home
 * grid, the Desk room, and the c29-deskcard candidate family
 * (DESK-CARD-STANDARD §6) expressed in --29d / Tide tokens.
 * No colour, radius, or motion value is invented here; every
 * value resolves to a token or a color-mix of tokens.
 * ============================================================ */
:root{ --safe-b: env(safe-area-inset-bottom, 0px); --safe-t: env(safe-area-inset-top, 0px); }
*{ box-sizing: border-box; }
html,body{ height: 100%; }
body{
  margin: 0; background: var(--bg); color: var(--ink);
  font-family: var(--font-display);
  -webkit-font-smoothing: antialiased;
  font-size: 15px;
}
button{ font: inherit; color: inherit; background: none; border: 0; cursor: pointer; -webkit-tap-highlight-color: transparent; touch-action: manipulation; }
button:focus-visible, a:focus-visible, textarea:focus-visible{ outline: 3px solid var(--focus); outline-offset: 2px; }
button:active:not(:disabled){ transform: scale(.975); }
svg{ display: block; flex: none; }
h1,h2,h3,p{ margin: 0; }
.mono-num{ font-variant-numeric: tabular-nums; }

/* ---------- the stage (canon .pl-stage carries the sky + state rules) ---------- */
.pl-stage{ position: fixed; inset: 0; height: 100dvh; overflow: hidden; }
.pl-main{ position: relative; z-index: 1; height: 100%; overflow: hidden;
  padding: calc(20px + var(--safe-t)) 18px 118px; }
.dcs-home-head{ max-width: 560px; margin: 6px auto 20px; }
.dcs-home-date{ font-size: 13px; font-weight: 700; color: var(--ink-3); letter-spacing: .02em; }
.dcs-home-greet{ font-size: 27px; font-weight: 800; letter-spacing: -.02em; line-height: 1.15; margin-top: 5px; }
.dcs-page{ display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 16px 14px;
  max-width: 560px; margin: 0 auto; align-content: start; }

/* ---------- squares (canon .pl-tile vocabulary, assembled) ---------- */
.pl-tile{ display: flex; flex-direction: column; align-items: stretch; gap: 7px; padding: 0; text-align: left; min-width: 0;
  overflow: visible; aspect-ratio: auto; height: auto; color: var(--ink); background: none; box-shadow: none; animation: none; }
.pl-tile-face{ position: relative; aspect-ratio: 1 / .94; border-radius: 24px; display: grid; place-items: center;
  background: var(--face, var(--surface)); box-shadow: var(--hair); color: var(--ink); }
.pl-tile-face svg{ width: 36px; height: 36px; stroke: currentColor; stroke-width: 1.7; fill: none; stroke-linecap: round; stroke-linejoin: round; }
.pl-tile-name{ font-size: 15px; font-weight: 800; letter-spacing: -.01em; padding: 0 2px; color: var(--ink); }
.pl-tile-sub{ font-size: 13px; font-weight: 600; color: var(--ink-3); line-height: 1.3; padding: 0 2px; }
.pl-stage .pl-tile-sub{ white-space: normal; overflow: visible; text-overflow: clip; }
.pl-stage .pl-tile-name{ white-space: normal; }
.pl-tile-badge{ position: absolute; top: -7px; right: -7px; min-width: 25px; height: 25px; padding: 0 7px;
  border-radius: 99px; background: var(--ink); color: var(--bg); font-size: 13px; font-weight: 800;
  display: grid; place-items: center; box-shadow: var(--hair); }
.face-sea{ --face: var(--sea-100); } .face-sun{ --face: var(--sun-100); }
.face-coral{ --face: var(--29d-coral-50); } .face-sand{ --face: var(--sand-200); }
.face-teal{ --face: var(--29d-teal-100); } .face-green{ --face: var(--29d-green-100); }
html[data-theme="dark"] .pl-tile-face{ color: var(--ink); }
html[data-theme="dark"] .face-sea{ --face: color-mix(in srgb, var(--sea-700) 45%, var(--surface)); }
html[data-theme="dark"] .face-sun{ --face: color-mix(in srgb, var(--sun-500) 30%, var(--surface)); }
html[data-theme="dark"] .face-coral{ --face: color-mix(in srgb, var(--29d-coral-500) 26%, var(--surface)); }
html[data-theme="dark"] .face-sand{ --face: var(--surface); }
html[data-theme="dark"] .face-teal{ --face: color-mix(in srgb, var(--sea-700) 45%, var(--surface)); }
html[data-theme="dark"] .face-green{ --face: color-mix(in srgb, var(--29d-green-600) 30%, var(--surface)); }

/* ---------- the shelf (canon .pl-shelf: hide rules live in pleasant-app.min.css) ---------- */
.pl-shelf{ position: absolute; z-index: 5; left: 50%; transform: translateX(-50%);
  bottom: calc(10px + var(--safe-b)); width: min(640px, calc(100% - 20px)); height: 64px;
  display: flex; align-items: center; gap: 4px; padding: 0 10px;
  border-radius: 32px; background: color-mix(in srgb, var(--surface) 88%, transparent);
  -webkit-backdrop-filter: blur(20px); backdrop-filter: blur(20px);
  box-shadow: var(--hair), 0 12px 32px rgb(20 40 60 / .13); }
.pl-stage.pl-shelf-hidden .pl-shelf{ transform: translateX(-50%) translateY(calc(100% + 22px)); opacity: 0; pointer-events: none; }
.dcs-orb{ width: 44px; height: 44px; min-width: 44px; border-radius: 50%; display: grid; place-items: center;
  background: transparent; color: var(--ink); }
.dcs-orb svg{ width: 23px; height: 23px; stroke: currentColor; stroke-width: 1.9; fill: none; stroke-linecap: round; stroke-linejoin: round; }
.dcs-orb.filled{ background: var(--surface); box-shadow: var(--hair); }
.dcs-orb:active{ background: var(--surface); }
.pl-shelf-brand{ display: flex; align-items: center; gap: 8px; margin-left: 4px; }
.pl-brandmark{ width: 30px; height: 30px; border-radius: 10px; background: var(--sea-100); color: var(--sea-700);
  display: grid; place-items: center; }
.pl-brandmark svg{ width: 21px; height: 21px; stroke: currentColor; stroke-width: 1.8; fill: none; stroke-linecap: round; }
html[data-theme="dark"] .pl-brandmark{ background: color-mix(in srgb, var(--sea-700) 45%, var(--surface)); color: var(--sea-200); }
.pl-shelf-name{ font-size: 13px; font-weight: 800; letter-spacing: .16em; }
.dcs-shelf-spacer{ flex: 1; }
.dcs-clock{ text-align: right; margin-right: 6px; line-height: 1.1; }
.dcs-clock b{ font-size: 17px; font-weight: 800; letter-spacing: -.01em; }
.dcs-clock span{ font-size: 13px; font-weight: 700; color: var(--ink-3); margin-left: 3px; }

/* ---------- the room ---------- */
.dcs-room{ position: fixed; inset: 0; z-index: 30; height: 100dvh; background: var(--bg);
  display: flex; flex-direction: column;
  transform: translateY(30px) scale(.965); opacity: 0; pointer-events: none;
  transition: transform var(--d3) var(--ease), opacity var(--d2) var(--ease); }
.dcs-room.open{ transform: none; opacity: 1; pointer-events: auto; }
.dcs-room-head{ position: relative; z-index: 2; display: flex; align-items: center; gap: 11px;
  padding: calc(10px + var(--safe-t)) 14px 10px;
  background: color-mix(in srgb, var(--bg) 92%, transparent);
  -webkit-backdrop-filter: blur(20px); backdrop-filter: blur(20px);
  border-bottom: 1px solid var(--edge-soft); }
.dcs-room-head .dcs-orb{ background: var(--surface); box-shadow: var(--hair); }
.dcs-room-title{ flex: 1; min-width: 0; }
.dcs-room-title h2{ font-size: 19px; font-weight: 800; letter-spacing: -.02em; line-height: 1.1; }
.dcs-room-title span{ display: block; font-size: 13px; font-weight: 600; color: var(--ink-3); margin-top: 2px; }
.dcs-room-scroll{ flex: 1; overflow-y: auto; overscroll-behavior: contain; -webkit-overflow-scrolling: touch;
  padding: 18px 18px 132px; scroll-padding-top: 12px; }
.dcs-card{ max-width: 610px; margin: 0 auto; }

/* ---------- c29-deskhero: the artifact, rendered ---------- */
.dcs-hero{ background: var(--surface); border-radius: var(--corner); box-shadow: var(--hair); padding: 15px; }
.dcs-hero-label{ font-size: 13px; font-weight: 700; color: var(--ink-3); margin: 1px 2px 11px; }
.dcs-bubble{ position: relative; background: color-mix(in srgb, var(--accent) 6%, var(--surface));
  border-radius: 16px; padding: 15px 15px 13px; font-size: 15px; line-height: 1.6; color: var(--ink); }
.dcs-bubble p + p{ margin-top: 10px; }
.dcs-bubble .slot{ background: color-mix(in srgb, var(--sun-300) 45%, transparent); border-radius: 5px; padding: 0 4px; font-weight: 700; }
.dcs-fadewrap{ position: relative; }
.dcs-fadewrap .dcs-fade{ position: absolute; left: 0; right: 0; bottom: 0; height: 74px; pointer-events: none;
  background: linear-gradient(180deg, transparent, var(--surface)); border-radius: 0 0 16px 16px; }
.dcs-readall{ display: flex; align-items: center; gap: 6px; min-height: 44px; padding: 6px 2px 0;
  font-size: 14px; font-weight: 800; color: var(--sea-700); }
html[data-theme="dark"] .dcs-readall{ color: var(--sea-300); }
.dcs-readall svg{ width: 17px; height: 17px; stroke: currentColor; stroke-width: 2.1; fill: none; stroke-linecap: round; stroke-linejoin: round; }
.dcs-hero-cap{ font-size: 13px; font-weight: 600; color: var(--ink-3); line-height: 1.5; margin: 11px 2px 0; }

/* ---------- decision face (DESK-CARD-STANDARD §2 slots 2–7) ---------- */
.dcs-badge{ display: inline-flex; align-items: center; gap: 6px; margin-top: 20px;
  background: var(--sun-100); color: var(--ink); border-radius: 8px; padding: 8px 11px;
  font-size: 13px; font-weight: 800; }
html[data-theme="dark"] .dcs-badge{ background: color-mix(in srgb, var(--sun-500) 32%, var(--surface)); }
.dcs-decision{ font-size: clamp(30px, 8.8vw, 37px); font-weight: 800; letter-spacing: -.022em;
  line-height: 1.14; margin-top: 13px; }
.dcs-cost{ font-size: 16.5px; line-height: 1.5; color: var(--ink-2); margin-top: 13px; max-width: 34em; }
.dcs-cost .money{ color: var(--29d-coral-700); font-weight: 800; }
html[data-theme="dark"] .dcs-cost .money{ color: var(--29d-coral-300); }
.dcs-timing{ font-size: 15px; font-weight: 700; color: var(--sea-700); margin-top: 8px; }
html[data-theme="dark"] .dcs-timing{ color: var(--sea-300); }
.dcs-proof{ display: flex; align-items: center; gap: 9px; margin-top: 16px; padding: 12px 2px;
  border-top: 1px solid var(--edge-soft); border-bottom: 1px solid var(--edge-soft);
  overflow-x: auto; scrollbar-width: none; white-space: nowrap; font-size: 13.5px; font-weight: 700; color: var(--ink-2); }
.dcs-proof::-webkit-scrollbar{ display: none; }
.dcs-proof svg{ width: 18px; height: 18px; stroke: var(--sea-700); stroke-width: 1.9; fill: none; stroke-linecap: round; stroke-linejoin: round; }
html[data-theme="dark"] .dcs-proof svg{ stroke: var(--sea-300); }
.dcs-proof .sep{ color: var(--ink-4); font-weight: 400; }
.dcs-chips{ display: flex; gap: 8px; overflow-x: auto; scrollbar-width: none; padding: 14px 2px 2px; margin: 0 -2px; }
.dcs-chips::-webkit-scrollbar{ display: none; }
.dcs-chip{ flex: none; background: var(--surface); box-shadow: var(--hair); border-radius: 99px;
  padding: 10px 13px; font-size: 13px; font-weight: 700; white-space: nowrap; }

/* ---------- c29-deskfacts: checkmark highlights, 3 + seam ---------- */
.dcs-facts{ margin-top: 20px; display: grid; gap: 15px; }
.dcs-fact{ display: flex; gap: 11px; align-items: flex-start; min-width: 0; }
.dcs-check{ width: 23px; height: 23px; min-width: 23px; margin-top: 1px; border-radius: 50%;
  background: color-mix(in srgb, var(--accent) 16%, var(--surface)); color: var(--sea-700);
  display: grid; place-items: center; }
html[data-theme="dark"] .dcs-check{ color: var(--sea-300); }
.dcs-check svg{ width: 13px; height: 13px; stroke: currentColor; stroke-width: 2.6; fill: none; stroke-linecap: round; stroke-linejoin: round; }
.dcs-fact p{ flex: 1; min-width: 0; font-size: 15px; line-height: 1.55; overflow-wrap: anywhere; }
.dcs-fact p b{ font-weight: 800; }
.dcs-seam{ position: relative; margin-top: 15px; }
.dcs-seamfade{ height: 30px; margin-bottom: -8px; pointer-events: none;
  background: linear-gradient(180deg, transparent, var(--bg)); }
.dcs-showmore{ display: flex; align-items: center; gap: 6px; min-height: 44px;
  font-size: 14px; font-weight: 800; color: var(--sea-700); padding: 4px 2px; }
html[data-theme="dark"] .dcs-showmore{ color: var(--sea-300); }
.dcs-showmore svg{ width: 17px; height: 17px; stroke: currentColor; stroke-width: 2.1; fill: none; stroke-linecap: round; stroke-linejoin: round; transition: transform var(--d2) var(--ease); }
.dcs-showmore[aria-expanded="true"] svg{ transform: rotate(180deg); }

/* ---------- the verdict band (atelier plaque, in sea tokens) ---------- */
.dcs-verdict{ margin-top: 24px; border-radius: var(--corner); padding: 19px 18px 16px; color: #fff;
  --band-1: color-mix(in srgb, var(--sea-700) 58%, var(--ink));
  --band-2: var(--sea-700);
  --band-3: color-mix(in srgb, var(--sea-600) 45%, var(--sea-700));
  --band-ink: var(--sea-700);
  background: linear-gradient(128deg, var(--band-1) 0%, var(--band-2) 78%, var(--band-3) 100%);
  box-shadow: 0 14px 30px rgb(15 45 42 / .22); position: relative; overflow: hidden; }
/* Dusk: the sea ramp inverts for text duty, so the band re-composes
   itself from the theme's deep furniture (bg / surface / accent). */
html[data-theme="dark"] .dcs-verdict{
  --band-1: color-mix(in srgb, var(--surface) 55%, var(--bg));
  --band-2: var(--surface);
  --band-3: color-mix(in srgb, var(--accent) 26%, var(--surface));
  --band-ink: var(--bg);
}
.dcs-verdict::before{ content: ""; position: absolute; right: -64px; top: -88px; width: 220px; height: 220px;
  border-radius: 50%; border: 1px solid rgb(255 255 255 / .16);
  box-shadow: 0 0 0 24px rgb(255 255 255 / .045), 0 0 0 50px rgb(255 255 255 / .03); pointer-events: none; }
.dcs-verdict-k{ font-size: 13px; font-weight: 700; color: var(--sea-100); position: relative; }
.dcs-verdict h3{ font-size: 23px; font-weight: 800; letter-spacing: -.02em; line-height: 1.2; margin-top: 7px; position: relative; }
.dcs-verdict .dcs-verdict-body{ font-size: 14.5px; line-height: 1.6; color: color-mix(in srgb, #fff 86%, var(--sea-100)); margin-top: 9px; position: relative; max-width: 36em; }
.dcs-seq{ display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 8px; margin-top: 18px; position: relative; }
.dcs-step{ min-width: 0; }
.dcs-step .n{ width: 26px; height: 26px; border-radius: 50%; border: 1.5px solid rgb(255 255 255 / .55);
  display: grid; place-items: center; font-size: 13px; font-weight: 800; }
.dcs-step.now .n{ background: #fff; color: var(--band-ink); border-color: #fff; }
.dcs-step span{ display: block; font-size: 13px; font-weight: 700; line-height: 1.3; margin-top: 7px; color: color-mix(in srgb, #fff 88%, var(--sea-100)); }
.dcs-verdict-foot{ border-top: 1px solid rgb(255 255 255 / .22); margin-top: 17px; padding-top: 13px;
  font-size: 13.5px; line-height: 1.6; color: color-mix(in srgb, #fff 88%, var(--sea-100)); position: relative; }
.dcs-verdict-foot b{ color: #fff; }

/* ---------- c29-deskterm: one action per card ---------- */
.dcs-terms{ margin-top: 24px; display: grid; gap: 11px; }
.dcs-term{ background: var(--surface); border-radius: var(--r-md); box-shadow: var(--hair); padding: 16px 16px 8px; }
.dcs-term h3{ font-size: 16.5px; font-weight: 800; letter-spacing: -.01em; }
.dcs-term p{ font-size: 14px; line-height: 1.55; color: var(--ink-2); margin-top: 7px; }
.dcs-term .dcs-act{ display: flex; align-items: center; gap: 6px; min-height: 44px; margin-top: 6px;
  font-size: 14px; font-weight: 800; color: var(--sea-700); padding: 4px 0; }
html[data-theme="dark"] .dcs-term .dcs-act{ color: var(--sea-300); }
.dcs-term .dcs-act svg{ width: 17px; height: 17px; stroke: currentColor; stroke-width: 2.1; fill: none; stroke-linecap: round; stroke-linejoin: round; }

/* ---------- evidence (review anatomy) ---------- */
.dcs-evhead{ font-size: 20px; font-weight: 800; letter-spacing: -.02em; margin-top: 28px; }
.dcs-evlead{ font-size: 14px; color: var(--ink-3); line-height: 1.5; margin-top: 6px; }
.dcs-evlist{ margin-top: 13px; display: grid; gap: 9px; }
.dcs-ev{ display: flex; align-items: center; gap: 12px; width: 100%; text-align: left;
  background: var(--surface); border-radius: var(--r-md); box-shadow: var(--hair); padding: 13px 14px; min-height: 62px; }
.dcs-ev .fic{ width: 38px; height: 38px; min-width: 38px; border-radius: 11px;
  background: color-mix(in srgb, var(--accent) 10%, var(--surface)); color: var(--sea-700);
  display: grid; place-items: center; }
html[data-theme="dark"] .dcs-ev .fic{ color: var(--sea-300); }
.dcs-ev .fic svg{ width: 20px; height: 20px; stroke: currentColor; stroke-width: 1.8; fill: none; stroke-linecap: round; stroke-linejoin: round; }
.dcs-ev .tx{ flex: 1; min-width: 0; }
.dcs-ev .tx b{ display: block; font-size: 15px; font-weight: 750; line-height: 1.35; overflow-wrap: anywhere; }
.dcs-ev .tx span{ display: block; font-size: 13px; font-weight: 600; color: var(--ink-3); margin-top: 3px; }
.dcs-ev > svg{ width: 18px; height: 18px; stroke: var(--ink-4); stroke-width: 2; fill: none; stroke-linecap: round; stroke-linejoin: round; }
.dcs-prov{ font-size: 13px; font-weight: 600; color: var(--ink-3); line-height: 1.6; margin-top: 22px; padding: 0 2px; }

/* ---------- c29-deskbar: the sticky decision bar ---------- */
.dcs-bar{ position: absolute; z-index: 3; left: 0; right: 0; bottom: 0;
  padding: 10px 14px calc(11px + var(--safe-b));
  background: color-mix(in srgb, var(--surface) 92%, transparent);
  -webkit-backdrop-filter: blur(22px); backdrop-filter: blur(22px);
  border-top: 1px solid var(--edge-soft); }
.dcs-bar-in{ max-width: 610px; margin: 0 auto; }
.dcs-barhead{ display: flex; justify-content: space-between; align-items: baseline; gap: 10px; padding: 0 2px 9px; font-size: 13px; }
.dcs-barhead span{ color: var(--ink-3); font-weight: 600; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.dcs-barhead strong{ font-weight: 800; white-space: nowrap; }
.dcs-actions{ display: grid; grid-template-columns: 1fr 1.12fr 1.55fr; gap: 9px; }
.dcs-cta{ height: 52px; border-radius: 99px; font-size: 15px; font-weight: 800;
  display: flex; align-items: center; justify-content: center; gap: 6px; padding: 0 10px; white-space: nowrap; }
.dcs-cta svg{ width: 18px; height: 18px; stroke: currentColor; stroke-width: 2; fill: none; stroke-linecap: round; stroke-linejoin: round; }
.dcs-cta.defer{ background: var(--surface); color: var(--ink); box-shadow: var(--hair); }
.dcs-cta.comment{ background: color-mix(in srgb, var(--accent) 15%, var(--surface)); color: var(--ink); }
.dcs-cta.approve{ background: var(--29d-coral-600); color: var(--29d-on-coral); }

/* ---------- sheets ---------- */
.dcs-scrim{ position: fixed; inset: 0; z-index: 40; background: var(--29d-overlay);
  opacity: 0; pointer-events: none; transition: opacity var(--d2) var(--ease); }
.dcs-scrim.on{ opacity: 1; pointer-events: auto; }
.dcs-sheet{ position: fixed; z-index: 41; left: 50%; bottom: 0; width: min(610px, 100%);
  max-height: min(88dvh, 780px); transform: translate(-50%, 105%);
  background: var(--surface); border-radius: 24px 24px 0 0; box-shadow: 0 -16px 50px rgb(10 25 30 / .25);
  display: flex; flex-direction: column; overflow: hidden;
  transition: transform var(--d3) var(--ease-sheet, var(--ease)); pointer-events: none; }
.dcs-sheet.open{ transform: translate(-50%, 0); pointer-events: auto; }
.dcs-sheet-head{ display: flex; align-items: center; gap: 10px; padding: 16px 18px 12px; border-bottom: 1px solid var(--edge-soft); flex: none; }
.dcs-sheet-head h2{ flex: 1; min-width: 0; font-size: 19px; font-weight: 800; letter-spacing: -.02em; line-height: 1.2; }
.dcs-sheet-head .dcs-orb{ background: var(--bg); }
.dcs-sheet-body{ padding: 17px 18px 20px; overflow-y: auto; overscroll-behavior: contain; font-size: 15px; line-height: 1.62; color: var(--ink-2); min-height: 0; }
.dcs-sheet-body p + p{ margin-top: 12px; }
.dcs-sheet-body b{ color: var(--ink); }
.dcs-sheet-body .msgfull p + p{ margin-top: 12px; }
.dcs-sheet-body .msgfull{ color: var(--ink); }
.dcs-sheet-foot{ flex: none; border-top: 1px solid var(--edge-soft); padding: 12px 18px calc(13px + var(--safe-b)); background: var(--surface); }
.dcs-primary{ display: flex; align-items: center; justify-content: center; gap: 8px; width: 100%; height: 51px;
  border-radius: 16px; background: var(--ink); color: var(--bg); font-size: 15px; font-weight: 800; text-decoration: none; }
.dcs-primary.coral{ background: var(--29d-coral-600); color: var(--29d-on-coral); }
.dcs-primary svg{ width: 18px; height: 18px; stroke: currentColor; stroke-width: 2; fill: none; stroke-linecap: round; stroke-linejoin: round; }
.dcs-foot-note{ font-size: 13px; font-weight: 600; color: var(--ink-3); line-height: 1.5; text-align: center; margin-top: 10px; }
.dcs-steps{ display: grid; gap: 0; margin-top: 6px; }
.dcs-step2{ display: flex; gap: 12px; padding: 12px 0; border-bottom: 1px solid var(--edge-soft); }
.dcs-step2:last-child{ border-bottom: 0; }
.dcs-step2 .sn{ width: 28px; height: 28px; min-width: 28px; border-radius: 50%; background: var(--bg);
  display: grid; place-items: center; font-size: 13px; font-weight: 800; color: var(--ink); }
.dcs-step2 b{ display: block; font-size: 15px; }
.dcs-step2 p{ font-size: 14px; color: var(--ink-3); line-height: 1.5; margin-top: 3px; }
.dcs-note{ background: var(--bg); border-radius: 13px; padding: 13px 14px; font-size: 14px; line-height: 1.55; color: var(--ink-2); margin-top: 15px; }
textarea.dcs-comment{ width: 100%; min-height: 128px; resize: vertical; border: 1.5px solid var(--edge);
  border-radius: 13px; padding: 13px; font-size: 16px; line-height: 1.5; background: var(--surface); color: var(--ink);
  font-family: inherit; outline: none; }
textarea.dcs-comment:focus{ border-color: var(--accent); }
.dcs-segwrap{ margin-top: 4px; }
.dcs-sheet-body .lbl{ font-size: 13px; font-weight: 800; color: var(--ink-3); margin-bottom: 9px; }

/* ---------- toast ---------- */
.dcs-toast{ position: fixed; z-index: 60; left: 50%; bottom: calc(96px + var(--safe-b));
  transform: translate(-50%, 16px); max-width: calc(100% - 40px);
  background: var(--ink); color: var(--bg); border-radius: 99px; padding: 12px 17px;
  font-size: 13.5px; font-weight: 700; text-align: center;
  opacity: 0; pointer-events: none; transition: opacity var(--d2) var(--ease), transform var(--d2) var(--ease);
  box-shadow: 0 10px 30px rgb(10 25 30 / .3); }
.dcs-toast.show{ opacity: 1; transform: translate(-50%, 0); }

@media (min-width: 700px){
  .dcs-sheet{ bottom: 14px; border-radius: 24px; }
  .pl-main{ padding-top: calc(34px + var(--safe-t)); }
}
@media (max-width: 350px){
  .dcs-actions{ gap: 6px; } .dcs-cta{ font-size: 13.5px; }
  .dcs-seq{ gap: 5px; } .pl-tile-face{ border-radius: 19px; }
}
@media (prefers-reduced-motion: reduce){
  *, *::before, *::after{ transition: none !important; animation: none !important; scroll-behavior: auto !important; }
}

/* ---------- the switcher: one room, three weights (18:26 PT steering) ---------- */
.dcs-switch{ position: relative; z-index: 2; display: flex; gap: 8px; padding: 10px 14px;
  overflow-x: auto; scrollbar-width: none;
  background: color-mix(in srgb, var(--bg) 92%, transparent);
  -webkit-backdrop-filter: blur(20px); backdrop-filter: blur(20px);
  border-bottom: 1px solid var(--edge-soft); }
.dcs-switch::-webkit-scrollbar{ display: none; }
.dcs-sw{ flex: 1 0 auto; min-height: 52px; text-align: left; padding: 8px 13px; border-radius: 14px;
  background: color-mix(in srgb, var(--surface) 55%, transparent); box-shadow: var(--hair); min-width: 0; }
.dcs-sw b{ display: block; font-size: 14px; font-weight: 800; letter-spacing: -.01em; white-space: nowrap; }
.dcs-sw span{ display: block; font-size: 13px; font-weight: 600; color: var(--ink-3); margin-top: 1px; white-space: nowrap; }
.dcs-sw.on{ background: var(--surface); box-shadow: var(--hair), inset 0 0 0 2px var(--accent); }
.dcs-pane[hidden], .dcs-bar[hidden]{ display: none; }

/* ---------- hero variants: the listing (Omi) and the ticket (Turley) ---------- */
.dcs-listing, .dcs-ticket{ background: color-mix(in srgb, var(--accent) 6%, var(--surface));
  border-radius: 16px; padding: 16px 15px 14px; }
.dcs-listing-top, .dcs-ticket-top{ display: flex; align-items: baseline; gap: 10px; flex-wrap: wrap; }
.dcs-price, .dcs-bigtime{ font-size: 38px; font-weight: 850; letter-spacing: -.02em; line-height: 1; color: var(--ink); }
.dcs-bigtime small{ font-size: 18px; font-weight: 800; }
.dcs-was{ font-size: 14px; font-weight: 700; color: var(--ink-3); }
.dcs-ticket-dur{ font-size: 14.5px; font-weight: 700; color: var(--ink-2); }
.dcs-listing-name, .dcs-ticket-name{ font-size: 16.5px; font-weight: 800; margin-top: 9px; }
.dcs-listing-sub, .dcs-ticket-sub{ font-size: 14.5px; line-height: 1.5; color: var(--ink-2); margin-top: 3px; }
.dcs-listing-facts{ display: flex; flex-wrap: wrap; gap: 6px; margin-top: 12px; }
