:root{--paper:#080d1a;--paper-raised:#0d1527;--bg-card:#0f1a2e;--bg-card-hover:#141f36;--ink:#f0f4ff;--ink-soft:#8b9ab5;--ink-faint:#445068;--accent:#3b82f6;--accent-soft:#3b82f61f;--accent-glow:#3b82f647;--accent-deep:#2563eb;--line:#ffffff12;--line-strong:#ffffff21;--gold:#f59e0b;--danger:#f87171;--green:#34d399;--radius:10px;--maxw:1080px;--serif:"Fraunces", Georgia, serif;--sans:"Inter Tight", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--surface:var(--paper-raised);--surface-raised:var(--paper);--text:var(--ink)}*{box-sizing:border-box;margin:0;padding:0}html,body{height:100%}body{background:var(--paper);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;background-image:radial-gradient(80% 40% at 50% -5%,#3b82f62e 0%,#0000 70%),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='60' height='52'%3E%3Cpolygon points='30,1 59,17 59,47 30,63 1,47 1,17' fill='none' stroke='rgba(59%2C130%2C246%2C0.07)' stroke-width='1'/%3E%3C/svg%3E");font-size:16px;line-height:1.6}a{color:var(--accent);text-decoration:none}a:hover{color:#60a5fa}.wrap{max-width:var(--maxw);margin:0 auto;padding:0 28px}.narrow{max-width:760px}.pilotbar{color:#93c5fd;text-align:center;letter-spacing:.06em;background:#3b82f626;border-bottom:1px solid #3b82f640;padding:6px;font-size:12px;font-weight:500}.pilotbar strong{color:#bfdbfe}.topbar{border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(16px);z-index:50;background:#080d1ad9;position:sticky;top:0}.topbar-inner{justify-content:space-between;align-items:center;height:64px;display:flex}.brand{font-family:var(--serif);letter-spacing:-.02em;color:var(--ink);align-items:baseline;gap:10px;font-size:22px;font-weight:700;display:flex}.brand .dot{color:var(--accent)}.brand .tag{font-family:var(--sans);text-transform:uppercase;letter-spacing:.18em;color:var(--ink-faint);font-size:11px;font-weight:600}.topnav{gap:28px;font-size:14px;font-weight:500;display:flex}.topnav a{color:var(--ink-soft);transition:color .15s}.topnav a:hover{color:var(--ink)}.hero{border-bottom:1px solid var(--line);padding:96px 0 64px;position:relative}.eyebrow{text-transform:uppercase;letter-spacing:.22em;color:var(--accent);margin-bottom:22px;font-size:11px;font-weight:700}.hero h1{font-family:var(--serif);letter-spacing:-.025em;max-width:18ch;color:var(--ink);font-size:clamp(40px,6vw,68px);font-weight:700;line-height:1.01}.hero h1 em{color:var(--accent);background:linear-gradient(90deg,#3b82f6,#60a5fa);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-style:italic}.hero p{color:var(--ink-soft);max-width:54ch;margin-top:24px;font-size:18px;line-height:1.65}.stat-row{flex-wrap:wrap;gap:44px;margin-top:44px;display:flex}.stat .n{font-family:var(--serif);color:var(--ink);font-size:36px;font-weight:700;line-height:1}.stat .l{color:var(--ink-faint);text-transform:uppercase;letter-spacing:.12em;margin-top:4px;font-size:12px}.section{padding:64px 0}.section-head{justify-content:space-between;align-items:baseline;margin-bottom:32px;display:flex}.section-head h2{font-family:var(--serif);letter-spacing:-.02em;color:var(--ink);font-size:30px;font-weight:700}.section-head .meta{color:var(--ink-faint);font-size:13px}.grid{grid-template-columns:repeat(2,1fr);gap:16px;display:grid}@media (max-width:720px){.grid{grid-template-columns:1fr}}.card{background:var(--bg-card);border:1px solid var(--line);border-radius:var(--radius);padding:28px 28px 24px;transition:transform .18s,box-shadow .18s,border-color .18s,background .18s;display:block;position:relative;overflow:hidden}.card:before{content:"";opacity:0;pointer-events:none;background:linear-gradient(135deg,#3b82f60f 0%,#0000 60%);transition:opacity .2s;position:absolute;inset:0}.card:hover{background:var(--bg-card-hover);border-color:#3b82f659;transform:translateY(-3px);box-shadow:0 16px 48px -16px #3b82f659}.card:hover:before{opacity:1}.card .num{text-transform:uppercase;letter-spacing:.16em;color:var(--accent);margin-bottom:4px;font-size:11px;font-weight:700}.card h3{font-family:var(--serif);letter-spacing:-.01em;color:var(--ink);margin:8px 0 10px;font-size:20px;font-weight:700;line-height:1.2}.card p{color:var(--ink-soft);font-size:14px;line-height:1.55}.card .foot{color:var(--ink-faint);text-transform:uppercase;letter-spacing:.1em;align-items:center;gap:10px;margin-top:18px;font-size:12px;display:flex}.badge{text-transform:uppercase;letter-spacing:.12em;background:var(--accent-soft);color:#93c5fd;border:1px solid #3b82f633;border-radius:100px;padding:3px 9px;font-size:10px;font-weight:700;display:inline-block}.badge.exec{color:#fcd34d;background:#f59e0b1f;border-color:#f59e0b33}.btn{background:var(--accent);color:#fff;border-radius:var(--radius);font-family:var(--sans);cursor:pointer;border:none;align-items:center;gap:8px;padding:13px 26px;font-size:15px;font-weight:600;transition:background .15s,box-shadow .15s;display:inline-flex;box-shadow:0 4px 20px -6px #3b82f680}.btn:hover{background:var(--accent-deep);color:#fff;box-shadow:0 6px 28px -6px #3b82f6a6}.btn.ghost{color:var(--ink-soft);border:1px solid var(--line-strong);box-shadow:none;background:0 0}.btn.ghost:hover{color:var(--ink);background:var(--accent-soft);border-color:#3b82f666}.btn.done{background:var(--gold);box-shadow:0 4px 20px -6px #f59e0b66}.btn:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}.lesson-head{border-bottom:1px solid var(--line);padding:52px 0 32px}.crumb{color:var(--ink-faint);margin-bottom:18px;font-size:13px}.crumb a{color:var(--ink-soft)}.crumb a:hover{color:var(--ink)}.lesson-head h1{font-family:var(--serif);letter-spacing:-.02em;color:var(--ink);font-size:clamp(32px,4.5vw,46px);font-weight:700;line-height:1.08}.lesson-head .sub{color:var(--ink-faint);gap:16px;margin-top:14px;font-size:14px;display:flex}.lesson-list{border-top:1px solid var(--line)}.lesson-row{border-bottom:1px solid var(--line);border-radius:4px;align-items:center;gap:18px;padding:18px 4px;transition:background .12s;display:flex}.lesson-row:hover{background:var(--bg-card)}.lesson-row .ln{color:var(--accent);width:28px;font-size:14px;font-weight:700;font-family:var(--sans)}.lesson-row .lt{color:var(--ink);flex:1;font-size:16px;font-weight:500}.lesson-row .lm{color:var(--ink-faint);font-size:13px}.lesson-row .chk{border:1.5px solid var(--line-strong);border-radius:50%;flex-shrink:0;place-items:center;width:18px;height:18px;display:grid}.lesson-row .chk.done{background:var(--accent);border-color:var(--accent);color:#fff;font-size:11px}.prose{color:var(--ink);padding:40px 0 24px;font-size:17px;line-height:1.75}.prose h1{font-family:var(--serif);letter-spacing:-.02em;color:var(--ink);margin:44px 0 14px;font-size:30px;font-weight:700}.prose h2{font-family:var(--serif);color:var(--ink);margin:40px 0 12px;padding-top:8px;font-size:24px;font-weight:700}.prose h3{color:var(--ink);margin:28px 0 10px;font-size:18px;font-weight:700}.prose p{color:var(--ink-soft);margin:16px 0}.prose ul,.prose ol{margin:16px 0 16px 26px}.prose li{color:var(--ink-soft);margin:8px 0}.prose strong{color:var(--ink);font-weight:700}.prose em{color:var(--ink-soft);font-style:italic}.prose blockquote{border-left:3px solid var(--accent);background:var(--accent-soft);border-radius:0 var(--radius) var(--radius) 0;margin:24px 0;padding:14px 20px}.prose blockquote p{color:#93c5fd;margin:6px 0;font-size:16px}.prose code{color:#93c5fd;background:#3b82f61a;border:1px solid #3b82f626;border-radius:4px;padding:2px 6px;font-family:SF Mono,Cascadia Code,Menlo,monospace;font-size:.84em}.prose pre{border:1px solid var(--line);color:#cbd5e1;border-radius:var(--radius);background:#070c18;margin:24px 0;padding:20px 22px;font-size:14px;line-height:1.6;overflow-x:auto}.prose pre code{color:inherit;background:0 0;border:none;padding:0}.prose hr{border:none;border-top:1px solid var(--line);margin:36px 0}.prose table{border-collapse:collapse;width:100%;margin:24px 0;font-size:14.5px}.prose th,.prose td{border:1px solid var(--line);text-align:left;padding:10px 14px}.prose th{background:var(--bg-card);color:var(--ink);font-weight:600}.prose td{color:var(--ink-soft)}.prose a{color:var(--accent);-webkit-text-decoration:underline #3b82f64d;text-decoration:underline #3b82f64d}.quiz{background:var(--bg-card);border:1px solid var(--line);border-radius:var(--radius);margin:44px 0;padding:32px}.quiz h3{font-family:var(--serif);color:var(--ink);margin-bottom:4px;font-size:22px;font-weight:700}.quiz .qsub{color:var(--ink-faint);text-transform:uppercase;letter-spacing:.12em;margin-bottom:26px;font-size:12px}.q{border-top:1px solid var(--line);margin:24px 0;padding-top:24px}.q:first-of-type{border-top:none;padding-top:0}.q .qt{color:var(--ink);margin-bottom:14px;font-size:16px;font-weight:600}.q .qt span{color:var(--accent);font-family:var(--serif);margin-right:8px}.opt{text-align:left;background:var(--paper-raised);border:1px solid var(--line);border-radius:var(--radius);width:100%;font-size:15px;font-family:var(--sans);color:var(--ink-soft);cursor:pointer;margin:8px 0;padding:12px 16px;transition:all .15s;display:block}.opt:hover{color:var(--ink);background:var(--accent-soft);border-color:#3b82f666}.opt.correct{border-color:var(--green);color:var(--green);background:#34d3991a;font-weight:600}.opt.wrong{border-color:var(--danger);color:var(--danger);background:#f871711a}.opt.disabled{cursor:default;opacity:.65}.opt.disabled:hover{border-color:var(--line);background:var(--paper-raised);color:var(--ink-soft)}.expl{border-radius:var(--radius);color:#6ee7b7;background:#34d39914;border:1px solid #34d39933;margin-top:12px;padding:12px 16px;font-size:14px}.expl.miss{color:var(--danger);background:#f8717114;border-color:#f8717133}.lesson-nav{border-top:1px solid var(--line);justify-content:space-between;gap:16px;margin-top:32px;padding:32px 0 64px;display:flex}.lesson-nav a{flex:1;max-width:48%}.navcard{border:1px solid var(--line);border-radius:var(--radius);background:var(--bg-card);padding:18px 20px;transition:border-color .15s,background .15s}.navcard:hover{background:var(--bg-card-hover);border-color:#3b82f666}.navcard .dir{text-transform:uppercase;letter-spacing:.14em;color:var(--ink-faint);font-size:11px}.navcard .t{color:var(--ink);margin-top:5px;font-size:15px;font-weight:600}.navcard.next{text-align:right}.actionbar{flex-wrap:wrap;align-items:center;gap:16px;padding:24px 0;display:flex}.footer{border-top:1px solid var(--line);color:var(--ink-faint);flex-wrap:wrap;justify-content:space-between;gap:12px;margin-top:40px;padding:36px 0;font-size:13px;display:flex}.agent-card-head{justify-content:space-between;align-items:flex-start;margin-bottom:6px;display:flex}.agent-capabilities{color:var(--ink-soft);margin:14px 0 0;font-size:13px;list-style:none}.agent-capabilities li{border-top:1px solid var(--line);padding:5px 0}.agent-capabilities li:before{content:"→ ";color:var(--accent);font-weight:600}.agent-capabilities.full li{padding:7px 0}.agent-layout{grid-template-columns:272px 1fr;align-items:start;gap:32px;display:grid}@media (max-width:860px){.agent-layout{grid-template-columns:1fr}}.agent-sidebar{background:var(--bg-card);border:1px solid var(--line);border-radius:var(--radius);padding:24px;position:sticky;top:80px}.sidebar-section{border-bottom:1px solid var(--line);margin-bottom:22px;padding-bottom:22px}.sidebar-section:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.sidebar-label{text-transform:uppercase;letter-spacing:.18em;color:var(--ink-faint);margin-bottom:10px;font-size:10px;font-weight:700}.sidebar-text{color:var(--ink-soft);font-size:13px;line-height:1.6}.agent-chat-container{flex-direction:column;min-height:70vh;display:flex}.agent-chat{background:var(--bg-card);border:1px solid var(--line);border-radius:var(--radius);flex-direction:column;height:70vh;display:flex;position:relative;overflow:hidden}.chat-messages{flex-direction:column;flex:1;gap:22px;padding:28px;display:flex;overflow-y:auto}.chat-welcome{text-align:center;padding:48px 20px}.chat-welcome h3{font-family:var(--serif);color:var(--ink-soft);margin-bottom:8px;font-size:22px;font-weight:700}.chat-welcome-hint{color:var(--ink-faint);margin:0 0 20px;font-size:13px}.example-prompts{flex-direction:column;gap:8px;max-width:540px;margin:0 auto;display:flex}.example-prompt{background:var(--paper-raised);border:1px solid var(--line);border-radius:var(--radius);color:var(--ink-soft);cursor:pointer;text-align:left;font-size:14px;font-family:var(--sans);padding:10px 16px;transition:border-color .14s,background .14s,color .14s}.example-prompt:hover{background:var(--accent-soft);color:#93c5fd;border-color:#3b82f666}.chat-message{flex-direction:column;gap:5px;display:flex}.chat-message.user{align-items:flex-end}.chat-message.assistant{align-items:flex-start}.message-role{text-transform:uppercase;letter-spacing:.16em;color:var(--ink-faint);font-size:10px;font-weight:700}.message-content{background:var(--paper-raised);border:1px solid var(--line);border-radius:var(--radius);max-width:82%;color:var(--ink-soft);white-space:pre-wrap;padding:13px 17px;font-size:14.5px;line-height:1.7}.chat-message.user .message-content{background:var(--accent-soft);color:#bfdbfe;border-color:#3b82f640}.chat-error{color:var(--danger);border-radius:var(--radius);background:#f8717114;border:1px solid #f8717140;padding:12px 16px;font-size:14px}.typing{align-items:center;gap:5px;padding:4px 2px;display:flex}.dot{background:var(--ink-faint);border-radius:50%;width:6px;height:6px;animation:1.2s ease-in-out infinite pulse}.dot:nth-child(2){animation-delay:.2s}.dot:nth-child(3){animation-delay:.4s}@keyframes pulse{0%,80%,to{opacity:.3;transform:scale(.8)}40%{opacity:1;transform:scale(1)}}.chat-form{border-top:1px solid var(--line);background:var(--paper);align-items:flex-end;gap:10px;padding:14px 16px;display:flex}.chat-form textarea{resize:none;border:1px solid var(--line);border-radius:var(--radius);font-family:var(--sans);background:var(--bg-card);color:var(--ink);flex:1;padding:10px 14px;font-size:15px;line-height:1.5;transition:border-color .14s}.chat-form textarea::placeholder{color:var(--ink-faint)}.chat-form textarea:focus{border-color:#3b82f673;outline:none}.chat-form textarea:disabled{opacity:.5}.attach-btn{background:var(--bg-card);border:1px solid var(--line);border-radius:var(--radius);cursor:pointer;color:var(--ink-soft);flex-shrink:0;align-items:center;height:42px;padding:8px 11px;font-size:18px;transition:border-color .14s,background .14s;display:flex}.attach-btn:hover{background:var(--accent-soft);border-color:#3b82f666}.drag-active{border-color:var(--accent)!important}.drag-overlay{z-index:20;border:2px dashed var(--accent);border-radius:var(--radius);pointer-events:none;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#080d1ab3;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.drag-overlay-inner{text-align:center;color:#93c5fd;font-size:18px;font-weight:700}.drag-icon{margin-bottom:10px;font-size:44px}.drag-hint{color:var(--ink-faint);letter-spacing:.06em;margin-top:6px;font-size:12px;font-weight:500}.file-staging{background:var(--paper);border-top:1px solid var(--line);flex-wrap:wrap;gap:8px;padding:10px 16px 0;display:flex}.attachment-chip{border:1px solid var(--line);background:var(--bg-card);color:var(--ink-soft);border-radius:100px;align-items:center;gap:5px;max-width:280px;padding:4px 10px;font-size:12px;display:inline-flex;overflow:hidden}.attachment-chip.sent{background:var(--accent-soft);color:#93c5fd;border-color:#3b82f64d;font-weight:500}.attachment-chip.staging.uploading{opacity:.65}.attachment-chip.staging.error{color:var(--danger);background:#f8717114;border-color:#f8717159}.attachment-chip.staging.ready{color:var(--green);background:#34d39914;border-color:#34d3994d}.chip-name{text-overflow:ellipsis;white-space:nowrap;max-width:160px;overflow:hidden}.chip-size{color:var(--ink-faint);flex-shrink:0;font-size:11px}.chip-errmsg{color:var(--danger);font-size:11px}.chip-remove{cursor:pointer;color:inherit;opacity:.55;background:0 0;border:none;flex-shrink:0;padding:0 0 0 2px;font-size:16px;line-height:1}.chip-remove:hover{opacity:1}.chip-err{color:var(--danger);font-weight:700}.chip-spinner{border:2px solid var(--line-strong);border-top-color:var(--accent);border-radius:50%;flex-shrink:0;width:12px;height:12px;animation:.65s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.message-attachments{flex-wrap:wrap;gap:6px;margin-bottom:7px;display:flex}
