/* Persona studio: same paper, forest green and brass as the academy. */
.persona-page{max-width:1320px;padding-top:clamp(28px,5vw,60px)}
#persona-builder{min-width:0;overflow-wrap:anywhere}
#persona-builder *,#persona-builder *::before,#persona-builder *::after{box-sizing:border-box}
.pb-heading{max-width:760px;margin-bottom:34px}
.pb-heading h1{font-size:clamp(30px,4.2vw,48px);letter-spacing:-1.6px;margin:10px 0 17px;scroll-margin-top:110px}
.pb-heading>p{font-size:14px;line-height:1.95;max-width:680px}
.pb-heading .pb-intro-note{display:inline-block;margin-top:16px;padding:9px 13px;border-inline-start:2px solid var(--gold,#a88b50);background:#eeeee3;color:#435c4b;font-size:12px}
.pb-layout{display:grid;grid-template-columns:200px minmax(0,1fr);gap:32px;align-items:start}
.pb-steps{display:flex;flex-direction:column;border-top:1px solid #c5cbbb;position:sticky;top:110px}
.pb-step{display:flex;align-items:center;text-align:start;gap:13px;width:100%;min-height:66px;padding:14px 12px;border-bottom:1px solid #d4d8ca;color:#626e5c;font-size:12px;line-height:1.6}
.pb-step-no{font:italic 21px/1.2 Georgia,serif;color:#9d8754;flex-shrink:0}
.pb-step[aria-current=step]{color:#f9f5e9;background:#203b34;border-color:#203b34}
.pb-step[aria-current=step] .pb-step-no{color:#ddc896}
.pb-step:hover:not([aria-current]){background:#eeeee3;color:#203b34}
.pb-workspace{min-width:0}
.pb-panel{padding:clamp(20px,3vw,38px);border:1px solid #d1d6c7;background:#fffefa;box-shadow:0 8px 30px #273c2810;min-width:0}
.pb-kicker{display:block;font-size:10px;font-weight:600;letter-spacing:1.4px;color:#8d7345;margin-bottom:9px}
.pb-panel h2{font-size:clamp(23px,2.5vw,30px);margin-bottom:12px;letter-spacing:-.7px;scroll-margin-top:112px}
.pb-muted{font-size:13px;line-height:1.9;color:#677060}
.pb-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:25px 22px;margin-top:29px}
.pb-field,.pb-wide{min-width:0}
.pb-wide{grid-column:1/-1}
.pb-field label{display:flex;flex-wrap:wrap;gap:5px 10px;align-items:baseline;font-size:13px;font-weight:650;color:#273f32;margin-bottom:8px}
.pb-field-note{font-size:10px;font-weight:400;color:#75806b}
#persona-builder input:not([type=radio]):not([type=checkbox]),#persona-builder select,#persona-builder textarea{display:block;width:100%;max-width:100%;min-width:0;border:1px solid #bfc7b5;border-radius:3px;background:#fff;color:#233c32;padding:11px 12px;font:14px/1.7 var(--sans,sans-serif);box-shadow:none}
#persona-builder input:not([type=radio]):not([type=checkbox]),#persona-builder select{min-height:48px}
#persona-builder textarea{resize:vertical;min-height:100px;overflow-wrap:anywhere;word-break:normal}
#persona-builder textarea[readonly]{background:#faf8f0}
#persona-builder input[aria-invalid=true],#persona-builder textarea[aria-invalid=true],#persona-builder select[aria-invalid=true]{border-color:#a54936;background:#fffaf7}
#persona-builder :is(button,a,input,select,textarea):focus-visible{outline:3px solid #a88b50;outline-offset:3px}
.pb-help{font-size:11px;line-height:1.85;color:#6f7868;margin-top:7px}
.pb-error{font-size:12px;color:#983d2c;margin-top:5px}
.pb-error-summary{padding:12px 15px;margin-bottom:16px;color:#843d2d;background:#fbefe8;border-inline-start:3px solid #a95138;font-size:13px}
.pb-modes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;border:0;margin:26px 0 20px;padding:0;min-width:0}
.pb-modes legend{font-size:12px;font-weight:600;margin-bottom:10px;padding:0;color:#4e5c48}
.pb-mode-option{display:flex;align-items:flex-start;gap:10px;padding:17px 15px;border:1px solid #cbd0c0;background:#fafaf5;cursor:pointer;min-width:0}
.pb-mode-option.is-selected{border-color:#42614a;background:#eef1e6;box-shadow:inset 0 0 0 1px #42614a}
.pb-mode-option input[type=radio]{flex:0 0 auto;width:17px;height:17px;accent-color:#355940;margin-top:3px}
.pb-mode-copy{min-width:0}
.pb-mode-copy strong{display:block;font-size:13px;line-height:1.7}
.pb-mode-copy>span{display:block;margin-top:5px;font-size:11px;color:#67735e;line-height:1.8}
.pb-soft-note{padding:15px 17px;margin-top:24px;background:#f0eee3;border-inline-start:2px solid #b49b67;font-size:12px;color:#665b43;line-height:1.9}
.pb-templates{margin:27px 0 6px;padding-bottom:25px;border-bottom:1px solid #dedecf}
.pb-templates h3,.pb-first-action h3{font-family:var(--serif,serif);font-size:17px;font-weight:550}
.pb-template-buttons{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.pb-template{padding:10px 13px;min-height:44px;border:1px solid #d0c5a8;background:#fcfaf0;font-size:11px;color:#6c5934;line-height:1.6;text-align:start}
.pb-template:hover{background:#ece7d4;border-color:#a58b50}
.pb-confirm{margin:18px 0;padding:18px;border:1px solid #b9a578;background:#f4efdc;scroll-margin-top:110px}
.pb-confirm strong{display:block;font-size:13px;color:#53442c}
.pb-confirm .pb-actions{margin-top:12px}
.pb-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;max-width:100%;padding:11px 18px;border:1px solid #aebda3;background:#fffef8;color:#304b35;font-size:12px;font-weight:550;line-height:1.65;text-align:center;white-space:normal}
.pb-button:hover{background:#eaf0e3;border-color:#6b815d}
.pb-button.pb-primary{background:#203b34;color:#f9f4e6;border-color:#203b34}
.pb-button.pb-primary:hover{background:#345447}
.pb-button.pb-subtle{background:transparent;color:#6c6859;border-color:#d4d1c0}
.pb-actions{display:flex;flex-wrap:wrap;gap:9px;align-items:center;margin-top:17px}
.pb-step-actions{display:flex;align-items:center;flex-wrap:wrap;gap:15px;margin-top:20px;padding:0 0 25px;border-bottom:1px solid #d4d9c8}
.pb-progress{font-size:11px;color:#7a806d;margin-inline-end:auto}
.pb-status{color:#406144;font-size:12px;line-height:1.8;margin-top:13px}
.pb-status:empty{display:none}
.pb-storage{padding:24px 0 10px}
.pb-storage h2{font-family:var(--sans,sans-serif);font-size:14px;font-weight:600;line-height:1.7}
.pb-storage>.pb-help{max-width:680px}
.pb-storage .pb-button{font-size:11px;padding-inline:13px}
.pb-output-label{display:block;font-size:12px;font-weight:600;margin-top:24px;margin-bottom:9px;color:#785f37}
#persona-builder .pb-output{min-height:365px;font-size:13px;line-height:1.9;padding:18px;background:#f8f4e9;border-color:#c6b990}
.pb-first-action{margin-top:31px;padding-top:25px;border-top:1px solid #d7d8c8}
#persona-builder #pb-first-action{min-height:75px;margin:13px 0;font-size:12px}
.pb-completion-actions{margin-top:22px;gap:12px}
.pb-completion-actions .pb-button{min-height:50px;font-size:13px}
.pb-completion-actions+.pb-help{margin-top:10px}
@media(max-width:950px){.pb-layout{grid-template-columns:1fr;gap:20px}.pb-steps{position:static;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid #d4d8ca}.pb-step{border-bottom:0;padding:12px 10px;gap:9px;min-height:60px}.pb-step+.pb-step{border-inline-start:1px solid #d4d8ca}.pb-step-no{font-size:19px}}
@media(max-width:580px){.persona-page{padding-inline:18px}.pb-heading{margin-bottom:23px}.pb-heading h1{font-size:31px;letter-spacing:-1px}.pb-heading>p{font-size:12px}.pb-heading .pb-intro-note{font-size:11px}.pb-step{flex-direction:column;gap:6px;align-items:flex-start;justify-content:center;font-size:10px;padding:11px;line-height:1.65}.pb-step-no{font-size:18px}.pb-panel{padding:21px 17px}.pb-fields{grid-template-columns:minmax(0,1fr);gap:23px;margin-top:25px}.pb-modes{grid-template-columns:minmax(0,1fr)}.pb-field label{font-size:12px}.pb-actions .pb-button{flex:1 1 130px}.pb-step-actions{gap:10px}.pb-step-actions .pb-button{padding:10px 12px;font-size:11px}.pb-progress{font-size:10px}.pb-template-buttons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.pb-template{font-size:10px;padding:10px}.pb-storage .pb-actions{gap:7px}.pb-storage .pb-button{flex:1 1 120px;font-size:10px}#persona-builder input:not([type=radio]):not([type=checkbox]),#persona-builder select,#persona-builder textarea{font-size:16px}#persona-builder .pb-output{font-size:13px;padding:13px}#persona-builder #pb-first-action{font-size:13px}.pb-completion-actions .pb-button{flex:1 1 100%;width:100%}}
@media(prefers-reduced-motion:reduce){#persona-builder *{scroll-behavior:auto!important}}
/* v2.6: a short automatic-draft path with editable, disclosure-based detail fields. */
.pb-draft-tools{margin-top:29px;padding:22px;background:#eef1e6;border:1px solid #c1cbb4;border-inline-start:3px solid #8c9b71}
.pb-draft-tools h3{font-family:var(--serif,serif);font-size:19px;font-weight:550;line-height:1.6}
.pb-draft-tools>.pb-button{margin-top:16px}
.pb-draft-tools>.pb-button+.pb-button{margin-inline-start:8px}
.pb-draft-profile{margin-top:18px;max-width:430px}
.pb-draft-tools .pb-confirm{margin-bottom:0;background:#f8f1dc}
.pb-ability-details{margin-top:24px;padding:0;border:1px solid #d2d7c8;background:#fffefa}
.pb-ability-details>summary{padding:17px 20px;cursor:pointer;font-size:13px;font-weight:600;color:#39523e;line-height:1.8;min-height:55px}
.pb-ability-details>summary::marker{color:#9b8047}
.pb-ability-details>summary:focus-visible{outline:3px solid #a88b50;outline-offset:3px}
.pb-ability-details[open]>summary{border-bottom:1px solid #d9ddcf;background:#f7f6ed}
.pb-ability-details>.pb-help{margin:18px 20px 0}
.pb-ability-details>.pb-fields{margin:22px 20px 24px}
@media(max-width:580px){.pb-draft-tools{padding:18px 15px}.pb-draft-tools h3{font-size:17px}.pb-draft-tools>.pb-button{width:100%}.pb-draft-tools>.pb-button+.pb-button{margin-inline-start:0}.pb-ability-details>summary{padding:15px;font-size:12px}.pb-ability-details>.pb-help{margin-inline:15px}.pb-ability-details>.pb-fields{margin-inline:15px}}

/* v2.8: live drafting with explicit ownership and material choices. */
.pb-live-toggle{display:flex;align-items:center;gap:10px;margin-top:16px;font-size:13px;font-weight:600;cursor:pointer;min-height:44px}
#persona-builder .pb-live-toggle input[type=checkbox]{appearance:auto;display:inline-block;width:18px;height:18px;min-height:0;flex:none;padding:0;accent-color:#355940}
.pb-source{display:inline-block;font-size:10px;font-weight:500;line-height:1.6;padding:2px 7px;border-radius:3px;background:#e9eee0;color:#3d583e}
.pb-source:empty{display:none}
.pb-field-reset{display:inline-block;min-height:36px;margin-top:5px;padding:5px 0;font-size:11px;color:#526747;text-decoration:underline;text-underline-offset:3px;text-align:start}
#persona-builder [hidden]{display:none!important}
.pb-draft-notice{margin-top:16px;padding-top:12px;border-top:1px solid #c9d1bd;font-size:12px;line-height:1.85;color:#455c3e}
.pb-draft-notice.is-conflict{color:#923e2f;border-top-color:#cba693}
.pb-field>.pb-field{margin-top:10px}
/* v3: show what a chosen model does before opening its full operating details. */
.pb-model-preview{margin-top:20px;padding:18px 20px;border:1px solid #d3c6a4;border-inline-start:3px solid #a88b50;background:#f8f4e8}
.pb-model-preview h3{font-family:var(--sans,sans-serif);font-size:14px;font-weight:650;line-height:1.7;color:#294437}
.pb-model-effect{margin-top:12px;color:#294437;font-size:13px;line-height:1.9;white-space:pre-line}
.pb-model-duration{margin-top:12px;padding-top:10px;border-top:1px solid #e0d7c3;color:#6b5d3e;font-size:12px;line-height:1.8;white-space:pre-line}
.pb-model-duration:empty{display:none}
@media(max-width:580px){.pb-model-preview{padding:16px 15px}.pb-model-effect{font-size:12px}}
/* v3.1: any model, element or attribute; traits and properties are optional checkable chips. */
.pb-traits{margin:0;padding:18px 20px 16px;border:1px solid #d3c6a4;border-inline-start:3px solid #a88b50;background:#fbf8ee;min-width:0}
.pb-traits>legend{float:inline-start;width:100%;padding:0;margin:0;font-size:13px;font-weight:650;line-height:1.7;color:#273f32}
.pb-traits>legend+.pb-help{clear:both;margin-top:0;padding-top:4px}
.pb-trait-group{margin-top:14px}
.pb-trait-group-title{font-size:11px;font-weight:600;letter-spacing:.2px;line-height:1.6;color:#6c5934;margin-bottom:8px}
.pb-trait-list{display:flex;flex-wrap:wrap;gap:8px}
#persona-builder .pb-traits .pb-trait{display:inline-flex;align-items:center;gap:8px;min-height:40px;margin:0;padding:7px 12px;border:1px solid #c9cfbd;border-radius:3px;background:#fffefa;color:#304b35;font-size:12px;font-weight:500;line-height:1.5;cursor:pointer;max-width:100%}
#persona-builder .pb-trait input[type=checkbox]{appearance:auto;display:inline-block;width:16px;height:16px;min-height:0;margin:0;padding:0;flex:none;accent-color:#355940;cursor:inherit}
#persona-builder .pb-traits .pb-trait.is-on{border-color:#42614a;background:#eef1e6;box-shadow:inset 0 0 0 1px #42614a}
#persona-builder .pb-traits .pb-trait.is-off{opacity:.55;cursor:not-allowed}
#persona-builder .pb-traits .pb-trait.is-locked{background:#f3f1e8}
#persona-builder .pb-traits .pb-trait:not(.is-off):hover{border-color:#6b815d}
.pb-traits-note{margin-top:14px;font-size:12px;line-height:1.85;color:#455c3e}
.pb-traits-note:empty{display:none}
.pb-traits-reset{margin-top:2px}
@media(max-width:580px){.pb-traits{padding:16px 14px 14px}#persona-builder .pb-traits .pb-trait{font-size:11px;padding:7px 10px}}
