@import url(https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@500;600;700&family=IBM+Plex+Mono:wght@400;500&family=Montserrat:wght@400;500;600;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{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}.sticky{position:sticky}.mx-auto{margin-left:auto;margin-right:auto}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.mt-1{margin-top:.25rem}.mt-4{margin-top:1rem}.block{display:block}.flex{display:flex}.inline-flex{display:inline-flex}.h-5{height:1.25rem}.w-5{width:1.25rem}.max-w-4xl{max-width:56rem}.resize{resize:both}.list-inside{list-style-position:inside}.list-decimal{list-style-type:decimal}.items-start{align-items:flex-start}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-4{gap:1rem}.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)))}.overflow-hidden{overflow:hidden}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-xl{border-radius:.75rem}.border{border-width:1px}.border-gray-200{--tw-border-opacity:1;border-color:#e5e7eb;border-color:rgb(229 231 235/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-green-100{--tw-bg-opacity:1;background-color:#dcfce7;background-color:rgb(220 252 231/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}.py-1{padding-bottom:.25rem;padding-top:.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}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-semibold{font-weight:600}.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-800{--tw-text-opacity:1;color:#166534;color:rgb(22 101 52/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-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)}html{scroll-behavior:smooth}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}button,input,select,textarea{font:inherit}code{font-family:IBM Plex Mono,monospace}.hover\:bg-gray-50:hover{--tw-bg-opacity:1;background-color:#f9fafb;background-color:rgb(249 250 251/var(--tw-bg-opacity,1))}:root{--earth-navy:#123046;--earth-forest:#2d5a4f;--earth-sea:#4e7c74;--earth-steel:#6f8d95;--earth-sand:#f4efe3;--earth-paper:#fbf8f1;--earth-ink:#1d2b2f;--earth-muted:#66777b;--earth-gold:#d4a54f;--earth-marigold:#e4b048;--earth-terracotta:#c16d4b;--earth-line:#12304624;--earth-card-line:#1230462e;--earth-shadow:0 18px 40px #1230461f;--earth-shadow-strong:0 22px 44px #1230462e;--font-body:"Montserrat",sans-serif;--font-display:"Cormorant Garamond",serif;--font-label:"Montserrat",sans-serif;--font-mono:"IBM Plex Mono",monospace;--tray-height:108px}*{box-sizing:border-box}#root,body,html{min-height:100%}body{background:radial-gradient(circle at top left,#d4a54f33,#0000 28%),linear-gradient(180deg,#f9f4ea,#f1ebdd);color:#1d2b2f;color:var(--earth-ink);font-family:Montserrat,sans-serif;font-family:var(--font-body);margin:0}a{color:inherit}.hidden{display:none}.App{min-height:100vh}.streaming-console{background:radial-gradient(circle at top left,#4e7c7424,#0000 28%),linear-gradient(180deg,#fbf7ef,#f4efe3 44%,#efe7d7);color:#1d2b2f;color:var(--earth-ink);display:flex;flex-direction:column;min-height:100vh;overflow:hidden;position:relative;width:100%}.streaming-console:before{background-image:linear-gradient(#12304624 1px,#0000 0),linear-gradient(90deg,#12304624 1px,#0000 0);background-image:linear-gradient(var(--earth-line) 1px,#0000 1px),linear-gradient(90deg,var(--earth-line) 1px,#0000 1px);background-size:68px 68px;content:"";inset:0;-webkit-mask-image:linear-gradient(180deg,#00000073,#0000 84%);mask-image:linear-gradient(180deg,#00000073,#0000 84%);opacity:.28;pointer-events:none;position:absolute}.streaming-console a,.streaming-console a:active,.streaming-console a:visited{color:inherit}.streaming-console main{flex-direction:column;flex-grow:1;overflow-x:hidden;overflow-y:auto}.streaming-console .main-app-area,.streaming-console main{align-items:stretch;display:flex;justify-content:flex-start;position:relative;width:100%}.streaming-console .main-app-area{flex:1 1;flex-direction:column;padding:2rem clamp(1.1rem,2vw,2rem) calc(108px + 2rem);padding:2rem clamp(1.1rem,2vw,2rem) calc(var(--tray-height) + 2rem);z-index:1}.streaming-console .console-body{display:flex;flex:1 1;flex-direction:row;overflow:hidden;width:100%}.shell-static .main-app-area{padding-bottom:2rem}.stream{background:#ffffff8c;border:1px solid #12304629;border-radius:24px;bottom:calc(108px + 1.5rem);bottom:calc(var(--tray-height) + 1.5rem);box-shadow:0 18px 40px #1230461f;box-shadow:var(--earth-shadow);max-height:180px;object-fit:cover;position:fixed;right:1.5rem;width:min(240px,24vw);z-index:20}.material-symbols-outlined.filled{font-variation-settings:"FILL" 1,"wght" 500,"GRAD" 0,"opsz" 24}@media(max-width:960px){.streaming-console .main-app-area{padding:1.1rem .9rem calc(108px + 1.5rem);padding:1.1rem .9rem calc(var(--tray-height) + 1.5rem)}.stream{bottom:calc(108px + 1rem);bottom:calc(var(--tray-height) + 1rem);right:1rem;width:min(180px,34vw)}}@media(max-width:640px){:root{--tray-height:118px}.streaming-console:before{background-size:44px 44px}.stream{display:none}}.facilitator-shell{grid-gap:1.2rem;display:grid;gap:1.2rem;margin:0 auto;width:min(1120px,100%)}.facilitator-plan-card,.facilitator-session-card,.facilitator-transcript-card{background:#ffffffd1;border:1px solid var(--earth-card-line);border-radius:28px;box-shadow:var(--earth-shadow)}.facilitator-session-card{grid-gap:1.2rem;display:grid;gap:1.2rem;padding:clamp(1.25rem,2vw,1.8rem)}.session-card-copy h1{color:var(--earth-navy);font-family:var(--font-display);font-size:clamp(2.2rem,4vw,3.4rem);line-height:.95;margin:.45rem 0 0}.session-card-copy p{color:var(--earth-muted);line-height:1.7;margin:.9rem 0 0;max-width:720px}.facilitator-kicker{color:var(--earth-forest);display:inline-flex;font-size:.74rem;letter-spacing:.16em;text-transform:uppercase}.session-brief-card{grid-gap:.9rem;display:grid;gap:.9rem;grid-template-columns:repeat(4,minmax(0,1fr))}.session-brief-card>div{grid-gap:.4rem;background:#f4efe3eb;border-radius:18px;display:grid;gap:.4rem;padding:1rem}.session-brief-card strong{color:var(--earth-navy);line-height:1.5}.brief-label{color:var(--earth-muted);font-size:.76rem;letter-spacing:.12em;text-transform:uppercase}.session-actions{display:flex;flex-wrap:wrap;gap:.8rem}.facilitator-primary,.facilitator-secondary{border:none;border-radius:999px;cursor:pointer;font-weight:600;padding:.9rem 1.3rem}.facilitator-primary{background:var(--earth-navy);box-shadow:0 14px 24px #12304629;color:var(--earth-paper)}.facilitator-primary.warm{background:linear-gradient(135deg,#b86a45,#c16d4b)}.facilitator-secondary{background:#12304612;color:var(--earth-navy)}.session-status{background:#4e7c741f;border-radius:18px;color:var(--earth-forest);font-weight:500;padding:.95rem 1rem}.session-status.muted{background:#1230460f;color:var(--earth-muted)}.session-status.error{background:#c16d4b29;color:#7b3e29}.facilitator-transcript-card{grid-gap:1rem;display:grid;gap:1rem;padding:clamp(1.2rem,2vw,1.7rem)}.transcript-header{align-items:start;display:flex;gap:1rem;justify-content:space-between}.transcript-header span{color:var(--earth-muted);display:inline-flex;font-size:.76rem;letter-spacing:.16em;text-transform:uppercase}.transcript-header h2{color:var(--earth-navy);font-family:var(--font-display);font-size:clamp(1.9rem,3vw,2.8rem);margin:.42rem 0 0}.transcript-badge{background:#4e7c741f;border-radius:999px;color:var(--earth-forest);font-size:.72rem;letter-spacing:.08em;padding:.72rem .92rem;text-transform:uppercase;white-space:nowrap}.transcript-helper{color:var(--earth-muted);line-height:1.7;margin:0}.transcript-stream{grid-gap:.8rem;display:grid;gap:.8rem;max-height:420px;overflow-y:auto;padding-right:.35rem}.transcript-empty,.transcript-turn{background:#fbf8f1e6;border:1px solid #1230461a;border-radius:20px;padding:.95rem 1rem}.transcript-user{background:#e5f1edeb}.transcript-gemini{background:#f4efe3eb}.transcript-meta{align-items:center;display:flex;gap:.8rem;justify-content:space-between;margin-bottom:.45rem}.transcript-meta strong{color:var(--earth-navy);font-size:.92rem}.transcript-meta span{color:var(--earth-muted);font-size:.76rem}.transcript-empty,.transcript-turn p{color:var(--earth-ink);line-height:1.7;margin:0}.facilitator-plan-card{grid-gap:1.15rem;display:grid;gap:1.15rem;padding:clamp(1.25rem,2vw,1.8rem)}.plan-header span{color:var(--earth-muted);display:inline-flex;font-size:.76rem;letter-spacing:.16em;text-transform:uppercase}.plan-header h2{color:var(--earth-navy);font-family:var(--font-display);font-size:clamp(2rem,3.5vw,3rem);margin:.45rem 0 0}.plan-summary{background:#f4efe3eb;border-radius:20px;color:var(--earth-ink);line-height:1.7;padding:1rem 1.1rem}.plan-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(2,minmax(0,1fr))}.plan-panel{background:#ffffffbd;border:1px solid #1230461a;border-radius:22px;padding:1rem 1.1rem}.plan-panel h3{color:var(--earth-muted);font-size:.86rem;letter-spacing:.14em;margin:0 0 .85rem;text-transform:uppercase}.plan-panel ol,.plan-panel ul{grid-gap:.65rem;color:var(--earth-ink);display:grid;gap:.65rem;line-height:1.6;margin:0;padding-left:1.1rem}@media(max-width:900px){.plan-grid,.session-brief-card{grid-template-columns:1fr}.session-actions,.transcript-header{flex-direction:column}}.teach-in-shell{grid-gap:.9rem;display:grid;gap:.9rem;margin:0 auto;width:min(1240px,100%)}.teach-in-intro{grid-gap:.65rem;align-items:start;display:grid;gap:.65rem;grid-template-columns:minmax(0,1.08fr) minmax(560px,1.12fr)}.teach-in-intro h1{color:var(--earth-navy);font-family:var(--font-display);font-size:clamp(2.5rem,5vw,4rem);line-height:.95;margin:.25rem 0 0}.teach-in-intro p{color:var(--earth-muted);line-height:1.7;margin:.45rem 0 0;max-width:760px}.teach-in-kicker{color:var(--earth-forest);display:inline-flex;font-size:.74rem;letter-spacing:.16em;text-transform:uppercase}.teach-in-form-card,.teach-in-note{background:#fffc;border:1px solid var(--earth-card-line);border-radius:28px;box-shadow:var(--earth-shadow)}.teach-in-note{padding:1rem 1.05rem}.teach-in-note h2{color:var(--earth-muted);font-size:.88rem;letter-spacing:.14em;margin:0 0 .55rem;text-transform:uppercase}.teach-in-note ul{grid-gap:.65rem;display:grid;gap:.65rem;grid-template-columns:repeat(2,minmax(0,1fr));list-style:none;margin:0;padding:0}.teach-in-note li{align-items:center;background:#f4efe3e6;border-radius:18px;color:var(--earth-navy);display:flex;font-size:.88rem;font-weight:600;line-height:1.2;min-height:100%;overflow:hidden;padding:.72rem .82rem;text-overflow:ellipsis;white-space:nowrap}.teach-in-form-card{padding:clamp(1.2rem,2vw,1.8rem)}.teach-in-form-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(2,minmax(0,1fr))}.teach-in-form-grid label{grid-gap:.5rem;display:grid;gap:.5rem}.teach-in-form-grid span{color:var(--earth-muted);font-size:.8rem;letter-spacing:.12em;text-transform:uppercase}.teach-in-form-grid input,.teach-in-form-grid textarea{background:#fbf8f1e0;border:1px solid #12304624;border-radius:18px;color:var(--earth-ink);padding:.95rem 1rem;resize:vertical;width:100%}.teach-in-form-grid input:focus,.teach-in-form-grid textarea:focus{border-color:#4e7c745c;outline:2px solid #4e7c742e}.full-width{grid-column:1/-1}.teach-in-actions{display:flex;justify-content:flex-end;margin-top:1.2rem}.teach-in-primary{background:var(--earth-navy);border:none;border-radius:999px;box-shadow:0 14px 24px #12304629;color:var(--earth-paper);cursor:pointer;font-weight:600;padding:.95rem 1.4rem}@media(max-width:900px){.teach-in-form-grid,.teach-in-intro,.teach-in-note ul{grid-template-columns:1fr}}.facilitator-report-shell{grid-gap:1rem;display:grid;gap:1rem;margin:0 auto;width:min(1180px,100%)}.report-toast{background:linear-gradient(135deg,#1f6b59,#2d5a4f);border-radius:18px;box-shadow:var(--earth-shadow-strong);color:var(--earth-paper);font-weight:600;padding:1rem 1.1rem}.facilitator-report-card{grid-gap:1rem;background:#ffffffd6;border:1px solid var(--earth-card-line);border-radius:30px;box-shadow:var(--earth-shadow);display:grid;gap:1rem;padding:clamp(1.3rem,2vw,1.9rem)}.facilitator-report-card.empty{max-width:760px}.report-header{align-items:start;display:flex;gap:1rem;justify-content:space-between}.report-header h1{color:var(--earth-navy);font-family:var(--font-display);font-size:clamp(2.3rem,4vw,3.4rem);line-height:.94;margin:.35rem 0 0}.report-header p{color:var(--earth-muted);line-height:1.7;margin:.7rem 0 0;max-width:760px}.report-kicker{color:var(--earth-forest);display:inline-flex;font-size:.74rem;letter-spacing:.16em;text-transform:uppercase}.report-score-card{grid-gap:.3rem;background:#f4efe3eb;border:1px solid #1230461a;border-radius:22px;display:grid;gap:.3rem;min-width:210px;padding:1.1rem 1.2rem}.report-score-card span{color:var(--earth-muted);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase}.report-score-card strong{color:var(--earth-navy);font-size:2.8rem;line-height:1}.report-score-card em{color:var(--earth-forest);font-style:normal;font-weight:600}.report-actions{display:flex;flex-wrap:wrap;gap:.8rem}.report-primary,.report-secondary{border:none;border-radius:999px;cursor:pointer;font-weight:600;padding:.92rem 1.35rem}.report-primary{background:var(--earth-navy);box-shadow:0 14px 24px #12304629;color:var(--earth-paper)}.report-secondary{background:#12304612;color:var(--earth-navy)}.report-grid,.report-overview-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(2,minmax(0,1fr))}.report-panel{background:#ffffffbf;border:1px solid #1230461a;border-radius:22px;padding:1rem 1.1rem}.report-panel.wide{grid-column:1/-1}.report-panel h2{color:var(--earth-muted);font-size:.82rem;letter-spacing:.14em;margin:0 0 .8rem;text-transform:uppercase}.report-panel li,.report-panel p{color:var(--earth-ink);line-height:1.7}.report-panel ul{grid-gap:.6rem;display:grid;gap:.6rem;margin:0;padding-left:1.1rem}.report-metrics{grid-gap:.8rem;display:grid;gap:.8rem;grid-template-columns:repeat(4,minmax(0,1fr))}.report-metrics>div{grid-gap:.32rem;background:#f4efe3e0;border-radius:18px;display:grid;gap:.32rem;padding:.9rem 1rem}.report-metrics span{color:var(--earth-muted);font-size:.72rem;letter-spacing:.1em;text-transform:uppercase}.report-metrics strong{color:var(--earth-navy)}@media(max-width:900px){.report-grid,.report-header,.report-metrics,.report-overview-grid{grid-template-columns:1fr}.report-header{flex-direction:column}.report-score-card{width:100%}}.study-companion-container{color:var(--earth-ink);min-height:calc(100vh - 120px);width:100%}.upload-view{align-items:center;display:flex;flex-direction:column;gap:1.5rem;padding:1.2rem 0 2rem;width:100%}.study-companion-header{background:linear-gradient(135deg,#ffffffd6,#ffffffa3),linear-gradient(180deg,#4e7c740d,#0000 75%);border:1px solid var(--earth-card-line);border-radius:28px;box-shadow:var(--earth-shadow);padding:clamp(1.5rem,2vw,2rem);width:min(100%,1100px)}.study-companion-header .section-label{color:var(--earth-forest);display:inline-flex;font-size:.74rem;letter-spacing:.16em;margin-bottom:.75rem;text-transform:uppercase}.study-companion-header h1{color:var(--earth-navy);font-family:var(--font-display);font-size:clamp(2.5rem,5vw,4.2rem);font-weight:700;line-height:.95;margin:0}.study-companion-header p{color:var(--earth-muted);font-size:1rem;line-height:1.7;margin:1rem 0 0;max-width:760px}.upload-section-center{grid-gap:1.2rem;background:linear-gradient(180deg,#ffffffe0,#f8f3e8e0);border:1px solid var(--earth-card-line);border-radius:30px;box-shadow:var(--earth-shadow);display:grid;gap:1.2rem;padding:clamp(1.3rem,2vw,1.9rem);width:min(100%,1100px)}.upload-section-copy{grid-gap:.45rem;display:grid;gap:.45rem}.upload-section-copy h3{color:var(--earth-navy);font-family:var(--font-display);font-size:2rem;font-weight:700;margin:0}.upload-section-copy p{color:var(--earth-muted);line-height:1.6;margin:0}.library-explainer{background:#f4efe3cc;border:1px solid #12304614;border-radius:20px;padding:.95rem 1rem}.library-explainer p{color:var(--earth-muted);line-height:1.65;margin:0}.library-explainer code{background:#12304614;border-radius:8px;color:var(--earth-navy);padding:.15rem .4rem}.upload-box{grid-gap:.55rem;background:radial-gradient(circle at top,#d4a54f24,#0000 35%),#f4efe3b8;border:1.5px dashed #12304652;border-radius:26px;cursor:pointer;display:grid;gap:.55rem;min-height:200px;padding:1.8rem;place-items:center;text-align:center;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease,background .18s ease}.upload-box:hover{background:radial-gradient(circle at top,#d4a54f2e,#0000 38%),#faf6eee0;border-color:#4e7c746b;box-shadow:var(--earth-shadow);transform:translateY(-2px)}.upload-hint{color:var(--earth-navy);font-size:1.05rem;font-weight:600;margin:0}.upload-subhint{color:var(--earth-muted);line-height:1.6;max-width:520px}.file-input{display:none}.file-list{grid-gap:.9rem;display:grid;gap:.9rem}.file-list h4{color:var(--earth-muted);font-size:.82rem;letter-spacing:.16em;margin:0;text-transform:uppercase}.file-list ul{grid-gap:.85rem;display:grid;gap:.85rem;list-style:none;margin:0;padding:0}.file-list li{align-items:center;background:#ffffffd1;border:1px solid var(--earth-card-line);border-radius:22px;display:flex;gap:1rem;justify-content:space-between;padding:1rem 1.1rem}.file-meta{grid-gap:.45rem;display:grid;flex:1 1;gap:.45rem;min-width:0}.file-name{color:var(--earth-navy);font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-badges{align-items:center;display:flex;flex-wrap:wrap;gap:.45rem}.file-badge,.file-size{align-items:center;border-radius:999px;display:inline-flex;font-size:.74rem;letter-spacing:.06em;padding:.28rem .55rem;text-transform:uppercase;width:fit-content}.file-badge.indexed{background:#4e7c7424;color:var(--earth-forest)}.file-badge.pending{background:#d4a54f2e;color:#87652a}.file-size{background:#1230460f;color:var(--earth-muted)}.file-actions{display:flex;gap:.65rem}.citation-btn,.clear-highlight-btn,.close-pdf-btn,.connect-btn,.minimize-toggle,.page-nav-btn,.remove-btn,.send-btn,.view-btn{border:none;border-radius:999px;cursor:pointer;transition:transform .16s ease,box-shadow .16s ease,background .16s ease}.citation-btn:hover:not(:disabled),.clear-highlight-btn:hover:not(:disabled),.close-pdf-btn:hover:not(:disabled),.connect-btn:hover:not(:disabled),.minimize-toggle:hover:not(:disabled),.page-nav-btn:hover:not(:disabled),.remove-btn:hover:not(:disabled),.send-btn:hover:not(:disabled),.view-btn:hover:not(:disabled){transform:translateY(-1px)}.citation-btn,.remove-btn,.view-btn{font-size:.84rem;font-weight:600;padding:.7rem 1rem}.view-btn{background:#4e7c7424;color:var(--earth-forest)}.remove-btn{background:#c16d4b1f;color:var(--earth-terracotta)}.connection-buttons{display:flex}.connect-btn,.send-btn{background:var(--earth-navy);box-shadow:0 14px 24px #12304629;color:var(--earth-paper);font-size:.95rem;font-weight:600;justify-content:center;padding:.95rem 1.3rem;width:100%}.connect-btn:disabled,.send-btn:disabled{box-shadow:none;cursor:not-allowed;opacity:.46}.upload-feedback{align-items:flex-start;background:#ffffffb8;border:1px solid #1230461a;border-radius:22px;display:flex;gap:.85rem;padding:1rem 1.05rem}.upload-feedback.uploading{background:#f4efe3f0}.upload-feedback.success{background:#dde9e0d1}.upload-feedback.error{background:#c16d4b1f}.upload-feedback-copy{grid-gap:.3rem;display:grid;gap:.3rem}.upload-feedback-copy strong{color:var(--earth-navy);line-height:1.4}.upload-feedback-copy span{color:var(--earth-muted);line-height:1.6}.upload-spinner{animation:upload-spin .8s linear infinite;border:3px solid #1230461f;border-radius:50%;border-top:3px solid var(--earth-sea);flex-shrink:0;height:20px;margin-top:.1rem;width:20px}.pdf-viewer-fullscreen{display:flex;gap:1rem;height:calc(100vh - 170px);min-height:560px;position:relative}.pdf-display{background:#ffffffb8;border:1px solid var(--earth-card-line);border-radius:30px;box-shadow:var(--earth-shadow);display:flex;flex:1 1;flex-direction:column;min-height:0;overflow:hidden}.pdf-controls{align-items:center;background:#fbf8f1f0;border-bottom:1px solid #1230461f;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;padding:1rem 1.2rem}.close-pdf-btn{background:#12304614;color:var(--earth-navy);font-weight:600;padding:.8rem 1rem}.pdf-title{color:var(--earth-navy);flex:1 1;font-family:var(--font-display);font-size:1.45rem;margin:0;min-width:180px}.pdf-navigation{align-items:center;display:inline-flex;gap:.75rem}.page-nav-btn{background:#12304614;color:var(--earth-navy);flex-shrink:0;font-size:1rem;font-weight:700;height:42px;width:42px}.page-nav-btn:disabled{box-shadow:none;cursor:not-allowed;opacity:.35;transform:none}.page-input{background:#ffffffe0!important;border:1px solid #12304629!important;border-radius:16px!important;color:var(--earth-navy)!important;font-weight:600!important;padding:.72rem!important;text-align:center;width:88px}.page-info,.pdf-page-count{color:var(--earth-muted);font-size:.9rem}.pdf-content{align-items:flex-start;background:linear-gradient(180deg,#f4efe380,#f0e8dae6);display:flex;flex:1 1;justify-content:center;min-height:0;overflow:auto;padding:1.4rem;position:relative}.pdf-react-container{grid-gap:.9rem;display:grid;gap:.9rem;justify-items:center}.react-pdf__Page{border-radius:18px;box-shadow:0 18px 36px #12304629;overflow:hidden}.highlight-indicator{align-items:center;background:#123046e6;border-radius:22px;bottom:1.4rem;box-shadow:var(--earth-shadow-strong);color:var(--earth-paper);display:flex;gap:.8rem;max-width:min(520px,100% - 2.8rem);padding:.9rem 1rem;position:absolute;right:1.4rem}.clear-highlight-btn{background:#ffffff24;color:var(--earth-paper);padding:.55rem .9rem}.floating-panel{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fbf8f1f5;border:1px solid #12304624;border-radius:26px;box-shadow:var(--earth-shadow-strong);display:flex;flex-direction:column;max-height:min(72vh,640px);overflow:hidden;position:fixed;width:min(410px,100vw - 2rem);z-index:25}.floating-panel.minimized{max-height:68px}.panel-header{background:linear-gradient(135deg,#123046f0,#2d5a4ff0);color:var(--earth-paper);cursor:move;gap:1rem;justify-content:space-between;padding:1rem 1.1rem}.panel-header,.panel-title{align-items:center;display:flex}.panel-title{font-weight:600;gap:.6rem;letter-spacing:.02em}.drag-handle{opacity:.8}.minimize-toggle{background:#ffffff24;color:var(--earth-paper);height:34px;width:34px}.panel-content{display:flex;flex:1 1;flex-direction:column;min-height:0}.messages-container{display:flex;flex:1 1;flex-direction:column;gap:.85rem;min-height:0;overflow-y:auto;padding:1rem}.message,.welcome-message{border:1px solid #1230461a;border-radius:20px;line-height:1.6;padding:1rem 1.05rem}.welcome-message{background:#fffc}.welcome-message p{color:var(--earth-navy);font-weight:600;margin:0 0 .8rem}.welcome-note{color:var(--earth-muted);display:inline-flex;line-height:1.6;margin-bottom:.8rem}.navigation-note{color:var(--earth-forest);display:block;margin-bottom:.95rem}.welcome-prompts{color:var(--earth-muted);font-size:.92rem;margin:0;padding-left:1rem}.message{max-width:92%}.message.message-user{align-self:flex-end;background:#4e7c741f}.message.message-assistant{align-self:flex-start;background:#ffffffdb}.message.loading{background:#d4a54f24}.message-content p{margin:0}.citations{border-top:1px solid #1230461a;margin-top:.9rem;padding-top:.9rem}.citations strong{color:var(--earth-muted);display:block;font-size:.8rem;letter-spacing:.12em;margin-bottom:.55rem;text-transform:uppercase}.citations ul{grid-gap:.45rem;display:grid;gap:.45rem;list-style:none;margin:0;padding:0}.citation-btn{background:#1230460f;color:var(--earth-navy)}.input-section{background:#ffffffd6;border-top:1px solid #1230461a;padding:1rem}.question-input{background:#fbf8f1e0;border:1px solid #12304624;border-radius:18px;color:var(--earth-ink);margin-bottom:.8rem;min-height:84px;padding:.95rem 1rem;resize:none;width:100%}.question-input:focus{border-color:#4e7c7457;outline:2px solid #4e7c742e}.pdf-error{grid-gap:.8rem;background:#ffffffd1;border-radius:20px;display:grid;gap:.8rem;justify-items:start;padding:1.2rem}@media(max-width:960px){.pdf-viewer-fullscreen{height:auto;min-height:0}.floating-panel{margin-top:1rem;max-height:none;position:static;width:100%}.pdf-viewer-fullscreen{flex-direction:column}}@media(max-width:640px){.pdf-display,.study-companion-header,.upload-section-center{border-radius:22px}.file-list li,.pdf-controls,.upload-feedback{align-items:stretch;flex-direction:column}.file-actions,.pdf-navigation{width:100%}.pdf-navigation{gap:.55rem;justify-content:space-between}}@keyframes upload-spin{to{transform:rotate(1turn)}}: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:#66777b6b;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(--earth-forest)}@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;background:#fbf8f1db;border:1px solid #12304629;border-radius:999px;box-shadow:0 10px 20px #12304614;color:var(--earth-navy);cursor:pointer;display:flex;height:48px;justify-content:center;transition:transform .18s ease,background .18s ease,border-color .18s ease,color .18s ease,box-shadow .18s ease;width:48px}.action-button:hover{background:#fffffff5;border-color:#12304642;box-shadow:0 14px 26px #1230461f;transform:translateY(-1px)}.action-button:focus-visible{outline:2px solid #d4a54fcc;outline-offset:2px}.action-button:disabled{cursor:wait;opacity:.86;transform:none}.action-button.outlined{background:#f4efe3b3}.action-button.connected{background:var(--earth-navy);border-color:#0000;color:var(--earth-paper)}@property --volume{syntax:"length";inherit:false;initial-value:0}.mic-button{background:#c16d4b2e;border-color:#c16d4b42;color:var(--earth-terracotta);position:relative;z-index:1}.mic-button:before{background:#c16d4b1f;border-radius:999px;content:"";display:block;height:calc(100% + var(--volume)*2);left:calc(var(--volume)*-1);position:absolute;top:calc(var(--volume)*-1);transition:all .02s ease-in-out;width:calc(100% + var(--volume)*2);z-index:-1}.connect-toggle:not(.connected){background:var(--earth-forest);border-color:#0000;color:var(--earth-paper)}.audio-activity-indicator{align-items:center;background:#f4efe3d6;border:1px solid #1230461f;border-radius:999px;box-shadow:0 10px 20px #1230460f;color:var(--earth-muted);display:inline-flex;gap:.6rem;min-height:48px;padding:0 .95rem;-webkit-user-select:none;user-select:none}.audio-activity-indicator span{font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}.audio-activity-indicator.active{background:#e5f1edeb;border-color:#4e7c743d;color:var(--earth-forest)}.audio-activity-indicator.busy{color:var(--earth-navy)}.control-tray{align-items:center;bottom:.9rem;display:inline-flex;gap:.75rem;justify-content:center;left:50%;position:fixed;transform:translateX(-50%);width:min(100vw - 1.4rem,720px);z-index:60}.control-tray .connection-container .connection-button-container{align-items:center;background:#fbf8f1eb;border:1px solid #12304624;border-radius:999px;box-shadow:var(--earth-shadow);display:inline-flex;gap:.7rem;padding:.45rem}.control-tray .connection-container .text-indicator{color:var(--earth-muted);font-size:.72rem;letter-spacing:.08em;padding-right:.45rem;text-transform:uppercase;-webkit-user-select:none;user-select:none}.control-tray .connection-container.connected .text-indicator{color:var(--earth-forest)}.actions-nav{align-items:center;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#fbf8f1eb;border:1px solid #12304624;border-radius:999px;box-shadow:var(--earth-shadow);display:inline-flex;gap:.7rem;padding:.75rem .9rem}.actions-nav .action-button.disabled,.actions-nav.disabled .action-button{background:#eae4d6cc;border-color:#12304614;box-shadow:none;color:#66777bb8}.spinning{animation:tray-spin 1s linear infinite}@keyframes tray-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@media(max-width:640px){.control-tray{bottom:.55rem;gap:.45rem;width:calc(100vw - .8rem)}.actions-nav{gap:.45rem;padding:.65rem .75rem}.action-button{height:44px;width:44px}.audio-activity-indicator{min-height:44px;padding:0 .8rem}.audio-activity-indicator span{display:none}}.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{color:var(--earth-ink);display:flex;flex-direction:column;height:100%;overflow:hidden;width:100%}.mindmap-header{align-items:center;background:#fbf8f1eb;border-bottom:1px solid #1230461a;display:flex;gap:1rem;padding:1rem 1.2rem}.mindmap-header h1{color:var(--earth-navy);font-family:var(--font-display);font-size:2rem;margin:0}.mindmap-back-link{color:var(--earth-navy);font-weight:600;text-decoration:none}.mindmap-form{background:#fbf8f1d9;display:flex;gap:.75rem;padding:1rem 1.2rem}.mindmap-form input{background:#ffffffdb;border:1px solid #12304624;border-radius:999px;flex:1 1;padding:.95rem 1.05rem}.mindmap-form button{background:var(--earth-navy);border:none;border-radius:999px;color:var(--earth-paper);cursor:pointer;font-weight:600;padding:.95rem 1.2rem}.mindmap-error{background:#c16d4b1f;border-radius:16px;color:var(--earth-terracotta);margin:0 1.2rem 1rem;padding:.9rem 1rem}.mindmap-result{background:radial-gradient(circle at top left,#d4a54f1a,#0000 24%),#fbf8f1db;flex:1 1;min-height:0}.react-flow__node-default{background:none;border:none;box-shadow:none;padding:0}.mindmap-action-bar{display:flex;gap:.6rem;position:absolute;right:12px;top:12px;z-index:10}.mindmap-save-btn,.mindmap-undo-btn{background:#ffffffe0;border:none;border-radius:999px;box-shadow:0 10px 18px #1230461f;color:var(--earth-navy);cursor:pointer;font-weight:600;padding:.7rem .95rem}.mindmap-desc-panel{background:#fbf8f1f5;border:1px solid #1230461a;border-radius:20px;box-shadow:var(--earth-shadow);overflow:hidden;position:absolute;right:12px;top:58px;width:280px;z-index:20}.mindmap-desc-panel .mindmap-desc-header{align-items:center;border-bottom:1px solid #12304614;display:flex;gap:.6rem;justify-content:space-between;padding:.9rem 1rem}.mindmap-desc-panel .mindmap-desc-title{color:var(--earth-navy);font-weight:600}.mindmap-desc-panel .mindmap-desc-close{background:#0000;border:none;color:var(--earth-muted);cursor:pointer;font-size:1.1rem}.mindmap-desc-panel .mindmap-desc-body{padding:.95rem 1rem 1rem}.mindmap-desc-panel .mindmap-desc-body p{color:var(--earth-muted);line-height:1.6;margin:0}.mindmap-desc-panel .mindmap-desc-spinner{animation:spin .8s linear infinite;border:3px solid #1230461f;border-radius:50%;border-top:3px solid var(--earth-sea);height:20px;margin:0 auto;width:20px}@media(max-width:720px){.mindmap-form{flex-direction:column}.mindmap-desc-panel{width:calc(100% - 24px)}}.course-page{color:var(--earth-ink);display:flex;flex:1 1;flex-direction:column;margin:0 auto;min-height:0;width:min(1200px,100%)}.course-page--roadmap{flex:1 1;max-width:1800px;min-height:0;overflow:hidden;width:min(95vw,1800px)}.course-page--roadmap .course-progress-bar{margin-bottom:.75rem}.course-page--roadmap .course-roadmap-layout{flex:1 1;min-height:0}.course-header{align-items:center;display:flex;gap:1rem;padding:.4rem 0 1rem}.course-header h1{color:var(--earth-navy);flex:1 1;font-family:var(--font-display);font-size:clamp(2.2rem,4vw,3.5rem);line-height:.95;margin:0}.ask-ai-btn,.config-actions button,.course-back-link,.download-btn,.etherscan-link,.flashcard-controls button,.mark-complete-btn,.quiz-next-btn,.quiz-retest-btn,.quiz-retry-btn,.roadmap-view-toggle button,.shuffle-btn,.verify-btn{border:none;border-radius:999px;cursor:pointer;transition:transform .16s ease,box-shadow .16s ease,background .16s ease,color .16s ease}.ask-ai-btn:hover:not(:disabled),.config-actions button:hover:not(:disabled),.course-back-link:hover:not(:disabled),.download-btn:hover:not(:disabled),.etherscan-link:hover:not(:disabled),.flashcard-controls button:hover:not(:disabled),.mark-complete-btn:hover:not(:disabled),.quiz-next-btn:hover:not(:disabled),.quiz-retest-btn:hover:not(:disabled),.quiz-retry-btn:hover:not(:disabled),.roadmap-view-toggle button:hover:not(:disabled),.shuffle-btn:hover:not(:disabled),.verify-btn:hover:not(:disabled){transform:translateY(-1px)}.course-back-link{align-items:center;background:#12304614;color:var(--earth-navy);display:inline-flex;font-weight:600;justify-content:center;padding:.8rem 1rem;text-decoration:none}.course-progress-bar{background:#ffffffc7;border:1px solid var(--earth-card-line);border-radius:22px;box-shadow:var(--earth-shadow);margin-bottom:1rem;padding:1rem 1.15rem}.course-progress-bar .progress-text{color:var(--earth-muted);font-size:.82rem;letter-spacing:.14em;margin-bottom:.55rem;text-transform:uppercase}.course-progress-bar .progress-track{background:#12304614;border-radius:999px;height:12px;overflow:hidden}.course-progress-bar .progress-fill{background:linear-gradient(90deg,var(--earth-forest),var(--earth-sea));border-radius:999px;height:100%}.certificate-view,.course-config,.course-loading,.course-select{background:#ffffffd1;border:1px solid var(--earth-card-line);border-radius:30px;box-shadow:var(--earth-shadow)}.course-config,.course-select{padding:clamp(1.3rem,2vw,2rem)}.course-select{grid-gap:1rem;display:grid;gap:1rem}.course-select h2{color:var(--earth-navy);font-family:var(--font-display);font-size:clamp(2rem,4vw,3rem);margin:0}.course-select>p{color:var(--earth-muted);line-height:1.7;margin:0;max-width:720px}.topic-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(4,minmax(0,1fr))}.topic-card{grid-gap:.6rem;align-content:start;background:linear-gradient(180deg,#fffffff2,#f4efe3e0);border:1px solid var(--earth-card-line);border-radius:24px;box-shadow:0 12px 24px #12304614;cursor:pointer;display:grid;gap:.6rem;min-height:150px;padding:1.2rem;transition:transform .17s ease,box-shadow .17s ease,border-color .17s ease}.topic-card:hover{border-color:#4e7c7442;box-shadow:0 18px 30px #1230461f;transform:translateY(-3px)}.topic-card .topic-icon{font-size:1.55rem}.topic-card .topic-name{color:var(--earth-navy);font-weight:600;line-height:1.5}.custom-topic-form{display:flex;gap:.75rem;margin-top:.25rem}.custom-topic-form input{background:#fbf8f1e6;border:1px solid #12304624;border-radius:999px;flex:1 1;padding:.95rem 1.1rem}.custom-topic-form input:focus{border-color:#4e7c7457;outline:2px solid #4e7c742e}.custom-topic-form button{background:var(--earth-navy);border:none;border-radius:999px;color:var(--earth-paper);cursor:pointer;font-weight:600;padding:.95rem 1.2rem}.recent-courses-list{margin-top:.6rem}.recent-courses-list h3{color:var(--earth-muted);font-size:.8rem;letter-spacing:.14em;margin:0 0 .8rem;text-transform:uppercase}.history-list{grid-gap:.85rem;display:grid;gap:.85rem}.recent-course-item{background:#fbf8f1e0;border:1px solid var(--earth-card-line);border-radius:20px;cursor:pointer;padding:1rem 1.05rem}.recent-course-item .item-title{color:var(--earth-navy);font-weight:600}.recent-course-item .item-meta{color:var(--earth-muted);font-size:.88rem;margin-top:.4rem}.error-msg{background:#c16d4b1f;border-radius:18px;color:var(--earth-terracotta);margin-top:.6rem;padding:.9rem 1rem}.course-config{margin:0 auto;max-width:820px}.course-config h2{color:var(--earth-navy);font-family:var(--font-display);font-size:clamp(2rem,4vw,3rem);margin:0 0 1rem}.config-topic{background:#f4efe3f0;border-radius:20px;color:var(--earth-ink);margin-bottom:1.15rem;padding:1rem 1.05rem}.config-slider{background:#ffffffc7;border:1px solid var(--earth-card-line);border-radius:22px;margin-top:.95rem;padding:1.1rem}.config-slider label{color:var(--earth-navy);display:flex;font-weight:500;gap:1rem;justify-content:space-between;margin-bottom:.8rem}.config-slider input[type=range]{accent-color:var(--earth-sea);width:100%}.slider-range{color:var(--earth-muted);display:flex;font-size:.86rem;justify-content:space-between;margin-top:.4rem}.config-actions{display:flex;gap:.8rem;margin-top:1.35rem}.config-actions button{flex:1 1;font-weight:600;padding:.95rem 1.2rem}.config-actions .config-back{background:#12304614;color:var(--earth-navy)}.config-actions .config-generate{background:var(--earth-navy);color:var(--earth-paper)}.course-loading{grid-gap:.8rem;display:grid;gap:.8rem;min-height:360px;padding:1.5rem;place-items:center;text-align:center}.course-loading p{color:var(--earth-navy);line-height:1.6;margin:0}.mini-spinner,.spinner{animation:spin .85s linear infinite;border-radius:50%}.spinner{border:5px solid #1230461f;border-top:5px solid var(--earth-forest);height:58px;width:58px}.mini-spinner{border:3px solid #1230461a;border-top:3px solid var(--earth-sea);height:20px;width:20px}@keyframes spin{to{transform:rotate(1turn)}}.course-roadmap-layout{align-items:stretch;background:#ffffffc7;border:1px solid var(--earth-card-line);border-radius:30px;box-shadow:var(--earth-shadow);display:flex;flex:1 1;min-height:700px;overflow:hidden;overscroll-behavior:contain;width:100%}.course-roadmap-container{background:radial-gradient(circle at top left,#d4a54f1a,#0000 25%),#fbf8f1db;display:flex;flex:1 1;flex-direction:column;height:100%;min-height:0;min-width:0;overflow:hidden}.roadmap-view-toggle{display:inline-flex;gap:.65rem;padding:1rem}.roadmap-view-toggle button{background:#1230460f;color:var(--earth-navy);font-weight:600;padding:.75rem 1rem}.roadmap-view-toggle button.active{background:var(--earth-navy);box-shadow:0 12px 22px #12304626;color:var(--earth-paper)}.roadmap-view-toggle button:disabled{cursor:not-allowed;opacity:.45}.course-flow-container{flex:1 1;min-height:0;overflow:hidden;width:100%}.course-flow-canvas{min-height:360px;width:100%}.roadmap-node{border-radius:22px;border-style:solid;border-width:1px;box-shadow:0 14px 24px #12304614;cursor:pointer;max-width:320px;min-width:240px;padding:16px;transition:transform .16s ease,box-shadow .16s ease}.roadmap-node:hover{box-shadow:0 18px 30px #1230461f;transform:translateY(-2px)}.roadmap-node .node-order{background:#12304614;border-radius:999px;display:inline-flex;font-size:.72rem;letter-spacing:.12em;margin-bottom:.5rem;padding:.3rem .55rem;text-transform:uppercase}.roadmap-node .node-title{font-weight:700;line-height:1.35}.roadmap-node .node-desc{color:#1d2b2fc7;font-size:.86rem;line-height:1.55;margin-top:.45rem}.roadmap-node .node-status-icon{background:var(--earth-paper);border-radius:50%;box-shadow:0 8px 16px #12304624;display:grid;height:30px;place-items:center;position:absolute;right:-10px;top:-10px;width:30px}.node-locked{cursor:not-allowed}.resize-handle{align-items:center;background:#1230460a;cursor:col-resize;display:flex;flex-shrink:0;justify-content:center;width:14px}.resize-handle .resize-handle-line{background:#1230462e;border-radius:999px;height:56px;width:4px}.course-detail-shell{align-self:stretch}.course-detail-shell,.module-detail{display:flex;flex-direction:column;height:100%;min-height:0;overflow:hidden}.module-detail{background:#ffffffe6}.module-detail-header{align-items:center;background:#fbf8f1f2;border-bottom:1px solid #12304614;display:flex;flex-shrink:0;gap:1rem;padding:1.2rem;position:sticky;top:0;z-index:3}.module-detail-header h2{color:var(--earth-navy);flex:1 1;font-family:var(--font-display);font-size:2rem;line-height:1;margin:0}.module-detail-header .close-btn{background:#12304614;border:none;border-radius:50%;color:var(--earth-navy);cursor:pointer;height:38px;width:38px}.module-tabs{background:#fbf8f1f2;display:flex;flex-shrink:0;gap:.7rem;padding:.9rem 1.2rem 0}.module-tabs .module-tab{background:#1230460f;border:none;border-radius:16px;color:var(--earth-navy);cursor:pointer;flex:1 1;font-weight:600;padding:.8rem .95rem}.module-tabs .module-tab.active{background:var(--earth-navy);color:var(--earth-paper)}.module-detail-content{flex:1 1;overflow-y:auto;overscroll-behavior:contain;padding:1.2rem}.module-status-badge{align-items:center;border-radius:999px;display:inline-flex;font-size:.78rem;letter-spacing:.12em;padding:.45rem .8rem;text-transform:uppercase}.module-status-badge.available{background:#6f8d9524;color:var(--earth-navy)}.module-status-badge.locked{background:#94a29e33;color:var(--earth-muted)}.module-status-badge.completed{background:#4e7c7424;color:var(--earth-forest)}.blockchain-result,.module-section,.practice-box,.qa-entry,.quiz-question-box,.quiz-result,.verify-result,.youtube-card{background:#fffc;border:1px solid #1230461a;border-radius:22px}.module-section{margin-bottom:1rem;padding:1rem 1.1rem}.module-section h3{color:var(--earth-muted);font-size:.82rem;letter-spacing:.14em;margin:0 0 .85rem;text-transform:uppercase}.module-section ul{grid-gap:.55rem;display:grid;gap:.55rem;margin:0;padding-left:1rem}.module-section li{line-height:1.6}.module-content-text{color:var(--earth-ink);line-height:1.75}.module-content-text h2,.module-content-text h3,.module-content-text h4,.module-content-text h5{color:var(--earth-navy)!important;font-family:var(--font-display);line-height:1.1;margin:1.2rem 0 .7rem}.module-content-text p{margin:.8rem 0}.module-content-text strong{color:var(--earth-navy)}.module-content-text .md-blockquote,.module-content-text blockquote{background:#f4efe3e6;border-left:4px solid var(--earth-sea);border-radius:0 16px 16px 0;margin:1rem 0;padding:.9rem 1rem}.module-content-text code{background:#12304614;border-radius:8px;font-family:var(--font-mono);font-size:.9em;padding:.18rem .38rem}.module-content-text pre{background:var(--earth-navy);border-radius:18px;overflow-x:auto;padding:1rem}.module-content-text pre code{background:#0000;color:var(--earth-paper)}.practice-box{background:#f4efe3eb;line-height:1.7;padding:1rem}.qa-entry{margin-bottom:.9rem;padding:1rem 1.05rem}.qa-answer,.qa-question{grid-gap:.45rem;display:grid;gap:.45rem}.qa-answer{margin-top:.9rem}.qa-label{background:#12304614;border-radius:999px;display:inline-flex;font-size:.72rem;letter-spacing:.12em;padding:.28rem .55rem;text-transform:uppercase;width:fit-content}.qa-label.ai{background:#4e7c7424;color:var(--earth-forest)}.ask-ai-bar{display:flex;gap:.7rem;margin-top:1rem}.ask-ai-input{background:#fbf8f1e6;border:1px solid #12304624;border-radius:999px;flex:1 1;padding:.9rem 1rem}.ask-ai-btn{background:var(--earth-navy);color:var(--earth-paper);font-weight:600;padding:.9rem 1rem}.ask-ai-btn:disabled{cursor:not-allowed;opacity:.42}.practice-section{margin-bottom:1.4rem}.practice-section-title{color:var(--earth-muted);font-size:.82rem;letter-spacing:.14em;margin:0 0 .9rem;text-transform:uppercase}.practice-divider{background:#1230461f;height:1px;margin:1.3rem 0}.flashcard-wrapper{grid-gap:.9rem;display:grid;gap:.9rem}.flashcard-controls-top{align-items:center;display:flex;justify-content:space-between}.flashcard-counter{color:var(--earth-muted);font-size:.82rem;letter-spacing:.12em;text-transform:uppercase}.shuffle-btn{background:#12304614;color:var(--earth-navy);font-weight:600;padding:.65rem .9rem}.flashcard-container{cursor:pointer;perspective:1200px;width:100%}.flashcard-container .flashcard-inner{min-height:240px;position:relative;transform-style:preserve-3d;transition:transform .6s ease}.flashcard-container.flipped .flashcard-inner{transform:rotateY(180deg)}.flashcard-container .flashcard-back,.flashcard-container .flashcard-front{align-items:center;backface-visibility:hidden;border:1px solid #1230461f;border-radius:24px;box-shadow:0 14px 24px #12304614;display:flex;flex-direction:column;gap:.7rem;inset:0;justify-content:center;padding:2rem;position:absolute}.flashcard-container .flashcard-front{background:linear-gradient(180deg,#f4efe3eb,#ffffffeb)}.flashcard-container .flashcard-back{background:linear-gradient(180deg,#dde9e0f5,#ffffffe6);transform:rotateY(180deg)}.flashcard-container .flashcard-label{background:#12304614;border-radius:999px;font-size:.72rem;left:1rem;letter-spacing:.12em;padding:.35rem .55rem;position:absolute;text-transform:uppercase;top:1rem}.flashcard-container .flashcard-text{color:var(--earth-navy);font-size:1.15rem;line-height:1.6;text-align:center}.flashcard-container .flashcard-hint{bottom:1rem;color:var(--earth-muted);font-size:.86rem;position:absolute}.flashcard-controls{display:flex;gap:.8rem;justify-content:space-between}.flashcard-controls button{background:#12304614;color:var(--earth-navy);flex:1 1;font-weight:600;padding:.85rem 1rem}.flashcard-controls button:disabled{cursor:not-allowed;opacity:.4}.quiz-container{grid-gap:1rem;display:grid;gap:1rem}.quiz-question-box{padding:1.1rem}.quiz-header{color:var(--earth-muted);display:flex;font-size:.82rem;gap:1rem;justify-content:space-between;letter-spacing:.12em;margin-bottom:.8rem;text-transform:uppercase}.question-text{color:var(--earth-navy);font-size:1.08rem;font-weight:600;line-height:1.6}.quiz-options{grid-gap:.8rem;display:grid;gap:.8rem}.quiz-option{align-items:flex-start;background:#ffffffd1;border:1px solid #1230461a;border-radius:20px;cursor:pointer;display:flex;gap:.9rem;padding:1rem;text-align:left}.quiz-option:hover:not(:disabled){background:#f4efe3f0}.quiz-option.selected{border-color:#6f8d9566}.quiz-option.correct{background:#4e7c7424;border-color:#4e7c7438}.quiz-option.incorrect{background:#c16d4b1f;border-color:#c16d4b38}.option-letter{align-items:center;background:#12304614;border-radius:50%;color:var(--earth-navy);display:inline-flex;flex-shrink:0;font-weight:700;height:28px;justify-content:center;width:28px}.option-text{line-height:1.6}.quiz-answer-area{grid-gap:.8rem;display:grid;gap:.8rem}.quiz-explanation{background:#f4efe3eb;border-radius:20px;line-height:1.7;padding:1rem 1.05rem}.download-btn,.mark-complete-btn,.quiz-next-btn,.quiz-retest-btn,.quiz-retry-btn,.verify-btn{background:var(--earth-navy);color:var(--earth-paper);font-weight:600;padding:.95rem 1.2rem}.quiz-result{grid-gap:.8rem;display:grid;gap:.8rem;justify-items:center;padding:1.3rem;text-align:center}.quiz-score-circle{background:linear-gradient(135deg,#4e7c742e,#d4a54f33);border-radius:50%;color:var(--earth-navy);display:grid;height:110px;place-items:center;width:110px}.quiz-score-circle.fail{background:linear-gradient(135deg,#c16d4b29,#d4a54f24)}.quiz-score-number{font-size:1.8rem;font-weight:700}.quiz-fail-msg,.quiz-pass-msg,.quiz-score-text{line-height:1.6;margin:0}.quiz-retesting,.youtube-loading{align-items:center;background:#f4efe3eb;border-radius:18px;color:var(--earth-muted);display:inline-flex;gap:.7rem;padding:.9rem 1rem}.youtube-grid{grid-gap:.9rem;display:grid;gap:.9rem}.youtube-card{display:flex;gap:.9rem;overflow:hidden;text-decoration:none}.youtube-card img{background:#12304614;object-fit:cover;width:180px}.video-info{grid-gap:.35rem;display:grid;gap:.35rem;padding:.95rem 1rem .95rem 0}.video-title{color:var(--earth-navy);font-weight:600;line-height:1.5}.video-channel{color:var(--earth-muted);font-size:.86rem}.mark-complete-btn{margin-top:1rem;width:100%}.mark-complete-btn.completed{background:#4e7c7424;color:var(--earth-forest);cursor:default}.certificate-view{grid-gap:1rem;display:grid;gap:1rem;justify-items:center;padding:clamp(1.3rem,2vw,2rem)}.congrats-banner{text-align:center}.congrats-banner h2{color:var(--earth-navy);font-family:var(--font-display);font-size:clamp(2.1rem,4vw,3rem);margin:0}.congrats-banner p{color:var(--earth-muted);margin:.5rem 0 0}.cert-preview{background:radial-gradient(circle at top,#d4a54f1f,#0000 30%),linear-gradient(180deg,#fffffff2,#f4efe3eb);border:1px solid #12304624;border-radius:28px;box-shadow:var(--earth-shadow);padding:clamp(1.8rem,4vw,3rem);text-align:center;width:min(760px,100%)}.cert-brand,.cert-date,.cert-subtitle{color:var(--earth-muted)}.cert-brand{font-size:.78rem;letter-spacing:.22em;text-transform:uppercase}.cert-title{color:var(--earth-navy);font-size:clamp(2.1rem,4vw,3.2rem);margin-top:1rem}.cert-name,.cert-title{font-family:var(--font-display)}.cert-name{color:var(--earth-terracotta);font-size:clamp(2rem,4vw,3.4rem);margin:1.4rem 0}.cert-course{color:var(--earth-navy);font-size:1.1rem;font-weight:600;margin-top:.6rem}.cert-actions,.cert-name-input{width:min(760px,100%)}.cert-name-input{grid-gap:.7rem;display:grid;gap:.7rem}.cert-name-input input{background:#fbf8f1e6;border:1px solid #12304624;border-radius:999px;padding:.95rem 1.1rem;width:100%}.cert-actions{display:flex;justify-content:center}.download-btn,.verify-btn{width:100%}.blockchain-result,.verify-result{padding:1.1rem;width:min(760px,100%)}.blockchain-result-header,.chain-detail-row,.verify-status{align-items:center;display:flex;gap:1rem;justify-content:space-between}.blockchain-result-header{margin-bottom:.8rem}.chain-badge,.chain-confirmed{background:#12304614;border-radius:999px;color:var(--earth-navy);display:inline-flex;font-size:.8rem;padding:.4rem .7rem}.chain-detail-row{border-top:1px solid #12304614;padding:.7rem 0}.chain-label{color:var(--earth-muted)}.chain-value{color:var(--earth-ink);text-align:right}.chain-value.mono{font-family:var(--font-mono);font-size:.85rem;word-break:break-all}.chain-links{margin-top:.95rem}.etherscan-link{background:#12304614;color:var(--earth-navy);display:inline-flex;padding:.8rem 1rem;text-decoration:none}.chain-explain{color:var(--earth-muted);line-height:1.7}.verify-result.verify-ok{background:#4e7c741a}.verify-result.verify-fail{background:#c16d4b1f}.verify-details{margin-top:.9rem}.empty-msg{color:var(--earth-muted)}@media(max-width:1100px){.topic-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.course-roadmap-layout{flex-direction:column;min-height:0}.resize-handle{cursor:row-resize;height:14px;width:100%}.resize-handle .resize-handle-line{height:4px;width:56px}}@media(max-width:720px){.ask-ai-bar,.blockchain-result-header,.chain-detail-row,.config-actions,.course-header,.custom-topic-form,.flashcard-controls,.quiz-header,.youtube-card{align-items:stretch;flex-direction:column}.topic-grid{grid-template-columns:1fr}.roadmap-view-toggle{flex-wrap:wrap}.module-tabs{flex-direction:column}.youtube-card img{max-height:220px;width:100%}}.dashboard-shell{background:radial-gradient(circle at top left,#72b5b92e,#0000 32%),radial-gradient(circle at bottom right,#f373211f,#0000 26%),linear-gradient(180deg,#f7f4eb,#f1ecdf 48%,#ece7d9);min-height:100vh;overflow:hidden;position:relative}.dashboard-noise{background-image:linear-gradient(#07074e0a 1px,#0000 0),linear-gradient(90deg,#07074e0a 1px,#0000 0),radial-gradient(#07074e0f .7px,#0000 0);background-size:96px 96px,96px 96px,18px 18px;inset:0;-webkit-mask-image:linear-gradient(180deg,#000000d9,#00000073);mask-image:linear-gradient(180deg,#000000d9,#00000073);opacity:.85;pointer-events:none;position:absolute}.dashboard-wrapper{margin:0 auto;max-width:1360px;padding:4rem 2rem 4.5rem;position:relative;z-index:1}.dashboard-hero{grid-gap:2rem;align-items:start;display:grid;gap:2rem;grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);margin-bottom:3rem}.hero-copy{max-width:44rem}.hero-kicker{color:var(--earth-sea);font-family:var(--font-label);font-size:.82rem;font-weight:700;letter-spacing:.22em;margin:0 0 .8rem;text-transform:uppercase}.hero-copy h1{color:var(--earth-navy);font-family:var(--font-display);font-size:clamp(3.5rem,8vw,6.4rem);letter-spacing:-.05em;line-height:.92;margin:0;max-width:12ch}.hero-body{color:var(--earth-muted);font-size:1.18rem;line-height:1.65;margin:1.25rem 0 1.6rem;max-width:32rem}.hero-summary{display:flex;flex-wrap:wrap;gap:.8rem}.hero-summary span{background:#ffffffa3;border:1px solid #0b20461f;border-radius:999px;color:var(--earth-navy);font-family:var(--font-label);font-size:.75rem;font-weight:700;letter-spacing:.12em;padding:.7rem 1rem;text-transform:uppercase}.hero-panel{background:linear-gradient(180deg,#ffffffd6,#ffffffb8),#f7f4eb;border:1px solid #0b204629;border-radius:1.6rem;box-shadow:0 22px 50px #0b204614;padding:1.5rem 1.5rem 1.75rem;position:relative}.hero-panel p{color:var(--earth-muted);line-height:1.65;margin:1rem 0 1.35rem}.hero-panel dl{grid-gap:1rem;display:grid;gap:1rem;margin:0}.hero-panel dt{color:var(--earth-terracotta);font-family:var(--font-label);font-size:.7rem;font-weight:700;letter-spacing:.14em;margin-bottom:.2rem;text-transform:uppercase}.hero-panel dd{color:var(--earth-navy);font-size:.98rem;line-height:1.5;margin:0}.hero-panel-header{color:var(--earth-navy);display:flex;font-family:var(--font-label);font-size:.72rem;font-weight:700;gap:1rem;justify-content:space-between;letter-spacing:.16em;text-transform:uppercase}.dashboard-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(3,minmax(0,1fr))}.dashboard-card{background:#ffffffbd;border:1px solid #0b204626;border-radius:1.7rem;box-shadow:0 18px 40px #0b204612;color:var(--earth-navy);display:flex;flex-direction:column;min-height:21rem;overflow:hidden;padding:1.5rem;position:relative;text-decoration:none;transition:transform .24s ease,box-shadow .24s ease,border-color .24s ease}.dashboard-card:after{content:"";height:38%;inset:auto 0 0;opacity:.9;pointer-events:none;position:absolute}.dashboard-card:hover{border-color:#0b20463d;box-shadow:0 24px 48px #0b20461f;transform:translateY(-4px)}.dashboard-card h2{font-family:var(--font-display);font-size:2.35rem;letter-spacing:-.04em;line-height:.95;margin:1.15rem 0 .75rem;position:relative;z-index:1}.dashboard-card p{color:var(--earth-muted);line-height:1.65;margin:0;position:relative;z-index:1}.card-eyebrow,.card-footer{align-items:center;display:flex;gap:1rem;justify-content:space-between;position:relative;z-index:1}.card-eyebrow span,.card-footer span{font-family:var(--font-label);font-size:.72rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase}.card-eyebrow span{color:var(--earth-terracotta)}.card-footer{color:var(--earth-navy);margin-top:auto;padding-top:1.5rem}.card-cta{background:#0b204614;border-radius:999px;padding:.65rem .85rem}.accent-sea:after{background:radial-gradient(circle at 12% 18%,#72b5b938,#0000 22%),linear-gradient(180deg,#0000,#2f83a624)}.accent-gold:after{background:radial-gradient(circle at 84% 26%,#fdb71442,#0000 22%),linear-gradient(180deg,#0000,#f373211f)}.accent-terracotta:after{background:radial-gradient(circle at 24% 22%,#f3732133,#0000 22%),linear-gradient(180deg,#0000,#72b5b924)}@media(max-width:1080px){.dashboard-grid,.dashboard-hero{grid-template-columns:1fr}}@media(max-width:720px){.dashboard-wrapper{padding:2.6rem 1rem 3.25rem}.dashboard-card{min-height:18rem}.dashboard-card h2{font-size:2rem}}.console-global-header{align-items:center;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:linear-gradient(180deg,#f7f4ebf5,#f7f4ebeb),var(--earth-sand);border-bottom:1px solid var(--earth-line);display:flex;gap:2rem;justify-content:space-between;padding:1rem 2rem;position:sticky;top:0;z-index:1000}.cgh-left,.cgh-right{align-items:center;display:flex;gap:1.25rem}.cgh-logo{color:var(--earth-navy);display:flex;flex-direction:column;gap:.15rem;text-decoration:none}.cgh-logo-mark{color:var(--earth-sea);font-family:var(--font-label);font-size:.74rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase}.cgh-logo-name{font-family:var(--font-display);font-size:1.55rem;letter-spacing:-.03em;line-height:1}.cgh-meta{display:flex;flex-direction:column;gap:.2rem;max-width:26rem}.cgh-meta p{color:var(--earth-muted);font-size:.92rem;line-height:1.45;margin:0}.cgh-kicker{color:var(--earth-terracotta);font-family:var(--font-label);font-size:.72rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase}.cgh-nav{align-items:stretch;display:flex;gap:.75rem}.cgh-link{background:#ffffffad;border:1px solid #0b204626;border-radius:1.1rem;color:var(--earth-navy);display:flex;flex-direction:column;gap:.1rem;min-width:8.6rem;padding:.75rem .95rem;text-decoration:none;transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease,background-color .2s ease}.cgh-link:hover{border-color:#0b204647;box-shadow:0 10px 22px #0b204614;transform:translateY(-1px)}.cgh-link.active{background:var(--earth-navy);border-color:var(--earth-navy);box-shadow:0 12px 26px #0b20462e;color:var(--earth-paper)}.cgh-link-label{font-family:var(--font-label);font-size:.68rem;font-weight:700;letter-spacing:.16em;opacity:.7;text-transform:uppercase}.cgh-link-text{font-size:.98rem;font-weight:600;line-height:1.2}.cgh-link.active .cgh-link-label,.cgh-link.active .cgh-link-text{color:var(--earth-paper)}.cgh-link.active .cgh-link-label{opacity:.86}.cgh-badge{background:#ffffffb3;border:1px solid #0b204626;border-radius:999px;color:var(--earth-muted);font-family:var(--font-label);font-size:.72rem;font-weight:700;letter-spacing:.14em;padding:.7rem .9rem;text-transform:uppercase}@media(max-width:1120px){.console-global-header{align-items:flex-start;flex-direction:column}.cgh-nav,.cgh-right{flex-wrap:wrap;width:100%}}@media(max-width:720px){.console-global-header{padding:1rem 1rem 1.1rem}.cgh-left,.cgh-right{align-items:flex-start;flex-direction:column;width:100%}.cgh-link{min-width:0;width:100%}.cgh-meta{max-width:none}}
/*# sourceMappingURL=main.14f01188.css.map*/