/* Unified, responsive controls. No floating fullscreen layer. */
.new-presentation-confirmation { padding:1.5rem; max-width:560px; color:#d2e9f5; line-height:1.55; }
.dialog-actions { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:.65rem; margin-top:1.5rem; }
.topbar { gap: 1rem; align-items: flex-start; background: #07111ff2; }
.topbar-actions { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:.45rem; }
.topbar-actions .button { min-height:38px; }
.panel { top:calc(var(--ks-header-height, 92px) + 8px); }
.presentation-toolbar {
  display:flex; flex-wrap:wrap; justify-content:center; align-items:center;
  width:max-content; max-width:calc(100vw - 24px); bottom:12px;
  padding:.6rem; gap:.55rem; background:#061522f5;
  border:1px solid #6ed6ff40; border-radius:14px;
  box-shadow:0 8px 32px #0008;
}
.presentation-top-actions { position:static; display:flex; gap:.55rem; }
.presentation-toolbar .button, .presentation-toolbar summary { min-height:40px; margin:0; }
.presentation-controls { position:static; transform:none; padding:0; background:none; border:0; }
.presentation-tool { position:relative; }
.presentation-tool-panel { max-height:55vh; overflow:auto; }
.presentation-card { bottom:calc(var(--ks-toolbar-height, 64px) + 28px); max-height:calc(100vh - var(--ks-toolbar-height, 64px) - 48px); }
.presentation-card.expanded { inset:18px 4vw calc(var(--ks-toolbar-height, 64px) + 28px); max-height:none; }
.presentation-hint { display:none; }
.presentation-toolbar .presentation-tool summary { width:auto; font-size:.8rem; color:#d2e9f5; }
@media (max-width:720px) {
  .topbar .brand { display:none; }
  .topbar-actions { justify-content:flex-start; }
  .presentation-toolbar { width:calc(100vw - 24px); }
  .presentation-controls { order:-1; flex-basis:100%; justify-content:center; }
  .presentation-card { max-height:42vh; }
  .presentation-card.expanded { inset:12px 12px calc(var(--ks-toolbar-height, 110px) + 22px); }
  .presentation-tool-panel { position:fixed; left:0; right:0; bottom:calc(100% + 8px); width:auto; }
}
@media (prefers-reduced-motion:reduce) { *, *::before, *::after { transition:none!important; animation:none!important; } }

/* 0.5.9 – readable typography and calm, opaque surfaces. */
:root { color-scheme:dark; --panel:#0d2033; --panel-border:#59718d80; }
body { color:#edf4fc; }
.panel { background:#0d2033f7; backdrop-filter:none; }
.panel label > span, .panel small, .empty-list, .empty-inspector { color:#c5d4e4; }
.panel input, .panel textarea, .panel select { font-size:.94rem; line-height:1.5; color:#f5f9ff; background:#091725; }
input::placeholder, textarea::placeholder { color:#9fb1c5; opacity:1; }
.button { font-size:.9rem; font-weight:600; }
.button:focus-visible, summary:focus-visible, input:focus-visible, textarea:focus-visible, select:focus-visible { outline:3px solid #b4e7ff; outline-offset:3px; }
.node-list-item strong, .edge-list-item strong { font-size:.94rem; line-height:1.35; }
.node-list-item small, .edge-list-item small { font-size:.8rem; line-height:1.45; color:#bacddd; }
.presentation-card { background:#0b1b2dfc; border-color:#7793ae80; box-shadow:0 18px 55px #0006; padding:1.25rem; width:min(430px,calc(100vw - 48px)); gap:.85rem; backdrop-filter:none; transition:border-color .18s ease,box-shadow .18s ease; }
.presentation-card h2 { color:#f5f9ff; font-size:clamp(1.65rem,2.5vw,2.2rem); line-height:1.18; overflow-wrap:anywhere; }
.presentation-card .presentation-text { color:#e0eaf5; font-size:1rem; line-height:1.65; overflow-wrap:anywhere; }
.presentation-text p, .presentation-text ul { margin:.3em 0 .75em; }
.presentation-text li + li { margin-top:.4em; }
.presentation-source { color:#c1d2e3; font-size:.85rem; overflow-wrap:anywhere; }
.presentation-kicker, .eyebrow { color:#b5ddf5; }
.presentation-routes-section { margin-top:.25rem; padding-top:1rem; }
.presentation-routes button { min-height:58px; color:#eef6ff; background:#17334a; border-color:#6f95b566; font-size:.9rem; }
.presentation-routes button strong { font-size:.95rem; }
.presentation-route-relation { font-size:.85rem; line-height:1.4; color:#b5e3f8; }
.presentation-routes-empty { color:#c1d2e3; font-size:.9rem; }
.presentation-card.expanded { background:#0b1b2dfc; padding:clamp(1.3rem,3vw,2.8rem); align-content:start; gap:1.2rem; }
.presentation-card.expanded .expand-node-button { justify-self:center; min-height:44px; padding:.7rem 1rem; }
.presentation-card.expanded h2 { font-size:clamp(1.9rem,3.5vw,3.3rem); }
.presentation-card.expanded .presentation-text { max-width:68ch; font-size:clamp(1.12rem,1.65vw,1.4rem); line-height:1.7; text-align:left; }
.presentation-card.expanded { inset:14px 14px calc(var(--ks-toolbar-height, 64px) + 28px); width:auto; max-height:none; }
.presentation-media img { object-fit:contain; }
.presentation-toolbar { background:#0b1b2df7; border-color:#6c8aa366; }
.presentation-toolbar summary { font-size:.87rem!important; font-weight:600; }
.presentation-tool-panel { background:#0d2033fc; color:#e0eaf5; }
.ks-role-list { width:340px; left:0; right:auto; line-height:1.45; font-size:.85rem; }
.ks-role-list > div { display:flex; gap:.75rem; align-items:center; margin:.6rem 0; }
.ks-role-list p { color:#c1d2e3; margin-top:1rem; font-size:.8rem; }
.ks-role-shape { display:inline-block; flex:0 0 34px; height:23px; background:var(--role-color); }
.ks-role-knowledge { border-radius:1px; }
.ks-role-solution { border-radius:9px; }
.ks-role-problem { clip-path:polygon(20% 0,80% 0,100% 25%,100% 75%,80% 100%,20% 100%,0 75%,0 25%); }
.ks-role-goal { clip-path:polygon(0 0,100% 0,100% 72%,50% 100%,0 72%); }
.ks-role-decision { clip-path:polygon(18% 0,82% 0,100% 50%,82% 100%,18% 100%,0 50%); }
@media(max-width:720px) {
  .presentation-card { width:calc(100vw - 24px); padding:1rem; }
  .presentation-card .presentation-text { font-size:1rem; }
  .presentation-card.expanded { inset:10px 10px calc(var(--ks-toolbar-height, 110px) + 22px); }
  .ks-role-list { width:auto; left:0; right:0; }
}
