@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,500;0,600;1,300;1,400;1,500&family=Montserrat:wght@300;400;500;600;700&family=JetBrains+Mono:wght@400;500&display=swap');

:root { color-scheme: dark; --bg:#0b1728; --surface:#142238; --ink:#f0f3f5; --muted:#aab7c8; --teal:#9ad9d0; --lavender:#c8b6ff; --line:rgba(201,219,235,.13); --serif:'Cormorant Garamond',Georgia,serif; --sans:'Avenir Next','Montserrat',system-ui,sans-serif; }
* { box-sizing:border-box; }
body { margin:0; min-height:100vh; background:linear-gradient(155deg,#07121f 0%,#101f34 55%,#202c45 100%); color:var(--ink); font:15px/1.75 var(--sans); }
a { color:var(--teal); text-decoration:none; text-underline-offset:5px; }
a:hover { text-decoration:underline; }
button,input,textarea { font:inherit; }
button,a,input,textarea,summary { -webkit-tap-highlight-color:transparent; }
:focus-visible { outline:2px solid var(--teal); outline-offset:5px; }
.ambient { position:fixed; z-index:-1; inset:0; pointer-events:none; background:radial-gradient(ellipse at 25% 30%,#9ad9d00d,transparent 50%),radial-gradient(ellipse at 80% 90%,#c8b6ff0d,transparent 50%); }
.site-header { max-width:1200px; margin:auto; padding:24px 40px; display:flex; align-items:center; justify-content:space-between; gap:20px; border-bottom:1px solid var(--line); }
.wordmark { font:500 48px/1 var(--serif); letter-spacing:-3px; color:var(--teal); }
.wordmark:hover { text-decoration:none; }
.site-header nav { display:flex; align-items:center; gap:26px; font-size:12px; }
.site-header nav form { margin:0; }
.page-shell { max-width:1120px; margin:auto; padding:60px 32px 80px; min-height:75vh; }
h1,h2,h3 { font-family:var(--serif); font-weight:400; line-height:1.1; margin:0 0 20px; letter-spacing:-.025em; }
h1 { font-size:clamp(44px,5.5vw,72px); }
h2 { font-size:34px; }
h3 { font-size:26px; }
h1 em { color:var(--teal); font-weight:400; }
p { color:var(--muted); margin:0 0 24px; }
.eyebrow { display:block; font-size:10px; letter-spacing:.22em; text-transform:uppercase; color:var(--teal); font-weight:600; margin-bottom:18px; }
.site-header .eyebrow { color:var(--muted); margin:0; }
.panel { padding:34px; background:linear-gradient(145deg,rgba(255,255,255,.035),rgba(255,255,255,.013)); border:1px solid var(--line); border-radius:26px; margin-bottom:24px; }
.auth-grid { display:grid; grid-template-columns:1.15fr 1fr; align-items:center; gap:85px; min-height:590px; }
.welcome-copy { position:relative; }
.welcome-copy p { max-width:390px; font-size:16px; }
.auth-panel { padding:40px; }
.auth-panel h2 { font-size:40px; }
.auth-panel>p { font-size:13px; }
.orb { width:160px; height:160px; position:relative; margin:35px 0 20px; border-radius:50%; background:radial-gradient(circle at 35% 27%,#d8f3efbd,#83c3c699 20%,#799bb25c 48%,#a994d238 68%,transparent 73%); box-shadow:0 0 65px #9ad9d016,inset 0 0 26px #d6f0ed42; }
.orb::before,.orb::after { content:''; position:absolute; inset:10px; border:1px solid #d6f0ed35; border-radius:50%; transform:rotate(-35deg) scaleX(.8); }
.orb::after { inset:25px 5px; transform:rotate(40deg); border-color:#d5c7ff44; }
.orb span { position:absolute; inset:25px; border-radius:50%; background:radial-gradient(circle at 35% 25%,#eefbfaaa,transparent 65%); filter:blur(12px); }
.small-orb { width:90px; height:90px; margin:0 0 28px; }
label { display:block; font-size:12px; font-weight:500; margin:20px 0 8px; color:#d7e1ec; }
input:not([type=submit],[type=checkbox]),textarea { display:block; width:100%; border:1px solid #aab7c830; border-radius:12px; padding:12px 15px; color:var(--ink); background:#07121f55; }
input::placeholder { color:#8492a3; }
textarea { resize:vertical; min-height:100px; }
.button { display:inline-flex; align-items:center; justify-content:center; padding:13px 22px; border-radius:12px; border:1px solid transparent; font-size:12px; font-weight:600; letter-spacing:.025em; cursor:pointer; line-height:1.5; transition:background .15s,transform .15s; text-align:center; }
.button:hover { transform:translateY(-1px); text-decoration:none; }
.primary { background:var(--teal); color:#102c34; }
.primary:hover { background:#b2e8df; }
.secondary { border-color:#9ad9d04d; background:#9ad9d008; color:var(--teal); }
.secondary:hover { background:#9ad9d014; }
form .button { margin-top:24px; }
.auth-panel form .button,.narrow form .button,.assessment-panel form .button { width:100%; }
.text-button { background:none; border:0; padding:0; color:var(--muted); cursor:pointer; font-size:12px; }
.text-button:hover { color:var(--teal); }
.form-links { display:flex; justify-content:space-between; gap:12px; font-size:11px; margin-top:24px; }
.small-note { display:block; color:var(--muted); font-size:11px; line-height:1.8; margin-top:20px; }
.narrow { max-width:570px; margin:auto; }
.narrow>p { max-width:470px; }
.checkbox-row { display:flex; align-items:flex-start; gap:12px; font-size:12px; line-height:1.8; margin-top:24px; }
.checkbox-row input { flex-shrink:0; width:18px; height:18px; margin-top:4px; accent-color:var(--teal); }
.flash { padding:16px 22px; border:1px solid #9ad9d044; border-radius:14px; background:#9ad9d00b; margin:0 0 26px; color:#d2ece7; font-size:13px; }
.flash.alert { border-color:#e5aab74d; color:#f2c9d1; background:#e5aab70b; }
.flash ul { margin:0; padding-left:20px; }
.assessment-panel { padding:40px; }
.report-preview { padding:40px; background:linear-gradient(135deg,#c8b6ff07,transparent); }
.section-icon { display:block; font-size:68px; line-height:90px; color:var(--lavender); margin-bottom:28px; }
.report-preview .eyebrow { color:var(--lavender); }
.call-details { display:flex; align-items:center; flex-wrap:wrap; gap:12px; border-block:1px solid var(--line); padding:18px 0; font-size:12px; }
.call-details span { color:var(--muted); }
.call-details strong { font-weight:500; }
.call-details a { margin-left:auto; }
.badge { display:inline-block; padding:6px 12px; border:1px solid #9ad9d02b; color:var(--teal); background:#9ad9d009; border-radius:8px; font-size:11px; margin:4px 0 20px; }
.empty-state { padding:25px 0; font:italic 25px/1.4 var(--serif); color:#c9bfdc; }
.gentle-note { border-top:1px solid var(--line); padding-top:20px; margin-top:30px; color:var(--muted); font-size:11px; }
.history { margin-top:30px; }
.history-link { display:block; padding:16px 0; border-bottom:1px solid var(--line); }
.back-link { display:block; font-size:12px; margin:0 0 30px; }
form+.back-link { margin:24px 0 0; }
.finding+.finding { border-top:1px solid var(--line); margin-top:24px; padding-top:24px; }
.finding p { color:#d6e0ea; margin-bottom:15px; }
blockquote { margin:12px 0 20px; padding:0 0 0 18px; border-left:2px solid #9ad9d04d; color:var(--muted); font-style:italic; font-size:13px; }
.source-links { font-size:10px; color:var(--muted); overflow-wrap:anywhere; }
.references article { border-top:1px solid var(--line); padding:22px 0; font-size:12px; }
.references article p { margin:4px 0; }
.queue-row { display:flex; align-items:center; justify-content:space-between; gap:20px; border-top:1px solid var(--line); padding:20px 0; }
.queue-row p { margin:4px 0 0; font-size:12px; }
.admin-grid { display:grid; grid-template-columns:1.15fr 1fr; gap:25px; }
.admin-grid h3 { margin-top:30px; }
.transcript { font:12px/1.8 var(--sans); white-space:pre-wrap; overflow-wrap:anywhere; max-height:70vh; overflow:auto; color:var(--muted); }
summary { cursor:pointer; color:var(--teal); font-size:13px; }
.call-review { border-top:1px solid var(--line); padding-top:25px; margin-top:25px; }
.call-review .text-button { margin-top:20px; }
.site-footer { padding:30px 24px; text-align:center; color:#99a6b7; font:italic 18px/1.6 var(--serif); border-top:1px solid var(--line); }
.site-footer span { display:block; font:10px/1.8 var(--sans); margin-top:10px; color:#7d8ba0; }
@media(max-width:760px) {
  .site-header { padding:20px 24px; }
  .site-header nav { gap:14px; font-size:10px; }
  .site-header .eyebrow { max-width:170px; font-size:8px; text-align:right; }
  .page-shell { padding:40px 22px 50px; }
  .auth-grid,.admin-grid { grid-template-columns:1fr; gap:10px; }
  .auth-grid { min-height:0; }
  .welcome-copy p { max-width:330px; }
  .welcome-copy .orb { width:85px; height:85px; position:absolute; right:0; bottom:4px; opacity:.65; }
  .welcome-copy .small-note { margin:20px 0 35px; }
  .panel,.auth-panel,.assessment-panel,.report-preview { padding:26px; border-radius:22px; }
  .form-links { flex-wrap:wrap; }
  .queue-row { align-items:flex-start; }
  .wordmark { font-size:42px; }
  h2 { font-size:30px; }
}
@media(prefers-reduced-motion:reduce) { * { transition:none!important; scroll-behavior:auto!important; } }

/* Core Issue Analysis: the compact ExperienceView layout. */
.report-experience { height:100dvh; min-height:0; overflow:hidden; background:linear-gradient(180deg,#07121f 0%,#0e1f35 35%,#162840 70%,#22314d 100%); }
.experience-frame { position:relative; display:flex; flex-direction:column; max-width:1280px; height:100%; margin:auto; isolation:isolate; background:linear-gradient(180deg,#07121f 0%,#0e1f35 35%,#162840 70%,#22314d 100%); }
.experience-frame::before,.experience-frame::after { content:''; position:absolute; inset:0; pointer-events:none; z-index:1; }
.experience-frame::before { background:radial-gradient(circle at 50% 25%,#b7e4e4,transparent 65%); opacity:.08; }
.experience-frame::after { background:radial-gradient(circle at 30% 75%,#c8b6ff,transparent 55%); opacity:.06; }
.experience-header { flex-shrink:0; display:flex; align-items:center; justify-content:space-between; gap:12px; padding:20px 20px 12px; border-bottom:1px solid #ffffff0d; background:#07121ff2; backdrop-filter:blur(12px); z-index:3; }
.report-icon { width:14px; height:14px; flex-shrink:0; vertical-align:middle; }
.experience-indicator { display:inline-flex; align-items:center; gap:6px; padding:4px 14px; border:1px solid #ffffff1a; border-radius:999px; background:#ffffff08; color:#ffffffb3; font:9px/1.5 'JetBrains Mono',ui-monospace,monospace; letter-spacing:.1em; text-transform:uppercase; }
.experience-indicator .report-icon { width:12px; height:12px; }
.experience-menu { position:relative; }
.experience-menu > summary { display:flex; padding:5px; color:#9ad9d0; list-style:none; }
.experience-menu > summary::-webkit-details-marker { display:none; }
.experience-menu nav { position:absolute; top:32px; right:0; min-width:160px; padding:8px; border:1px solid #ffffff26; border-radius:12px; background:#0c1728; box-shadow:0 12px 30px #0006; }
.experience-menu nav a,.experience-menu nav button { display:block; width:100%; padding:10px 12px; border:0; border-radius:6px; color:#e0e0e0; background:none; text-align:left; font:12px/1.5 var(--sans); cursor:pointer; }
.experience-menu nav a:hover,.experience-menu nav button:hover { background:#ffffff0d; text-decoration:none; }
.experience-menu form { margin:0; }
.experience-scroll { flex:1; min-height:0; overflow-y:auto; padding:20px 20px 64px; scrollbar-width:thin; scrollbar-color:#ffffff26 transparent; }
.experience-scroll:focus-visible { outline-offset:-3px; }
.report-page,.core-analysis { --report-mono:'JetBrains Mono',ui-monospace,SFMono-Regular,monospace; color:#e0e0e0; }
.report-title { margin:0 0 24px; }
.report-title > div { display:flex; justify-content:space-between; align-items:flex-end; gap:12px; padding-bottom:8px; border-bottom:1px solid #ffffff0d; }
.report-title h1 { font:300 20px/1.4 var(--serif); color:#f5f7fa; letter-spacing:-.025em; margin:0; }
.report-title .eyebrow { margin:0 0 8px; padding-left:4px; color:#c8b6ffcc; font:9px/1.5 var(--report-mono); letter-spacing:.1em; }
.report-private { flex-shrink:0; padding:2px 8px; border:1px solid #ffffff0d; border-radius:6px; background:#ffffff0a; color:#ffffffa6; font:9px/1.5 var(--report-mono); text-transform:uppercase; }
.core-analysis { display:flex; flex-direction:column; gap:24px; }
.core-analysis .report-card { margin:0; padding:20px; border:1px solid #ffffff0d; border-radius:28px; background:#ffffff03; }
.core-analysis h2 { margin:0 0 16px; color:#fff; font:500 14px/1.45 var(--serif); letter-spacing:-.025em; }
.core-analysis h3 { margin:0 0 6px; font:500 12px/1.5 var(--sans); letter-spacing:0; }
.core-analysis p { margin:0; color:#b4bcc8; font:300 12px/1.625 var(--sans); overflow-wrap:anywhere; }
.core-analysis .eyebrow { display:block; color:#c8b6ff; font:9px/1.5 var(--report-mono); letter-spacing:.1em; margin:0 0 2px; padding-left:1px; text-transform:uppercase; }
.core-analysis .finding + .finding { border:0; margin-top:12px; padding:0; }
.core-analysis .finding p { margin:0; }
.core-analysis .report-empty { color:#aab7c8; font-style:italic; }
.core-analysis .report-partial { margin:0; padding:10px 14px; border:1px solid #9ad9d026; border-radius:12px; background:#9ad9d008; color:#c9dfdd; font-size:11px; line-height:1.6; }
.core-analysis blockquote { margin:6px 0 2px; padding-left:10px; font:italic 11px/1.6 var(--sans); color:#b4bcc8; }
.core-analysis .source-links { margin-top:6px; font-size:10px; }
.core-analysis .report-profile { display:flex; flex-direction:column; gap:20px; align-items:flex-start; background:linear-gradient(135deg,#0c1322,#121c33); border-color:#ffffff1a; }
.profile-avatar { position:relative; width:80px; height:80px; flex-shrink:0; align-self:center; border:1px solid #ffffff33; border-radius:50%; background:#171717; box-shadow:inset 0 2px 4px #0002; }
.profile-avatar svg { width:100%; height:100%; padding:4px; border-radius:50%; }
.profile-avatar > span { position:absolute; right:4px; bottom:4px; width:12px; height:12px; border:2px solid #171717; border-radius:50%; background:#c8b6ff; }
.profile-details { flex:1; width:100%; min-width:0; }
.profile-heading { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:8px; margin-bottom:14px; }
.profile-label { color:#ffffffa6; font:12px/1.5 var(--report-mono); letter-spacing:.05em; text-transform:uppercase; }
.core-analysis .profile-heading h2 { font:600 16px/1.5 var(--serif); letter-spacing:0; margin:0; overflow-wrap:anywhere; }
.report-scores { display:flex; flex-wrap:wrap; gap:6px; }
.score-badge { padding:2px 8px; border:1px solid #c8b6ff26; border-radius:4px; color:#c8b6ff; background:#c8b6ff1a; font:10px/1.5 var(--report-mono); }
.score-badge strong { font-weight:400; }
.score-badge:nth-child(2) { color:#9ad9d0; background:#9ad9d01a; border-color:#9ad9d026; }
.score-badge:nth-child(3) { color:#fcd34d; background:#fbbf241a; border-color:#fbbf2626; }
.profile-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; border-top:1px solid #ffffff0d; padding-top:14px; }
.profile-fact { min-width:0; }
.core-analysis .profile-fact h3 { color:#ffffffa6; font:9px/1.5 var(--report-mono); letter-spacing:.05em; text-transform:uppercase; margin:0 0 2px; }
.core-analysis .profile-fact p { color:#ffffffcc; font-size:11px; font-weight:500; }
.profile-goals,.profile-symptoms { grid-column:1/-1; }
.core-analysis .report-caption { margin-top:10px; color:#aab7c8; font-size:10px; line-height:1.6; }
.core-analysis .report-stress,.core-analysis .report-pattern { background:#0303034d; }
.spectrum-heading { display:flex; justify-content:space-between; align-items:center; gap:8px; margin-bottom:18px; }
.core-analysis .spectrum-heading h2 { color:#ffffffa6; font:9px/1.5 var(--report-mono); letter-spacing:.1em; text-transform:uppercase; margin:0; }
.spectrum-note { padding:2px 8px; border:1px solid #c8b6ff33; border-radius:999px; color:#c8b6ff; background:#c8b6ff1a; font:9px/1.5 var(--report-mono); text-align:center; }
.spectrum-bar { display:flex; gap:4px; min-height:28px; padding:2px; border:1px solid #ffffff0d; border-radius:999px; background:#ffffff08; }
.spectrum-bar span { flex:1; min-width:0; display:flex; align-items:center; justify-content:center; padding:2px 4px; font:700 8px/1.3 var(--report-mono); letter-spacing:.05em; text-transform:uppercase; text-align:center; }
.spectrum-bar span:first-child { background:linear-gradient(90deg,#ef44441a,#f8717133); border-radius:999px 0 0 999px; color:#fca5a5; }
.spectrum-bar span:nth-child(2) { background:#c8b6ff33; color:#e3d9ff; }
.spectrum-bar span:last-child { background:linear-gradient(90deg,#10b9811a,#34d39933); border-radius:0 999px 999px 0; color:#6ee7b7; }
.spectrum-help { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; padding-top:12px; }
.spectrum-help summary { width:fit-content; list-style:none; color:inherit; font:9px/1.5 var(--report-mono); text-transform:uppercase; }
.spectrum-help summary::-webkit-details-marker { display:none; }
.spectrum-help summary span { display:inline-block; padding:0 3px; border:1px solid currentColor; border-radius:3px; font-size:8px; opacity:.8; }
.spectrum-help details:nth-child(2) summary { margin:auto; }
.spectrum-help details:last-child summary { margin-left:auto; }
.core-analysis .spectrum-help p { font-size:11px; padding-top:8px; }
.stress-alert { color:#fca5a5; }
.stress-withdrawn { color:#c8b6ff; }
.stress-settled { color:#6ee7b7; }
.stress-reflection { margin-top:14px; padding:12px; background:#c8b6ff0d; border:1px solid #c8b6ff1a; border-radius:12px; }
.core-analysis .stress-reflection p { color:#c8b6fff2; font-size:11px; font-style:italic; }
.report-inset { margin-top:14px; padding:14px; border:1px solid #ffffff0d; border-radius:16px; background:#ffffff05; }
.core-analysis .report-inset h3 { color:#ffffffa6; font:9px/1.5 var(--report-mono); text-transform:uppercase; }
.report-pattern-summary { margin-top:14px; padding-top:14px; border-top:1px solid #ffffff0d; }
.core-analysis .report-pattern-summary h3 { color:#9ad9d0; font:600 12px/1.5 var(--serif); }
.stress-network { margin-top:16px; padding:18px; border:1px solid #ffffff0d; border-radius:16px; background:radial-gradient(#c8b6ff19 1px,transparent 1px) 0 0/16px 16px,#0006; }
.stress-loop { padding:0; margin:0; list-style:none; }
.stress-loop li { position:relative; padding-bottom:26px; }
.stress-loop li:not(:last-child)::after { content:''; position:absolute; height:12px; left:24px; bottom:7px; border-left:1px solid #ffffff33; }
.stress-loop li:last-child { padding-bottom:0; }
.core-analysis .stress-loop h3 { display:flex; gap:8px; align-items:center; margin-bottom:6px; }
.stress-loop h3::after { content:''; height:1px; flex:1; background:linear-gradient(90deg,#818cf84d,transparent); }
.loop-number { display:inline-block; padding:2px 8px; border:1px solid #818cf833; border-radius:4px; color:#a5b4fc; background:#818cf81a; font:700 9px/1.5 var(--report-mono); text-transform:uppercase; }
.stress-loop li:first-child .loop-number { color:#fca5a5; background:#f871711a; border-color:#f8717133; }
.stress-loop li:last-child .loop-number { color:#fcd34d; background:#fbbf241a; border-color:#fbbf2433; }
.core-analysis .stress-loop p { font-size:11px; color:#ffffffcc; }
.loop-tags { display:flex; flex-wrap:wrap; gap:6px; padding-top:4px; }
.loop-tag { max-width:100%; overflow-wrap:anywhere; border:1px solid #ef44441a; border-radius:4px; background:#450a0a33; color:#fecaca; padding:2px 8px; font-size:10px; }
.stress-loop li:last-child .loop-tag { color:#fde68a; border-color:#f59e0b1a; background:#451a0333; }
.core-analysis .loop-caption { margin-top:12px; padding-top:8px; border-top:1px solid #ffffff0d; color:#c8b6ff; font-size:10px; font-style:italic; }
.loop-caption span { margin-right:6px; }
.core-analysis .report-body > h2 { color:#aab7c8; font:9px/1.5 var(--report-mono); letter-spacing:.1em; text-transform:uppercase; margin:0 0 12px; padding-left:4px; }
.core-analysis .report-body > .finding,.core-analysis .report-body > .report-empty { border:1px solid #ffffff0d; background:#ffffff03; border-radius:16px; padding:16px; margin:0 0 10px; }
.report-body > .finding { --somatic-accent:#c8b6ff; }
.report-body > .finding:nth-of-type(4n+2) { --somatic-accent:#9ad9d0; }
.report-body > .finding:nth-of-type(4n+3) { --somatic-accent:#f3d7c4; }
.report-body > .finding:nth-of-type(4n+4) { --somatic-accent:#99f6e4; }
.core-analysis .report-body .finding-title { display:flex; align-items:center; gap:8px; color:#fff; font:600 12px/1.5 var(--serif); margin:0 0 6px; }
.report-body .finding-title::before { content:''; flex:0 0 6px; height:6px; border-radius:50%; background:var(--somatic-accent); }
.report-body .finding-title + p { padding-left:14px; }
.core-analysis .report-body p { color:#aab7c8; font-size:11px; }
.core-analysis .report-support { border-color:#6366f11a; background:#1e1b4b33; }
.core-analysis .report-support > .eyebrow { margin-bottom:14px; }
.core-analysis .report-support h2 { font:600 12px/1.5 var(--serif); letter-spacing:0; margin-bottom:8px; }
.core-analysis .report-support p { font-size:11px; }
.report-first-steps { margin-top:12px; padding-top:12px; border-top:1px solid #c8b6ff1a; }
.core-analysis .report-first-steps h2,.core-analysis .report-first-steps p { color:#9ad9d0; }
.support-guidance { margin-top:12px; padding:12px; border:1px solid #ef44440d; border-radius:16px; background:#ef444405; }
.core-analysis .support-guidance h3 { display:flex; gap:4px; align-items:center; color:#fca5a5; font:10px/1.5 var(--report-mono); text-transform:uppercase; }
.core-analysis .support-guidance p { color:#fecacacc; font-size:11px; }
.report-gaps { margin-top:14px; padding-top:14px; border-top:1px solid #ffffff0d; }
.report-review-note { margin:24px 0 0; font-size:10px; color:#aab7c8; }
@media(min-width:640px) { .profile-grid { grid-template-columns:repeat(3,minmax(0,1fr)); } .profile-goals { grid-column:span 2; } }
@media(min-width:768px) { .core-analysis .report-profile { flex-direction:row; } .profile-avatar { align-self:flex-start; } }
@media(max-width:480px) {
  .experience-header { gap:8px; }
  .experience-indicator { padding:4px 8px; font-size:8px; }
  .report-private { font-size:8px; }
  .report-title > div { gap:8px; }
  .spectrum-help summary { font-size:8px; }
}

.experience-wordmark { font-size:32px; letter-spacing:-2px; flex-shrink:0; }
