.foundation-visualiser__header { display:flex; align-items:end; justify-content:space-between; gap:1.5rem; border-bottom:1px solid #e2e8f0; padding-bottom:1.75rem; }
.foundation-visualiser__eyebrow, .foundation-context__eyebrow { color:#4f46e5; font:700 .68rem/1.2 system-ui,sans-serif; letter-spacing:.12em; text-transform:uppercase; }
.foundation-visualiser__statement { color:#475569; font-size:1rem; line-height:1.75; }
.foundation-visualiser__layout { display:grid; grid-template-columns:minmax(0,1.5fr) minmax(24rem,1fr); gap:1.75rem; margin-top:1.75rem; align-items:start; }
.foundation-visualiser__paragraph { min-width:0; border:1px solid #e2e8f0; border-radius:1.25rem; background:#fff; padding:1.75rem 2rem 2rem; box-shadow:0 8px 30px rgb(15 23 42 / .06); }
.foundation-visualiser__paragraph-heading { display:flex; align-items:center; justify-content:space-between; gap:1rem; margin-bottom:1.5rem; padding-bottom:.9rem; border-bottom:1px solid #eef2f7; color:#0f172a; font:700 .75rem/1.2 system-ui,sans-serif; letter-spacing:.08em; text-transform:uppercase; }
.foundation-visualiser__reading-note { color:#94a3b8; font-size:.65rem; font-weight:600; letter-spacing:.03em; text-transform:none; }
.foundation-essay-reader__header { display:flex; align-items:center; justify-content:space-between; margin-bottom:1.1rem; padding:0 .15rem .7rem; border-bottom:1px solid #e2e8f0; }
.foundation-essay-reader__header h2 { margin-top:.35rem; color:#0f172a; font-size:1.55rem; font-weight:700; letter-spacing:-.02em; }
.foundation-essay-reader__header p:last-child { margin-top:.45rem; color:#64748b; font-size:.9rem; line-height:1.5; }
.foundation-essay-reader__stack { display:grid; gap:1.25rem; min-width:0; }
.foundation-essay-reader__layout { display:grid; grid-template-columns:minmax(0,1.5fr) minmax(24rem,1fr); gap:1.75rem; align-items:start; }
.foundation-essay-reader__paragraph { padding:1.35rem 1.5rem 1.5rem; border-color:#dbe4ef; box-shadow:0 12px 32px rgb(15 23 42 / .07); }
.foundation-essay-reader__paragraph:hover { box-shadow:0 16px 38px rgb(15 23 42 / .1); }
.foundation-essay-reader__paragraph-header { margin-bottom:1.1rem; padding-bottom:.75rem; border-bottom:1px solid #eef2f7; }
.foundation-essay-reader__paragraph-header h2 { margin-top:.3rem; color:#0f172a; font-size:1.25rem; font-weight:700; letter-spacing:-.015em; }
.foundation-essay-reader__unannotated { white-space:pre-wrap; color:#1e293b; font:1.1rem/1.9 Georgia, Cambria, "Times New Roman", serif; }
.foundation-essay-reader__pending { margin-top:.8rem; color:#64748b; font-size:.8rem; line-height:1.5; }
.foundation-visualiser__prose { font-family:Georgia, Cambria, "Times New Roman", serif; font-size:1.12rem; line-height:1.9; letter-spacing:.002em; color:#1e293b; }
.foundation-visualiser__sentence { position:relative; padding:.3rem .35rem .3rem 2rem; border-radius:.55rem; transition:background-color .15s ease,box-shadow .15s ease; }
.foundation-visualiser__sentence-control { position:absolute; left:0; top:.55rem; width:1.35rem; height:1.35rem; border:0; border-radius:999px; background:#e0e7ff; color:#3730a3; font:600 .7rem/1 system-ui,sans-serif; cursor:pointer; }
.foundation-visualiser__sentence-control:hover, .foundation-visualiser__sentence-control:focus-visible { outline:2px solid #4f46e5; outline-offset:2px; background:#c7d2fe; }
.foundation-phase-feed { --phase-label-column:2.1rem; }
.foundation-visualiser__prose.foundation-phase-feed { width:min(100%, 62rem); }
.foundation-phase-feed > .foundation-visualiser__sentence { margin-left:var(--phase-label-column); }
.foundation-phase-feed > .foundation-visualiser__sentence--topic { margin-bottom:1rem; }
.foundation-phase-feed > .foundation-visualiser__sentence--link { margin-top:1rem; }
.foundation-phase-feed__phase { display:grid; grid-template-columns:var(--phase-label-column) minmax(0,1fr); align-items:stretch; }
.foundation-phase-feed__phase-label { display:flex; align-items:center; justify-content:center; margin:0; color:var(--phase-ink); font:700 .65rem/1 system-ui,sans-serif; letter-spacing:.08em; text-transform:uppercase; writing-mode:vertical-rl; transform:rotate(180deg); }
.foundation-phase-feed__phase-sentences { position:relative; padding:.1rem 0; }
.foundation-phase-feed__phase-sentences::before { position:absolute; top:1.25rem; bottom:1.25rem; left:.675rem; width:1px; background:var(--phase-rail); content:""; pointer-events:none; opacity:.8; }
.foundation-phase-feed__phase-sentences .foundation-visualiser__sentence { background:var(--phase-surface); box-shadow:inset 0 0 0 1px var(--phase-border); }
.foundation-phase-feed__phase-sentences .foundation-visualiser__sentence + .foundation-visualiser__sentence { margin-top:.35rem; }
.foundation-phase-feed__phase .foundation-visualiser__sentence-control { background:var(--phase-dot); color:var(--phase-ink); box-shadow:0 0 0 2px var(--phase-surface), 0 0 0 3px var(--phase-border); }
.foundation-phase-feed__phase .foundation-visualiser__sentence-control:hover, .foundation-phase-feed__phase .foundation-visualiser__sentence-control:focus-visible { outline-color:var(--phase-ink); background:var(--phase-dot-hover); }
.foundation-phase-feed > .foundation-visualiser__sentence--topic, .foundation-phase-feed > .foundation-visualiser__sentence--link { --annotation-hover:#1d4ed8; background:#eff6ff; box-shadow:inset 0 0 0 1px #bfdbfe; }
.foundation-phase-feed > .foundation-visualiser__sentence--topic .foundation-visualiser__sentence-control, .foundation-phase-feed > .foundation-visualiser__sentence--link .foundation-visualiser__sentence-control { background:#bfdbfe; color:#1d4ed8; box-shadow:0 0 0 2px #eff6ff, 0 0 0 3px #93c5fd; }
.foundation-phase-feed > .foundation-visualiser__sentence--topic .foundation-visualiser__sentence-control:hover, .foundation-phase-feed > .foundation-visualiser__sentence--topic .foundation-visualiser__sentence-control:focus-visible, .foundation-phase-feed > .foundation-visualiser__sentence--link .foundation-visualiser__sentence-control:hover, .foundation-phase-feed > .foundation-visualiser__sentence--link .foundation-visualiser__sentence-control:focus-visible { background:#93c5fd; }
.foundation-phase-feed__phase--proposition, .foundation-studio-phase--proposition { --phase-ink:#b91c1c; --annotation-hover:#b91c1c; --phase-dot:#fecaca; --phase-dot-hover:#fca5a5; --phase-rail:#f87171; --phase-border:#fecaca; --phase-surface:#fef2f2; }
.foundation-phase-feed__phase--complication, .foundation-studio-phase--complication { --phase-ink:#92400e; --annotation-hover:#92400e; --phase-dot:#fde68a; --phase-dot-hover:#fcd34d; --phase-rail:#f59e0b; --phase-border:#fde68a; --phase-surface:#fffbeb; }
.foundation-phase-feed__phase--resolution, .foundation-studio-phase--resolution { --phase-ink:#065f46; --annotation-hover:#065f46; --phase-dot:#a7f3d0; --phase-dot-hover:#6ee7b7; --phase-rail:#34d399; --phase-border:#a7f3d0; --phase-surface:#ecfdf5; }
.foundation-studio-phase { margin-top:0; min-width:0; }
.foundation-studio-phase--ready .foundation-studio-phase-select-label { color:var(--phase-ink); font-weight:800; }
.foundation-studio-phase--ready .foundation-phase-feed__phase-sentences { box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--phase-ink) 18%, transparent); border-radius:.6rem; }
.foundation-studio-phase__number { color:var(--phase-ink); font:700 .65rem/1.2 system-ui,sans-serif; letter-spacing:.1em; text-transform:uppercase; }
.foundation-studio-phase-select-label { width:100%; border:0; background:transparent; cursor:pointer; }
.foundation-studio-phase-select-label:focus-visible { outline:2px solid var(--phase-ink); outline-offset:2px; }
.foundation-studio-empty-card { display:flex; min-height:6.2rem; width:100%; flex-direction:column; align-items:flex-start; justify-content:center; gap:.35rem; border:1px solid var(--phase-border); border-radius:.55rem; background:var(--phase-surface); padding:1rem 1.2rem 1rem 2rem; color:#1e293b; text-align:left; cursor:pointer; box-shadow:inset 0 0 0 1px rgb(255 255 255 / .35); }
.foundation-studio-empty-card:hover, .foundation-studio-empty-card:focus-visible { background:var(--phase-dot); outline:3px solid color-mix(in srgb, var(--phase-ink) 22%, transparent); outline-offset:2px; }
.foundation-studio-empty-card.is-locked { background:var(--phase-surface); color:#64748b; cursor:not-allowed; opacity:.78; outline:0; }
.foundation-studio-empty-card .foundation-studio-phase__number { color:var(--phase-ink); }
.foundation-studio-empty-card strong { color:#0f172a; font:700 1.15rem/1.3 Georgia, Cambria, "Times New Roman", serif; }
.foundation-studio-empty-card span:last-child { color:#475569; font:600 .72rem/1.3 system-ui,sans-serif; }
.foundation-studio-empty-card form { margin:0; }
.foundation-studio-empty-card form button { border:0; background:transparent; padding:0; color:var(--phase-ink); font:600 .72rem/1.3 system-ui,sans-serif; cursor:pointer; }
.foundation-studio-empty-card form button:hover, .foundation-studio-empty-card form button:focus-visible { color:#0f172a; text-decoration:underline; }
.foundation-studio-phase--locked .foundation-phase-feed__phase-label { color:var(--phase-ink); opacity:.68; }
.studio-inline-save { display:block; opacity:0; transition:opacity .15s ease; }
.foundation-studio-phase form[data-studio-sentence-editor] .studio-inline-save { opacity:1; }
.foundation-visualiser__sentence:focus-within .studio-inline-save,
.foundation-visualiser__sentence:hover .studio-inline-save { opacity:1; }
.foundation-studio-phase > .foundation-phase-feed__phase-sentences > .foundation-studio-evidence,
.foundation-studio-phase > .foundation-phase-feed__phase-sentences > [data-studio-phase-options],
.foundation-studio-phase > .foundation-phase-feed__phase-sentences > details,
.foundation-studio-phase > .foundation-phase-feed__phase-sentences > [data-studio-inline-phase-actions],
.foundation-studio-phase > .foundation-phase-feed__phase-sentences > .foundation-ai-working,
.foundation-studio-phase > .foundation-phase-feed__phase-sentences > [hx-trigger^="every"] { display:none; }
.foundation-studio-phase [data-studio-sentence-row].is-dragging,
.foundation-studio-assistant [data-studio-example-card].is-dragging { opacity:.45; }
.foundation-studio-phase [data-studio-sentence-row] [data-studio-sentence-drag-handle] { cursor:grab; touch-action:none; }
.foundation-studio-phase [data-studio-sentence-row] [data-studio-sentence-drag-handle]:active { cursor:grabbing; }
.foundation-studio-assistant [data-studio-example-card][draggable="true"] { cursor:grab; }
.foundation-studio-assistant [data-studio-example-card][draggable="true"]:active { cursor:grabbing; }
.foundation-studio-full-paragraph { box-shadow:0 10px 28px rgb(30 41 59 / .08); }
.foundation-studio-full-paragraph p { white-space:pre-wrap; }
.foundation-studio-context-phase { box-shadow:0 2px 8px rgb(15 23 42 / .04); }
.foundation-studio-context-phase--proposition { border-color:#fecaca; background:#fef2f2; }
.foundation-studio-context-phase--proposition .foundation-studio-context-phase__role { color:#b91c1c; }
.foundation-studio-context-phase--complication { border-color:#fde68a; background:#fffbeb; }
.foundation-studio-context-phase--complication .foundation-studio-context-phase__role { color:#a16207; }
.foundation-studio-context-phase--resolution { border-color:#a7f3d0; background:#ecfdf5; }
.foundation-studio-context-phase--resolution .foundation-studio-context-phase__role { color:#047857; }
.foundation-studio-context-signposts { border-color:#c7d2fe; background:#eef2ff; color:#1e1b4b; }
.foundation-studio-context-signposts button { border-color:#c7d2fe; background:#fff; color:#3730a3; }
.foundation-studio-context-signposts button:hover { background:#e0e7ff; }
.foundation-studio-context-signposts button.is-selected { border-color:#4f46e5; background:#4f46e5; color:#fff; }
.foundation-studio-example-card--proposition { border-color:#fecaca; background:#fef2f2; }
.foundation-studio-example-card--complication { border-color:#fde68a; background:#fffbeb; }
.foundation-studio-example-card--resolution { border-color:#a7f3d0; background:#ecfdf5; }
.foundation-studio-example-card .border-current { color:#475569; }
.foundation-studio-options-heading { color:#475569; }
.foundation-studio-phase[data-studio-active="true"] .foundation-studio-phase-select-label,
.foundation-studio-phase[data-studio-active="true"] .foundation-studio-empty-card { box-shadow:0 0 0 2px var(--phase-ink); }
.foundation-ai-working { display:flex; align-items:center; gap:.55rem; border:1px solid #93c5fd; border-radius:.7rem; background:#eff6ff; padding:.65rem .8rem; color:#1d4ed8; font:600 .75rem/1.35 system-ui,sans-serif; box-shadow:0 0 0 1px rgb(59 130 246 / .12), 0 0 18px rgb(59 130 246 / .2); animation:foundation-ai-glow 1.8s ease-in-out infinite; }
.foundation-ai-working__dot { width:.55rem; height:.55rem; flex:none; border-radius:999px; background:#2563eb; box-shadow:0 0 0 .2rem rgb(96 165 250 / .28), 0 0 .8rem rgb(37 99 235 / .8); animation:foundation-ai-pulse 1.2s ease-in-out infinite; }
.foundation-ai-working-button { box-shadow:0 0 0 2px #93c5fd, 0 0 18px rgb(37 99 235 / .55); animation:foundation-ai-glow 1.8s ease-in-out infinite; }
@keyframes foundation-ai-glow { 0%,100% { box-shadow:0 0 0 1px rgb(59 130 246 / .12), 0 0 12px rgb(59 130 246 / .18); } 50% { box-shadow:0 0 0 2px rgb(96 165 250 / .35), 0 0 24px rgb(37 99 235 / .42); } }
@keyframes foundation-ai-pulse { 0%,100% { transform:scale(.85); opacity:.7; } 50% { transform:scale(1.2); opacity:1; } }
.foundation-studio-evidence-card { box-shadow:0 2px 9px rgb(16 185 129 / .08); }
.foundation-studio-chip { display:inline-flex; align-items:center; border:1px solid #dbe4ef; border-radius:999px; background:#fff; padding:.25rem .5rem; color:#64748b; font:700 .62rem/1 system-ui,sans-serif; letter-spacing:.04em; }
.foundation-studio-verified { color:#047857; font:700 .65rem/1.25 system-ui,sans-serif; white-space:nowrap; }
.foundation-studio-analysis { font:1rem/1.55 Georgia, Cambria, "Times New Roman", serif; color:#1e293b; }
.foundation-studio-analysis mark { border-radius:.2rem; background:#fef3c7; color:inherit; padding:.05rem .12rem; }
.foundation-studio-quote { color:#1e293b; }
.foundation-studio-add-form button { box-shadow:0 1px 0 rgb(79 70 229 / .08); }
.foundation-studio-phase[data-studio-active="true"] .foundation-studio-phase-select-label { color:var(--phase-ink); }
.foundation-visualiser__sentence.is-inserted { animation:foundation-studio-inserted 2.8s ease-out; }
@keyframes foundation-studio-inserted { 0% { box-shadow:0 0 0 3px var(--phase-ink), 0 0 0 7px color-mix(in srgb, var(--phase-ink) 18%, transparent); } 100% { box-shadow:inset 0 0 0 1px var(--phase-border); } }
@media (prefers-reduced-motion: reduce) { .foundation-ai-working, .foundation-ai-working__dot, .foundation-ai-working-button { animation:none; } }
.foundation-studio-phase-editor > summary { list-style:none; }
.foundation-studio-phase-editor > summary::-webkit-details-marker { display:none; }
@media (min-width: 1024px) {
  .foundation-studio-workspace { grid-template-columns:minmax(0,1.35fr) minmax(24rem,1fr); }
  .foundation-studio-assistant { align-self:start; position:sticky; top:1rem; max-height:calc(100vh - 2rem); }
}
.foundation-phase-feed__transition { display:grid; grid-template-columns:var(--phase-label-column) minmax(0,1fr); min-height:2.7rem; }
.foundation-phase-feed__transition-label { display:flex; align-items:center; justify-content:center; color:#111827; font:800 .65rem/1 system-ui,sans-serif; letter-spacing:.08em; }
.foundation-phase-feed__transition-line { display:block; width:0; min-height:100%; margin-left:.675rem; border-left:1px dashed #64748b; opacity:.85; }
.foundation-element-link { display:inline; margin:0; padding:0; border:0; background:transparent; color:inherit; font:inherit; cursor:pointer; text-decoration-line:underline; text-decoration-style:dotted; text-decoration-color:#111827; text-decoration-thickness:1px; text-decoration-skip-ink:auto; text-underline-offset:.1em; transition:background-color .12s ease,box-shadow .12s ease,text-decoration-color .12s ease; }
.foundation-element-link:hover, .foundation-element-link[data-foundation-active="true"] { background:#f8fafc; text-decoration-style:solid; }
.foundation-quote-link, .foundation-event-link { display:inline; margin:0; padding:0 .04rem; border:0; border-radius:.15rem; background:transparent; color:inherit; font:inherit; cursor:pointer; text-decoration-line:underline; text-decoration-style:solid; text-decoration-color:#111827; text-decoration-thickness:1px; text-decoration-skip-ink:auto; text-underline-offset:.1em; transition:background-color .12s ease,box-shadow .12s ease,text-decoration-color .12s ease; }
.foundation-signpost-link { display:inline; margin:0; padding:0 .04rem; border:0; border-radius:.15rem; background:transparent; color:inherit; font:inherit; cursor:pointer; text-decoration-line:underline; text-decoration-style:dashed; text-decoration-color:#4f46e5; text-decoration-thickness:1px; text-underline-offset:.1em; }
.foundation-signpost-link:hover, .foundation-signpost-link[data-foundation-active="true"] { background:#eef2ff; box-shadow:0 2px 8px rgb(79 70 229 / .12); }
.foundation-craft-link { display:inline; margin:0; padding:0 .04rem; border:0; border-radius:.15rem; background:transparent; color:inherit; font:inherit; cursor:pointer; text-decoration-line:underline; text-decoration-style:wavy; text-decoration-color:#be123c; text-decoration-thickness:1px; text-underline-offset:.1em; }
.foundation-craft-link:hover, .foundation-craft-link[data-foundation-active="true"] { background:#ffe4e6; box-shadow:0 2px 8px rgb(190 24 93 / .12); text-decoration-color:#9f1239; }
.foundation-quote-link:hover, .foundation-event-link:hover, .foundation-element-link:hover, .foundation-quote-link[data-foundation-active="true"], .foundation-event-link[data-foundation-active="true"], .foundation-element-link[data-foundation-active="true"] { background:#f1f5f9; text-decoration-color:#111827; box-shadow:0 2px 8px rgb(15 23 42 / .08); }
.foundation-phase-feed__phase .foundation-quote-link:hover, .foundation-phase-feed__phase .foundation-event-link:hover, .foundation-phase-feed__phase .foundation-element-link:hover, .foundation-phase-feed__phase .foundation-quote-link[data-foundation-active="true"], .foundation-phase-feed__phase .foundation-event-link[data-foundation-active="true"], .foundation-phase-feed__phase .foundation-element-link[data-foundation-active="true"] { background:var(--phase-dot); box-shadow:0 0 .4rem var(--phase-border); text-decoration-color:var(--annotation-hover); }
.foundation-phase-feed > .foundation-visualiser__sentence--topic .foundation-quote-link:hover, .foundation-phase-feed > .foundation-visualiser__sentence--topic .foundation-event-link:hover, .foundation-phase-feed > .foundation-visualiser__sentence--topic .foundation-element-link:hover, .foundation-phase-feed > .foundation-visualiser__sentence--link .foundation-quote-link:hover, .foundation-phase-feed > .foundation-visualiser__sentence--link .foundation-event-link:hover, .foundation-phase-feed > .foundation-visualiser__sentence--link .foundation-element-link:hover { background:#dbeafe; box-shadow:0 0 .45rem #93c5fd; text-decoration-color:var(--annotation-hover); }
.foundation-element-link:focus-visible, .foundation-quote-link:focus-visible, .foundation-event-link:focus-visible, .foundation-context__related:focus-visible, .foundation-context__quote:focus-visible { outline:2px solid #111827; outline-offset:2px; border-radius:.2rem; }
.foundation-visualiser__context { position:sticky; top:1rem; max-height:calc(100vh - 2rem); overflow-y:auto; scrollbar-gutter:stable; border:1px solid #dbe4ef; border-radius:1.35rem; background:linear-gradient(180deg,#fbfdff 0%,#f1f5f9 100%); padding:1.35rem; box-shadow:0 12px 30px rgb(15 23 42 / .09); }
.foundation-context-content > h2 { max-width:22rem; overflow-wrap:anywhere; }
.foundation-context__header { position:sticky; top:-1.35rem; z-index:3; display:flex; align-items:flex-start; justify-content:space-between; gap:1rem; margin:-1.35rem -1.35rem 1rem; padding:1.05rem 1.35rem .95rem; border-bottom:1px solid #e2e8f0; background:rgb(251 253 255 / .95); backdrop-filter:blur(10px); }
.foundation-context__header h2 { max-width:18rem; overflow-wrap:anywhere; }
.foundation-context__intro { border-left:3px solid #a5b4fc; padding-left:.8rem; }
.foundation-context__hint { border-radius:.65rem; background:#eef2ff; padding:.7rem .8rem; color:#3730a3; font:600 .8rem/1.45 system-ui,sans-serif; }
.foundation-context__details { border-top:1px solid #e2e8f0; padding-top:1rem; }
.foundation-context__quote-text { border-radius:.25rem; background:#fff; padding-top:.7rem; padding-bottom:.7rem; }
.foundation-context__phase-card { border:1px solid #e2e8f0; border-radius:.85rem; background:#fff; padding:.9rem; box-shadow:0 2px 8px rgb(15 23 42 / .04); }
.foundation-context__phase-card + .foundation-context__phase-card { margin-top:.7rem; }
.foundation-context__phase-label { color:#4f46e5; font:700 .65rem/1.2 system-ui,sans-serif; letter-spacing:.1em; text-transform:uppercase; }
.foundation-context__close, .foundation-visualiser__context-toggle { border:1px solid #c7d2fe; border-radius:.5rem; background:#fff; color:#3730a3; padding:.5rem .75rem; font-size:.875rem; font-weight:600; cursor:pointer; }
.foundation-context__close { display:grid; flex:none; place-items:center; width:2rem; height:2rem; border-radius:999px; border:1px solid #c7d2fe; padding:0; font-size:1.25rem; line-height:1; }
.foundation-context__close:hover, .foundation-context__close:focus-visible { border-color:#818cf8; background:#eef2ff; color:#312e81; }
.foundation-visualiser__context.htmx-request { opacity:.78; }
.foundation-visualiser__context-toggle { display:none; }
.foundation-context__related { display:flex; width:100%; justify-content:space-between; gap:.75rem; border:1px solid #e2e8f0; border-radius:.5rem; background:#fff; padding:.6rem .7rem; color:#334155; font-size:.875rem; text-align:left; cursor:pointer; }
.foundation-context__related span:last-child { color:#64748b; font-size:.75rem; }
.foundation-context__quote { display:block; width:100%; margin-top:.5rem; border:0; border-left:2px solid #a5b4fc; background:transparent; padding:.1rem 0 .1rem .75rem; color:#334155; font:inherit; font-size:.875rem; line-height:1.5; text-align:left; cursor:pointer; }
.foundation-context__quote:hover { border-left-color:#4f46e5; background:#eef2ff; }
.foundation-quote-visual, .foundation-element-visual { margin-bottom:0; }
.foundation-context-title-page { overflow:hidden; border-radius:1rem; background:#e2e8f0; box-shadow:0 8px 20px rgb(15 23 42 / .1); }
.foundation-context-title-page img { display:block; aspect-ratio:1 / 1; object-fit:cover; }
.foundation-quote-visual__caption, .foundation-element-visual figcaption { margin-top:.45rem; color:#64748b; font:600 .68rem/1.3 system-ui,sans-serif; letter-spacing:.08em; text-transform:uppercase; }
.foundation-phrase-explainer { margin-top:1.1rem; border-top:1px solid #cbd5e1; padding-top:.9rem; color:#334155; }
.foundation-phrase-explainer__entry + .foundation-phrase-explainer__entry { margin-top:.9rem; }
.foundation-phrase-explainer__kicker { color:#475569; font:700 .68rem/1.2 system-ui,sans-serif; letter-spacing:.08em; text-transform:uppercase; }
.foundation-phrase-explainer__text, .foundation-phrase-explainer__prompt, .foundation-phrase-explainer__loading { margin-top:.3rem; color:#334155; font-size:.9rem; line-height:1.6; }
.foundation-phrase-explainer__loading::after { content:"…"; animation:foundation-phrase-dots 1.1s steps(3,end) infinite; }
.foundation-phrase-explainer__retry { margin-top:.55rem; border:0; background:transparent; padding:0; color:#4338ca; font-size:.78rem; font-weight:700; cursor:pointer; }
.foundation-phrase-explainer__retry:hover { color:#312e81; text-decoration:underline; }
.foundation-phrase-explainer--error { border-color:#fcd34d; background:#fffbeb; padding:.8rem .9rem; }
.foundation-phrase-explainer--error .foundation-phrase-explainer__kicker, .foundation-phrase-explainer--error .foundation-phrase-explainer__text { color:#92400e; }
/* The teacher reader follows the active application theme, including its
   paragraph cards and annotation rails. */
html[data-theme="dark"] .foundation-studio-reader.foundation-studio-reader {
  background:#111827;
  border-color:#334155;
  color:#e5e7eb;
  box-shadow:0 12px 32px rgb(0 0 0 / .24);
}
html[data-theme="dark"] .foundation-studio-reader.foundation-studio-reader .bg-white { background:#1f2937; }
html[data-theme="dark"] .foundation-studio-reader .foundation-visualiser__prose,
html[data-theme="dark"] .foundation-studio-reader .text-stone-950,
html[data-theme="dark"] .foundation-studio-reader .text-stone-900,
html[data-theme="dark"] .foundation-studio-reader .text-stone-800 { color:#f8fafc; }
html[data-theme="dark"] .foundation-studio-reader.foundation-studio-reader .bg-stone-50 { background:#172033; }
html[data-theme="dark"] .foundation-studio-reader .text-stone-700 { color:#cbd5e1; }
html[data-theme="dark"] .foundation-studio-reader .text-stone-600,
html[data-theme="dark"] .foundation-studio-reader .text-stone-500,
html[data-theme="dark"] .foundation-studio-reader .text-stone-400 { color:#94a3b8; }
html[data-theme="dark"] .foundation-studio-full-paragraph {
  background:#111827;
  border-color:#334155;
  color:#f8fafc;
  box-shadow:0 12px 32px rgb(0 0 0 / .24);
}
html[data-theme="dark"] .foundation-studio-full-paragraph .text-indigo-700 { color:#a5b4fc; }
html[data-theme="dark"] .foundation-studio-full-paragraph .text-stone-900 { color:#f8fafc; }
html[data-theme="dark"] .foundation-studio-assistant.foundation-studio-assistant {
  background:#f1f5f9;
  border-color:#dbe4ef;
  color:#1e293b;
}
html[data-theme="dark"] .foundation-studio-assistant.foundation-studio-assistant .bg-white { background:#fff; }
html[data-theme="dark"] .foundation-studio-assistant.foundation-studio-assistant .bg-amber-50 { background:#fffbeb; border-color:#fde68a; }
html[data-theme="dark"] .foundation-studio-assistant.foundation-studio-assistant .bg-amber-100 { background:#fef3c7; }
html[data-theme="dark"] .foundation-studio-assistant.foundation-studio-assistant .text-stone-950,
html[data-theme="dark"] .foundation-studio-assistant.foundation-studio-assistant .text-stone-900,
html[data-theme="dark"] .foundation-studio-assistant.foundation-studio-assistant .text-stone-800 { color:#1e293b; }
html[data-theme="dark"] .foundation-studio-assistant.foundation-studio-assistant .text-stone-700 { color:#334155; }
html[data-theme="dark"] .foundation-studio-assistant.foundation-studio-assistant .text-stone-600,
html[data-theme="dark"] .foundation-studio-assistant.foundation-studio-assistant .text-stone-500,
html[data-theme="dark"] .foundation-studio-assistant.foundation-studio-assistant .text-stone-400 { color:#64748b; }
/* The student context card is also a white reading surface inside the dark
   application chrome. Keep its utility text dark enough to read. */
html[data-theme="dark"] .foundation-visualiser__context {
  color:#1e293b;
}
html[data-theme="dark"] .foundation-visualiser__context :is(.text-slate-950, .text-slate-900, .text-slate-800) {
  color:#0f172a;
}
html[data-theme="dark"] .foundation-visualiser__context :is(.text-slate-700, .text-slate-600, .text-slate-500, .text-slate-400) {
  color:#475569;
}
/* Dark mode keeps the reading surface in the same visual system as the app
   chrome. Paragraph and context cards should not remain white islands. */
html[data-theme="dark"] .foundation-visualiser__paragraph,
html[data-theme="dark"] .foundation-essay-reader__paragraph {
  background:#111827;
  border-color:#334155;
  color:#e5e7eb;
  box-shadow:0 12px 32px rgb(0 0 0 / .24);
}
html[data-theme="dark"] .foundation-essay-reader__header,
html[data-theme="dark"] .foundation-essay-reader__paragraph-header,
html[data-theme="dark"] .foundation-visualiser__paragraph-heading {
  border-color:#334155;
}
html[data-theme="dark"] .foundation-essay-reader__header h2,
html[data-theme="dark"] .foundation-essay-reader__paragraph-header h2,
html[data-theme="dark"] .foundation-visualiser__paragraph-heading,
html[data-theme="dark"] .foundation-visualiser__prose,
html[data-theme="dark"] .foundation-essay-reader__unannotated {
  color:#f8fafc;
}
html[data-theme="dark"] .foundation-essay-reader__header p:last-child,
html[data-theme="dark"] .foundation-essay-reader__pending,
html[data-theme="dark"] .foundation-visualiser__reading-note {
  color:#94a3b8;
}
html[data-theme="dark"] .foundation-visualiser__context {
  border-color:#334155;
  background:linear-gradient(180deg,#111827 0%,#0f172a 100%);
  color:#e5e7eb;
  box-shadow:0 12px 30px rgb(0 0 0 / .28);
}
html[data-theme="dark"] .foundation-context__header {
  border-color:#334155;
  background:rgb(17 24 39 / .96);
}
html[data-theme="dark"] .foundation-context__details {
  border-color:#334155;
}
html[data-theme="dark"] .foundation-context__phase-card,
html[data-theme="dark"] .foundation-context__quote-text,
html[data-theme="dark"] .foundation-context__related {
  border-color:#475569;
  background:#1f2937;
  color:#e5e7eb;
}
html[data-theme="dark"] .foundation-context__quote,
html[data-theme="dark"] .foundation-context__related span:last-child,
html[data-theme="dark"] .foundation-quote-visual__caption,
html[data-theme="dark"] .foundation-element-visual figcaption {
  color:#cbd5e1;
}
html[data-theme="dark"] .foundation-context__quote:hover,
html[data-theme="dark"] .foundation-context__related:hover {
  background:#334155;
}
html[data-theme="dark"] .foundation-context__close,
html[data-theme="dark"] .foundation-visualiser__context-toggle {
  border-color:#64748b;
  background:#1f2937;
  color:#c7d2fe;
}
html[data-theme="dark"] .foundation-context__hint {
  background:#312e81;
  color:#e0e7ff;
}
html[data-theme="dark"] .foundation-phase-feed__phase--proposition,
html[data-theme="dark"] .foundation-studio-phase--proposition { --phase-ink:#fca5a5; --phase-dot:#7f1d1d; --phase-dot-hover:#991b1b; --phase-rail:#ef4444; --phase-border:#7f1d1d; --phase-surface:#2b1b1d; }
html[data-theme="dark"] .foundation-phase-feed__phase--complication,
html[data-theme="dark"] .foundation-studio-phase--complication { --phase-ink:#fcd34d; --phase-dot:#78350f; --phase-dot-hover:#92400e; --phase-rail:#f59e0b; --phase-border:#92400e; --phase-surface:#2b2115; }
html[data-theme="dark"] .foundation-phase-feed__phase--resolution,
html[data-theme="dark"] .foundation-studio-phase--resolution { --phase-ink:#6ee7b7; --phase-dot:#064e3b; --phase-dot-hover:#065f46; --phase-rail:#10b981; --phase-border:#047857; --phase-surface:#142a25; }
html[data-theme="dark"] .foundation-phase-feed > .foundation-visualiser__sentence--topic,
html[data-theme="dark"] .foundation-phase-feed > .foundation-visualiser__sentence--link { background:#172554; }
html[data-theme="dark"] .foundation-studio-chip { border-color:#475569; background:#1f2937; color:#cbd5e1; }
html[data-theme="dark"] .foundation-studio-verified { color:#6ee7b7; }
html[data-theme="dark"] .foundation-studio-analysis,
html[data-theme="dark"] .foundation-studio-quote { color:#e5e7eb; }
html[data-theme="dark"] .foundation-studio-analysis mark { background:#78350f; color:#fef3c7; }
html[data-theme="dark"] .foundation-studio-settings,
html[data-theme="dark"] .foundation-studio-settings .bg-stone-50 { color:#e5e7eb; }
html[data-theme="dark"] .foundation-visualiser__sentence-control { background:#312e81; color:#c7d2fe; }
html[data-theme="dark"] .foundation-element-link,
html[data-theme="dark"] .foundation-quote-link,
html[data-theme="dark"] .foundation-event-link { text-decoration-color:#cbd5e1; }
html[data-theme="dark"] .foundation-quote-link:hover,
html[data-theme="dark"] .foundation-event-link:hover,
html[data-theme="dark"] .foundation-element-link:hover,
html[data-theme="dark"] .foundation-quote-link[data-foundation-active="true"],
html[data-theme="dark"] .foundation-event-link[data-foundation-active="true"],
html[data-theme="dark"] .foundation-element-link[data-foundation-active="true"] { background:#334155; text-decoration-color:#f8fafc; }
@keyframes foundation-phrase-dots { 0%,20% { opacity:0; } 50% { opacity:1; } 100% { opacity:0; } }
@media (max-width: 767px) {
  /* mobile.css intentionally stacks generic main-panel grids; keep the Studio tab switcher usable */
  #main-panel .foundation-studio-mobile-tabs.grid.grid-cols-2 { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .foundation-essay-reader__header { margin-bottom:.85rem; padding-bottom:.55rem; }
  .foundation-visualiser__header { align-items:start; }
  .foundation-visualiser__context-toggle { display:inline-flex; flex:none; }
  .foundation-visualiser__layout { display:block; }
  .foundation-essay-reader__layout { display:block; }
  .foundation-visualiser__paragraph { padding:1rem; }
  .foundation-essay-reader__paragraph { padding:1rem; }
  .foundation-visualiser__paragraph-heading { align-items:flex-start; flex-direction:column; gap:.35rem; }
  .foundation-visualiser__reading-note { font-size:.7rem; }
  .foundation-phase-feed { --phase-label-column:1.45rem; }
  .foundation-phase-feed__phase-label { font-size:.56rem; letter-spacing:.04em; }
  .foundation-phase-feed__transition-label { font-size:.58rem; letter-spacing:.04em; }
  .foundation-visualiser__context { position:fixed; z-index:60; inset:auto .75rem .75rem; max-height:min(78dvh,42rem); transform:translateY(calc(100% + 2rem)); opacity:0; pointer-events:none; transition:transform .18s ease,opacity .18s ease; }
  .foundation-visualiser__context[data-foundation-context-open="true"] { transform:translateY(0); opacity:1; pointer-events:auto; }
  .foundation-context__header { top:-1rem; margin:-1rem -1rem 1rem; padding:.85rem 1rem .75rem; }
  .foundation-visualiser__context { padding:1rem; }
  .foundation-context-title-page img { max-height:44dvh; }
}
@media (max-width: 1023px) {
  .foundation-studio-mobile-tabs { bottom:var(--mobile-narrative-tray-height,4rem); }
  .foundation-studio-workspace {
    padding-bottom:calc(var(--mobile-narrative-tray-height,4rem) + 4rem);
  }
  .foundation-studio-workspace [data-studio-writing-scroll],
  .foundation-studio-workspace [data-studio-example-options] {
    padding-bottom:calc(var(--mobile-narrative-tray-height,4rem) + 4rem);
  }
}
@media (prefers-reduced-motion: reduce) { .foundation-visualiser__sentence, .foundation-visualiser__context { transition:none; } }
