:root {
  --canvas:#f6f4ef; --paper:#fffefd; --ink:#18313b; --muted:#64747a; --faint:#a1acae; --line:#dfdfd9; --soft:#eef0eb;
  --teal:#16636b; --teal-dark:#104c53; --sky:#e3f0ef; --amber:#9a5b16; --red:#a53d34;
  --serif:Iowan Old Style,Palatino Linotype,Book Antiqua,Georgia,serif; --sans:ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --ease-out:cubic-bezier(.16,1,.3,1);
}
* { box-sizing:border-box; }
html { min-height:100%; background:var(--canvas); }
body { min-height:100vh; margin:0; color:var(--ink); background:var(--canvas); font-family:var(--sans); }
button,input,textarea { font:inherit; }
button { cursor:pointer; }
button:disabled { cursor:wait; opacity:.62; }
button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible { outline:3px solid rgba(22,99,107,.35); outline-offset:3px; }
.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; }

.app-header { position:sticky; z-index:5; top:0; display:flex; align-items:center; justify-content:space-between; min-height:68px; padding:0 clamp(1.2rem,4vw,4rem); border-bottom:1px solid var(--line); background:rgba(246,244,239,.92); backdrop-filter:blur(14px); }
.wordmark { color:var(--ink); font-size:1.17rem; font-weight:740; letter-spacing:-.07em; text-decoration:none; }.wordmark span { color:var(--teal); }
.header-right { display:flex; align-items:center; gap:.65rem; }.header-button { min-height:36px; padding:.4rem .68rem; border:1px solid var(--line); border-radius:7px; color:var(--ink); background:var(--paper); font-size:.8rem; font-weight:620; transition:border-color 150ms ease,background 150ms ease; }.header-button:hover { border-color:#b9c3c1; background:#fbfcfa; }.reset-control { color:var(--muted); }
.count { display:inline-grid; min-width:1.2rem; height:1.2rem; margin-left:.3rem; place-items:center; border-radius:99px; color:var(--teal-dark); background:var(--sky); font-size:.7rem; }.runtime { display:flex; align-items:center; gap:.4rem; min-width:0; margin-left:.35rem; color:var(--muted); font-size:.75rem; white-space:nowrap; }.runtime-dot { width:.45rem; height:.45rem; border-radius:50%; background:#4d9a82; }.runtime-detail { overflow:hidden; max-width:180px; color:var(--faint); text-overflow:ellipsis; }

.app-shell { width:min(100% - 2.5rem,960px); margin:0 auto; padding:clamp(3rem,6vw,5rem) 0 4.5rem; }.experience { min-height:0; }
.feedback { position:fixed; z-index:9; top:84px; left:50%; width:min(calc(100% - 2rem),560px); margin:0; padding:.85rem 1rem; transform:translateX(-50%); border:1px solid #e5beb9; border-radius:9px; color:#7f2d27; background:#fff8f6; box-shadow:0 10px 24px rgba(42,50,49,.1); font-size:.9rem; line-height:1.5; }.feedback[data-tone="success"] { border-color:#b8d3c3; color:#1a664f; background:#f5fbf6; }

.start-workspace { display:grid; grid-template-columns:minmax(0,1fr) 290px; align-items:start; gap:clamp(2rem,5vw,4.5rem); }.start-copy { max-width:620px; }.eyebrow { margin:0; color:var(--teal); font-size:.78rem; font-weight:760; letter-spacing:.1em; }.start-copy h1,.task-card h1 { margin:.7rem 0 0; color:var(--ink); font-family:var(--serif); font-size:clamp(2.5rem,4.6vw,3.7rem); font-weight:500; letter-spacing:-.06em; line-height:1.02; }.start-copy>p:not(.eyebrow):not(.trust-line) { max-width:600px; margin:1.1rem 0 0; color:var(--muted); font-size:1.08rem; line-height:1.65; }
.task-actions { display:flex; flex-wrap:wrap; gap:.7rem; margin-top:1.6rem; }.button { display:inline-flex; min-height:46px; align-items:center; justify-content:center; gap:.8rem; padding:.72rem 1.05rem; border:1px solid transparent; border-radius:7px; font-size:.92rem; font-weight:680; transition:transform 150ms var(--ease-out),background 150ms ease,border-color 150ms ease,box-shadow 150ms ease; }.button:not(:disabled):hover { transform:translateY(-1px); }.button.primary { color:#fff; background:var(--teal); box-shadow:0 5px 10px rgba(16,76,83,.15); }.button.primary:not(:disabled):hover { background:var(--teal-dark); }.button.secondary { border-color:#c9d1cd; color:var(--ink); background:var(--paper); }.button.secondary:not(:disabled):hover { border-color:#8aa9a5; background:#f9fbf8; }.button.danger { color:#fff; background:var(--red); }
.trust-line { display:flex; align-items:center; gap:.45rem; margin:1.2rem 0 0; color:var(--muted); font-size:.84rem; }.trust-line span { color:#4d9a82; font-size:.65rem; }.source-preview { padding:1.2rem 0 0 1.25rem; border-left:2px solid #bad3d0; }.source-preview p { margin:0; color:var(--teal); font-size:.72rem; font-weight:760; letter-spacing:.09em; }.source-preview blockquote { margin:1rem 0; color:#36515a; font-family:var(--serif); font-size:1.25rem; line-height:1.35; }.source-preview span { color:var(--muted); font-size:.88rem; line-height:1.52; }

.composer-workspace { display:block; max-width:720px; margin:0 auto; }.back-link { padding:0; border:0; color:var(--muted); background:transparent; font-size:.86rem; font-weight:650; }.back-link:hover { color:var(--teal); }.composer-workspace .start-copy { margin-top:1.3rem; }.composer-workspace .start-copy h1 { font-size:clamp(2.2rem,4vw,3.2rem); }.intake-form { display:grid; gap:1.1rem; margin-top:1.6rem; padding:clamp(1.25rem,3vw,1.7rem); border:1px solid var(--line); border-radius:12px; background:var(--paper); box-shadow:0 15px 35px rgba(31,48,51,.05); }.intake-form label,.reroute-form label,.acceptance-form label { display:grid; gap:.5rem; color:var(--muted); font-size:.85rem; font-weight:660; }.intake-form input,.intake-form textarea,.answer-form input,.reroute-form input,.acceptance-form input { width:100%; border:1px solid #cbd3d1; border-radius:6px; color:var(--ink); background:#fff; font-size:1rem; outline:none; transition:border-color 120ms ease,box-shadow 120ms ease; }.intake-form input,.reroute-form input,.answer-form input,.acceptance-form input { min-height:47px; padding:.7rem .8rem; }.intake-form textarea { min-height:140px; padding:.8rem; resize:vertical; line-height:1.55; }.intake-form input:focus,.intake-form textarea:focus,.answer-form input:focus,.reroute-form input:focus,.acceptance-form input:focus { border-color:var(--teal); box-shadow:0 0 0 3px rgba(22,99,107,.12); }

.focus-workspace { max-width:820px; margin:0 auto; }.workspace-meta { display:flex; align-items:center; gap:.68rem; min-height:20px; color:var(--muted); font-size:.86rem; }.workspace-meta>span:not(.state-dot) { padding-left:.68rem; border-left:1px solid var(--line); }.state-dot { margin-left:auto; color:var(--teal); font-size:.76rem; font-weight:700; text-transform:capitalize; }.state-dot[data-tone="attention"] { color:var(--amber); }.state-dot[data-tone="complete"] { color:#2b7b62; }
.stepper { display:flex; max-width:520px; margin:2rem 0 1.45rem; padding:0; list-style:none; }.stepper li { position:relative; display:flex; flex:1; align-items:center; gap:.45rem; color:var(--faint); font-size:.82rem; }.stepper li:not(:last-child):after { position:absolute; z-index:-1; top:50%; left:1.15rem; right:0; height:1px; background:#d8dedb; content:""; }.stepper li span { display:grid; width:1.25rem; height:1.25rem; place-items:center; border:1px solid #cdd5d1; border-radius:50%; color:var(--muted); background:var(--canvas); font-size:.7rem; }.stepper li.complete,.stepper li.active { color:var(--ink); }.stepper li.complete span { border-color:var(--teal); color:#fff; background:var(--teal); }.stepper li.active span { border-color:var(--teal); color:var(--teal); box-shadow:0 0 0 4px rgba(22,99,107,.09); }
.focus-column { display:grid; gap:1rem; }.context-disclosure,.packet-disclosure,.why-disclosure { border:1px solid var(--line); border-radius:8px; background:rgba(255,254,253,.65); }.context-disclosure summary,.packet-disclosure summary,.why-disclosure summary { display:flex; align-items:center; justify-content:space-between; gap:1rem; min-height:48px; padding:.7rem .95rem; cursor:pointer; color:var(--ink); font-size:.88rem; font-weight:680; list-style:none; }.context-disclosure summary::-webkit-details-marker,.packet-disclosure summary::-webkit-details-marker,.why-disclosure summary::-webkit-details-marker { display:none; }.context-disclosure summary:after,.packet-disclosure summary:after,.why-disclosure summary:after { color:var(--teal); content:"+"; font-size:1.1rem; font-weight:400; }.context-disclosure[open] summary:after,.packet-disclosure[open] summary:after,.why-disclosure[open] summary:after { content:"−"; }.summary-detail { overflow:hidden; color:var(--muted); font-size:.78rem; font-weight:500; text-overflow:ellipsis; white-space:nowrap; }.context-content,.packet-content,.why-disclosure>p { padding:0 .95rem 1rem; border-top:1px solid var(--line); }.context-content blockquote { margin:.9rem 0; padding-left:.9rem; border-left:2px solid #bcd8d6; color:#40545a; font-family:var(--serif); font-size:1.16rem; line-height:1.48; }.context-content ul { display:grid; gap:.4rem; margin:0; padding:0; list-style:none; }.context-content li { display:flex; justify-content:space-between; gap:1rem; padding-top:.45rem; border-top:1px solid #eff0ed; color:var(--muted); font-size:.82rem; }.context-content strong { color:var(--ink); font-weight:620; }

.task-card { padding:clamp(1.45rem,4vw,2.4rem); border:1px solid #d4dcd7; border-radius:12px; background:var(--paper); box-shadow:0 17px 38px rgba(31,48,51,.06); }.task-card h1 { max-width:720px; font-size:clamp(2.15rem,4vw,3.15rem); }.task-copy { max-width:660px; margin:1rem 0 0; color:var(--muted); font-size:1.04rem; line-height:1.62; }.answer-form { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:.65rem; margin-top:1.55rem; }.why-disclosure { margin-top:1.1rem; border-color:transparent; background:var(--soft); }.why-disclosure summary { min-height:42px; padding:.5rem .7rem; color:var(--muted); font-size:.8rem; }.why-disclosure>p { margin:0; padding:.1rem .7rem .7rem; border:0; color:var(--muted); font-size:.8rem; line-height:1.55; }.task-note { margin:.9rem 0 0; color:var(--faint); font-size:.78rem; }
.commitment-contract { margin-top:1.45rem; padding:1rem 1.05rem; border:1px solid #b9d5d2; border-radius:8px; background:#f2f8f7; }.contract-heading { display:flex; justify-content:space-between; gap:1rem; color:var(--teal); font-size:.78rem; font-weight:720; }.contract-heading strong { color:#527176; font-family:ui-monospace,SFMono-Regular,Menlo,monospace; font-size:.76rem; }.commitment-contract h2 { margin:.65rem 0 0; color:var(--ink); font-family:var(--serif); font-size:1.55rem; font-weight:500; letter-spacing:-.035em; }.commitment-contract dl { display:grid; grid-template-columns:1fr 1fr; gap:.85rem 1.15rem; margin:1rem 0 0; }.commitment-contract dl div:last-child { grid-column:1/-1; padding-top:.75rem; border-top:1px solid #d1e4e1; }.commitment-contract dt { color:var(--muted); font-size:.76rem; }.commitment-contract dd { margin:.25rem 0 0; color:var(--ink); font-size:.9rem; font-weight:610; line-height:1.42; }
.ownership-summary { display:grid; grid-template-columns:1fr 1fr; gap:.9rem 1.2rem; margin-top:1rem; padding:1rem; border-radius:8px; background:var(--soft); }.ownership-summary div:last-child { grid-column:1/-1; padding-top:.8rem; border-top:1px solid #dbe0db; }.ownership-summary span { display:block; margin-bottom:.3rem; color:var(--muted); font-size:.74rem; }.ownership-summary strong { display:block; color:var(--ink); font-size:.88rem; font-weight:650; line-height:1.45; }.acceptance-form { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:end; gap:.65rem; margin-top:1rem; }.packet-disclosure { margin-top:1rem; }.packet-content>p { color:var(--muted); font-size:.9rem; line-height:1.62; }.packet-columns { display:grid; grid-template-columns:1fr 1fr; gap:.8rem; margin-top:1rem; }.packet-columns>div { padding:.85rem; border-radius:6px; background:#f6f7f4; }.packet-columns h3 { margin:0; color:var(--teal); font-size:.78rem; }.packet-columns ul { display:grid; gap:.42rem; margin:.6rem 0 0; padding-left:1rem; color:#53636a; font-size:.8rem; line-height:1.48; }.next-step { display:flex; gap:.6rem; margin-top:1rem!important; padding-top:.85rem; border-top:1px solid var(--line); }.next-step span { color:var(--teal); font-weight:700; }.packet-content small { color:var(--faint); font-size:.75rem; }.exception-actions { display:flex; align-items:center; flex-wrap:wrap; gap:.8rem; margin-top:1rem; }.text-action { margin-top:1rem; padding:0; border:0; color:var(--teal); background:transparent; font-size:.84rem; font-weight:680; text-decoration:underline; text-underline-offset:3px; }.exception-actions .text-action { margin:0; }.attention-card { border-color:#e8c68f; background:#fffdf9; }.recommendation-card { margin-top:1.25rem; padding:1rem; border:1px solid #ead6ad; border-radius:8px; background:#fff8eb; }.recommendation-card span { display:block; color:var(--amber); font-size:.76rem; font-weight:720; }.recommendation-card strong { display:block; margin-top:.35rem; font-size:1rem; }.recommendation-card p { margin:.35rem 0 0; color:#6d6554; font-size:.88rem; line-height:1.5; }.complete-card { border-color:#bdd7ca; }.completion-receipt { display:flex; align-items:center; gap:.8rem; margin-top:1.5rem; padding:1rem; border:1px solid #cce0d5; border-radius:8px; background:#f5faf6; }.completion-receipt>span { display:grid; width:2rem; height:2rem; flex:0 0 auto; place-items:center; border-radius:50%; color:#fff; background:#347963; font-size:1.1rem; }.completion-receipt strong { display:block; font-size:.9rem; }.completion-receipt p { margin:.18rem 0 0; color:var(--muted); font-size:.8rem; }.reroute-form { display:grid; gap:.8rem; margin-top:1rem; }.reroute-form .button { justify-self:start; }

.drawer-scrim { position:fixed; z-index:7; inset:0; background:rgba(20,33,36,.24); }.history-drawer { position:fixed; z-index:8; top:0; right:0; width:min(430px,92vw); height:100dvh; padding:1.5rem; transform:translateX(102%); border-left:1px solid var(--line); background:var(--paper); box-shadow:-15px 0 36px rgba(29,43,45,.1); transition:transform 200ms var(--ease-out); overflow:auto; }.history-drawer.open { transform:translateX(0); }.drawer-header { display:flex; align-items:flex-start; justify-content:space-between; }.drawer-header h2 { margin:.36rem 0 0; font-family:var(--serif); font-size:1.9rem; font-weight:500; letter-spacing:-.04em; }.icon-button { display:grid; width:2.15rem; height:2.15rem; place-items:center; border:1px solid var(--line); border-radius:6px; color:var(--ink); background:var(--paper); font-size:1.4rem; }.drawer-copy { max-width:340px; margin:1rem 0 1.3rem; color:var(--muted); font-size:.9rem; line-height:1.55; }.history-list { display:grid; gap:.6rem; }.history-empty { color:var(--muted); font-size:.9rem; line-height:1.5; }.history-item { position:relative; display:grid; grid-template-columns:1fr auto; gap:.32rem .6rem; width:100%; padding:.9rem; border:1px solid var(--line); border-radius:8px; text-align:left; color:var(--ink); background:#fff; transition:border-color 120ms ease,background 120ms ease; }.history-item:hover,.history-item.selected { border-color:#9abcb7; background:#f8fbf9; }.history-state { color:var(--teal); font-size:.74rem; font-weight:720; text-transform:capitalize; }.history-state[data-tone="attention"] { color:var(--amber); }.history-state[data-tone="complete"] { color:#2b7b62; }.history-item strong { grid-column:1; font-size:.92rem; }.history-item small { grid-column:1; overflow:hidden; color:var(--muted); font-size:.78rem; text-overflow:ellipsis; white-space:nowrap; }.history-item time { position:absolute; top:.9rem; right:.9rem; color:var(--faint); font-size:.7rem; }
.offer-ledger { padding:1rem; border:1px solid #d4dfda; border-radius:8px; background:#f6faf8; }.offer-ledger>p { margin:0; color:var(--teal); font-size:.78rem; font-weight:720; }.offer-ledger ol { display:grid; gap:.65rem; margin:.75rem 0 0; padding:0; list-style:none; }.offer-ledger li { display:grid; grid-template-columns:1fr auto; gap:.2rem .5rem; padding-top:.65rem; border-top:1px solid #dce8e2; }.offer-ledger strong { font-size:.88rem; }.offer-ledger span { color:var(--teal); font-size:.74rem; font-weight:700; text-transform:capitalize; }.offer-ledger span[data-status="DECLINED"],.offer-ledger span[data-status="EXPIRED"] { color:var(--amber); }.offer-ledger small { grid-column:1/-1; color:var(--muted); font-size:.78rem; }.trace-list { display:grid; gap:1rem; margin:1.45rem 0 0; padding:0; list-style:none; }.trace-list li { display:grid; grid-template-columns:58px 1fr; gap:.85rem; }.trace-list time { padding-top:.1rem; color:var(--teal); font-size:.72rem; }.trace-list strong { display:block; color:#385057; font-size:.78rem; letter-spacing:.02em; text-transform:capitalize; }.trace-list p { margin:.25rem 0; color:var(--muted); font-size:.84rem; line-height:1.5; }.trace-list small { color:var(--faint); font-size:.7rem; }.drawer-reset { width:100%; margin-top:1rem; min-height:42px; border:1px solid #d9c1bd; border-radius:7px; color:#834038; background:#fffafa; font-size:.84rem; font-weight:650; }

.reset-dialog { width:min(430px,calc(100% - 2rem)); padding:0; border:1px solid var(--line); border-radius:12px; color:var(--ink); background:var(--paper); box-shadow:0 22px 60px rgba(21,35,37,.22); }.reset-dialog::backdrop { background:rgba(20,33,36,.34); }.reset-dialog form { padding:1.4rem; }.reset-dialog h2 { margin:.7rem 0 0; font-family:var(--serif); font-size:1.8rem; font-weight:500; letter-spacing:-.04em; }.reset-dialog p:not(.eyebrow) { color:var(--muted); font-size:.78rem; line-height:1.6; }.dialog-actions { display:flex; justify-content:flex-end; flex-wrap:wrap; gap:.55rem; margin-top:1.4rem; }
.card-enter { animation:card-enter 210ms var(--ease-out) both; } @keyframes card-enter { from { opacity:0; transform:translateY(8px); } to { opacity:1; transform:translateY(0); } }
@media (prefers-reduced-motion:reduce) { *,*::before,*::after { scroll-behavior:auto!important; animation-duration:.01ms!important; animation-iteration-count:1!important; transition-duration:.01ms!important; } }
@media (max-width:720px) { .app-header { min-height:59px; padding:0 1rem; }.runtime { display:none; }.header-right { gap:.35rem; }.header-button { padding:.35rem .52rem; font-size:.74rem; }.app-shell { width:min(100% - 1.5rem,960px); padding-top:2.8rem; }.experience { min-height:auto; }.start-workspace { grid-template-columns:1fr; gap:2rem; }.start-copy h1,.task-card h1 { font-size:clamp(2.15rem,10vw,3.15rem); }.source-preview { max-width:500px; }.stepper { margin-top:1.7rem; }.workspace-meta { gap:.45rem; }.workspace-meta>span:not(.state-dot) { overflow:hidden; max-width:120px; padding-left:.45rem; text-overflow:ellipsis; white-space:nowrap; }.answer-form,.reroute-form,.acceptance-form { grid-template-columns:1fr; }.answer-form .button,.reroute-form .button,.acceptance-form .button { width:100%; }.task-actions .button { flex:1 1 auto; }.packet-columns,.commitment-contract dl { grid-template-columns:1fr; }.commitment-contract dl div:last-child { grid-column:auto; }.ownership-summary { grid-template-columns:1fr; }.ownership-summary div:last-child { grid-column:auto; }.history-drawer { width:min(360px,94vw); }.feedback { top:69px; }.reset-control { display:none; } }
