:root {
  color-scheme: dark;
  --bg: #10151d;
  --surface: #171e28;
  --surface-raised: #1e2835;
  --surface-soft: #141b24;
  --text: #f4f0e8;
  --muted: #aeb9c7;
  --quiet: #6f7e90;
  --line: #2d3a4a;
  --line-strong: #46576c;
  --accent: #e0b44d;
  --accent-ink: #1a1711;
  --cyan: #62c7c7;
  --green: #67c58b;
  --red: #e57d74;
  --shadow: 0 18px 42px rgba(0, 0, 0, .20);
  --font: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --mono: "SFMono-Regular", Consolas, "Liberation Mono", monospace;
}

:root[data-theme="light"] {
  color-scheme: light;
  --bg: #f5f6f3;
  --surface: #ffffff;
  --surface-raised: #f8fafc;
  --surface-soft: #edf1f3;
  --text: #14202c;
  --muted: #526273;
  --quiet: #718096;
  --line: #d9e0e7;
  --line-strong: #b9c5d0;
  --accent: #bd8617;
  --accent-ink: #fffdf5;
  --cyan: #087e82;
  --green: #168251;
  --red: #ba423d;
  --shadow: 0 12px 32px rgba(26, 39, 52, .09);
}

* { box-sizing: border-box; }
html { background: var(--bg); }
body { margin: 0; min-width: 320px; background: var(--bg); color: var(--text); font-family: var(--font); line-height: 1.45; }
button, input, textarea, select { font: inherit; }
button { cursor: pointer; }
button:focus-visible, a:focus-visible, input:focus-visible, textarea:focus-visible, select:focus-visible { outline: 2px solid var(--cyan); outline-offset: 2px; }
a { color: inherit; }
h1, h2, h3, p { margin-top: 0; }
h1, h2, h3 { letter-spacing: 0; line-height: 1.14; }
p { margin-bottom: 0; }

.app-bar { min-height: 62px; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 10px max(16px, env(safe-area-inset-right)) 10px max(16px, env(safe-area-inset-left)); border-bottom: 1px solid var(--line); background: color-mix(in srgb, var(--bg) 94%, var(--surface-raised)); position: sticky; top: 0; z-index: 10; }
.app-bar-actions { display: flex; align-items: center; gap: 8px; }
.brand, .back-link { display: inline-flex; align-items: center; gap: 8px; text-decoration: none; font-weight: 750; }
.brand-mark { display: grid; width: 30px; height: 30px; place-items: center; border: 1px solid color-mix(in srgb, var(--accent) 72%, var(--line)); color: var(--accent); font-family: var(--mono); font-size: .9rem; }
.back-link { color: var(--muted); font-size: .9rem; }
.back-link:hover { color: var(--text); }
.project-title { min-width: 0; text-align: center; }
.project-title h1 { margin: 1px 0 0; max-width: 44vw; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 1rem; }
.eyebrow { margin: 0; color: var(--quiet); font-family: var(--mono); font-size: .68rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.lead { max-width: 58ch; color: var(--muted); font-size: 1rem; }
.muted { color: var(--muted); }

.button { display: inline-flex; min-height: 40px; align-items: center; justify-content: center; padding: 8px 13px; border: 1px solid transparent; border-radius: 7px; text-decoration: none; font-weight: 750; transition: border-color .16s ease, background .16s ease, color .16s ease, transform .16s ease; }
.button:hover { transform: translateY(-1px); }
.button.primary { background: var(--accent); color: var(--accent-ink); }
.button.primary:hover { background: color-mix(in srgb, var(--accent) 88%, white); }
.button.secondary { background: transparent; color: var(--text); border-color: var(--line-strong); }
.button.secondary:hover { background: var(--surface-soft); }
.button.compact { min-height: 36px; padding: 7px 10px; font-size: .86rem; }
.danger-button { background: var(--red); color: #1d1111; }
.icon-button { min-width: 36px; min-height: 36px; padding: 5px 8px; border: 1px solid var(--line); border-radius: 7px; background: transparent; color: var(--muted); font-family: var(--mono); font-weight: 700; }
.icon-button:hover { border-color: var(--line-strong); color: var(--text); background: var(--surface); }
.icon-button.danger { color: var(--red); }
.text-button { padding: 0; border: 0; background: transparent; color: var(--cyan); font-weight: 700; text-align: left; }
.text-button:hover { color: var(--text); text-decoration: underline; }

.library-main, .study-main { width: min(1240px, 100%); margin: 0 auto; padding: 22px 16px calc(28px + env(safe-area-inset-bottom)); }
.library-intro { display: grid; gap: 22px; padding: 6px 0 24px; border-bottom: 1px solid var(--line); }
.library-intro h1 { max-width: 14ch; margin: 5px 0 11px; font-size: clamp(1.8rem, 4vw, 3.4rem); }
.new-project-form { align-self: end; padding: 15px; border: 1px solid var(--line); border-left: 3px solid var(--accent); background: var(--surface); }
.new-project-form label { display: block; margin-bottom: 8px; color: var(--muted); font-size: .85rem; font-weight: 700; }
.new-project-form > div { display: flex; gap: 8px; }
.new-project-form input { min-width: 0; flex: 1; }
.new-project-form small { display: block; min-height: 18px; margin-top: 7px; color: var(--red); }

input, textarea, select { width: 100%; border: 1px solid var(--line-strong); border-radius: 6px; background: var(--surface-soft); color: var(--text); padding: 9px 10px; }
textarea { resize: vertical; min-height: 74px; }
input::placeholder, textarea::placeholder { color: var(--quiet); }
label { display: grid; gap: 6px; color: var(--muted); font-size: .86rem; font-weight: 650; }

.resume-band { display: grid; gap: 15px; margin: 22px 0; padding: 18px 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.resume-band h2 { margin: 5px 0; font-size: 1.25rem; }
.resume-band p { color: var(--muted); }
.resume-band-action { display: grid; gap: 9px; align-content: end; }
.resume-band-action > span { color: var(--cyan); font-size: .82rem; font-weight: 750; }
.library-stats { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border: 1px solid var(--line); border-right: 0; border-bottom: 0; }
.stat-button { min-height: 82px; display: grid; gap: 3px; align-content: center; padding: 12px; border: 0; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); background: transparent; color: var(--muted); text-align: left; }
.stat-button b { color: var(--text); font-size: 1.38rem; }
.stat-button span { font-size: .78rem; }
.stat-button.selected { background: var(--surface); box-shadow: inset 0 2px 0 var(--accent); }
.library-section { margin-top: 30px; }
.section-title, .section-heading { display: flex; justify-content: space-between; gap: 16px; align-items: end; margin-bottom: 14px; }
.section-title h2, .section-heading h2 { margin: 4px 0 0; font-size: 1.28rem; }
.section-title > span { color: var(--quiet); font-size: .82rem; }
.library-grid { display: grid; gap: 12px; }
.library-project { position: relative; padding: 15px 44px 15px 15px; border: 1px solid var(--line); background: var(--surface); transition: border-color .16s ease, background .16s ease; }
.library-project:hover { border-color: var(--line-strong); background: var(--surface-raised); }
.library-project-head { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 12px; align-items: start; }
.library-project h3 { margin: 7px 0 4px; font-size: 1.08rem; }
.library-project p { color: var(--muted); font-size: .88rem; }
.state-dot { display: inline-flex; align-items: center; gap: 6px; color: var(--muted); font-size: .75rem; font-weight: 750; }
.state-dot::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: var(--cyan); }
.state-dot.attention::before { background: var(--red); }.state-dot.waiting::before { background: var(--accent); }.state-dot.ready::before { background: var(--green); }.state-dot.new::before { background: var(--quiet); }.state-dot.paused::before { background: var(--accent); }.state-dot.abandoned::before { background: var(--red); }
.funnel-mini { display: flex; gap: 0; margin: 16px 0; overflow: hidden; }
.funnel-mini span { position: relative; flex: 1; padding-top: 11px; color: var(--quiet); font-size: .68rem; text-align: center; white-space: nowrap; }
.funnel-mini span::before { content: ""; position: absolute; top: 3px; left: 0; width: 100%; height: 1px; background: var(--line); }
.funnel-mini i { position: absolute; top: 0; left: calc(50% - 4px); width: 8px; height: 8px; border: 1px solid var(--line-strong); border-radius: 50%; background: var(--bg); }
.funnel-mini .done { color: var(--muted); }.funnel-mini .done::before { background: var(--green); }.funnel-mini .done i { border-color: var(--green); background: var(--green); }.funnel-mini .current { color: var(--accent); font-weight: 750; }.funnel-mini .current i { border-color: var(--accent); background: var(--accent); }
.library-project-meta { display: flex; flex-wrap: wrap; gap: 13px; color: var(--quiet); font-size: .78rem; }.library-project-meta b { color: var(--text); }
.library-project-next { display: grid; gap: 3px; margin-top: 14px; padding-top: 12px; border-top: 1px solid var(--line); }.library-project-next span { color: var(--quiet); font-size: .73rem; }.library-project-next strong { font-size: .88rem; }
.library-project-tools { position: absolute; top: 12px; right: 8px; display: grid; gap: 5px; }.library-project-tools .icon-button { min-width: 27px; min-height: 27px; padding: 2px 5px; font-size: .72rem; }
.knowledge-strip { display: grid; gap: 12px; margin-top: 38px; padding: 18px 0; border-top: 1px solid var(--line); }.knowledge-strip h2 { margin: 4px 0 0; font-size: 1.12rem; }.knowledge-strip > p { color: var(--muted); }.knowledge-strip details { border-left: 2px solid var(--cyan); padding-left: 13px; }.knowledge-strip summary, .mandate-details summary { cursor: pointer; color: var(--cyan); font-weight: 750; }.knowledge-list { display: grid; gap: 8px; margin-top: 12px; }.knowledge-list article { padding: 10px 0; border-bottom: 1px solid var(--line); }.knowledge-list p { color: var(--muted); font-size: .86rem; }.knowledge-list span { color: var(--quiet); font-size: .78rem; }.empty-state { padding: 26px 0; color: var(--muted); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }

.study-main { padding-top: 14px; }
.study-funnel { display: flex; margin: 0 -16px 20px; padding: 0 16px 12px; gap: 0; overflow-x: auto; list-style: none; border-bottom: 1px solid var(--line); scrollbar-width: none; }.study-funnel::-webkit-scrollbar { display: none; }.study-funnel li { position: relative; min-width: 97px; padding: 3px 12px 0 0; color: var(--quiet); font-size: .72rem; white-space: nowrap; }.study-funnel li::after { content: ""; position: absolute; top: 13px; left: 30px; width: calc(100% - 30px); height: 1px; background: var(--line); }.study-funnel li:last-child::after { display: none; }.study-funnel span { position: relative; z-index: 1; display: inline-grid; width: 26px; height: 26px; place-items: center; margin-right: 6px; border: 1px solid var(--line-strong); border-radius: 50%; background: var(--bg); color: var(--quiet); font-family: var(--mono); }.study-funnel .done { color: var(--muted); }.study-funnel .done span { color: var(--bg); border-color: var(--green); background: var(--green); }.study-funnel .done::after { background: var(--green); }.study-funnel .current { color: var(--text); font-weight: 750; }.study-funnel .current span { border-color: var(--accent); background: var(--accent); color: var(--accent-ink); }
.study-summary { display: grid; gap: 18px; margin: 18px 0 22px; }.study-summary h2 { margin: 5px 0 9px; max-width: 32ch; font-size: clamp(1.32rem, 3vw, 2rem); }.study-summary p { max-width: 70ch; color: var(--muted); }.metric-row { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }.metric { min-height: 68px; display: grid; align-content: center; padding: 9px; border-top: 2px solid var(--line-strong); background: var(--surface-soft); }.metric strong { font-size: 1.1rem; }.metric span { color: var(--quiet); font-size: .72rem; }.metric.warning { border-color: var(--accent); }
.next-move { display: grid; gap: 14px; margin-bottom: 22px; padding: 17px; border: 1px solid var(--accent); background: color-mix(in srgb, var(--surface) 88%, var(--accent)); }.next-move.external { border-color: var(--cyan); background: color-mix(in srgb, var(--surface) 90%, var(--cyan)); }.next-move.attention { border-color: var(--red); background: color-mix(in srgb, var(--surface) 90%, var(--red)); }.next-move.proof { border-color: var(--green); background: color-mix(in srgb, var(--surface) 90%, var(--green)); }.next-move h2 { margin: 5px 0 7px; font-size: 1.22rem; }.next-move p { color: var(--muted); }.next-move .button { align-self: end; }
.study-visual-panel { margin: -6px 0 24px; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }.study-visual-panel summary { display: flex; align-items: baseline; gap: 9px; padding: 11px 0; cursor: pointer; list-style: none; }.study-visual-panel summary::-webkit-details-marker { display: none; }.study-visual-panel summary::before { content: "+"; color: var(--accent); font-family: var(--mono); font-weight: 800; }.study-visual-panel[open] summary::before { content: "−"; }.study-visual-panel summary span { color: var(--quiet); font-family: var(--mono); font-size: .7rem; font-weight: 700; text-transform: uppercase; }.study-visual-panel summary b { font-size: .9rem; }.live-diagram { display: grid; grid-template-columns: repeat(auto-fit, minmax(126px, 1fr)); gap: 0; padding: 4px 0 15px; overflow: hidden; }.diagram-node { position: relative; display: grid; min-height: 86px; align-content: center; gap: 3px; padding: 11px 11px 11px 39px; border: 1px solid var(--line); background: var(--surface); }.diagram-node:not(:last-child)::after { content: ""; position: absolute; z-index: 2; top: calc(50% - 1px); right: -14px; width: 27px; height: 2px; background: var(--line-strong); }.diagram-node.done { border-color: color-mix(in srgb, var(--green) 65%, var(--line)); }.diagram-node.done:not(:last-child)::after { background: var(--green); }.diagram-node.active { border-color: var(--accent); background: color-mix(in srgb, var(--surface) 91%, var(--accent)); }.diagram-node.active:not(:last-child)::after { background: linear-gradient(90deg, var(--accent), var(--line-strong)); animation: diagram-flow 1.6s ease-in-out infinite; }.diagram-node > span { position: absolute; top: calc(50% - 11px); left: 11px; display: grid; width: 22px; height: 22px; place-items: center; border: 1px solid var(--line-strong); border-radius: 50%; color: var(--quiet); font-family: var(--mono); font-size: .68rem; }.diagram-node.done > span { border-color: var(--green); color: var(--green); }.diagram-node.active > span { border-color: var(--accent); background: var(--accent); color: var(--accent-ink); }.diagram-node strong { font-size: .8rem; line-height: 1.25; }.diagram-node small { color: var(--cyan); font-size: .68rem; }.visual-caption { margin: 0 0 14px; color: var(--muted); font-size: .8rem; }.visual-caption::before { content: "Prochaine pièce : "; color: var(--quiet); font-family: var(--mono); font-size: .7rem; }@keyframes diagram-flow { 0%,100% { opacity:.45; } 50% { opacity:1; } }
.workspace-grid { display: grid; gap: 20px; }.conversation-column { min-width: 0; }.section-heading { align-items: center; }.conversation-thread { display: grid; gap: 9px; }.thread-message { padding: 12px 13px; border-left: 2px solid var(--line-strong); background: var(--surface); }.thread-message.user { border-color: var(--cyan); }.thread-message.external { border-color: var(--accent); }.thread-message.interruption { border-color: var(--green); }.thread-meta { display: flex; justify-content: space-between; gap: 8px; margin-bottom: 6px; color: var(--quiet); font-size: .7rem; font-family: var(--mono); text-transform: uppercase; }.thread-message strong { display: block; font-size: .91rem; }.thread-message p { margin-top: 4px; color: var(--muted); font-size: .9rem; white-space: pre-wrap; }.thread-message small { display: block; margin-top: 8px; color: var(--quiet); font-size: .76rem; }.thread-empty { padding: 22px 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }.thread-empty strong { display: block; margin-top: 9px; }.thread-empty p { color: var(--muted); }.thread-start { display: grid; width: 28px; height: 28px; place-items: center; border-radius: 50%; background: var(--accent); color: var(--accent-ink); font-family: var(--mono); font-weight: 750; }
.study-composer { display: grid; gap: 9px; margin-top: 16px; padding-top: 14px; border-top: 1px solid var(--line); }.study-composer textarea { background: var(--surface); }.composer-toolbar { display: flex; align-items: center; gap: 9px; }.composer-toolbar .button { margin-left: auto; }.composer-hint { flex: 1; color: var(--quiet); font-size: .72rem; }.attachment-chip { display: inline-flex; align-items: center; gap: 8px; max-width: 100%; padding: 6px 8px; border: 1px solid var(--cyan); color: var(--muted); font-size: .76rem; overflow-wrap: anywhere; }.attachment-chip button { border: 0; background: transparent; color: var(--red); font-size: 1rem; }
.study-side { display: grid; gap: 14px; }.context-rail, .proof-rail, .risk-rail, .coaching-rail { padding: 14px 0; border-top: 1px solid var(--line); }.context-rail-head { display: flex; align-items: start; justify-content: space-between; gap: 10px; }.context-rail h2, .proof-rail h2, .risk-rail h2 { margin: 5px 0 6px; font-size: 1rem; }.context-rail > p, .proof-rail > p, .risk-rail > p, .coaching-rail p { color: var(--muted); font-size: .86rem; }.context-values { display: grid; gap: 4px; margin-top: 11px; }.context-values button { display: grid; gap: 2px; padding: 7px 0; border: 0; border-bottom: 1px solid var(--line); background: transparent; color: var(--text); text-align: left; }.context-values button:hover b { color: var(--cyan); }.context-values span { color: var(--quiet); font-size: .7rem; font-family: var(--mono); }.context-values b { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: .8rem; }.context-rail-actions { display: flex; gap: 14px; margin-top: 12px; }.proof-status { display: flex; gap: 11px; margin: 11px 0; color: var(--quiet); font-size: .74rem; }.risk-rail { border-color: color-mix(in srgb, var(--red) 60%, var(--line)); }.coaching-rail { border-color: color-mix(in srgb, var(--cyan) 50%, var(--line)); }
.mobile-dock { position: sticky; bottom: 0; display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--line); background: color-mix(in srgb, var(--bg) 94%, var(--surface)); padding: 7px max(10px, env(safe-area-inset-right)) calc(7px + env(safe-area-inset-bottom)) max(10px, env(safe-area-inset-left)); }.mobile-dock button { min-height: 38px; border: 0; background: transparent; color: var(--muted); font-size: .76rem; font-weight: 750; }.mobile-dock button:hover { color: var(--text); }

.study-dialog { width: min(760px, calc(100% - 22px)); max-height: min(88vh, 900px); padding: 0; border: 1px solid var(--line-strong); border-radius: 8px; background: var(--surface); color: var(--text); box-shadow: var(--shadow); }.study-dialog::backdrop { background: rgba(4, 8, 14, .66); }.dialog-content { position: relative; display: grid; gap: 13px; padding: 20px; overflow: auto; }.dialog-content.wide { max-width: 760px; }.dialog-content h2 { margin: 4px 34px 0 0; font-size: 1.3rem; }.dialog-content > p { color: var(--muted); }.dialog-close { position: absolute; top: 12px; right: 12px; }.dialog-actions { display: flex; justify-content: end; gap: 8px; margin-top: 4px; }.case-list, .actor-list, .journal-list { display: grid; gap: 0; border-top: 1px solid var(--line); }.case-list article, .actor-card, .journal-list article { display: grid; gap: 6px; padding: 12px 0; border-bottom: 1px solid var(--line); }.case-list span, .journal-list span { color: var(--quiet); font-size: .71rem; font-family: var(--mono); text-transform: uppercase; }.case-list strong { font-size: .9rem; }.dialog-note { padding: 12px; border-left: 2px solid var(--cyan); background: var(--surface-soft); }.dialog-note span { color: var(--quiet); font-size: .72rem; }.dialog-note strong { display: block; margin-top: 4px; }.dialog-note p { margin-top: 5px; color: var(--muted); font-size: .86rem; }.actor-card { grid-template-columns: minmax(0, 1fr) auto; align-items: start; }.actor-card h3 { margin: 5px 0; font-size: .96rem; }.actor-card p { color: var(--muted); font-size: .84rem; }.actor-status, .waiting-label { color: var(--accent); font-family: var(--mono); font-size: .7rem; text-transform: uppercase; }.actor-card.status-ready .actor-status, .actor-card.status-reviewed .actor-status { color: var(--green); }.actor-card.status-needs_followup .actor-status { color: var(--red); }.actor-actions { display: grid; justify-items: start; gap: 7px; }.actor-actions details { max-width: 100%; color: var(--muted); font-size: .82rem; }.actor-actions pre { max-width: min(620px, 100%); max-height: 260px; overflow: auto; margin: 7px 0 0; padding: 9px; border-left: 2px solid var(--cyan); background: var(--surface-soft); white-space: pre-wrap; overflow-wrap: anywhere; font: .74rem/1.45 var(--mono); }.request-gap { color: var(--red) !important; }.request-ok { color: var(--green) !important; }.mandate-details { padding-top: 12px; border-top: 1px solid var(--line); }.mandate-details article { padding: 10px 0; border-bottom: 1px solid var(--line); }.mandate-details p { color: var(--muted); font-size: .84rem; }.evidence-chain { display: grid; gap: 0; }.chain-step { position: relative; padding: 12px 0 12px 35px; border-bottom: 1px solid var(--line); }.chain-step > span { position: absolute; top: 12px; left: 0; display: grid; width: 24px; height: 24px; place-items: center; border: 1px solid var(--line-strong); border-radius: 50%; color: var(--quiet); font-family: var(--mono); font-size: .72rem; }.chain-step strong { display: block; font-size: .85rem; }.chain-step p { margin-top: 4px; color: var(--muted); font-size: .83rem; }.chain-step small { display: block; margin-top: 5px; color: var(--quiet); font-size: .75rem; }.chain-step.accepté > span { border-color: var(--green); color: var(--green); }.chain-step.critique > span { border-color: var(--red); color: var(--red); }.export-grid { display: grid; gap: 8px; grid-template-columns: repeat(2, minmax(0, 1fr)); }.export-link { display: grid; gap: 3px; min-height: 72px; align-content: center; padding: 10px; border: 1px solid var(--line); text-decoration: none; }.export-link:hover { border-color: var(--cyan); background: var(--surface-soft); }.export-link span { color: var(--muted); font-size: .78rem; }.export-link b { font-size: .88rem; }.journal-list p { margin: 0; color: var(--muted); font-size: .86rem; }.journal-list small { color: var(--quiet); font-size: .76rem; }
.inspiration-dialog { grid-template-rows: auto auto minmax(210px, 1fr) auto auto; }.inspiration-thread { display: grid; gap: 10px; min-height: 220px; max-height: 48vh; overflow-y: auto; padding: 3px 2px; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }.inspiration-message { max-width: 94%; padding: 12px; border: 1px solid var(--line); background: var(--surface-soft); }.inspiration-message.user { justify-self: end; border-color: var(--cyan); background: color-mix(in srgb, var(--surface) 88%, var(--cyan)); }.inspiration-message p { margin: 0; color: var(--muted); white-space: pre-wrap; }.inspiration-results { display: grid; gap: 8px; margin-top: 11px; }.inspiration-card, .inspiration-idea { display: grid; gap: 5px; padding: 10px; border-left: 2px solid var(--line-strong); background: var(--surface); }.inspiration-card.innovation { border-color: var(--accent); }.inspiration-card.process { border-color: var(--cyan); }.inspiration-card.media { border-color: var(--green); }.inspiration-card span, .inspiration-idea > span { color: var(--quiet); font-family: var(--mono); font-size: .66rem; text-transform: uppercase; }.inspiration-card h3, .inspiration-idea h3 { margin: 0; font-size: .91rem; }.inspiration-card small, .inspiration-idea small { color: var(--quiet); font-size: .75rem; }.inspiration-card a { color: var(--cyan); font-size: .78rem; }.inspiration-ideas { margin-top: 11px; }.inspiration-ideas summary { cursor: pointer; color: var(--accent); font-weight: 750; }.inspiration-ideas .inspiration-idea { margin-top: 8px; }.inspiration-idea ul { margin: 3px 0 5px; padding-left: 18px; color: var(--muted); font-size: .82rem; }.inspiration-idea .button { justify-self: start; margin-top: 5px; }.inspiration-prompt { display: grid; gap: 6px; }.inspiration-prompt > span { color: var(--quiet); font-size: .76rem; }
.rag-policy { display: block; margin-top: 10px; color: var(--quiet); font-size: .72rem; }
.loading-view { display: grid; min-height: 70vh; place-content: center; gap: 14px; color: var(--muted); text-align: center; }.loading-line { width: 120px; height: 2px; margin: 0 auto; background: linear-gradient(90deg, var(--accent), var(--cyan)); animation: sweep 1.2s ease-in-out infinite alternate; }@keyframes sweep { from { transform: scaleX(.25); transform-origin: left; } to { transform: scaleX(1); transform-origin: right; } }

@media (min-width: 720px) { .library-main, .study-main { padding: 34px 28px; }.library-intro { grid-template-columns: minmax(0, 1fr) minmax(330px, .72fr); align-items: end; }.resume-band { grid-template-columns: minmax(0, 1fr) auto; align-items: end; }.library-stats { grid-template-columns: repeat(4, minmax(0, 1fr)); }.library-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }.study-summary { grid-template-columns: minmax(0, 1fr) 300px; align-items: end; }.next-move { grid-template-columns: minmax(0, 1fr) auto; align-items: end; }.workspace-grid { grid-template-columns: minmax(0, 1fr) 280px; }.study-side { align-content: start; }.mobile-dock { display: none; }.study-funnel { margin-left: 0; margin-right: 0; padding-left: 0; padding-right: 0; }.study-funnel li { min-width: 112px; }.project-title h1 { max-width: 55vw; }.dialog-content { padding: 26px; } }
@media (min-width: 1040px) { .library-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }.workspace-grid { grid-template-columns: minmax(0, 1fr) 320px; gap: 34px; }.context-rail, .proof-rail, .risk-rail, .coaching-rail { padding-top: 0; border-top: 0; border-bottom: 1px solid var(--line); padding-bottom: 18px; }.study-main { padding-top: 24px; } }
@media (max-width: 420px) { .back-link span { display: none; }.project-title h1 { max-width: 46vw; }.metric-row { gap: 5px; }.metric { padding: 7px; }.metric strong { font-size: .98rem; }.composer-hint { display: none; }.new-project-form > div { display: grid; }.new-project-form .button { width: 100%; }.actor-card { grid-template-columns: 1fr; }.export-grid { grid-template-columns: 1fr; }.study-funnel { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); overflow: hidden; }.study-funnel li { min-width: 0; padding-right: 2px; text-align: center; font-size: .61rem; }.study-funnel li::after { top: 11px; left: calc(50% + 12px); width: calc(100% - 24px); }.study-funnel span { width: 22px; height: 22px; margin: 0; font-size: .62rem; }.study-funnel b { display: block; margin-top: 3px; overflow-wrap: anywhere; }.live-diagram { grid-template-columns: 1fr; gap: 6px; }.diagram-node:not(:last-child)::after { top: auto; bottom: -7px; left: 22px; width: 2px; height: 14px; }.diagram-node.active:not(:last-child)::after { background: linear-gradient(var(--accent), var(--line-strong)); } }
@media (prefers-reduced-motion: reduce) { .diagram-node.active:not(:last-child)::after { animation: none; } }
