:root{
  --ink:#24333B; --muted:#61707A; --paper:#FCFDFC; --white:#fff; --rule:#D7E2DC;
  --accent:#0F7F7A; --accent-dark:#0A5D59; --navy:#2F3A44; --soft:#F1F6F3; --warn:#FFF6DF; --danger:#FFF0F0;
  --sage:#B7CBB0; --teal-soft:#EAF4F2; --shadow:0 18px 50px rgba(47,58,68,.08);
  --serif: Georgia, 'Times New Roman', serif; --sans: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}
*{box-sizing:border-box}html,body{margin:0;padding:0;background:linear-gradient(180deg,#fff 0%,var(--paper) 26%,#F5F9F7 100%);color:var(--ink);font-family:var(--sans);line-height:1.52}body{min-height:100vh}
a{color:var(--accent-dark)}button,input,textarea,select{font:inherit}
.hidden{display:none!important}.muted{color:var(--muted)}.fine{font-size:.86rem;color:var(--muted)}
.journal-kicker{text-transform:uppercase;letter-spacing:.12em;font-size:.73rem;font-weight:750;color:var(--accent)}
.app-brand-row{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:34px}
.app-lockup{display:inline-flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink);font-size:1.2rem;font-weight:750;letter-spacing:-.025em}
.app-lockup img{width:46px;height:37px;object-fit:contain}
.back-site{font-size:.84rem;color:var(--muted);text-decoration:none}.back-site:hover{color:var(--accent)}
.session-brand .brand img{width:38px;height:31px;object-fit:contain}.session-brand .brand span{display:grid;gap:2px}.session-brand .brand .journal-kicker{font-size:.58rem;color:var(--accent);line-height:1}
.app-legal-footer{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px 24px;align-items:start}.app-legal-footer nav{display:flex;gap:16px;flex-wrap:wrap}.app-legal-footer nav a{text-decoration:none;color:var(--muted)}.app-legal-footer nav a:hover{color:var(--accent)}.app-legal-footer>div:last-child{grid-column:1/-1;font-size:.75rem;color:#82908A}
.app-footer-links{display:flex;gap:14px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.app-footer-links a{text-decoration:none;color:var(--muted)}.app-footer-links a:hover{color:var(--accent)}

.landing-shell{max-width:1120px;margin:0 auto;padding:42px 28px 42px}.masthead{border-bottom:1px solid var(--rule);padding:14px 0 30px}.masthead h1{font:680 clamp(2.3rem,5.4vw,4.4rem)/1.02 var(--sans);letter-spacing:-.045em;margin:.35rem 0 1rem;max-width:900px}.dek{font:400 1.12rem/1.6 var(--sans);max-width:830px;margin:0;color:#506068}.landing-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:36px}
.paper-panel{background:rgba(255,255,255,.88);border:1px solid var(--rule);padding:28px;border-radius:22px;box-shadow:var(--shadow)}.paper-panel h2{font:700 1.55rem/1.2 var(--serif);margin:0 0 13px}.paper-panel h3{font:700 1.15rem/1.3 var(--serif)}
label{display:block;font-weight:650;font-size:.92rem;margin:16px 0 5px}input[type=text],input[type=number],select,textarea{width:100%;border:1px solid #aaa59b;background:#fff;padding:11px 12px;border-radius:10px;color:var(--ink)}textarea{min-height:118px;resize:vertical}.helper{font-size:.86rem;color:var(--muted);margin-top:5px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;border:1px solid var(--ink);background:#fff;color:var(--ink);padding:10px 16px;cursor:pointer;border-radius:11px;font-weight:700;text-decoration:none}.btn:hover{background:#F0F6F3}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-primary{background:linear-gradient(135deg,var(--accent),#19A39C);border-color:var(--accent);color:#fff;box-shadow:0 10px 24px rgba(15,127,122,.18)}.btn-primary:hover{background:linear-gradient(135deg,var(--accent-dark),var(--accent))}.btn-danger{border-color:var(--accent);color:var(--accent-dark)}.text-button,.text-link{border:0;background:none;padding:0;color:#444;text-decoration:underline;cursor:pointer;font-size:.9rem}.token-box{margin-top:20px;border-top:1px solid var(--rule);padding-top:18px}.token-box code{display:block;word-break:break-all;background:#F1F6F3;border:1px dashed #9BB6AD;padding:13px;font-size:1rem;margin:7px 0 10px}.site-note{border-top:1px solid var(--rule);margin-top:42px;padding-top:18px;color:var(--muted);font-size:.86rem}
.topbar{max-width:1280px;margin:0 auto;border-bottom:1px solid var(--rule);padding:18px 28px 16px;display:flex;justify-content:space-between;gap:25px;align-items:center;background:linear-gradient(180deg,#fff 0%,var(--paper) 26%,#F5F9F7 100%);position:sticky;top:0;z-index:20}.brand{display:inline-flex;align-items:center;gap:9px;font:700 1.35rem var(--sans);color:var(--ink);text-decoration:none}.top-actions{display:flex;gap:18px;align-items:center}.app-shell{max-width:1040px;margin:0 auto;padding:24px 28px 60px}.meta-strip{display:flex;gap:18px;flex-wrap:wrap;font-size:.8rem;color:var(--muted);border-bottom:1px solid var(--rule);padding:0 0 13px;margin-bottom:22px}.meta-chip{padding-right:18px;border-right:1px solid var(--rule)}.app-footer{max-width:1040px;margin:0 auto;padding:18px 28px 40px;border-top:1px solid var(--rule);display:flex;justify-content:space-between;color:var(--muted);font-size:.78rem}
.alert{padding:13px 15px;margin:12px 0 20px;border-left:4px solid var(--navy);background:#EEF6F4}.alert.error{border-color:var(--accent);background:var(--danger);color:#64111d}.alert.warning{border-color:#a56a00;background:var(--warn)}.alert.urgent{border-color:#b00020;background:#fff0f1;color:#5c0715;font-weight:650}

.research-compass{margin:0 0 22px;background:#fff;border:1px solid var(--rule);border-top:3px solid var(--accent);padding:18px 22px;border-radius:16px;box-shadow:0 8px 24px rgba(47,58,68,.05)}.research-compass .compass-head{display:flex;justify-content:space-between;gap:18px;align-items:start}.research-compass h2{font:700 1.2rem/1.25 var(--serif);margin:.15rem 0 .35rem}.research-compass .compass-summary{font:400 .98rem/1.5 var(--serif);color:#33484F;max-width:800px}.research-compass .compass-version{font-size:.75rem;color:var(--muted);white-space:nowrap}.research-compass details{margin-top:10px;border-top:1px solid var(--rule);padding-top:9px}.research-compass summary{cursor:pointer;font-size:.82rem;font-weight:700;color:var(--navy)}.agenda-list{margin:8px 0 0;padding-left:18px;font-size:.86rem;color:#444}.agenda-list li{margin:5px 0}.agenda-status{font-size:.68rem;text-transform:uppercase;letter-spacing:.06em;color:var(--accent);font-weight:800}.objective-link{font-size:.82rem;color:var(--muted);margin-top:5px}.choice-detail{margin:9px 0 2px;padding:9px 11px;border-left:2px solid #c9c3b8;background:#F7FAF8}.choice-detail label{margin:0 0 4px;font-size:.8rem}.choice-detail input[type=text],.choice-detail textarea{margin:0;min-height:auto}.choice-detail textarea{min-height:76px}.turn-structured{margin-top:7px;font-size:.9rem;color:#33484F;background:#F3F8F5;padding:8px 10px;border-left:2px solid #d4cec2;white-space:pre-wrap}
.progress-wrap{margin:6px 0 25px}.progress-caption{display:flex;justify-content:space-between;font-size:.79rem;color:var(--muted);margin-bottom:6px}.progress-track{height:5px;background:#e7e3da}.progress-bar{height:5px;background:var(--accent);width:0;transition:width .35s ease}.research-thread{position:relative;margin:8px 0 20px;padding-left:18px;border-left:1px solid #cfcac0}.trace-item{position:relative;padding:0 0 18px 18px}.trace-item:before{content:'';position:absolute;width:7px;height:7px;border-radius:50%;background:#757575;left:-22px;top:.45rem}.trace-item.milestone:before{background:var(--accent);width:9px;height:9px;left:-23px}.trace-item.urgent:before{background:#c60022}.trace-time{font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;color:#888}.trace-text{font:400 1rem/1.52 var(--serif);margin-top:2px}.turn-card{border-top:1px solid var(--rule);padding:18px 0}.turn-intent{font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;color:var(--accent);font-weight:750}.turn-q{font:700 1.08rem/1.42 var(--serif);margin:4px 0 6px}.turn-answer{color:#33484F;background:#F1F6F3;padding:10px 12px;border-left:2px solid #a7a299;white-space:pre-wrap}.turn-files{font-size:.82rem;color:var(--muted);margin-top:6px}
.processing-panel{display:flex;gap:14px;align-items:center;border:1px solid var(--rule);background:#fff;padding:16px;margin:18px 0;border-radius:14px}.spinner{width:20px;height:20px;border:2px solid #ddd;border-top-color:var(--accent);border-radius:50%;animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
.question-panel{margin-top:18px}.intent-note{border-left:3px solid var(--accent);padding-left:12px;color:#4c4c4c;font:400 .98rem/1.5 var(--serif);margin:0 0 22px}.question-item{padding:20px 0;border-top:1px solid var(--rule)}.question-item:first-of-type{border-top:0}.question-prompt{font:700 1.16rem/1.45 var(--serif);margin:0 0 5px}.option-list{display:grid;gap:7px;margin:10px 0}.option{display:flex;gap:9px;align-items:flex-start;border:1px solid var(--rule);background:#fff;padding:9px 11px;border-radius:10px}.option input{margin-top:4px}.fallback-box{margin-top:12px;padding:13px;background:#F4F8F5;border:1px dashed #b8b2a8}.fallback-prompt{font:650 .98rem/1.45 var(--serif);margin:8px 0 3px}.upload-row{padding:11px 0}.submit-row{display:flex;gap:12px;align-items:center;border-top:1px solid var(--rule);padding-top:18px;margin-top:18px}
.closed-note{font:400 1.05rem/1.55 var(--serif)}.countdown{font-weight:750;color:var(--accent-dark)}
.report-panel{background:#fff;border-top:5px solid var(--accent);padding:34px 42px;margin-top:22px;border-radius:18px;box-shadow:var(--shadow)}.report-panel h1,.report-panel h2,.report-panel h3,.report-panel h4{font-family:var(--serif);line-height:1.18}.report-panel h1{font-size:2.2rem;border-bottom:1px solid var(--rule);padding-bottom:14px}.report-panel h2{font-size:1.48rem;margin-top:2rem}.report-panel h3{font-size:1.15rem}.report-panel p,.report-panel li{font-family:var(--serif);font-size:1.02rem;line-height:1.66}.report-panel blockquote{margin:1.2rem 0;border-left:3px solid var(--accent);padding:.3rem 1rem;color:#444}.report-panel code{background:#EEF5F2;padding:1px 4px}.report-panel pre{overflow:auto;background:#F3F8F5;padding:14px}.report-table-wrap{overflow-x:auto}.report-table{border-collapse:collapse;width:100%;font-size:.9rem}.report-table th,.report-table td{border:1px solid #d3cfc6;padding:8px;vertical-align:top}.report-table th{background:#EEF5F2;text-align:left}.report-tools{display:flex;gap:12px;flex-wrap:wrap;margin:0 0 20px;padding-bottom:14px;border-bottom:1px solid var(--rule)}
.file-list{display:grid;gap:6px}.file-row{display:flex;justify-content:space-between;gap:12px;border-bottom:1px dotted #d2cec5;padding:7px 0;font-size:.86rem}
.intake-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 22px}.span-2{grid-column:1/-1}.sex-extra{background:#F1F6F3;padding:10px 12px;margin-top:8px}.usage-box{font-size:.8rem;color:var(--muted)}
@media(max-width:760px){.landing-grid,.intake-grid{grid-template-columns:1fr}.app-brand-row{align-items:flex-start}.back-site{margin-top:9px}.app-legal-footer{grid-template-columns:1fr}.app-legal-footer>div:last-child{grid-column:auto}.span-2{grid-column:auto}.landing-shell{padding:34px 18px}.topbar{padding:14px 18px;align-items:flex-start}.top-actions{flex-direction:column;gap:4px;align-items:flex-end}.app-shell{padding:18px 16px 50px}.report-panel{padding:24px 18px}.app-footer{padding:16px;flex-direction:column;gap:5px}.masthead h1{font-size:2.6rem}}
@media print{.topbar,.meta-strip,.progress-wrap,.research-thread,.processing-panel,.question-panel,.closed-panel,.app-footer,.report-tools,#app-alert{display:none!important}.app-shell{max-width:none;padding:0}.report-panel{box-shadow:none;border:0;padding:0}.report-panel a{color:#000;text-decoration:none}}
/* v0.3 access / payment UI */
.price-row{display:flex;align-items:baseline;gap:14px;margin:18px 0 0}.price-row del{color:#777;font:600 1rem var(--sans)}.price-row strong{font:750 2.15rem/1 var(--sans);letter-spacing:-.025em}.price-note{font-size:.78rem;color:var(--muted);margin:4px 0 18px}.discount-row{border-top:1px solid var(--rule);padding-top:12px;margin-top:12px}.discount-controls{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center}.discount-controls input{margin:0}.purchase-cta{width:100%;margin-top:18px;padding:13px 18px}.success-text{color:#27613b}.error-text{color:#8f172c}.soft-rule{border:0;border-top:1px solid var(--rule);margin:28px 0 20px}.principles-strip{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--rule);border-radius:18px;overflow:hidden;margin-top:34px;background:rgba(255,255,255,.72)}.principles-strip div{padding:19px 20px;border-right:1px solid var(--rule)}.principles-strip div:last-child{border-right:0}.principles-strip strong,.principles-strip span{display:block}.principles-strip strong{font:700 1rem var(--sans);margin-bottom:4px}.principles-strip span{font-size:.82rem;color:var(--muted)}
@media(max-width:760px){.principles-strip{grid-template-columns:1fr}.principles-strip div{border-right:0;border-bottom:1px solid var(--rule)}.principles-strip div:last-child{border-bottom:0}.discount-controls{grid-template-columns:1fr}}
/* =========================================================
   Research Compass — robust legacy-content fix
========================================================= */

.research-compass{
  width:100%;
  max-width:100%;
  min-width:0;
  overflow:hidden;
}

.research-compass .compass-head{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:18px;
  align-items:start;
  width:100%;
  min-width:0;
}

.research-compass .compass-head > div:first-child{
  width:100%;
  min-width:0;
  max-width:100%;
}

/* Force any legacy/generated content to wrap inside the card */
.research-compass h2,
.research-compass .compass-summary,
.research-compass .objective-link,
.research-compass details,
.research-compass summary,
.research-compass .agenda-list,
.research-compass .agenda-list li,
.research-compass .agenda-list span{
  min-width:0;
  max-width:100%;
  overflow-wrap:anywhere;
  word-wrap:break-word;
  word-break:break-word;
  white-space:normal;
}

.research-compass .compass-version{
  white-space:nowrap;
  flex:none;
}

@media(max-width:760px){

  .research-compass{
    padding:16px 17px;
  }

  .research-compass .compass-head{
    grid-template-columns:1fr;
    gap:7px;
  }

  .research-compass .compass-version{
    white-space:normal;
    text-align:left;
  }
}

/* =========================================================
   PAYMENT RECOVERY
========================================================= */

.payment-recovery-grid{
  grid-template-columns:minmax(0,680px) minmax(260px,1fr);
  align-items:start;
}

.payment-recovery-grid > *{
  min-width:0;
}


/* Tablet / mobile */

@media(max-width:820px){

  .payment-recovery-grid{
    grid-template-columns:minmax(0,1fr);
    gap:18px;
  }

}


/* Small phones */

@media(max-width:560px){

  .payment-recovery-grid{
    gap:14px;
  }

  .payment-recovery-grid .paper-panel{
    width:100%;
    min-width:0;
  }

  .payment-recovery-grid input{
    width:100%;
    max-width:100%;
    box-sizing:border-box;
  }

  .payment-recovery-grid .submit-row{
    width:100%;
  }

  .payment-recovery-grid .submit-row .btn,
  .payment-recovery-grid .submit-row a.btn{
    max-width:100%;
  }

}