:root {
  --coach-gold: #e5c979;
  --coach-mint: #70d6a6;
  --coach-blue: #88aee9;
  --coach-violet: #a594df;
  --coach-rose: #df8d91;
  --coach-ink: #f1eee3;
  --coach-muted: #777d73;
  --coach-line: rgba(224, 197, 117, .14);
  --coach-panel: rgba(13, 16, 12, .91);
}

.coach-page { background: #060805; color: var(--coach-ink); }
.coach-page .workspace { min-width: 0; }
.coach-scroll { padding: 46px clamp(22px, 3vw, 54px) 70px; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }

.coach-actions { gap: 10px; }
.coach-actions label { display: flex; min-height: 38px; align-items: center; gap: 8px; padding: 0 12px; border: 1px solid rgba(220, 199, 128, .14); border-radius: 11px; background: rgba(9, 12, 9, .72); }
.coach-actions label > span { color: #7f827a; font: 400 8px/1 "DM Mono", monospace; letter-spacing: .13em; text-transform: uppercase; }
.coach-actions select { max-width: 155px; border: 0; outline: 0; color: #d9d8ce; background: transparent; font: 500 10px/1.2 "DM Mono", monospace; }
.coach-actions option { background: #10130f; }
.coach-badge { display: inline-flex; align-items: center; gap: 7px; padding: 8px 10px; border: 1px solid rgba(112, 215, 169, .18); border-radius: 999px; color: #78cba3; font: 400 7px/1 "DM Mono", monospace; letter-spacing: .09em; text-transform: uppercase; }
.coach-badge i { width: 4px; height: 4px; border-radius: 50%; background: #79e1ad; box-shadow: 0 0 10px #79e1ad; animation: coach-pulse 2.8s ease-in-out infinite; }

.coach-hero { position: relative; display: grid; min-height: 405px; grid-template-columns: minmax(0, 1fr) 245px; align-items: center; gap: 40px; margin-bottom: 23px; padding: 36px clamp(8px, 3vw, 36px); overflow: hidden; }
.coach-hero::before { position: absolute; inset: 10% 1% auto auto; width: 50%; height: 65%; content: ""; background: radial-gradient(ellipse, rgba(164, 148, 222, .09), transparent 66%); filter: blur(10px); }
.coach-hero::after { position: absolute; top: 52%; right: 3%; width: 48%; height: 1px; content: ""; background: linear-gradient(90deg, transparent, rgba(166, 150, 224, .2), rgba(225, 198, 117, .26), transparent); box-shadow: 0 0 50px rgba(165, 148, 222, .12); }
.coach-hero-copy { position: relative; z-index: 2; max-width: 850px; }
.coach-hero-copy .eyebrow b { font-weight: 400; }
.coach-hero-copy h1 { max-width: 820px; margin: 17px 0 28px; color: #f3f0e7; font: 600 clamp(43px, 5vw, 73px)/.97 "Plus Jakarta Sans", sans-serif; letter-spacing: -.067em; }
.coach-hero-copy h1 em { display: block; color: var(--coach-gold); font-style: normal; }
.brief-card { max-width: 760px; padding: 18px 21px 19px; border: 1px solid rgba(223, 197, 119, .14); border-left: 2px solid rgba(229, 201, 121, .55); border-radius: 0 14px 14px 0; background: linear-gradient(90deg, rgba(226, 198, 117, .06), rgba(255, 255, 255, .012)); }
.brief-card > span { color: #7a7e74; font: 400 7px/1 "DM Mono", monospace; letter-spacing: .15em; text-transform: uppercase; }
.brief-card h2 { margin: 8px 0 7px; color: #e2dfd4; font: 600 18px/1.25 "Plus Jakarta Sans", sans-serif; letter-spacing: -.035em; }
.brief-card p { margin: 0; color: #81867d; font-size: 10px; line-height: 1.7; }
.coach-hero[data-tone="critical"] .brief-card { border-left-color: var(--coach-rose); }
.coach-hero[data-tone="attention"] .brief-card { border-left-color: #dcaa72; }
.coach-hero[data-tone="positive"] .brief-card { border-left-color: var(--coach-mint); }

.coach-orbit { position: relative; z-index: 2; display: grid; width: 224px; aspect-ratio: 1; place-items: center; justify-self: end; }
.coach-orbit::before { position: absolute; inset: 9%; border-radius: 50%; content: ""; background: radial-gradient(circle, rgba(164, 148, 222, .13), transparent 68%); box-shadow: 0 0 95px rgba(164, 148, 222, .08); }
.coach-ring { position: absolute; border: 1px solid rgba(225, 197, 117, .27); border-radius: 50%; }
.coach-ring-a { inset: 6%; transform: rotate(22deg) scaleY(.49); animation: coach-orbit-a 15s linear infinite; }
.coach-ring-b { inset: 0; border-color: rgba(165, 148, 222, .3); transform: rotate(-48deg) scaleY(.34); animation: coach-orbit-b 21s linear infinite; }
.coach-wave { position: absolute; width: 64%; aspect-ratio: 1; border: 1px solid rgba(112, 214, 166, .15); border-radius: 50%; animation: coach-breathe 5.4s ease-in-out infinite; }
.coach-core { position: relative; z-index: 2; display: flex; width: 126px; aspect-ratio: 1; flex-direction: column; align-items: center; justify-content: center; border: 1px solid rgba(225, 199, 121, .2); border-radius: 50%; background: radial-gradient(circle at 50% 34%, rgba(167, 151, 224, .13), rgba(8, 11, 8, .96) 69%); box-shadow: inset 0 0 35px rgba(217, 188, 102, .05), 0 0 42px rgba(161, 149, 225, .08); }
.coach-core small, .coach-core span { color: #747a70; font: 400 7px/1.2 "DM Mono", monospace; letter-spacing: .11em; text-align: center; text-transform: uppercase; }
.coach-core strong { margin: 7px 0 5px; color: #e7cd85; font: 500 31px/1 "DM Mono", monospace; }
.coach-core span { max-width: 84px; color: #82caa4; }

.coach-panel { border: 1px solid var(--coach-line); border-radius: 20px; background: linear-gradient(145deg, rgba(18, 21, 16, .92), rgba(8, 11, 8, .94)); box-shadow: 0 24px 80px rgba(0, 0, 0, .21), inset 0 1px rgba(255, 255, 255, .015); }
.coach-panel > header { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; padding: 24px 25px 19px; }
.coach-panel h2 { margin: 7px 0 0; font: 600 19px/1.2 "Plus Jakarta Sans", sans-serif; letter-spacing: -.04em; }
.panel-kicker { margin: 0; color: #77796d; font: 400 8px/1.2 "DM Mono", monospace; letter-spacing: .15em; text-transform: uppercase; }
.model-mark, .sample-mark, .method-mark { display: inline-flex; padding: 6px 8px; border: 1px solid rgba(112, 215, 169, .18); border-radius: 999px; color: #79c89f; font: 400 7px/1 "DM Mono", monospace; text-transform: uppercase; }
.conversation-tools { display: flex; align-items: center; justify-content: flex-end; gap: 8px; }
.conversation-tools button { min-height: 27px; padding: 0 9px; border: 1px solid rgba(221, 195, 116, .14); border-radius: 999px; color: #8b8d83; background: transparent; cursor: pointer; font: 400 7px/1 "DM Mono", monospace; text-transform: uppercase; transition: border-color .18s ease, color .18s ease; }
.conversation-tools button:hover { border-color: rgba(228, 201, 121, .3); color: #d8c174; }
.sample-mark, .method-mark { border-color: rgba(221, 195, 116, .16); color: #9b906c; }

.coach-primary-grid { display: grid; grid-template-columns: minmax(0, 1.48fr) minmax(300px, .62fr); gap: 22px; margin-bottom: 22px; }
.conversation-panel { overflow: hidden; }
.conversation-stream { display: grid; max-height: 420px; gap: 16px; padding: 10px 25px 20px; overflow-y: auto; border-top: 1px solid rgba(221, 195, 116, .08); }
.coach-message { display: grid; max-width: 88%; grid-template-columns: 31px minmax(0, 1fr); gap: 12px; padding-top: 18px; }
.coach-message.is-user { grid-template-columns: minmax(0, 1fr); justify-self: end; padding: 15px 17px; border: 1px solid rgba(221, 195, 116, .12); border-radius: 14px 14px 3px 14px; background: rgba(223, 196, 116, .045); }
.message-avatar { display: grid; width: 31px; height: 31px; place-items: center; border: 1px solid rgba(165, 148, 222, .25); border-radius: 50%; color: #d8c680; background: radial-gradient(circle, rgba(163, 148, 220, .12), transparent 70%); }
.coach-message small { color: #706f68; font: 400 7px/1 "DM Mono", monospace; letter-spacing: .14em; text-transform: uppercase; }
.coach-message strong { display: block; margin: 7px 0 6px; color: #dad7cd; font-size: 12px; line-height: 1.45; }
.coach-message p { margin: 0; color: #7a8077; font-size: 9px; line-height: 1.7; }
.coach-message.is-user p { color: #c2bfb5; font-size: 10px; }
.answer-evidence { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 12px; }
.answer-evidence span { padding: 5px 7px; border: 1px solid rgba(112, 215, 169, .12); border-radius: 999px; color: #7a9988; font: 400 7px/1 "DM Mono", monospace; }
.answer-link { display: inline-block; margin-top: 12px; color: #d8bd71; font: 400 8px/1 "DM Mono", monospace; text-decoration: none; }
.answer-boundary { display: block; max-width: 560px; margin-top: 12px; color: #565b54 !important; font-size: 6.5px !important; line-height: 1.55 !important; letter-spacing: .05em !important; text-transform: none !important; }
.prompt-suggestions { display: flex; gap: 7px; padding: 0 25px 17px; overflow-x: auto; }
.prompt-suggestions button { flex: 0 0 auto; min-height: 31px; padding: 0 10px; border: 1px solid rgba(221, 195, 116, .11); border-radius: 999px; color: #7b8077; background: rgba(255, 255, 255, .012); cursor: pointer; font: 400 7px/1 "DM Mono", monospace; transition: border-color .18s ease, color .18s ease, transform .18s ease; }
.prompt-suggestions button:hover { border-color: rgba(228, 201, 121, .28); color: #d4bd79; transform: translateY(-1px); }
.coach-composer { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 10px; padding: 17px 18px; border-top: 1px solid rgba(221, 195, 116, .09); background: rgba(5, 8, 5, .54); }
.coach-composer textarea { min-height: 48px; max-height: 120px; resize: vertical; border: 1px solid rgba(221, 195, 116, .12); border-radius: 12px; outline: 0; color: #d5d3c9; background: rgba(255, 255, 255, .018); padding: 14px 15px; font: 400 10px/1.55 "Manrope", sans-serif; }
.coach-composer textarea:focus { border-color: rgba(228, 201, 121, .3); box-shadow: 0 0 0 3px rgba(228, 201, 121, .035); }
.coach-composer button { align-self: stretch; min-width: 122px; border: 0; border-radius: 12px; color: #161811; background: linear-gradient(135deg, #d0ad59, #f0d995); cursor: pointer; font: 600 9px/1 "DM Mono", monospace; }
.coach-composer button:disabled { cursor: wait; opacity: .55; }
.coach-composer button i { margin-left: 8px; font-style: normal; }

.priority-panel { position: relative; overflow: hidden; }
.priority-panel::before { position: absolute; inset: 0; content: ""; background: radial-gradient(circle at 75% 20%, rgba(165, 148, 222, .1), transparent 40%); }
.priority-panel > * { position: relative; z-index: 1; }
.priority-pulse { width: 9px; height: 9px; margin-top: 5px; border: 1px solid #c4ab66; border-radius: 50%; box-shadow: 0 0 0 5px rgba(196, 171, 102, .04), 0 0 17px rgba(196, 171, 102, .25); animation: coach-pulse 2.8s ease-in-out infinite; }
.priority-body { display: flex; min-height: 365px; flex-direction: column; align-items: flex-start; justify-content: flex-end; padding: 24px 26px 27px; border-top: 1px solid rgba(221, 195, 116, .08); }
.priority-body > span { color: #9c906a; font: 400 7px/1 "DM Mono", monospace; letter-spacing: .14em; text-transform: uppercase; }
.priority-body h3 { margin: 11px 0 12px; color: #e4e0d5; font: 600 27px/1.08 "Plus Jakarta Sans", sans-serif; letter-spacing: -.05em; }
.priority-body p { margin: 0; color: #7d837a; font-size: 10px; line-height: 1.75; }
.priority-body a { margin-top: 24px; padding: 12px 14px; border: 1px solid rgba(224, 199, 119, .19); border-radius: 10px; color: #ddc479; text-decoration: none; font: 400 8px/1 "DM Mono", monospace; text-transform: uppercase; }
.priority-panel[data-tone="critical"] .priority-pulse { border-color: var(--coach-rose); box-shadow: 0 0 18px rgba(223, 141, 145, .38); }
.priority-panel[data-tone="critical"] .priority-body > span { color: var(--coach-rose); }
.priority-panel[data-tone="positive"] .priority-pulse { border-color: var(--coach-mint); box-shadow: 0 0 18px rgba(112, 214, 166, .35); }

.observation-panel { margin-bottom: 22px; overflow: hidden; }
.observation-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-top: 1px solid rgba(221, 195, 116, .09); }
.observation-card { position: relative; min-height: 190px; padding: 24px 22px 21px; border-right: 1px solid rgba(221, 195, 116, .08); border-bottom: 1px solid rgba(221, 195, 116, .08); }
.observation-card:nth-child(4n) { border-right: 0; }
.observation-card::before { position: absolute; top: 26px; right: 22px; width: 5px; height: 5px; border-radius: 50%; content: ""; background: #998f6e; box-shadow: 0 0 8px rgba(153, 143, 110, .4); }
.observation-card.is-critical::before { background: var(--coach-rose); box-shadow: 0 0 10px rgba(223, 141, 145, .6); }
.observation-card.is-attention::before { background: #ddad71; }
.observation-card.is-positive::before { background: var(--coach-mint); box-shadow: 0 0 9px rgba(112, 214, 166, .48); }
.observation-source { color: #686e65; font: 400 7px/1 "DM Mono", monospace; letter-spacing: .13em; text-transform: uppercase; }
.observation-card h3 { margin: 21px 20px 10px 0; color: #d8d6cc; font: 600 13px/1.4 "Plus Jakarta Sans", sans-serif; }
.observation-card p { margin: 0; color: #777d74; font-size: 9px; line-height: 1.68; }
.observation-card footer { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 18px; }
.observation-card footer span { color: #696e65; font: 400 7px/1 "DM Mono", monospace; }
.observation-card footer a { color: #b9a564; font: 400 8px/1 "DM Mono", monospace; text-decoration: none; }

.coach-secondary-grid { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(320px, .65fr); gap: 22px; }
.action-list { padding: 0 24px 24px; }
.action-item { display: grid; min-height: 86px; grid-template-columns: 39px minmax(0, 1fr) auto; align-items: center; gap: 15px; border-top: 1px solid rgba(221, 195, 116, .08); }
.action-index { display: grid; width: 32px; aspect-ratio: 1; place-items: center; border: 1px solid rgba(221, 195, 116, .14); border-radius: 50%; color: #b69f61; font: 400 8px/1 "DM Mono", monospace; }
.action-copy strong { display: block; color: #d7d4ca; font-size: 11px; }
.action-copy p { margin: 5px 0 0; color: #72786f; font-size: 8px; line-height: 1.55; }
.action-item a { padding: 9px 10px; border: 1px solid rgba(221, 195, 116, .12); border-radius: 9px; color: #ae9b64; text-decoration: none; font: 400 7px/1 "DM Mono", monospace; text-transform: uppercase; }

.depth-panel > header > strong { color: #e0c67e; font: 500 11px/1 "DM Mono", monospace; }
.depth-list { padding: 2px 24px 7px; }
.depth-row { margin-bottom: 17px; }
.depth-row > span { display: flex; justify-content: space-between; margin-bottom: 8px; }
.depth-row small { color: #747970; font-size: 8px; }
.depth-row strong { color: #cac8be; font: 500 9px/1 "DM Mono", monospace; }
.depth-track { display: block; height: 3px; overflow: hidden; border-radius: 99px; background: rgba(220, 200, 128, .07); }
.depth-track b { display: block; width: 0; height: 100%; border-radius: inherit; background: linear-gradient(90deg, #746aae, #6dcaa0, #d6ba6e); box-shadow: 0 0 10px rgba(166, 154, 229, .2); transition: width .7s cubic-bezier(.2,.8,.2,1); }
.depth-panel footer { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid rgba(221, 195, 116, .08); }
.depth-panel footer span { padding: 16px 10px; border-right: 1px solid rgba(221, 195, 116, .07); color: #6b7068; font-size: 7px; text-align: center; text-transform: uppercase; }
.depth-panel footer span:last-child { border-right: 0; }
.depth-panel footer strong { display: block; margin-bottom: 5px; color: #d1cec4; font: 500 14px/1 "DM Mono", monospace; }

.coach-loading, .coach-empty { display: flex; min-height: 160px; align-items: center; justify-content: center; gap: 10px; color: #737970; font: 400 9px/1.5 "DM Mono", monospace; text-align: center; }
.coach-loading { grid-column: 1 / -1; }
.coach-loading span { width: 7px; height: 7px; border: 1px solid #9e8bc2; border-radius: 50%; animation: coach-pulse 1.4s ease-in-out infinite; }
.coach-footnote { display: flex; align-items: flex-start; gap: 12px; margin: 24px 2px 0; color: #5e645c; font: 400 8px/1.65 "DM Mono", monospace; }
.coach-footnote span { width: 5px; height: 5px; flex: 0 0 auto; margin-top: 4px; border-radius: 50%; background: #9c8dc8; box-shadow: 0 0 8px rgba(156, 141, 200, .45); }

@keyframes coach-orbit-a { to { transform: rotate(382deg) scaleY(.49); } }
@keyframes coach-orbit-b { to { transform: rotate(-408deg) scaleY(.34); } }
@keyframes coach-breathe { 50% { transform: scale(1.09); opacity: .45; box-shadow: 0 0 34px rgba(112, 214, 166, .1); } }
@keyframes coach-pulse { 50% { transform: scale(1.25); opacity: .58; } }

@media (max-width: 1250px) {
  .coach-primary-grid { grid-template-columns: 1fr; }
  .priority-body { min-height: 250px; }
  .observation-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .observation-card:nth-child(2n) { border-right: 0; }
}

@media (max-width: 900px) {
  .coach-actions .coach-badge { display: none; }
  .coach-hero { min-height: 355px; grid-template-columns: 1fr 170px; }
  .coach-orbit { width: 160px; }
  .coach-core { width: 98px; }
  .coach-secondary-grid { grid-template-columns: 1fr; }
}

@media (max-width: 680px) {
  .coach-scroll { padding: 26px 15px 55px; }
  .coach-actions { width: 100%; }
  .coach-actions label { min-width: 0; flex: 1; justify-content: space-between; }
  .coach-actions select { width: 100%; }
  .coach-hero { display: block; min-height: 570px; padding: 18px 3px; }
  .coach-hero-copy h1 { font-size: 45px; }
  .brief-card { border-radius: 0 12px 12px 0; }
  .coach-orbit { width: 140px; margin-top: 28px; }
  .coach-core { width: 87px; }
  .conversation-panel > header { align-items: stretch; flex-direction: column; }
  .conversation-tools { justify-content: space-between; }
  .coach-message { max-width: 100%; }
  .coach-composer { grid-template-columns: 1fr; }
  .coach-composer button { min-height: 45px; }
  .observation-grid { grid-template-columns: 1fr; }
  .observation-card { border-right: 0; }
  .action-item { grid-template-columns: 34px minmax(0, 1fr); padding: 13px 0; }
  .action-item a { grid-column: 2; justify-self: start; }
  .priority-body { min-height: 280px; }
}

@media (prefers-reduced-motion: reduce) {
  .coach-ring, .coach-wave, .coach-badge i, .priority-pulse, .coach-loading span { animation: none !important; }
}
