:root{--hero-bg-1:#0a1f3d;--hero-bg-2:#0f2a52;--hero-bg-3:#051327;--hero-glow:rgba(245,180,0,0.18);--hero-text:#e8eef9;--hero-text-muted:#9ab0d0;--hero-border:rgba(255,255,255,0.08);--hero-card-bg:rgba(255,255,255,0.04);--bg:#ffffff;--bg-alt:#f6f8fb;--bg-card:#ffffff;--border:#e5ebf2;--border-strong:#d3dde8;--ink:#0a2540;--ink-muted:#4a5b73;--ink-soft:#6c7a8c;--accent:#2563a8;--accent-soft:#e6efff;--accent-strong:#14467c;--emerald:#1d7a56;--emerald-soft:#e7f5ee;--amber:#b36b0f;--amber-soft:#fdf2dd;--crimson:#b3261e;--crimson-soft:#fbeae9;--font-sans:-apple-system,BlinkMacSystemFont,"Inter","Segoe UI",system-ui,sans-serif;--font-mono:"SF Mono","JetBrains Mono",Menlo,Consolas,monospace;--radius-sm:6px;--radius:10px;--radius-lg:14px;--shadow-sm:0 1px 2px rgba(10,37,64,0.05);--shadow:0 2px 8px rgba(10,37,64,0.08);--shadow-lg:0 8px 24px rgba(10,37,64,0.10)}*{box-sizing:border-box}body,html{margin:0;padding:0;background:radial-gradient(circle at 18% 65%,var(--hero-glow) 0,transparent 38%),radial-gradient(circle at 80% 20%,rgba(63,118,192,.15) 0,transparent 40%),linear-gradient(180deg,var(--hero-bg-1) 0,var(--hero-bg-2) 60%,var(--hero-bg-3) 100%);background-attachment:fixed;color:var(--hero-text);font-family:var(--font-sans);font-size:15px;line-height:1.55;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh}button{font-family:inherit;cursor:pointer}input,textarea{font-family:inherit;color:var(--ink)}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}::selection{background:var(--accent-soft);color:var(--ink)}.app-shell{min-height:100vh;display:grid;grid-template-rows:auto 1fr auto}.app-body{display:grid;grid-template-columns:minmax(0,1fr) 540px;grid-gap:36px;gap:36px;max-width:1760px;width:100%;margin:0 auto;min-height:0;flex:1 1;padding:0 32px 160px}@media (max-width:1500px){.app-body{grid-template-columns:minmax(0,1fr) 460px;gap:28px}}@media (max-width:1100px){.app-body{grid-template-columns:minmax(0,1fr) 360px;gap:20px}}@media (max-width:900px){.app-body{grid-template-columns:1fr}.bot-dock,.bot-scene{display:none!important}}@media (max-width:640px){.app-header{flex-wrap:wrap;gap:6px;padding:8px 10px;height:auto}.app-header .brand,.app-header .brand-meta{flex-shrink:1;min-width:0}.app-header .brand-meta{display:none}.app-header button{font-size:11px;padding:6px 9px}.signout-btn,.train-toggle{font-size:11px!important}.app-main{padding:14px 12px;border-radius:12px;gap:10px}.hero-banner h1{font-size:26px;line-height:1.15}.hero-banner p{font-size:13px}.examples-grid,.sample-grid{grid-template-columns:1fr!important}.compose-bar,.compose-row{flex-wrap:wrap;gap:8px}.scene-player .chat-scene-canvas,.scene-player .scene-canvas{max-width:100%}.train-card{width:100%!important;max-width:100%!important;border-radius:10px;padding:16px 14px}.train-row{grid-template-columns:1fr!important}.train-db-status{flex-wrap:wrap;font-size:11px}.train-entry-row{flex-wrap:wrap}.train-entry-actions{flex-direction:row!important;width:100%}.lock-card,.passcode-gate,[class*=lock-shell]>div{width:calc(100% - 24px)!important;max-width:360px}}.hero-banner{text-align:center;padding:48px 24px 24px;max-width:920px;margin:0 auto;animation:hero-in .6s cubic-bezier(.34,1.56,.64,1)}.hero-title{margin:0 0 12px;font-size:42px;font-weight:600;letter-spacing:-.02em;line-height:1.1;background:linear-gradient(120deg,#ffffff,#cdd9ec 50%,#F5B400 130%);-webkit-background-clip:text;background-clip:text;color:transparent}.hero-sub{margin:0 auto;max-width:640px;color:var(--hero-text-muted);font-size:15px;line-height:1.55}@keyframes hero-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.scene-wrap{position:relative;display:flex;flex-direction:column;align-items:center}.interrupt-btn{position:absolute;top:14px;right:14px;background:rgba(192,57,43,.92);border:1px solid rgba(255,255,255,.25);color:#fff;padding:8px 14px;border-radius:999px;font-size:12px;font-weight:600;letter-spacing:.02em;cursor:pointer;display:inline-flex;align-items:center;gap:6px;box-shadow:0 6px 16px rgba(192,57,43,.5);z-index:10;animation:pop-in .24s cubic-bezier(.34,1.56,.64,1)}.interrupt-btn:hover{background:#c0392b}.interrupt-btn:active{transform:scale(.96)}.playback-bar{position:absolute;top:14px;right:14px;z-index:10;display:inline-flex;gap:8px;animation:pop-in .24s cubic-bezier(.34,1.56,.64,1)}.playback-btn{background:rgba(255,255,255,.95);color:#0A2540;border:1px solid rgba(255,255,255,.3);padding:7px 12px;border-radius:999px;font-size:12px;font-weight:600;letter-spacing:.01em;cursor:pointer;display:inline-flex;align-items:center;gap:6px;box-shadow:0 6px 16px rgba(0,0,0,.45);transition:transform .12s ease,background .16s ease}.playback-btn:hover{transform:translateY(-1px)}.playback-btn:active{transform:scale(.96)}.playback-btn.playback-stop{background:rgba(192,57,43,.95);color:#fff;border-color:rgba(255,255,255,.25)}.playback-btn.playback-stop:hover{background:#c0392b}@keyframes pop-in{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.bot-scene{position:-webkit-sticky;position:sticky;top:88px;align-self:start;padding:0 8px;min-height:540px;max-height:calc(100vh - 120px);display:flex;flex-direction:column;align-items:center;animation:scene-in .8s cubic-bezier(.34,1.56,.64,1) .2s both}@keyframes scene-in{0%{opacity:0;transform:translateX(20px) scale(.95)}to{opacity:1;transform:translateX(0) scale(1)}}.scene-glow{position:absolute;bottom:40px;left:50%;transform:translateX(-50%);width:380px;height:80px;background:radial-gradient(ellipse,rgba(245,180,0,.55) 0,rgba(245,180,0,.18) 35%,transparent 70%);filter:blur(12px);pointer-events:none;animation:glow-pulse 4s ease-in-out infinite;z-index:0}.bot-scene-svg{width:100%;max-width:460px;height:auto;position:relative;z-index:1;filter:drop-shadow(0 14px 28px rgba(0,0,0,.5))}.bot-scene .bot-caption{margin-top:4px;font-size:13px;color:var(--hero-text-muted);text-align:center;max-width:320px;min-height:36px;line-height:1.5;position:relative;z-index:1}.badge{position:absolute;background:rgba(255,255,255,.95);border-radius:12px;padding:8px 10px;display:inline-flex;align-items:center;gap:6px;box-shadow:0 6px 14px rgba(0,0,0,.35);z-index:2;pointer-events:none;animation:badge-drift 6s ease-in-out infinite}.badge.badge-vitals{top:60px;left:20px;animation-delay:0s}.badge.badge-chat{top:30px;right:30px;animation-delay:1.5s}.badge.badge-mrn{bottom:200px;right:30px;background:#C0392B;color:#fff;font-size:11px;font-weight:700;font-family:var(--font-mono);letter-spacing:.04em;animation-delay:3s}.badge.badge-alert{top:200px;left:0;background:#FFF7E0;animation-delay:.8s}@keyframes badge-drift{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}.bot-dock{position:-webkit-sticky;top:60px;align-self:start;height:calc(100vh - 60px);padding:40px 24px 24px;display:flex;flex-direction:column;align-items:center;gap:18px;position:sticky}.bot-glow{position:absolute;bottom:80px;left:50%;transform:translateX(-50%);width:240px;height:60px;background:radial-gradient(ellipse,rgba(245,180,0,.55) 0,rgba(245,180,0,.18) 40%,transparent 70%);filter:blur(8px);pointer-events:none;animation:glow-pulse 4s ease-in-out infinite}@keyframes glow-pulse{0%,to{opacity:.85;transform:translateX(-50%) scale(1)}50%{opacity:1;transform:translateX(-50%) scale(1.08)}}.bot-svg{width:260px;height:320px;flex-shrink:0;animation:bot-bob 3.4s ease-in-out infinite;filter:drop-shadow(0 14px 28px rgba(0,0,0,.5))}.bot-caption,.bot-svg{position:relative;z-index:1}.bot-caption{margin-top:4px;font-size:13px;color:var(--hero-text-muted);text-align:center;max-width:260px;min-height:32px;line-height:1.4}@keyframes bot-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}.bot-svg .eye-l,.bot-svg .eye-r{animation:blink 5s infinite;transform-origin:center}.bot-dock[data-pose=thinking] .bot-svg .eye-l,.bot-dock[data-pose=thinking] .bot-svg .eye-r{animation:blink 1.6s infinite}.antenna-bulb{animation:antenna-pulse 2s ease-in-out infinite}.bot-dock[data-pose=happy] .antenna-bulb{fill:#F5B400;animation:antenna-flash .8s ease-in-out infinite}.bot-dock[data-pose=concerned] .antenna-bulb{fill:#FF6B6B;animation:antenna-flash .5s ease-in-out infinite}@keyframes antenna-pulse{0%,to{r:4;opacity:1}50%{r:5;opacity:.7}}@keyframes antenna-flash{0%,to{opacity:1}50%{opacity:.4}}.bot-dock[data-pose=thinking] .thought-dots{display:block!important;animation:thoughts 1.4s ease-in-out infinite}@keyframes thoughts{0%,to{opacity:.3;transform:translateY(0)}50%{opacity:1;transform:translateY(-2px)}}.bot-dock[data-pose=happy] .eyes-default{display:none}.bot-dock[data-pose=happy] .eyes-happy{display:block!important}.bot-dock[data-pose=concerned] .eyes-default{display:none}.bot-dock[data-pose=concerned] .eyes-concerned{display:block!important}.bot-dock[data-pose=concerned] .mouth{d:path("M100 130 Q110 124 120 130")}.point-arm{transform-origin:140px 174px;transition:transform .28s ease}.bot-dock[data-pose=pointing] .point-arm{transform:rotate(-6deg) translateX(4px)}.point-arrow{opacity:.5;transition:opacity .22s ease}.bot-dock[data-pose=pointing] .point-arrow{opacity:1;animation:nudge 1.4s ease-in-out infinite}@keyframes nudge{0%,to{transform:translateX(0)}50%{transform:translateX(4px)}}.app-header{border-bottom:1px solid var(--hero-border);padding:14px 28px;gap:16px;background:rgba(10,31,61,.55);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);position:-webkit-sticky;position:sticky;top:0;z-index:50}.app-header,.app-header .brand{display:flex;align-items:center}.app-header .brand{gap:10px}.app-header .brand-mark{width:30px;height:30px;filter:drop-shadow(0 2px 4px rgba(0,0,0,.4))}.app-header .brand-name{font-weight:600;letter-spacing:-.01em;color:var(--hero-text);font-size:16px}.app-header .brand-tag{color:var(--hero-text-muted);font-size:13px;margin-left:8px}.mode-pill{margin-left:auto;padding:5px 12px;border-radius:999px;background:rgba(255,255,255,.08);font-weight:500}.mode-pill,.mute-toggle{font-size:12px;color:var(--hero-text);border:1px solid var(--hero-border)}.mute-toggle{background:rgba(255,255,255,.06);padding:6px 12px;border-radius:8px;cursor:pointer;display:inline-flex;align-items:center;gap:6px;transition:background .16s ease}.mute-toggle:hover{background:rgba(255,255,255,.1)}.mute-toggle[data-on=true]{background:rgba(245,180,0,.18);color:#FFD86B;border-color:rgba(245,180,0,.4)}.signout-btn{background:rgba(255,255,255,.05);border:1px solid var(--hero-border);color:var(--hero-text-muted);padding:6px 12px;border-radius:8px;font-size:12px;cursor:pointer;display:inline-flex;align-items:center;gap:6px;transition:background .16s ease,color .16s ease,border-color .16s ease}.signout-btn:hover{background:rgba(192,57,43,.18);color:#ff8a7d;border-color:rgba(192,57,43,.4)}.lock-shell{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px}.lock-card{background:rgba(255,255,255,.04);border:1px solid var(--hero-border);border-radius:18px;padding:36px 32px;max-width:380px;width:100%;text-align:center;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:0 24px 56px rgba(0,0,0,.5);color:var(--hero-text);animation:lock-in .36s cubic-bezier(.34,1.56,.64,1)}@keyframes lock-in{0%{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.lock-mark{width:48px;height:48px;margin:0 auto 16px;filter:drop-shadow(0 4px 14px rgba(245,180,0,.4))}.lock-card h1{margin:0 0 4px;font-size:24px;font-weight:600;letter-spacing:-.01em;background:linear-gradient(120deg,#ffffff,#cdd9ec 60%,#F5B400 130%);-webkit-background-clip:text;background-clip:text;color:transparent}.lock-tagline{margin:0 0 20px;color:var(--hero-text-muted);font-size:13px}.lock-hint{margin:0 0 14px;color:var(--hero-text);font-size:14px}.lock-form{display:flex;flex-direction:column;gap:10px}.lock-form input{background:rgba(255,255,255,.06);color:var(--hero-text);border:1px solid var(--hero-border);padding:12px 14px;border-radius:10px;font-size:15px;font-family:var(--font-mono);letter-spacing:.04em;text-align:center;outline:none;transition:border-color .16s ease,box-shadow .16s ease,background .16s ease}.lock-form input:focus{border-color:rgba(245,180,0,.55);box-shadow:0 0 0 3px rgba(245,180,0,.16);background:rgba(255,255,255,.08)}.lock-form .btn-primary{width:100%;padding:12px;background:linear-gradient(180deg,#3F76C0,#1F4A88);border:1px solid #5286c8;color:#fff}.lock-error{margin-top:10px;color:#ff8a7d;font-size:12px}.lock-foot{margin:22px 0 0;font-size:11px;color:var(--hero-text-muted)}.attach-btn{width:56px;height:56px;border-radius:50%;border:1px solid var(--hero-border);background:rgba(255,255,255,.06);color:var(--hero-text);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .16s ease,color .16s ease,transform .12s ease}.attach-btn:hover{background:rgba(245,180,0,.16);color:#FFD86B;border-color:rgba(245,180,0,.4)}.attach-btn:active{transform:scale(.96)}.train-toggle{background:linear-gradient(180deg,rgba(245,180,0,.22),rgba(245,180,0,.12));border:1px solid rgba(245,180,0,.45);color:#FFD86B;padding:6px 12px;border-radius:8px;font-size:12px;font-weight:500;cursor:pointer;display:inline-flex;align-items:center;gap:6px;transition:background .16s ease,border-color .16s ease}.train-toggle:hover{background:linear-gradient(180deg,rgba(245,180,0,.35),rgba(245,180,0,.18));border-color:rgba(245,180,0,.7)}.train-shell{position:fixed;inset:0;background:rgba(5,19,39,.78);z-index:200;display:flex;align-items:flex-start;justify-content:center;padding:48px 24px;overflow-y:auto;animation:lb-fade .2s ease-out;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.train-card{background:var(--bg);color:var(--ink);border-radius:18px;padding:32px;max-width:760px;width:100%;position:relative;box-shadow:0 28px 64px rgba(0,0,0,.5);animation:lb-zoom .32s cubic-bezier(.34,1.56,.64,1)}.train-close{position:absolute;top:12px;right:18px;background:transparent;border:0;font-size:28px;color:var(--ink-soft);cursor:pointer}.train-close:hover{color:var(--ink)}.train-header h2{margin:0 0 6px;font-size:22px;font-weight:600;color:var(--ink)}.train-tagline{margin:0 0 24px;color:var(--ink-muted);font-size:14px;line-height:1.5}.train-lock{display:flex;flex-direction:column;gap:10px;max-width:360px}.train-lock label{font-size:13px;color:var(--ink-muted);font-weight:500}.train-lock input{border:1px solid var(--border-strong);border-radius:10px;padding:12px 14px;font-size:15px;font-family:var(--font-mono);letter-spacing:.04em}.train-lock input:focus{outline:0;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.train-error{color:#b3261e;font-size:13px}.train-hint{margin:8px 0 0;font-size:12px;color:var(--ink-soft)}.train-hint code{font-family:var(--font-mono);background:var(--bg-alt);padding:2px 6px;border-radius:3px}.train-tabs{display:flex;gap:8px;margin-bottom:18px;border-bottom:1px solid var(--border);padding-bottom:8px}.train-tabs button{background:transparent;border:0;padding:8px 14px;font-size:14px;color:var(--ink-soft);font-weight:500;border-radius:8px;cursor:pointer}.train-tabs button.active{background:var(--accent-soft);color:var(--accent-strong)}.train-tabs button:hover{color:var(--ink)}.train-form{gap:14px}.train-form,.train-form label{display:flex;flex-direction:column}.train-form label{gap:6px;font-size:13px;color:var(--ink-muted);font-weight:500}.train-row{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px}.train-form input,.train-form select,.train-form textarea{border:1px solid var(--border-strong);border-radius:10px;padding:10px 12px;font-size:14px;font-family:inherit;color:var(--ink);background:var(--bg)}.train-form input:focus,.train-form select:focus,.train-form textarea:focus{outline:0;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.train-file-list{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.train-chip{font-size:12px;background:var(--bg-alt);border:1px solid var(--border);border-radius:999px;padding:4px 10px;color:var(--ink-muted)}.train-chip em{color:var(--ink-soft);font-style:normal}.train-submit-row{display:flex;align-items:center;gap:12px;margin-top:6px}.train-msg{font-size:13px}.train-msg.ok{color:var(--emerald)}.train-msg.err{color:var(--crimson)}.train-workflow-hint{background:var(--accent-soft);border:1px solid var(--border);border-radius:10px;padding:10px 12px;display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--ink-muted);margin-top:4px}.train-workflow-hint-row{display:flex;gap:8px;flex-wrap:wrap}.train-workflow-hint-label{color:var(--accent-strong);font-weight:600;min-width:130px}.train-db-status{display:flex;align-items:center;gap:8px;padding:8px 12px;border:1px solid var(--border);border-radius:10px;background:var(--bg-alt);margin-bottom:12px;font-size:12px;color:var(--ink-muted)}.train-db-dot{width:9px;height:9px;border-radius:50%;flex-shrink:0;background:var(--ink-soft);box-shadow:0 0 0 0 transparent}.train-db-status-checking .train-db-dot{background:#e0a800;animation:train-db-pulse 1.1s ease-in-out infinite}.train-db-status-connected{background:var(--emerald-soft);border-color:var(--emerald);color:var(--emerald)}.train-db-status-connected .train-db-dot{background:var(--emerald);animation:train-db-pulse 2.4s ease-in-out infinite}.train-db-status-error{background:var(--crimson-soft);border-color:var(--crimson);color:var(--crimson)}.train-db-status-error .train-db-dot{background:var(--crimson)}.train-db-msg{font-weight:500}.train-db-time{color:var(--ink-soft);font-family:var(--font-mono);font-size:11px;white-space:nowrap}.train-db-refresh{margin-left:auto;background:transparent;border:1px solid;color:inherit;font-size:11px;padding:3px 9px;border-radius:6px;cursor:pointer;font-family:inherit;opacity:.85}.train-db-refresh:hover:not(:disabled){opacity:1}.train-db-refresh:disabled{opacity:.4;cursor:not-allowed}@keyframes train-db-pulse{0%,to{box-shadow:0 0 0 0 currentColor;opacity:1}50%{box-shadow:0 0 0 4px transparent;opacity:.55}}.train-list{display:flex;flex-direction:column;gap:8px}.train-muted{color:var(--ink-soft);font-size:13px}.train-module{border:1px solid var(--border);border-radius:12px;background:var(--bg-alt);overflow:hidden}.train-module summary{list-style:none;cursor:pointer;padding:12px 16px;display:flex;justify-content:space-between;align-items:center;font-weight:600;color:var(--ink);text-transform:capitalize}.train-module summary::-webkit-details-marker{display:none}.train-module-count{background:var(--accent-soft);color:var(--accent-strong);padding:3px 10px;border-radius:999px;font-size:12px;font-weight:500}.train-module ul{list-style:none;margin:0;padding:0 16px 12px;display:flex;flex-direction:column;gap:8px}.train-module li{background:var(--bg);border-radius:8px;padding:10px 12px;display:flex;justify-content:space-between;gap:12px;font-size:13px;border:1px solid var(--border)}.train-notes{font-size:12px;color:var(--ink-soft);margin-top:4px}.train-hunger{display:flex;flex-direction:column;gap:10px}.train-hunger-intro{font-size:13px;color:var(--ink-muted);margin:0 0 6px;line-height:1.5}.train-hunger-row{display:flex;gap:14px;background:#fff8eb;border:1px solid #f1d28f;border-radius:12px;padding:12px 14px}.train-hunger-body{flex:1 1;min-width:0}.train-hunger-titlerow{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-bottom:4px}.train-hunger-titlerow strong{color:var(--ink);font-size:14px;margin-right:4px}.train-hunger-conf-low{background:var(--crimson-soft);color:var(--crimson);border:1px solid var(--crimson)}.train-hunger-conf-medium{background:#fef0d5;color:#a3651b;border:1px solid #d8a14a}.train-hunger-conf-other{background:var(--bg-alt);color:var(--ink-soft);border:1px solid var(--border)}.train-hunger-hits{background:var(--accent-soft);color:var(--accent-strong);border:1px solid var(--accent)}.train-hunger-botsaid{font-size:12px;color:var(--ink-soft);margin-bottom:4px}.train-hunger-label{color:var(--accent-strong);font-weight:600}.train-hunger-meta{font-size:11px;color:var(--ink-soft);font-family:var(--font-mono)}.train-hunger-meta code{background:var(--bg-alt);padding:1px 5px;border-radius:3px}.train-hunger-actions{display:flex;flex-direction:column;gap:6px;flex-shrink:0;align-items:stretch}.btn-sm{font-size:12px;padding:6px 12px;border-radius:8px}.train-hunger-banner{background:#fff8eb;border:1px solid #f1d28f;border-radius:10px;padding:10px 14px;display:flex;justify-content:space-between;gap:12px;align-items:center;font-size:13px;color:var(--ink-muted)}.train-hunger-banner strong{color:#a3651b}.train-hunger-banner-q{display:block;margin-top:2px;color:var(--ink);font-style:italic}.train-hunger-banner-meta{font-size:11px;color:var(--ink-soft);font-family:var(--font-mono)}.answer-card.is-chat{padding:0;background:transparent;border:0;box-shadow:none}.chat-bubble{background:var(--accent-soft);color:var(--ink);border:1px solid var(--border);border-radius:14px;padding:14px 18px;max-width:560px;font-size:14px;line-height:1.55}.chat-bubble-text{margin:0}.train-entry-row{align-items:flex-start}.train-entry-row.is-superseded{opacity:.55;background:repeating-linear-gradient(45deg,var(--bg),var(--bg) 8px,var(--bg-alt) 8px,var(--bg-alt) 16px)}.train-entry-row.is-pinned{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent-soft)}.train-entry-thumb{width:56px;height:56px;object-fit:cover;border-radius:6px;border:1px solid var(--border);background:var(--bg-alt);flex-shrink:0}.train-entry-body{flex:1 1;min-width:0}.train-entry-titlerow{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.train-entry-meta{font-size:11px;color:var(--ink-soft);margin-top:4px;font-family:var(--font-mono)}.train-entry-meta code{background:var(--bg-alt);padding:1px 5px;border-radius:3px}.train-entry-actions{display:flex;flex-direction:column;gap:4px;flex-shrink:0}.train-badge{font-size:10px;font-weight:600;letter-spacing:.04em;padding:2px 7px;border-radius:999px;text-transform:uppercase}.train-badge-pin{background:var(--accent-soft);color:var(--accent-strong);border:1px solid var(--accent)}.train-badge-stale{background:#f1ecec;color:var(--crimson);border:1px solid var(--crimson)}.train-badge-active{background:var(--emerald-soft);color:var(--emerald);border:1px solid var(--emerald)}.app-main{display:flex;flex-direction:column;width:100%;margin:0;padding:24px 24px 48px;gap:14px;min-height:540px;background:var(--bg);border-radius:18px;box-shadow:0 24px 56px rgba(0,0,0,.4),0 2px 6px rgba(0,0,0,.15);color:var(--ink);position:relative;align-self:start;animation:chat-slide-in .6s cubic-bezier(.34,1.56,.64,1) .1s both}.app-main:before{content:"";position:absolute;top:0;left:0;right:0;height:56px;border-radius:18px 18px 0 0;background:linear-gradient(135deg,#1F4A88,#3F76C0);pointer-events:none}.app-main>*{position:relative;z-index:1}.app-main:after{content:"EPRGenie · Cerner FirstNet";position:absolute;top:18px;left:22px;font-size:13px;font-weight:600;color:#fff;letter-spacing:.01em;z-index:2}.app-main{padding-top:70px}@keyframes chat-slide-in{0%{opacity:0;transform:translateX(-12px)}to{opacity:1;transform:translateX(0)}}.app-footer{border-top:1px solid var(--border);padding:12px 24px;background:var(--bg-alt)}.compose{position:-webkit-sticky;position:sticky;bottom:0;background:rgba(10,31,61,.7);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-top:1px solid var(--hero-border);padding:14px 24px;display:flex;flex-direction:column;gap:10px;z-index:30}.compose textarea{background:rgba(255,255,255,.05);color:var(--hero-text);border-color:var(--hero-border)}.compose textarea::placeholder{color:rgba(232,238,249,.55)}.compose textarea:focus{border-color:rgba(245,180,0,.5);box-shadow:0 0 0 3px rgba(245,180,0,.18);background:rgba(255,255,255,.08)}.mic-btn{width:56px;height:56px;border-radius:50%;border:1px solid var(--hero-border);background:rgba(255,255,255,.06);color:var(--hero-text);font-size:20px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:background .16s ease,transform .12s ease,box-shadow .2s ease;flex-shrink:0;-webkit-user-select:none;-moz-user-select:none;user-select:none}.mic-btn:hover{background:rgba(255,255,255,.1)}.mic-btn:active{transform:scale(.96)}.mic-btn[data-listening=true]{background:#c0392b;border-color:#ff6b5b;color:#fff;animation:mic-pulse 1.2s ease-in-out infinite;box-shadow:0 0 0 0 rgba(192,57,43,.6)}@keyframes mic-pulse{0%,to{box-shadow:0 0 0 0 rgba(192,57,43,.7)}50%{box-shadow:0 0 0 14px rgba(192,57,43,0)}}.mic-hint{font-size:11px;color:var(--hero-text-muted);text-align:center;max-width:880px;margin:0 auto}.compose .btn-primary{background:linear-gradient(180deg,#3F76C0,#1F4A88);border:1px solid #5286c8;color:#fff;box-shadow:0 4px 12px rgba(31,74,136,.4)}.compose .btn-primary:hover{background:linear-gradient(180deg,#5286c8,#2a5599)}.compose .btn-primary:disabled{background:rgba(255,255,255,.06);border-color:var(--hero-border);color:rgba(232,238,249,.4);box-shadow:none}.compose-row{display:flex;gap:8px;align-items:flex-end;max-width:880px;width:100%;margin:0 auto}.compose textarea{flex:1 1;min-height:56px;max-height:200px;border:1px solid var(--border-strong);border-radius:var(--radius);padding:12px 14px;font-size:15px;resize:vertical;background:var(--bg);outline:none;transition:border-color .12s ease,box-shadow .12s ease}.compose textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.btn{border:1px solid var(--border-strong);background:var(--bg);color:var(--ink);padding:10px 16px;border-radius:var(--radius);font-weight:500;font-size:14px;transition:background .12s ease,border-color .12s ease}.btn:hover{background:var(--bg-alt)}.btn-primary{background:var(--ink);color:#fff;border-color:var(--ink)}.btn-primary:hover{background:var(--accent-strong);border-color:var(--accent-strong)}.btn-primary:disabled{background:var(--border-strong);border-color:var(--border-strong);color:var(--ink-soft);cursor:not-allowed}.btn-ghost{border-color:transparent;background:transparent;color:var(--accent-strong);padding:6px 10px}.btn-ghost:hover{background:var(--accent-soft)}.attach-row{display:flex;flex-wrap:wrap;gap:6px;max-width:880px;width:100%;margin:0 auto}.attach-chip{display:inline-flex;align-items:center;gap:6px;font-size:12px;background:var(--bg-alt);border:1px solid var(--border);border-radius:999px;padding:4px 10px;color:var(--ink-muted)}.attach-chip button{background:none;border:0;color:var(--ink-soft);font-size:14px;line-height:1;padding:0 2px}.attach-chip button:hover{color:var(--crimson)}.empty{text-align:center;padding:64px 24px;color:var(--ink-soft)}.empty h1{font-size:32px;font-weight:600;background:linear-gradient(120deg,#0A2540,#2563A8 60%,#B47A00 130%);-webkit-background-clip:text;background-clip:text;color:transparent;margin:0 0 12px;letter-spacing:-.02em}.empty p{margin:0 auto 24px;max-width:480px}.empty .suggestions{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));grid-gap:8px;gap:8px;max-width:720px;margin:0 auto}.empty .suggestion{text-align:left;border:1px solid var(--border);border-radius:var(--radius);padding:12px 14px;background:var(--bg);color:var(--ink);font-size:14px;transition:border-color .12s ease,background .12s ease}.empty .suggestion:hover{border-color:var(--accent);background:var(--accent-soft)}.empty .suggestion .label{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-soft);margin-bottom:4px}.thread{display:flex;flex-direction:column;gap:16px}.bubble{max-width:85%;border-radius:var(--radius-lg);padding:12px 16px;font-size:15px;line-height:1.55}.bubble.user{align-self:flex-end;background:var(--ink);color:#fff;border-bottom-right-radius:6px}.bubble.assistant{align-self:flex-start;background:var(--bg-alt);border:1px solid var(--border);border-bottom-left-radius:6px;width:100%;max-width:100%}.bubble .attachments{margin-top:8px;display:flex;gap:8px;flex-wrap:wrap}.bubble .attachments img{max-width:200px;max-height:140px;border-radius:var(--radius-sm);border:1px solid rgba(255,255,255,.2)}.answer-card{display:flex;flex-direction:column;gap:14px}.answer-card .quick-answer{font-size:16px;font-weight:500;color:var(--ink);line-height:1.5}.answer-card .section{border-top:1px solid var(--border);padding-top:12px}.answer-card .section-label{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-soft);margin-bottom:8px;font-weight:600}.answer-card ol,.answer-card ul{margin:0;padding-left:20px;color:var(--ink)}.answer-card ol li,.answer-card ul li{margin-bottom:6px}.answer-card .red-flag{background:var(--amber-soft);border-left:3px solid var(--amber);padding:10px 12px;border-radius:var(--radius-sm);color:#5a3a07;font-size:14px}.answer-card .red-flag.severe{background:var(--crimson-soft);border-left-color:var(--crimson);color:#6a1410}.answer-card .footer{display:flex;flex-wrap:wrap;gap:12px;align-items:center;font-size:12px;color:var(--ink-soft);border-top:1px solid var(--border);padding-top:10px}.answer-card .footer .pill{background:var(--accent-soft);color:var(--accent-strong);padding:2px 8px;border-radius:999px;font-weight:500}.answer-card .footer .pill.confidence-high{background:var(--emerald-soft);color:var(--emerald)}.answer-card .footer .pill.confidence-medium{background:var(--amber-soft);color:var(--amber)}.answer-card .footer .pill.confidence-low{background:var(--crimson-soft);color:var(--crimson)}.answer-card .citations{font-family:var(--font-mono);font-size:11px;color:var(--ink-soft)}.answer-card .citations span{display:inline-block;padding:2px 6px;margin:2px 4px 0 0;background:var(--bg-alt);border:1px solid var(--border);border-radius:var(--radius-sm)}.dropzone-overlay{position:fixed;inset:0;background:rgba(10,37,64,.65);display:flex;align-items:center;justify-content:center;z-index:100;pointer-events:none;opacity:0;transition:opacity .12s ease}.dropzone-overlay.active{opacity:1;pointer-events:auto}.dropzone-overlay .panel{background:#fff;border:2px dashed var(--accent);border-radius:var(--radius-lg);padding:48px 64px;text-align:center;color:var(--ink);font-weight:500;font-size:18px}.thinking{display:inline-flex;gap:4px}.thinking span{width:6px;height:6px;border-radius:50%;background:var(--ink-soft);animation:blink 1.2s infinite}.thinking span:nth-child(2){animation-delay:.2s}.thinking span:nth-child(3){animation-delay:.4s}@keyframes blink{0%,80%,to{opacity:.3}40%{opacity:1}}.disclaimer{max-width:880px;margin:0 auto;font-size:12px;color:var(--ink-soft);text-align:center}.disclaimer strong{color:var(--ink-muted)}.step-list{gap:16px;margin-top:8px}.step-card,.step-list{display:flex;flex-direction:column}.step-card{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);padding:14px;gap:10px;box-shadow:var(--shadow-sm)}.step-header{display:flex;align-items:center;gap:10px}.step-header h4{margin:0;font-size:15px;color:var(--ink);font-weight:600;flex:1 1}.step-num{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;background:var(--ink);color:#fff;font-weight:700;font-size:13px;flex-shrink:0}.surface-pill{font-size:11px;font-family:var(--font-mono);background:var(--accent-soft);color:var(--accent-strong);padding:2px 8px;border-radius:999px;text-transform:lowercase}.step-body{margin:0;font-size:14px;line-height:1.5;color:var(--ink)}.step-body strong{font-weight:600;color:var(--accent-strong);background:var(--accent-soft);padding:0 4px;border-radius:3px}.step-rfc{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:4px}.step-rfc li{background:var(--amber-soft);border-left:3px solid var(--amber);padding:6px 10px;border-radius:var(--radius-sm);color:#5a3a07;font-size:13px}.step-illustration{margin:0;display:flex;flex-direction:column;gap:4px}.illustration-canvas{position:relative;width:100%;aspect-ratio:1280/800;background:#0d2b58;border-radius:var(--radius-sm);overflow:hidden;border:1px solid var(--border-strong)}.illustration-camera{position:absolute;inset:0;transform-origin:50% 50%;transition:transform .7s cubic-bezier(.4,0,.2,1);will-change:transform}.spotlight{position:absolute;inset:0;pointer-events:none;transition:background .7s ease;z-index:5}.pin.is-dim{opacity:.55;transition:opacity .4s ease}.pin.is-dim .pin-callout{display:none}.pin.is-active{opacity:1;z-index:6;transition:opacity .2s ease}.pin.is-active .pin-dot{transform:scale(1.2);box-shadow:0 0 0 4px rgba(255,255,255,.95),0 0 0 8px rgba(192,57,43,.4),0 4px 8px rgba(0,0,0,.5)}.pin.is-active .pin-callout{font-size:13px;font-weight:600;background:rgba(192,57,43,.95)}.pin-pulse{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:26px;height:26px;border-radius:50%;background:rgba(192,57,43,.4);animation:pin-ring 1.4s ease-out infinite;pointer-events:none}@keyframes pin-ring{0%{transform:translate(-50%,-50%) scale(.6);opacity:.9}to{transform:translate(-50%,-50%) scale(3.2);opacity:0}}.illustration-canvas img,.illustration-canvas object{width:100%;height:100%;display:block;object-fit:contain;pointer-events:none}.illustration-overlay{position:absolute;inset:0;pointer-events:none}.pin{position:absolute;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;pointer-events:auto}.pin.callout-above{flex-direction:column-reverse}.pin.callout-above .pin-callout{margin-top:0;margin-bottom:4px}.pin-dot{width:26px;height:26px;border-radius:50%;background:#c0392b;color:#fff;font-weight:700;font-size:13px;display:flex;align-items:center;justify-content:center;box-shadow:0 0 0 3px rgba(255,255,255,.85),0 2px 4px rgba(0,0,0,.4);position:relative;animation:pin-pop .4s ease}.pin-dot:before{content:"";position:absolute;top:-22px;left:-20px;width:28px;height:28px;border-top:2.5px solid #c0392b;border-left:2.5px solid #c0392b;border-top-left-radius:4px;pointer-events:none}.pin-callout{margin-top:4px;background:rgba(13,43,88,.92);color:#fff;font-size:11px;font-weight:500;padding:3px 8px;border-radius:var(--radius-sm);white-space:nowrap;max-width:200px;overflow:hidden;text-overflow:ellipsis;box-shadow:0 2px 6px rgba(0,0,0,.25)}@keyframes pin-pop{0%{transform:scale(.4);opacity:0}60%{transform:scale(1.15)}to{transform:scale(1);opacity:1}}.step-illustration figcaption{font-size:11px;color:var(--ink-soft);font-style:italic}.bot-speech{display:flex;flex-direction:column;gap:14px}.bot-prose{margin:0;font-size:15px;line-height:1.6;color:var(--ink);transition:background .28s ease;border-radius:var(--radius-sm);padding:8px 10px}.bot-prose.is-active{background:linear-gradient(90deg,rgba(245,180,0,.12),rgba(245,180,0,.04));border-left:3px solid #f5b400;padding-left:12px}.bubble-illustration.is-active{outline:2px solid rgba(245,180,0,.55);outline-offset:4px;border-radius:var(--radius)}.bot-prose strong{font-weight:600;color:var(--accent-strong);background:var(--accent-soft);padding:0 4px;border-radius:3px}.bot-prose code{font-family:var(--font-mono);font-size:13px;background:var(--bg-alt);padding:1px 5px;border-radius:3px;color:var(--ink-muted)}.answer-summary{margin:0 0 12px;font-size:16px;font-weight:500;line-height:1.5;color:var(--ink)}.scene-player{display:flex;flex-direction:column;gap:12px;border-radius:var(--radius-lg);box-shadow:0 14px 32px rgba(10,37,64,.4)}.scene-canvas,.scene-player{background:#0d2b58;overflow:hidden}.scene-canvas{position:relative;width:100%;aspect-ratio:1280/800}.scene-camera{position:absolute;inset:0;transform-origin:50% 50%;transition:transform .7s cubic-bezier(.34,1.16,.64,1);will-change:transform}.scene-base{inset:0;width:100%;height:100%;display:block;object-fit:contain}.scene-base,.scene-target{position:absolute;pointer-events:none}.scene-target{z-index:4;animation:scene-target-in .38s cubic-bezier(.34,1.56,.64,1)}@keyframes scene-target-in{0%{opacity:0;transform:scale(.94)}to{opacity:1;transform:scale(1)}}.scene-target-ring{position:absolute;inset:0;border:3px solid #f5b400;border-radius:6px;box-shadow:0 0 0 3px rgba(245,180,0,.25),0 0 18px rgba(245,180,0,.55),inset 0 0 14px rgba(245,180,0,.2);animation:scene-target-pulse 2.2s ease-in-out infinite}@keyframes scene-target-pulse{0%,to{box-shadow:0 0 0 3px rgba(245,180,0,.2),0 0 14px rgba(245,180,0,.45),inset 0 0 12px rgba(245,180,0,.15)}50%{box-shadow:0 0 0 5px rgba(245,180,0,.34),0 0 24px rgba(245,180,0,.7),inset 0 0 18px rgba(245,180,0,.3)}}.scene-target-label{top:-32px;background:#F5B400;color:#0a2540;font-size:12px;font-weight:700;letter-spacing:.02em;padding:5px 10px;border-radius:6px;white-space:nowrap;box-shadow:0 4px 10px rgba(0,0,0,.45)}.scene-target-label,.scene-target-label:after{position:absolute;left:50%;transform:translateX(-50%)}.scene-target-label:after{content:"";bottom:-5px;border-left:6px solid transparent;border-right:6px solid transparent;border-top:6px solid #f5b400}.scene-target-zoom .scene-target-ring{border-color:#ffffff;box-shadow:0 0 0 3px rgba(255,255,255,.3),0 0 22px rgba(255,255,255,.5);animation:scene-zoom-pulse 1.6s ease-in-out infinite}@keyframes scene-zoom-pulse{0%,to{box-shadow:0 0 0 3px rgba(255,255,255,.3),0 0 22px rgba(255,255,255,.5)}50%{box-shadow:0 0 0 6px rgba(255,255,255,.45),0 0 32px rgba(255,255,255,.7)}}.scene-dim{position:absolute;inset:0;background:rgba(5,19,39,.62);pointer-events:none;z-index:3;transition:-webkit-clip-path .7s cubic-bezier(.4,0,.2,1);transition:clip-path .7s cubic-bezier(.4,0,.2,1);transition:clip-path .7s cubic-bezier(.4,0,.2,1),-webkit-clip-path .7s cubic-bezier(.4,0,.2,1)}.scene-controls{display:flex;gap:10px;padding:10px 14px;background:rgba(5,19,39,.85)}.scene-controls,.scene-ctrl-btn{align-items:center;color:var(--hero-text)}.scene-ctrl-btn{width:36px;height:36px;border-radius:50%;border:1px solid var(--hero-border);background:rgba(255,255,255,.08);cursor:pointer;display:inline-flex;justify-content:center;transition:background .16s ease,transform .12s ease}.scene-ctrl-btn:hover{background:rgba(255,255,255,.15)}.scene-ctrl-btn:active{transform:scale(.94)}.scene-ctrl-btn:disabled{opacity:.35;cursor:not-allowed}.scene-ctrl-btn.scene-play{background:rgba(245,180,0,.22);border-color:rgba(245,180,0,.45);color:#FFD86B}.scene-ctrl-btn.scene-play:hover{background:rgba(245,180,0,.35)}.scene-counter{margin-left:auto;font-size:12px;color:var(--hero-text-muted);font-weight:500;letter-spacing:.02em}.scene-counter-label{color:var(--hero-text);font-weight:600}.scene-narration{background:var(--bg);color:var(--ink);padding:14px 20px 16px}.scene-narration p{margin:0;font-size:16px;line-height:1.55;color:var(--ink)}.scene-player.chat-mode{background:transparent;box-shadow:none;display:flex;flex-direction:column;gap:18px}.chat-mode-banner{background:var(--accent-soft);color:var(--accent-strong);border:1px solid var(--border);border-radius:var(--radius);padding:10px 14px;font-size:13px;font-weight:500}.chat-scene{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-lg);padding:14px;display:flex;flex-direction:column;gap:12px;box-shadow:var(--shadow-sm);animation:chat-scene-in .32s ease-out both}@keyframes chat-scene-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.chat-scene-header{display:flex;align-items:center;gap:10px;font-size:14px;color:var(--ink)}.chat-scene-num{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;background:var(--ink);color:#fff;font-weight:700;font-size:13px;flex-shrink:0}.chat-scene-canvas{position:relative;width:100%;aspect-ratio:1280/800;background:#0d2b58;border-radius:var(--radius);overflow:hidden;border:1px solid var(--border-strong)}.chat-scene-canvas .scene-target,.chat-scene-canvas .scene-target-ring{animation:none!important}.chat-scene-narration{margin:0;font-size:15px;line-height:1.55;color:var(--ink);background:var(--bg-alt);padding:12px 14px;border-radius:var(--radius);border-left:3px solid var(--accent)}.active-stage{position:-webkit-sticky;position:sticky;top:8px;z-index:4;margin:0 -8px 14px;padding:8px;background:linear-gradient(180deg,rgba(10,31,61,.04),transparent);border-radius:var(--radius)}.active-stage-zoom{display:block;width:100%;background:transparent;border:0;padding:0;cursor:zoom-in;border-radius:var(--radius);overflow:hidden;box-shadow:0 8px 24px rgba(10,37,64,.18);transition:transform .2s ease,box-shadow .2s ease}.active-stage-zoom:hover{transform:translateY(-1px);box-shadow:0 12px 32px rgba(10,37,64,.25)}.active-stage .step-illustration{border-radius:var(--radius);overflow:hidden}.active-stage-caption{margin-top:8px;display:flex;align-items:center;flex-wrap:wrap;gap:10px;font-size:14px;color:var(--ink);font-weight:500;line-height:1.4}.active-stage-caption strong{font-weight:600}.step-marker{display:inline-flex;align-items:center;gap:10px;padding:8px 14px;background:var(--bg-alt);border:1px solid var(--border);border-radius:999px;font-size:13px;color:var(--ink-muted);font-weight:500;align-self:flex-start;line-height:1.3;transition:background .2s ease,color .2s ease,border-color .2s ease}.step-marker.is-active{background:var(--accent-soft);border-color:var(--accent);color:var(--accent-strong);font-weight:600}.bubble-illustration{margin:4px 0;display:flex;flex-direction:column;gap:8px;animation:bubble-pop .36s cubic-bezier(.34,1.56,.64,1) both;transform-origin:top left}@keyframes bubble-pop{0%{opacity:0;transform:scale(.85) translateX(-12px)}70%{opacity:1;transform:scale(1.02)}to{opacity:1;transform:scale(1)}}.bubble-zoom-btn{position:relative;background:transparent;border:0;padding:0;width:100%;cursor:zoom-in;display:block}.bubble-zoom-btn .step-illustration{border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);transition:box-shadow .2s ease,transform .2s ease}.bubble-zoom-btn:hover .step-illustration{box-shadow:var(--shadow-lg);transform:translateY(-1px)}.bubble-tail{position:absolute;left:-10px;top:28px;width:0;height:0;border-top:10px solid transparent;border-bottom:10px solid transparent;border-right:12px solid var(--bg);filter:drop-shadow(-1px 0 0 var(--border-strong))}.bubble-illustration figcaption{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--ink-muted);font-style:normal}.step-num-inline{display:inline-flex;width:22px;height:22px;border-radius:50%;background:var(--ink);color:#fff;font-weight:700;font-size:12px}.lightbox,.step-num-inline{align-items:center;justify-content:center}.lightbox{position:fixed;inset:0;background:rgba(10,37,64,.78);display:flex;z-index:200;padding:32px;animation:lb-fade .18s ease-out}@keyframes lb-fade{0%{opacity:0}to{opacity:1}}.lightbox-inner{background:#fff;border-radius:var(--radius-lg);padding:16px;max-width:min(1280px,96vw);max-height:96vh;width:100%;display:flex;flex-direction:column;gap:12px;position:relative;animation:lb-zoom .28s cubic-bezier(.34,1.56,.64,1)}@keyframes lb-zoom{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}.lightbox-canvas{flex:1 1;display:flex;align-items:center;justify-content:center;overflow:hidden}.lightbox-canvas .step-illustration{width:100%;max-height:75vh}.lightbox-canvas .illustration-canvas{max-height:75vh}.lightbox-canvas .pin-dot{width:32px;height:32px;font-size:15px}.lightbox-canvas .pin-callout{font-size:13px}.lightbox-caption{display:flex;flex-direction:column;gap:4px;font-size:14px;color:var(--ink)}.lightbox-caption strong{font-size:16px;margin-left:2px}.lightbox-close{position:absolute;top:8px;right:12px;background:transparent;border:0;font-size:28px;line-height:1;color:var(--ink-soft);cursor:pointer;padding:4px 8px}.lightbox-close:hover{color:var(--ink)}