
  :root{
    --bg:#f5f6f8;
    --card:#ffffff;
    --ink:#17202a;
    --muted:#667085;
    --line:#d8dee8;
    --accent:#234a76;
    --accent2:#eaf0f7;
    --success:#20613c;
    --danger:#8a2d2d;
    --shadow:0 8px 28px rgba(16,24,40,.08);
    --radius:14px;
  }
  *{box-sizing:border-box}
  body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;line-height:1.45}
  .shell{max-width:980px;margin:0 auto;padding:28px 18px 60px}
  .topbar{display:flex;gap:18px;align-items:flex-start;justify-content:space-between;margin-bottom:18px}
  .brand{font-size:18px;font-weight:700;letter-spacing:.1px}
  .study{font-size:13px;color:var(--muted);margin-top:4px}
  .pid{font-size:13px;color:var(--muted);text-align:right}
  .progress-wrap{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:14px 16px;margin-bottom:18px}
  .progress-row{display:flex;justify-content:space-between;gap:12px;align-items:center;font-size:13px;color:var(--muted);margin-bottom:9px}
  .bar{height:8px;background:#e8ebf0;border-radius:999px;overflow:hidden}
  .bar>div{height:100%;background:var(--accent);width:0%;transition:width .2s ease}
  .card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:34px 36px}
  h1{font-size:28px;line-height:1.2;margin:0 0 10px}
  h2{font-size:19px;margin:28px 0 10px}
  p{margin:10px 0}
  .lede{font-size:17px;color:#344054;max-width:760px}
  .muted{color:var(--muted)}
  .note{background:#f8fafc;border-left:4px solid #94a3b8;padding:12px 14px;border-radius:8px;margin:18px 0;color:#475467}
  .warning{background:#fff7ed;border-left:4px solid #d97706;padding:12px 14px;border-radius:8px;margin:18px 0;color:#7c2d12}
  .success{background:#eef8f1;border-left:4px solid #4b8c63;padding:12px 14px;border-radius:8px;margin:18px 0;color:#1f5135}
  label{display:block;font-weight:650;margin:18px 0 7px}
  .help{font-size:13px;color:var(--muted);margin-top:-2px;margin-bottom:7px}
  input[type=text],input[type=email],select,textarea{width:100%;border:1px solid #cfd6df;border-radius:9px;padding:11px 12px;font:inherit;background:#fff;color:var(--ink)}
  textarea{min-height:118px;resize:vertical}
  input:focus,select:focus,textarea:focus{outline:3px solid rgba(35,74,118,.12);border-color:var(--accent)}
  .grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
  .upload{border:1px dashed #b9c2cf;border-radius:10px;padding:14px 14px;margin:10px 0;background:#fbfcfd}
  .upload strong{display:block;margin-bottom:3px}
  .checkrow{display:flex;gap:10px;align-items:flex-start;margin:14px 0}
  .checkrow input{margin-top:4px}
  .actions{display:flex;gap:12px;justify-content:flex-end;margin-top:30px;padding-top:22px;border-top:1px solid #edf0f3}
  button{border:0;border-radius:9px;padding:11px 17px;font:inherit;font-weight:700;cursor:pointer}
  .primary{background:var(--accent);color:white}
  .secondary{background:#edf1f5;color:#233142}
  .ghost{background:transparent;color:var(--accent);padding-left:6px;padding-right:6px}
  button:disabled{opacity:.45;cursor:not-allowed}
  .small{font-size:13px}
  .step-tag{display:inline-block;font-size:12px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--accent);background:var(--accent2);padding:5px 8px;border-radius:999px;margin-bottom:14px}
  .orientation-box{border:1px solid #cbd5e1;border-radius:12px;padding:20px;background:#fafcff;margin:18px 0}
  .pep-box{border:1px solid #9fb1c7;background:#f9fbfd;border-radius:12px;padding:18px;margin:18px 0}
  .locked{border:1px solid #aac9b4;background:#f5fbf7;border-radius:12px;padding:18px;margin:18px 0}
  .footer{font-size:12px;color:var(--muted);text-align:center;margin-top:16px}
  .researcher{margin-top:14px;text-align:center}
  .researcher button{font-size:12px;font-weight:600;color:#667085;background:transparent;text-decoration:underline}
  .devpanel{display:none;background:#101828;color:#f2f4f7;border-radius:10px;padding:14px 16px;margin-top:12px;font-size:12px;white-space:pre-wrap}
  .resume-list{display:grid;gap:10px;margin:18px 0}
  .resume-item{border:1px solid var(--line);border-radius:10px;padding:13px 14px;background:#fbfcfd}
  @media(max-width:700px){.card{padding:24px 20px}.grid{grid-template-columns:1fr}.topbar{flex-direction:column}.pid{text-align:left}.actions{flex-direction:column-reverse}.actions button{width:100%}}
.reference-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:14px 0}
@media(max-width:760px){.reference-grid{grid-template-columns:1fr}}

.help-toggle{margin-top:10px;background:none;border:0;padding:0;color:#2b5dab;text-decoration:underline;cursor:pointer;font:inherit}
.help-panel{display:none;margin-top:10px;padding:12px 14px;border:1px solid #d9e1ea;border-radius:10px;background:#f7f9fb}
.help-panel.open{display:block}

.chat-shell{border:1px solid #d8dee7;border-radius:14px;overflow:hidden;background:#fff;margin:16px 0}
.chat-head{padding:12px 16px;background:#f5f7fa;border-bottom:1px solid #d8dee7;font-weight:700}
.chat-body{padding:16px;min-height:230px}
.bubble{max-width:82%;padding:11px 13px;border-radius:12px;margin:8px 0;line-height:1.45}
.bubble.user{margin-left:auto;background:#e9f1fb}
.bubble.ai{background:#f1f3f5}
.system-card{border:1px dashed #9ca8b6;background:#fafbfd;border-radius:12px;padding:14px;margin:14px 0}
.choice-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}
.choice{border:1px solid #cfd6df;background:#fff;border-radius:10px;padding:10px 12px}
.section-rule{height:1px;background:#e5e9ef;margin:22px 0}

/* Functional additions; study appearance follows the supplied wireframe. */
body{font-size:16px}.small,.help,.pid,.study,.progress-row{font-size:14px}
[hidden]{display:none!important} .error{color:#8a2d2d;background:#fff0f0;padding:14px;border-radius:8px;margin:12px 0}
#saveStatus{min-height:22px;text-align:right;color:#475467;font-size:14px;margin:8px 0} .locked p{white-space:pre-wrap;overflow-wrap:anywhere}
.file-list{padding:0;list-style:none}.file-list li{padding:8px 0;overflow-wrap:anywhere}a{color:#234a76}
button:focus-visible,a:focus-visible{outline:3px solid #234a76;outline-offset:3px}input[type=file]{max-width:100%;margin-top:10px}
.readonly-note{background:#f8fafc;padding:12px;border-radius:8px} .footer{font-size:13px} #screen:focus{outline:none}

/* Site Container v0.1: shared desktop/mobile navigation; no protocol state in CSS. */
.shell{max-width:1220px}
.site-layout{display:grid;grid-template-columns:230px minmax(0,1fr);gap:24px;align-items:start}
.site-body{min-width:0}
.section-menu{position:sticky;top:20px;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:12px}
.section-menu summary{display:none;font-weight:650;color:var(--ink);padding:8px;cursor:pointer}
.section-menu nav{display:block!important}
.nav-heading{font-size:13px;color:var(--muted);margin:4px 10px 12px;font-weight:650}
.section-list{list-style:none;margin:0;padding:0;display:grid;gap:5px}
.section-link{display:block;width:100%;text-align:left;background:transparent;border:1px solid transparent;padding:11px 10px;font-size:14px;font-weight:600;color:var(--ink)}
.section-link .section-status{display:block;font-weight:400;font-size:12px;color:var(--muted);margin-top:3px}
.section-link[aria-current=step]{background:var(--accent2);border-color:#cbd7e5;color:var(--accent)}
.section-link:disabled{opacity:1;cursor:default;color:var(--muted)}
.section-link:not(:disabled):hover{background:#f0f3f7}
.progress-row{margin:0;flex-wrap:wrap}
.skip-link{position:absolute;left:18px;top:-100px;background:white;padding:12px;z-index:10}
.skip-link:focus{top:10px}
@media(max-width:800px){
 .site-layout{grid-template-columns:minmax(0,1fr);gap:14px}
 .section-menu{position:static;padding:8px}
 .section-menu summary{display:list-item;margin-left:20px}
 .section-menu:not([open]) nav{display:none!important}
 .section-menu nav{padding-top:10px}
 .nav-heading{display:none}
 .shell{padding-top:18px}
}

.move-fields{display:flex;flex-wrap:wrap;gap:1rem;margin:1rem 0}.move-item{flex:1 1 160px;min-width:140px}.move-item input{width:100%}.move-item button{font-size:.85rem;margin-top:.4rem}.move-item:not(:last-child)::after{content:"→";display:block;text-align:right;color:#64748b}.review-area{border-top:1px solid #d5dae2;margin-top:1.5rem;padding-top:1rem}

/* Keep the independent situation option visually distinct from the help ladder. */
.help-toggle[data-help-level="6"] { display: block; margin-top: 14px; }

/* Guided refinement uses the existing shell and authorized stage controller. */
.refinement-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;align-items:start}
.refinement-layout section{min-width:0}.exact-text{white-space:pre-wrap;overflow-wrap:anywhere}
.refine-move{margin:10px 0}.move-controls{display:flex;gap:6px;margin-top:5px}.move-controls button{font-size:13px;padding:5px 9px}
.refine-move input{display:block;width:100%;font:inherit;padding:10px;border:1px solid var(--line);border-radius:8px}
.conversation{max-height:520px;overflow:auto;padding:6px;border:1px solid var(--line,#d5dde6);border-radius:12px}
.conversation:empty{border:0}.conversation article{margin:10px 0;padding:14px;border-radius:10px;background:#f1f5f9;overflow-wrap:anywhere}
.conversation article.faculty{background:#edf5f3}.conversation .turn-text{white-space:pre-wrap}.conversation .turn-heading{font-weight:700;margin:0 0 8px}
.proposal{border-top:1px solid #c7d4df;padding-top:12px;margin-top:12px}.proposal .actions{flex-wrap:wrap;gap:8px}
.checkbox-line{display:flex;align-items:flex-start;gap:10px;margin:16px 0}.checkbox-line input{width:auto;margin-top:4px}
#refineRun{margin:12px 0;color:#48566b}#refineMessage{min-height:110px}
@media(max-width:1000px){.refinement-layout{grid-template-columns:1fr}.conversation{max-height:450px}}

/* Revised-flow visuals are scoped; historical participant layout is unchanged. */
.conversational-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;align-items:start}
.conversational-layout>section{min-width:0}.pep-diagram-scroll{max-width:100%;overflow-x:auto;padding:8px 0;margin:12px 0;border:1px solid var(--line);border-radius:12px;background:#f8fafc}
.pep-diagram{display:block;color:var(--accent)}.pep-node{fill:white;stroke:#526e8c;stroke-width:1.5;filter:drop-shadow(0 3px 3px rgba(16,24,40,.1))}
.pep-node-label{fill:var(--ink);font:14px ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
.pep-link{stroke:var(--accent);stroke-width:1.6;fill:none}.pep-move-context,.pep-editor{margin:12px 0;padding:12px 14px;border:1px solid var(--line);border-radius:10px;background:#fff}
.pep-move-context>summary,.pep-editor>summary{cursor:pointer;font-weight:650}.pep-move-context .exact-text{margin-top:12px}.flow-edit-move{border-bottom:1px solid var(--line);padding-bottom:14px;margin-bottom:14px}
.flow-question{font-size:17px;font-weight:600;padding:12px 0}.flow-help{border-top:1px solid var(--line);padding-top:12px;flex-wrap:wrap}
#flowRun{color:var(--muted);margin:12px 0}.conversational-layout .actions{flex-wrap:wrap}
@media(max-width:1000px){.conversational-layout{grid-template-columns:1fr}.pep-diagram-scroll{min-width:0}}
/* Focused P11 candidate only; the default and downstream pages retain their layout. */
.shell:has(.focused-p11){max-width:1440px}
#screen:has(.focused-p11){padding:28px}
.focused-p11 .focused-layout{display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);gap:24px;align-items:start}
.focused-p11 .focused-layout>section{min-width:0}
.focused-p11 h2{margin:0 0 16px;font-size:20px}
.focused-p11 .focused-artifact{background:#f8fafc;border:1px solid var(--line);border-radius:12px;padding:18px}
.focused-p11 .focused-dialogue{border:1px solid #acbed2;border-radius:12px;padding:18px;box-shadow:0 4px 18px rgba(35,74,118,.07)}
.focused-p11 .conversation{min-height:340px;max-height:640px;padding:10px;background:#f8fafc;border:1px solid var(--line)}
.focused-p11 .conversation:empty{border:1px solid var(--line)}
.focused-p11 .conversation article{margin:0 0 16px;padding:16px}
.focused-p11 .conversation article.assistant{background:#eaf0f7;border-left:3px solid var(--accent)}
.focused-p11 .conversation article.faculty{margin-left:20px;background:#edf5f3}
.focused-p11 .focused-move{margin:14px 0;border:1px solid #a8b9cc;border-radius:10px;background:#fff;padding:14px;box-shadow:0 2px 6px rgba(16,24,40,.04)}
.focused-p11 .focused-move h3{margin:0 0 10px;font-size:17px;line-height:1.35;color:var(--accent)}
.focused-p11 .focused-move-number{font-size:12px;background:var(--accent2);border-radius:99px;padding:3px 7px;vertical-align:middle}
.focused-p11 .focused-context{border-top:1px solid var(--line);margin-top:20px;padding-top:12px}
.focused-p11 .focused-context h3{font-size:15px;margin:0 0 10px}
.focused-p11 .focused-response{margin-top:14px}
.focused-p11 .focused-response textarea{min-height:126px}
.focused-p11 .actions{justify-content:flex-start;gap:8px;flex-wrap:wrap;margin-top:14px;padding-top:12px}
.focused-p11 .focused-submit{justify-content:flex-end;border-top:0;padding-top:0}
.focused-p11 .focused-options button,.focused-p11 .flow-help button{font-size:13px;padding:9px 11px}
.focused-p11 .flow-help{border-top:1px solid var(--line);margin-top:20px}
.focused-p11 .proposal{padding:14px;background:#f8fafc;border:1px solid var(--line);border-radius:10px;margin:10px 0}
.focused-p11 .proposal .actions{border-top:0;padding-top:0;margin-top:10px}
.focused-p11 .focused-relationship-controls{margin-top:14px;padding:12px;border:1px solid var(--line);border-radius:10px}
.focused-p11 .focused-relationship-controls label{margin-top:10px;font-size:13px}
.focused-p11 .focused-relationship-controls button{margin-top:12px}
.focused-p11 .pep-editor[hidden]{display:none}
@media(max-width:800px){.focused-p11 .focused-layout{grid-template-columns:1fr}.focused-p11 .conversation{min-height:300px;max-height:520px}.focused-p11 .focused-artifact,.focused-p11 .focused-dialogue{padding:16px}}
