/* Membership gate — taken from mockup-membership-gate.html.
   The mockup's annotation chrome (.plate, .tag, .rulebar) is deliberately
   omitted: those were the commentary labels around each screen, not the UI. */

:root{
  --ground:#EDE9F4;--paper:#FDFCFE;--ink:#241F2E;--ink-soft:#5C5470;--ink-faint:#8B839B;
  --rule:#DDD6E8;--purple:#4E2582;--purple-mid:#7B52B0;--purple-wash:#F4F0FA;
  --brass:#A8823C;--brass-wash:#F7F1E4;--green:#2F7D5B;--green-wash:#EDF6F1;
  --serif:'Spectral',Georgia,serif;--sans:'Karla','Helvetica Neue',Arial,sans-serif;
}
*{box-sizing:border-box}
body{margin:0;background:var(--ground);color:var(--ink);font-family:var(--serif);font-size:17px;line-height:1.65}
:focus-visible{outline:2px solid var(--purple);outline-offset:2px}
button{font:inherit;cursor:pointer}
a{color:var(--purple)}

.shell{max-width:640px;margin:0 auto;padding:0 24px 46px}
/* Signed-in member pages use the stewards' width. Joining and signing in keep
   the narrow column: a short form reads better narrow. The lede is capped so
   a paragraph never runs the full width of a desktop screen. */
.shell.shell-member{max-width:1000px}
.shell-member .lede{max-width:72ch}
.crest{padding:32px 0 20px;text-align:center}
.seal{width:58px;height:58px;margin:0 auto 11px;border-radius:50%;border:1px solid var(--brass);display:flex;align-items:center;justify-content:center;position:relative}
.seal::after{content:"";position:absolute;inset:5px;border-radius:50%;border:1px solid rgba(168,130,60,.35)}
.seal span{font-family:var(--serif);font-size:.6rem;letter-spacing:.14em;color:var(--brass);text-transform:uppercase}
.trustname{font-family:var(--serif);font-weight:300;font-style:italic;font-size:.97rem;color:var(--purple)}

.rail{display:flex;gap:5px;margin-bottom:22px;font-family:var(--sans);font-size:.68rem}
.rail div{flex:1;text-align:center;padding:6px 3px;border-radius:2px;background:#E2DBEE;color:var(--ink-faint)}
.rail div.done{background:#D8CDE9;color:var(--purple)}
.rail div.here{background:var(--purple);color:#fff;font-weight:600}

.sheet{background:var(--paper);border:1px solid var(--rule);border-radius:4px;padding:36px 38px 30px}
@media (max-width:600px){.sheet{padding:26px 20px 24px}}
.sheet-head{margin-bottom:22px}
.sheet-head h1{font-family:var(--serif);font-weight:400;font-size:1.68rem;margin:0 0 7px;letter-spacing:-.01em;line-height:1.22}
.lede{font-family:var(--sans);font-size:.86rem;color:var(--ink-soft);line-height:1.65;margin:0 0 20px}

.field{margin-bottom:20px}
.field label{display:block;font-family:var(--sans);font-size:.79rem;font-weight:600;margin-bottom:6px}
input[type=text],input[type=email],input[type=password],input[type=number],input[type=tel],input[type=url],input[type=date],select,textarea{width:100%;font-family:var(--serif);font-size:1.02rem;background:#fff;border:1px solid var(--rule);border-radius:3px;padding:10px 12px;color:var(--ink)}
input:focus,select:focus,textarea:focus{border-color:var(--purple-mid);box-shadow:0 0 0 3px rgba(123,82,176,.11);outline:none}
.hint{font-family:var(--sans);font-size:.73rem;color:var(--ink-faint);margin-top:5px;line-height:1.55}
.err{font-family:var(--sans);font-size:.75rem;color:#A3282D;margin-top:5px}
input.has-err,textarea.has-err{border-color:#A3282D}

.choice{border:1px solid var(--rule);border-radius:4px;padding:15px 17px;margin-bottom:9px;background:#fff;display:flex;gap:14px;align-items:flex-start}
.choice:hover{border-color:var(--purple-mid)}
.choice.on{border-color:var(--purple-mid);border-width:1.5px;background:#FBF9FE}
.choice .body{flex:1}
.choice b{font-family:var(--sans);font-size:.88rem;font-weight:600;display:block;margin-bottom:2px}
.choice small{font-family:var(--sans);font-size:.76rem;color:var(--ink-soft);line-height:1.5;display:block}
.choice .tick{color:var(--purple-mid);font-size:1.05rem;align-self:center}

.quote{background:var(--purple-wash);border:1px solid #E3D9F3;border-radius:4px;padding:22px;text-align:center;margin-bottom:16px}
.quote .amt{font-family:var(--serif);font-size:2.05rem;color:var(--purple);line-height:1.05}
.quote .conv{font-family:var(--sans);font-size:.79rem;color:var(--ink-soft);margin-top:6px}
.quote .held{font-family:var(--sans);font-size:.71rem;color:var(--ink-faint);margin-top:11px}

.kv{display:flex;justify-content:space-between;gap:16px;padding:11px 0;border-bottom:1px solid #EFECF4;font-family:var(--sans);font-size:.79rem;align-items:baseline}
.kv:last-child{border-bottom:0}
.kv .k{color:var(--ink-faint)}
.kv .v{font-family:var(--serif);font-size:.98rem;text-align:right;word-break:break-all}
.copy{font-family:var(--sans);font-size:.68rem;color:var(--purple-mid);border:1px solid var(--rule);border-radius:3px;padding:2px 7px;margin-left:8px;background:#fff}
.copy:hover{border-color:var(--purple-mid)}

.optin{display:flex;gap:11px;align-items:flex-start;margin-bottom:14px;font-family:var(--sans);font-size:.82rem;line-height:1.6}
.box{width:16px;height:16px;border:1.5px solid var(--purple-mid);border-radius:3px;flex:0 0 auto;margin-top:2px}
.box.checked{background:var(--purple-mid)}

.btn{font-family:var(--sans);font-size:.85rem;font-weight:600;border:0;border-radius:24px;padding:12px 30px}
.btn-primary{background:var(--purple);color:#fff}
.btn-primary:hover{background:#3E1C69}
.btn-quiet{background:none;color:var(--ink-soft);padding:12px 0;font-weight:500;text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--rule)}
.foot{margin-top:26px;padding-top:20px;border-top:1px solid var(--rule);display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap}
.foot.center{justify-content:center}

.notice{border-left:2px solid var(--brass);background:var(--brass-wash);padding:14px 17px;font-family:var(--sans);font-size:.81rem;line-height:1.6;color:var(--ink-soft);margin-top:18px}
.what li{font-family:var(--sans);font-size:.85rem;color:var(--ink-soft);margin-bottom:9px;line-height:1.6}
.what{padding-left:19px;margin:0 0 4px}
.what b{color:var(--ink);font-weight:600}
.assurance{text-align:center;font-family:var(--sans);font-size:.74rem;color:var(--ink-faint);margin-top:20px;line-height:1.6}
.badge{display:inline-block;font-family:var(--sans);font-size:.67rem;font-weight:700;padding:3px 9px;border-radius:11px;background:var(--green-wash);color:var(--green);margin-bottom:12px}

/* .btn-quiet was written for anchors; on a <button> the browser adds its own
   border and it reads as a stray input. Same fix as the admin stylesheet. */
button.btn-quiet { border: 0; background: none; -webkit-appearance: none; appearance: none; }

/* Disabled fields read as information, not as something to type in. */
input:disabled { background:#F4F2F8; color:var(--ink-soft); cursor:default }

/* Intake rail steps are links; keep them looking like the rail, not like text. */
.rail a { color:var(--ink-faint); background:#E2DBEE }
.rail a.done { background:#D8CDE9; color:var(--purple) }
.rail a.here { background:var(--purple); color:#fff; font-weight:600 }
.rail a:hover { filter:brightness(.96) }

/* "Use example wording" is an offer worth seeing, not a faint link. */
.btn-canned {
  font-family: var(--sans); font-size: .78rem; font-weight: 600;
  background: var(--purple-wash); color: var(--purple);
  border: 1px solid #E3D9F3; border-radius: 20px; padding: 7px 16px; cursor: pointer;
}
.btn-canned:hover { background: #EDE5F8; border-color: var(--purple-mid) }

/* Repeater columns were squeezing their placeholder text. */
[data-repeater] [data-row] input { min-width: 0 }
@media (max-width: 560px) { [data-repeater] [data-row] { flex-wrap: wrap } }

/* Repeater rows: the second column was collapsing and clipping its placeholder.
   flex-basis gives each column a floor to grow from; below 560px they stack. */
[data-repeater] [data-row] { flex-wrap: wrap }
[data-repeater] [data-row] > input { flex: 1 1 14rem; min-width: 12rem }
[data-repeater] [data-row] > input:first-child { flex: 2 1 16rem }
[data-repeater] [data-row] > button { flex: 0 0 auto }

/* The real emblem replaces the MMT lettermark; no drawn ring needed. */
.seal-img { width:64px; height:64px; object-fit:contain; display:block; margin:0 auto 11px }

/* The public pages set a display scale the gate never had, so moving from
   the landing page into the gate read as stepping into a different site.
   These two rules carry that scale across; the sheet, rail and fields are
   unchanged, because a form flow wants form chrome. */
.sheet-head h1{
  font-weight:300;font-size:2.05rem;line-height:1.16;letter-spacing:-.018em;
  margin-bottom:10px;text-wrap:balance;
}
.lede{
  font-family:var(--serif);font-size:1.09rem;line-height:1.58;
  color:var(--ink);max-width:60ch;margin-bottom:22px;
}

/* The crest sits loose above the sheet; give it the brass rule the public
   pages use so the two halves of the site share one mark. */
.crest{display:flex;align-items:center;gap:22px;padding:34px 0 22px}
.crest::before,.crest::after{content:"";flex:1;border-top:1px solid var(--rule)}
.crest > a,.crest > .seal-img{flex:0 0 auto}
.seal-img{width:74px;height:74px;margin:0}
.trustname{display:none}

@media (max-width:620px){
  .sheet-head h1{font-size:1.7rem}
  .crest{gap:12px;padding:26px 0 18px}
  .seal-img{width:62px;height:62px}
}

/* ---------------------------------------------------------------
   Library picker: categories and their bundle tiles.
   A tile is a submit button wearing .choice's clothes, so the whole
   card is the tap target on a phone.
   --------------------------------------------------------------- */
.lib-cat{font-family:var(--sans);font-size:.82rem;font-weight:600;text-transform:uppercase;
  letter-spacing:.06em;color:var(--purple);margin:26px 0 4px}
.lib-cat:first-of-type{margin-top:14px}
.lib-cat-note{font-family:var(--sans);font-size:.78rem;color:var(--ink-soft);
  line-height:1.5;margin:0 0 11px}
.lib-tile{display:block;width:100%;text-align:left;border:1px solid var(--rule);
  border-radius:4px;padding:15px 17px;margin-bottom:9px;background:#fff;cursor:pointer;
  font:inherit;color:inherit;-webkit-appearance:none;appearance:none}
.lib-tile:hover{border-color:var(--purple-mid);background:#FBF9FE}
.lib-tile:active{border-color:var(--purple);background:var(--purple-wash)}
.lib-tile:focus-visible{outline:2px solid var(--purple-mid);outline-offset:2px}
.lib-tile b{font-family:var(--sans);font-size:.88rem;font-weight:600;display:block;
  margin-bottom:3px;color:var(--ink)}
.lib-tile small{font-family:var(--sans);font-size:.76rem;color:var(--ink-soft);
  line-height:1.5;display:block}
.lib-soon{font-family:var(--sans);font-size:.76rem;color:var(--ink-faint);
  font-style:italic;margin:0 0 9px;padding:13px 17px;border:1px dashed var(--rule);
  border-radius:4px}
@media (max-width:600px){
  .lib-tile{padding:16px 15px}
  .lib-tile b{font-size:.92rem}
}

/* Sharpen the two levels: category is a bounded section, tiles are its contents. */
.lib-cat{border-top:1px solid var(--rule);padding-top:20px;font-size:.74rem;
  letter-spacing:.11em;color:var(--ink-faint)}
.lib-cat:first-of-type{border-top:0;padding-top:0}
.lib-cat-note{margin-bottom:13px;color:var(--ink-soft)}
.lib-tile,.lib-soon{margin-left:14px;width:calc(100% - 14px)}
.lib-tile b{font-size:.95rem;letter-spacing:0}
@media (max-width:600px){
  .lib-tile,.lib-soon{margin-left:8px;width:calc(100% - 8px)}
}

/* The mark sits left of the tile's text, top-aligned with the title. */
.lib-tile{display:flex;gap:14px;align-items:flex-start}
.lib-mark{width:34px;height:34px;flex:0 0 34px;margin-top:1px}
.lib-body{flex:1;min-width:0}
@media (max-width:600px){.lib-mark{width:30px;height:30px;flex:0 0 30px}}

/* A quiet twin to .btn-primary, for the second of two choices. The outline is
   an inset shadow rather than a border so the two pills stay the same height —
   a 1px border would make this one taller and the pair would sit crooked. */
.btn-secondary { background: none; color: var(--purple);
                 box-shadow: inset 0 0 0 1px var(--purple-mid) }
.btn-secondary:hover { background: #EDE5F8 }

/* Separator between the two quiet links beneath the buttons. */
.assurance .sep { color: var(--rule); margin: 0 10px }

/* Air between the button row and the quiet links, so the links read as a
   footnote to the choice above rather than a third option in it. */
.foot + .assurance { margin-top: 20px }

/* The member's own unfinished work, set apart from the catalogue below it.
   Both used .lib-cat and so read as equals, when one is a shelf of things on
   offer and the other is the member's own evening's work waiting for them. */
.mine { background: #F7F4FB; border-left: 3px solid var(--purple-mid);
        border-radius: 4px; padding: 16px 18px 6px; margin: 0 0 34px }
.mine .lib-cat { color: var(--purple); margin-top: 0 }

/* Leading pass. 1.65 was generous on a phone, where the measure is short and
   the scroll is long. Body to 1.5, headings tighter, smaller text tighter
   still, since short lines need less air than long ones. */
body{line-height:1.5}
.lede{line-height:1.5}
.hint,.what li,.choice small,.assurance{line-height:1.45}
.sheet-head h1{line-height:1.14}

/* A draft's controls sat inline under its tile, putting Discard a thumb's
   width from the thing you tap to carry on. Own row, opposite ends. */
.draft-acts{display:flex;align-items:center;justify-content:space-between;
  gap:16px;margin:-2px 0 20px;padding:0 4px}
.draft-acts form{margin:0}
.draft-act{font-size:.76rem;padding:8px 0}
.draft-discard{color:var(--ink-faint);text-decoration-color:var(--rule)}
.draft-discard:hover{color:#A3282D}
.draft-note{font-size:.76rem;margin:0}

/* Removal is not navigation and should not look like it. Below the foot,
   behind its own rule, named for what it does. */
.remove-zone{margin-top:24px;padding-top:16px;border-top:1px solid var(--rule);
  text-align:center}
.remove-act{font-size:.8rem;color:var(--ink-faint);text-decoration-color:var(--rule)}
.remove-act:hover{color:#A3282D}
.remove-note{font-size:.74rem;margin:2px 0 0;color:var(--ink-faint)}

/* Intake rail on a narrow screen. Equal slices at .68rem stop being readable
   past four or five steps, and the wizard's length is the author's choice.
   Steps you are not on become progress bars; the one you are on keeps its
   name. Scoped to .sheet so the four-step join rail is untouched. */
@media (max-width:560px){
  .sheet .rail{align-items:center;gap:4px;font-size:.74rem;flex-wrap:nowrap}
  .sheet .rail a,.sheet .rail div{
    flex:1 1 0;min-width:0;height:6px;padding:0;border-radius:3px;
    overflow:hidden;white-space:nowrap;text-indent:-9999px}
  .sheet .rail a.here,.sheet .rail div.here{
    flex:5 1 auto;height:auto;padding:7px 11px;text-indent:0;
    text-overflow:ellipsis}
}

/* Intake rail. These were inline on the anchor, where no media query could
   reach them. */
.rail a.rail-step{flex:1;text-align:center;padding:6px 3px;border-radius:2px;
  text-decoration:none;font-family:var(--sans);font-size:.68rem}
@media (max-width:560px){
  .rail a.rail-step{flex:1 1 0;min-width:0;height:6px;padding:0;border-radius:3px;
    overflow:hidden;white-space:nowrap;text-indent:-9999px}
  .rail a.rail-step.here{flex:5 1 auto;height:auto;padding:7px 11px;
    text-indent:0;font-size:.74rem;text-overflow:ellipsis}
}
@media (max-width:560px){
  .rail a.rail-step.here{white-space:normal;text-overflow:clip;line-height:1.25;
    flex:4 1 auto;padding:6px 10px}
}

/* ---- Presentation system (TA 4.6 RG-1 UX-03 / UX-08), shared by every Scriptorium screen ----
   Regions, status messages, help, actions and identifiers each have one look. Soft surfaces with an
   uneven corner rather than hard four-cornered boxes; colour only where it carries meaning. */
.notice{margin-bottom:22px}
.status{font-family:var(--sans);font-size:.82rem;line-height:1.55;padding:12px 16px;border-radius:0 10px 10px 10px;margin:0 0 24px;color:var(--ink-soft);background:var(--brass-wash);border-left:3px solid var(--brass)}
.status-ok{background:var(--green-wash);color:#245C44;border-left-color:var(--green)}
.status-need{background:#F9F2F2;color:#7A2226;border-left-color:#A3282D}
.status b,.status strong{color:inherit}
.region{margin:30px 0 0}
.sheet-head + .region,.status + .region,.region:first-child{margin-top:0}
.region-head{font-family:var(--sans);font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--purple);margin:0 0 4px}
.region-note{font-family:var(--sans);font-size:.8rem;color:var(--ink-soft);margin:0 0 12px;max-width:72ch;line-height:1.5}
.surface{background:#F8F5FC;border-radius:0 12px 12px 12px;padding:16px 18px}
.surface + .surface{margin-top:12px}
.item{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:12px 0;border-bottom:1px solid #EFECF4;font-family:var(--sans)}
.item:last-child{border-bottom:0}
.item-main{flex:1;min-width:0}
.item-main b{display:block;font-size:.88rem;font-weight:600;color:var(--ink)}
.item-main small{display:block;font-size:.76rem;color:var(--ink-soft);line-height:1.45}
.meta{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.7rem;color:var(--ink-faint);letter-spacing:.02em}
.tag{display:inline-block;font-family:var(--sans);font-size:.66rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;padding:2px 8px;border-radius:0 8px 8px 8px;background:#EEE9F6;color:var(--purple)}
.tag-quiet{background:#F1EFF4;color:var(--ink-faint)}
.tag-need{background:#F9F2F2;color:#A3282D}
.tag-ok{background:var(--green-wash);color:var(--green)}
.btn-sm{font-size:.8rem;padding:8px 18px}
a.btn{display:inline-block;text-decoration:none;text-align:center}
.btn-secondary{border:1px solid var(--purple-mid)}
.actions{display:flex;gap:14px;align-items:center;flex-wrap:wrap;margin-top:12px}
.btn-lifecycle{background:none;border:0;padding:8px 0;font-family:var(--sans);font-size:.78rem;color:#8A2E33;text-decoration:underline;text-underline-offset:3px;text-decoration-color:#E3C6C8;cursor:pointer}
.lifecycle{margin-top:18px;padding-top:12px;border-top:1px dashed var(--rule);font-family:var(--sans);font-size:.78rem;color:var(--ink-soft)}
.lifecycle > summary{cursor:pointer;color:#8A2E33}
/* ? help: a term, a question or a stage, opened on demand and visibly set apart from the text around it */
details.tip{display:inline}
details.tip > summary{list-style:none;display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;margin-left:5px;border-radius:50%;border:1px solid var(--purple-mid);color:var(--purple-mid);font:700 .72rem var(--sans);cursor:pointer;vertical-align:middle;text-transform:none;letter-spacing:0}
details.tip > summary::-webkit-details-marker{display:none}
details.tip[open] > summary{background:var(--purple-mid);color:#fff}
.tip-body{display:block;font-family:var(--sans);font-size:.78rem;font-weight:400;text-transform:none;letter-spacing:0;line-height:1.5;color:var(--ink-soft);background:var(--purple-wash);padding:9px 13px;border-radius:0 10px 10px 10px;margin:6px 0 8px;max-width:62ch}
/* a question's plain prompt and practical help (RG-2 patterns), set apart from the label and the input */
.q-prompt{font-family:var(--sans);font-size:.88rem;color:var(--ink);margin:-2px 0 3px}
.q-help{font-family:var(--sans);font-size:.77rem;color:var(--ink-soft);line-height:1.5;margin:0 0 8px;padding-left:10px;border-left:2px solid #E3D9F3}
.q-help .q-example{color:var(--ink-faint)}
/* intake stages: every stage shown, each with where it stands */
.stages{display:flex;flex-wrap:wrap;gap:6px;margin:-14px 0 24px;padding:0;list-style:none;font-family:var(--sans)}
.stages li{flex:1 1 120px;min-width:0}
.stage{display:block;height:100%;padding:7px 10px;border-radius:0 8px 8px 8px;background:#EEE9F6;color:var(--ink-soft);font-size:.72rem;line-height:1.3;text-decoration:none}
.stage b{display:block;font-weight:600;color:inherit}
.stage small{display:block;font-size:.66rem;margin-top:2px}
a.stage:hover{filter:brightness(.97)}
.stage.here{background:var(--purple);color:#fff}
.stage.needs small{color:#A3282D}
.stage.here.needs small{color:#FFD9DB}
.stage.locked{opacity:.6}
.stage.final{background:var(--brass-wash);color:#6B5321}
.stage.final.here{background:var(--brass);color:#fff}
/* discovery and other question sets: groups, tile choices, consent apart */
.qset{border:0;padding:0;margin:0 0 26px}
.qset > legend{font-family:var(--sans);font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--purple);margin-bottom:10px;padding:0}
.q{margin:0 0 18px}
.q > .q-title{display:block;font-family:var(--sans);font-size:.9rem;font-weight:600;color:var(--ink);margin:0 0 2px}
.q > .q-why{display:block;font-family:var(--sans);font-size:.76rem;color:var(--ink-faint);margin:0 0 8px}
.opt{display:flex;gap:10px;align-items:center;border:1px solid var(--rule);border-radius:0 8px 8px 8px;padding:10px 12px;margin:0 0 6px;background:#fff;cursor:pointer;font-family:var(--sans);font-size:.86rem;font-weight:400}
.opt:hover{border-color:var(--purple-mid)}
.opt:has(input:checked){border-color:var(--purple-mid);background:#FBF9FE}
.opt input{accent-color:var(--purple-mid);width:17px;height:17px;flex:0 0 auto;margin:0}
.consent{background:var(--brass-wash);border-radius:0 12px 12px 12px;padding:14px 16px;margin:8px 0 0}
.consent h2{font-family:var(--sans);font-size:.82rem;font-weight:700;margin:0 0 8px;color:#6B5321}
.progress-note{font-family:var(--sans);font-size:.76rem;color:var(--ink-faint);margin:0 0 14px}
/* the general orientation: optional, collapsed for anyone who has begun */
details.orient{background:#F8F5FC;border-radius:0 12px 12px 12px;padding:12px 16px;margin:0 0 24px;font-family:var(--sans)}
details.orient > summary{cursor:pointer;font-size:.86rem;font-weight:600;color:var(--purple)}
details.orient ol{margin:10px 0 6px;padding-left:20px;font-size:.84rem;color:var(--ink-soft);line-height:1.55}
details.orient ol li{margin-bottom:8px}
details.orient ol b{color:var(--ink)}
.terms{display:grid;grid-template-columns:minmax(110px,max-content) 1fr;gap:4px 14px;font-size:.8rem;margin:8px 0 0;color:var(--ink-soft)}
.terms dt{font-weight:600;color:var(--ink)}
.terms dd{margin:0}
@media (max-width:600px){.terms{grid-template-columns:1fr}.terms dd{margin-bottom:6px}}
details.summary-box > summary{cursor:pointer;list-style:none}
details.summary-box > summary::-webkit-details-marker{display:none}
details.summary-box > summary::before{content:"\25B8";display:inline-block;width:1em;color:var(--purple-mid);transition:transform .15s}
details.summary-box[open] > summary::before{transform:rotate(90deg)}
/* Accessible status (TA 4.6): every status carries a text label and a shape of its own; colour only reinforces it.
   Text colours are at least 4.5:1 against their backgrounds. */
.st{display:inline-flex;align-items:center;gap:5px;font-family:var(--sans);font-size:.72rem;font-weight:600;line-height:1.3;padding:2px 9px 2px 3px;border-radius:0 9px 9px 9px;background:#F1EFF4;color:#4A4458;white-space:nowrap;vertical-align:middle}
.st-icon{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:50%;background:#fff;font-size:.7rem;font-weight:700;line-height:1}
.st-needs{background:#F9ECEC;color:#8E1F24}.st-needs .st-icon{background:#8E1F24;color:#fff}
.st-ready{background:#E6F2EC;color:#22603F}.st-ready .st-icon{background:#22603F;color:#fff}
.st-none{background:#F1EFF4;color:#4A4458}
.st-progress{background:#EEE9F6;color:#45206F}
.st-prepared{background:#E6F2EC;color:#22603F}
.st-archived{background:#F1EFF4;color:#4A4458;border:1px dashed #8B839B}
.st-suggested{background:#EEE9F6;color:#45206F}
.st-available{background:#F1EFF4;color:#4A4458}
.st-notind{background:#F7F6F8;color:#5C5470}
.stage .st{margin-top:4px;font-size:.66rem;background:rgba(255,255,255,.7)}
.stage.here .st{background:#fff}
/* Stage strip (P-01 walkthrough): a status wraps inside its segment rather than overflowing it; a stage not yet
   reached says how to reach it, and is plainly not a link. */
.stage .st{white-space:normal;max-width:100%;align-items:flex-start;text-align:left}
.stage .st .st-icon{flex:0 0 16px}
.stage b{overflow-wrap:anywhere}
.stage[aria-disabled="true"]{cursor:default;border:1px dashed #CFC8D6;background:#F7F5FA}
@media (max-width:600px){.stages li{flex:1 1 45%}}
/* RG-1 final findings: each term stays with its help; the stage strip on a phone shows numbers and shapes, with the
   current stage spelled out below it; text stays available to assistive technology; touch targets at least 44px. */
.term-pair{white-space:nowrap;display:inline-flex;align-items:center}
.term-pair .tip-body{white-space:normal}
.term-line{line-height:2}
.stage-current{display:none;font-family:var(--sans);font-size:.84rem;margin:-14px 0 20px;color:var(--ink)}
.stages a.stage:not(.here):hover{text-decoration:underline}
@media (max-width:600px){
  .stages{gap:6px;flex-wrap:wrap}
  .stages li{flex:0 0 auto}
  .stage{min-width:48px;min-height:48px;padding:6px 8px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;text-align:center}
  .stage b{font-size:.82rem}
  .stage .stage-name,.stage .st-text,.stage small{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;margin:-1px;padding:0;border:0}
  .stage .st{background:none;padding:0;margin:0}
  .stage .st-icon{width:18px;height:18px}
  .stage-current{display:block}
}
/* ---- Release polish (TA 4.6, pre-relaunch) ---- */
/* Icons: one line style, the size of the text beside them */
.ico{display:inline-block;vertical-align:-3px;flex:0 0 auto}
.region-head .ico{vertical-align:-4px;margin-right:2px}
.memberbar .ico{vertical-align:-4px;margin-right:5px;opacity:.85}
.btn .ico{vertical-align:-4px;margin-right:4px}
/* Area illustrations: subordinate to the page, hidden where the head is narrow */
.sheet{container-type:inline-size}
.sheet-head.with-art{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:start}
.area-art{width:150px;height:auto;color:var(--purple-mid);opacity:.38}
@container (max-width:560px){.area-art{display:none}.sheet-head.with-art{grid-template-columns:1fr}}
/* Collection: two columns where the content allows; one column otherwise, work in progress first */
.coll-layout{display:grid;grid-template-areas:"intro" "aside" "main";grid-template-columns:minmax(0,1fr);column-gap:34px}
.coll-intro{grid-area:intro}.coll-aside{grid-area:aside}.coll-main{grid-area:main}
.coll-aside{margin:0 0 6px}
@container (min-width:760px){
  .coll-layout{grid-template-columns:minmax(0,1fr) minmax(240px,300px);grid-template-areas:"intro aside" "main aside"}
  .coll-aside{align-self:start;position:sticky;top:14px;background:#F8F5FC;border-radius:0 14px 14px 14px;padding:16px 16px 6px}
  .coll-aside .surface{background:#fff}
  .coll-aside .item{flex-wrap:wrap}
}
/* Preparation progress */
.progress-summary{display:flex;flex-wrap:wrap;gap:6px}
/* How the arrangements relate */
figure.arch{margin:0;font-family:var(--sans)}
.arch-row{display:flex;flex-wrap:wrap;gap:8px;align-items:stretch;margin:0 0 10px}
.arch-label{flex:1 1 100%;margin:0;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-faint)}
.arch-box{flex:1 1 150px;min-width:0;background:#fff;border:1px solid var(--rule);border-radius:0 10px 10px 10px;padding:8px 10px}
.arch-box b{display:block;font-size:.84rem;color:var(--ink)}
.arch-box small{display:block;font-size:.74rem;color:var(--ink-soft);line-height:1.4;margin-top:2px}
.arch-supp{border-style:dashed}
figure.arch figcaption{font-size:.78rem;color:var(--ink-soft);line-height:1.5;margin-top:4px}
/* Library kinds: each term, its mark and its meaning on one line of a short list */
.kinds{display:grid;grid-template-columns:auto auto 1fr;gap:6px 10px;align-items:center;margin:18px 0 6px;font-family:var(--sans);font-size:.8rem;color:var(--ink-soft)}
.kinds dt{display:contents}
.kinds dd{margin:0}
@container (max-width:480px){.kinds{grid-template-columns:auto 1fr}.kinds .kind-ico{display:none}}
/* Accessibility pass (axe, WCAG 2 AA at 390/768/1280px): faint text and the review segment darkened to at least 4.5:1;
   a question set may shrink below its widest input, so nothing scrolls sideways on a phone. */
:root{--ink-faint:#6B6479}
.stage.final.here{background:#7E5F22}
.qset{min-width:0}
.qset input[type=text]{max-width:100%;box-sizing:border-box}
/* an arrangement's summary line: name at the left, its statuses pushed right */
details.summary-box > summary{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 8px;justify-content:flex-start;text-align:left}
details.summary-box > summary > span:last-child{margin-left:auto}
@media (max-width:600px){.stage-count{display:none}}
/* How the arrangements relate: the Source above all, Godtrust first, outward exposure increasing left to right */
.arch-source{margin:0 0 10px;padding:8px 12px;border-radius:0 10px 10px 10px;background:#FBF6EA;color:#6B5321;font-size:.8rem;font-weight:600;text-align:center}
.arch-supreme{border-color:var(--purple-mid);border-width:1.5px}
.arch-exp{display:block;margin-top:6px;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-faint)}
.arch-exposure{display:flex;justify-content:space-between;margin:-4px 0 12px;padding:4px 8px;border-radius:0 8px 8px 8px;font-size:.68rem;color:var(--ink-soft);background:linear-gradient(90deg,#F1EFF4,#EEE9F6 55%,#FBF6EA)}

/* TA 4.6 RC1: first-login paths and Living Lexicon word discovery */
.vh{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.paths{display:grid;grid-template-columns:1fr;gap:12px;margin:22px 0 28px}
@media (min-width:640px){.paths{grid-template-columns:1fr 1fr}}
.path-card{display:flex;flex-direction:column;gap:8px;padding:18px 20px;border:1px solid var(--rule);border-radius:0 14px 14px 14px;background:#fff;text-decoration:none;color:inherit}
.path-card:hover,.path-card:focus-visible{border-color:var(--purple-mid);background:#FBF9FE}
.path-card b{font-family:var(--serif, inherit);font-size:1.12rem;color:var(--ink)}
.path-card small{font-size:.86rem;color:var(--ink-soft);line-height:1.5}
.path-card .path-go{align-self:flex-start;margin-top:4px}
.path-card.path-primary{border-color:var(--purple-mid);background:#F8F5FC}
.discover{font-family:var(--sans);font-size:.84rem;color:var(--ink-soft);margin:0 0 18px;line-height:1.7}
.discover > a{margin-left:4px}
details.word{display:inline}
details.word > summary{display:inline;list-style:none;cursor:pointer;color:var(--purple);text-decoration:underline dotted;text-underline-offset:3px}
details.word > summary::-webkit-details-marker{display:none}
details.word > summary s{color:var(--ink-faint);text-decoration-thickness:1px}
details.word > summary:focus-visible{outline:2px solid var(--purple-mid);outline-offset:2px;border-radius:2px}
.word-body{display:block;font-size:.8rem;line-height:1.5;color:var(--ink-soft);background:var(--purple-wash);padding:9px 13px;border-radius:0 10px 10px 10px;margin:6px 0 8px;max-width:62ch}
.word-status{color:var(--ink-faint)}
.lex-status{font-family:var(--sans);font-size:.72rem;font-weight:600;padding:2px 8px;border-radius:0 8px 8px 8px;white-space:nowrap}
.lex-preliminary{background:#F4F1EA;color:#6B5B2E}
.lex-approved{background:#E8F3EC;color:#24603A}

/* RC1 walkthrough: the My Mother's Trust landing page and the library's featured entry cards */
.area-art-mmt{width:200px;max-width:42vw;color:var(--purple-mid)}
.mmt-primary{margin:20px 0 6px}
.mmt-primary .btn{font-size:1rem;padding:12px 22px}
.mmt-guided{font-family:var(--sans);font-size:.84rem;color:var(--ink-soft);margin:8px 0 22px}
.lib-featured{display:grid;grid-template-columns:1fr;gap:12px;margin:6px 0 14px}
@media (min-width:640px){.lib-featured{grid-template-columns:1fr 1fr}}

/* RC1 introductory screens: the approved illustrations, I AM set apart, and small refinements */
.area-art-img{display:block;height:auto;pointer-events:none;user-select:none}
.area-art-img-scriptorium{width:220px;max-width:38vw}
.area-art-img-mmt{width:300px;max-width:44vw;margin-top:-6px}
@container (max-width:560px){
  .sheet-head.with-art .area-art-img-scriptorium{display:none}
  .sheet-head.with-art .area-art-img-mmt{width:240px;max-width:72%;margin:10px auto 0;justify-self:center;order:-1}
}
.mmt-next{font-family:var(--sans);font-size:.82rem;color:var(--ink-soft);margin:8px 0 0;max-width:60ch}
.path-badge{align-self:flex-start;font-family:var(--sans);font-size:.66rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--purple);background:var(--purple-wash);padding:2px 8px;border-radius:0 8px 8px 8px}
.arch-source{display:block;margin:2px 0 16px;padding:12px 10px 10px;background:transparent;border-top:1px solid #E6DAB8;border-bottom:1px solid #E6DAB8;border-radius:0;text-align:center;color:#6B5321;font-weight:400}
.arch-source p{margin:0;font-family:var(--serif, Georgia, serif);font-size:1rem;font-style:italic}
.arch-source small{display:block;margin-top:4px;font-family:var(--sans);font-size:.72rem;color:#8A7444}
.arch-note{flex:1 1 100%;margin:-2px 0 2px;font-size:.76rem;color:var(--ink-soft)}
.arch-more{margin-top:6px}
.arch-more summary{cursor:pointer;color:var(--purple)}
.arch-more p{margin:6px 0 0}

/* RC1: word discovery as an inline button (replaces details.word, which browsers lay out as a block) */
.word{display:inline}
.word-btn{display:inline;padding:0;margin:0;border:0;background:none;font:inherit;line-height:inherit;color:var(--purple);cursor:pointer;text-decoration:underline dotted;text-underline-offset:3px}
.word-btn:focus-visible{outline:2px solid var(--purple-mid);outline-offset:2px;border-radius:2px}
.word-btn[aria-expanded="true"]{text-decoration-style:solid}
.word > s{color:var(--ink-faint);text-decoration-thickness:1px}
.word-body[hidden]{display:none}

/* RC1 Scriptorium workflow mode: one compact bar during active work; a progress line; the relationship review */
.wf-bar{display:flex;align-items:center;gap:12px;margin:0 0 14px;padding:10px 4px 10px;border-bottom:1px solid var(--rule);font-family:var(--sans)}
.wf-back{display:inline-flex;align-items:center;gap:6px;font-size:.82rem;color:var(--purple);text-decoration:none;white-space:nowrap}
.wf-back:hover .wf-back-label{text-decoration:underline}
.wf-title{flex:1;min-width:0;display:flex;flex-direction:column;line-height:1.25}
.wf-title b{font-size:.98rem;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.wf-title small{font-size:.74rem;color:var(--ink-soft)}
.wf-mode{display:inline-flex;align-items:center;gap:5px;font-size:.66rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--purple-mid)}
.wf-mode img{width:16px;height:16px}
.wf-tools{display:flex;align-items:center;gap:12px}
.wf-help{font-size:.82rem;color:var(--purple)}
@media (max-width:560px){.wf-back-label{display:none}.wf-bar{gap:10px;padding:8px 2px}}
.wf-progress{margin:6px 0 18px;font-family:var(--sans)}
.wf-progress-line{display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px 12px;font-size:.84rem;color:var(--ink)}
.wf-progress-line small{color:var(--ink-soft);font-size:.78rem}
.wf-track{height:8px;border-radius:8px;background:var(--purple-wash);overflow:hidden;margin:6px 0 4px}
.wf-fill{height:100%;background:var(--purple-mid);border-radius:8px;transition:width .3s}
.wf-pace{font-size:.78rem;color:var(--ink-soft);margin:4px 0 0}
.rel-group{margin:0 0 12px;border:1px solid var(--rule);border-radius:0 12px 12px 12px;background:#fff}
.rel-group > summary{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:4px 12px;padding:12px 16px;cursor:pointer;font-family:var(--sans);list-style:none}
.rel-group > summary::-webkit-details-marker{display:none}
.rel-group > summary b{font-size:.95rem;color:var(--ink)}
.rel-group > summary small{font-size:.78rem;color:var(--ink-soft)}
.rel-group > summary::before{content:"▸";color:var(--purple-mid);margin-right:8px}
.rel-group[open] > summary::before{content:"▾"}
.rel-group-body{padding:0 12px 6px}
.rel-card{margin:0 0 12px;padding:14px 16px;border:1px solid var(--rule);border-radius:0 10px 10px 10px;background:#FDFCFE;font-family:var(--sans)}
.rel-card .rel-head{display:flex;flex-wrap:wrap;gap:6px 10px;align-items:baseline}
.rel-card .rel-head b{font-size:.92rem}
.rel-card p, .rel-card .rel-controls, .rel-card details{max-width:72ch}
.rel-card .rel-text{margin:8px 0 4px;font-size:.92rem;color:var(--ink)}
.rel-card .rel-note{margin:0 0 4px;font-size:.8rem;color:var(--ink-soft)}
.rel-card .rel-meta{margin:0 0 10px;font-size:.74rem;color:var(--ink-faint)}
.rel-card .rel-controls{display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center;margin:0}
.rel-group > summary span, .rel-group > summary b, .wf-title small{overflow-wrap:anywhere}

/* RC1 walkthrough layout: group headings read arrow, name, count; the parts list stacks on a phone */
.rel-group > summary{display:grid;grid-template-columns:auto 1fr auto;align-items:baseline;justify-content:initial;gap:4px 10px;text-align:left}
.rel-group > summary::before{grid-column:1;margin-right:0}
.rel-group > summary > span{grid-column:2;min-width:0}
.rel-group > summary > small{grid-column:3;white-space:nowrap}
@media (max-width:560px){
  .rel-group > summary{grid-template-columns:auto 1fr}
  .rel-group > summary > small{grid-column:2;white-space:normal}
  .parts-list .item{flex-wrap:wrap;gap:8px}
  .parts-list .item-main{flex:1 1 100%;min-width:0}
  .parts-list .item .btn{align-self:flex-start}
}

/* RC1 walkthrough: the emblem leads the Scriptorium bar; the way back sits beneath the title as a breadcrumb */
.wf-bar{align-items:flex-start}
.wf-logo{flex:none;display:block;line-height:0}
.wf-logo img{width:40px;height:40px}
.wf-crumb{align-self:flex-start;margin-top:4px;font-size:.76rem;color:var(--purple);text-decoration:none}
.wf-crumb:hover,.wf-crumb:focus-visible{text-decoration:underline}
.wf-tools{align-self:center}
@media (max-width:560px){.wf-logo img{width:32px;height:32px}}

/* RC1: the relationship card's collapsed Sources and details */
.rel-card .rel-note{margin:0 0 4px;font-size:.84rem;color:var(--ink-soft);max-width:72ch;line-height:1.55}
.rel-sources{margin-top:10px;font-size:.78rem;color:var(--ink-soft)}
.rel-sources > summary{cursor:pointer;color:var(--purple)}
.rel-sources dl{margin:6px 0 0;display:grid;grid-template-columns:max-content 1fr;gap:4px 12px;max-width:72ch}
.rel-sources dt{font-weight:600;color:var(--ink)}
.rel-sources dd{margin:0}
@media (max-width:560px){.rel-sources dl{grid-template-columns:1fr}.rel-sources dd{margin-bottom:6px}}

/* RC1 walkthrough (Steward): relationship cards use their full width; no line-length cap inside a card */
.rel-card p, .rel-card .rel-note, .rel-card .rel-controls, .rel-card details, .rel-sources dl{max-width:none}

/* RC1: reviewed relationships collapse to a summary; the two-step initial setup indicator */
details.rel-done > summary{list-style:none;cursor:pointer;display:flex;flex-direction:column;gap:4px}
details.rel-done > summary::-webkit-details-marker{display:none}
details.rel-done > summary:focus-visible{outline:2px solid var(--purple-mid);outline-offset:3px;border-radius:4px}
.rel-done{background:#FBFAFD}
.rel-done .rel-parties{font-size:.86rem;color:var(--ink-soft)}
.rel-done .rel-change{align-self:flex-start;font-size:.8rem;color:var(--purple);text-decoration:underline;text-underline-offset:3px}
details.rel-done[open] .rel-change{display:none}
.rel-done .rel-body{margin-top:10px}
.rel-unresolved{font-size:.74rem;color:#7A5A12;background:#FBF3DF;padding:1px 8px;border-radius:0 8px 8px 8px}
.setup-steps{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 12px;margin:0 0 14px;font-family:var(--sans);font-size:.82rem}
.setup-steps .setup-label{font-size:.7rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft)}
.setup-steps ol{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px;margin:0;padding:0;list-style:none}
.setup-steps .current{font-weight:700;color:var(--ink)}
.setup-steps .current small{font-weight:400;color:var(--ink-soft)}
.setup-steps .done a{color:var(--purple)}
.setup-steps .done{color:var(--green, #2F6B4F)}
.setup-steps .upcoming{color:var(--ink-faint)}
.setup-steps .sep{color:var(--ink-faint)}
.setup-steps .setup-after{flex-basis:100%;color:var(--ink-soft);font-size:.76rem}

/* RC1: "Leave for later" is a quiet secondary action beside Affirm (same function; smaller, subdued, no resting underline;
   a full-height touch target and a visible keyboard focus) */
.rel-card .rel-controls .btn-quiet{font-family:var(--sans);font-size:.82rem;font-weight:500;color:var(--ink-soft);text-decoration:none;background:none;border:0;
  min-height:44px;padding:0 10px;display:inline-flex;align-items:center;cursor:pointer;border-radius:6px}
.rel-card .rel-controls .btn-quiet:hover{color:var(--purple);text-decoration:underline;text-underline-offset:3px}
.rel-card .rel-controls .btn-quiet:focus-visible{outline:2px solid var(--purple-mid);outline-offset:2px;color:var(--purple)}

/* RC1 sticky progress strip (How the parts relate): fixed, thin, within the page column; never covers what is scrolled to */
.wf-strip{position:fixed;top:0;left:0;right:0;z-index:40;max-width:952px;margin:0 auto;padding:6px 14px 0;box-sizing:border-box;
  background:rgba(253,252,254,.97);border-bottom:1px solid var(--rule);font-family:var(--sans);box-shadow:0 2px 6px rgba(36,31,46,.06)}
/* always present but invisible until past the full progress; then it fades in, and out again on the way back up */
.wf-strip{opacity:0;visibility:hidden;pointer-events:none;transition:opacity .25s ease,visibility 0s linear .25s}
.wf-strip.is-on{opacity:1;visibility:visible;pointer-events:auto;transition:opacity .25s ease,visibility 0s linear 0s}
.wf-strip-text{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 10px;font-size:.8rem;color:var(--ink)}
.wf-strip-text small{font-size:.72rem;color:var(--ink-soft)}
.wf-strip-narrow{display:none}
.wf-strip-track{display:block;height:4px;margin:5px 0 0;background:var(--purple-wash);border-radius:4px;overflow:hidden}
.wf-strip-fill{display:block;height:100%;background:var(--purple-mid)}
@media (max-width:560px){
  .wf-strip{padding:4px 10px 0}
  .wf-strip-wide,.wf-strip-text small{display:none}
  .wf-strip-narrow{display:inline}
  .wf-strip-track{height:3px;margin-top:3px}
}
/* whatever is scrolled or tabbed to stays clear of the strip */
html.wf-strip-on{scroll-padding-top:56px}
.rel-group, .rel-card, details.rel-done{scroll-margin-top:56px}
@media (prefers-reduced-motion:reduce){.wf-strip,.wf-strip.is-on{transition:none}}

/* RC1 walkthrough: the progress strip separates clearly from the page beneath (space below the bar, solid ground, soft shadow) */
.wf-strip{padding:8px 16px 9px;background:var(--paper, #FDFCFE);border-bottom:1px solid #DDD6E8;border-radius:0 0 10px 10px;
  box-shadow:0 8px 16px -8px rgba(36,31,46,.22),0 1px 0 rgba(36,31,46,.04)}
.wf-strip-track{margin-top:6px}
@media (max-width:560px){.wf-strip{padding:6px 12px 7px;border-radius:0 0 8px 8px}.wf-strip-track{margin-top:4px}}
html.wf-strip-on{scroll-padding-top:64px}
.rel-group, .rel-card, details.rel-done{scroll-margin-top:64px}

/* RC1: setup completion, the Progress drawer, milestones and the My Mother's Trust workspace */
.setup-done{margin:0 0 20px;padding:16px 18px;border:1px solid #CFE3D7;border-left:3px solid var(--green, #2F6B4F);border-radius:0 12px 12px 12px;background:#F4FAF6;font-family:var(--sans)}
.setup-done h2{margin:0 0 6px;font-size:1.05rem;color:var(--ink)}
.setup-done ul{margin:0 0 8px;padding-left:18px;font-size:.86rem}
.setup-done p{margin:0 0 12px;font-size:.82rem;color:var(--ink-soft);max-width:none}
.wf-progress-drawer{position:relative}
.wf-progress-drawer > summary{list-style:none;cursor:pointer;font-size:.82rem;color:var(--purple);padding:6px 4px;min-height:32px}
.wf-progress-drawer > summary::-webkit-details-marker{display:none}
.wf-progress-drawer > summary:focus-visible{outline:2px solid var(--purple-mid);outline-offset:2px;border-radius:4px}
.wf-drawer-panel{position:absolute;right:0;top:calc(100% + 6px);z-index:60;width:min(92vw,360px);max-height:70vh;overflow:auto;padding:14px 16px;background:var(--paper, #FDFCFE);
  border:1px solid #DDD6E8;border-radius:0 12px 12px 12px;box-shadow:0 10px 24px -10px rgba(36,31,46,.28);font-family:var(--sans);text-align:left}
.mmt-miles{list-style:none;margin:0;padding:0}
.mile{display:flex;gap:10px;align-items:flex-start;padding:6px 0}
.mile-mark{flex:none;width:22px;height:22px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:.72rem;font-weight:700;background:var(--purple-wash);color:var(--purple)}
.mile-done .mile-mark{background:#E3F1E8;color:#24603A}
.mile-current .mile-mark{background:var(--purple-mid);color:#fff}
.mile-upcoming{opacity:.75}
.mile-ongoing .mile-mark{background:#F4F1EA;color:#6B5B2E}
.mile-body{display:flex;flex-direction:column;font-size:.84rem;line-height:1.35}
.mile-body small{font-size:.76rem;color:var(--ink-soft)}
.mile-note{font-size:.74rem;color:var(--ink-soft);margin:8px 0 0;max-width:none}
.mmt-workspace{margin:8px 0 26px}
.ws-next{padding:14px 16px;margin:0 0 14px;border:1px solid var(--rule);border-radius:0 12px 12px 12px;background:#FBF9FE;font-family:var(--sans)}
.ws-next p{margin:0 0 10px;font-size:.88rem}
.ws-next .mile-note{margin:10px 0 0}
.ws-parts{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr;gap:10px}
@media (min-width:720px){.ws-parts{grid-template-columns:1fr 1fr}}
.ws-part{padding:12px 14px;border:1px solid var(--rule);border-radius:0 10px 10px 10px;background:#fff;font-family:var(--sans)}
.ws-part-head b{font-size:.92rem}.ws-part-head small{font-size:.76rem;color:var(--ink-soft)}
.ws-core{list-style:none;margin:6px 0 6px;padding:0;font-size:.82rem}
.ws-core li{display:flex;flex-wrap:wrap;gap:4px 8px;align-items:baseline;padding:3px 0}
.ws-more{font-size:.78rem}
.ws-links{font-family:var(--sans);font-size:.82rem;margin:12px 0 6px}
.ws-progress{margin-top:8px;font-family:var(--sans)}
.ws-progress > summary{cursor:pointer;color:var(--purple);font-size:.84rem}
.linkish{background:none;border:0;padding:0;font:inherit;color:var(--purple);text-decoration:underline;cursor:pointer}

/* RC1 walkthrough (Steward): the Progress control reads as a button: an outlined pill with an icon; filled while open */
.wf-progress-drawer > summary{display:inline-flex;align-items:center;gap:6px;min-height:34px;padding:0 12px 0 10px;border:1px solid var(--purple-mid);
  border-radius:999px;background:var(--purple-wash);color:var(--purple);font-weight:600;font-size:.8rem;line-height:1}
.wf-progress-drawer > summary:hover{background:#EDE6F7}
.wf-progress-drawer[open] > summary{background:var(--purple-mid);color:#fff;border-color:var(--purple-mid)}
.wf-pbtn-ico{width:15px;height:15px;flex:none}
.wf-pbtn-caret{width:10px;height:10px;flex:none;opacity:.8;transition:transform .2s ease}
.wf-progress-drawer[open] .wf-pbtn-caret{transform:rotate(180deg)}
@media (max-width:560px){.wf-progress-drawer > summary{padding:0 10px 0 8px;gap:4px}}
@media (prefers-reduced-motion:reduce){.wf-pbtn-caret{transition:none}}

/* RC1 instrument preparation in Scriptorium mode: compact stage navigation, guidance, emblem row, confirmation */
.stage-nav{margin:0 0 14px;font-family:var(--sans)}
.stage-nav-line{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:2px 12px;font-size:.84rem;color:var(--ink)}
.stage-nav-line small{font-size:.74rem;color:var(--ink-soft)}
.stage-nav .wf-track{margin:6px 0 4px}
.stage-list{font-size:.8rem}
.stage-list > summary{cursor:pointer;color:var(--purple);display:inline-block;padding:4px 0;min-height:28px}
.stage-list > summary:focus-visible{outline:2px solid var(--purple-mid);outline-offset:2px;border-radius:3px}
.stage-list ol{list-style:none;margin:6px 0 4px;padding:8px 12px;border:1px solid var(--rule);border-radius:0 10px 10px 10px;background:#fff}
.stage-list li{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:2px 10px;padding:4px 0;border-bottom:1px solid #F1EEF6}
.stage-list li:last-child{border-bottom:0}
.stage-list li small{font-size:.72rem;color:var(--ink-soft)}
.stage-list .sl-current a{font-weight:700;color:var(--ink)}
.stage-list .sl-needs small{color:#7A2226}
.stage-list .sl-visited small{color:#24603A}
.stage-list span[aria-disabled]{color:var(--ink-faint)}
.stage-guide{margin:6px 0 0;font-family:var(--sans);font-size:.84rem;color:var(--ink-soft)}
.stage-emblem{display:flex;align-items:center;gap:8px;margin:8px 0 0;font-family:var(--sans);font-size:.8rem}
.stage-emblem img{width:28px;height:28px;object-fit:contain;background:#fff;border:1px solid var(--rule);border-radius:3px}
.prepared-box p{margin:0 0 8px;font-family:var(--sans);font-size:.86rem}

/* RC1 offers: a short source, the value, three distinct controls, provenance on demand */
.mx-offer{margin:0 0 10px;padding:10px 12px;background:var(--purple-wash);border-radius:0 10px 10px 10px;font-family:var(--sans)}
.mx-offer-src{margin:0;font-size:.76rem;color:var(--ink-soft)}
.mx-offer-val{margin:2px 0 8px;font-size:.95rem;font-weight:600;color:var(--ink);overflow-wrap:anywhere}
.mx-offer-note{margin:0 0 8px;font-size:.76rem;color:var(--ink-soft)}
.mx-offer-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px}
.mx-offer-actions .btn-sm{min-height:44px}
.mx-offer-actions .btn-quiet{min-height:44px;padding:0 8px;font-size:.84rem;color:var(--ink-soft);background:none;border:0;cursor:pointer}
.mx-offer-actions .btn-quiet:hover{color:var(--purple);text-decoration:underline;text-underline-offset:3px}
.mx-offer-actions button:focus-visible{outline:2px solid var(--purple-mid);outline-offset:2px}
.mx-why{margin-top:6px;font-size:.76rem;color:var(--ink-soft)}
.mx-why > summary{cursor:pointer;color:var(--purple);display:inline-block;padding:4px 0}
.mx-why p{margin:4px 0 0}

/* RC1 preview: a framed PDF on larger screens (fitted to width); on a phone, the device's own viewer via the button */
.preview-pdf iframe{width:100%;height:80vh;border:1px dashed var(--rule);border-radius:0 12px 12px 12px;background:#fff}
.preview-open-note{display:none}
@media (max-width:720px){
  .preview-pdf{display:none}
  .preview-open .btn{display:flex;justify-content:center;width:100%;min-height:48px;box-sizing:border-box;background:var(--purple);color:#fff;border-color:var(--purple)}
  .preview-open-note{display:block;margin-top:8px;font-family:var(--sans);font-size:.8rem;color:var(--ink-soft);text-align:center}
}

/* RC1 post-preparation: ready / preparing / failed */
.prepared-ready h1::before{content:"✓ ";color:#24603A}
.prepared-mark{margin:0 0 10px;font-family:var(--sans);font-size:.8rem;color:var(--ink-soft)}
.prepared-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px 18px;margin:0 0 12px}
.prepared-keep,.prepared-limit{margin:6px 0 0;font-family:var(--sans);font-size:.8rem;color:var(--ink-soft)}
.prepared-next p{margin:0 0 10px;font-family:var(--sans);font-size:.9rem}
.prepared-wait{color:var(--ink-soft);font-size:.84rem}
.prepared-failed{border-left-color:#A3282D;background:#F9F2F2}
@media (max-width:720px){
  .prepared-actions .btn,.prepared-next .btn{display:flex;justify-content:center;width:100%;min-height:48px;box-sizing:border-box}
  .prepared-next form{width:100%}
}

/* RC1 resume My Mother's Trust (The Field, the library) */
.mmt-resume{margin:0 0 18px;padding:16px 18px;border:1px solid var(--rule);border-left:3px solid var(--purple-mid);border-radius:0 12px 12px 12px;background:#FBF9FE;font-family:var(--sans)}
.mmt-resume-kicker{margin:0 0 2px;font-size:.7rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft)}
.mmt-resume h2{margin:0 0 6px;font-size:1.1rem;color:var(--ink)}
.mmt-resume-status{margin:0;font-size:.88rem;color:var(--ink)}
.mmt-resume-next{margin:2px 0 0;font-size:.82rem;color:var(--ink-soft)}
.mmt-resume .wf-track{margin:10px 0 12px}
.mmt-resume-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px}
.mmt-resume-ws{font-size:.82rem}
@media (max-width:560px){.mmt-resume-actions .btn,.mmt-resume-actions form{width:100%}.mmt-resume-actions .btn{display:flex;justify-content:center;min-height:48px;box-sizing:border-box}}

/* RC1 contextual help: Show an example / What does this mean? */
.q-more{margin:0 0 6px;font-family:var(--sans);font-size:.78rem}
.q-more > summary{cursor:pointer;color:var(--purple-mid);display:inline-block;padding:2px 0}
.q-more p{margin:4px 0 0;padding:8px 10px;background:var(--purple-wash);border-radius:0 8px 8px 8px;color:var(--ink-soft)}
@media (max-width:560px){.mmt-resume-actions .btn,.mmt-resume-actions form{width:100%}.mmt-resume-actions .btn{display:flex;justify-content:center;min-height:48px;box-sizing:border-box}}

/* RC1 completion: a small green circled check instead of a typographic tick; the milestone acknowledgement */
.prepared-ready h1::before{content:none}
.mx-check{flex:none;vertical-align:-0.18em}
.prepared-head h1,.setup-done h2{display:flex;align-items:center;gap:10px}
.milestone-done{margin:18px 0 22px;padding:18px 18px 14px;border:1px solid #CFE3D7;border-radius:0 12px 12px 12px;background:#F6FBF8;text-align:center;font-family:var(--sans)}
.milestone-done h2{margin:6px 0 4px;font-size:1.05rem;color:var(--ink)}
.milestone-done p{margin:0 0 6px;font-size:.86rem;color:var(--ink-soft)}
.milestone-done ul{list-style:none;margin:0 0 10px;padding:0;font-size:.84rem;color:var(--ink)}
.milestone-done .wf-track{margin:8px auto 10px;max-width:520px}
.milestone-done .wf-fill{background:#2F8A55}
.milestone-done .milestone-limit{font-size:.78rem;color:var(--ink-soft);margin:0}

/* RC1 intake clarity: required / if applicable / optional, after each question's label */
.q-status{color:var(--ink-faint);font-weight:400}
.q-status.q-required{color:var(--brass)}

/* OV3-B office record; GS-01 Trustee-office sub-step */
.office-chain{margin:0 0 16px;padding:12px 14px;border:1px solid var(--rule);border-radius:0 10px 10px 10px;background:#fff;font-family:var(--sans)}
.office-chain h2{margin:0 0 4px;font-size:1rem}
.office-status{margin:0 0 6px;font-size:.84rem}
.office-status small,.ws-office-status small{color:var(--ink-soft)}
.office-events{margin:0 0 6px;padding-left:18px;font-size:.82rem}
.office-superseded{color:var(--ink-faint);text-decoration:line-through}
.office-next{display:flex;flex-wrap:wrap;gap:6px 16px;margin:0;font-size:.82rem}
.office-form{margin-top:18px;font-family:var(--sans)}
.office-form label{display:block;margin:0 0 10px;font-size:.86rem}
.office-form input[type=text],.office-form input[type=date],.office-form select{display:block;width:100%;max-width:560px;margin-top:4px}
.office-form fieldset{border:0;padding:0;margin:0 0 10px}
.ws-office{margin:8px 0;padding:8px 10px;border-left:3px solid var(--purple-wash);background:#FBF9FE}
.ws-office-head{margin:0 0 4px;font-size:.82rem}.ws-office-head small{color:var(--ink-soft)}
.ws-office-status{margin:4px 0 0;font-size:.8rem}

/* WT-02: a prepared instrument's copies, each with its revision; Prepare a new copy */
.ws-copy{display:block;margin-left:2px;font-size:.78rem;color:var(--ink-soft)}
.ws-newcopy{display:inline-block;margin-top:2px;font-size:.78rem}
.newcopy-id{color:var(--ink-soft)}

/* WT-02-UX: Prepare another copy, a soft, open confirmation; a two-column comparison that stacks on narrow screens */
.nc{max-width:560px;margin:0 auto;font-family:var(--sans)}
.nc-eyebrow{margin:0 0 4px;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft)}
.nc-h{margin:0 0 6px;font-size:1.45rem}
.nc-inst{margin:0;font-weight:600;font-size:.98rem;color:var(--ink)}
.nc-trust{margin:2px 0 16px;font-size:.86rem;color:var(--ink-soft)}
.nc-compare{display:grid;grid-template-columns:1fr 1fr;gap:4px 24px;padding:14px 0;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);margin:0 0 14px}
.nc-k{margin:0 0 2px;font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft)}
.nc-v{margin:0 0 4px;font-size:1.12rem;font-weight:600;color:var(--ink)}
.nc-s{margin:0;font-size:.8rem;color:var(--ink-soft);display:flex;align-items:center;gap:6px}
.nc-id{margin:6px 0 0;font-size:.74rem;color:var(--ink-faint)}
.nc-assure{margin:0 0 8px;font-size:.95rem;color:var(--ink)}
.nc-warn{margin:0 0 6px;font-size:.84rem;color:var(--ink-soft)}
.nc-more{margin:0 0 14px}
.nc-actions{display:flex;justify-content:flex-end;align-items:center;gap:16px;padding-top:14px;border-top:1px solid var(--rule)}
@media (max-width:520px){
  .nc-compare{grid-template-columns:1fr;gap:14px}
  .nc-actions{flex-direction:column-reverse;align-items:stretch;gap:10px}
  .nc-actions .btn{width:100%;text-align:center}
  .nc-actions .btn-quiet{text-align:center}
}
.nc-mark{white-space:nowrap}
.nc-actions .btn-quiet{font-size:.92rem}

/* WT-01-UX-SRC: the source-selection card (soft, open; candidates separated by light rules) */
.mx-src{margin:0 0 10px;padding:10px 12px;border:1px solid var(--rule);border-radius:0 10px 10px 10px;background:var(--purple-wash);font-family:var(--sans)}
.mx-src-q{margin:0 0 4px;font-weight:600;font-size:.88rem;color:var(--ink)}
.mx-src-notice{margin:0 0 8px;font-size:.8rem;color:var(--ink-soft)}
.mx-src-cand{padding:8px 0;border-top:1px solid var(--rule)}.mx-src-cand:first-of-type{border-top:0}
.mx-src-title{margin:0;display:flex;justify-content:space-between;gap:8px;font-weight:600;font-size:.86rem;color:var(--ink)}
.mx-src-badge{flex:none;font-size:.68rem;font-weight:500;padding:1px 8px;border-radius:999px;background:#fff;color:var(--ink-soft)}
.mx-src-line,.mx-src-explain{margin:2px 0 0;font-size:.8rem;color:var(--ink)}.mx-src-status{margin:2px 0 4px;font-size:.72rem;color:var(--ink-faint)}
.mx-src-not .mx-src-explain{color:var(--ink-soft);font-style:italic}
.mx-src-use{font-size:.8rem;font-weight:600;padding:3px 12px;border-radius:999px;border:1px solid var(--purple,#4b2585);background:#fff;color:var(--purple,#4b2585);cursor:pointer}
.mx-src-actions{margin:6px 0 2px;font-size:.78rem}.mx-src-actions button{background:none;border:0;padding:0;color:var(--purple,#4b2585);text-decoration:underline;cursor:pointer;font-size:.78rem}
.mx-src-note{margin:2px 0 0;font-size:.72rem;color:var(--ink-soft)}

/* WT-01-UX-GI (TA 4.6, 17 October 2026): shared guided-intake presentation */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.gi-convention{margin:2px 0 10px;font-family:var(--sans);font-size:.82rem;color:var(--ink-soft)}
.gi-field{position:relative}
.gi-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.gi-head .gi-label{margin:2px 0 0;font-weight:600}
.gi-req{color:#a23a3a;font-weight:600}
.gi-tools{display:flex;gap:6px;flex:none;margin-left:auto}
.gi-tool{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;min-width:44px;min-height:44px;padding:2px 4px;border:0;border-radius:8px;background:none;color:var(--ink-soft);font-family:var(--sans);font-size:.68rem;cursor:pointer}
.gi-tool svg{width:16px;height:16px}
.gi-tool:hover,.gi-tool[aria-expanded=true]{background:var(--purple-wash);color:var(--purple,#4b2585)}
.gi-tool:focus-visible,.gi-link:focus-visible,.gi-use:focus-visible{outline:2px solid var(--purple,#4b2585);outline-offset:2px}
.gi-prompt{margin:2px 0 8px;font-family:var(--sans);font-size:.86rem;color:var(--ink-soft)}
.gi-panel{margin:4px 0 10px;padding:8px 12px;border-radius:0 8px 8px 8px;background:#F6F3FB;font-family:var(--sans);font-size:.82rem;color:var(--ink)}
.gi-panel p{margin:0 0 5px}.gi-panel p:last-child{margin:0}.gi-panel-h{font-weight:600}
.gi-is-req input[aria-required=true],.gi-is-req select[aria-required=true],.gi-is-req textarea[aria-required=true]{border-color:#c4b8da}
.gi-invalid input,.gi-invalid select,.gi-invalid textarea{border-color:#b54848;box-shadow:0 0 0 1px #b54848}
.gi-err{color:#9c2f2f}
/* compact source card */
.gi-src{background:#FBFAFD;padding:8px 12px}
.gi-src-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.gi-src-name{font-weight:600;font-size:.86rem;color:var(--ink)}.gi-src-sub{font-size:.8rem;color:var(--ink-soft)}
.gi-chip{font-size:.68rem;padding:1px 8px;border-radius:999px;background:#fff;border:1px solid var(--rule);color:var(--ink-soft);white-space:nowrap}
.gi-src-count{margin:4px 0 0;font-size:.8rem;color:var(--ink)}
.gi-src-list{margin:6px 0 0;padding:0;list-style:none}.gi-src-list li{padding:6px 0;border-top:1px solid var(--rule);font-size:.8rem}
.gi-src-list .mx-src-not{color:var(--ink-soft);font-style:italic}.gi-src-noffer{font-size:.72rem;color:var(--ink-faint);margin-left:6px}
.gi-src-actions{display:flex;flex-wrap:wrap;gap:6px 14px;align-items:center;margin-top:6px;font-size:.8rem}
.gi-use{font-weight:600;font-size:.8rem;padding:3px 12px;min-height:32px;border-radius:999px;border:1px solid var(--purple,#4b2585);background:#fff;color:var(--purple,#4b2585);cursor:pointer;margin-left:6px}
.gi-src-actions .gi-use{margin-left:0}
.gi-link{background:none;border:0;padding:4px 0;color:var(--purple,#4b2585);text-decoration:underline;cursor:pointer;font-size:.8rem;font-family:var(--sans)}
.gi-src-more{margin-top:6px;font-size:.78rem;color:var(--ink-soft)}.gi-src-more p{margin:0 0 4px}
/* desktop: help in a rail beside the field; opening it never moves the input or later fields */
/* gi3 (Steward's live check): every field full width; only the field whose help is open makes room for it, its help
   beside it in that field's own column (no empty column down the page) */
@media (min-width:1000px){
  .sheet:has(.gi-field){max-width:1000px}
  .gi-field.gi-open{display:grid;grid-template-columns:minmax(0,1fr) 300px;column-gap:28px;align-items:start}
  .gi-field.gi-open>*{grid-column:1}
  .gi-field.gi-open>.gi-panel{grid-column:2;grid-row:1 / span 30;margin:0;position:relative;border-left:2px solid var(--purple,#4b2585);border-radius:0 8px 8px 0}
  .gi-field.gi-open>.gi-panel::before{content:"◂";position:absolute;left:-14px;top:6px;color:var(--purple,#4b2585);font-size:.8rem}
}
/* clear boundaries: each question in its own band */
.gi-field{padding:14px 0 16px}
.gi-field+.gi-field{border-top:1px solid var(--rule)}
.gi-field .gi-head{margin-bottom:2px}
/* date inputs stay within the card on phones (iOS ignores width without this) */
.gi-field input[type=date]{display:block;width:100%;max-width:100%;min-width:0;box-sizing:border-box;-webkit-appearance:none;appearance:none;min-height:44px}

/* WT-01-UX-GI responsive fix (pre-existing): the workflow bar wraps on narrow phones instead of scrolling the page sideways */
@media (max-width:560px){
  .wf-bar{flex-wrap:wrap;row-gap:6px}
  .wf-bar .wf-title{min-width:0;flex:1 1 60%}
  .wf-tools{margin-left:auto;gap:8px;flex-wrap:wrap;justify-content:flex-end}
  .wf-tools .navmenu{right:0;left:auto;max-width:calc(100vw - 24px)}
}
@media (max-width:560px){.gi-chip{white-space:normal;max-width:100%}}

/* REV-01: review rows link to their question; blank optional rows behind a count. WH-01: the by-hand line. */
.rv-q{color:inherit;text-decoration:none;border-bottom:1px dotted var(--rule)}.rv-q:hover,.rv-q:focus-visible{color:var(--purple,#4b2585);border-bottom-color:currentColor}
.rv-blank{margin:6px 0 0}.rv-blank>summary{cursor:pointer;padding:8px 0;font-family:var(--sans);font-size:.84rem;color:var(--ink-soft);list-style:none}
.rv-blank>summary::-webkit-details-marker{display:none}.rv-show{color:var(--purple,#4b2585);text-decoration:underline;margin-left:6px}
.rv-blank[open] .rv-show{display:none}
.rv-byhand{margin:8px 0 0;font-family:var(--sans);font-size:.86rem;color:var(--ink)}
.gi-prep{margin:0 0 4px;font-family:var(--sans);font-size:.8rem}
/* PREP-01: the checklist, on screen and printed */
.prep{max-width:760px;margin:0 auto;font-family:var(--sans)}
.prep-head{display:flex;justify-content:space-between;align-items:center;gap:12px}.prep-head h1{margin:0}
.prep-lede,.prep-foot,.prep-sub{color:var(--ink-soft);font-size:.88rem}
.prep-ms{margin:22px 0 4px;font-size:1.05rem}.prep-ititle{margin:12px 0 2px;font-size:.95rem}.prep-ititle small{font-weight:400;color:var(--ink-soft)}
.prep-g{margin:10px 0 4px;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--purple,#4b2585)}
.prep-list{list-style:none;padding:0;margin:0}.prep-list li{display:flex;gap:10px;padding:6px 0;border-top:1px solid var(--rule);font-size:.88rem}
.prep-list small{color:var(--ink-soft)}.prep-box{flex:none;width:14px;height:14px;border:1.5px solid var(--ink-soft);border-radius:3px;margin-top:3px}
@media print{.wf-bar,.memberbar,.prep-print,.site-foot,footer{display:none!important}body,.shell,.sheet{background:#fff!important;box-shadow:none!important;border:0!important;padding:0!important;margin:0!important}.prep-inst{break-inside:avoid}}

/* WT-01-UX-OFFICE: the immediate prompt under a mismatched office */
.mx-expect{margin:8px 0 0;padding:8px 12px;border-left:3px solid #b54848;background:#FBF3F3;border-radius:0 8px 8px 0;font-family:var(--sans);font-size:.84rem}
.mx-expect-msg{margin:0 0 6px;color:var(--ink)}.mx-expect-alt{margin-left:10px;font-size:.78rem;color:var(--ink-soft)}
/* A disabled button looks disabled (it was styled as active) */
.btn:disabled,.btn[disabled],button:disabled{opacity:.45;cursor:not-allowed;filter:saturate(.6)}
/* Review answers wrap at spaces; only an unbreakable run (a record mark) may be split */
.kv .v{word-break:normal!important;overflow-wrap:anywhere}

/* BULK-01: the stage-level suggestions card */
.bulk{margin:4px 0 12px;padding:10px 14px;border:1px solid var(--rule);border-radius:0 10px 10px 10px;background:#FBFAFD;font-family:var(--sans)}
.bulk-h{margin:0;font-weight:600;font-size:.92rem;color:var(--ink)}.bulk-sub{margin:2px 0 6px;font-size:.84rem;color:var(--ink-soft)}
.bulk-list{margin:0 0 8px;padding-left:18px;font-size:.84rem;color:var(--ink)}.bulk-list li{margin:2px 0}
.bulk-choice{margin:0 0 8px;font-size:.8rem;color:var(--ink-soft)}.bulk-choice a{color:var(--purple,#4b2585)}
.bulk-done{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.bulk-done[hidden]{display:none}.bulk-done-msg{margin:0;font-size:.86rem;color:var(--ink)}
[data-mx-src][hidden],[data-mx-offer][hidden]{display:none!important}

/* SB-01: the member's optional office notes, collapsed in the workspace */
.ws-notes{margin:6px 0 0;font-family:var(--sans);font-size:.82rem;color:var(--ink-soft)}.ws-notes>summary{cursor:pointer}.ws-notes p{margin:4px 0 0}

/* REF-01: same-member duplicate reference note (never blocking) */
.mx-dup{margin:6px 0 0;padding:6px 10px;border-left:3px solid #c49a2c;background:#FBF7EC;font-family:var(--sans);font-size:.82rem;color:var(--ink)}

/* SIGN-01: candidate note and the contradiction flag */
.gi-src-signer-note{margin:6px 0 0;font-size:.78rem;color:var(--ink-soft)}
.mx-dep-flag{margin:6px 0 0;padding:6px 10px;border-left:3px solid #b54848;background:#FBF3F3;font-family:var(--sans);font-size:.82rem;color:var(--ink)}

/* GUIDE-01: the binder guide on screen */
.bg{max-width:780px;margin:0 auto;font-family:var(--sans);color:var(--ink)}.bg h1{margin:0 0 6px}.bg h2{font-size:1.05rem;margin:22px 0 6px;border-bottom:1px solid var(--rule);padding-bottom:4px}
.bg-kicker{margin:0;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--purple,#4b2585)}.bg-lede{font-size:1rem}.bg-meta,.bg-small{font-size:.82rem;color:var(--ink-soft)}
.bg-ms{margin:16px 0 4px;color:var(--purple,#4b2585);font-size:.95rem}.bg-entry{border-top:1px solid var(--rule);padding:10px 0}.bg-title span{font-size:.82rem;color:var(--ink-soft)}
.bg-party{margin:4px 0 4px 12px;font-size:.88rem}.bg-comp{margin:6px 0 6px 12px;padding-left:10px;border-left:2px solid #c9bfe0}.bg-comp-h{font-weight:600;margin:2px 0}
.bg-req,.bg-chain{margin:4px 0 4px 12px;font-size:.86rem}.bg-chain{color:#3a2a63}.bg-box{border:1px solid #c9bfe0;background:#F6F3FB;border-radius:0 10px 10px 10px;padding:8px 14px;margin:14px 0}.bg-warn{border-color:#d9a3a3;background:#FBF3F3}
.bg-actions{display:flex;gap:10px;justify-content:flex-end}@media print{.bg-actions{display:none!important}}

/* GEN-01: offers that apply only on a chosen pathway */
.mx-when-off{display:none!important}

/* FLOW-01: the contextual Next action (one at a time; dismissible) */
.mx-next{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;margin:10px 0 0;padding:8px 12px;border-left:3px solid var(--purple,#4b2585);background:#F6F3FB;border-radius:0 8px 8px 0;font-family:var(--sans)}
.mx-next-go{background:none;border:0;padding:4px 0;font:inherit;font-weight:600;color:var(--purple,#4b2585);text-align:left;cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.mx-next-go:focus-visible,.mx-next-dismiss:focus-visible{outline:2px solid var(--purple,#4b2585);outline-offset:2px}
.gi-field{scroll-margin-top:96px}

/* ORDER-01: component headings within a stage */
.mx-flow-h{margin:30px 0 4px;padding-top:14px;border-top:2px solid var(--rule);font-family:var(--sans);font-size:.95rem;font-weight:600;letter-spacing:.02em;color:var(--purple,#4b2585)}

/* HOME-01 (TA 4.6, 18 October 2026): the post-review workspace */
.mmt-home{margin:8px 0 26px}
.home-mile,.home-next{background:var(--paper,#fff);border:1px solid var(--rule);border-radius:12px;padding:20px 22px;margin-bottom:14px}
.home-eyebrow{margin:0;font:600 .72rem var(--sans);letter-spacing:.08em;text-transform:uppercase;color:#2f7a4a}
.home-mile h2,.home-next h2{margin:6px 0 6px;font-size:1.2rem}
.home-statement{margin:0;font-family:var(--sans);font-size:.95rem;line-height:1.5}
.home-figs{display:flex;gap:10px;margin:14px 0 10px;padding:0}
.home-figs>div{flex:1;display:flex;flex-direction:column-reverse;align-items:center;text-align:center;border:1px solid var(--rule);border-radius:10px;padding:10px 6px}
.home-figs dt{font:.78rem var(--sans);color:var(--ink-soft)}.home-figs dd{margin:0;font:700 1.2rem var(--sans)}.home-figs .ok dd{color:#2f7a4a}
.home-note{margin:0;padding-top:10px;border-top:1px solid var(--rule);font:.78rem var(--sans);color:var(--ink-soft)}
.home-cont{font:.88rem var(--sans);margin:0 0 8px}
.home-actions{list-style:none;margin:0;padding:0}.home-actions>li{padding:12px 0;border-top:1px solid var(--rule)}.home-actions>li:first-child{border-top:0}
.home-actions a,.home-prep>summary{font:600 .98rem var(--sans);color:var(--purple)}.home-prep>summary{cursor:pointer}
.home-actions small{display:block;margin-top:3px;font:.82rem var(--sans);color:var(--ink-soft)}
.home-parts{list-style:none;margin:8px 0 0;padding:0}.home-parts li{padding:7px 0 7px 12px;border-left:2px solid var(--rule)}
.home-parts a{font-weight:500;font-size:.92rem}.home-parts small{display:inline;margin-left:6px}
.home-more{background:var(--paper,#fff);border:1px solid var(--rule);border-radius:12px;padding:12px 18px;margin-bottom:10px}
.home-more>summary{cursor:pointer;font:600 .92rem var(--sans)}.home-more>summary small{font-weight:400;color:var(--ink-soft)}.home-sub{font:600 .9rem var(--sans);margin:16px 0 6px}
.mmt-ethic{margin:26px 0 6px;text-align:center;font-family:var(--serif,Georgia),serif;font-size:.95rem;color:var(--ink-soft)}
.mmt-ethic span{display:block;font:.7rem var(--sans);letter-spacing:.06em;text-transform:uppercase;margin-bottom:4px}
@media (max-width:560px){.home-figs{gap:6px}.home-figs dd{font-size:1.05rem}.home-mile,.home-next{padding:16px}}

/* HOME-01: the Prepare another instrument description stays visible in its summary */
.home-prep>summary{list-style:none}.home-prep>summary::-webkit-details-marker{display:none}
.home-prep-t::after{content:" \25BE";font-size:.8em}.home-prep[open] .home-prep-t::after{content:" \25B4"}
.home-prep>summary small{font-weight:400}

/* GUIDE-02 (TA 4.6, 18 October 2026): the execution and implementation guide on screen */
.bg .bg-h{margin:2px 0 2px}.bg-designation{margin:0 0 8px;font:600 .78rem var(--sans);letter-spacing:.06em;text-transform:uppercase;color:var(--purple,#4b2585)}
.bg-tools{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 14px}
.bg-over{border:1px solid var(--rule);border-radius:12px;background:var(--paper,#fff);padding:14px 18px;margin:0 0 14px}.bg-over-h{font-weight:700;margin:0 0 6px}.bg-over ul{margin:0 0 6px 18px;padding:0}.bg-over li{margin:4px 0}
.bg-grp{border:1px solid var(--rule);border-radius:12px;background:var(--paper,#fff);margin:0 0 10px}
.bg-grp>summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:10px;padding:13px 18px}.bg-grp>summary::-webkit-details-marker{display:none}
.bg-gt b{display:block;font-size:1rem}.bg-gt small{font-size:.82rem;color:var(--ink-soft)}.bg-gc{font-size:.82rem;color:var(--ink-soft);white-space:nowrap}.bg-gc::after{content:" \25BE"}.bg-grp[open] .bg-gc::after{content:" \25B4"}
.bg-grp-body{padding:2px 18px 14px;border-top:1px solid var(--rule)}.bg-trust{margin:16px 0 2px;font-size:.78rem;letter-spacing:.06em;text-transform:uppercase;color:var(--purple,#4b2585)}
.bg-grp .bg-entry{border:1px solid var(--rule);border-radius:10px;padding:10px 14px;margin:10px 0}
dl.bg-party{display:grid;grid-template-columns:1fr;gap:2px;margin:8px 0;padding:8px 10px;background:#F6F3FB;border-radius:8px;font-size:.86rem}
dl.bg-party div{display:grid;grid-template-columns:170px 1fr;gap:10px}dl.bg-party dt{color:var(--ink-soft)}dl.bg-party dd{margin:0}
.bg-recipient .bg-grp{margin-top:6px}
@media (max-width:560px){dl.bg-party div{grid-template-columns:1fr;gap:0}dl.bg-party div+div{margin-top:4px}.bg-grp>summary{flex-direction:column;gap:2px}}
@media print{.bg-tools{display:none!important}.bg-grp{border:0}.bg-grp>summary{padding:6px 0}.bg-gc::after{content:""}.bg-grp-body{border:0;padding:0}.bg-head,dl.bg-party,.bg-over{break-inside:avoid}.bg-recipient{break-before:page}}
.bg-entry .bg-trust{margin:0 0 4px}

/* HOME-02 (TA 4.6, 18 October 2026): draft continuation */
.hm2-notice{border:1px solid #c9bfe0;border-left:4px solid var(--purple,#4b2585);background:#F6F3FB;border-radius:10px;padding:12px 16px;margin:0 0 16px;font-family:var(--sans);font-size:.92rem}
.hm2-notice p{margin:0}.hm2-sep{margin:6px 0 0}
.hm2-panel{border:2px solid var(--purple,#4b2585);border-radius:12px;background:var(--paper,#fff);padding:16px 20px;margin:8px 0 16px;font-family:var(--sans)}
.hm2-panel h2{margin:0 0 4px;font-size:1.1rem}.hm2-note{margin:0 0 8px;font-size:.84rem;color:var(--ink-soft)}
.hm2-panel>ul{list-style:none;margin:0;padding:0}.hm2-panel>ul>li{padding:10px 0;border-top:1px solid var(--rule)}.hm2-panel>ul>li:first-child{border-top:0}
.hm2-panel span{color:var(--ink-soft);font-size:.86rem}.hm2-panel em{font-style:normal;font-size:.84rem;margin:0 8px}.hm2-fail{color:#8a2b2b}
.hm2-choose{margin:6px 0 0 14px;padding:0;font-size:.88rem}.hm2-choose li{margin:4px 0}

/* NEXT-01 (TA 4.6, 19 October 2026): Your next considerations */
.nx{background:var(--paper,#fff);border:1px solid var(--rule);border-radius:12px;padding:18px 22px;margin-bottom:14px;font-family:var(--sans)}
.nx h2{margin:0 0 4px;font-size:1.15rem}.nx-lede{margin:0 0 10px;font-size:.86rem;color:var(--ink-soft)}
.nx-item{border:1px solid var(--rule);border-radius:10px;margin:8px 0}.nx-item>summary{cursor:pointer;padding:11px 14px;font-weight:600;color:var(--purple,#4b2585)}
.nx-facts{margin:0;padding:2px 14px 6px}.nx-facts>div{display:grid;grid-template-columns:170px 1fr;gap:10px;padding:6px 0;border-top:1px solid var(--rule)}
.nx-facts dt{font-size:.8rem;color:var(--ink-soft)}.nx-facts dd{margin:0;font-size:.88rem;line-height:1.45}.nx-k{display:block}.nx-k+.nx-k{margin-top:3px}
.nx-links{display:flex;flex-wrap:wrap;gap:6px 14px;align-items:center}
.nx-choices,.nx-state{display:flex;flex-wrap:wrap;gap:6px 14px;padding:4px 14px 12px;font-size:.84rem}.nx-choices form{display:inline}
.nx-more{margin-top:8px}.nx-more>summary{cursor:pointer;font-size:.88rem;font-weight:600}
@media (max-width:560px){.nx-facts>div{grid-template-columns:1fr;gap:2px}.nx{padding:14px}}

/* NEXT-02 (TA 4.6, 19 October 2026): compact working pages; the orientation stepper; lighter considerations */
.sheet-head.with-art.art-compact .area-art-img-mmt{width:112px;max-width:24vw;margin-top:0}
@container (max-width:560px){.sheet-head.with-art.art-compact{grid-template-columns:minmax(0,1fr) auto}.sheet-head.with-art.art-compact .area-art-img-mmt{width:64px;margin:0;order:0;justify-self:end}}
.home-mile-slim{display:flex;gap:14px;align-items:flex-start;padding:14px 18px}.home-mile-slim h2{margin:0;font-size:1.05rem}
.home-mile-tick{flex:none;width:34px;height:34px;border-radius:50%;background:#e7f3ea;color:#2f7a4a;display:flex;align-items:center;justify-content:center;font-weight:700}
.home-mile-line{margin:2px 0 4px;font:.84rem var(--sans);color:var(--ink-soft)}.home-mile-slim .home-note{border:0;padding:0;margin:0;font-size:.74rem}
.nx2{background:var(--paper,#fff);border:1px solid var(--rule);border-radius:12px;padding:18px 20px;margin-bottom:14px;font-family:var(--sans)}
.nx2 h2{margin:0 0 2px;font-size:1.15rem}.nx2-note{margin:0 0 12px;font-size:.8rem;color:var(--ink-soft)}
.nx2-path{margin:0 0 10px;font-size:.76rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--purple,#4b2585)}
.nx2-steps{list-style:none;margin:0;padding:0;display:flex;gap:18px;align-items:stretch}
.nx2-st{flex:1;min-width:0;position:relative;border-radius:10px;padding:12px 10px;text-align:center;font-size:.82rem}
.nx2-st+.nx2-st::before{content:"\203A";position:absolute;left:-14px;top:50%;transform:translateY(-50%);color:var(--ink-soft);font-size:1.2rem}
.nx2-ic{width:26px;height:26px;border-radius:50%;margin:0 auto 6px;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.8rem}
.nx2-tx b{display:block;font-size:.85rem;margin-bottom:3px}.nx2-tx small{display:block;color:var(--ink-soft);font-size:.75rem;line-height:1.35}
.nx2-done{background:#f3faf5;border:1px solid #cfe7d6}.nx2-done .nx2-ic{background:#2f7a4a;color:#fff}
.nx2-now{background:#F6F3FB;border:2px solid var(--purple,#4b2585)}.nx2-now .nx2-ic{background:var(--purple,#4b2585);color:#fff}
.nx2-later{background:var(--paper,#fff);border:1px solid #c9bfe0}.nx2-later .nx2-ic{background:#c9bfe0;color:#fff}
.nx2-outside{background:var(--paper,#fff);border:1.5px dashed #a99bc4}.nx2-outside .nx2-ic{border:1.5px dashed #a99bc4;color:var(--ink-soft)}
.nx2-sees{display:block;margin:5px 0 2px;font-size:.72rem;color:var(--ink-soft)}.nx2-outside a,.nx2-outside .linkish{font-size:.76rem}
.nx2-go{margin-top:8px;display:inline-block}.nx2-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.nx2-legend{display:flex;flex-wrap:wrap;gap:14px;margin:10px 0 0;font-size:.74rem;color:var(--ink-soft)}.nx2-legend i{display:inline-block;width:12px;height:12px;border-radius:3px;margin-right:5px;vertical-align:-2px}
.lg-done{background:#2f7a4a}.lg-now{background:var(--purple,#4b2585)}.lg-out{border:1.5px dashed #a99bc4}
.nx2-rows{list-style:none;margin:14px 0 0;padding:0;border-top:1px solid var(--rule)}.nx2-rows li{display:flex;justify-content:space-between;gap:10px;padding:9px 2px;border-bottom:1px solid var(--rule);font-size:.86rem}
.nx2-rows a{font-weight:600;color:var(--ink)}.nx2-rows span{color:var(--ink-soft);font-size:.8rem;white-space:nowrap}
.nx2-dest{display:flex;flex-wrap:wrap;gap:8px 20px;align-items:flex-start;margin-top:12px;padding-top:12px;border-top:1px solid var(--rule)}.nx2-dest>a{font-weight:600;font-size:.88rem}
.nx2-dest .home-prep summary{font-size:.88rem}.nx2-more{margin:10px 0 0;font-size:.8rem}.nx2-inline{display:inline}
.nx-sum{margin:0;padding:0 14px 6px;font-size:.88rem}.nx-act{display:flex;flex-wrap:wrap;gap:6px 14px;margin:0;padding:0 14px 8px;font-size:.84rem}
.nx-detail{margin:0 14px 8px}.nx-detail>summary{cursor:pointer;font-size:.82rem;color:var(--purple,#4b2585)}
@media (max-width:640px){.nx2-steps{flex-direction:column;gap:16px}.nx2-st{text-align:left;display:grid;grid-template-columns:28px minmax(0,1fr);column-gap:10px}
  .nx2-st .nx2-ic{margin:0}.nx2-st+.nx2-st::before{content:"\2304";left:50%;top:-16px;transform:translateX(-50%)}.nx2{padding:14px}}

/* NEXT-02 phone: action first (principle 1) — the full wording one tap away, never removed */
.hm-s,.nx2-note-s,.home-note-d{display:none}.home-note-d{font:.76rem var(--sans);color:var(--ink-soft);margin-top:2px}.home-note-d summary{cursor:pointer}
@media (max-width:640px){
  .sheet-head.art-compact .lede{display:none}
  .home-mile-slim{padding:10px 14px}.home-mile-slim h2{font-size:.95rem}.home-mile-line{font-size:.8rem}
  .hm-l,.home-mile-slim .home-note,.nx2-note-l{display:none}.hm-s,.nx2-note-s{display:inline}.home-note-d{display:block}
  .nx2-path{font-size:.72rem;margin-bottom:8px}
  .nx2-done{padding:7px 10px}.nx2-done .nx2-tx b{display:inline}.nx2-done .nx2-tx small{display:inline;margin-left:4px}
  .nx2-now .nx2-tx{display:flex;flex-direction:column}.nx2-now .nx2-go{order:-1;margin:6px 0 4px;align-self:flex-start}.nx2-now .nx2-tx b{order:-2}
}

/* NEXT-02 polish: a true check mark in the milestone; a clean connector between phone steps; a balanced legend */
.home-mile-tick{font-family:var(--sans);font-size:1rem;line-height:1}
@media (max-width:640px){
  .nx2-steps{gap:14px}.nx2-st+.nx2-st::before{content:"";top:-12px;left:28px;transform:none;width:2px;height:10px;background:#c9bfe0;border-radius:1px}
  .nx2-legend{gap:6px 12px;font-size:.72rem}
}

/* B-01 (TA 4.6, 19 October 2026): the wayfinding block (the same on desktop as before) */
.mx-way-back{font-size:.78rem;margin:0 0 6px}
.mx-way-tabs{display:flex;gap:18px;font-size:.82rem;margin:0 0 14px;border-bottom:1px solid var(--rule);padding-bottom:8px}
.mx-way-tabs a[aria-current="page"]{font-weight:600;text-decoration:none}
/* B-01: a compact shared header on phones. Brand kept (seal beside the navigation, not cropped); one navigation row;
   Settings and Contribution stay in the account menu; the member's name kept for screen readers; 44 px touch targets. */
@media (max-width:560px){
  html body .shell-member{position:relative}
  html body .shell-member .crest{position:absolute;top:5px;left:16px;height:44px;margin:0;padding:0;display:flex;align-items:center;z-index:2}
  html body .shell-member .crest::before,html body .shell-member .crest::after{display:none}
  html body .shell-member .crest a{display:flex;align-items:center;line-height:0}
  html body .shell-member .crest .seal-img{width:36px;height:36px;margin:0}
  html body .shell-member .crest .trustname{display:none}
  html body .memberbar{flex-wrap:nowrap;gap:2px;padding:4px 0 4px 44px;margin-top:6px;min-height:44px}
  html body .memberbar-left{flex-wrap:nowrap;gap:0;min-width:0}
  html body .memberbar-right{flex:none;gap:0;margin-left:auto}
  html body .memberbar-left>a,html body .memberbar-left>.navgroup>summary,html body .memberbar-right .navgroup>summary{min-height:44px;display:inline-flex;align-items:center;padding:0 6px;font-size:.82rem;white-space:nowrap}
  html body .memberbar .ico{display:none}
  html body .memberbar-left>a[href*="contribut"],html body .memberbar-right>a[href*="settings"],html body .memberbar-right>.sep{display:none}
  html body .memberbar .whoname{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
  .mx-way{display:flex;align-items:baseline;gap:4px 16px;margin:0 0 10px;padding-bottom:6px;border-bottom:1px solid var(--rule)}
  .mx-way-back{margin:0}.mx-way-tabs{gap:14px;margin:0;padding:0;border:0}
  .mx-way a{display:inline-block;padding:12px 0;margin:-12px 0}
}
/* B-01: 44 px tap areas for the seal link and the library link (the seal stays 36 px) */
@media (max-width:560px){
  html body .shell-member .crest a{min-width:44px;min-height:44px;justify-content:center;margin-left:-4px}
  .mx-way a{padding:13px 0;margin:-13px 0}
}

/* B-02: office notes form — optional details one tap away */
.of-more{margin:4px 0 10px}.of-more>summary{cursor:pointer;font:.86rem var(--sans);color:var(--purple,#4b2585);padding:8px 0}

/* B-03: the packet's one button stays visible on phones; the caution above it keeps its place */
@media (max-width:560px){.packet-go{position:sticky;bottom:0;z-index:5;margin:0 -12px;padding:10px 12px calc(10px + env(safe-area-inset-bottom));background:var(--paper,#fff);border-top:1px solid var(--rule);box-shadow:0 -6px 14px rgba(36,24,58,.06)}}

/* B-04: What you'll need, light by default */
details.prep-inst{border-top:1px solid var(--rule);padding:4px 0}details.prep-inst>summary{cursor:pointer;list-style:none}details.prep-inst>summary::-webkit-details-marker{display:none}
details.prep-inst>summary .prep-ititle{display:inline;margin:0}details.prep-inst>summary::before{content:"\25B8  ";color:var(--purple,#4b2585)}details.prep-inst[open]>summary::before{content:"\25BE  "}
details.prep-inst>summary{padding:10px 0}details.prep-opt>summary{cursor:pointer;margin:10px 0 4px}.prep-tools{margin:4px 0 10px;font:.84rem var(--sans)}
@media print{.prep-tools{display:none}}

/* B-05: My records — versions distinguished; record marks shown */
.rec-ver{display:inline-block;margin:3px 0 2px;padding:1px 8px;border-radius:999px;font:600 .72rem var(--sans)}
.rec-latest{background:#f3faf5;color:#2f7a4a;border:1px solid #cfe7d6}.rec-earlier{background:#f4f2f7;color:var(--ink-soft);border:1px solid var(--rule)}
.rec-mark{display:block;font-family:var(--sans);color:var(--ink-faint)}

/* B-01 (live iPhone SE check, 19 October 2026): on narrow phones the decorative emblem steps aside; the library link is shortened
   (its full name kept for screen readers); the account menu is labelled in words, beneath the photo, within the same 44 px row. */
.mx-way-short,.acct-word{display:none}
@media (max-width:400px){
  .sheet-head.with-art.art-compact .area-art-img-mmt{display:none}.sheet-head.with-art.art-compact{grid-template-columns:1fr}
  .mx-way-full{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.mx-way-short{display:inline}
}
@media (max-width:560px){
  html body .memberbar-right .navgroup>summary{flex-direction:column;justify-content:center;gap:2px;line-height:1}
  html body .memberbar-right .navgroup>summary .acct-word{display:block;font-size:.62rem;letter-spacing:.02em}
}
@media (max-width:560px){
  html body .memberbar-right .navgroup>summary::after{display:none}
  html body .memberbar-right .navgroup>summary .acct-word::after{content:" \25BE";opacity:.55}
  html body .memberbar-right .navgroup[open]>summary .acct-word::after{opacity:1}
}
@media (max-width:400px){html body .memberbar-left>a,html body .memberbar-left>.navgroup>summary{padding:0 3px}}

/* NAV-01 (TA 4.6, 19 October 2026): one wayfinding row at every size; the places as tabs, the current one distinguished; Library at the opposite edge */
.mx-way{display:flex;align-items:flex-end;gap:4px 16px;margin:0 0 14px;padding:0;border-bottom:1px solid var(--rule)}
.mx-way-tabs{order:1;display:flex;gap:22px;margin:0;padding:0;border:0;font-size:.86rem}
.mx-way-tabs a{display:inline-block;position:relative;padding:11px 0 10px;margin:0 0 -1px;border-bottom:2px solid transparent;text-decoration:none;color:var(--ink-soft,#5F5872)}
.mx-way-tabs a:hover{color:var(--purple,#4b2585);border-bottom-color:#d9d2e9}
.mx-way-tabs a[aria-current="page"]{color:var(--purple,#4b2585);font-weight:600;border-bottom-color:var(--purple,#4b2585)}
.mx-way-tabs a:focus-visible,.mx-way-back a:focus-visible{outline:2px solid var(--purple,#4b2585);outline-offset:2px}
.mx-way-back{order:2;margin:0 0 0 auto;font-size:.8rem;align-self:center}
.mx-way-back a{display:inline-block;padding:12px 0;margin:-12px 0}
@media (max-width:560px){.mx-way{gap:4px 10px}.mx-way-tabs{gap:16px}
  .mx-way-tabs a{padding:5px 0 4px}
  .mx-way-tabs a::before{content:"";position:absolute;left:-6px;right:-6px;top:-8px;bottom:-8px}}
/* NAV-01 (phone): no added height above the working content; tap areas stay 44 px */
@media (max-width:560px){.mx-way{margin-bottom:8px}.mx-way-tabs a{padding:2px 0 2px}.mx-way-tabs a::before{top:-11px;bottom:-11px}}

/* CX-01 / CX-02 (TA 4.6): connections and offices — phone first; 44 px targets */
.linklike{background:none;border:0;padding:10px 2px;min-height:44px;font:inherit;color:var(--purple);text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.cx-section{margin:22px 0;border:1px solid var(--rule);border-radius:10px;background:var(--paper)}
.cx-section>summary{list-style:none;cursor:pointer;padding:14px 16px;min-height:44px;display:flex;align-items:center;gap:10px;font-family:var(--sans);font-weight:600;color:var(--ink)}
.cx-section>summary::-webkit-details-marker{display:none}
.cx-section>summary::before{content:"";width:8px;height:8px;border-right:2px solid var(--ink-soft);border-bottom:2px solid var(--ink-soft);transform:rotate(-45deg);transition:transform .15s;flex:none}
.cx-section[open]>summary::before{transform:rotate(45deg)}
.cx-section>summary small{font-weight:400;color:var(--ink-soft)}
.cx-section>:not(summary){margin-left:16px;margin-right:16px}
.cx-note{font-family:var(--sans);font-size:.88rem;color:var(--ink-soft);margin:6px 0 12px}
.cx-list{list-style:none;padding:0;margin:0 0 12px}
.cx-list li{border-top:1px solid var(--rule)}
.cx-list a{display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px 12px;padding:12px 0;min-height:44px;text-decoration:none;color:var(--ink);font-family:var(--sans);font-size:.92rem}
.cx-list a:hover .cx-li-main,.cx-list a:focus-visible .cx-li-main{text-decoration:underline}
.cx-actions{display:flex;flex-wrap:wrap;align-items:center;gap:6px 18px;margin:4px 0 16px;font-family:var(--sans)}
.cx-actions a:not(.btn){display:inline-flex;align-items:center;min-height:44px}
.cx-state{display:inline-flex;align-items:center;gap:6px;font-family:var(--sans);font-size:.84rem;font-weight:600;color:var(--ink-soft);white-space:nowrap}
.cx-dot{width:9px;height:9px;border-radius:50%;background:var(--ink-faint);flex:none}
.cx-state-agreed .cx-dot,.cx-state-appointed .cx-dot{background:var(--brass)}
.cx-state-accepted .cx-dot,.cx-state-serving .cx-dot{background:var(--green)}
.cx-state-accepted,.cx-state-serving{color:var(--green)}
.cx-state-declined,.cx-state-withdrawn,.cx-state-ended{color:var(--ink-faint)}
.cx-dir{font-family:var(--sans);font-size:.78rem;letter-spacing:.06em;text-transform:uppercase;color:var(--purple-mid);margin:0 0 4px}
.cx-h1{margin:0 0 6px}.cx-of{font-weight:400;color:var(--ink-soft)}
.cx-who{font-family:var(--sans);margin:0 0 10px;color:var(--ink)}
.cx-tag{display:inline-block;margin-left:6px;padding:1px 8px;border-radius:999px;background:var(--brass-wash);font-size:.76rem;color:var(--ink)}
.sheet-head .cx-state{font-size:.95rem}
.cx-state-note{font-family:var(--sans);font-size:.86rem;color:var(--ink-soft);margin:2px 0 0}
.cx-card,.cx-next,.cx-code{margin:18px 0;padding:16px;border:1px solid var(--rule);border-radius:10px;background:var(--paper)}
.cx-next{border-color:var(--purple-mid);background:var(--purple-wash)}
.cx-card h2,.cx-next h2,.cx-code h2{font-size:1.02rem;margin:0 0 8px}
.cx-next p{font-family:var(--sans);margin:0 0 10px}
.cx-code{border-color:var(--brass);background:var(--brass-wash)}
.cx-code-value{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:1.35rem;letter-spacing:.06em;margin:4px 0 8px;word-break:break-all;user-select:all}
.cx-code p{font-family:var(--sans);font-size:.88rem;margin:0}
.cx-exact{font-family:var(--sans);font-size:.9rem;margin:0 0 12px;padding-left:18px}
.cx-form label{display:block;font-family:var(--sans);font-size:.9rem;margin:0 0 12px}
.cx-form input[type=text],.cx-form select{display:block;width:100%;max-width:100%;margin-top:6px;min-height:44px;box-sizing:border-box}
.cx-form fieldset{border:0;padding:0;margin:0 0 12px}
.cx-form legend{font-family:var(--sans);font-size:.9rem;margin-bottom:8px}
.cx-q{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;background:var(--purple);color:#fff;font-size:.74rem;font-weight:700;margin-right:6px}
.cx-choice{display:flex!important;gap:10px;align-items:flex-start;padding:10px 12px;border:1px solid var(--rule);border-radius:8px;min-height:44px}
.cx-choice input{margin-top:4px}
.cx-choice small{color:var(--ink-soft)}
.cx-inline{display:flex;flex-wrap:wrap;align-items:flex-end;gap:10px}
.cx-inline label{flex:1 1 240px;margin:0}
.cx-pair{display:flex;flex-wrap:wrap;gap:10px;margin:4px 0 8px}
.cx-quiet{margin:8px 0 0}
.cx-end,.cx-more,.cx-history{margin-top:12px;font-family:var(--sans)}
.cx-end>summary,.cx-more>summary,.cx-history>summary{cursor:pointer;min-height:44px;display:flex;align-items:center;color:var(--purple)}
.cx-acting{font-family:var(--sans);font-size:.9rem;margin:14px 0;padding:10px 12px;border-radius:8px;background:var(--green-wash)}
.cx-acting-not_confirmed{background:var(--brass-wash)}
.cx-acting>span[aria-hidden]{font-weight:700;margin-right:6px}
.cx-flag{font-family:var(--sans);font-size:.88rem;margin:10px 0;padding:10px 12px;border-left:3px solid var(--brass);background:var(--paper)}
.cx-marks{font-family:var(--sans);font-size:.9rem;padding-left:18px;margin:0 0 8px}
.cx-marks span{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}
.cx-history ol{padding-left:20px;font-size:.88rem;color:var(--ink-soft)}
.cx-privacy{font-family:var(--sans);font-size:.82rem;color:var(--ink-soft);margin:18px 0 0;padding-top:12px;border-top:1px solid var(--rule)}
.cx-ext{margin-top:8px}
.cx-form [hidden],.cx-section [hidden]{display:none!important}
.cx-next p>a:not(.btn){display:inline-flex;align-items:center;min-height:44px}
.cx-offer{font-family:var(--sans);font-size:.9rem;color:var(--ink-soft);margin:14px 0;display:flex;flex-wrap:wrap;align-items:center;gap:4px 14px}
.cx-offer-acts{display:inline-flex;align-items:center;gap:14px}
.cx-offer-acts a{display:inline-flex;align-items:center;min-height:44px;font-weight:600}
.cx-offer-acts form{margin:0}
@media (max-width:560px){.cx-card,.cx-next,.cx-code{padding:14px 12px}.cx-pair .btn,.cx-pair form{flex:1 1 100%}.cx-pair .btn{width:100%}.cx-code-value{font-size:1.15rem}}

/* Field welcome banner (TA 4.6 UX continuation, Oct 2026): the first thing in the card, reaching its top, left and right
   edges by exactly the card's own padding (.sheet above), hard on those three sides and fading into the card below. */
.sheet > .field-banner{display:block;box-sizing:border-box;width:calc(100% + 76px);max-width:none;margin:-36px -38px 22px;
  height:clamp(170px,30vw,290px);object-fit:cover;object-position:center 45%;border-radius:3px 3px 0 0;
  -webkit-mask-image:linear-gradient(to bottom,#000 66%,transparent);mask-image:linear-gradient(to bottom,#000 66%,transparent)}
@media (max-width:600px){.sheet > .field-banner{width:calc(100% + 40px);margin:-26px -20px 18px;height:clamp(140px,44vw,210px)}}

/* Library category headings (Steward, 22 Oct 2026): name, image and description read as one block; the name is bold and
   in the same purple as the buttons and "How does this work?". */
.lib-cat-head{display:flex;align-items:center;gap:16px;border-top:1px solid var(--rule);padding-top:20px;margin:26px 0 14px}
.lib-cat-head.first{border-top:0;padding-top:0;margin-top:14px}
.lib-cat-title{font-family:var(--sans);font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--purple);margin:0 0 4px}
.lib-cat-head .lib-cat-note{margin:0}

/* "How does this work?" (Steward, 22 Oct 2026): numbered steps joined by a quiet dotted line; words as small white cards. */
details.orient ol.orient-steps{list-style:none;padding:0;margin:12px 0 4px}
.orient-steps li{display:grid;grid-template-columns:28px 1fr;gap:0 12px;position:relative;padding-bottom:12px;margin:0}
.orient-steps li:not(:last-child)::after{content:"";position:absolute;left:13px;top:28px;bottom:0;border-left:1.5px dotted #CDBEE6}
.orient-num{width:26px;height:26px;border-radius:50%;background:#fff;border:1.5px solid var(--purple-mid);color:var(--purple);
  font-weight:700;font-size:.78rem;display:flex;align-items:center;justify-content:center;position:relative;z-index:1}
.orient-steps b{color:var(--ink)}
.orient-words-head{font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--purple);margin:10px 0 0}
.orient-words{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:8px;margin:8px 0 0;font-size:.8rem;color:var(--ink-soft)}
.orient-words > div{background:#fff;border:1px solid #E6DDF3;border-radius:10px;padding:9px 12px}
.orient-words dt{font-weight:700;color:var(--purple);text-transform:uppercase;letter-spacing:.06em;font-size:.72rem;margin:0 0 2px}
.orient-words dd{margin:0;line-height:1.5}

/* Category images (Steward, 22 Oct 2026): soft edges on all four sides that keep the image's square shape. */
.lib-cat-img{flex:0 0 80px;width:80px;height:80px;object-fit:cover;border-radius:6px;
  -webkit-mask-image:linear-gradient(to right,transparent,#000 16%,#000 84%,transparent),linear-gradient(to bottom,transparent,#000 16%,#000 84%,transparent);
  -webkit-mask-composite:source-in;
  mask-image:linear-gradient(to right,transparent,#000 16%,#000 84%,transparent),linear-gradient(to bottom,transparent,#000 16%,#000 84%,transparent);
  mask-composite:intersect}

/* Layer images on the My Mother's Trust picture (Steward, 22 Oct 2026): same square-shaped soft edge as the library categories. */
.arch-img{display:block;width:80px;height:80px;object-fit:cover;margin:0 0 8px;border-radius:6px;
  -webkit-mask-image:linear-gradient(to right,transparent,#000 16%,#000 84%,transparent),linear-gradient(to bottom,transparent,#000 16%,#000 84%,transparent);
  -webkit-mask-composite:source-in;
  mask-image:linear-gradient(to right,transparent,#000 16%,#000 84%,transparent),linear-gradient(to bottom,transparent,#000 16%,#000 84%,transparent);
  mask-composite:intersect}

/* The Field (Steward, 23 Oct 2026): every destination as a card, Scriptorium first. */
.field-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:22px 0 26px}
@media (max-width:820px){.field-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:520px){.field-cards{grid-template-columns:1fr}}
.field-card{display:flex;flex-direction:column;border:1px solid #E6DDF3;border-radius:12px;overflow:hidden;background:#FDFCFF;text-decoration:none;color:inherit;transition:border-color .15s,box-shadow .15s,transform .15s}
.field-card:hover,.field-card:focus-visible{border-color:var(--purple-mid);box-shadow:0 6px 18px rgba(78,37,130,.10);transform:translateY(-1px)}
.field-card.primary{border:1.5px solid var(--purple-mid)}
.field-card .fc-img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover}
.field-card .fc-icon{display:flex;align-items:center;justify-content:center;aspect-ratio:3/2;background:#F3EEFA;color:var(--purple)}
.field-card .fc-body{display:flex;flex-direction:column;gap:4px;padding:12px 14px 14px;font-family:var(--sans)}
.field-card .fc-title{font-weight:700;color:var(--purple);font-size:.95rem}
.field-card .fc-count{display:inline-block;margin-left:6px;padding:0 7px;border-radius:9px;background:#EFE8F8;font-size:.72rem;font-weight:600;vertical-align:2px}
.field-card .fc-text{font-size:.82rem;color:var(--ink-soft);line-height:1.45}

/* The Field cards (Steward, 23 Oct 2026): image beside the text; two columns on wide screens, one on phones. */
.field-cards{grid-template-columns:repeat(2,minmax(0,1fr))}
@media (max-width:720px){.field-cards{grid-template-columns:1fr}}
.field-card{flex-direction:row;align-items:stretch;min-height:118px}
.field-card .fc-img,.field-card .fc-icon{flex:0 0 38%;width:38%;max-width:220px;height:auto;aspect-ratio:auto;object-fit:cover;object-position:center}
.field-card .fc-body{justify-content:center;padding:12px 16px}
@media (max-width:420px){.field-card .fc-img,.field-card .fc-icon{flex-basis:34%;width:34%}.field-card{min-height:104px}}

/* Steward (23 Oct 2026): phone header — the seal at left, one Menu button at right opening a full-width list.
   Desktop and tablets keep the bar exactly as before. */
.mnav{display:none}
@media (max-width:560px){
  html body .memberbar{position:relative;padding:4px 0 4px 52px;min-height:48px}
  html body .memberbar-left,html body .memberbar-right{display:none}
  .mnav{display:block;margin-left:auto}
  .mnav>summary{list-style:none;cursor:pointer;display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 4px 0 6px;
    font:600 .86rem var(--sans);color:var(--purple)}
  .mnav>summary::-webkit-details-marker{display:none}
  .mnav .avatar{margin:0;width:28px;height:28px}
  .mnav-bars{display:inline-flex;flex-direction:column;gap:3px;width:18px}
  .mnav-bars i{display:block;height:2px;border-radius:2px;background:currentColor;transition:transform .2s,opacity .2s}
  .mnav[open] .mnav-bars i:nth-child(1){transform:translateY(5px) rotate(45deg)}
  .mnav[open] .mnav-bars i:nth-child(2){opacity:0}
  .mnav[open] .mnav-bars i:nth-child(3){transform:translateY(-5px) rotate(-45deg)}
  .mnav-panel{position:absolute;left:-4px;right:-4px;top:100%;margin-top:6px;z-index:50;display:flex;flex-direction:column;
    padding:6px 0 10px;background:#fff;border:1px solid #E6DDF3;border-radius:12px;box-shadow:0 12px 30px rgba(43,37,54,.16)}
  .mnav-panel a,.mnav-panel button{display:flex;align-items:center;gap:12px;min-height:46px;padding:0 18px;font:.95rem var(--sans);
    color:#3E3650;text-decoration:none;background:none;border:0;width:100%;text-align:left;cursor:pointer}
  .mnav-panel a:hover,.mnav-panel a:focus-visible,.mnav-panel button:hover{background:#F6F2FB}
  .mnav-panel a.here{color:var(--purple);font-weight:700;background:#F3EEFA}
  .mnav-panel .ico{display:inline-block!important;width:18px;height:18px;color:var(--purple-mid)}
  .mnav-panel form{margin:4px 0 0;border-top:1px solid #EFEAF5;padding-top:4px}
  .mnav-panel button{color:#7A3B3B}
  .mnav-h{margin:8px 18px 2px;font:700 .68rem var(--sans);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-faint)}
}

/* Steward (23 Oct 2026): on phones the seal lines up with the page's own 24 px margins, top and left, and the Menu
   button's right edge lines up with the sheet below; the bar is centred on the seal. */
@media (max-width:560px){
  html body .shell-member .crest{top:24px;left:24px;height:36px}
  html body .shell-member .crest a{min-width:36px;min-height:44px;margin:-4px 0 0;justify-content:flex-start}
  html body .memberbar{margin-top:18px;padding:0 0 4px 52px;min-height:48px;align-items:center}
  .mnav>summary{padding-right:0}
}
/* Steward (23 Oct 2026): the seal sat 12 px low against its bar; it now shares the bar's centre line, its top edge at the page's 24 px margin. */
@media (max-width:560px){ html body .shell-member .crest{top:12px} }

/* Steward (23 Oct 2026): library category names a step larger */
.lib-cat-title{font-size:.95rem;letter-spacing:.09em}
/* My Mother's Trust: two ways to begin, side by side (stacked on narrow screens); guided preparation recommended first */
.mmt-begin{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:22px 0 8px}
@media (max-width:760px){.mmt-begin{grid-template-columns:1fr}}
.mmt-way{border:1px solid #E6DDF3;border-radius:12px;padding:16px 18px;background:#FDFCFF;display:flex;flex-direction:column;align-items:flex-start;gap:8px}
.mmt-way-rec{border:1.5px solid var(--purple-mid)}
.mmt-way h2{font:700 .98rem var(--sans);color:var(--purple);margin:0;display:flex;align-items:center;gap:10px}
.mmt-way p{font-family:var(--sans);font-size:.84rem;color:var(--ink-soft);margin:0 0 4px;line-height:1.5}
.mmt-way .btn{margin-top:auto}
.mmt-way-alt{font-family:var(--sans);font-size:.8rem}
.mmt-n{display:inline-flex;align-items:center;justify-content:center;flex:none;width:24px;height:24px;border-radius:50%;border:1.5px solid var(--purple-mid);background:#fff;font-size:.74rem}
.sheet-head.with-art:has(.mmt-begin){grid-template-columns:minmax(0,1fr) auto}
/* the page art is never stretched beyond its own size */
.area-art-img-mmt{width:auto;max-width:min(220px,30vw)}
/* layer cards: image beside the text, like The Field; the explanation reads before the picture */
figure.arch{display:flex;flex-direction:column}
figure.arch>figcaption{order:-1;margin:0 0 14px}
.arch-box:has(.arch-img){display:grid;grid-template-columns:72px minmax(0,1fr);column-gap:14px;align-items:start}
.arch-box:has(.arch-img)>.arch-img{grid-row:1 / span 3;width:72px;height:72px;margin:0}
.arch-box:has(.arch-img)>b,.arch-box:has(.arch-img)>small,.arch-box:has(.arch-img)>.arch-exp{grid-column:2}
@media (max-width:420px){.arch-box:has(.arch-img){grid-template-columns:56px minmax(0,1fr)}.arch-box:has(.arch-img)>.arch-img{width:56px;height:56px}}

/* Steward (23 Oct 2026): the living tree melts into the page — a soft fade on every edge, stronger than the image's own. */
.area-art-img-mmt{
  -webkit-mask-image:radial-gradient(ellipse 72% 72% at 50% 48%,#000 52%,rgba(0,0,0,.6) 70%,transparent 100%);
          mask-image:radial-gradient(ellipse 72% 72% at 50% 48%,#000 52%,rgba(0,0,0,.6) 70%,transparent 100%)}

/* Steward (23 Oct 2026): on narrow screens the My Mother's Trust heading uses one column again, so the title and the
   two ways to begin line up with the tabs; the living tree sits centred above, as designed. */
@container (max-width:560px){ .sheet-head.with-art:has(.mmt-begin){grid-template-columns:1fr} }
@media (max-width:600px){ .sheet-head.with-art:has(.mmt-begin){grid-template-columns:1fr}
  .sheet-head.with-art:has(.mmt-begin) .area-art-img-mmt{width:200px;max-width:64%;margin:4px auto 0;justify-self:center;order:-1} }

/* Steward (23 Oct 2026): show-password button inside every password field */
.pw-wrap{position:relative;display:block}
.pw-wrap>input{padding-right:48px!important}
.pw-eye{position:absolute;top:50%;right:4px;transform:translateY(-50%);width:40px;height:40px;display:flex;align-items:center;justify-content:center;
  background:none;border:0;border-radius:8px;color:#6E6480;cursor:pointer;padding:0}
.pw-eye:hover{color:var(--purple,#4E2582);background:rgba(78,37,130,.06)}
.pw-eye:focus-visible{outline:2px solid var(--purple-mid,#7B52B0);outline-offset:1px}

/* UI-COLOR-01 (TA 4.6, 24 Oct 2026): association colour symbolism — thin edges and labelled tags only; presentation, not classification */
:root{--dm-air:#5E3E96;--dm-land:#8C3A4E;--dm-water:#3A5F80}
@media (prefers-color-scheme: dark){:root{--dm-air:#B9A3E3;--dm-land:#E09AAB;--dm-water:#9DBBD6}}
.dm-tag{display:inline-flex;align-items:center;gap:5px;font:600 .66rem var(--sans);letter-spacing:.06em;text-transform:uppercase;color:var(--dm-c);border:1px solid var(--dm-c);border-radius:999px;padding:1px 8px;line-height:1.5;vertical-align:middle;background:transparent;white-space:nowrap}
.dm-dot{width:6px;height:6px;border-radius:50%;background:var(--dm-c);flex:none}
.dm-air{--dm-c:var(--dm-air)}.dm-land{--dm-c:var(--dm-land)}.dm-water{--dm-c:var(--dm-water)}
.dm-edge{border-left:3px solid var(--dm-c)!important;border-top-left-radius:0!important;border-bottom-left-radius:0!important}
.dm-band{border-top:3px solid var(--dm-c);padding-top:8px}
.dm-legend{margin:10px 0;font:.8rem var(--sans);color:var(--ink-soft)}
.dm-legend>summary{cursor:pointer;color:var(--purple);font-weight:600}
.dm-legend p{margin:6px 0 0;max-width:70ch;line-height:1.5}

/* Steward (25 Oct 2026): phone tabs on one line, the library link above them */
@media (max-width:560px){
  .mx-way{flex-wrap:wrap;align-items:flex-end}
  .mx-way-back{order:0;flex:1 0 100%;margin:0 0 2px;text-align:right}
  .mx-way-tabs{order:1;gap:14px;font-size:.8rem;white-space:nowrap}
  .mx-way-tabs a{padding:8px 0 7px}
}
/* Steward (25 Oct 2026): the stages always visible and clickable (as in Scriptorium 1.0), with previous / next */
.wf-crumbs{margin:0 0 8px;font:.78rem var(--sans);color:var(--ink-soft)}
.wf-crumbs b{color:var(--ink);font-weight:600}
.wf-crumbs span[aria-hidden]{margin:0 6px;color:var(--ink-faint)}
.stage-chips{list-style:none;margin:8px 0 4px;padding:0;display:flex;flex-wrap:wrap;gap:6px}
.stage-chips li a,.stage-chips li span.sc{display:inline-flex;align-items:center;gap:6px;min-height:34px;padding:3px 10px 3px 4px;border:1px solid #E1D9EE;border-radius:999px;font-size:.78rem;text-decoration:none;color:var(--ink-soft);background:#fff}
.stage-chips .sc-n{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;background:#F1ECF7;color:var(--purple);font-weight:700;font-size:.74rem}
.stage-chips li a:hover{border-color:var(--purple-mid);color:var(--purple)}
.stage-chips li.sl-current a{border-color:var(--purple);color:var(--purple);font-weight:600;background:#F8F5FC}
.stage-chips li.sl-current .sc-n{background:var(--purple);color:#fff}
.stage-chips li.sl-visited .sc-n,.stage-chips li.sl-ready .sc-n{background:#E7F3EA;color:#2F6B3F}
.stage-chips li.sl-needs .sc-n{background:#FFF1E6;color:#8A4B12}
.stage-chips li span.sc{opacity:.55;cursor:not-allowed}
.stage-step{display:flex;justify-content:space-between;gap:12px;margin:4px 0 0;font:.8rem var(--sans)}
@media (max-width:560px){.stage-chips .sc-t{display:none}.stage-chips li.sl-current .sc-t{display:inline}.stage-chips li a,.stage-chips li span.sc{padding-right:4px}.stage-chips li.sl-current a{padding-right:10px}}

/* Steward (25 Oct 2026): the slim My Mother's Trust journey strip (creation pages only) */
.jy{margin:0 0 14px;padding:10px 12px;border:1px solid #ECE6F4;border-radius:10px;background:#FDFCFF;font-family:var(--sans)}
.jy-h{margin:0 0 8px;font:700 .66rem var(--sans);letter-spacing:.1em;text-transform:uppercase;color:var(--purple)}
.jy ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:4px 2px;align-items:center}
.jy li{display:flex;align-items:center;font-size:.76rem;color:var(--ink-soft)}
.jy li:not(:last-child)::after{content:"›";margin:0 6px;color:var(--ink-faint)}
.jy a,.jy li>span{display:inline-flex;align-items:center;gap:6px;text-decoration:none;color:inherit;padding:3px 4px;border-radius:6px}
.jy a:hover{color:var(--purple);background:#F6F2FB}
.jy-n{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;border:1px solid #D9D1E6;font-size:.68rem;font-weight:700;flex:none}
.jy-done .jy-n{background:#E7F3EA;border-color:#8FBF9C;color:#2F6B3F}
.jy-cur .jy-n{background:var(--purple);border-color:var(--purple);color:#fff}
.jy-cur{color:var(--purple);font-weight:700}
.jy small{font-weight:400;color:var(--ink-faint)}
@media (max-width:560px){.jy .jy-t{display:none}.jy li.jy-cur .jy-t{display:inline}}

/* Steward (25 Oct 2026): phone fixes — the Progress panel stays on screen; the journey strip fits on one line */
@media (max-width:560px){
  .wf-drawer-panel{position:fixed;top:auto;left:12px;right:12px;width:auto;max-height:65vh;margin-top:6px}
  .jy{padding:8px 10px}
  .jy-h{margin-bottom:6px}
  .jy ol{flex-wrap:nowrap;gap:0}
  .jy li:not(:last-child)::after{margin:0 3px}
  .jy a,.jy li>span{padding:2px;gap:4px}
  .jy-n{width:22px;height:22px}
  .jy li.jy-cur .jy-t{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:9.5em}
}

/* UI-COLOR-01-E1: identity marker beside an approved question label — neutral styling; any domain tag sits separately */
.im-tag{display:inline-flex;align-items:center;margin-left:8px;font:600 .64rem var(--sans);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft);border:1px solid #CFC8DA;border-radius:999px;padding:1px 8px;line-height:1.5;vertical-align:middle;background:transparent}
.gi-label .dm-tag{margin-left:4px}

/* Steward (25 Oct 2026): library — one card style for every option, and a clear category → option hierarchy */
.lib-cat-head{margin-top:34px}
.lib-cat-head.first{margin-top:10px}
.lib-cat-title{font-size:.86rem;letter-spacing:.1em}
.lib-options{margin:12px 0 0;padding:12px;border-radius:12px;background:#F7F4FB;border-left:3px solid #E2D8EF}
.lib-options .lib-tile,.lib-options .lib-soon{margin-left:0;width:100%}
.lib-options .lib-tile{background:#fff;margin-bottom:10px}
.lib-options .lib-tile:last-child{margin-bottom:0}
.lib-tile{align-items:center}
.lib-tile-link{text-decoration:none;color:inherit}
.lib-tagrow{display:block;margin:0 0 4px}
.lib-kind{text-transform:uppercase;letter-spacing:.04em;font-size:.68rem!important;color:var(--ink-faint)!important}
.lib-go{flex:none;align-self:center;pointer-events:none}
@media (max-width:560px){.lib-tile{flex-wrap:wrap}.lib-go{margin-left:48px}.lib-options{padding:8px}}
/* Steward (25 Oct 2026): library cards on phones — text keeps its full width; the Prepare button sits beneath it */
@media (max-width:560px){
  .lib-tile{flex-wrap:wrap;align-items:flex-start}
  .lib-body{flex:1 1 calc(100% - 52px)}
  .lib-go{margin:10px 0 0 48px}
}
/* Steward (25 Oct 2026): library — the tint marks each category heading (no ruler between categories); options sit plainly beneath */
.lib-cat-head,.lib-cat-head.first{border-top:0;background:#F7F4FB;border-radius:12px;padding:12px 14px}
.lib-cat-head{margin:30px 0 12px}
.lib-cat-head.first{margin-top:10px}
.lib-options{background:transparent;border-left:0;padding:0;border-radius:0;margin:0}
@media (max-width:560px){.lib-cat-head,.lib-cat-head.first{padding:10px}.lib-options{padding:0}}
/* Steward (25 Oct 2026): library — options nested beneath their heading; a slightly deeper heading tint; space before "How does this work?" */
.lib-cat-head,.lib-cat-head.first{background:#EFE7F8}
.lib-options{margin-left:22px}
.lib-options + details.orient,.lib-options ~ details.orient,#browse details.orient{margin-top:18px}
@media (max-width:560px){.lib-options{margin-left:12px}}
