:root {
  color-scheme: dark;
  --bg: #080b10;
  --panel: #10151d;
  --panel-2: #141b25;
  --line: #252e3b;
  --muted: #8490a3;
  --text: #eef2f7;
  --accent: #b9f34b;
  --accent-soft: rgba(185, 243, 75, .11);
  --cyan: #4ee1d1;
  --danger: #ff7285;
  --radius: 16px;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
* { box-sizing: border-box; }
body { margin: 0; min-width: 320px; background: radial-gradient(circle at 70% -20%, #172316 0, transparent 35%), var(--bg); color: var(--text); }
button, input, textarea, select { font: inherit; }
button { color: inherit; }
.topbar { height: 68px; padding: 0 24px; border-bottom: 1px solid var(--line); background: rgba(8, 11, 16, .9); backdrop-filter: blur(14px); display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; position: sticky; top: 0; z-index: 10; }
.brand { color: var(--text); text-decoration: none; display: inline-flex; align-items: center; gap: 11px; width: max-content; }
.brand-mark { display: grid; place-items: center; width: 34px; height: 34px; border: 1px solid var(--accent); border-radius: 10px; color: var(--accent); font-weight: 800; box-shadow: inset 0 0 18px var(--accent-soft); }
.brand strong, .brand small { display: block; line-height: 1.05; }
.brand small { color: var(--muted); letter-spacing: .16em; text-transform: uppercase; font-size: 9px; margin-top: 4px; }
.status-line { display: flex; align-items: center; gap: 8px; color: var(--muted); font-size: 12px; }
.status-dot { width: 7px; height: 7px; border-radius: 50%; background: var(--accent); box-shadow: 0 0 12px var(--accent); }
.mode-badge, .phase-pill { border: 1px solid var(--line); border-radius: 100px; padding: 4px 8px; font-size: 9px; letter-spacing: .12em; color: var(--cyan); }
.topbar > .button { justify-self: end; }
.workspace { display: grid; grid-template-columns: 260px minmax(460px, 1fr) 330px; grid-template-rows: minmax(calc(100vh - 330px), auto) auto; gap: 14px; padding: 14px; max-width: 1800px; margin: 0 auto; }
.panel { background: linear-gradient(145deg, rgba(20, 27, 37, .96), rgba(13, 18, 25, .98)); border: 1px solid var(--line); border-radius: var(--radius); box-shadow: 0 18px 45px rgba(0,0,0,.15); }
.sidebar { grid-row: 1 / 3; padding: 18px; min-height: calc(100vh - 96px); }
.main-column { grid-column: 2 / 4; display: flex; flex-direction: column; gap: 14px; min-width: 0; }
.right-column, .timeline { display: none; }
.panel-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
h1, h2, p { margin-top: 0; }
h1, h2 { margin-bottom: 0; font-weight: 650; letter-spacing: -.025em; }
h1 { font-size: 20px; }
h2 { font-size: 18px; }
.eyebrow { color: var(--muted); display: block; font-size: 9px; letter-spacing: .17em; text-transform: uppercase; margin-bottom: 5px; }
.button, .icon-button { border: 1px solid var(--line); background: var(--panel-2); border-radius: 9px; cursor: pointer; transition: .16s ease; }
.button { padding: 9px 13px; font-size: 12px; font-weight: 650; }
.button:hover, .icon-button:hover { border-color: #536077; transform: translateY(-1px); }
.button-primary { background: var(--accent); border-color: var(--accent); color: #12170a; }
.button-primary:hover { box-shadow: 0 0 22px var(--accent-soft); border-color: #d5ff86; }
.button-quiet { background: transparent; }
.icon-button { width: 30px; height: 30px; color: var(--accent); font-size: 19px; }
.full-width { width: 100%; margin-top: 12px; }
.compact-form, .entry-form { border: 1px solid var(--line); border-radius: 12px; background: rgba(6, 10, 15, .45); padding: 12px; margin: 14px 0; }
.entry-form { padding: 16px; }
label { display: block; color: var(--muted); font-size: 11px; margin-bottom: 10px; }
input, textarea, select { width: 100%; border: 1px solid var(--line); color: var(--text); background: #0b1017; border-radius: 8px; padding: 9px 10px; margin-top: 5px; outline: none; resize: vertical; }
input:focus, textarea:focus, select:focus { border-color: var(--accent); box-shadow: 0 0 0 3px var(--accent-soft); }
.form-title { display: block; font-weight: 650; font-size: 13px; margin-bottom: 11px; }
.form-grid.two { display: grid; grid-template-columns: 1fr 150px; gap: 10px; }
.field-hint { float: right; color: #606c7d; }
.target-list { margin-top: 18px; }
.target-group { margin-bottom: 18px; }
.target-name { width: 100%; border: 0; border-radius: 7px; background: transparent; color: var(--muted); font-size: 10px; text-transform: uppercase; letter-spacing: .1em; padding: 6px 8px 7px; display: flex; justify-content: space-between; cursor: pointer; text-align: left; }
.target-name:hover, .target-name.active { color: var(--accent); background: var(--accent-soft); }
.session-link { border: 1px solid transparent; background: transparent; color: var(--text); width: 100%; text-align: left; border-radius: 9px; padding: 9px 10px; cursor: pointer; margin-bottom: 3px; }
.session-link strong { display: block; font-size: 12px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.session-link small { color: var(--muted); font-size: 9px; }
.session-link:hover, .session-link.active { background: var(--accent-soft); border-color: rgba(185, 243, 75, .2); }
.session-link.active strong { color: var(--accent); }
.hero { padding: 18px 20px; display: flex; justify-content: space-between; gap: 18px; align-items: center; }
.hero h2 { font-size: 23px; }
.hero p { color: var(--muted); margin: 7px 0 0; font-size: 12px; }
.authority-card { flex: 0 0 auto; display: grid; grid-template-columns: auto auto; align-items: center; column-gap: 9px; border: 1px solid var(--line); background: rgba(8,12,17,.58); border-radius: 12px; padding: 10px 12px; }
.authority-icon { grid-row: 1 / 3; color: var(--cyan); font-size: 22px; }
.authority-card strong, .authority-card span { display: block; }
.authority-card strong { font-size: 11px; }
.authority-card div span { color: var(--muted); font-size: 9px; margin-top: 2px; }
.authority-card .authority-state { grid-column: 2; color: var(--cyan); font-size: 9px; margin-top: 4px; }
.mentor { padding: 20px; min-height: calc(100vh - 190px); display: flex; flex-direction: column; border-color: rgba(78, 225, 209, .22); background: radial-gradient(circle at 90% 0, rgba(78,225,209,.07), transparent 40%), linear-gradient(145deg, #141b25, #0d1219); }
.mentor-empty { min-height: 100px; display: flex; align-items: center; gap: 17px; color: var(--muted); }
.mentor-empty p { margin: 0; line-height: 1.55; font-size: 13px; max-width: 660px; }
.mentor-glyph { font-size: 38px; color: var(--cyan); }
.mentor-summary { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 16px; }
.mentor-item { border: 1px solid var(--line); background: rgba(8, 12, 17, .42); border-radius: 11px; padding: 12px; }
.mentor-item span { display: block; color: var(--muted); font-size: 9px; text-transform: uppercase; letter-spacing: .1em; margin-bottom: 6px; }
.mentor-item strong { font-size: 12px; line-height: 1.4; }
.program-overview { margin-top: 15px; display: grid; grid-template-columns: 1fr 1.4fr; gap: 12px; }
.program-overview-heading { grid-column: 1 / -1; display: flex; align-items: center; justify-content: space-between; }
.program-overview-heading strong { font-size: 13px; }
.program-list { border: 1px solid var(--line); border-radius: 11px; padding: 11px 12px; background: rgba(8,12,17,.4); }
.program-list > span { color: var(--cyan); font-size: 9px; text-transform: uppercase; letter-spacing: .1em; }
.program-list ul { margin: 8px 0 0; padding-left: 17px; color: var(--muted); font-size: 10px; line-height: 1.55; max-height: 150px; overflow-y: auto; }
.program-source { color: var(--accent); font-size: 10px; text-decoration: none; }
.program-loading { grid-column: 1 / -1; color: var(--muted); font-size: 12px; }
.mentor-chat { flex: 1; min-height: 0; margin-top: 16px; border-top: 1px solid var(--line); padding-top: 14px; display: flex; flex-direction: column; }
.mentor-messages { display: flex; flex: 1; flex-direction: column; gap: 9px; min-height: 180px; overflow-y: auto; padding-right: 4px; }
.chat-message { max-width: 86%; border: 1px solid var(--line); border-radius: 12px 12px 12px 3px; background: rgba(8, 12, 17, .55); padding: 10px 12px; font-size: 12px; line-height: 1.5; white-space: pre-wrap; }
.chat-message.researcher { align-self: flex-end; border-radius: 12px 12px 3px 12px; border-color: rgba(185, 243, 75, .25); background: var(--accent-soft); }
.chat-message .chat-meta { display: block; color: var(--muted); font-size: 8px; letter-spacing: .09em; text-transform: uppercase; margin-bottom: 5px; }
.mentor-form { display: grid; grid-template-columns: 1fr auto; gap: 8px; align-items: end; margin-top: 11px; }
.mentor-form textarea { margin: 0; min-height: 58px; }
.mentor-form .button { height: 40px; }
.mentor-note { color: var(--muted); font-size: 9px; margin: 7px 0 0; }
.raw-toggle { display: inline-flex; align-items: center; gap: 7px; color: var(--danger); font-size: 9px; margin: 8px 0 0; }
.raw-toggle input { width: auto; margin: 0; accent-color: var(--danger); }
.engine-picker { display: flex; align-items: center; gap: 8px; margin: 0; white-space: nowrap; }
.engine-picker span { font-size: 9px; letter-spacing: .1em; text-transform: uppercase; }
.engine-picker select { width: auto; min-width: 230px; margin: 0; padding: 7px 28px 7px 9px; color: var(--cyan); font-size: 11px; }
.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; }
.hypotheses-panel { padding: 20px; flex: 1; }
.hypothesis-list { margin-top: 14px; display: grid; gap: 8px; }
.hypothesis-card { display: grid; grid-template-columns: 34px 1fr auto; gap: 10px; align-items: start; border: 1px solid var(--line); border-radius: 11px; padding: 12px; background: rgba(8, 12, 17, .35); }
.priority { display: grid; place-items: center; width: 30px; height: 30px; border-radius: 8px; color: var(--accent); background: var(--accent-soft); font-size: 11px; }
.hypothesis-card strong { font-size: 13px; line-height: 1.35; display: block; }
.hypothesis-card p { color: var(--muted); font-size: 10px; margin: 6px 0 0; }
.status-pill { color: var(--cyan); border: 1px solid var(--line); border-radius: 50px; padding: 4px 7px; font-size: 8px; text-transform: uppercase; }
.capture-panel { padding: 18px; min-height: 100%; }
.tab-list { display: grid; grid-template-columns: repeat(3, 1fr); border-bottom: 1px solid var(--line); margin: 16px 0; }
.tab { border: 0; background: transparent; color: var(--muted); padding: 9px 2px; font-size: 10px; cursor: pointer; border-bottom: 2px solid transparent; }
.tab.active { color: var(--accent); border-color: var(--accent); }
.capture-form { margin-top: 12px; }
.capture-form .button { width: 100%; }
.empty-state { color: var(--muted); font-size: 12px; padding: 26px 5px; }
.empty-state.compact { padding: 14px 2px; }
.counter { color: var(--muted); font-size: 10px; }
.timeline-list { display: flex; gap: 9px; overflow-x: auto; margin-top: 15px; padding-bottom: 5px; }
.timeline-event { flex: 0 0 250px; border: 1px solid var(--line); border-radius: 11px; padding: 12px; background: rgba(8, 12, 17, .4); }
.timeline-event header { display: flex; justify-content: space-between; color: var(--muted); font-size: 9px; text-transform: uppercase; letter-spacing: .08em; }
.timeline-event p { font-size: 11px; line-height: 1.45; margin: 9px 0 0; }
.timeline-event.prediction { border-top-color: var(--cyan); }
.timeline-event.experiment { border-top-color: var(--accent); }
.timeline-event.decision { border-top-color: #bf8cff; }
.timeline-event.assistance { border-top-color: #ffb15a; }
.toast { position: fixed; right: 20px; bottom: 20px; max-width: 380px; color: var(--text); background: #18212c; border: 1px solid var(--line); border-radius: 10px; padding: 12px 15px; font-size: 12px; opacity: 0; transform: translateY(10px); pointer-events: none; transition: .2s; box-shadow: 0 14px 40px rgba(0,0,0,.35); }
.toast.visible { opacity: 1; transform: none; }
.toast.error { border-color: var(--danger); }
.toast.achievement { display: grid; grid-template-columns: 42px minmax(0,1fr); align-items: center; gap: 12px; width: min(420px,calc(100vw - 32px)); max-width: none; padding: 14px 16px; overflow: hidden; border-color: rgba(167,139,250,.5); background: linear-gradient(125deg,#201735,#17141f 62%,#141414); box-shadow: 0 18px 55px rgba(0,0,0,.5), 0 0 34px rgba(139,92,246,.13); }
.toast.achievement::before { content: ""; position: absolute; inset: 0 auto 0 0; width: 4px; background: linear-gradient(#c4b5fd,#7c3aed); }
.achievement-icon { display: grid; place-items: center; width: 38px; height: 38px; border: 1px solid rgba(196,181,253,.48); border-radius: 50%; color: #d8ccff; background: rgba(139,92,246,.16); font-size: 17px; box-shadow: inset 0 0 18px rgba(139,92,246,.13); }
.achievement-body { min-width: 0; }
.achievement-kicker { display: block; margin-bottom: 4px; color: #a78bfa; font-size: 7px; font-weight: 750; letter-spacing: .1em; text-transform: uppercase; }
.achievement-body strong { display: block; overflow: hidden; color: #f0edf8; font-size: 12px; font-weight: 620; text-overflow: ellipsis; white-space: nowrap; }
.achievement-body p { margin: 4px 0 0; color: #928b9e; font-size: 8px; line-height: 1.4; }
.hidden { display: none !important; }

/* Chat-first workspace: one project rail and one conversation surface. */
body { height: 100vh; overflow: hidden; background: #090909; }
.topbar { display: none; }
.workspace { width: 100%; max-width: none; height: 100vh; padding: 0; gap: 0; grid-template-columns: 280px minmax(0, 1fr); grid-template-rows: 1fr; }
.panel { box-shadow: none; }
.sidebar { grid-row: 1; min-height: 0; height: 100vh; overflow: hidden; padding: 14px 12px; border: 0; border-right: 1px solid #292929; border-radius: 0; background: #171717; display: flex; flex-direction: column; }
.sidebar-brand { display: flex; align-items: center; gap: 10px; margin: 2px 6px 28px; color: var(--text); text-decoration: none; }
.sidebar-brand strong, .sidebar-brand small { display: block; line-height: 1.05; }
.sidebar-brand small { margin-top: 4px; color: var(--muted); font-size: 9px; letter-spacing: .14em; text-transform: uppercase; }
.hunter-profile-button { width: 100%; display: grid; grid-template-columns: 34px minmax(0,1fr) auto; align-items: center; gap: 9px; margin: 0 0 20px; padding: 9px 10px; border: 1px solid rgba(167,139,250,.18); border-radius: 10px; background: linear-gradient(115deg,rgba(139,92,246,.09),rgba(28,28,28,.65)); color: #d6d0df; text-align: left; cursor: pointer; }
.hunter-profile-button:hover { border-color: rgba(167,139,250,.42); background: linear-gradient(115deg,rgba(139,92,246,.15),rgba(31,31,31,.8)); }
.hunter-profile-avatar { display: grid; place-items: center; width: 32px; height: 32px; border: 1px solid rgba(196,181,253,.42); border-radius: 9px; color: #c4b5fd; background: rgba(139,92,246,.1); font-size: 11px; font-weight: 750; }
.hunter-profile-button strong, .hunter-profile-button small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.hunter-profile-button strong { font-size: 10px; font-weight: 600; }
.hunter-profile-button small { margin-top: 3px; color: #716b79; font-size: 7px; }
.hunter-profile-arrow { color: #766d84; font-size: 19px; }
.sidebar .panel-heading { align-items: center; padding: 0 6px; }
.sidebar h1 { font-size: 13px; }
.target-list { flex: 1; min-height: 40px; margin-top: 10px; overflow-y: auto; scrollbar-width: thin; }
.target-group { margin: 0 0 3px; }
.target-name { padding: 10px 11px; border-radius: 8px; color: #d6d6d6; font-size: 13px; letter-spacing: 0; text-transform: none; }
.target-name:hover, .target-name.active { color: #fff; background: #2a2a2a; }
.radio-player { --radio-accent: #a78bfa; position: relative; flex: 0 0 auto; margin-top: 10px; overflow: hidden; border: 1px solid rgba(167,139,250,.22); border-radius: 14px; background: radial-gradient(circle at 12% 20%,rgba(139,92,246,.14),transparent 35%),linear-gradient(145deg,#201b29,#121214 68%); box-shadow: 0 18px 35px rgba(0,0,0,.25),inset 0 1px rgba(255,255,255,.025); transition: border-color .25s ease,box-shadow .25s ease; }
.radio-player:hover, .radio-player.expanded { border-color: rgba(167,139,250,.48); box-shadow: 0 20px 45px rgba(0,0,0,.34),0 0 28px rgba(139,92,246,.08); }
.radio-player audio { display: none; }
.radio-ambient { position: absolute; inset: 0; display: flex; align-items: flex-end; justify-content: space-around; gap: 3px; padding: 0 9px; opacity: .08; pointer-events: none; }
.radio-ambient i { width: 3px; height: 38%; border-radius: 99px 99px 0 0; background: linear-gradient(transparent,var(--radio-accent)); transform-origin: bottom; }
.radio-player.playing .radio-ambient { opacity: .2; }
.radio-player.playing .radio-ambient i { animation: radio-equalizer .9s ease-in-out infinite alternate; }
.radio-player.playing .radio-ambient i:nth-child(2) { animation-delay: -.65s; }
.radio-player.playing .radio-ambient i:nth-child(3) { animation-delay: -.2s; }
.radio-player.playing .radio-ambient i:nth-child(4) { animation-delay: -.78s; }
.radio-player.playing .radio-ambient i:nth-child(5) { animation-delay: -.36s; }
.radio-player.playing .radio-ambient i:nth-child(6) { animation-delay: -.52s; }
.radio-main { position: relative; z-index: 1; display: grid; grid-template-columns: 38px minmax(0,1fr) 36px; align-items: center; gap: 8px; min-height: 64px; padding: 9px 10px; }
.radio-station, .radio-track-info, .radio-control { border: 0; background: transparent; color: inherit; cursor: pointer; }
.radio-station { display: grid; place-items: center; width: 38px; height: 38px; padding: 0; }
.radio-orb { position: relative; display: grid; place-items: center; width: 34px; height: 34px; border: 1px solid rgba(196,181,253,.42); border-radius: 50%; background: radial-gradient(circle at 38% 32%,#6d55a5,#241c35 58%,#131218); box-shadow: inset 0 0 12px rgba(196,181,253,.14),0 0 14px rgba(139,92,246,.12); }
.radio-orb::before, .radio-orb::after { content: ""; position: absolute; border: 1px solid rgba(167,139,250,.25); border-radius: 50%; }
.radio-orb::before { inset: 5px; }
.radio-orb::after { inset: 10px; }
.radio-orb i { width: 4px; height: 4px; border-radius: 50%; background: #ddd6fe; box-shadow: 0 0 9px #a78bfa; }
.radio-player.playing .radio-orb { animation: radio-orb 3.6s linear infinite; box-shadow: inset 0 0 12px rgba(196,181,253,.18),0 0 22px rgba(139,92,246,.32); }
.radio-track-info { min-width: 0; padding: 0; text-align: left; }
.radio-track-info span, .radio-track-info strong, .radio-track-info small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.radio-track-info span { color: #8879a4; font-size: 6px; font-weight: 750; letter-spacing: .14em; text-transform: uppercase; }
.radio-track-info strong { margin-top: 4px; color: #e9e5ef; font-size: 9px; font-weight: 620; }
.radio-track-info small { margin-top: 3px; color: #716b78; font-size: 7px; }
.radio-control { position: relative; display: grid; place-items: center; width: 34px; height: 34px; padding: 0; border: 1px solid rgba(167,139,250,.25); border-radius: 50%; background: rgba(139,92,246,.1); color: #d8ccff; transition: transform .18s ease,border-color .18s ease,background .18s ease; }
.radio-control:hover:not(:disabled) { transform: scale(1.08); border-color: #a78bfa; background: rgba(139,92,246,.2); }
.radio-control:disabled { opacity: .3; cursor: default; }
.radio-play span { width: 0; height: 0; margin-left: 2px; border-top: 5px solid transparent; border-bottom: 5px solid transparent; border-left: 8px solid currentColor; }
.radio-player.playing .radio-play span { width: 8px; height: 10px; margin: 0; border: 0; background: linear-gradient(90deg,currentColor 0 3px,transparent 3px 5px,currentColor 5px); }
.radio-details { position: relative; z-index: 1; max-height: 0; overflow: hidden; padding: 0 11px; opacity: 0; transform: translateY(-7px); transition: max-height .3s cubic-bezier(.2,.8,.2,1),opacity .2s ease,transform .25s ease,padding .25s ease; }
.radio-player.expanded .radio-details { max-height: 116px; padding-bottom: 11px; opacity: 1; transform: none; }
.radio-timeline { display: grid; grid-template-columns: 25px minmax(0,1fr) 25px; align-items: center; gap: 6px; color: #6f6877; font-size: 6px; font-variant-numeric: tabular-nums; }
.radio-timeline span:last-child { text-align: right; }
.radio-player input[type="range"] { width: 100%; height: 3px; margin: 0; padding: 0; border: 0; border-radius: 99px; background: #302b36; box-shadow: none; accent-color: var(--radio-accent); cursor: pointer; }
.radio-actions { display: flex; align-items: center; justify-content: center; gap: 15px; margin-top: 9px; }
.radio-skip { width: 26px; height: 26px; }
.radio-skip span::before, .radio-skip span::after { content: ""; position: absolute; top: 8px; width: 0; height: 0; border-top: 4px solid transparent; border-bottom: 4px solid transparent; }
.radio-next span::before { left: 7px; border-left: 6px solid currentColor; }
.radio-next span::after { left: 12px; border-left: 6px solid currentColor; }
.radio-previous span::before { right: 7px; border-right: 6px solid currentColor; }
.radio-previous span::after { right: 12px; border-right: 6px solid currentColor; }
.radio-live { min-width: 66px; display: flex; align-items: center; justify-content: center; gap: 5px; color: #756c81; font-size: 6px; font-weight: 750; letter-spacing: .12em; }
.radio-live i { width: 5px; height: 5px; border-radius: 50%; background: #61596a; }
.radio-player.playing .radio-live { color: #c4b5fd; }
.radio-player.playing .radio-live i { background: #a78bfa; box-shadow: 0 0 9px #8b5cf6; animation: radio-live 1.5s ease-in-out infinite; }
.radio-volume { display: grid; grid-template-columns: 20px minmax(0,1fr); align-items: center; gap: 7px; margin: 8px 2px 0; color: #625b68; font-size: 6px; letter-spacing: .1em; }
@keyframes radio-equalizer { from { transform: scaleY(.25); } to { transform: scaleY(1); } }
@keyframes radio-orb { to { transform: rotate(360deg); } }
@keyframes radio-live { 50% { opacity: .35; } }
.main-column { grid-column: 2; height: 100vh; min-height: 0; gap: 0; background: #101010; }
.chat-header { height: 58px; flex: 0 0 58px; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; padding: 0 20px; border-bottom: 1px solid #242424; background: rgba(16,16,16,.96); }
.chat-project { text-align: center; min-width: 0; }
.chat-project strong, .chat-project span { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.chat-project strong { font-size: 12px; }
.chat-project span { margin-top: 3px; color: #777; font-size: 9px; }
.caido-state { justify-self: end; color: #8b8b8b; font-size: 10px; }
.chat-actions { justify-self: end; display: flex; align-items: center; gap: 12px; }
.methodology-button { padding: 7px 10px; border: 1px solid #333; border-radius: 9px; background: #1c1c1c; color: #bdbdbd; font-size: 10px; cursor: pointer; }
.methodology-button:hover:not(:disabled) { border-color: rgba(185,243,75,.45); color: var(--accent); }
.methodology-button:disabled { opacity: .4; cursor: default; }
.methodology-button span { margin-left: 5px; color: var(--accent); font-variant-numeric: tabular-nums; }
.engine-picker { justify-self: start; margin: 0; }
.engine-picker select { width: auto; min-width: 220px; margin: 0; padding: 8px 30px 8px 10px; border: 0; background: transparent; color: #f2f2f2; font-size: 14px; font-weight: 600; box-shadow: none; }
.mentor { position: relative; height: calc(100vh - 58px); min-height: 0; padding: 0; border: 0; border-radius: 0; background: #101010; }
.mentor-empty { width: min(760px, calc(100% - 40px)); height: 100%; min-height: 0; margin: auto; justify-content: center; }
.mentor-chat { position: relative; width: 100%; height: 100%; min-height: 0; margin: 0; padding: 0; border: 0; display: grid; grid-template-rows: minmax(0, 1fr) auto auto; }
.mentor-messages { display: block; width: min(860px, 100%); min-height: 0; margin: 0 auto; padding: 34px 24px 24px; overflow-y: auto; overscroll-behavior: contain; scrollbar-width: thin; }
.chat-message { width: fit-content; min-width: 0; max-width: 82%; height: auto; min-height: 0; margin: 0 auto 18px 0; padding: 0; border: 0; border-radius: 0; background: transparent; color: #e7e7e7; font-size: 14px; line-height: 1.65; overflow-wrap: anywhere; }
.chat-message.researcher { margin-right: 0; margin-left: auto; padding: 10px 14px; border: 0; border-radius: 18px; background: #2b2b2b; }
.chat-message:last-child { margin-bottom: 0; }
.chat-message .chat-meta { margin-bottom: 6px; color: #777; font-size: 9px; }
.mentor-form { position: relative; left: auto; bottom: auto; width: min(780px, calc(100% - 40px)); margin: 0 auto; transform: none; grid-template-columns: minmax(0, 1fr) auto; padding: 8px 8px 8px 16px; border: 1px solid #383838; border-radius: 26px; background: #212121; box-shadow: 0 16px 50px rgba(0,0,0,.38); }
.mentor-form textarea { height: 44px; min-height: 44px; max-height: 160px; padding: 11px 4px; border: 0; background: transparent; box-shadow: none; resize: none; }
.mentor-form .button { width: 40px; height: 40px; padding: 0; overflow: hidden; border-radius: 50%; font-size: 0; }
.mentor-form .button::after { content: "↑"; font-size: 20px; font-weight: 700; }
.composer-options { position: static; left: auto; bottom: auto; width: min(760px, calc(100% - 60px)); min-height: 32px; margin: 0 auto 4px; display: flex; align-items: center; gap: 8px; transform: none; }
.raw-toggle { margin: 0; color: #999; font-size: 10px; }
.mentor-note { margin: 0; color: #626262; font-size: 9px; }
.right-column, .timeline { display: none; }
.hypotheses-panel { padding: 0; }
.hypotheses-panel > .panel-heading { flex: 0 0 auto; margin: 0; padding: 14px 24px; border-bottom: 1px solid #292929; }
.hypotheses-panel > .entry-form { flex: 0 0 auto; margin: 14px 24px 0; }
.hypotheses-panel > .hypothesis-list { flex: 1; min-height: 0; overflow-y: auto; margin: 0; padding: 18px 24px 36px; }
.hypotheses-panel .hypothesis-card { grid-template-columns: 34px minmax(0,1fr) auto; padding: 15px; background: #151515; }
.hypothesis-body p { font-size: 10px; line-height: 1.55; }
.hypothesis-body .hypothesis-basis { color: #888; }
.hypothesis-body .hypothesis-next { color: #bbb; }
.hypothesis-body small { display: block; margin-top: 8px; color: var(--accent); font-size: 8px; }

.modal-open { overflow: hidden; }
.methodology-modal { position: fixed; inset: 0; z-index: 100; padding: 18px; background: rgba(0,0,0,.76); backdrop-filter: blur(8px); }
.methodology-surface { width: min(1480px, 100%); height: 100%; margin: 0 auto; display: flex; flex-direction: column; overflow: hidden; border: 1px solid #343434; border-radius: 18px; background: #111; box-shadow: 0 30px 100px rgba(0,0,0,.65); }
.methodology-header { flex: 0 0 auto; display: flex; justify-content: space-between; gap: 24px; padding: 22px 26px 16px; border-bottom: 1px solid #292929; }
.methodology-header h2 { margin: 3px 0 5px; font-size: 23px; }
.methodology-header p { margin: 0; color: #888; font-size: 11px; }
.methodology-kicker { color: var(--accent); font-size: 9px; letter-spacing: .16em; text-transform: uppercase; }
.methodology-close { width: 36px; height: 36px; border: 0; border-radius: 9px; background: #222; color: #aaa; font-size: 25px; cursor: pointer; }
.methodology-close:hover { color: #fff; background: #2b2b2b; }
.methodology-toolbar { flex: 0 0 auto; display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 12px 26px; border-bottom: 1px solid #242424; }
.methodology-toolbar input { max-width: 560px; margin: 0; border-color: #333; border-radius: 10px; background: #191919; }
.methodology-legend { display: flex; gap: 13px; color: #777; font-size: 9px; white-space: nowrap; }
.methodology-legend span::before { content: ""; display: inline-block; width: 7px; height: 7px; margin-right: 5px; border-radius: 50%; }
.legend-relevant::before { background: var(--accent); box-shadow: 0 0 8px rgba(185,243,75,.45); }
.legend-muted::before { background: #555; }
.legend-blocked::before { background: var(--danger); }
.methodology-context { flex: 0 0 auto; display: flex; flex-wrap: wrap; gap: 7px; padding: 10px 26px; border-bottom: 1px solid #242424; }
.methodology-context span { padding: 5px 8px; border: 1px solid #2c2c2c; border-radius: 99px; color: #999; font-size: 9px; }
.methodology-context .scope-patterns { color: #c3c3c3; }
.methodology-tree, .methodology-search-results { flex: 1; min-height: 0; overflow-y: auto; padding: 18px 26px 28px; scrollbar-width: thin; }
.methodology-branch { margin-bottom: 8px; border: 1px solid #292929; border-radius: 12px; background: #151515; }
.methodology-branch[open] { border-color: rgba(185,243,75,.18); }
.methodology-branch > summary, .methodology-category > summary { list-style: none; cursor: pointer; }
.methodology-branch > summary::-webkit-details-marker, .methodology-category > summary::-webkit-details-marker { display: none; }
.methodology-branch > summary { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 14px 16px; }
.methodology-branch > summary::before { content: "›"; width: 15px; color: #666; font-size: 20px; transition: transform .15s; }
.methodology-branch[open] > summary::before { transform: rotate(90deg); color: var(--accent); }
.methodology-branch-title { flex: 1; font-size: 13px; font-weight: 650; }
.methodology-branch-title strong, .methodology-branch-title small { display: block; }
.methodology-branch-title small { margin-top: 4px; color: #717171; font-size: 9px; font-weight: 400; line-height: 1.4; }
.methodology-counts { display: flex; align-items: center; gap: 6px; }
.methodology-counts b { padding: 3px 6px; border-radius: 6px; color: #777; background: #202020; font-size: 8px; font-weight: 600; }
.methodology-counts b.relevant { color: var(--accent); background: rgba(185,243,75,.09); }
.methodology-counts b.blocked { color: var(--danger); background: rgba(255,114,133,.08); }
.methodology-categories { padding: 0 12px 12px 42px; }
.methodology-category { border-top: 1px solid #242424; }
.methodology-category > summary { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 10px 8px; color: #777; font-size: 10px; }
.methodology-category[open] > summary { color: #fff; }
.methodology-items { display: grid; gap: 3px; padding: 0 6px 10px; }
.methodology-item { border-radius: 8px; }
.methodology-item:hover { background: #1d1d1d; }
.methodology-item > summary { list-style: none; cursor: pointer; }
.methodology-item > summary::-webkit-details-marker { display: none; }
.methodology-item-summary { display: grid; grid-template-columns: 10px minmax(0,1fr); align-items: start; gap: 9px; padding: 8px 9px; }
.methodology-state-dot { width: 7px; height: 7px; margin-top: 5px; border-radius: 50%; background: #555; }
.methodology-item[open] .methodology-state-dot { background: var(--accent); box-shadow: 0 0 8px rgba(185,243,75,.35); }
.methodology-item-body strong { display: block; color: #ddd; font-size: 11px; line-height: 1.35; }
.methodology-item-body small { display: block; margin-top: 3px; color: #737373; font-size: 8px; line-height: 1.4; }
.methodology-item-detail { margin: 0 9px 9px 28px; padding: 12px 14px; border-left: 2px solid rgba(185,243,75,.28); border-radius: 0 8px 8px 0; background: #181818; color: #aaa; font-size: 10px; line-height: 1.55; }
.methodology-item-detail b { display: block; margin: 10px 0 3px; color: #e1e1e1; font-size: 10px; }
.methodology-item-detail b:first-child { margin-top: 0; }
.methodology-item-detail p { margin: 0; white-space: pre-wrap; }
.methodology-steps { margin: 4px 0 0; padding-left: 20px; }
.methodology-steps li { margin: 3px 0; }
.methodology-guidance { color: #c8c8c8; }
.methodology-phase-context { display: block; margin-top: 12px; color: #666; }
.methodology-description-loading { color: #999; }
.methodology-description-error { color: var(--danger); }
.methodology-item-detail > a { display: inline-block; margin-top: 10px; color: var(--accent); text-decoration: none; }
.methodology-result-count, .methodology-limit { color: #777; font-size: 10px; }
.methodology-search-results .methodology-item { margin-bottom: 3px; border-bottom: 1px solid #1f1f1f; }
.methodology-path { color: #555 !important; }
.methodology-note { flex: 0 0 auto; padding: 10px 26px; border-top: 1px solid #292929; color: #666; font-size: 9px; line-height: 1.4; }
.chat-content .lesson-link { color: var(--accent); text-decoration: underline; text-decoration-color: rgba(185,243,75,.35); text-underline-offset: 3px; }
.chat-content code { padding: 2px 5px; border-radius: 5px; background: #252525; color: #d9f99d; font-size: .9em; }

.playbook-modal { position: fixed; inset: 0; z-index: 105; padding: 18px; background: rgba(0,0,0,.78); backdrop-filter: blur(8px); }
.playbook-surface { width: min(1480px, 100%); height: 100%; margin: 0 auto; display: flex; flex-direction: column; overflow: hidden; border: 1px solid #343434; border-radius: 18px; background: #111; box-shadow: 0 30px 100px rgba(0,0,0,.68); }
.scope-surface { width: min(1120px,100%); }
.scope-content { flex: 1; min-height: 0; overflow-y: auto; padding: 22px 26px 34px; }
.scope-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
.scope-grid .program-list { min-height: 120px; padding: 15px 16px; border-color: #302a39; background: linear-gradient(145deg,rgba(139,92,246,.065),rgba(12,12,14,.7)); }
.scope-grid .program-list > span { color: #b9a5ed; font-size: 9px; }
.scope-grid .program-list ul { max-height: 230px; color: #aaa3b1; font-size: 10px; }
.scope-actions { display: flex; flex-wrap: wrap; gap: 8px; margin: 16px 0; }
.scope-actions a { text-decoration: none; }
.scope-full-rules { overflow: hidden; border: 1px solid #302d35; border-radius: 11px; background: #0d0d10; }
.scope-full-rules summary { padding: 13px 15px; color: #c8c2cf; cursor: pointer; font-size: 10px; }
.scope-full-rules pre { max-height: 52vh; margin: 0; overflow: auto; padding: 16px; border-top: 1px solid #28252d; color: #aaa5af; font: 10px/1.6 ui-monospace,SFMono-Regular,Consolas,monospace; white-space: pre-wrap; overflow-wrap: anywhere; }
@media (max-width: 720px) { .scope-grid { grid-template-columns: 1fr; } }
.playbook-toolbar { flex: 0 0 auto; display: flex; align-items: center; gap: 10px; padding: 12px 26px; border-bottom: 1px solid #242424; }
.playbook-toolbar input { max-width: 720px; margin: 0; border-color: #333; border-radius: 10px; background: #191919; }
.playbook-loading { position: relative; flex: 1; min-height: 0; display: grid; place-items: center; align-content: center; gap: 28px; overflow: hidden; padding: 38px 24px 54px; text-align: center; background: radial-gradient(circle at 50% 38%,rgba(139,92,246,.11),transparent 31%),linear-gradient(#111,#101010); }
.playbook-loading::before { content: ""; position: absolute; inset: 0; opacity: .22; background-image: linear-gradient(rgba(167,139,250,.09) 1px,transparent 1px),linear-gradient(90deg,rgba(167,139,250,.09) 1px,transparent 1px); background-size: 42px 42px; mask-image: radial-gradient(circle at center,#000,transparent 72%); animation: playbook-grid-drift 7s linear infinite; }
.playbook-loading-visual { position: relative; width: 190px; height: 190px; }
.playbook-loading-core { position: absolute; inset: 62px; z-index: 4; display: grid; place-items: center; border: 1px solid rgba(196,181,253,.65); border-radius: 50%; color: #ddd4ff; background: radial-gradient(circle,rgba(139,92,246,.36),rgba(32,23,53,.94) 68%); box-shadow: 0 0 28px rgba(139,92,246,.3),inset 0 0 22px rgba(196,181,253,.12); animation: playbook-core-pulse 1.8s ease-in-out infinite; }
.playbook-loading-core span { font-size: 12px; font-weight: 800; letter-spacing: .12em; }
.playbook-loading-orbit { position: absolute; border: 1px solid rgba(167,139,250,.2); border-radius: 50%; animation: playbook-orbit 5.5s linear infinite; }
.playbook-loading-orbit.orbit-one { inset: 35px; }
.playbook-loading-orbit.orbit-two { inset: 8px; border-color: rgba(78,225,209,.12); animation-duration: 9s; animation-direction: reverse; }
.playbook-loading-orbit i { position: absolute; display: block; width: 7px; height: 7px; border: 1px solid rgba(196,181,253,.8); border-radius: 50%; background: #6d4bc4; box-shadow: 0 0 12px rgba(167,139,250,.75); }
.playbook-loading-orbit i:nth-child(1) { top: -4px; left: 50%; }
.playbook-loading-orbit i:nth-child(2) { right: 5%; bottom: 19%; width: 5px; height: 5px; }
.playbook-loading-orbit i:nth-child(3) { bottom: -3px; left: 28%; border-color: rgba(78,225,209,.7); background: #297e77; box-shadow: 0 0 12px rgba(78,225,209,.5); }
.playbook-loading-scan { position: absolute; inset: 22px; z-index: 3; overflow: hidden; border-radius: 50%; }
.playbook-loading-scan::after { content: ""; position: absolute; left: 0; right: 0; height: 1px; top: 10%; background: linear-gradient(90deg,transparent,#c4b5fd,transparent); box-shadow: 0 0 12px rgba(196,181,253,.8); animation: playbook-scan 2.2s ease-in-out infinite; }
.playbook-loading-copy { position: relative; z-index: 2; max-width: 600px; }
.playbook-loading-copy h3 { margin: 8px 0 7px; color: #eeeaf8; font-size: clamp(19px,2vw,27px); font-weight: 620; letter-spacing: -.02em; }
.playbook-loading-copy p { margin: 0; color: #77717f; font-size: 10px; line-height: 1.55; }
.playbook-loading-stages { display: flex; justify-content: center; flex-wrap: wrap; gap: 6px; margin-top: 17px; }
.playbook-loading-stages span { padding: 5px 8px; border: 1px solid #2f2b36; border-radius: 999px; color: #5f5a65; background: rgba(20,18,24,.72); font-size: 7px; text-transform: uppercase; animation: playbook-stage 3.2s ease-in-out infinite; }
.playbook-loading-stages span:nth-child(2) { animation-delay: .45s; }
.playbook-loading-stages span:nth-child(3) { animation-delay: .9s; }
.playbook-loading-stages span:nth-child(4) { animation-delay: 1.35s; }
@keyframes playbook-orbit { to { transform: rotate(360deg); } }
@keyframes playbook-core-pulse { 50% { transform: scale(1.08); box-shadow: 0 0 42px rgba(139,92,246,.42),inset 0 0 25px rgba(196,181,253,.18); } }
@keyframes playbook-scan { 0%,100% { top: 8%; opacity: .15; } 50% { top: 88%; opacity: 1; } }
@keyframes playbook-stage { 0%,20%,100% { color: #5f5a65; border-color: #2f2b36; } 35%,60% { color: #c4b5fd; border-color: rgba(167,139,250,.4); background: rgba(139,92,246,.1); } }
@keyframes playbook-grid-drift { to { background-position: 42px 42px; } }
@media (prefers-reduced-motion: reduce) {
  .playbook-loading::before, .playbook-loading-core, .playbook-loading-orbit,
  .playbook-loading-scan::after, .playbook-loading-stages span { animation: none; }
  .playbook-loading-stages span:nth-child(1) { color: #c4b5fd; border-color: rgba(167,139,250,.4); }
  .playbook-scenario, .playbook-step-number, .playbook-scenario-heading strong { transition: none; }
  .playbook-scenario:hover { transform: none; }
  .playbook-scenario[open] .playbook-scenario-body { animation: none; }
  .radio-player, .radio-details, .radio-control, .radio-player.playing .radio-orb,
  .radio-player.playing .radio-ambient i, .radio-player.playing .radio-live i { transition: none; animation: none; }
}
.playbook-scenarios { min-height: 0; overflow-y: auto; padding: 14px 22px 36px; scrollbar-width: thin; }
.playbook-process { flex: 1; position: relative; padding-left: 38px; }
.playbook-process::before { content: ""; position: absolute; top: 48px; bottom: 38px; left: 26px; width: 1px; background: #303030; }
.playbook-result-meta { margin: 0 0 10px; color: #696969; font-size: 9px; }
.playbook-scenario { --pointer-x: 50%; --pointer-y: 50%; position: relative; margin-bottom: 8px; border: 1px solid #292929; border-radius: 10px; background: radial-gradient(circle 190px at var(--pointer-x) var(--pointer-y),rgba(139,92,246,0),transparent 72%),#151515; transition: transform .22s cubic-bezier(.2,.8,.2,1),border-color .22s ease,box-shadow .22s ease,background .18s ease; }
.playbook-scenario:hover { z-index: 2; transform: translateX(6px); border-color: rgba(167,139,250,.46); background: radial-gradient(circle 190px at var(--pointer-x) var(--pointer-y),rgba(139,92,246,.17),transparent 72%),#17151b; box-shadow: -7px 0 22px rgba(139,92,246,.08),0 13px 35px rgba(0,0,0,.25); }
.playbook-scenario.status-available, .playbook-scenario.status-in_progress { border-color: rgba(185,243,75,.2); }
.playbook-scenario.status-waiting, .playbook-scenario.status-parked, .playbook-scenario.status-deferred { opacity: .62; }
.playbook-scenario.status-queued { opacity: .82; }
.playbook-scenario[open] { opacity: 1; }
.playbook-scenario > summary { list-style: none; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 11px 13px; cursor: pointer; }
.playbook-scenario > summary::-webkit-details-marker { display: none; }
.playbook-step-number { display: grid; place-items: center; flex: 0 0 24px; height: 24px; margin-left: -38px; border: 1px solid #393939; border-radius: 50%; background: #151515; color: #777; font-size: 8px; font-variant-numeric: tabular-nums; transition: transform .22s cubic-bezier(.2,.8,.2,1),border-color .2s ease,color .2s ease,box-shadow .2s ease; }
.playbook-scenario:hover .playbook-step-number { transform: scale(1.16); border-color: #a78bfa; color: #d8ccff; box-shadow: 0 0 0 4px rgba(139,92,246,.08),0 0 20px rgba(139,92,246,.34); }
.playbook-scenario.status-in_progress .playbook-step-number { border-color: var(--accent); color: #111; background: var(--accent); }
.playbook-scenario.status-in_progress:hover .playbook-step-number { border-color: var(--accent); color: #111; box-shadow: 0 0 0 4px rgba(185,243,75,.08),0 0 22px rgba(185,243,75,.35); }
.playbook-scenario.status-completed .playbook-step-number { border-color: rgba(78,225,209,.45); color: var(--cyan); background: #15201f; }
.playbook-scenario-heading { min-width: 0; }
.playbook-scenario-heading strong, .playbook-scenario-heading small { display: block; }
.playbook-scenario-heading strong { overflow: hidden; color: #ddd; font-size: 11px; line-height: 1.4; text-overflow: ellipsis; white-space: nowrap; transition: color .18s ease,transform .22s ease; }
.playbook-scenario:hover .playbook-scenario-heading strong { color: #f0ebff; transform: translateX(2px); }
.playbook-scenario-heading small { margin-top: 3px; overflow: hidden; color: #666; font-size: 8px; text-overflow: ellipsis; white-space: nowrap; }
.playbook-status { flex: 0 0 auto; padding: 4px 7px; border-radius: 99px; color: #777; background: #222; font-size: 8px; }
.playbook-status.available, .playbook-status.in_progress { color: var(--accent); background: rgba(185,243,75,.08); }
.playbook-status.queued { color: #999; background: #242424; }
.playbook-status.completed { color: var(--cyan); background: rgba(78,225,209,.08); }
.playbook-status.forbidden, .playbook-status.blocked { color: var(--danger); background: rgba(255,114,133,.08); }
.playbook-scenario-body { padding: 2px 14px 14px; color: #aaa; font-size: 10px; line-height: 1.55; }
.playbook-scenario[open] .playbook-scenario-body { animation: playbook-body-in .24s cubic-bezier(.2,.8,.2,1); }
@keyframes playbook-body-in { from { opacity: 0; transform: translateY(-5px); } to { opacity: 1; transform: none; } }
.playbook-scenario-body > p { margin: 8px 0 12px; }
.playbook-reason { color: #d6d6d6; }
.playbook-detail-block { margin-top: 10px; padding: 10px 11px; border: 1px solid #282828; border-radius: 8px; background: #121212; }
.playbook-detail-block > b { color: #cfcfcf; font-size: 9px; }
.playbook-detail-block ul { margin: 7px 0 0; padding-left: 17px; }
.playbook-detail-block li { margin: 3px 0; color: #777; }
.playbook-detail-block li.satisfied { color: #91a86a; }
.playbook-detail-block li.missing { color: #a88366; }
.playbook-conditions { display: flex; flex-wrap: wrap; gap: 5px; margin-top: 8px; }
.playbook-conditions span { padding: 4px 6px; border-radius: 6px; background: #202020; color: #888; font-size: 8px; }
.playbook-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin-top: 11px; }
.playbook-actions .button { padding: 6px 8px; font-size: 8px; }
.playbook-source { margin-left: auto; color: #888; font-size: 9px; text-decoration: none; }
.playbook-source:hover { color: var(--accent); }
.playbook-more { display: block; margin: 18px auto 4px; }
.app-map-body { flex: 1; min-height: 0; display: grid; grid-template-columns: minmax(300px,38%) minmax(0,1fr); overflow: hidden; border-top: 1px solid #292929; background: #111; }
.app-map-explorer { min-width: 0; overflow-y: auto; border-right: 1px solid #2b2b2b; background: #101010; scrollbar-width: thin; }
.app-map-pane-title { position: sticky; top: 0; z-index: 2; padding: 10px 14px; border-bottom: 1px solid #282828; background: #171717; color: #888; font-size: 9px; font-weight: 650; letter-spacing: .08em; text-transform: uppercase; }
.app-map-tree { padding: 7px 0 24px; }
.app-map-node-row { display: flex; align-items: stretch; min-width: 0; padding-left: calc(var(--tree-depth) * 16px + 5px); }
.app-map-node-toggle { flex: 0 0 22px; width: 22px; padding: 0; border: 0; background: transparent; color: #777; font-size: 10px; cursor: pointer; }
.app-map-node-toggle:hover { color: #ddd; }
.app-map-node-toggle.leaf { color: #3f3f3f; cursor: default; }
.app-map-node-label { flex: 1; min-width: 0; display: grid; grid-template-columns: 18px minmax(0,1fr) auto; align-items: center; gap: 4px; padding: 6px 10px 6px 2px; border: 0; border-radius: 5px 0 0 5px; background: transparent; color: #aaa; text-align: left; cursor: pointer; }
.app-map-node-label:hover { background: #202020; color: #eee; }
.app-map-node-label.selected { background: rgba(185,243,75,.09); color: #e8f9c4; }
.app-map-node-icon { color: #777; text-align: center; font-size: 10px; }
.app-map-node-icon.host { color: var(--accent); }
.app-map-node-name { overflow: hidden; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.app-map-node-count { min-width: 18px; padding: 2px 5px; border-radius: 99px; background: #242424; color: #777; font-size: 7px; text-align: center; }
.app-map-node-label.selected .app-map-node-count { background: rgba(185,243,75,.1); color: var(--accent); }
.app-map-detail { min-width: 0; overflow-y: auto; padding: 26px 28px 50px; background: #131313; scrollbar-width: thin; }
.app-map-detail-header { padding-bottom: 18px; border-bottom: 1px solid #292929; }
.app-map-detail-header h3 { margin: 6px 0 7px; overflow-wrap: anywhere; color: #eee; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 17px; font-weight: 550; }
.app-map-detail-header p { margin: 0; color: #777; font-size: 9px; }
.app-map-methods { display: flex; flex-wrap: wrap; gap: 5px; padding: 15px 0; }
.app-map-method { display: inline-block; padding: 3px 6px; border-radius: 4px; background: #272727; color: #bbb; font-size: 7px; font-weight: 700; }
.app-map-method.method-get, .app-map-method.method-head { color: #73d9ff; background: rgba(70,182,224,.1); }
.app-map-method.method-post { color: #b9f34b; background: rgba(185,243,75,.1); }
.app-map-method.method-put, .app-map-method.method-patch { color: #f6c66a; background: rgba(246,198,106,.1); }
.app-map-method.method-delete { color: #ff7285; background: rgba(255,114,133,.1); }
.app-map-evidence, .app-map-endpoints, .app-map-parameters { margin-top: 12px; }
.app-map-evidence h4, .app-map-endpoints h4, .app-map-parameters h4 { margin: 0 0 10px; color: #aaa; font-size: 9px; font-weight: 600; text-transform: uppercase; }
.app-map-evidence code { display: block; margin: 4px 0; overflow-wrap: anywhere; color: #777; font-size: 8px; }
.app-map-parameter-group { margin: 0 0 10px; overflow: hidden; border: 1px solid #292929; border-radius: 7px; background: #101010; }
.app-map-parameter-channel { padding: 7px 10px; border-bottom: 1px solid #292929; color: #888; font-size: 8px; font-weight: 650; text-transform: uppercase; }
.app-map-parameter { display: grid; grid-template-columns: minmax(120px,1fr) minmax(90px,.7fr) auto; align-items: center; gap: 10px; padding: 8px 10px; border-bottom: 1px solid #222; }
.app-map-parameter.high { border-left: 2px solid rgba(255,114,133,.7); background: rgba(255,114,133,.025); }
.app-map-parameter.medium { border-left: 2px solid rgba(246,198,106,.55); background: rgba(246,198,106,.02); }
.app-map-parameter:last-child { border-bottom: 0; }
.app-map-parameter code { overflow-wrap: anywhere; color: #ddd; font-size: 9px; }
.app-map-parameter span { color: #8fae72; font-size: 8px; }
.app-map-parameter small { color: #666; font-size: 7px; white-space: nowrap; }
.app-map-parameter-reason { grid-column: 1 / -1; margin: 0; color: #929292; font-size: 8px; line-height: 1.45; }
.app-map-endpoint { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: 12px; padding: 8px 0; border-bottom: 1px solid #242424; }
.app-map-endpoint > code { overflow-wrap: anywhere; color: #c9c9c9; font-size: 9px; }
.app-map-endpoint-methods { display: flex; gap: 3px; }
.app-map-empty, .app-map-muted { padding: 16px; color: #666; font-size: 10px; }

.attack-surface-stats { flex: 0 0 auto; display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 1px; border-bottom: 1px solid #292929; background: #292929; }
.attack-surface-scroll { flex: 1; min-height: 0; overflow-y: auto; scrollbar-width: thin; }
.authorization-readiness { flex: 0 0 auto; padding: 20px 24px 18px; border-top: 1px solid rgba(246,198,106,.2); border-bottom: 1px solid rgba(246,198,106,.25); background: linear-gradient(110deg,rgba(246,198,106,.13),rgba(255,114,133,.045) 65%,#151515); }
.authorization-readiness.blocked { border-color: rgba(167,139,250,.42); background: linear-gradient(110deg,rgba(139,92,246,.17),rgba(167,139,250,.055) 62%,#151515); box-shadow: inset 5px 0 rgba(139,92,246,.78); }
.authorization-readiness.ready { border-color: rgba(185,243,75,.28); background: linear-gradient(110deg,rgba(185,243,75,.11),rgba(185,243,75,.02) 65%,#151515); box-shadow: inset 5px 0 rgba(185,243,75,.6); }
.authorization-readiness-heading { display: flex; align-items: center; gap: 9px; color: #f3c771; font-size: 8px; font-weight: 750; letter-spacing: .09em; text-transform: uppercase; }
.authorization-readiness.blocked .authorization-readiness-heading { color: #b9a2ff; }
.authorization-readiness.ready .authorization-readiness-heading { color: var(--accent); }
.authorization-readiness-status { flex: 1; min-width: 0; }
.authorization-readiness-toggle { flex: 0 0 auto; padding: 5px 8px; border: 1px solid rgba(167,139,250,.28); border-radius: 6px; background: rgba(10,10,10,.28); color: #b9a2df; font: inherit; letter-spacing: 0; text-transform: none; cursor: pointer; }
.authorization-readiness-toggle:hover { border-color: rgba(167,139,250,.55); color: #dfd6ff; }
.authorization-readiness-symbol { display: grid; place-items: center; width: 21px; height: 21px; border: 1px solid currentColor; border-radius: 50%; font-size: 11px; }
.authorization-readiness h3 { margin: 12px 0 7px; color: #f4f4f4; font-size: clamp(20px,2.3vw,31px); font-weight: 680; letter-spacing: -.025em; }
.authorization-readiness > p { max-width: 1000px; margin: 0; color: #aaa; font-size: 11px; line-height: 1.55; }
.authorization-readiness-checklist { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 14px; }
.authorization-readiness-item { display: flex; align-items: center; gap: 6px; padding: 6px 9px; border: 1px solid #333; border-radius: 999px; background: rgba(10,10,10,.35); color: #858585; font-size: 8px; }
.authorization-readiness-item strong { font-weight: 520; }
.authorization-readiness-item.ready { border-color: rgba(185,243,75,.2); color: #a9c97b; }
.authorization-readiness-item.blocked { border-color: rgba(255,114,133,.3); color: #ff8a99; }
.authorization-readiness.collapsed { padding-top: 10px; padding-bottom: 10px; }
.authorization-readiness.collapsed h3, .authorization-readiness.collapsed > p, .authorization-readiness.collapsed .authorization-readiness-checklist { display: none; }
.attack-surface-stat { min-width: 0; padding: 13px 18px; background: #151515; }
.attack-surface-stat span, .attack-surface-stat strong { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.attack-surface-stat span { color: #666; font-size: 8px; text-transform: uppercase; }
.attack-surface-stat strong { margin-top: 5px; color: #ccc; font-size: 10px; font-weight: 550; }
.attack-surface-grid { min-height: 0; display: grid; grid-template-columns: minmax(0,1fr); grid-auto-rows: max-content; align-content: start; gap: 12px; overflow: visible; padding: 18px 22px 40px; }
.attack-surface-card { min-width: 0; height: max-content; overflow: hidden; border: 1px solid #292929; border-radius: 11px; background: #141414; }
.attack-surface-card.observed { border-color: rgba(185,243,75,.18); box-shadow: inset 3px 0 rgba(185,243,75,.3); }
.attack-surface-card.unknown { opacity: .56; }
.attack-surface-card > header { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 12px 14px; border-bottom: 1px solid #272727; }
.attack-surface-card > header > div { flex: 1; min-width: 0; display: flex; align-items: center; gap: 9px; }
.attack-surface-card h3 { margin: 0; overflow: visible; color: #ddd; font-size: 12px; font-weight: 600; text-overflow: clip; white-space: normal; }
.attack-surface-icon { display: grid; place-items: center; flex: 0 0 30px; height: 24px; border: 1px solid #333; border-radius: 6px; color: #888; font-size: 7px; font-weight: 700; }
.attack-surface-card.observed .attack-surface-icon { border-color: rgba(185,243,75,.25); color: var(--accent); background: rgba(185,243,75,.05); }
.attack-surface-count { color: #777; font-size: 10px; }
.attack-surface-items { padding: 5px 10px 9px; }
.attack-surface-item { border-bottom: 1px solid #232323; }
.attack-surface-item:last-child { border-bottom: 0; }
.attack-surface-item > summary { list-style: none; display: grid; grid-template-columns: 14px minmax(0,1fr) auto; align-items: center; gap: 6px; padding: 8px 3px; cursor: default; }
.attack-surface-item.observed > summary { cursor: pointer; }
.attack-surface-item > summary::-webkit-details-marker { display: none; }
.attack-surface-item > summary strong { min-width: 0; overflow-wrap: anywhere; color: #aaa; font-size: 11px; font-weight: 500; }
.attack-surface-item > summary > span:last-child { color: #6f6f6f; font-size: 9px; }
.attack-surface-item.observed > summary strong, .attack-surface-item.observed .attack-surface-dot { color: #d6edaa; }
.attack-surface-evidence { padding: 0 4px 9px 23px; }
.attack-surface-evidence code { display: block; margin: 5px 0; overflow-wrap: anywhere; color: #8d8d8d; font-size: 10px; }
.attack-surface-evidence p { margin: 4px 0; color: #818181; font-size: 10px; }
.attack-surface-flow { color: #b7c79a !important; font-weight: 600; }
.attack-surface-empty, .attack-surface-tools { margin: 8px 3px; color: #777; font-size: 8px; }
.attack-surface-tools { color: #5f6f48; }
.attack-surface-unseen { color: #655d50 !important; }
.attack-surface-channel { margin-top: 8px !important; color: #9caf77 !important; }
.security-header-grid { display: grid; gap: 7px; padding: 4px 0 2px; }
.security-header-row { padding: 10px 12px; border: 1px solid #292929; border-radius: 8px; background: #111; }
.security-header-row.observed { border-color: rgba(185,243,75,.16); }
.security-header-row.notable { border-color: rgba(246,198,106,.35); background: rgba(246,198,106,.035); }
.security-header-row.unknown { opacity: .68; }
.security-header-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.security-header-heading strong { min-width: 0; overflow-wrap: anywhere; color: #d2d2d2; font-size: 10px; font-weight: 600; }
.security-header-status { flex: 0 0 auto; padding: 3px 6px; border-radius: 999px; font-size: 7px; text-transform: uppercase; }
.security-header-status.configured { color: #b9f34b; background: rgba(185,243,75,.09); }
.security-header-row.notable .security-header-status { color: #f6c66a; background: rgba(246,198,106,.1); }
.security-header-status.unknown { color: #9a8c7b; background: rgba(154,140,123,.1); }
.security-header-value { margin-top: 7px !important; padding: 7px 8px; border-radius: 6px; background: #181818; color: #a5a5a5 !important; white-space: pre-wrap; }
.security-header-row > p { margin-top: 7px; line-height: 1.45; }
.parameter-entry { margin: 5px 0; padding: 8px 10px; border: 1px solid #272727; border-radius: 7px; background: #111; }
.parameter-entry.high { border-color: rgba(255,114,133,.28); background: rgba(255,114,133,.025); }
.parameter-entry.medium { border-color: rgba(246,198,106,.22); background: rgba(246,198,106,.02); }
.parameter-entry.low { opacity: .58; }
.parameter-entry.pending { opacity: .68; }
.parameter-entry-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.parameter-entry .parameter-name { min-width: 0; margin: 0; color: #bbb; }
.parameter-interest { flex: 0 0 auto; padding: 3px 6px; border-radius: 999px; font-size: 7px; text-transform: uppercase; }
.parameter-interest.high { color: #ff8a9a; background: rgba(255,114,133,.1); }
.parameter-interest.medium { color: #f6c66a; background: rgba(246,198,106,.1); }
.parameter-interest.low { color: #777; background: #1d1d1d; }
.parameter-interest.pending { color: #79818a; background: rgba(121,129,138,.1); }
.parameter-reason { margin: 6px 0 0 !important; color: #999 !important; line-height: 1.45; }
.parameter-ai-summary { margin: 8px 3px 11px !important; padding: 9px 11px; border-left: 2px solid rgba(185,243,75,.35); border-radius: 0 7px 7px 0; background: rgba(185,243,75,.035); color: #aab893 !important; line-height: 1.5; }
.parameter-ai-summary.loading { border-left-color: #444; background: #171717; color: #777 !important; }
.technology-actions { display: flex; flex-wrap: wrap; gap: 6px; padding: 7px 3px 9px; border-bottom: 1px solid #242424; }
.technology-actions .button { padding: 6px 8px; font-size: 8px; }
.technology-row { margin: 7px 0; padding: 10px 11px; border: 1px solid #292929; border-radius: 8px; background: #111; }
.technology-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.technology-identity { min-width: 0; display: flex; align-items: center; gap: 8px; }
.technology-identity strong { min-width: 0; overflow-wrap: anywhere; color: #ddd; font-size: 11px; }
.technology-category { flex: 0 0 auto; padding: 3px 5px; border-radius: 4px; background: #222; color: #999; font-size: 7px; text-transform: uppercase; }
.technology-category.framework { color: #b9f34b; background: rgba(185,243,75,.08); }
.technology-category.server { color: #86b7f2; background: rgba(119,177,255,.08); }
.technology-category.cms { color: #f6c66a; background: rgba(246,198,106,.08); }
.technology-confidence { flex: 0 0 auto; padding: 3px 6px; border-radius: 999px; color: #888; background: #202020; font-size: 7px; text-transform: uppercase; }
.technology-confidence.high { color: #b9f34b; background: rgba(185,243,75,.08); }
.technology-confidence.medium { color: #f6c66a; background: rgba(246,198,106,.08); }
.technology-detectors { display: flex; flex-wrap: wrap; gap: 4px; margin-top: 7px; }
.technology-detectors span { padding: 3px 5px; border-radius: 4px; background: #1c1c1c; color: #777; font-size: 7px; }
.technology-signal { margin-top: 6px !important; color: #858585 !important; }
.javascript-surface-overview { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 6px; margin: 6px 0 10px; }
.javascript-surface-stat { padding: 9px 10px; border: 1px solid #292929; border-radius: 7px; background: #111; }
.javascript-surface-stat span { display: block; color: #717171; font-size: 7px; }
.javascript-surface-stat strong { display: block; margin-top: 4px; color: #c8d9a6; font-size: 13px; }
.javascript-finding { margin: 6px 0; padding: 9px 10px; border: 1px solid #292929; border-radius: 7px; background: #111; }
.javascript-finding.high { border-color: rgba(255,114,133,.28); }
.javascript-finding.medium { border-color: rgba(246,198,106,.22); }
.javascript-finding-heading { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.javascript-finding-heading strong { min-width: 0; overflow-wrap: anywhere; color: #ccc; font-size: 9px; }
.javascript-finding-heading span { flex: 0 0 auto; padding: 3px 5px; border-radius: 4px; background: #202020; color: #8fae72; font-size: 7px; text-transform: uppercase; }
.javascript-finding code { display: block; margin-top: 6px; overflow-wrap: anywhere; color: #898989; font-size: 8px; }

.library-modal { position: fixed; inset: 0; z-index: 110; padding: 18px; background: rgba(0,0,0,.78); backdrop-filter: blur(8px); }
.installer-surface { width: min(1260px,100%); height: 100%; margin: 0 auto; display: flex; flex-direction: column; overflow: hidden; border: 1px solid #34303a; border-radius: 18px; background: #111114; box-shadow: 0 30px 100px rgba(0,0,0,.7); }
.installer-content { flex: 1; min-height: 0; overflow-y: auto; padding: 24px 28px 46px; }
.companion-pairing { margin-bottom: 16px; padding: 18px; border: 1px solid rgba(167,139,250,.38); border-radius: 14px; background: radial-gradient(circle at 95% 0,rgba(139,92,246,.15),transparent 35%),#15131a; }
.companion-auth { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin: -4px -4px 18px; padding: 4px 4px 17px; border-bottom: 1px solid rgba(167,139,250,.16); }
.companion-auth > div:first-child { min-width: 0; }
.companion-auth .companion-pair-actions { flex: 0 0 auto; margin-top: 0; }
.companion-auth .button:disabled, .companion-pair-actions .button:disabled { opacity: .45; cursor: not-allowed; }
.companion-pairing-heading { display: flex; align-items: flex-start; gap: 16px; }
.companion-pairing-heading > div { flex: 1; }
.companion-pairing h3 { margin: 6px 0 4px; color: #eeeaf4; font-size: 15px; }
.companion-pairing p { margin: 0; color: #8f8997; font-size: 9px; line-height: 1.55; }
.companion-status-badge { padding: 5px 8px; border: 1px solid #42384e; border-radius: 99px; color: #9d91aa; background: #211b27; font-size: 7px; font-weight: 800; letter-spacing: .1em; }
.companion-status-badge.online { border-color: rgba(56,217,150,.4); color: #66e2ab; background: rgba(24,92,65,.2); }
.companion-pair-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; margin-top: 14px; }
.companion-pair-actions small { color: #756e7c; font-size: 8px; }
.companion-pair-command { display: grid; gap: 10px; margin-top: 14px; padding: 14px; border: 1px solid #302b38; border-radius: 10px; background: #0e0d11; }
.companion-pair-command > div { display: flex; align-items: center; gap: 12px; }
.companion-pair-command > div span { color: #79717f; font-size: 8px; }
.companion-pair-command > div strong { color: #d5c9fa; font: 750 16px/1 ui-monospace,monospace; letter-spacing: .08em; }
.companion-pair-command code { display: block; padding: 10px 11px; overflow-x: auto; border-radius: 7px; color: #c7bae8; background: #08080a; font: 8px/1.5 ui-monospace,monospace; white-space: nowrap; }
.companion-pair-command .button { justify-self: start; }
.installer-platforms { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; }
.installer-platform { position: relative; display: flex; flex-direction: column; min-height: 205px; padding: 18px; overflow: hidden; border: 1px solid #35303e; border-radius: 14px; background: radial-gradient(circle at 90% 0,rgba(139,92,246,.14),transparent 38%),linear-gradient(145deg,#19171e,#111114); }
.installer-platform.recommended { border-color: rgba(167,139,250,.65); box-shadow: 0 0 30px rgba(139,92,246,.1); }
.installer-platform.recommended::after { content: "Твоя система"; position: absolute; top: 11px; right: 11px; padding: 4px 7px; border-radius: 99px; color: #cabdff; background: rgba(139,92,246,.18); font-size: 7px; text-transform: uppercase; }
.installer-os { color: #a78bfa; font-size: 8px; font-weight: 750; letter-spacing: .12em; text-transform: uppercase; }
.installer-platform > strong { margin-top: 8px; color: #eeeaf2; font-size: 16px; }
.installer-platform > p { flex: 1; margin: 8px 0 15px; color: #8b8591; font-size: 9px; line-height: 1.55; }
.installer-platform .button { align-self: flex-start; text-decoration: none; }
.installer-platform > code { display: block; margin-top: 12px; padding: 8px 9px; overflow-x: auto; border-radius: 7px; color: #aaa2b5; background: #0a0a0c; font-size: 7px; white-space: nowrap; }
.installer-docs { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; margin-top: 18px; }
.installer-docs > article { display: grid; grid-template-columns: 36px minmax(0,1fr); gap: 12px; padding: 18px; border: 1px solid #29262e; border-radius: 13px; background: #151519; }
.installer-step { display: grid; place-items: center; align-self: start; width: 34px; height: 34px; border: 1px solid rgba(167,139,250,.28); border-radius: 10px; color: #a78bfa; background: rgba(139,92,246,.08); font: 750 9px/1 ui-monospace,monospace; }
.installer-docs h3 { margin: 2px 0 10px; color: #e3dfe8; font-size: 12px; }
.installer-docs p, .installer-docs li { color: #96909c; font-size: 9px; line-height: 1.65; }
.installer-docs p { margin: 8px 0; }
.installer-docs ul, .installer-docs ol { margin: 0; padding-left: 18px; }
.installer-docs li + li { margin-top: 5px; }
.installer-docs strong { color: #cbc5d1; }
.installer-docs code { padding: 2px 5px; border-radius: 5px; color: #c0b2e6; background: #0d0c10; font-size: .9em; }
.installer-paths { display: grid; gap: 6px; }
.installer-paths code { padding: 8px 9px; overflow-x: auto; white-space: nowrap; }
.installer-checksum { display: inline-block; margin-top: 8px; color: #a78bfa; font-size: 9px; text-decoration: none; }
@media (max-width: 880px) { .installer-platforms, .installer-docs { grid-template-columns: 1fr; } .installer-content { padding: 16px; } }
.library-surface { width: min(1280px, 100%); height: 100%; margin: 0 auto; display: flex; flex-direction: column; overflow: hidden; border: 1px solid #343434; border-radius: 18px; background: #111; box-shadow: 0 30px 100px rgba(0,0,0,.68); }
.library-header { flex: 0 0 auto; display: grid; grid-template-columns: minmax(0,1fr) 40px; align-items: start; gap: 16px; padding: 22px 26px 18px; border-bottom: 1px solid #292929; }
.library-header > div { min-width: 0; }
.library-header h2 { margin: 3px 0 5px; overflow: hidden; color: #f2f2f2; font-size: 23px; text-overflow: ellipsis; white-space: nowrap; }
.library-header p { margin: 0; color: #888; font-size: 10px; }
.library-empty { grid-column: 1 / -1; color: #777; font-size: 12px; }
.hunter-profile-surface { width: min(1180px,100%); height: 100%; margin: 0 auto; display: flex; flex-direction: column; overflow: hidden; border: 1px solid rgba(167,139,250,.24); border-radius: 18px; background: #111; box-shadow: 0 30px 100px rgba(0,0,0,.68); }
.hunter-profile-content { flex: 1; min-height: 0; overflow-y: auto; padding: 26px 28px 50px; scrollbar-width: thin; }
.hunter-profile-loading { display: grid; min-height: 300px; place-items: center; color: #887a9d; font-size: 11px; }
.hunter-progress-hero { padding: 22px 24px; border: 1px solid rgba(167,139,250,.25); border-radius: 14px; background: radial-gradient(circle at 90% 0,rgba(139,92,246,.16),transparent 38%),linear-gradient(130deg,#1c1725,#151419); }
.hunter-progress-heading { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: end; gap: 4px 16px; }
.hunter-progress-heading > span { grid-column: 1 / -1; color: #a78bfa; font-size: 8px; font-weight: 750; letter-spacing: .12em; text-transform: uppercase; }
.hunter-progress-heading strong { color: #f0edf5; font-size: clamp(19px,2.3vw,28px); font-weight: 620; }
.hunter-progress-heading b { color: #c4b5fd; font-size: 16px; font-weight: 650; }
.hunter-progress-track { height: 10px; margin-top: 17px; overflow: hidden; border: 1px solid #302a39; border-radius: 99px; background: #0e0d10; }
.hunter-progress-fill { width: 0; height: 100%; border-radius: inherit; background: linear-gradient(90deg,#6d3fd1,#a78bfa,#c4b5fd); box-shadow: 0 0 18px rgba(167,139,250,.42); transition: width .8s cubic-bezier(.2,.8,.2,1); }
.hunter-progress-hero p { margin: 11px 0 0; color: #817a89; font-size: 9px; }
.hunter-progress-stats { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 8px; margin-top: 12px; }
.hunter-progress-stat { padding: 13px 14px; border: 1px solid #29272d; border-radius: 10px; background: #151417; }
.hunter-progress-stat strong, .hunter-progress-stat span { display: block; }
.hunter-progress-stat strong { color: #d8cfff; font-size: 18px; }
.hunter-progress-stat span { margin-top: 4px; color: #6f6975; font-size: 7px; text-transform: uppercase; }
.hunter-progress-columns { display: grid; grid-template-columns: minmax(0,.9fr) minmax(0,1.1fr); gap: 14px; margin-top: 18px; }
.hunter-progress-section { min-width: 0; padding: 16px; border: 1px solid #29282c; border-radius: 12px; background: #141315; }
.hunter-progress-section h3 { margin: 0 0 12px; color: #d3ced8; font-size: 11px; }
.hunter-progress-read { width: 100%; display: grid; grid-template-columns: 24px minmax(0,1fr); gap: 2px 8px; align-items: center; padding: 9px 4px; border: 0; border-bottom: 1px solid #242227; background: transparent; color: #bbb6c0; text-align: left; cursor: pointer; }
.hunter-progress-read:hover strong { color: #d8cfff; }
.hunter-progress-read-check { grid-row: 1 / 3; display: grid; place-items: center; width: 21px; height: 21px; border-radius: 50%; color: #b9a2ff; background: rgba(139,92,246,.12); font-size: 8px; }
.hunter-progress-read strong { overflow: hidden; font-size: 9px; font-weight: 540; text-overflow: ellipsis; white-space: nowrap; }
.hunter-progress-read small { color: #656069; font-size: 7px; }
.hunter-development-event { padding: 9px 3px; border-bottom: 1px solid #242227; }
.hunter-development-event > div { display: flex; justify-content: space-between; gap: 10px; color: #8f79c2; font-size: 7px; text-transform: uppercase; }
.hunter-development-event time { color: #5f5a63; text-transform: none; }
.hunter-development-event > strong { display: block; margin-top: 5px; color: #bbb6c0; font-size: 9px; font-weight: 560; }
.hunter-development-event > p { margin: 4px 0 0; color: #6f6973; font-size: 8px; line-height: 1.45; }
.hunter-progress-empty { color: #6e6872; font-size: 9px; }
.hunter-progress-note { margin: 16px 2px 0; color: #5f5964; font-size: 8px; }
.library-reader { flex: 1; min-height: 0; width: 100%; overflow-y: auto; padding: 34px max(28px, calc((100% - 820px) / 2)) 90px; color: #d6d6d6; font-size: 15px; line-height: 1.78; scrollbar-width: thin; }
.library-reader h1, .library-reader h2, .library-reader h3, .library-reader h4 { color: #f4f4f4; line-height: 1.3; }
.library-reader h1 { margin: 0 0 24px; font-size: 30px; }
.library-reader h2 { margin: 38px 0 14px; font-size: 22px; }
.library-reader h3 { margin: 28px 0 11px; font-size: 18px; }
.library-reader h4 { margin: 24px 0 9px; font-size: 15px; }
.library-reader p { margin: 0 0 15px; }
.library-reader ul { margin: 0 0 18px; padding-left: 23px; }
.library-reader li { margin: 5px 0; }
.library-reader a { color: var(--accent); }
.library-reader blockquote { margin: 20px 0; padding: 10px 16px; border-left: 3px solid var(--accent); background: rgba(185,243,75,.045); color: #bbb; }
.library-reader hr { margin: 32px 0; border: 0; border-top: 1px solid #2d2d2d; }
.library-reader code { padding: 2px 5px; border-radius: 5px; background: #252525; color: #d9f99d; font-size: .9em; }
.library-reader .lesson-code { margin: 18px 0 22px; overflow-x: auto; padding: 16px 18px; border: 1px solid #2f2f2f; border-radius: 11px; background: #0b0d0e; color: #d9e2e7; line-height: 1.55; }
.library-reader .lesson-code code { padding: 0; background: transparent; color: inherit; font-size: 12px; white-space: pre; }
.lesson-figure { margin: 24px 0 28px; }
.lesson-figure img { display: block; max-width: 100%; height: auto; margin: 0 auto; border: 1px solid #303030; border-radius: 12px; background: #090909; }
.lesson-figure figcaption { margin-top: 8px; color: #777; font-size: 10px; text-align: center; }
@media (max-width: 1150px) {
  .workspace { grid-template-columns: 240px 1fr; }
  .main-column { grid-column: 2; }
}
@media (max-width: 760px) {
  .workspace { grid-template-columns: 92px 1fr; }
  .sidebar { padding: 12px 8px; }
  .sidebar-brand span:last-child, .sidebar h1 { display: none; }
  .sidebar-brand { margin-left: 20px; }
  .hunter-profile-button { grid-template-columns: 1fr; justify-items: center; padding: 9px 4px; }
  .hunter-profile-button > span:nth-child(2), .hunter-profile-arrow { display: none; }
  .target-name { padding: 9px 7px; font-size: 10px; overflow: hidden; text-overflow: ellipsis; }
  .radio-player { border-radius: 12px; }
  .radio-main { grid-template-columns: 1fr; justify-items: center; min-height: 58px; padding: 8px 4px; }
  .radio-track-info, .radio-main > .radio-play, .radio-details { display: none; }
  .radio-station { width: 42px; height: 42px; }
  .radio-orb { width: 38px; height: 38px; }
  .chat-header { grid-template-columns: 1fr auto; padding: 0 10px; }
  .chat-project { display: none; }
  .caido-state { font-size: 0; }
  .caido-state::after { content: "●"; color: #777; font-size: 9px; }
  .engine-picker select { min-width: 0; max-width: 220px; }
  .methodology-modal { padding: 0; }
  .methodology-surface { border: 0; border-radius: 0; }
  .methodology-toolbar { align-items: stretch; flex-direction: column; }
  .methodology-toolbar input { max-width: none; }
  .methodology-legend { white-space: normal; }
  .methodology-categories { padding-left: 18px; }
  .library-modal { padding: 0; }
  .library-surface { border: 0; border-radius: 0; }
  .hunter-profile-surface { border: 0; border-radius: 0; }
  .hunter-profile-content { padding: 16px 12px 36px; }
  .hunter-progress-stats { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .hunter-progress-columns { grid-template-columns: 1fr; }
  .library-header { grid-template-columns: minmax(0,1fr) 36px; padding: 16px; }
  .library-reader { padding: 26px 20px 70px; font-size: 14px; }
  .playbook-modal { padding: 0; }
  .playbook-surface { border: 0; border-radius: 0; }
  .playbook-toolbar { padding-left: 14px; padding-right: 14px; }
  .playbook-scenarios { padding: 10px 9px 24px 34px; }
  .playbook-process::before { left: 22px; }
  .app-map-body { grid-template-columns: minmax(220px,42%) minmax(0,1fr); }
  .app-map-detail { padding: 20px 18px 40px; }
  .attack-surface-stats { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .attack-surface-grid { grid-template-columns: 1fr; padding: 12px 10px 28px; }
  .app-map-parameter { grid-template-columns: minmax(100px,1fr) auto; }
  .app-map-parameter small { grid-column: 1 / -1; }
}

/* Punkration research-room shell. */
.workspace { grid-template-columns: 250px minmax(0,1fr); background: #09090b; }
.sidebar { padding: 16px 12px 13px; background: linear-gradient(180deg,#111116,#0d0d10); border-right-color: rgba(167,139,250,.13); }
.sidebar-brand { flex: 0 0 auto; margin: 3px 8px 23px; }
.sidebar-brand .brand-mark { color: #d8ccff; border-color: rgba(167,139,250,.46); background: linear-gradient(145deg,#6d4fd1,#342063); box-shadow: 0 0 22px rgba(124,58,237,.25); }
.product-nav { flex: 1; min-height: 0; overflow-y: auto; display: flex; flex-direction: column; gap: 4px; scrollbar-width: thin; }
.product-nav-item { width: 100%; min-height: 44px; display: grid; grid-template-columns: 27px minmax(0,1fr) auto; align-items: center; gap: 7px; padding: 8px 11px; border: 1px solid transparent; border-radius: 10px; background: transparent; color: #88848e; text-align: left; cursor: pointer; transition: color .18s ease,background .18s ease,border-color .18s ease,transform .18s ease; }
.product-nav-item > span { color: #746d7e; font-size: 16px; text-align: center; }
.product-nav-item strong { font-size: 11px; font-weight: 520; }
.product-nav-item small { min-width: 18px; padding: 2px 5px; border-radius: 99px; background: rgba(139,92,246,.12); color: #a78bfa; font-size: 7px; text-align: center; }
.product-nav-item:hover:not(:disabled), .product-nav-item.active { color: #eeeaf7; border-color: rgba(167,139,250,.16); background: linear-gradient(90deg,rgba(124,58,237,.18),rgba(124,58,237,.06)); transform: translateX(2px); }
.product-nav-item.active > span, .product-nav-item:hover:not(:disabled) > span { color: #a78bfa; }
.product-nav-item.muted { opacity: .42; }
.product-nav-item:disabled { cursor: default; }
.download-app { display: grid; grid-template-columns: 28px minmax(0,1fr); gap: 0 8px; align-items: center; margin: 8px 0 0; padding: 10px; border: 1px solid rgba(167,139,250,.24); border-radius: 10px; background: linear-gradient(135deg,rgba(124,58,237,.18),rgba(124,58,237,.06)); color: #eeeaf7; text-decoration: none; transition: border-color .18s ease,background .18s ease,transform .18s ease; }
.download-app > span { grid-row: 1 / 3; display: grid; place-items: center; width: 28px; height: 28px; border-radius: 8px; background: #7657d8; color: #fff; font-size: 17px; font-weight: 800; }
.download-app strong { font-size: 11px; font-weight: 650; }
.download-app small { color: #91899f; font-size: 8px; }
.download-app:hover { border-color: rgba(167,139,250,.55); background: linear-gradient(135deg,rgba(124,58,237,.28),rgba(124,58,237,.1)); transform: translateY(-1px); }
.radio-player { margin-top: 13px; }
.main-column { background: #0b0b0e; }
.chat-header { position: relative; z-index: 20; height: 64px; flex-basis: 64px; grid-template-columns: 1fr auto 1fr; padding: 0 18px; border-bottom-color: #242229; background: rgba(11,11,14,.94); backdrop-filter: blur(16px); }
.project-switcher { position: relative; justify-self: center; }
.project-switcher-button { min-width: 230px; max-width: 360px; display: grid; grid-template-columns: 8px minmax(0,1fr) 20px; align-items: center; gap: 10px; padding: 8px 11px; border: 1px solid #302d37; border-radius: 11px; background: #17161b; color: #ddd9e4; text-align: left; cursor: pointer; }
.project-switcher-button:hover, .project-switcher-button[aria-expanded="true"] { border-color: rgba(167,139,250,.45); background: #1b1821; }
.project-switcher-button .status-dot { width: 7px; height: 7px; margin: 0; background: #38d996; box-shadow: 0 0 10px rgba(56,217,150,.5); }
.chat-project { min-width: 0; text-align: left; }
.chat-project strong, .chat-project small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.chat-project strong { font-size: 11px; font-weight: 600; }
.chat-project small { margin-top: 2px; color: #6e6876; font-size: 7px; }
.project-chevron { color: #756d82; text-align: center; }
.project-switcher-menu { position: absolute; top: calc(100% + 9px); left: 50%; z-index: 30; width: min(390px,calc(100vw - 40px)); max-height: min(620px,calc(100vh - 92px)); overflow-y: auto; transform: translateX(-50%); padding: 12px; border: 1px solid #38333f; border-radius: 13px; background: rgba(20,19,24,.98); box-shadow: 0 24px 70px rgba(0,0,0,.6),0 0 30px rgba(139,92,246,.08); backdrop-filter: blur(18px); }
.project-switcher-menu .target-list { max-height: 330px; min-height: 0; overflow-y: auto; }
.project-switcher-menu .target-name { font-size: 11px; }
.program-catalog-note { margin: 2px 2px 10px; padding: 9px 10px; border: 1px solid #183348; border-radius: 8px; background: #091824; color: #7890a4; font-size: 9px; line-height: 1.45; }
.program-search { margin: 0 0 8px; padding: 9px 11px; border-color: #302d37; border-radius: 9px; background: #111015; color: #e0dce7; font-size: 10px; }
.program-tree { margin: 4px 0; overflow: hidden; border: 1px solid #2d2a32; border-radius: 9px; background: rgba(12,12,15,.55); }
.program-tree > summary { display: flex; align-items: center; gap: 8px; padding: 9px 10px; color: #a9a3b2; cursor: pointer; list-style: none; user-select: none; }
.program-tree > summary::-webkit-details-marker { display: none; }
.program-tree > summary::before { content: "›"; color: #8b79a9; font-size: 14px; transition: transform .15s ease; }
.program-tree[open] > summary::before { transform: rotate(90deg); }
.program-tree > summary strong { flex: 1; font-size: 10px; font-weight: 650; }
.program-tree > summary small { padding: 2px 6px; border-radius: 99px; background: #242129; color: #77717f; font-size: 8px; }
.program-tree-branch { max-height: 270px; overflow-y: auto; padding: 2px 5px 6px 18px; border-top: 1px solid #242229; }
.program-node { width: 100%; display: flex; align-items: center; gap: 8px; padding: 8px 9px; border: 0; background: transparent; text-align: left; cursor: pointer; }
.program-node span { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.program-node small { color: #76698d; font-size: 7px; white-space: nowrap; }
.program-direct { margin: 4px 0 8px; padding: 10px 11px; border: 1px solid rgba(139,92,246,.38); border-radius: 9px; background: linear-gradient(105deg,rgba(124,58,237,.15),rgba(12,12,15,.7)); color: #ddd7e8; }
.program-direct:hover { border-color: rgba(167,139,250,.62); background: linear-gradient(105deg,rgba(124,58,237,.24),rgba(18,17,22,.85)); }
.program-direct.active { border-color: #8b5cf6; box-shadow: inset 3px 0 #8b5cf6; }
.program-catalog-empty { margin: 8px 2px; color: #77717f; font-size: 9px; line-height: 1.45; }
.engine-picker select { color: #cfc9d9; font-size: 12px; }
.chat-actions { gap: 8px; }
.caido-state { padding: 6px 8px; border: 1px solid #29272e; border-radius: 7px; background: #151419; font-size: 8px; }
.main-column > .mentor { height: calc(100vh - 64px); display: grid; grid-template-columns: minmax(270px,25%) minmax(0,75%); overflow: hidden; background: #0b0b0e; }
.curator-stage { position: relative; min-width: 0; height: 100%; overflow: hidden; border-right: 1px solid rgba(167,139,250,.13); background: radial-gradient(circle at 52% 36%,rgba(98,62,174,.25),transparent 28%),radial-gradient(circle at 12% 72%,rgba(241,145,65,.1),transparent 28%),linear-gradient(160deg,#15121c 0%,#0d0d13 53%,#08090d 100%); isolation: isolate; }
.curator-stage > img { position: absolute; z-index: 1; top: 0; left: 50%; width: auto; max-width: none; height: 104%; object-fit: contain; object-position: center top; transform: translateX(-50%); filter: saturate(.82) brightness(.84) contrast(1.04); transition: filter .8s ease; }
.curator-stage::before { content: ""; position: absolute; inset: 0; z-index: 2; background: linear-gradient(180deg,rgba(7,7,10,.08),transparent 35%,rgba(7,7,10,.08) 68%,rgba(7,7,10,.48)),linear-gradient(90deg,transparent 67%,rgba(11,11,14,.27)); pointer-events: none; }
.curator-stage::after { content: ""; position: absolute; inset: -35%; z-index: 1; opacity: 0; background: conic-gradient(from 90deg,transparent,rgba(139,92,246,.16),transparent 24%); transition: opacity .35s ease; animation: curator-scan 5s linear infinite; pointer-events: none; }
.curator-vignette { position: absolute; inset: 0; z-index: 0; overflow: hidden; box-shadow: inset 0 0 90px rgba(0,0,0,.48); pointer-events: none; }
.curator-vignette::before { content: ""; position: absolute; inset: 0; opacity: .16; background-image: linear-gradient(rgba(167,139,250,.13) 1px,transparent 1px),linear-gradient(90deg,rgba(167,139,250,.13) 1px,transparent 1px); background-size: 46px 46px; mask-image: linear-gradient(to bottom,transparent,#000 35%,#000 80%,transparent); transform: perspective(500px) rotateX(61deg) scale(1.7) translateY(29%); }
.curator-vignette::after { content: ""; position: absolute; left: 50%; bottom: 4%; width: 72%; height: 18%; transform: translateX(-50%); border-radius: 50%; background: radial-gradient(ellipse,rgba(139,92,246,.22),transparent 68%); filter: blur(18px); animation: curator-floor-light 4.8s ease-in-out infinite; }
.curator-identity { position: absolute; top: 20px; left: 20px; z-index: 3; display: grid; grid-template-columns: 8px minmax(0,1fr); align-items: center; gap: 9px; padding: 9px 11px; border: 1px solid rgba(255,255,255,.09); border-radius: 10px; background: rgba(10,9,13,.54); backdrop-filter: blur(13px); }
.curator-online { width: 7px; height: 7px; border-radius: 50%; background: #42dc9a; box-shadow: 0 0 10px rgba(66,220,154,.55); }
.curator-identity strong, .curator-identity small { display: block; }
.curator-identity strong { color: #ece8f1; font-size: 10px; }
.curator-identity small { margin-top: 2px; color: #77707e; font-size: 6px; letter-spacing: .05em; }
.curator-state { position: absolute; left: 50%; bottom: 22px; z-index: 3; display: flex; align-items: center; gap: 10px; transform: translateX(-50%); min-width: 132px; justify-content: center; padding: 10px 13px; border: 1px solid rgba(167,139,250,.28); border-radius: 999px; background: rgba(12,10,16,.73); color: #d8ccff; box-shadow: 0 12px 35px rgba(0,0,0,.4),0 0 24px rgba(139,92,246,.1); backdrop-filter: blur(14px); }
.curator-state strong { font-size: 9px; font-weight: 600; }
.curator-wave { height: 15px; display: flex; align-items: center; gap: 2px; }
.curator-wave i { width: 2px; height: 4px; border-radius: 99px; background: #8b5cf6; }
.curator-stage.is-thinking::after { opacity: 1; }
.curator-stage.is-thinking > img { filter: saturate(.92) brightness(.78) contrast(1.07); }
.curator-stage.is-thinking .curator-wave i { animation: curator-wave .7s ease-in-out infinite alternate; }
.curator-stage.is-thinking .curator-wave i:nth-child(2) { animation-delay: -.45s; }
.curator-stage.is-thinking .curator-wave i:nth-child(3) { animation-delay: -.2s; }
.curator-stage.is-thinking .curator-wave i:nth-child(4) { animation-delay: -.58s; }
.curator-stage.is-speaking > img { filter: saturate(.94) brightness(.9); }
.curator-stage.is-speaking .curator-state { border-color: rgba(78,225,209,.35); color: #9fe9df; box-shadow: 0 12px 35px rgba(0,0,0,.4),0 0 24px rgba(78,225,209,.12); }
.curator-stage.is-speaking .curator-wave i { background: #4ee1d1; animation: curator-wave .45s ease-in-out infinite alternate; }
@keyframes curator-wave { to { height: 14px; } }
@keyframes curator-scan { to { transform: rotate(360deg); } }
@keyframes curator-floor-light { 50% { opacity: .55; transform: translateX(-50%) scale(1.08); } }
.conversation-stage { min-width: 0; min-height: 0; height: 100%; display: flex; flex-direction: column; overflow: hidden; background: radial-gradient(circle at 18% 0,rgba(139,92,246,.025),transparent 34%),#121117; }
.conversation-stage .mentor-empty { width: min(720px,calc(100% - 50px)); }
.conversation-stage .mentor-chat { flex: 1 1 auto; min-height: 0; height: 100%; max-height: 100%; overflow: hidden; }
.conversation-stage .mentor-messages { width: min(1080px,100%); height: 100%; min-height: 0; overflow-y: auto; padding: 30px 32px 26px; }
.conversation-stage .chat-message { color: #d8d5dc; font-size: 15px; line-height: 1.68; }
.conversation-stage .chat-message.mentor { width: 100%; max-width: none; margin: 0 0 24px; padding: 20px 22px; border: 1px solid #2a2830; border-radius: 14px; background: #1a191e; box-shadow: 0 12px 34px rgba(0,0,0,.13); }
.conversation-stage .chat-message.mentor .chat-meta { color: #a78bfa; }
.conversation-stage .chat-message.researcher { max-width: 78%; padding: 12px 16px; background: #2b2a2e; color: #e1dee4; font-size: 15px; line-height: 1.58; }
.conversation-stage .mentor-form { z-index: 4; flex: 0 0 auto; width: min(960px,calc(100% - 42px)); grid-template-columns: minmax(0,1fr) 38px 40px; align-items: center; border-color: #3a3641; background: #211f25; }
.conversation-stage .composer-options { z-index: 4; flex: 0 0 auto; width: min(930px,calc(100% - 62px)); }
.voice-input { position: relative; display: grid; place-items: center; width: 36px; height: 36px; padding: 0; border: 1px solid transparent; border-radius: 50%; background: transparent; color: #9a94a2; cursor: pointer; transition: color .18s ease,background .18s ease,border-color .18s ease,transform .18s ease; }
.voice-input:hover:not(:disabled) { color: #d8ccff; border-color: rgba(167,139,250,.28); background: rgba(139,92,246,.1); transform: scale(1.04); }
.voice-input:disabled { opacity: .45; cursor: wait; }
.voice-mic { position: relative; width: 10px; height: 15px; border: 2px solid currentColor; border-radius: 7px; }
.voice-mic::before { content: ""; position: absolute; left: 50%; top: 11px; width: 15px; height: 8px; transform: translateX(-50%); border: 2px solid currentColor; border-top: 0; border-radius: 0 0 10px 10px; }
.voice-mic::after { content: ""; position: absolute; left: 50%; top: 18px; width: 2px; height: 4px; transform: translateX(-50%); background: currentColor; box-shadow: -4px 4px 0 -1px currentColor,4px 4px 0 -1px currentColor; }
.voice-recording-wave { display: none; height: 17px; align-items: center; gap: 2px; }
.voice-recording-wave i { width: 2px; height: 5px; border-radius: 99px; background: currentColor; animation: voice-wave .55s ease-in-out infinite alternate; }
.voice-recording-wave i:nth-child(2) { animation-delay: -.35s; }
.voice-recording-wave i:nth-child(3) { animation-delay: -.12s; }
.voice-input.recording { border-color: rgba(255,92,130,.45); color: #ff6f91; background: rgba(255,70,115,.12); box-shadow: 0 0 0 5px rgba(255,70,115,.05),0 0 22px rgba(255,70,115,.16); }
.voice-input.recording .voice-mic { display: none; }
.voice-input.recording .voice-recording-wave { display: flex; }
.voice-input.transcribing { color: #c4b5fd; border-color: rgba(167,139,250,.4); background: rgba(139,92,246,.13); }
.voice-input.transcribing .voice-mic { animation: voice-pulse 1s ease-in-out infinite; }
@keyframes voice-wave { to { height: 16px; } }
@keyframes voice-pulse { 50% { opacity: .32; transform: scale(.86); } }
@media (prefers-reduced-motion: reduce) {
  .curator-stage::after, .curator-stage > img, .curator-wave i,
  .voice-recording-wave i, .voice-input.transcribing .voice-mic { animation: none !important; transition: none !important; }
}
@media (max-width: 1050px) {
  .workspace { grid-template-columns: 210px minmax(0,1fr); }
  .main-column > .mentor { grid-template-columns: minmax(230px,28%) minmax(0,72%); }
  .product-nav-item { grid-template-columns: 25px minmax(0,1fr) auto; padding-left: 8px; }
}
@media (max-width: 760px) {
  .workspace { grid-template-columns: 76px minmax(0,1fr); }
  .sidebar { padding: 12px 7px; }
  .sidebar-brand { justify-content: center; margin: 2px 0 18px; }
  .sidebar-brand > span:last-child, .product-nav-item strong, .product-nav-item small { display: none; }
  .product-nav-item { grid-template-columns: 1fr; justify-items: center; min-height: 42px; padding: 7px; }
  .product-nav-item > span { font-size: 17px; }
  .download-app { grid-template-columns: 1fr; justify-items: center; padding: 7px; }
  .download-app strong, .download-app small { display: none; }
  .main-column > .mentor { grid-template-columns: 1fr; }
  .curator-stage { display: none; }
  .project-switcher-button { min-width: 180px; }
  .engine-picker select { max-width: 170px; }
  .conversation-stage .mentor-messages { padding: 24px 18px; }
}

/* mentor.png — canonical Punkration AI Mentor composition. */
body { background: #030d16; }
.workspace { grid-template-columns: 268px minmax(0,1fr); background: radial-gradient(circle at 54% 42%,rgba(12,54,78,.16),transparent 36%),#030d16; }
.sidebar { padding: 20px 15px 16px; border-right: 1px solid #14283a; background: linear-gradient(180deg,#07131f 0%,#06111c 70%,#071521 100%); }
.sidebar-brand { margin: 0 8px 31px; }
.punkration-wordmark { display: block; }
.punkration-wordmark strong { display: block; color: #f4f7fb; font-family: Impact,Haettenschweiler,"Arial Narrow Bold",sans-serif; font-size: 27px; font-weight: 800; letter-spacing: .035em; line-height: 1; }
.punkration-wordmark strong span { color: #ff2049; }
.punkration-wordmark small { display: block; margin-top: 7px; color: #d6dee7; font-size: 7px; font-weight: 650; letter-spacing: .06em; }
.product-nav { gap: 3px; }
.product-nav-item { min-height: 43px; grid-template-columns: 28px minmax(0,1fr) auto; padding: 7px 10px; border-radius: 9px; color: #b8c3cf; }
.product-nav-item > span { color: #aab9c7; font-size: 16px; }
.product-nav-item strong { font-size: 13px; font-weight: 520; }
.product-nav-item:hover:not(:disabled), .product-nav-item.active { transform: none; border-color: rgba(255,31,73,.18); background: linear-gradient(90deg,rgba(255,31,73,.18),rgba(34,27,47,.72)); color: #fff; box-shadow: inset 2px 0 #ff2049; }
.product-nav-item.active > span, .product-nav-item:hover:not(:disabled) > span { color: #ff3158; }
.product-nav-item small { background: rgba(255,31,73,.12); color: #ff607c; }
.product-nav-item.authenticated { border-color: rgba(38,208,146,.25); background: linear-gradient(90deg,rgba(24,171,119,.19),rgba(10,60,51,.3)); color: #dfffee; box-shadow: inset 2px 0 #25d99a; }
.product-nav-item.authenticated > span { color: #32e6a7; text-shadow: 0 0 12px rgba(50,230,167,.55); }
.product-nav-item.authenticated:hover { border-color: rgba(50,230,167,.38); background: linear-gradient(90deg,rgba(24,171,119,.25),rgba(10,60,51,.38)); color: #fff; box-shadow: inset 2px 0 #32e6a7; }
.radio-player { border-color: #18344a; background: linear-gradient(145deg,#0d2435,#07121e 70%); }
.main-column { background: transparent; }
.chat-header { height: 78px; flex-basis: 78px; grid-template-columns: auto minmax(170px,1fr) auto auto; gap: 16px; padding: 0 28px; border-bottom: 1px solid #27242d; background: rgba(13,12,16,.96); }
.mentor-heading { display: flex; align-items: center; gap: 10px; color: #f1f6fb; white-space: nowrap; }
.mentor-heading .mentor-back { color: #9dafbf; font-size: 15px; }
.mentor-heading strong { font-size: 15px; letter-spacing: .02em; }
.mentor-heading i { width: 7px; height: 7px; margin-left: 7px; border-radius: 50%; background: #2be0c3; box-shadow: 0 0 12px rgba(43,224,195,.6); }
.mentor-heading small { color: #aeb9c5; font-size: 12px; }
.engine-picker { justify-self: start; }
.engine-picker select { min-width: 0; max-width: 230px; padding: 7px 28px 7px 10px; border: 1px solid transparent; border-radius: 9px; color: #8294a5; font-size: 11px; font-weight: 500; }
.engine-picker select:hover, .engine-picker select:focus { border-color: #1a354a; background: #091927; color: #dce6ef; }
.project-switcher { justify-self: end; }
.project-switcher-button { min-width: 180px; border-color: #183348; background: #0a1b2a; color: #e3ebf2; }
.project-switcher-button:hover, .project-switcher-button[aria-expanded="true"] { border-color: #26506c; background: #0e2233; }
.project-switcher-button .status-dot { background: #21d7bb; box-shadow: 0 0 10px rgba(33,215,187,.55); }
.caido-state { border-color: #183348; background: #081722; color: #7890a4; }
.main-column > .mentor { height: calc(100vh - 78px); grid-template-columns: minmax(0,1fr) clamp(280px,20vw,350px); gap: 0; padding: 0; background: transparent; }
.conversation-stage { order: 1; border-right: 1px solid #27242d; background: radial-gradient(circle at 48% 28%,rgba(96,70,130,.035),transparent 36%),#121117; }
.curator-stage { order: 2; width: auto; height: calc(100% - 26px); margin: 12px 0 14px 12px; border: 1px solid #142b3e; border-right: 0; border-radius: 12px 0 0 12px; background: #050b11; box-shadow: 0 18px 60px rgba(0,0,0,.38); }
.curator-stage > img { top: 0; left: 50%; min-width: 100%; height: 100%; object-fit: cover; object-position: 48% center; transform: translateX(-50%); filter: saturate(.72) brightness(.63) contrast(1.14); }
.curator-stage::before { z-index: 2; background: linear-gradient(180deg,rgba(255,18,64,.13),transparent 24%,transparent 57%,rgba(2,8,14,.8) 89%),linear-gradient(90deg,rgba(255,18,64,.22),transparent 36%,rgba(0,20,36,.1)); box-shadow: inset 24px 0 60px rgba(255,18,64,.07); }
.curator-stage::after { z-index: 2; inset: -50%; background: conic-gradient(from 90deg,transparent,rgba(255,25,72,.2),transparent 22%); }
.curator-vignette { z-index: 2; box-shadow: inset 0 0 90px rgba(0,0,0,.32); }
.curator-vignette::before { opacity: 0; }
.curator-vignette::after { bottom: 7%; width: 78%; height: 11%; background: radial-gradient(ellipse,rgba(255,25,72,.22),transparent 68%); }
.curator-identity { display: none; }
.curator-state { bottom: 25px; min-width: 154px; padding: 12px 17px; border-color: rgba(255,36,78,.55); background: rgba(3,12,20,.84); color: #ff4568; box-shadow: 0 0 30px rgba(255,23,68,.15); }
.curator-state strong { font-size: 10px; }
.curator-wave i { background: #ff2049; }
.curator-stage.is-speaking .curator-state { border-color: rgba(36,222,194,.6); color: #59ebd3; box-shadow: 0 0 32px rgba(36,222,194,.16); }
.curator-stage.is-speaking .curator-wave i { background: #2be0c3; }
.conversation-stage .mentor-empty { color: #7d91a4; }
.conversation-stage .mentor-chat { grid-template-rows: minmax(0,1fr) auto auto; }
.conversation-stage .mentor-messages { width: min(900px,100%); padding: 28px 28px 28px 82px; }
.conversation-stage .chat-message { position: relative; width: calc(100% - 14px); max-width: none; margin: 0 0 18px; padding: 14px 18px; border: 1px solid #17344a; border-radius: 12px; background: linear-gradient(135deg,rgba(13,37,55,.96),rgba(9,26,40,.95)); color: #e5edf4; box-shadow: 0 12px 32px rgba(0,0,0,.14); font-size: 13px; line-height: 1.55; }
.conversation-stage .chat-message::before { position: absolute; left: -59px; top: 5px; display: grid; place-items: center; width: 42px; height: 42px; border: 1px solid #25506d; border-radius: 11px; background: linear-gradient(145deg,#1c5a7c,#123348); color: #eff9ff; font-size: 17px; font-weight: 650; box-shadow: 0 8px 22px rgba(0,0,0,.25); }
.conversation-stage .chat-message.researcher { width: calc(100% - 14px); max-width: none; margin: 0 0 18px; padding: 14px 18px; border: 1px solid #17344a; border-radius: 12px; background: linear-gradient(135deg,rgba(13,37,55,.96),rgba(9,26,40,.95)); }
.conversation-stage .chat-message.researcher::before { content: "U"; }
.conversation-stage .chat-message.mentor::before { content: "A"; border-color: #ff2049; background: #08131e; color: #ff3158; box-shadow: 0 0 22px rgba(255,32,73,.12); }
.conversation-stage .chat-message.mentor { width: calc(100% - 14px); max-width: none; margin: 0 0 18px; padding: 14px 18px; border-color: #17344a; border-radius: 12px; background: linear-gradient(135deg,rgba(12,32,48,.98),rgba(8,23,36,.96)); }
.conversation-stage .chat-message.mentor .chat-meta { color: #ff5471; }
.chat-message .chat-meta { color: #7891a4; }
.conversation-stage .mentor-form { width: min(900px,calc(100% - 54px)); min-height: 64px; margin-bottom: 0; padding: 9px 10px 9px 62px; border-color: #21445e; border-radius: 14px; background: #0a1d2c; box-shadow: 0 18px 45px rgba(0,0,0,.34); }
.conversation-stage .mentor-form::before { content: "+"; position: absolute; left: 14px; top: 50%; display: grid; place-items: center; width: 34px; height: 34px; transform: translateY(-50%); border-radius: 50%; background: #102b40; color: #c4d1dc; font-size: 24px; font-weight: 300; }
.conversation-stage .mentor-form textarea { color: #e3ebf2; }
.conversation-stage .mentor-form textarea::placeholder { color: #71869a; }
.conversation-stage .mentor-form .button { background: #173a55; color: #e8f1f8; }
.voice-input { color: #9fb2c3; }
.voice-input:hover:not(:disabled) { border-color: #2a5674; background: #102c40; color: #fff; }
.conversation-stage .composer-options { width: min(870px,calc(100% - 74px)); min-height: 28px; margin-bottom: 8px; color: #60788b; }

@media (max-width: 1180px) {
  .workspace { grid-template-columns: 220px minmax(0,1fr); }
  .main-column > .mentor { grid-template-columns: minmax(0,1fr) 270px; }
  .mentor-heading small { display: none; }
  .engine-picker select { max-width: 150px; }
  .conversation-stage .mentor-messages { padding-left: 70px; }
}
@media (max-width: 900px) {
  .workspace { grid-template-columns: 76px minmax(0,1fr); }
  .punkration-wordmark small, .product-nav-item strong, .product-nav-item small { display: none; }
  .punkration-wordmark strong { font-size: 14px; writing-mode: vertical-rl; }
  .main-column > .mentor { grid-template-columns: 1fr; }
  .curator-stage { display: none; }
  .chat-header { grid-template-columns: auto 1fr auto; padding: 0 14px; }
  .engine-picker { display: none; }
  .chat-actions { display: none; }
}

/* mentor2.png — wide conversation-first variant. */
html, body { width: 100%; max-width: 100%; overflow-x: hidden; }
.workspace { width: 100vw; grid-template-columns: 262px minmax(0,1fr); }
.chat-header { grid-template-columns: auto minmax(0,1fr) auto; gap: 18px; }
.mentor-heading { display: none; }
.project-switcher { order: 1; justify-self: start; }
.engine-picker { order: 2; justify-self: start; }
.chat-actions { order: 3; justify-self: end; }
.project-switcher-button { min-width: 220px; }
.main-column > .mentor { grid-template-columns: minmax(0,1fr) clamp(280px,18.5vw,320px); }
.conversation-stage .mentor-messages { width: 100%; max-width: none; padding: 28px 34px 28px 82px; }
.conversation-stage .chat-message,
.conversation-stage .chat-message.researcher,
.conversation-stage .chat-message.mentor { width: 100%; max-width: none; }
.conversation-stage .chat-message::before { display: none; content: none; }
.chat-avatar { position: absolute; left: -59px; top: 5px; width: 42px; height: 42px; border: 1px solid #25506d; border-radius: 11px; object-fit: cover; background: #0a1823; box-shadow: 0 8px 22px rgba(0,0,0,.28); }
.chat-message.mentor .chat-avatar { border-color: #ff2049; box-shadow: 0 0 22px rgba(255,32,73,.13); }
.conversation-stage .mentor-form { width: auto; max-width: none; margin-right: 34px; margin-left: 72px; }
.conversation-stage .composer-options { width: auto; max-width: none; margin-right: 44px; margin-left: 84px; }
.curator-stage { margin-left: 12px; border-radius: 12px 0 0 12px; }
.curator-stage > img.curator-smiling { inset: 0; width: 100%; min-width: 0; max-width: none; height: 100%; object-fit: cover; object-position: left center; transform: none; filter: saturate(.9) brightness(.82) contrast(1.04); clip-path: none; }
.curator-stage::before { z-index: 2; background: linear-gradient(180deg,transparent calc(100% - 132px),rgba(3,8,13,.92) calc(100% - 96px),#03080d 100%); box-shadow: none; }
.curator-vignette { box-shadow: none; }
.curator-vignette::after { opacity: 0; }
.curator-state { display: none; }
.curator-controls { right: 22px; bottom: 22px; left: auto; width: auto; height: auto; display: flex; }
.curator-controls .curator-control { display: grid; }
.curator-state { bottom: 94px; min-width: 132px; padding: 8px 12px; }
.curator-online-badge { position: absolute; left: 22px; bottom: 34px; z-index: 4; display: flex; align-items: center; gap: 7px; color: #38e5c2; font-size: 11px; }
.curator-online-badge i { width: 8px; height: 8px; border-radius: 50%; background: #21dbb8; box-shadow: 0 0 12px rgba(33,219,184,.65); }
.curator-menu { position: absolute; z-index: 5; top: 15px; right: 15px; display: flex; align-items: center; justify-content: center; gap: 3px; width: 42px; height: 42px; padding: 0; border: 1px solid #17344a; border-radius: 12px; background: rgba(5,18,28,.94); color: #c8d5df; cursor: pointer; box-shadow: 0 8px 24px rgba(0,0,0,.28); }
.curator-menu:hover,.curator-menu[aria-expanded="true"] { border-color: #ff3158; color: #fff; box-shadow: 0 0 24px rgba(255,32,73,.16); }
.curator-menu { display: none; }
.curator-menu i { width: 3px; height: 3px; border-radius: 50%; background: currentColor; }
.curator-menu-popover { position: absolute; z-index: 6; right: 18px; bottom: 84px; width: 154px; padding: 8px; border: 1px solid #1b3c52; border-radius: 11px; background: rgba(4,13,20,.96); box-shadow: 0 18px 42px rgba(0,0,0,.42); backdrop-filter: blur(14px); }
.curator-menu-popover strong { display: block; padding: 5px 7px 8px; color: #8da5b7; font-size: 9px; text-transform: uppercase; letter-spacing: .08em; }
.curator-menu-popover button { display: block; width: 100%; padding: 8px; border: 0; border-radius: 7px; background: transparent; color: #d5e0e7; text-align: left; font: inherit; font-size: 10px; cursor: pointer; }
.curator-menu-popover button:hover { background: #10283a; color: #fff; }
.curator-controls { position: absolute; right: 22px; bottom: 20px; z-index: 4; display: flex; align-items: center; gap: 12px; }
.curator-control { display: grid; place-items: center; width: 48px; height: 48px; padding: 0; border: 1px solid #1c4158; border-radius: 50%; background: rgba(5,18,28,.82); color: #c4d2dd; font-size: 15px; cursor: pointer; backdrop-filter: blur(12px); }
.curator-control:hover:not(:disabled) { border-color: #ff3158; color: #fff; box-shadow: 0 0 24px rgba(255,32,73,.17); }
.curator-control-primary { border-color: #ff2049; color: #ff3158; box-shadow: 0 0 26px rgba(255,32,73,.16); }
.curator-control-primary::before { content: ""; width: 10px; height: 16px; border: 2px solid currentColor; border-radius: 8px; }
.curator-control-primary { font-size: 0; }
.curator-control-primary.recording { color: #fff; background: #ff2049; animation: voice-pulse 1s ease-in-out infinite; }
.curator-control-sound span { position: relative; width: 11px; height: 14px; border-left: 2px solid currentColor; }
.curator-control-sound span::before { content: ""; position: absolute; top: 3px; left: -7px; width: 6px; height: 8px; border: 2px solid currentColor; border-right: 0; border-radius: 3px 0 0 3px; }
.curator-control-sound span::after { content: ""; position: absolute; top: 1px; left: 5px; width: 8px; height: 10px; border: 2px solid currentColor; border-left: 0; border-radius: 0 10px 10px 0; opacity: .28; }
.curator-control-sound[aria-pressed="true"] { border-color: #2be0c3; color: #2be0c3; box-shadow: 0 0 24px rgba(43,224,195,.14); }
.curator-control-sound[aria-pressed="true"] span::after { opacity: 1; }
.curator-control:disabled { opacity: .55; cursor: default; }

/* Reading-first conversation surface, calibrated to the ChatGPT dark UI. */
.conversation-stage { background: #000; }
.conversation-stage .mentor-chat {
  position: relative;
  display: block;
  height: 100%;
  background: #000;
}
.conversation-stage .mentor-messages {
  width: min(1040px,100%);
  max-width: 1040px;
  margin: 0 auto;
  height: 100%;
  padding: 46px 34px 132px 66px;
  scrollbar-color: #333 transparent;
}
.conversation-stage .chat-message,
.conversation-stage .chat-message.mentor {
  width: 100%;
  max-width: none;
  margin: 0 0 20px;
  padding: 18px 20px;
  border: 1px solid #1c2937;
  border-radius: 12px;
  background: #101622;
  box-shadow: 0 10px 28px rgba(0,0,0,.16);
  color: #dce2e8;
  font-size: 15.5px;
  font-weight: 400;
  line-height: 1.58;
  letter-spacing: -.003em;
}
.conversation-stage .chat-message.researcher {
  width: fit-content;
  max-width: 82%;
  margin: 0 0 20px auto;
  padding: 12px 16px;
  border: 1px solid #1e3041;
  border-radius: 12px;
  background: #111926;
  color: #e2e7ec;
  font-size: 15.5px;
  line-height: 1.52;
}
.conversation-stage .chat-message .chat-meta {
  margin-bottom: 8px;
  color: #8e8e8e;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0;
  text-transform: none;
}
.conversation-stage .chat-message.mentor .chat-meta { color: #9381bd; }
.conversation-stage .chat-content code { background: #222; color: #e5e5e5; }
.conversation-stage .chat-avatar {
  left: -48px;
  top: -2px;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  border-color: #333;
  box-shadow: none;
}
.conversation-stage .chat-message.mentor .chat-avatar { border-color: #444; box-shadow: none; }
.conversation-stage .mentor-form {
  position: absolute;
  z-index: 8;
  left: 50%;
  bottom: 22px;
  width: min(920px,calc(100% - 54px));
  max-width: 920px;
  margin: 0;
  padding: 9px 9px 9px 18px;
  border: 0;
  border-radius: 28px;
  background: #111925;
  box-shadow: 0 12px 36px rgba(0,0,0,.3);
  transform: translateX(-50%);
}
.conversation-stage .mentor-form:focus-within { background: #151f2d; box-shadow: 0 0 0 1px #26384a; }
.conversation-stage .mentor-form textarea {
  color: #f2f2f2;
  font-size: 16px;
  line-height: 1.45;
}
.conversation-stage .mentor-form textarea::placeholder { color: #9b9b9b; }
.conversation-stage .composer-options {
  display: none;
}

@media (min-width: 1800px) {
  .workspace { grid-template-columns: 280px minmax(0,1fr); }
  .main-column > .mentor { grid-template-columns: minmax(0,1fr) clamp(300px,18.5vw,380px); }
  .conversation-stage .mentor-messages { padding: 46px 34px 132px 66px; }
  .conversation-stage .mentor-form { margin: 0; }
}
@media (max-width: 1180px) {
  .workspace { grid-template-columns: 210px minmax(0,1fr); }
  .main-column > .mentor { grid-template-columns: minmax(0,1fr) 300px; }
  .project-switcher-button { min-width: 180px; }
  .conversation-stage .mentor-messages { padding-left: 70px; }
  .conversation-stage .mentor-form { margin: 0; }
}
@media (max-width: 900px) {
  .workspace { grid-template-columns: 76px minmax(0,1fr); }
  .main-column > .mentor { grid-template-columns: 1fr; }
  .curator-stage { display: none; }
  .chat-header { grid-template-columns: minmax(0,1fr) auto; }
  .engine-picker { display: block; }
  .engine-picker select { max-width: 150px; }
  .chat-actions { display: none; }
  .conversation-stage .mentor-messages { padding: 22px 20px 22px 66px; }
  .conversation-stage .mentor-form { margin: 0; }
  .conversation-stage .composer-options { margin-right: 26px; margin-left: 28px; }
  .sidebar-brand > .punkration-wordmark { display: block; }
}

@media (min-aspect-ratio: 2/1) and (min-width: 1100px) {
  .curator-stage > img.curator-smiling {
    transform: scale(1.18);
    transform-origin: left center;
  }
}

/* A visible, calm wait state while the local model prepares its first token. */
.conversation-stage .chat-message.mentor.is-pending {
  position: relative;
  overflow: hidden;
  min-height: 82px;
  border-color: #29213d;
  background: linear-gradient(110deg,#101622 0%,#171326 48%,#101622 100%);
  background-size: 220% 100%;
  animation: mentor-pending-surface 3.2s ease-in-out infinite;
}
.conversation-stage .chat-message.mentor.is-pending::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(100deg,transparent 22%,rgba(167,139,250,.08) 48%,transparent 74%);
  transform: translateX(-100%);
  animation: mentor-pending-sweep 2.4s ease-in-out infinite;
}
.mentor-thinking { display: flex; align-items: center; gap: 14px; color: #aaa2bb; }
.mentor-thinking-copy { display: flex; min-width: 0; flex-direction: column; gap: 3px; }
.mentor-thinking-label { font-size: 14px; letter-spacing: .01em; }
.mentor-thinking-detail { color: #756f82; font-size: 11px; line-height: 1.35; }
.mentor-thinking-orbit { position: relative; display: flex; align-items: center; justify-content: center; gap: 3px; width: 30px; height: 30px; border: 1px solid rgba(167,139,250,.22); border-radius: 50%; box-shadow: 0 0 22px rgba(139,92,246,.1); }
.mentor-thinking-orbit::before { content: ""; position: absolute; inset: 3px; border: 1px solid transparent; border-top-color: #9a7de0; border-radius: 50%; animation: mentor-thinking-spin 1.45s linear infinite; }
.mentor-thinking-orbit i { width: 3px; height: 3px; border-radius: 50%; background: #a78bfa; animation: mentor-thinking-dot .9s ease-in-out infinite alternate; }
.mentor-thinking-orbit i:nth-child(2) { animation-delay: -.6s; }
.mentor-thinking-orbit i:nth-child(3) { animation-delay: -.3s; }
.mentor-failure { display: flex; margin-top: 8px; padding: 12px 14px; border: 1px solid rgba(244,94,123,.24); border-radius: 10px; background: rgba(82,25,39,.2); flex-direction: column; align-items: flex-start; gap: 5px; color: #d7cbd0; }
.mentor-failure strong { color: #ff9bae; font-size: 13px; }
.mentor-failure span { color: #a9959d; font-size: 12px; }
.mentor-retry { margin-top: 5px; padding: 7px 11px; border: 1px solid #3b3449; border-radius: 8px; background: #191622; color: #cbbbe8; font: inherit; font-size: 11px; cursor: pointer; }
.mentor-retry:hover { border-color: #765ba7; color: #fff; }
.mentor-partial-note { margin-top: 10px; color: #9c8790; font-size: 11px; }
.curator-stage.is-thinking > img.curator-smiling { animation: curator-thinking-breathe 3.4s ease-in-out infinite; }
.curator-stage.is-thinking .curator-online-badge { color: #bda7ff; }
.curator-stage.is-thinking .curator-online-badge i { background: #9c7cff; box-shadow: 0 0 0 0 rgba(156,124,255,.46); animation: curator-thinking-pulse 1.8s ease-out infinite; }
.curator-stage.is-speaking .curator-online-badge { color: #52e4cd; }
@keyframes mentor-pending-surface { 50% { background-position: 100% 0; } }
@keyframes mentor-pending-sweep { 55%,100% { transform: translateX(100%); } }
@keyframes mentor-thinking-spin { to { transform: rotate(360deg); } }
@keyframes mentor-thinking-dot { to { opacity: .3; transform: translateY(-2px); } }
@keyframes curator-thinking-breathe { 50% { filter: saturate(.96) brightness(.88) contrast(1.04); transform: scale(1.008); } }
@keyframes curator-thinking-pulse { 70% { box-shadow: 0 0 0 8px rgba(156,124,255,0); } 100% { box-shadow: 0 0 0 0 rgba(156,124,255,0); } }
@media (prefers-reduced-motion: reduce) {
  .conversation-stage .chat-message.mentor.is-pending,
  .conversation-stage .chat-message.mentor.is-pending::after,
  .mentor-thinking-orbit::before,
  .mentor-thinking-orbit i,
  .curator-stage.is-thinking > img.curator-smiling,
  .curator-stage.is-thinking .curator-online-badge i { animation: none !important; }
}
