@font-face{font-family:Space Grotesk;src:url(/fonts/SpaceGrotesk-Regular.ttf) format("truetype");font-weight:400;font-display:swap}@font-face{font-family:Space Grotesk;src:url(/fonts/SpaceGrotesk-Medium.ttf) format("truetype");font-weight:500;font-display:swap}@font-face{font-family:Space Grotesk;src:url(/fonts/SpaceGrotesk-SemiBold.ttf) format("truetype");font-weight:600;font-display:swap}@font-face{font-family:Space Grotesk;src:url(/fonts/SpaceGrotesk-Bold.ttf) format("truetype");font-weight:700;font-display:swap}@font-face{font-family:Hanken Grotesk;src:url(/fonts/HankenGrotesk-Regular.ttf) format("truetype");font-weight:400;font-display:swap}@font-face{font-family:Hanken Grotesk;src:url(/fonts/HankenGrotesk-Medium.ttf) format("truetype");font-weight:500;font-display:swap}@font-face{font-family:Hanken Grotesk;src:url(/fonts/HankenGrotesk-SemiBold.ttf) format("truetype");font-weight:600;font-display:swap}@font-face{font-family:Hanken Grotesk;src:url(/fonts/HankenGrotesk-Bold.ttf) format("truetype");font-weight:700;font-display:swap}@font-face{font-family:Hanken Grotesk;src:url(/fonts/HankenGrotesk-ExtraBold.ttf) format("truetype");font-weight:800;font-display:swap}@font-face{font-family:IBM Plex Mono;src:url(/fonts/IBMPlexMono-Regular.ttf) format("truetype");font-weight:400;font-display:swap}@font-face{font-family:IBM Plex Mono;src:url(/fonts/IBMPlexMono-Medium.ttf) format("truetype");font-weight:500;font-display:swap}@font-face{font-family:IBM Plex Mono;src:url(/fonts/IBMPlexMono-SemiBold.ttf) format("truetype");font-weight:600;font-display:swap}:root{--navy: #161E54;--navy-80: rgba(22,30,84,.8);--navy-40: rgba(22,30,84,.4);--navy-16: rgba(22,30,84,.16);--navy-08: rgba(22,30,84,.08);--navy-04: rgba(22,30,84,.04);--sky: #BBEDEF;--sky-50: rgba(187,237,239,.5);--sky-24: rgba(187,237,239,.24);--orange: #F16D34;--orange-16: rgba(241,109,52,.16);--orange-08: rgba(241,109,52,.08);--coral: #FF986A;--coral-16: rgba(255,152,106,.16);--surface-warm: #ECEEF3;--panel-bg: #FFFFFF;--card-shadow: 0 1px 2px rgba(15,23,42,.05), 0 3px 10px rgba(15,23,42,.06);--card-shadow-hover: 0 2px 6px rgba(15,23,42,.08), 0 8px 24px rgba(15,23,42,.1);--panel-shadow: 0 1px 3px rgba(15,23,42,.05), 0 4px 16px rgba(15,23,42,.07);--panel-shadow-right: 2px 0 12px rgba(15,23,42,.04);--panel-shadow-left: -2px 0 12px rgba(15,23,42,.04);--glass-bg: rgba(255,255,255,.96);--glass-border: rgba(0,0,0,.07);--glass-inset: inset 0 1px 0 rgba(255,255,255,1);--glass-shadow: 0 1px 3px rgba(15,23,42,.05), 0 4px 16px rgba(15,23,42,.07);--glass-blur: blur(6px);--sky-12: rgba(187,237,239,.12);--sky-08: rgba(187,237,239,.08);--success: #059669;--success-12: rgba(5,150,105,.12);--warning: #D97706;--warning-12: rgba(217,119,6,.12);--danger: #DC2626;--danger-12: rgba(220,38,38,.12);--white: #FFFFFF;--surface: #F8FAFC;--surface-2: #F1F5F9;--border: #E2E8F0;--border-2: #CBD5E1;--text-1: #0F172A;--text-2: #475569;--text-3: #94A3B8;--display: "Space Grotesk", sans-serif;--body: "Hanken Grotesk", sans-serif;--mono: "IBM Plex Mono", monospace;--r-sm: 6px;--r: 8px;--r-md: 12px;--r-lg: 16px;--r-xl: 24px;--ease: cubic-bezier(0,.2,.2,1);--fast: .15s;--norm: .25s;--topbar: 48px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:17px;-webkit-font-smoothing:antialiased}body{font-family:Hanken Grotesk,sans-serif;background:var(--surface);color:var(--text-1);line-height:1.6;height:100vh;overflow:hidden}#root{height:100vh;display:flex}a{color:inherit;text-decoration:none}button{font-family:Hanken Grotesk,sans-serif;cursor:pointer;border:none;background:none}input,textarea,select{font-family:Hanken Grotesk,sans-serif}img,svg{display:block}::-webkit-scrollbar{width:4px;height:4px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-2);border-radius:4px}@keyframes page-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes spark{0%{transform:scale(1);opacity:1}50%{transform:scale(1.5);opacity:.6}to{transform:scale(1);opacity:1}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes fade-up{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes progress-fill{0%{stroke-dashoffset:377}}@keyframes shimmer{0%{background-position:-400px 0}to{background-position:400px 0}}@keyframes wave-bar{0%,to{height:4px}50%{height:20px}}@keyframes tab-slide{0%{opacity:0;transform:translate(-4px)}to{opacity:1;transform:translate(0)}}@keyframes card-enter{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes gentle-pulse{0%,to{opacity:.6;transform:scale(1)}50%{opacity:1;transform:scale(1.05)}}@keyframes progress-glow{0%,to{box-shadow:0 0 #f16d3400}50%{box-shadow:0 0 8px 2px #f16d3440}}@keyframes line-draw{0%{height:0}to{height:100%}}@keyframes node-pop{0%{transform:scale(0);opacity:0}60%{transform:scale(1.2)}to{transform:scale(1);opacity:1}}@keyframes card-slide-left{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}@keyframes card-slide-right{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}@keyframes pulse-ring{0%{transform:scale(1);opacity:.4}to{transform:scale(2.2);opacity:0}}@keyframes icon-spin-in{0%{transform:rotate(-90deg) scale(0)}to{transform:rotate(0) scale(1)}}@keyframes check-draw{0%{stroke-dashoffset:20}to{stroke-dashoffset:0}}@keyframes connector-dash{to{stroke-dashoffset:0}}@keyframes mm-scale-in{0%{opacity:0;transform:scale(.82)}to{opacity:1;transform:scale(1)}}@keyframes mm-enter{0%{opacity:0;transform:translate(-10px)}to{opacity:1;transform:translate(0)}}@keyframes mm-line-draw{to{stroke-dashoffset:0}}@keyframes nudge-in{0%{opacity:0;transform:translateY(12px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes nudge-out{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(8px)}}@keyframes bp-slide-in{0%{opacity:0;transform:translate(24px)}to{opacity:1;transform:translate(0)}}@media (prefers-reduced-motion: reduce){.attention-nudge{animation:none!important}}.page-in{animation:page-in .25s var(--ease) both}.fade-up{animation:fade-up .3s var(--ease) both}.opt{display:flex;align-items:flex-start;gap:12px;padding:16px 20px;border:1.5px solid var(--border);border-radius:var(--r-md);cursor:pointer;background:var(--white);transition:border-color var(--fast) var(--ease),background var(--fast) var(--ease)}.opt:hover{border-color:var(--navy-40);background:var(--navy-04)}.opt.sel{border-color:var(--navy);background:var(--navy-08)}.opt.ok{border-color:var(--success);background:var(--success-12);cursor:default}.opt.bad{border-color:var(--danger);background:var(--danger-12);cursor:default}.field{width:100%;padding:11px 14px;border:1.5px solid var(--border);border-radius:var(--r);font-size:16px;color:var(--text-1);background:var(--white);outline:none;transition:border-color var(--fast) var(--ease),box-shadow var(--fast) var(--ease)}.field:focus{border-color:var(--navy);box-shadow:0 0 0 3px var(--navy-08)}.field::placeholder{color:var(--text-3)}.data-table{width:100%;border-collapse:collapse}.data-table th{padding:10px 16px;text-align:left;font-family:IBM Plex Mono,monospace;font-size:13px;font-weight:600;letter-spacing:.1em;color:var(--text-3);text-transform:uppercase;border-bottom:1px solid var(--border);background:var(--surface)}.data-table td{padding:13px 16px;border-bottom:1px solid var(--border);font-size:16px;vertical-align:middle}.data-table tr:last-child td{border-bottom:none}.data-table tr:hover td{background:var(--navy-04)}.learning-hub-shell{display:flex;flex-direction:column;flex:1;min-height:0;background:var(--surface-warm);overflow:hidden}.learning-topbar{display:flex;align-items:center;padding:8px 20px;flex-shrink:0}.learning-layout{flex:1;display:grid;grid-template-columns:200px 1fr 5px 310px;transition:grid-template-columns .22s cubic-bezier(0,.2,.2,1);grid-template-rows:1fr;gap:8px;padding:6px 8px 8px;overflow:hidden;min-height:0}.learning-layout>*{min-height:0;height:100%}.nb-layout{flex:1;display:grid;grid-template-columns:280px 1fr 350px;overflow:hidden;background:var(--surface)}.nb-sources-panel,.nb-main-panel,.nb-chat-panel{display:flex;flex-direction:column;background:var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);border-radius:var(--r-lg);box-shadow:var(--glass-shadow),var(--glass-inset);overflow:hidden}.glass-card{background:#ffffffad;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.65);border-radius:var(--r-md);box-shadow:0 1px 2px #0f172a08,0 3px 10px #0f172a0a,inset 0 1px #ffffffe6}.nb-gen-pill:hover:not(:disabled){box-shadow:var(--card-shadow-hover)!important}.nb-wave-bar{animation:wave-bar .8s ease-in-out infinite}.nb-wave-bar:nth-child(2n){animation-delay:.1s}.nb-wave-bar:nth-child(3n){animation-delay:.2s}.nb-wave-bar:nth-child(5n){animation-delay:.3s}body{padding-bottom:env(safe-area-inset-bottom);overscroll-behavior:none;-webkit-tap-highlight-color:transparent}#root{touch-action:pan-y}.bottom-nav{display:none}@media (max-width: 1024px){.learning-layout{grid-template-columns:185px 1fr 260px;gap:8px;padding:0 8px 8px}.nb-layout{grid-template-columns:240px 1fr 300px}}@media (max-width: 768px){.bottom-nav{display:flex!important}.main-content{padding-bottom:calc(64px + env(safe-area-inset-bottom))!important;-webkit-overflow-scrolling:touch}.learning-hub-shell{background:#fff}.learning-topbar{display:none}.learning-layout{display:flex;flex-direction:column;gap:0;padding:0}.nb-layout{display:flex;flex-direction:column}.nb-sources-panel,.nb-main-panel,.nb-chat-panel{border:none;box-shadow:none;border-radius:0}}[data-tip]{position:relative}[data-tip]:hover:after{content:attr(data-tip);position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%);background:var(--navy);color:#fff;font-size:14px;padding:4px 10px;border-radius:var(--r-sm);white-space:nowrap;pointer-events:none;z-index:99}@keyframes plan-slide-in{0%{opacity:0;transform:translate(32px)}to{opacity:1;transform:translate(0)}}@keyframes plan-slide-out{to{opacity:0;transform:translate(32px)}}@keyframes home-enter{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes completion-pop{0%{opacity:0;transform:translate(-50%) translateY(-12px) scale(.95)}60%{transform:translate(-50%) translateY(2px) scale(1.01)}to{opacity:1;transform:translate(-50%) translateY(0) scale(1)}}.plan-mode-overlay{animation:none}.plan-mode-panel{animation:plan-slide-in .24s cubic-bezier(0,.2,.2,1) both}.plan-mode-panel.closing{animation:plan-slide-out .2s cubic-bezier(0,.2,.2,1) forwards}.home-dashboard{max-width:700px;width:100%}.study-context-rail{display:flex;flex-direction:column;overflow:hidden}
