.jw-astra{--jw-canvas:#f7f6f2;--jw-surface:#fff;--jw-ink:#20272c;--jw-muted:#58616a;--jw-accent:#203a52;--jw-line:#dddfe2;--jw-tint:#edf1f5;--jw-warm:#f4edde;--jw-ease:cubic-bezier(.16,1,.3,1);--jw-ui:240ms;color:var(--jw-ink);font-family:inherit;font-size:16px;line-height:1.65}
[data-theme=dark] .jw-astra{--jw-canvas:#15191f;--jw-surface:#20262e;--jw-ink:#f5f5f2;--jw-muted:#bcc2c9;--jw-accent:#a8bed2;--jw-line:#424952;--jw-tint:#293540;--jw-warm:#353126}
@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .jw-astra{--jw-canvas:#15191f;--jw-surface:#20262e;--jw-ink:#f5f5f2;--jw-muted:#bcc2c9;--jw-accent:#a8bed2;--jw-line:#424952;--jw-tint:#293540;--jw-warm:#353126}}
.jw-astra *{box-sizing:border-box}
.jw-astra a{color:var(--jw-accent);text-underline-offset:4px}
.jw-astra button,.jw-astra input,.jw-astra select{font:inherit}
.jw-astra button{color:inherit;cursor:pointer}
.jw-astra button,.jw-astra a,.jw-astra select{touch-action:manipulation;-webkit-tap-highlight-color:transparent}
.jw-astra button:disabled{opacity:.45;cursor:default}
.jw-astra [hidden]{display:none!important}
.jw-astra button:focus-visible,.jw-astra a:focus-visible,.jw-astra summary:focus-visible,.jw-astra select:focus-visible,.jw-astra input:focus-visible{outline:3px solid var(--jw-accent);outline-offset:4px}
.jw-astra button{transition:background-color var(--jw-ui) ease,border-color var(--jw-ui) ease,transform 120ms var(--jw-ease)}
.jw-astra button:active{transform:scale(.98)}
.jw-astra .eyebrow{font-size:12px;text-transform:uppercase;letter-spacing:.13em;color:var(--jw-muted);font-weight:600;margin:0 0 14px}
.jw-astra h1,.jw-astra h2,.jw-astra h3{font:400 42px/1.12 Newsreader,Georgia,serif;letter-spacing:-.025em;margin:0}
.jw-astra h1{font-size:clamp(42px,5vw,68px);max-width:960px}
.jw-astra h2{font-size:36px}
.jw-astra h3{font-size:28px}
.jw-astra h4{font-size:16px;line-height:1.4;margin:0 0 8px}
.jw-astra p{margin:0 0 16px}
.jw-astra .badge{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--jw-line);background:var(--jw-surface);padding:4px 10px;border-radius:20px;font-size:12px;line-height:1.6}
.jw-astra .badge.intent{background:var(--jw-warm);border-style:dashed}
.jw-astra .badge.production{background:var(--jw-tint)}
.jw-astra .btn{border:1px solid var(--jw-line);background:var(--jw-surface);border-radius:12px;min-height:44px;padding:10px 16px;font-size:14px;text-decoration:none;display:inline-flex;justify-content:center;align-items:center;gap:8px;color:var(--jw-accent)}
.jw-astra .btn.primary{background:var(--jw-accent);color:var(--jw-canvas);border-color:var(--jw-accent)}
.jw-astra .btn.small{font-size:12px}
.jw-astra .section{margin:32px 0 52px}
.jw-astra .section-head{display:flex;justify-content:space-between;align-items:end;gap:22px;margin-bottom:22px}
.jw-astra .section-head p{max-width:560px;margin:14px 0 0;color:var(--jw-muted)}
.jw-astra .figure{background:var(--jw-surface);border:1px solid var(--jw-line);border-radius:20px;padding:28px;overflow:hidden}
.jw-astra .figure-cap{display:flex;gap:20px;justify-content:space-between;align-items:start;margin-bottom:24px}
.jw-astra .figure-cap h2{font-size:30px}
.jw-astra .fine{font-size:14px;color:var(--jw-muted);line-height:1.65}
.jw-astra .micro{font-size:12px;color:var(--jw-muted)}
.jw-astra .figure-cap .fine{max-width:620px;margin:10px 0 0}
.jw-astra .node{position:relative;background:var(--jw-canvas);border:1px solid var(--jw-line);border-radius:12px;padding:20px;text-align:left;min-height:136px;width:100%}
.jw-astra .node strong{display:block;font-size:16px;line-height:1.45;margin-top:8px}
.jw-astra .node small{display:block;color:var(--jw-muted);font-size:14px;margin-top:9px}
.jw-astra .node.active{background:var(--jw-tint);border-color:var(--jw-accent);box-shadow:inset 0 0 0 1px var(--jw-accent)}
.jw-astra .diagram-detail{display:grid;grid-template-columns:1fr 1.45fr;gap:26px;margin-top:24px;padding:24px;background:var(--jw-tint);border-radius:12px}
.jw-astra .diagram-detail h3{font-size:27px}
.jw-astra .diagram-detail p{margin:0}
.jw-astra .boundary{border-top:1px solid var(--jw-line);margin-top:16px;padding-top:14px;font-size:14px}
.jw-astra .return-edge{display:flex;gap:14px;align-items:center;border-left:2px solid var(--jw-accent);border-bottom:2px solid var(--jw-accent);border-radius:0 0 0 12px;padding:12px 18px 15px;margin:18px 0 0 24px;color:var(--jw-accent);font-size:14px}
.jw-astra .return-edge .arrow{font-size:25px}
.jw-astra details{border-top:1px solid var(--jw-line);padding:14px 0}
.jw-astra summary{min-height:44px;display:flex;align-items:center;cursor:pointer;font-size:14px;font-weight:600;gap:12px}
.jw-astra summary:before{content:'+';font-size:22px;font-weight:400;color:var(--jw-accent)}
.jw-astra details[open]>summary:before{content:'−'}
.jw-astra summary::-webkit-details-marker{display:none}
.jw-astra details>div{padding-top:12px}
.jw-astra .table{width:100%;border-collapse:collapse;font-size:14px}
.jw-astra .table th,.jw-astra .table td{text-align:left;vertical-align:top;padding:16px 14px;border-bottom:1px solid var(--jw-line)}
.jw-astra .table th{font-weight:600}
.jw-astra .table th:first-child,.jw-astra .table td:first-child{padding-left:0}
.jw-astra .table .badge{white-space:nowrap}
.jw-astra select{border:1px solid var(--jw-line);border-radius:10px;background:var(--jw-surface);padding:11px;color:var(--jw-ink);width:100%}
.jw-astra .capability-flow{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.jw-astra .capability-flow .node{min-height:164px}
.jw-astra .calendar{display:grid;grid-template-columns:repeat(7,1fr);gap:5px;margin:18px 0}
.jw-astra .calendar span{border:1px solid var(--jw-line);padding:8px 4px;font-size:12px;text-align:center;border-radius:6px}
.jw-astra .calendar .proposed{background:var(--jw-warm);border:1px dashed var(--jw-accent);font-weight:600}
@media (hover:hover) and (pointer:fine){.jw-astra .btn:hover,.jw-astra .node:hover{box-shadow:0 0 0 1px var(--jw-accent)}
.jw-astra a:hover{text-decoration:underline}
}
@media (max-width:1000px){.jw-astra .node{padding:16px}
.jw-astra .capability-flow{grid-template-columns:1fr 1fr}
.jw-astra .figure{padding:24px}
}
@media (max-width:760px){.jw-astra .section{margin:24px 0 38px}
.jw-astra .figure{padding:20px;border-radius:18px}
.jw-astra .section-head,.jw-astra .figure-cap{display:block}
.jw-astra .section-head h2{font-size:31px}
.jw-astra .figure-cap h2{font-size:29px}
.jw-astra .figure-cap .badge{margin-top:14px}
.jw-astra .node{min-height:100px}
.jw-astra .diagram-detail{grid-template-columns:1fr;gap:20px}
.jw-astra .diagram-detail{padding:20px}
.jw-astra .return-edge{margin-left:6px;padding-left:12px;align-items:start}
.jw-astra .capability-flow{grid-template-columns:1fr}
.jw-astra .capability-flow .node{min-height:112px}
.jw-astra .table,.jw-astra .table tbody,.jw-astra .table tr,.jw-astra .table th,.jw-astra .table td{display:block}
.jw-astra .table thead{display:none}
.jw-astra .table tr{border-bottom:1px solid var(--jw-line);padding:15px 0}
.jw-astra .table th,.jw-astra .table td{padding:4px 0;border:0}
.jw-astra .table td[data-label]:before{content:attr(data-label) ': ';font-weight:600}
}
@media (max-width:374px){.jw-astra .figure{padding:16px}
}
@media (prefers-reduced-motion:reduce){.jw-astra *,.jw-astra *:before,.jw-astra *:after{animation:none!important;transition:none!important}
.jw-astra button:active{transform:none}
}
@media print{.jw-astra .figure{break-inside:avoid}
.jw-astra .section{margin:20px 0}
.jw-astra .node{margin:8px 0}
}
/* Apply the approved cards/status treatment to the preserved full model. */
.jw-astra.model{margin:28px 0;padding:28px;background:var(--jw-surface);border:1px solid var(--jw-line);border-radius:20px}
.jw-astra.model .head{display:block;margin-bottom:24px}.jw-astra.model .head h2{font-size:30px;margin-bottom:14px}.jw-astra.model .head .note{color:var(--jw-muted);font-size:14px;line-height:1.65;margin:14px 0}.jw-astra.model .head .note h3{font-size:25px;margin:0 0 12px}.jw-astra.model .head .note[data-state]{border:1px dashed var(--jw-line);border-radius:12px;padding:18px;background:var(--jw-warm)}
.jw-astra .jw-live-state{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:0 0 20px}.jw-astra .jw-state-tag{border:1px solid var(--jw-line);border-radius:20px;padding:4px 10px;font-size:12px;line-height:1.6;background:var(--jw-tint)}.jw-astra .jw-state-tag[data-state=missing-data],.jw-astra .jw-state-tag[data-state=no-fit],.jw-astra .jw-state-tag[data-state=failure]{background:var(--jw-warm);border-style:dashed}.jw-astra .jw-live-copy{font-size:14px;color:var(--jw-muted);margin:0}
.jw-astra.model .toolbar{gap:18px;border-bottom:1px solid var(--jw-line);margin-bottom:24px;padding:18px 0}.jw-astra.model .toolbar label{color:var(--jw-muted);display:flex;flex-direction:column;gap:8px;flex:1;min-width:150px;font-size:14px}.jw-astra.model .toolbar select{min-height:44px}.jw-astra.model .work{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:24px;align-items:start}
.jw-astra .roles{display:grid;gap:10px;max-height:720px;overflow:auto;scrollbar-gutter:stable}.jw-astra .roles .role{display:grid;grid-template-columns:54px minmax(0,1fr);gap:7px 14px;padding:18px;border:1px solid var(--jw-line);border-radius:12px;background:var(--jw-canvas);color:var(--jw-ink);font-size:14px;min-height:100px}.jw-astra .roles button.role{cursor:pointer}.jw-astra .roles .role[aria-current=true]{background:var(--jw-tint);border-color:var(--jw-accent);box-shadow:inset 0 0 0 1px var(--jw-accent)}.jw-astra .roles .role[aria-current=true] b{text-decoration:none}.jw-astra .roles .score{font:32px/1 Newsreader,Georgia,serif;grid-row:1/4;color:var(--jw-accent)}.jw-astra .roles .field,.jw-astra .roles .status{grid-column:2;text-align:left;color:var(--jw-muted);font-size:14px}.jw-astra .panel{min-width:0;padding:24px;border:1px solid var(--jw-line);border-radius:16px;background:var(--jw-canvas)}.jw-astra #role-h{font-size:28px;line-height:1.25;overflow-wrap:anywhere}.jw-astra #role-h .score{font:48px/1 Newsreader,Georgia,serif;color:var(--jw-accent);display:block;margin-bottom:14px}.jw-astra #role .meta{display:block;font-size:14px;color:var(--jw-muted);margin:14px 0}.jw-astra #role h4{margin:22px 0 10px}.jw-astra #role p,.jw-astra #role li{font-size:14px;line-height:1.75}.jw-astra #role .note{color:var(--jw-muted)}.jw-astra .passages li{margin:14px 0;grid-template-columns:48px minmax(0,1fr)}.jw-astra .passages .sim{color:var(--jw-accent);font-size:14px}
.jw-astra #track{border-top:1px solid var(--jw-line);margin-top:22px;padding-top:20px}.jw-astra #track fieldset{border:0;padding:0;margin:0 0 18px}.jw-astra #track legend{font-size:14px;margin-bottom:10px}.jw-astra #track .statuses{display:flex;flex-wrap:wrap;gap:7px}.jw-astra #track .statuses label{display:inline-flex;align-items:center;gap:7px;min-height:44px;padding:9px 12px;border:1px solid var(--jw-line);border-radius:12px;font-size:14px;background:var(--jw-surface);color:var(--jw-ink);cursor:pointer}.jw-astra #track .statuses label:has(input:checked){background:var(--jw-tint);border-color:var(--jw-accent)}.jw-astra #track textarea{width:100%;border:1px solid var(--jw-line);border-radius:10px;background:var(--jw-surface);color:var(--jw-ink);font:inherit;padding:12px}.jw-astra #track .saved{font-size:14px;color:var(--jw-accent)}
.jw-astra.learn{padding:24px 0}.jw-astra.learn .funnel{gap:16px}.jw-astra.learn .funnel li{border-top:1px solid var(--jw-line);font-size:14px;color:var(--jw-muted)}.jw-astra.learn .funnel b{font:40px/1.1 Newsreader,Georgia,serif;color:var(--jw-accent)}.jw-astra.learn h3{font-size:25px}.jw-astra.learn .history{font-size:14px}.jw-astra.learn .history th,.jw-astra.learn .history td{padding:16px 14px;border-bottom:1px solid var(--jw-line);color:var(--jw-ink)}.jw-astra.learn .history th{color:var(--jw-muted)}.jw-astra .jw-intent-source section{padding:18px 0;border-top:1px solid var(--jw-line)}.jw-astra .jw-intent-source h3{margin:0 0 16px}.jw-astra.jw-context{margin:28px 0}.jw-astra.jw-context h2{margin:0 0 18px}.jw-astra .jw-intent-source summary{list-style:none}.jw-astra .jw-intent-source p{font-size:14px}
.jw-astra button:disabled{cursor:default}.jw-astra.jw-keyboard button:active{transform:none}.jw-astra [hidden]{display:none!important}
@media(hover:hover) and (pointer:fine){.jw-astra .roles button.role:hover{border-color:var(--jw-accent);background:var(--jw-tint)}}
@media(max-width:1023px){.jw-astra.model .work{grid-template-columns:minmax(0,1fr)}.jw-astra .panel{position:static;margin-top:0}}
@media(max-width:760px){.jw-astra.model{padding:20px;border-radius:18px}.jw-astra .panel{padding:20px}.jw-astra .roles .role{padding:14px}.jw-astra.model .toolbar label{flex-basis:100%}.jw-astra.learn .history th,.jw-astra.learn .history td{padding:4px 0}.jw-astra .jw-live-state{display:block}.jw-astra .jw-live-copy{margin-top:10px}}
@media(max-width:374px){.jw-astra.model{padding:16px}}
@media(prefers-reduced-motion:reduce){.jw-astra *{animation:none!important;transition:none!important}.jw-astra button:active{transform:none!important}}
@media(forced-colors:active){.jw-astra .node[aria-pressed=true],.jw-astra .roles .role[aria-current=true]{outline:2px solid Highlight}}
@media print{.jw-astra .roles{max-height:none;overflow:visible}.jw-astra [data-jobwatch-intent-controls]{display:none}.jw-astra .jw-intent-source{display:block}.jw-astra .jw-intent-source:not([open])>*:not(summary){display:block!important}}
.jw-astra.section{margin:32px 0 52px}
@media(max-width:760px){.jw-astra.section{margin:24px 0 38px}}
