@import url(https://fonts.googleapis.com/css2?family=Space+Mono:ital,wght@0,400;0,700;1,400;1,700&display=swap);*,::backdrop,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }/*
! tailwindcss v3.4.19 | MIT License | https://tailwindcss.com
*/*,:after,:before{border:0 solid #e5e7eb;box-sizing:border-box}:after,:before{--tw-content:""}:host,html{-webkit-text-size-adjust:100%;font-feature-settings:normal;-webkit-tap-highlight-color:transparent;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-variation-settings:normal;line-height:1.5;tab-size:4}body{line-height:inherit}hr{border-top-width:1px;color:inherit;height:0}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-feature-settings:normal;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em;font-variation-settings:normal}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:initial}sub{bottom:-.25em}sup{top:-.5em}table{border-collapse:collapse;border-color:inherit;text-indent:0}button,input,optgroup,select,textarea{font-feature-settings:inherit;color:inherit;font-family:inherit;font-size:100%;font-variation-settings:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:initial;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:initial}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::placeholder,textarea::placeholder{color:#9ca3af;opacity:1}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}[hidden]:where(:not([hidden=until-found])){display:none}.visible{visibility:visible}.relative{position:relative}.mx-auto{margin-left:auto;margin-right:auto}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-4{margin-top:1rem}.block{display:block}.inline-flex{display:inline-flex}.grid{display:grid}.h-2\.5{height:.625rem}.h-5{height:1.25rem}.h-64{height:16rem}.w-5{width:1.25rem}.w-full{width:100%}.max-w-2xl{max-width:42rem}.max-w-4xl{max-width:56rem}.max-w-none{max-width:none}.cursor-not-allowed{cursor:not-allowed}.resize-none{resize:none}.list-inside{list-style-position:inside}.list-decimal{list-style-type:decimal}.list-disc{list-style-type:disc}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.items-start{align-items:flex-start}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.5rem*var(--tw-space-y-reverse));margin-top:calc(.5rem*(1 - var(--tw-space-y-reverse)))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(1rem*var(--tw-space-y-reverse));margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(1.5rem*var(--tw-space-y-reverse));margin-top:calc(1.5rem*(1 - var(--tw-space-y-reverse)))}.overflow-hidden{overflow:hidden}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-xl{border-radius:.75rem}.border{border-width:1px}.border-b{border-bottom-width:1px}.border-gray-200{--tw-border-opacity:1;border-color:#e5e7eb;border-color:rgb(229 231 235/var(--tw-border-opacity,1))}.border-gray-300{--tw-border-opacity:1;border-color:#d1d5db;border-color:rgb(209 213 219/var(--tw-border-opacity,1))}.bg-blue-50{--tw-bg-opacity:1;background-color:#eff6ff;background-color:rgb(239 246 255/var(--tw-bg-opacity,1))}.bg-blue-600{--tw-bg-opacity:1;background-color:#2563eb;background-color:rgb(37 99 235/var(--tw-bg-opacity,1))}.bg-gray-200{--tw-bg-opacity:1;background-color:#e5e7eb;background-color:rgb(229 231 235/var(--tw-bg-opacity,1))}.bg-gray-400{--tw-bg-opacity:1;background-color:#9ca3af;background-color:rgb(156 163 175/var(--tw-bg-opacity,1))}.bg-green-100{--tw-bg-opacity:1;background-color:#dcfce7;background-color:rgb(220 252 231/var(--tw-bg-opacity,1))}.bg-red-600{--tw-bg-opacity:1;background-color:#dc2626;background-color:rgb(220 38 38/var(--tw-bg-opacity,1))}.bg-white{--tw-bg-opacity:1;background-color:#fff;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.p-4{padding:1rem}.p-6{padding:1.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-1{padding-bottom:.25rem;padding-top:.25rem}.py-2{padding-bottom:.5rem;padding-top:.5rem}.py-3{padding-bottom:.75rem;padding-top:.75rem}.pl-5{padding-left:1.25rem}.text-2xl{font-size:1.5rem;line-height:2rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.text-blue-700{--tw-text-opacity:1;color:#1d4ed8;color:rgb(29 78 216/var(--tw-text-opacity,1))}.text-gray-400{--tw-text-opacity:1;color:#9ca3af;color:rgb(156 163 175/var(--tw-text-opacity,1))}.text-gray-600{--tw-text-opacity:1;color:#4b5563;color:rgb(75 85 99/var(--tw-text-opacity,1))}.text-gray-700{--tw-text-opacity:1;color:#374151;color:rgb(55 65 81/var(--tw-text-opacity,1))}.text-gray-900{--tw-text-opacity:1;color:#111827;color:rgb(17 24 39/var(--tw-text-opacity,1))}.text-green-700{--tw-text-opacity:1;color:#15803d;color:rgb(21 128 61/var(--tw-text-opacity,1))}.text-green-800{--tw-text-opacity:1;color:#166534;color:rgb(22 101 52/var(--tw-text-opacity,1))}.text-orange-700{--tw-text-opacity:1;color:#c2410c;color:rgb(194 65 12/var(--tw-text-opacity,1))}.text-white{--tw-text-opacity:1;color:#fff;color:rgb(255 255 255/var(--tw-text-opacity,1))}.shadow-lg{--tw-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color);box-shadow:0 0 #0000,0 0 #0000,var(--tw-shadow);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition-all{transition-duration:.15s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-colors{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-1000{transition-duration:1s}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.hover\:bg-blue-700:hover{--tw-bg-opacity:1;background-color:#1d4ed8;background-color:rgb(29 78 216/var(--tw-bg-opacity,1))}.hover\:bg-gray-50:hover{--tw-bg-opacity:1;background-color:#f9fafb;background-color:rgb(249 250 251/var(--tw-bg-opacity,1))}.hover\:bg-red-700:hover{--tw-bg-opacity:1;background-color:#b91c1c;background-color:rgb(185 28 28/var(--tw-bg-opacity,1))}.focus\:border-blue-500:focus{--tw-border-opacity:1;border-color:#3b82f6;border-color:rgb(59 130 246/var(--tw-border-opacity,1))}.focus\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),0 0 #0000;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\:ring-blue-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(59 130 246/var(--tw-ring-opacity,1))}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:bg-gray-400:disabled{--tw-bg-opacity:1;background-color:#9ca3af;background-color:rgb(156 163 175/var(--tw-bg-opacity,1))}@media (min-width:768px){.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}:root{--text:#fff;--gray-200:#b4b8bb;--gray-300:#80868b;--gray-500:#5f6368;--gray-600:#444;--gray-700:#202020;--gray-800:#171717;--gray-900:#111;--gray-1000:#0a0a0a;--border-stroke:#444;--accent-blue:#a1e4f2;--accent-blue-active-bg:#001233;--accent-blue-active:#98beff;--accent-blue-headers:#448dff;--accent-green:#a8dab5;--midnight-blue:#001233;--blue-30:#99beff;--accent-red:#ff4600;--background:var(--gray-900);--color:var(--text);--font-family:"Space Mono",monospace;--Neutral-00:#000;--Neutral-5:#181a1b;--Neutral-10:#1c1f21;--Neutral-15:#232729;--Neutral-20:#2a2f31;--Neutral-30:#404547;--Neutral-50:#707577;--Neutral-60:#888d8f;--Neutral-80:#c3c6c7;--Neutral-90:#e1e2e3;--Green-500:#0d9c53;--Green-700:#025022;--Blue-500:#1f94ff;--Blue-800:#0f3557;--Red-400:#ff9c7a;--Red-500:#ff4600;--Red-600:#e03c00;--Red-700:#bd3000;scrollbar-color:#444 #111;scrollbar-color:var(--gray-600) var(--gray-900);scrollbar-width:thin}body{background:#404547;background:var(--Neutral-30);font-family:Space Mono,monospace}.material-symbols-outlined.filled{font-variation-settings:"FILL" 1,"wght" 400,"GRAD" 0,"opsz" 24}.space-mono-regular{font-weight:400}.space-mono-bold,.space-mono-regular{font-family:Space Mono,monospace;font-style:normal}.space-mono-bold{font-weight:700}.space-mono-regular-italic{font-family:Space Mono,monospace;font-style:italic;font-weight:400}.space-mono-bold-italic{font-family:Space Mono,monospace;font-style:italic;font-weight:700}.hidden{display:none}.flex{display:flex}.h-screen-full{height:100vh}.w-screen-full{width:100vw}.flex-col,.streaming-console{flex-direction:column}.streaming-console{background:#f4f4f0;background-image:radial-gradient(#000 1px,#0000 0);background-size:32px 32px;color:#000;display:flex;height:100vh;width:100vw}.streaming-console a,.streaming-console a:active,.streaming-console a:visited{color:#000}.streaming-console .disabled,.streaming-console .disabled>*{pointer-events:none}.streaming-console main{flex-direction:column;flex-grow:1;gap:1rem;max-width:100%;overflow-x:hidden;overflow-y:auto;position:relative}.streaming-console .main-app-area,.streaming-console main{align-items:center;display:flex;justify-content:flex-start}.streaming-console .main-app-area{flex:1 1;flex-direction:column;padding-bottom:120px;padding-top:2rem;width:100%}.streaming-console .page-nav{display:none}.streaming-console .console-body{display:flex;flex:1 1;flex-direction:row;overflow:hidden;width:100%}.streaming-console .function-call{height:50%;overflow-y:auto;position:absolute;top:0;width:100%}.streaming-console .max-w-2xl,.streaming-console .max-w-4xl{padding:0 2rem;width:100%}.streaming-console .bg-white.rounded-lg.shadow-lg,.streaming-console .bg-white.rounded-xl.shadow-lg{background-color:#fff!important;border:4px solid #000!important;border-radius:0!important;box-shadow:12px 12px 0 #000!important;color:#000;margin-bottom:2rem}.streaming-console .border-b.border-gray-200,.streaming-console .mb-4.flex.items-center.justify-between,.streaming-console .mb-6.text-2xl{border-bottom:4px solid #000!important;margin-bottom:1rem;padding-bottom:1rem}.streaming-console .border-b.border-gray-200 h2,.streaming-console .mb-4.flex.items-center.justify-between h2,.streaming-console .mb-6.text-2xl h2{background:#ffe600;border:3px solid #000;box-shadow:4px 4px 0 #000;display:inline-block;font-size:1.8rem!important;font-weight:900!important;padding:.2rem .8rem;text-transform:uppercase;transform:rotate(-1deg)}.streaming-console p.text-gray-600{color:#000!important;font-size:1.1rem;font-weight:700;line-height:1.6;margin-bottom:1rem}.streaming-console ol.list-decimal{list-style:none!important;padding:0!important}.streaming-console ol.list-decimal li{background:#a1e4f2;border:3px solid #000;box-shadow:4px 4px 0 #000;font-weight:700;margin-bottom:.5rem;padding:.8rem 1rem}.streaming-console ol.list-decimal li:before{color:#ff007a;content:"[STEP]";font-weight:900;margin-right:.5rem}.streaming-console textarea{background:#eef1ff!important;border:4px solid #000!important;border-radius:0!important;box-shadow:inset 4px 4px 0 #0000001a;font-family:inherit;font-size:1rem;font-weight:700;padding:1rem!important;width:100%}.streaming-console textarea:focus{background:#fff!important;outline:none!important}.streaming-console button.bg-blue-600,.streaming-console button.bg-gray-400{border:4px solid #000!important;border-radius:0!important;font-family:inherit;font-size:1.2rem!important;font-weight:900!important;padding:1rem!important;text-transform:uppercase;transition:all .1s;width:100%}.streaming-console button.bg-blue-600:not(:disabled),.streaming-console button.bg-gray-400:not(:disabled){background-color:lime!important;box-shadow:8px 8px 0 #000!important;color:#000!important}.streaming-console button.bg-blue-600:not(:disabled):hover,.streaming-console button.bg-gray-400:not(:disabled):hover{box-shadow:6px 6px 0 #000!important;transform:translate(2px,2px)}.streaming-console button.bg-blue-600:disabled,.streaming-console button.bg-gray-400:disabled{background-color:#ccc!important;box-shadow:none!important;color:#000!important}.streaming-console a.block.p-4.border{background:#fff!important;border:3px solid #000!important;border-radius:0!important;box-shadow:4px 4px 0 #000!important;margin-bottom:1rem;transition:all .1s}.streaming-console a.block.p-4.border:hover{background:#ffb6c1!important;box-shadow:6px 6px 0 #000!important;transform:translate(-2px,-2px)}.streaming-console a.block.p-4.border h3{font-size:1.2rem!important;font-weight:900!important;text-transform:uppercase}.streaming-console a.block.p-4.border p{font-size:.95rem!important;font-weight:500!important}.streaming-console a.block.p-4.border svg{stroke-width:3!important;color:#000!important}.streaming-console .bg-green-100.text-green-800{background:lime!important;border:3px solid #000!important;border-radius:0!important;box-shadow:3px 3px 0 #000!important;color:#000!important;font-weight:900!important;padding:.2rem .6rem!important;text-transform:uppercase}.streaming-console .bg-blue-50.text-blue-700{background:#ff007a!important;border:4px solid #000!important;border-radius:0!important;box-shadow:6px 6px 0 #000!important;color:#fff!important;font-weight:900!important;padding:1rem!important;text-align:center;text-transform:uppercase}.stream{border-radius:32px;flex-grow:1;max-height:fit-content;max-width:90%}.logger{color:var(--gray-300);display:block;max-width:100%;width:100%}.logger .logger-list{overflow-x:hidden;padding:0 0 0 25px;width:calc(100% - 45px)}.logger .user h4{color:var(--Green-500)}.logger .model h4{color:var(--Blue-500)}.logger .rich-log{display:flex;gap:4px;justify-content:center}.logger .rich-log pre{overflow-x:auto}.logger .rich-log{display:block}.logger .rich-log h4{font-size:14px;margin:0;padding:8px 0;text-transform:uppercase}.logger .rich-log h5{border-bottom:1px solid var(--Neutral-20);margin:0;padding-bottom:8px}.logger .rich-log .part{background:var(--Neutral-5);border-radius:8px;color:var(--Neutral-90);margin-bottom:4px;padding:14px}.logger .plain-log>*{padding-right:4px}.logger .inline-code:not(:last-child){font-style:italic}.logger .inline-code:not(:last-child):after{content:", "}.logger li{color:#707577;color:var(--Neutral-50,#707577);display:block;font-family:Space Mono;font-size:14px;font-style:normal;font-weight:400;line-height:normal;padding:8px 0}.logger li .timestamp{color:var(--Neutral-50);flex-grow:0;flex-shrink:0;width:70px}.logger li .source{flex-shrink:0;font-weight:700}.logger li.receive,.logger li.source-server{color:var(--Blue-500)}.logger li.send:not(.source-server),.logger li.source-client{color:var(--Green-500)}.logger li .count{background-color:var(--Neutral-5);border-radius:8px;color:var(--Blue-500);font-size:x-small;line-height:1em;padding:.3em .5em;vertical-align:middle}.logger li .message{color:var(--Neutral-50);flex-grow:1}.side-panel .react-select{background:var(--Neutral-20);color:var(--Neutral-90);height:30px;width:193px}.side-panel .react-select .react-select__single-value{color:var(--Neutral-90)}.side-panel .react-select .react-select__menu{background:var(--Neutral-20);color:var(--Neutral-90)}.side-panel .react-select .react-select__option--is-focused,.side-panel .react-select .react-select__option:focus,.side-panel .react-select .react-select__option:hover,.side-panel .react-select .react-select_option:focus-within{background:var(--Neutral-30)}.side-panel{background:var(--Neutral-00);border-right:1px solid var(--gray-600);color:#e1e2e3;color:var(--Neutral-90,#e1e2e3);display:flex;flex-direction:column;flex-shrink:0;font-family:Arial,sans-serif;font-family:var(--font-family);font-size:13px;font-style:normal;font-weight:400;height:100%;line-height:160%;transition:all .2s ease-in;width:40px}.side-panel .hidden{display:none!important}.side-panel.open .top h2{display:block;left:0;opacity:1}.side-panel .top{align-items:center;border-bottom:1px solid var(--Neutral-20);display:flex;justify-content:space-between;padding:12px 20px 12px 25px;width:calc(100% - 45px)}.side-panel .top h2{transition-behavior:allow-discrete;color:#e1e2e3;color:var(--Neutral-90,#e1e2e3);display:none;font-family:Google Sans;font-size:21px;font-style:normal;font-weight:500;left:-100%;line-height:16px;opacity:0;position:relative;transition:opacity .2s ease-in,left .2s ease-in,display .2s ease-in}@starting-style{.side-panel .top h2{left:0;opacity:1}}.side-panel .side-nav-links{display:flex;flex-direction:column;gap:6px;padding:8px 20px}.side-panel .side-nav-links .side-link{color:var(--Neutral-90);font-size:14px;text-decoration:none}.side-panel .opener{height:30px;transition:transform .2s ease-in}.side-panel:not(.open) .side-panel-container{display:none;opacity:0;transition:all allow-discrete .2s ease-in;transition-delay:.1s}.side-panel:not(.open) .indicators .streaming-indicator{opacity:0;width:30px}.side-panel:not(.open) .opener{transform:translate(-50%)}.side-panel:not(.open) .input-container{display:none;opacity:0;transition:all allow-discrete .2s ease-in}.side-panel .indicators{display:flex;gap:21px;justify-content:flex-end;padding:24px 25px}.side-panel .indicators .streaming-indicator{align-items:center;background:#1c1f21;background:var(--Neutral-10,#1c1f21);border:1px solid #2a2f31;border:1px solid var(--Neutral-20,#2a2f31);border-radius:4px;display:flex;flex-shrink:0;font-family:Space Mono;font-size:14px;font-style:normal;font-weight:400;gap:6px;height:30px;justify-content:center;line-height:normal;padding-left:4px;text-align:center;transition:width .2s ease-in;-webkit-user-select:none;user-select:none;width:136px}.side-panel .indicators .streaming-indicator.connected{color:#0d9c53;color:var(--Blue-500,#0d9c53)}.side-panel .side-panel-container{align-self:flex-end;flex-grow:1;overflow-x:hidden;overflow-y:auto;width:400px}.side-panel .input-container{background:var(--Neutral-00);border-right:4px solid #000;border-top:4px solid #000;flex-grow:0;flex-shrink:0;padding:1rem 1.5rem}.side-panel .input-container.disabled{filter:grayscale(100%);opacity:.6;pointer-events:none}.side-panel .input-container.disabled .input-content-placeholder{color:var(--Red-500)}.side-panel .input-container .input-content{align-items:flex-end;background:var(--Neutral-20);border:4px solid #000;box-shadow:4px 4px 0 #000;display:flex;min-height:44px;padding:4px;position:relative}.side-panel .input-container .input-content .input-area{border:none!important;caret-color:var(--Blue-500)!important;color:var(--Neutral-90)!important;flex:1 1;font-family:inherit;font-size:1rem;font-weight:700;max-height:120px;min-height:24px;overflow-y:auto;padding:8px 12px!important;resize:none;word-break:break-word;z-index:2}.side-panel .input-container .input-content .input-area,.side-panel .input-container .input-content .input-area:focus{background:#0000!important;box-shadow:none!important;outline:none!important}.side-panel .input-container .input-content .input-content-placeholder{align-items:center;color:var(--Neutral-50);display:flex;font-weight:700;height:100%;left:0;padding:0 16px;pointer-events:none;position:absolute;top:0;-webkit-user-select:none;user-select:none;width:100%;z-index:1}.side-panel .input-container .input-content .send-button{align-items:center;background:#000;border:none;box-shadow:2px 2px 0 #ff007a;color:lime;cursor:pointer;display:flex;flex-shrink:0;justify-content:center;margin:4px;padding:8px;transition:transform .1s;z-index:3}.side-panel .input-container .input-content .send-button:hover{box-shadow:3px 3px 0 #ff007a;transform:translate(-1px,-1px)}.side-panel.open{flex-shrink:0;height:100%;width:400px}.side-panel-requests,.side-panel-responses{display:block;flex-grow:1;flex-shrink:1;margin-left:8px;overflow-x:hidden;overflow-y:auto;width:100%}.top{align-items:center;align-self:flex-end;display:flex;flex-grow:0;flex-shrink:0;height:30px;transition:all .2s ease-in;width:100%}.top button{background:#0000;border:0;cursor:pointer;font-size:1.25rem;line-height:1.75rem;padding:4px}.study-companion-container{background-color:#f4f4f0;background-image:radial-gradient(#000 1px,#0000 0);background-size:32px 32px;color:#000;font-family:Space Mono,monospace;height:calc(100vh - 80px);overflow:hidden;width:100%}.upload-view{align-items:center;display:flex;flex-direction:column;height:100%;overflow-y:auto;padding:2rem;width:100%}.study-companion-header{background-color:#fff;border:4px solid #000;box-shadow:8px 8px 0 #000;color:#000;margin-bottom:3rem;max-width:800px;padding:1.5rem;text-align:center;transform:rotate(-1deg);width:100%}.study-companion-header h1{font-size:2.5rem;font-weight:900;margin:0 0 .5rem;text-transform:uppercase}.study-companion-header p{font-size:1.1rem;font-weight:700;margin:0}.upload-section-center{background:#a1e4f2;border:4px solid #000;box-shadow:12px 12px 0 #000;max-width:800px;padding:2rem;width:100%}.upload-section-center h3{background-color:#fff;border:3px solid #000;color:#000;display:inline-block;font-size:1.8rem;font-weight:900;margin:0 0 1.5rem;padding:.5rem 1rem;text-transform:uppercase}.upload-section-center h4{color:#000;font-size:1.2rem;font-weight:900;margin:1.5rem 0 1rem;text-transform:uppercase}.upload-box{background-color:#fff;border:4px dashed #000;cursor:pointer;margin-bottom:2rem;padding:3rem;text-align:center;transition:all .2s ease}.upload-box:hover{background:#ffeb3b;box-shadow:8px 8px 0 #000;transform:translate(-4px,-4px)}.upload-hint{color:#000;font-size:1.25rem;font-weight:700;margin:0}.file-input{display:none}.file-list{margin:2rem 0}.file-list ul{list-style:none;margin:0;padding:0}.file-list li{align-items:center;background:#fff;border:3px solid #000;box-shadow:4px 4px 0 #000;display:flex;justify-content:space-between;margin-bottom:1rem;padding:1rem;transition:transform .1s ease}.file-list li:hover{box-shadow:2px 2px 0 #000;transform:translate(2px,2px)}.file-name{color:#000;flex:1 1;font-weight:700;margin-right:1rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-actions{display:flex;flex-shrink:0;gap:.5rem}.remove-btn,.view-btn{border:3px solid #000;box-shadow:4px 4px 0 #000;cursor:pointer;font-size:.9rem;font-weight:700;padding:.5rem 1rem;text-transform:uppercase;transition:all .1s ease}.view-btn{background:lime;color:#000}.view-btn:hover{box-shadow:2px 2px 0 #000;transform:translate(2px,2px)}.remove-btn{background:#ff007a;color:#fff}.remove-btn:hover{box-shadow:2px 2px 0 #000;transform:translate(2px,2px)}.connection-buttons{display:flex;gap:1rem;justify-content:center;margin-top:2rem}.connect-btn{background:#ffe600;border:4px solid #000;box-shadow:6px 6px 0 #000;color:#000;cursor:pointer;font-size:1.1rem;font-weight:900;padding:1rem 2rem;text-transform:uppercase;transition:all .1s ease;width:100%}.connect-btn:hover:not(:disabled){box-shadow:4px 4px 0 #000;transform:translate(2px,2px)}.connect-btn:disabled{background:silver;box-shadow:none;cursor:not-allowed;opacity:.7;transform:none}.pdf-viewer-fullscreen{background:#a1e4f2;display:flex;height:100%;position:relative;width:100%}.pdf-display{background:#f4f4f0;border-right:4px solid #000;display:flex;flex:1 1;flex-direction:column;overflow:hidden}.pdf-controls{align-items:center;background:#ffe600;border-bottom:4px solid #000;display:flex;flex-wrap:wrap;gap:2rem;justify-content:space-between;padding:1rem 2rem;z-index:10}.close-pdf-btn{background:#000;border:3px solid #000;box-shadow:4px 4px 0 #00000080;color:#fff;cursor:pointer;font-size:.95rem;font-weight:700;padding:.5rem 1rem;text-transform:uppercase}.close-pdf-btn:hover{box-shadow:2px 2px 0 #00000080;transform:translate(2px,2px)}.pdf-title{background-color:#fff;border:3px solid #000;color:#000;flex:1 1;font-size:1.2rem;font-weight:900;margin:0;overflow:hidden;padding:.5rem;text-overflow:ellipsis;white-space:nowrap}.pdf-navigation{align-items:center;display:flex;gap:1rem}.page-info{color:#000;font-size:.95rem;font-weight:900;text-transform:uppercase}.pdf-content{align-items:flex-start;background:#000;display:flex;flex:1 1;justify-content:center;overflow:auto;padding:2rem}.pdf-content .pdf-iframe,.pdf-content .react-pdf__Page{background:#fff;border:4px solid #000;box-shadow:12px 12px 0 #ffe600}.page-input{background:#fff!important;border:3px solid #000!important;border-radius:0!important;box-shadow:4px 4px 0 #000!important;color:#000!important;font-size:1rem!important;font-weight:700!important;padding:.5rem!important;text-align:center;width:80px}.page-input:focus{background:#a1e4f2!important;outline:none}.highlight-indicator{align-items:center;background:lime;border:4px solid #000;bottom:6rem;box-shadow:8px 8px 0 #000;color:#000;display:flex;font-size:1.1rem;font-weight:900;gap:1rem;padding:1rem 2rem;position:fixed;right:3rem;transform:rotate(-1deg);z-index:100}.clear-highlight-btn{background:#000;border:none;color:#fff;cursor:pointer;font-weight:700;padding:.4rem .8rem;text-transform:uppercase}.floating-panel{background:#fff;border:4px solid #000;box-shadow:12px 12px 0 #000;display:flex;flex-direction:column;max-height:600px;position:fixed;transition:transform .1s;width:400px;z-index:1000}.floating-panel.minimized{max-height:60px;overflow:hidden}.panel-header{background:#ff007a;border-bottom:4px solid #000;color:#fff;cursor:move;font-weight:900;justify-content:space-between;padding:1rem;text-transform:uppercase}.panel-header,.panel-title{align-items:center;display:flex}.panel-title{gap:.5rem}.drag-handle{cursor:grab;font-size:1.2rem}.minimize-toggle{background:#000;border:2px solid #fff;color:#fff;cursor:pointer;font-weight:700;padding:.2rem .5rem}.panel-content{background-color:#f4f4f0;display:flex;flex:1 1;flex-direction:column;min-height:0}.messages-container{display:flex;flex:1 1;flex-direction:column;gap:1rem;min-height:0;overflow-y:auto;padding:1rem}.welcome-message{background:#fff;font-weight:700;margin-bottom:1rem;padding:2rem 1rem;text-align:center}.message,.welcome-message{border:3px solid #000;box-shadow:4px 4px 0 #000}.message{font-weight:500;max-width:90%;padding:1rem}.message.message-user{align-self:flex-end;background:#a1e4f2;color:#000}.message.message-assistant{align-self:flex-start;background:#fff;color:#000}.message.message-assistant.loading{background:#ffe600}.citations{border-top:3px dashed #000;margin-top:1rem;padding-top:1rem}.citations strong{color:#000;display:block;font-weight:900;margin-bottom:.5rem;text-transform:uppercase}.citations ul{list-style:none;margin:0;padding:0}.citation-btn{background:#fff;border:2px solid #000;box-shadow:2px 2px 0 #000;color:#000;cursor:pointer;font-weight:700;padding:.3rem .6rem}.citation-btn:hover{background:#ffe600;box-shadow:1px 1px 0 #000;transform:translate(1px,1px)}.input-section{background:#fff;border-top:4px solid #000;flex-shrink:0;padding:1rem}.question-input{border:3px solid #000;box-shadow:inset 4px 4px 0 #0000000d;font-family:Space Mono,monospace;font-size:1rem;font-weight:700;margin-bottom:1rem;padding:.8rem;resize:none;width:100%}.question-input:focus{background:#eef1ff;outline:none}.send-btn{background:lime;border:4px solid #000;box-shadow:6px 6px 0 #000;color:#000;cursor:pointer;font-size:1.2rem;font-weight:900;padding:.8rem;text-transform:uppercase;width:100%}.send-btn:hover:not(:disabled){box-shadow:4px 4px 0 #000;transform:translate(2px,2px)}.send-btn:disabled{background:silver;box-shadow:none;opacity:.8;transform:none}:root{--react-pdf-text-layer:1;--highlight-bg-color:#b400aa;--highlight-selected-bg-color:#006400}@media screen and (forced-colors:active){:root{--highlight-bg-color:Highlight;--highlight-selected-bg-color:ButtonText}}[data-main-rotation="90"]{transform:rotate(90deg) translateY(-100%)}[data-main-rotation="180"]{transform:rotate(180deg) translate(-100%,-100%)}[data-main-rotation="270"]{transform:rotate(270deg) translateX(-100%)}.textLayer{-webkit-text-size-adjust:none;-moz-text-size-adjust:none;text-size-adjust:none;forced-color-adjust:none;inset:0;line-height:1;overflow:hidden;text-align:left;text-align:initial;z-index:2}.textLayer,.textLayer :is(span,br){position:absolute;transform-origin:0 0}.textLayer :is(span,br){color:#0000;cursor:text;margin:0;white-space:pre}.textLayer span.markedContent{height:0;top:0}.textLayer .highlight{background-color:#b400aa;background-color:var(--highlight-bg-color);border-radius:4px;margin:-1px;padding:1px}.textLayer .highlight.appended{position:static}.textLayer .highlight.begin{border-radius:4px 0 0 4px}.textLayer .highlight.end{border-radius:0 4px 4px 0}.textLayer .highlight.middle{border-radius:0}.textLayer .highlight.selected{background-color:#006400;background-color:var(--highlight-selected-bg-color)}.textLayer br::selection{background:#0000}.textLayer .endOfContent{cursor:default;display:block;inset:100% 0 0;position:absolute;-webkit-user-select:none;user-select:none;z-index:-1}.textLayer .endOfContent.active{top:0}:root{--react-pdf-annotation-layer:1;--annotation-unfocused-field-background:url('data:image/svg+xml;charset=utf-8,<svg width="1" height="1" xmlns="http://www.w3.org/2000/svg"><rect width="100%" height="100%" style="fill:rgba(0,54,255,.13)"/></svg>');--input-focus-border-color:Highlight;--input-focus-outline:1px solid Canvas;--input-unfocused-border-color:#0000;--input-disabled-border-color:#0000;--input-hover-border-color:#000;--link-outline:none}@media screen and (forced-colors:active){:root{--input-focus-border-color:CanvasText;--input-unfocused-border-color:ActiveText;--input-disabled-border-color:GrayText;--input-hover-border-color:Highlight;--link-outline:1.5px solid LinkText}.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input:required,.annotationLayer .choiceWidgetAnnotation select:required,.annotationLayer .textWidgetAnnotation :is(input,textarea):required{outline:1.5px solid selectedItem}.annotationLayer .linkAnnotation:hover{-webkit-backdrop-filter:invert(100%);backdrop-filter:invert(100%)}}.annotationLayer{left:0;pointer-events:none;position:absolute;top:0;transform-origin:0 0;z-index:3}.annotationLayer[data-main-rotation="90"] .norotate{transform:rotate(270deg) translateX(-100%)}.annotationLayer[data-main-rotation="180"] .norotate{transform:rotate(180deg) translate(-100%,-100%)}.annotationLayer[data-main-rotation="270"] .norotate{transform:rotate(90deg) translateY(-100%)}.annotationLayer canvas{height:100%;position:absolute;width:100%}.annotationLayer section{box-sizing:border-box;margin:0;pointer-events:auto;position:absolute;text-align:left;text-align:initial;transform-origin:0 0}.annotationLayer .linkAnnotation{outline:none;outline:var(--link-outline)}.annotationLayer :is(.linkAnnotation,.buttonWidgetAnnotation.pushButton)>a{font-size:1em;height:100%;left:0;position:absolute;top:0;width:100%}.annotationLayer :is(.linkAnnotation,.buttonWidgetAnnotation.pushButton)>a:hover{background:#ff0;box-shadow:0 2px 10px #ff0;opacity:.2}.annotationLayer .textAnnotation img{cursor:pointer;height:100%;left:0;position:absolute;top:0;width:100%}.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input,.annotationLayer .choiceWidgetAnnotation select,.annotationLayer .textWidgetAnnotation :is(input,textarea){background-image:url('data:image/svg+xml;charset=utf-8,<svg width="1" height="1" xmlns="http://www.w3.org/2000/svg"><rect width="100%" height="100%" style="fill:rgba(0,54,255,.13)"/></svg>');background-image:var(--annotation-unfocused-field-background);border:2px solid #0000;border:2px solid var(--input-unfocused-border-color);box-sizing:border-box;font:calc(9px*var(--scale-factor)) sans-serif;height:100%;margin:0;vertical-align:top;width:100%}.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input:required,.annotationLayer .choiceWidgetAnnotation select:required,.annotationLayer .textWidgetAnnotation :is(input,textarea):required{outline:1.5px solid red}.annotationLayer .choiceWidgetAnnotation select option{padding:0}.annotationLayer .buttonWidgetAnnotation.radioButton input{border-radius:50%}.annotationLayer .textWidgetAnnotation textarea{resize:none}.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input[disabled],.annotationLayer .choiceWidgetAnnotation select[disabled],.annotationLayer .textWidgetAnnotation :is(input,textarea)[disabled]{background:none;border:2px solid #0000;border:2px solid var(--input-disabled-border-color);cursor:not-allowed}.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input:hover,.annotationLayer .choiceWidgetAnnotation select:hover,.annotationLayer .textWidgetAnnotation :is(input,textarea):hover{border:2px solid #000;border:2px solid var(--input-hover-border-color)}.annotationLayer .buttonWidgetAnnotation.checkBox input:hover,.annotationLayer .choiceWidgetAnnotation select:hover,.annotationLayer .textWidgetAnnotation :is(input,textarea):hover{border-radius:2px}.annotationLayer .choiceWidgetAnnotation select:focus,.annotationLayer .textWidgetAnnotation :is(input,textarea):focus{background:none;border:2px solid Highlight;border:2px solid var(--input-focus-border-color);border-radius:2px;outline:1px solid Canvas;outline:var(--input-focus-outline)}.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) :focus{background-color:initial;background-image:none}.annotationLayer .buttonWidgetAnnotation.checkBox :focus{border:2px solid Highlight;border:2px solid var(--input-focus-border-color);border-radius:2px;outline:1px solid Canvas;outline:var(--input-focus-outline)}.annotationLayer .buttonWidgetAnnotation.radioButton :focus{border:2px solid Highlight;border:2px solid var(--input-focus-border-color);outline:1px solid Canvas;outline:var(--input-focus-outline)}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:after,.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:before,.annotationLayer .buttonWidgetAnnotation.radioButton input:checked:before{background-color:CanvasText;content:"";display:block;position:absolute}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:after,.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:before{height:80%;left:45%;width:1px}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:before{transform:rotate(45deg)}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:after{transform:rotate(-45deg)}.annotationLayer .buttonWidgetAnnotation.radioButton input:checked:before{border-radius:50%;height:50%;left:30%;top:20%;width:50%}.annotationLayer .textWidgetAnnotation input.comb{font-family:monospace;padding-left:2px;padding-right:0}.annotationLayer .textWidgetAnnotation input.comb:focus{width:103%}.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input{appearance:none}.annotationLayer .popupTriggerArea{height:100%;width:100%}.annotationLayer .fileAttachmentAnnotation .popupTriggerArea{position:absolute}.annotationLayer .popupWrapper{font-size:calc(9px*var(--scale-factor));min-width:calc(180px*var(--scale-factor));pointer-events:none;position:absolute;width:100%}.annotationLayer .popup{word-wrap:break-word;background-color:#ff9;border-radius:calc(2px*var(--scale-factor));box-shadow:0 calc(2px*var(--scale-factor)) calc(5px*var(--scale-factor)) #888;cursor:pointer;font:message-box;margin-left:calc(5px*var(--scale-factor));max-width:calc(180px*var(--scale-factor));padding:calc(6px*var(--scale-factor));pointer-events:auto;position:absolute;white-space:normal}.annotationLayer .popup>*{font-size:calc(9px*var(--scale-factor))}.annotationLayer .popup h1{display:inline-block}.annotationLayer .popupDate{display:inline-block;margin-left:calc(5px*var(--scale-factor))}.annotationLayer .popupContent{border-top:1px solid #333;margin-top:calc(2px*var(--scale-factor));padding-top:calc(2px*var(--scale-factor))}.annotationLayer .richText>*{font-size:calc(9px*var(--scale-factor));white-space:pre-wrap}.annotationLayer .caretAnnotation,.annotationLayer .circleAnnotation svg ellipse,.annotationLayer .fileAttachmentAnnotation,.annotationLayer .freeTextAnnotation,.annotationLayer .highlightAnnotation,.annotationLayer .inkAnnotation svg polyline,.annotationLayer .lineAnnotation svg line,.annotationLayer .polygonAnnotation svg polygon,.annotationLayer .polylineAnnotation svg polyline,.annotationLayer .squareAnnotation svg rect,.annotationLayer .squigglyAnnotation,.annotationLayer .stampAnnotation,.annotationLayer .strikeoutAnnotation,.annotationLayer .underlineAnnotation{cursor:pointer}.annotationLayer section svg{height:100%;left:0;position:absolute;top:0;width:100%}.annotationLayer .annotationTextContent{color:#0000;height:100%;opacity:0;pointer-events:none;position:absolute;-webkit-user-select:none;user-select:none;width:100%}.annotationLayer .annotationTextContent span{display:inline-block;width:100%}.audioPulse{align-items:center;display:flex;justify-content:space-evenly;transition:all .5s;width:24px}.audioPulse>div{background-color:var(--Neutral-30);border-radius:1000px;min-height:4px;transition:height .1s;width:4px}.audioPulse.hover>div{animation:hover 1.4s ease-in-out infinite alternate}.audioPulse{height:4px;transition:opacity .333s}.audioPulse.active{opacity:1}.audioPulse.active>div{background-color:var(--Neutral-80)}@keyframes hover{0%{transform:translateY(0)}to{transform:translateY(-3.5px)}}@keyframes pulse{0%{scale:1 1}to{scale:1.2 1.2}}.action-button{align-items:center;animation:opacity-pulse 3s ease-in infinite;background:var(--Neutral-20);border:1px solid #0000;border-radius:18px;color:var(--Neutral-60);cursor:pointer;display:flex;font-size:1.25rem;height:48px;justify-content:center;line-height:1.75rem;text-transform:lowercase;transition:all .2s ease-in-out;-webkit-user-select:none;user-select:none;width:48px}.action-button:focus{border:2px solid var(--Neutral-20);outline:2px solid var(--Neutral-80)}.action-button.outlined{background:var(--Neutral-2);border:1px solid var(--Neutral-20)}.action-button .no-action{pointer-events:none}.action-button:hover{background:#0000;border:1px solid var(--Neutral-20)}.action-button.connected{background:var(--Blue-800);color:var(--Blue-500)}.action-button.connected:hover{border:1px solid var(--Blue-500)}@property --volume{syntax:"length";inherit:false;initial-value:0}.disabled .mic-button:before,.mic-button.disabled:before{background:#0000}.mic-button{background-color:var(--accent-red);color:#000;position:relative;transition:all .2s ease-in;z-index:1}.mic-button:focus{border:2px solid var(--Neutral-20);outline:2px solid var(--Red-500)}.mic-button:hover{background-color:var(--Red-400)}.mic-button:before{background-color:var(--Red-500);border-radius:24px;content:"";display:block;height:calc(100% + var(--volume)*2);left:calc(var(--volume)*-1);opacity:.35;position:absolute;top:calc(var(--volume)*-1);transition:all .02s ease-in-out;width:calc(100% + var(--volume)*2);z-index:-1}.connect-toggle:focus{border:2px solid var(--Neutral-20);outline:2px solid var(--Neutral-80)}.connect-toggle:not(.connected){background-color:var(--Blue-500);color:var(--Neutral-5)}.control-tray{align-items:flex-start;bottom:0;display:inline-flex;gap:8px;justify-content:center;left:50%;padding-bottom:18px;position:fixed;transform:translate(-50%);z-index:50}.control-tray .action-button.disabled,.control-tray .disabled .action-button{background:#0000;border:1px solid #404547;border:1px solid var(--Neutral-30,#404547);color:var(--Neutral-30)}.control-tray .connection-container{align-items:center;display:flex;flex-direction:column;gap:4px;justify-content:center}.control-tray .connection-container .connection-button-container{background:var(--Neutral-5);border:1px solid var(--Neutral-30);border-radius:27px;padding:10px}.control-tray .connection-container .text-indicator{color:var(--Blue-500);font-size:11px;-webkit-user-select:none;user-select:none}.control-tray .connection-container:not(.connected) .text-indicator{opacity:0}.actions-nav{align-items:center;background:var(--Neutral-5);border:1px solid var(--Neutral-30);border-radius:27px;display:inline-flex;gap:12px;overflow:clip;padding:10px;transition:all .6s ease-in}.actions-nav>*{align-items:center;display:flex;flex-direction:column;gap:1rem}@keyframes opacity-pulse{0%{opacity:.9}50%{opacity:1}to{opacity:.9}}.react-flow{direction:ltr}.react-flow__container{height:100%;left:0;position:absolute;top:0;width:100%}.react-flow__pane{cursor:grab;z-index:1}.react-flow__pane.selection{cursor:pointer}.react-flow__pane.dragging{cursor:grabbing}.react-flow__viewport{pointer-events:none;transform-origin:0 0;z-index:2}.react-flow__renderer{z-index:4}.react-flow__selection{z-index:6}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible{outline:none}.react-flow .react-flow__edges{overflow:visible;pointer-events:none}.react-flow__connection-path,.react-flow__edge-path{stroke:#b1b1b7;stroke-width:1;fill:none}.react-flow__edge{cursor:pointer;pointer-events:visibleStroke}.react-flow__edge.animated path{stroke-dasharray:5;animation:dashdraw .5s linear infinite}.react-flow__edge.animated path.react-flow__edge-interaction{stroke-dasharray:none;animation:none}.react-flow__edge.inactive{pointer-events:none}.react-flow__edge.selected,.react-flow__edge:focus,.react-flow__edge:focus-visible{outline:none}.react-flow__edge.selected .react-flow__edge-path,.react-flow__edge:focus .react-flow__edge-path,.react-flow__edge:focus-visible .react-flow__edge-path{stroke:#555}.react-flow__edge-textwrapper{pointer-events:all}.react-flow__edge-textbg{fill:#fff}.react-flow__edge .react-flow__edge-text{pointer-events:none;-webkit-user-select:none;user-select:none}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;animation:dashdraw .5s linear infinite}.react-flow__connectionline{z-index:1001}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{box-sizing:border-box;cursor:grab;pointer-events:all;position:absolute;transform-origin:0 0;-webkit-user-select:none;user-select:none}.react-flow__node.dragging{cursor:grabbing}.react-flow__nodesselection{pointer-events:none;transform-origin:left top;z-index:3}.react-flow__nodesselection-rect{cursor:grab;pointer-events:all;position:absolute}.react-flow__handle{background:#1a192b;border:1px solid #fff;border-radius:100%;height:6px;min-height:5px;min-width:5px;pointer-events:none;position:absolute;width:6px}.react-flow__handle.connectionindicator{cursor:crosshair;pointer-events:all}.react-flow__handle-bottom{bottom:-4px;left:50%;top:auto;transform:translate(-50%)}.react-flow__handle-top{left:50%;top:-4px;transform:translate(-50%)}.react-flow__handle-left{left:-4px;top:50%;transform:translateY(-50%)}.react-flow__handle-right{right:-4px;top:50%;transform:translateY(-50%)}.react-flow__edgeupdater{cursor:move;pointer-events:all}.react-flow__panel{margin:15px;position:absolute;z-index:5}.react-flow__panel.top{top:0}.react-flow__panel.bottom{bottom:0}.react-flow__panel.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.center{left:50%;transform:translateX(-50%)}.react-flow__attribution{background:#ffffff80;font-size:10px;margin:0;padding:2px 3px}.react-flow__attribution a{color:#999;text-decoration:none}@keyframes dashdraw{0%{stroke-dashoffset:10}}.react-flow__edgelabel-renderer{height:100%;pointer-events:none;position:absolute;-webkit-user-select:none;user-select:none;width:100%}.react-flow__edge.updating .react-flow__edge-path{stroke:#777}.react-flow__edge-text{font-size:10px}.react-flow__node.selectable:focus,.react-flow__node.selectable:focus-visible{outline:none}.react-flow__node-default,.react-flow__node-group,.react-flow__node-input,.react-flow__node-output{background-color:#fff;border:1px solid #1a192b;border-radius:3px;color:#222;font-size:12px;padding:10px;text-align:center;width:150px}.react-flow__node-default.selectable:hover,.react-flow__node-group.selectable:hover,.react-flow__node-input.selectable:hover,.react-flow__node-output.selectable:hover{box-shadow:0 1px 4px 1px #00000014}.react-flow__node-default.selectable.selected,.react-flow__node-default.selectable:focus,.react-flow__node-default.selectable:focus-visible,.react-flow__node-group.selectable.selected,.react-flow__node-group.selectable:focus,.react-flow__node-group.selectable:focus-visible,.react-flow__node-input.selectable.selected,.react-flow__node-input.selectable:focus,.react-flow__node-input.selectable:focus-visible,.react-flow__node-output.selectable.selected,.react-flow__node-output.selectable:focus,.react-flow__node-output.selectable:focus-visible{box-shadow:0 0 0 .5px #1a192b}.react-flow__node-group{background-color:#f0f0f040}.react-flow__nodesselection-rect,.react-flow__selection{background:#0059dc14;border:1px dotted #0059dccc}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible,.react-flow__selection:focus,.react-flow__selection:focus-visible{outline:none}.react-flow__controls{box-shadow:0 0 2px 1px #00000014}.react-flow__controls-button{align-items:center;background:#fefefe;border:none;border-bottom:1px solid #eee;box-sizing:initial;cursor:pointer;display:flex;height:16px;justify-content:center;padding:5px;-webkit-user-select:none;user-select:none;width:16px}.react-flow__controls-button:hover{background:#f4f4f4}.react-flow__controls-button svg{max-height:12px;max-width:12px;width:100%}.react-flow__controls-button:disabled{pointer-events:none}.react-flow__controls-button:disabled svg{fill-opacity:.4}.react-flow__minimap{background-color:#fff}.react-flow__minimap svg{display:block}.react-flow__resize-control{position:absolute}.react-flow__resize-control.left,.react-flow__resize-control.right{cursor:ew-resize}.react-flow__resize-control.bottom,.react-flow__resize-control.top{cursor:ns-resize}.react-flow__resize-control.bottom.right,.react-flow__resize-control.top.left{cursor:nwse-resize}.react-flow__resize-control.bottom.left,.react-flow__resize-control.top.right{cursor:nesw-resize}.react-flow__resize-control.handle{background-color:#3367d9;border:1px solid #fff;border-radius:1px;height:4px;transform:translate(-50%,-50%);width:4px}.react-flow__resize-control.handle.left{left:0;top:50%}.react-flow__resize-control.handle.right{left:100%;top:50%}.react-flow__resize-control.handle.top{left:50%;top:0}.react-flow__resize-control.handle.bottom{left:50%;top:100%}.react-flow__resize-control.handle.bottom.left,.react-flow__resize-control.handle.top.left{left:0}.react-flow__resize-control.handle.bottom.right,.react-flow__resize-control.handle.top.right{left:100%}.react-flow__resize-control.line{border:0 solid #3367d9}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{height:100%;top:0;transform:translate(-50%);width:1px}.react-flow__resize-control.line.left{border-left-width:1px;left:0}.react-flow__resize-control.line.right{border-right-width:1px;left:100%}.react-flow__resize-control.line.bottom,.react-flow__resize-control.line.top{height:1px;left:0;transform:translateY(-50%);width:100%}.react-flow__resize-control.line.top{border-top-width:1px;top:0}.react-flow__resize-control.line.bottom{border-bottom-width:1px;top:100%}.mindmap-page{background:#0d0d0d;background:var(--bg-dark,#0d0d0d);color:var(--gray-300);flex-direction:column;height:100vh;justify-content:flex-start;overflow:hidden;padding:0;width:100vw}.mindmap-header,.mindmap-page{align-items:center;display:flex}.mindmap-header{background:#fff;border-bottom:4px solid #000;gap:1rem;padding:1rem 2rem;width:100%;z-index:10}.mindmap-header h1{flex:1 1;font-size:1.6rem;margin:0}.mindmap-back-link{border-radius:4px;color:var(--accent-blue);font-size:1rem;padding:.5rem 1rem;text-decoration:none;transition:all .2s ease}.mindmap-back-link:hover{background:#a1e4f21a;color:var(--accent-blue)}.mindmap-form{align-self:center;display:flex;gap:.5rem;margin:1rem 2rem;max-width:600px;width:100%;z-index:5}.mindmap-form input{background:var(--Neutral-15);border:1px solid var(--Neutral-30);border-radius:4px;color:var(--gray-300);flex:1 1;font-family:Space Mono,monospace;font-size:1rem;padding:.75rem}.mindmap-form input:focus{border-color:var(--accent-blue);box-shadow:0 0 8px #a1e4f24d;outline:none}.mindmap-form input:disabled{cursor:not-allowed;opacity:.5}.mindmap-form button{background:var(--accent-blue);border:none;border-radius:4px;color:var(--Neutral-00);cursor:pointer;font-family:Space Mono,monospace;font-size:1rem;font-weight:600;padding:.75rem 1.5rem;transition:all .2s}.mindmap-form button:hover:not(:disabled){background:var(--accent-blue-active);box-shadow:0 4px 12px #a1e4f266;transform:translateY(-2px)}.mindmap-form button:disabled{cursor:not-allowed;opacity:.5}.mindmap-error{background:#ff46001a;border-left:4px solid var(--accent-red);border-radius:4px;color:var(--accent-red);font-family:Space Mono,monospace;margin-top:1rem;padding:1rem}.mindmap-result{background:var(--Neutral-10);border:none;border-radius:0;display:flex;flex:1 1;flex-direction:column;margin:0;min-height:0;overflow:hidden;padding:0;width:100%}.mindmap-result .debug-info{background:var(--Neutral-20);border-radius:4px;color:var(--gray-300);font-family:Space Mono,monospace;font-size:.85rem;max-height:100%;overflow-y:auto;padding:1rem;width:100%}.mindmap-result .debug-info pre{background:var(--Neutral-15);border:1px solid var(--Neutral-30);border-radius:4px;overflow-x:auto;padding:1rem}.mindmap-svg{height:100%;min-height:400px;min-width:600px;width:100%}.mindmap-svg .edge{fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;opacity:.85}.mindmap-svg .node{stroke:#fff;stroke-width:2;cursor:pointer;filter:drop-shadow(0 2px 4px rgba(0,0,0,.3));transition:all .2s}.mindmap-svg .node:hover{filter:drop-shadow(0 6px 12px rgba(0,0,0,.5));opacity:.98;transform:translateY(-3px)}.mindmap-svg .node-text{fill:#fff;word-wrap:break-word;font-family:Space Mono,monospace;font-size:12px;font-weight:600;pointer-events:none;text-transform:capitalize}.mindmap-svg .root-text{font-size:18px;font-weight:700}.mindmap-canvas{height:100%;position:relative;width:100%}.mindmap-controls{bottom:12px;display:flex;gap:8px;position:absolute;right:12px}.mindmap-controls button{background:#ffffffe6;border:1px solid #0000000f;border-radius:6px;box-shadow:0 2px 6px #00000014;cursor:pointer;padding:6px 10px}.mindmap-flow-container{height:100%;min-height:400px;width:100%}.react-flow__node-default{background:none;border:none;border-radius:0;box-shadow:none;color:#000!important;font-family:Space Mono,monospace;font-weight:900!important;padding:0}.react-flow__node-default:hover .react-flow__handle{opacity:.6}.mindmap-action-bar{display:flex;gap:8px;position:absolute;right:12px;top:12px;z-index:10}.mindmap-save-btn{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#4ecdc426;border:1px solid #4ecdc4;border-radius:8px;color:#4ecdc4;cursor:pointer;font-family:Space Mono,monospace;font-size:.78rem;padding:.45rem 1.1rem;transition:all .2s ease}.mindmap-save-btn:hover{background:#4ecdc447;box-shadow:0 0 12px rgba(78,205,196,.251)}.mindmap-undo-btn{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#ffffff0f;border:1px solid #ffffff26;border-radius:8px;color:#999;cursor:pointer;font-family:Space Mono,monospace;font-size:.78rem;padding:.45rem 1.1rem;transition:all .2s ease}.mindmap-undo-btn:hover{background:#ffffff1f;color:#ccc}.mindmap-desc-panel{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0c1018f0;border:1px solid #ffffff1a;border-radius:10px;box-shadow:0 4px 20px #00000080;font-family:Space Mono,monospace;position:absolute;right:12px;top:54px;width:260px;z-index:20}.mindmap-desc-panel .mindmap-desc-header{align-items:center;border-bottom:1px solid #ffffff12;display:flex;justify-content:space-between;padding:10px 12px 8px}.mindmap-desc-panel .mindmap-desc-title{color:#4ecdc4;flex:1 1;font-size:.8rem;font-weight:700;margin-right:8px;word-break:break-word}.mindmap-desc-panel .mindmap-desc-close{background:none;border:none;color:#666;cursor:pointer;flex-shrink:0;font-size:1.1rem;line-height:1;padding:0}.mindmap-desc-panel .mindmap-desc-close:hover{color:#ccc}.mindmap-desc-panel .mindmap-desc-body{align-items:center;display:flex;min-height:48px;padding:10px 12px 12px}.mindmap-desc-panel .mindmap-desc-body p{color:#aaa;font-size:.76rem;line-height:1.6;margin:0}.mindmap-desc-panel .mindmap-desc-spinner{animation:spin .7s linear infinite;border:2px solid #2a2a2a;border-radius:50%;border-top-color:#4ecdc4;height:18px;margin:0 auto;width:18px}.course-page{color:#000;flex:1 1;flex-direction:column;font-family:Space Mono,monospace;min-height:0;overflow:hidden}.course-header,.course-page{background-color:#0000;display:flex;width:100%}.course-header{align-items:center;gap:1rem;padding:1rem 2rem;z-index:10}.course-header h1{flex:1 1;font-size:1.8rem;margin:0}.course-back-link,.course-header h1{color:#000;font-weight:900;text-transform:uppercase}.course-back-link{background-color:gold;border:3px solid #000;box-shadow:4px 4px 0 #000;font-size:1rem;padding:.5rem 1rem;text-decoration:none;transition:all .1s ease}.course-back-link:hover{box-shadow:2px 2px 0 #000;transform:translate(2px,2px)}.course-select{align-items:center;display:flex;flex:1 1;flex-direction:column;justify-content:center;overflow-y:auto;padding:2rem}.course-select h2{background-color:#fff;border:4px solid #000;box-shadow:6px 6px 0 #000;color:#000;font-size:2.5rem;font-weight:900;margin-bottom:.5rem;padding:.5rem 1.5rem;transform:rotate(-1deg)}.course-select p{background:#a1e4f2;border:2px solid #000;color:#000;font-size:1.2rem;font-weight:700;margin-bottom:3rem;padding:.5rem 1rem}.topic-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(4,1fr);margin-bottom:2rem;max-width:900px;width:100%}@media(max-width:768px){.topic-grid{grid-template-columns:repeat(2,1fr)}}.topic-card{background:#fff;border:4px solid #000;box-shadow:8px 8px 0 #000;cursor:pointer;padding:1.5rem;text-align:center;transition:all .1s ease}.topic-card .topic-icon{font-size:3rem;margin-bottom:1rem}.topic-card .topic-name{color:#000;font-size:1rem;font-weight:900;text-transform:uppercase}.topic-card:nth-child(2n){background-color:#ffb6c1}.topic-card:nth-child(odd){background-color:#a8dab5}.topic-card:hover{box-shadow:4px 4px 0 #000;transform:translate(4px,4px)}.custom-topic-form{display:flex;gap:0;margin-top:2rem;max-width:600px;width:100%}.custom-topic-form input{background:#fff;border:4px solid #000;border-right:none;color:#000;flex:1 1;font-family:Space Mono,monospace;font-size:1.1rem;font-weight:700;padding:1rem}.custom-topic-form input:focus{background:#eef1ff;outline:none}.custom-topic-form button{background:#ff007a;border:4px solid #000;color:#fff;cursor:pointer;font-family:Space Mono,monospace;font-size:1.1rem;font-weight:900;padding:1rem 2rem;text-transform:uppercase;transition:all .1s}.custom-topic-form button:hover{background:#d00063}.course-loading{align-items:center;display:flex;flex:1 1;flex-direction:column;gap:1.5rem;justify-content:center}.course-loading .spinner{animation:spin .8s linear infinite;border:6px solid #000;border-radius:50%;border-top-color:lime;height:64px;width:64px}.course-loading p{background:#fff;border:3px solid #000;box-shadow:4px 4px 0 #000;color:#000;font-size:1.2rem;font-weight:900;padding:.5rem 1rem}@keyframes spin{to{transform:rotate(1turn)}}.course-roadmap-layout{border-top:4px solid #000;display:flex;flex:1 1;overflow:hidden;width:100%}.course-roadmap-container{background-color:#f4f4f0;display:flex;flex:1 1;flex-direction:column;position:relative}.roadmap-view-toggle{background:#fff;border-bottom:4px solid #000;display:flex;gap:0;padding:1rem;z-index:5}.roadmap-view-toggle button{background:#fff;border:3px solid #000;color:#000;cursor:pointer;font-family:Space Mono,monospace;font-size:1rem;font-weight:900;padding:.5rem 1.5rem;text-transform:uppercase}.roadmap-view-toggle button:first-child{border-right:none}.roadmap-view-toggle button:hover:not(:disabled){background:#ffe600}.roadmap-view-toggle button.active{background:#000;color:lime}.roadmap-view-toggle button:disabled{background:#ccc;cursor:not-allowed}.course-flow-container{background-color:#fff;flex:1 1;min-height:0;width:100%}.roadmap-node{background-color:#fff;border:4px solid #000;border-radius:0;box-shadow:6px 6px 0 #000;color:#000;cursor:pointer;font-family:Space Mono,monospace;max-width:280px;min-width:220px;padding:16px;transition:all .1s}.roadmap-node .node-order{background:#000;color:#fff;display:inline-block;font-size:.85rem;font-weight:900;margin-bottom:4px;padding:2px 6px}.roadmap-node .node-title{font-size:1.1rem;font-weight:900;margin-bottom:6px;text-transform:uppercase}.roadmap-node .node-desc{border-top:2px dashed #000;font-size:.8rem;font-weight:700;line-height:1.4;padding-top:6px}.roadmap-node .node-status-icon{align-items:center;background:#fff;border:3px solid #000;border-radius:50%;box-shadow:2px 2px 0 #000;display:flex;font-size:1.5rem;height:30px;justify-content:center;position:absolute;right:-12px;top:-12px;width:30px}.roadmap-node:hover{box-shadow:8px 8px 0 #000;transform:translate(-2px,-2px)}.node-locked{background:#e0e0e0;border-color:#888;box-shadow:none;color:#888;cursor:not-allowed}.node-locked .node-order{background:#888}.node-locked .node-status-icon{border-color:#888;color:#888}.node-locked:hover{box-shadow:none;transform:none}.node-available{background:#a1e4f2}.node-in-progress{background:#ffe600}.node-completed{background:lime}.resize-handle{align-items:center;background:#000;cursor:col-resize;display:flex;flex-shrink:0;justify-content:center;position:relative;width:12px;z-index:10}.resize-handle .resize-handle-line{background:#fff;height:40px;width:4px}.module-detail{background:#fff;display:flex;flex-direction:column;height:100%;overflow-y:auto;width:100%}.module-detail-header{align-items:center;background:#ffe600;border-bottom:4px solid #000;display:flex;gap:1rem;padding:1.5rem;position:sticky;top:0;z-index:5}.module-detail-header h2{color:#000;flex:1 1;font-size:1.4rem;font-weight:900;margin:0;text-transform:uppercase}.module-detail-header .close-btn{background:#000;border:none;box-shadow:2px 2px 0 #fff;color:#fff;cursor:pointer;font-size:1.5rem;font-weight:900;padding:4px 12px}.module-detail-header .close-btn:hover{background:#ff007a}.module-detail-content{flex:1 1;padding:2rem}.module-status-badge{border:3px solid #000;box-shadow:3px 3px 0 #000;display:inline-block;font-size:.85rem;font-weight:900;padding:4px 12px;text-transform:uppercase}.module-status-badge.available{background:#a1e4f2;color:#000}.module-status-badge.in_progress{background:#ffe600;color:#000}.module-status-badge.completed{background:lime;color:#000}.module-status-badge.locked{background:#ccc;color:#000}.module-section{background:#f4f4f0;border:3px solid #000;box-shadow:6px 6px 0 #000;margin-bottom:2rem;padding:1.5rem}.module-section h3{background:#000;border:3px solid #000;color:#fff;display:inline-block;font-size:1.1rem;font-weight:900;margin-bottom:1.5rem;margin-top:-3rem;padding:.5rem 1rem;text-transform:uppercase}.module-section ul{list-style:none;margin:0;padding:0}.module-section ul li{border-bottom:2px dashed #ccc;color:#000;font-size:.95rem;font-weight:700;padding:.5rem 0}.module-section ul li:before{color:#ff007a;content:"[+]";font-weight:900;margin-right:.5rem}.module-section ul li:last-child{border-bottom:none}.module-content-text{color:#000;font-size:1rem;line-height:1.6}.module-content-text h2,.module-content-text h3,.module-content-text h4,.module-content-text h5{background:#000!important;box-shadow:4px 4px 0 #ff007a;color:#fff!important;display:inline-block;font-weight:900;margin:1.5rem 0 .8rem;padding:.3rem .6rem;text-transform:uppercase}.module-content-text h2{border:3px solid #000;font-size:1.5rem}.module-content-text h3{font-size:1.3rem}.module-content-text h4{font-size:1.1rem}.module-content-text h5{font-size:1rem}.module-content-text p{font-weight:500;margin:.8rem 0}.module-content-text strong{background:#ffe600;font-weight:900;padding:0 4px}.module-content-text em{font-style:italic;font-weight:700}.module-content-text .md-blockquote,.module-content-text blockquote{background:#ffb6c1;border-left:6px solid #ff007a;color:#000;font-style:italic;font-weight:700;margin:1rem 0;padding:.5rem 1rem}.module-content-text code{background:#000;color:lime;font-size:.9rem;font-weight:700;padding:2px 6px}.module-content-text pre{background:#000;border:4px solid #000;box-shadow:6px 6px 0 lime;margin:1rem 0;overflow-x:auto;padding:1.5rem}.module-content-text pre code{background:none;color:lime;padding:0}.module-tabs{background:#fff;border-bottom:4px solid #000;display:flex}.module-tabs .module-tab{background:#fff;border:none;border-right:4px solid #000;color:#000;cursor:pointer;flex:1 1;font-family:Space Mono,monospace;font-size:1.1rem;font-weight:900;padding:1rem;text-transform:uppercase;transition:all .1s}.module-tabs .module-tab:last-child{border-right:none}.module-tabs .module-tab:hover{background:#a1e4f2}.module-tabs .module-tab.active{background:#000;color:lime}.recent-courses-list{margin-top:1rem;max-width:600px;text-align:left;width:100%}.recent-courses-list h3{background:#fff;border:3px solid #000;color:#000;display:inline-block;font-size:1.2rem;font-weight:900;margin-bottom:.5rem;padding:.2rem .5rem;text-transform:uppercase}.recent-course-item{background:#fff;border:3px solid #000;box-shadow:4px 4px 0 #000;cursor:pointer;margin-bottom:.8rem;padding:1rem;transition:all .1s}.recent-course-item:hover{background:#ffe600;box-shadow:6px 6px 0 #000;transform:translate(-2px,-2px)}.recent-course-item .item-title{color:#000;font-size:1.1rem;font-weight:900;text-transform:uppercase}.recent-course-item .item-meta{color:#555;font-size:.8rem;font-weight:700;margin-top:.3rem}.practice-box{background:#a1e4f2;color:#000;font-size:1rem;font-weight:700;line-height:1.6;padding:1.5rem}.mark-complete-btn,.practice-box{border:4px solid #000;box-shadow:8px 8px 0 #000}.mark-complete-btn{background:#ff007a;color:#fff;cursor:pointer;font-family:Space Mono,monospace;font-size:1.2rem;font-weight:900;margin-top:1.5rem;padding:1.2rem;text-transform:uppercase;transition:all .1s;width:100%}.mark-complete-btn:hover:not(.completed){box-shadow:6px 6px 0 #000;transform:translate(2px,2px)}.mark-complete-btn.completed{background:lime;border-color:#000;box-shadow:none;color:#000;cursor:default;transform:none}.youtube-section{margin-top:2rem}.youtube-section h3{background:#ffe600;color:#000;display:inline-block;font-size:1.2rem;font-weight:900;padding:.2rem .6rem;text-transform:uppercase}.youtube-card,.youtube-section h3{border:3px solid #000;margin-bottom:1rem}.youtube-card{background:#fff;box-shadow:4px 4px 0 #000;cursor:pointer;display:flex;gap:1rem;text-decoration:none;transition:all .1s}.youtube-card:hover{background:#eef1ff;box-shadow:6px 6px 0 #000;transform:translate(-2px,-2px)}.youtube-card img{border-right:3px solid #000;flex-shrink:0;height:80px;object-fit:cover;width:140px}.youtube-card .video-info{display:flex;flex-direction:column;justify-content:center;padding:.5rem}.youtube-card .video-info .video-title{color:#000;font-size:.9rem;font-weight:900;line-height:1.3}.youtube-card .video-info .video-channel{color:#666;font-size:.75rem;font-weight:700;margin-top:4px;text-transform:uppercase}.course-progress-bar{background:#fff;border-bottom:4px solid #000;padding:1rem 2rem}.course-progress-bar .progress-text{color:#000;font-size:.9rem;font-weight:900;margin-bottom:8px;text-transform:uppercase}.course-progress-bar .progress-track{background:#ccc;border:3px solid #000;height:16px;overflow:hidden}.course-progress-bar .progress-track .progress-fill{background:lime;border-right:3px solid #000;height:100%;transition:width .4s ease}.certificate-view{align-items:center;background:#ffeb3b;display:flex;flex:1 1;flex-direction:column;justify-content:center;padding:2rem}.congrats-banner{background:#fff;border:4px solid #000;box-shadow:8px 8px 0 #000;margin-bottom:3rem;padding:1rem 2rem;text-align:center;transform:rotate(-2deg)}.congrats-banner h2{color:#ff007a;font-size:2.5rem;font-weight:900;margin-bottom:.5rem;text-transform:uppercase}.congrats-banner p{color:#000;font-size:1.2rem;font-weight:700}.cert-preview{background:#fff;border:6px solid #000;box-shadow:16px 16px 0 #000;max-width:700px;padding:3rem;position:relative;text-align:center;width:100%}.cert-preview .cert-brand{color:#000;font-size:1.2rem;font-weight:900;letter-spacing:2px;margin-bottom:2rem}.cert-preview .cert-title{color:#000;font-size:2.5rem;font-weight:900;margin-bottom:1.5rem;text-transform:uppercase}.cert-preview .cert-name{border-bottom:6px solid #000;color:#ff007a;display:inline-block;font-size:3rem;font-weight:900;margin:1.5rem 0;padding-bottom:.5rem;text-transform:uppercase}.course-config{align-items:center;display:flex;flex:1 1;flex-direction:column;justify-content:center;margin:0 auto;max-width:800px;overflow-y:auto;padding:2rem;width:100%}.course-config h2{background-color:#ffe600;border:4px solid #000;box-shadow:6px 6px 0 #000;color:#000;font-size:2.5rem;font-weight:900;margin-bottom:1.5rem;padding:.5rem 1.5rem;text-transform:uppercase;transform:rotate(1deg)}.course-config .config-topic{background:#a1e4f2;border:3px solid #000;box-shadow:4px 4px 0 #000;color:#000;font-size:1.2rem;font-weight:700;margin-bottom:2rem;padding:.5rem 1rem}.course-config .config-topic strong{font-weight:900;text-transform:uppercase}.course-config .config-slider{background:#fff;border:4px solid #000;box-shadow:6px 6px 0 #000;margin:1rem 0;padding:1.5rem;width:100%}.course-config .config-slider label{color:#000;display:block;font-size:1.1rem;font-weight:700;margin-bottom:1rem}.course-config .config-slider label strong{color:#ff007a;font-size:1.3rem;font-weight:900;margin-left:.5rem}.course-config .config-slider input[type=range]{-webkit-appearance:none;background:#e0e0e0;border:3px solid #000;height:12px;outline:none;transition:all .1s;width:100%}.course-config .config-slider input[type=range]::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;background:lime;border:4px solid #000;border-radius:0;box-shadow:3px 3px 0 #000;cursor:pointer;height:30px;width:30px}.course-config .config-slider input[type=range]::-moz-range-thumb{background:lime;border:4px solid #000;border-radius:0;box-shadow:3px 3px 0 #000;cursor:pointer;height:30px;width:30px}.course-config .config-slider .slider-range{color:#000;display:flex;font-weight:900;justify-content:space-between;margin-top:.5rem}.course-config .config-actions{display:flex;gap:1.5rem;margin-top:3rem;width:100%}.course-config .config-actions button{border:4px solid #000;box-shadow:6px 6px 0 #000;cursor:pointer;flex:1 1;font-family:Space Mono,monospace;font-size:1.2rem;font-weight:900;padding:1.2rem;text-transform:uppercase;transition:all .1s}.course-config .config-actions button.config-back{background:#fff;color:#000}.course-config .config-actions button.config-back:hover{background:#eef1ff;box-shadow:4px 4px 0 #000;transform:translate(2px,2px)}.course-config .config-actions button.config-generate{background:lime;color:#000}.course-config .config-actions button.config-generate:hover{background:#0c0;box-shadow:4px 4px 0 #000;transform:translate(2px,2px)}.practice-tab .practice-section{margin-bottom:2rem}.practice-tab .practice-section .practice-section-title{background:#000;border:3px solid #000;box-shadow:4px 4px 0 #ffe600;color:#fff;display:inline-block;font-size:1.2rem;font-weight:900;margin-bottom:1.5rem;padding:.5rem 1rem;text-transform:uppercase}.practice-tab .practice-divider{background:#000;height:6px;margin:3rem 0}.flashcard-container{cursor:pointer;margin-bottom:1rem;perspective:1000px;width:100%}.flashcard-container .flashcard-inner{min-height:200px;position:relative;text-align:center;transform-style:preserve-3d;transition:transform .6s cubic-bezier(.4,.2,.2,1);width:100%}.flashcard-container.flipped .flashcard-inner{transform:rotateY(180deg)}.flashcard-container .flashcard-back,.flashcard-container .flashcard-front{align-items:center;backface-visibility:hidden;background:#fff;border:4px solid #000;box-shadow:8px 8px 0 #000;color:#000;display:flex;flex-direction:column;font-size:1.2rem;font-weight:700;height:100%;justify-content:center;padding:2rem;position:absolute;width:100%}.flashcard-container .flashcard-front{background:#ffb6c1}.flashcard-container .flashcard-back{background:#a1e4f2;transform:rotateY(180deg)}.flashcard-container .flashcard-label{background:#000;color:#fff;font-size:.9rem;font-weight:900;left:1rem;padding:.2rem .6rem;position:absolute;top:1rem}.flashcard-container .flashcard-text{color:#000;font-size:1.3rem;font-weight:700;padding:0 1rem}.flashcard-container .flashcard-hint{bottom:1rem;color:#555;font-size:.8rem;font-style:italic;font-weight:700;position:absolute}.flashcard-controls{display:flex;justify-content:space-between;margin-top:1rem}.flashcard-controls button{background:#000;border:3px solid #000;box-shadow:4px 4px 0 lime;color:#fff;cursor:pointer;font-weight:900;padding:.8rem 1.5rem;text-transform:uppercase;transition:all .1s}.flashcard-controls button:hover{box-shadow:2px 2px 0 lime;transform:translate(2px,2px)}.quiz-container .quiz-question-box{background:#fff;border:4px solid #000;box-shadow:6px 6px 0 #000;margin-bottom:1.5rem;padding:1.5rem}.quiz-container .quiz-question-box .question-text{color:#000;font-size:1.2rem;font-weight:900;margin-bottom:1rem}.quiz-container .quiz-options{display:flex;flex-direction:column;gap:.8rem}.quiz-container .quiz-options .quiz-option{background:#f4f4f0;border:3px solid #000;color:#000;cursor:pointer;font-size:1rem;font-weight:700;padding:1rem;text-align:left;transition:all .1s}.quiz-container .quiz-options .quiz-option:hover:not(:disabled){background:#ffe600;box-shadow:4px 4px 0 #000;transform:translate(-2px,-2px)}.quiz-container .quiz-options .quiz-option.selected{background:#000;color:#fff}.quiz-container .quiz-options .quiz-option.correct{background:lime;border-color:#000;color:#000}.quiz-container .quiz-options .quiz-option.incorrect{background:#ff007a;border-color:#000;color:#fff}.quiz-container .quiz-options .quiz-option:disabled{cursor:default}.dashboard-neobrutal-max{background-color:#ffeb3b;color:#000;font-family:Space Mono,monospace;min-height:100vh;overflow-x:hidden;padding-bottom:4rem;position:relative}.bg-dots{background-image:radial-gradient(#000 2px,#0000 0);background-size:20px 20px;opacity:.15}.bg-dots,.bg-stripes{inset:0;pointer-events:none;position:fixed;z-index:0}.bg-stripes{background:repeating-linear-gradient(45deg,#0000,#0000 10px,#00000008 0,#00000008 20px)}.marquee-container{background-color:#000;border-bottom:4px solid #000;box-shadow:0 4px 0 #00000080;box-sizing:border-box;color:#fff;overflow:hidden;padding:.5rem 0;position:relative;width:100vw;z-index:20}.marquee{animation:scroll-marquee 20s linear infinite;display:flex;font-size:1.25rem;font-weight:900;letter-spacing:.1em;white-space:nowrap}.marquee span{padding-right:2rem}@keyframes scroll-marquee{0%{transform:translateX(0)}to{transform:translateX(-50%)}}.dashboard-wrapper{margin:0 auto;max-width:1400px;padding:2rem;position:relative;z-index:10}.brutal-header{display:flex;flex-direction:column;gap:3rem;margin-bottom:5rem;margin-top:2rem;position:relative}@media(min-width:900px){.brutal-header{align-items:flex-start;flex-direction:row;justify-content:space-between}}.branding-block{max-width:800px}.pill-badge{background-color:#000;border:4px solid #000;box-shadow:6px 6px 0 #0003;color:lime;display:inline-block;font-weight:900;margin-bottom:1.5rem;padding:.5rem 1rem;transform:rotate(-2deg)}.manifesto-title{color:#000;font-size:clamp(3rem,7vw,6.5rem);font-weight:900;letter-spacing:-.04em;line-height:.9;margin:0 0 1.5rem;text-shadow:6px 6px 0 #fff,-2px -2px 0 #fff,2px -2px 0 #fff;text-transform:uppercase}.skewed-highlight{background-color:#ff007a;box-shadow:8px 8px 0 #000;color:#fff;padding:0 1rem;text-shadow:none;transform:skewX(-10deg)}.skewed-highlight,.subtitle-box{border:4px solid #000;display:inline-block}.subtitle-box{background-color:#fff;box-shadow:6px 6px 0 #000;padding:1rem;transform:rotate(1deg)}.subtitle-box p{font-size:1.25rem;font-weight:700;margin:0}.user-terminal{background-color:#fff;border:4px solid #000;box-shadow:8px 8px 0 #000;max-width:350px;transform:rotate(2deg);width:100%}.terminal-bar{align-items:center;background-color:#000;color:#fff;display:flex;gap:.5rem;padding:.5rem}.terminal-bar .dot{background-color:#fff;border:2px solid #000;border-radius:50%;height:12px;width:12px}.terminal-bar .dot:first-child{background-color:#ff5f56}.terminal-bar .dot:nth-child(2){background-color:#ffbd2e}.terminal-bar .dot:nth-child(3){background-color:#27c93f}.terminal-bar .title{font-family:inherit;font-size:.8rem;margin-left:auto}.terminal-inner{background-color:silver;display:flex;flex-direction:column;gap:1.5rem;padding:1.5rem}.prompt{background-color:#000;color:lime;font-family:monospace;font-weight:700;padding:.5rem}.auth-btn-wrapper{background-color:#ff4600;border:3px solid #000;box-shadow:4px 4px 0 #000;padding:.5rem;transition:transform .1s;width:max-content}.auth-btn-wrapper:hover{box-shadow:2px 2px 0 #000;transform:translate(2px,2px)}.sticker{border:4px solid #000;box-shadow:4px 4px 0 #000;font-weight:900;padding:.5rem 1rem;pointer-events:none;position:absolute;text-transform:uppercase;z-index:15}.sticker-1{background-color:aqua;font-size:2rem;right:5%;top:40%;transform:rotate(-15deg)}.sticker-2{align-items:center;aspect-ratio:1;background-color:#f0f;border-radius:50%;color:#fff;display:flex;justify-content:center;left:40%;padding:2rem;text-align:center;top:15%;transform:rotate(25deg)}.brutal-grid{grid-gap:3rem 2rem;display:grid;gap:3rem 2rem;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));padding-top:2rem}.os-window-card{animation:pop-in .5s cubic-bezier(.175,.885,.32,1.275) both;background-color:var(--card-color);border:5px solid #000;box-shadow:12px 12px 0 #000;color:#000;cursor:pointer;display:flex;flex-direction:column;position:relative;text-decoration:none;transform:rotate(0deg);transform:rotate(var(--base-rotation,0deg));transition:all .2s cubic-bezier(.25,.8,.25,1)}@keyframes pop-in{0%{opacity:0;transform:scale(.8) translateY(50px) rotate(var(--base-rotation))}to{opacity:1;transform:scale(1) translateY(0) rotate(var(--base-rotation))}}.os-window-card:hover{box-shadow:16px 16px 0 #000;transform:rotate(0deg) translate(-4px,-4px) scale(1.02);z-index:30}.os-window-card:active{box-shadow:0 0 0 #000;transform:rotate(0deg) translate(8px,8px) scale(.98)}.os-window-header{align-items:center;background-color:#000;border-bottom:5px solid #000;color:#fff;display:flex;justify-content:space-between;padding:.5rem}.os-title{font-size:.9rem;font-weight:700;padding-left:.5rem}.os-controls{display:flex;gap:.25rem}.os-btn{align-items:center;background-color:#fff;border:2px solid #000;color:#000;display:flex;font-size:.9rem;font-weight:900;height:24px;justify-content:center;width:24px}.os-btn.block{font-size:1.2rem;padding-bottom:2px}.os-body{display:flex;flex-direction:column;flex-grow:1;padding:2rem}.icon-wrapper{background-color:#fff;border:4px solid #000;box-shadow:6px 6px 0 #000;margin-bottom:2rem;padding:1.5rem;transform:rotate(calc(var(--base-rotation)*-2));width:max-content}.huge-icon{display:block;font-size:3rem;line-height:1}.text-content{margin-bottom:2rem;margin-top:auto}.text-content h2{background-color:#fff;border:3px solid #000;display:inline-block;font-size:2rem;font-weight:900;line-height:1;margin:0 0 1rem;padding:.5rem;text-transform:uppercase}.text-content p{background-color:#fffc;border:2px solid #000;font-size:1.1rem;font-weight:700;line-height:1.4;margin:0;padding:.5rem}.execute-arrow{background-color:#000;border:3px solid #000;box-shadow:4px 4px 0 #000;color:#fff;font-size:1.2rem;font-weight:900;margin-top:auto;padding:1rem;text-align:center;transition:background-color .2s}.os-window-card:hover .execute-arrow{background-color:#ff007a}.console-global-header{align-items:center;background-color:#fff;border-bottom:4px solid #000;box-shadow:0 4px 0 #0000001a;display:flex;font-family:Space Mono,monospace;justify-content:space-between;padding:1rem 2rem;position:sticky;top:0;z-index:1000}.console-global-header .cgh-left{align-items:center;display:flex;gap:3rem}.console-global-header .cgh-logo{background-color:#000;border:3px solid #000;box-shadow:4px 4px 0 #000;color:lime;font-size:1.25rem;font-weight:900;letter-spacing:.05em;padding:.5rem 1rem;transform:rotate(-2deg)}.console-global-header .cgh-nav{display:flex;gap:1.5rem}.console-global-header .cgh-link{border:3px solid #0000;color:#000;font-size:1.1rem;font-weight:700;padding:.5rem 1rem;text-decoration:none;transition:all .15s ease}.console-global-header .cgh-link:hover{background-color:#ffe600;border:3px solid #000;box-shadow:4px 4px 0 #000;transform:translate(-2px,-2px)}.console-global-header .cgh-link.active{background-color:#000;border:3px solid #000;box-shadow:4px 4px 0 #ff007a;color:#fff;transform:translate(-2px,-2px)}.console-global-header .cgh-auth{align-items:center;background-color:#ff007a;border:3px solid #000;box-shadow:4px 4px 0 #000;display:flex;justify-content:center;padding:.5rem}@media(max-width:768px){.console-global-header{padding:1rem}.console-global-header,.console-global-header .cgh-left{flex-direction:column;gap:1rem}.console-global-header .cgh-nav{flex-wrap:wrap;justify-content:center}}
/*# sourceMappingURL=main.56508cee.css.map*/