@import"https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:wght@400;500;600;700&family=Sora:wght@500;600;700&display=swap";:root{--bg: #f1eee4;--bg-2: #ebe7dc;--panel: #fefcf7;--panel-strong: #fffdf9;--line: #d9ccbb;--text: #1b242d;--muted: #4f5d66;--accent: #0b6f7e;--accent-strong: #075461;--accent-soft: #d6edf0;--ink-soft: #f3f9fb;--danger: #b12b2b;--shadow-soft: 0 20px 36px -26px rgba(24, 47, 55, .42);--shadow-lift: 0 28px 48px -30px rgba(11, 58, 69, .56)}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;background:radial-gradient(circle at 10% 14%,#fff8df 0%,transparent 36%),radial-gradient(circle at 84% 4%,#cfeaf0 0%,transparent 36%),radial-gradient(circle at 50% 120%,#f9d7b6 0%,transparent 44%),linear-gradient(165deg,var(--bg) 0%,var(--bg-2) 100%);color:var(--text);font-family:IBM Plex Sans,Segoe UI,sans-serif;line-height:1.55}.app-shell{max-width:1180px;margin:0 auto;padding:2.4rem 1rem 3.25rem;display:grid;gap:1.2rem}.simple-panel{background:var(--panel);border:1px solid var(--line);border-radius:24px;padding:1.35rem;box-shadow:var(--shadow-soft)}.simple-panel h1,.simple-panel h2,.simple-panel h3{margin:0}.simple-panel h2{font-size:1.3rem;font-family:Sora,IBM Plex Sans,sans-serif;letter-spacing:-.015em}.subtle-copy{margin:.42rem 0 .95rem;color:var(--muted)}.hero-panel{position:relative;overflow:hidden;background:linear-gradient(140deg,#fffdf8,#f5f9fb 52%,#e6f4f7)}.hero-panel:before,.hero-panel:after{content:"";position:absolute;border-radius:50%;pointer-events:none}.hero-panel:before{width:280px;height:280px;top:-160px;right:-50px;background:radial-gradient(circle,#0b6f7e33,#0b6f7e00 72%)}.hero-panel:after{width:320px;height:320px;bottom:-210px;left:-120px;background:radial-gradient(circle,#f4a36033,#f4a36000 74%)}.home-hero>*{position:relative;z-index:1}.hero-grid{display:grid;gap:1rem;grid-template-columns:1fr}.kicker{margin:0;font-size:.75rem;font-weight:700;letter-spacing:.11em;text-transform:uppercase;color:#0b6f7e}.hero-title{margin:.24rem 0 .35rem;font-size:clamp(2rem,3.3vw,3rem);line-height:1.06;letter-spacing:-.035em;font-family:Sora,IBM Plex Sans,sans-serif}.hero-copy{max-width:64ch}.hero-chip-row{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.8rem}.chip-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid #b6dce2;background:#f3fbfd;color:#095968;border-radius:999px;font-weight:600;font-size:.82rem;padding:.34rem .7rem;cursor:pointer;transition:transform .16s ease,border-color .16s ease,background .16s ease}.chip-button:hover{transform:translateY(-1px);border-color:#79bfca;background:#e7f7fa}.hero-status-card{border:1px solid #c7e4e9;background:linear-gradient(170deg,#f8fdfe,#ecf7fa);border-radius:16px;padding:.9rem}.status-kicker{margin:0;color:#0a6473;text-transform:uppercase;letter-spacing:.09em;font-size:.72rem;font-weight:700}.hero-status-card h3{margin-top:.2rem;font-size:1rem}.hero-status-card p{margin:.3rem 0;color:var(--muted);font-size:.9rem}.analysis-meter{margin-top:.7rem;width:100%;height:10px;border-radius:999px;border:1px solid #b8dbe2;background:#f7fcfd;overflow:hidden}.analysis-meter-fill{height:100%;border-radius:inherit;background:linear-gradient(90deg,#0b6f7e,#1e8ea0);transition:width .32s ease}.analysis-percent{margin:.4rem 0 0;font-variant-numeric:tabular-nums;font-weight:600;color:#0a6473}.search-form{display:grid;gap:.7rem;grid-template-columns:1fr;margin-top:1rem}.elevated-form{padding:.85rem;border-radius:16px;border:1px solid #d9e7ea;background:var(--panel-strong)}.search-form input,.search-form button{width:100%;height:48px;border-radius:11px;border:1px solid var(--line);padding:0 .85rem;font-size:.95rem;font-family:inherit}.search-form input{background:#fff}.search-form input:focus{border-color:#7fbec8;box-shadow:0 0 0 3px #0b6f7e29;outline:none}.search-form button{border-color:var(--accent);background:linear-gradient(140deg,var(--accent),#13879c);color:#fff;font-weight:700;cursor:pointer;transition:transform .15s ease,filter .15s ease}.search-form button:hover:not(:disabled){transform:translateY(-1px);filter:saturate(110%)}.search-form button:disabled{opacity:.65;cursor:default}.error-banner{margin-top:.8rem;margin-bottom:0;color:var(--danger);font-weight:600}.results-panel{border-color:#d3cab9}.results-panel-head{display:flex;gap:.8rem;justify-content:space-between;align-items:flex-start;flex-wrap:wrap}.results-title{margin-bottom:.18rem}.results-meta{margin-top:0}.result-count-badge{background:#f0f8fb;color:#0b6372;border:1px solid #b5d7de;border-radius:999px;padding:.32rem .72rem;font-size:.82rem;font-weight:600;white-space:nowrap}.section-copy{margin-top:.1rem}.results-list{display:grid;gap:1rem;margin-top:1rem}.result-item{border:1px solid #d9d1c3;border-radius:18px;padding:1rem;background:linear-gradient(180deg,#fff,#f7fafc);box-shadow:0 16px 28px -24px #0f313a85;transition:transform .15s ease,box-shadow .18s ease}.result-item:hover{transform:translateY(-2px);box-shadow:var(--shadow-lift)}.result-header{display:flex;align-items:baseline;justify-content:space-between;gap:.8rem}.result-header h3{font-size:1.08rem;font-family:Sora,IBM Plex Sans,sans-serif}.score-chip{font-size:.8rem;color:#0f596a;background:var(--accent-soft);border:1px solid #a5d4de;border-radius:999px;padding:.2rem .65rem;white-space:nowrap}.meta-line{color:var(--muted);margin:.44rem 0 .38rem}.source-line{display:flex;flex-wrap:wrap;gap:.42rem 1rem;align-items:center;margin:0 0 .78rem;color:var(--muted);font-size:.92rem}.source-line a{color:#0b6476;text-decoration:none;font-weight:600}.source-line a:hover{text-decoration:underline}.criteria-grid{display:grid;grid-template-columns:1fr auto;gap:.36rem .84rem;margin:0 0 .78rem}.criteria-grid dt,.criteria-grid dd{margin:0;font-size:.92rem}.criteria-grid dt{color:var(--muted)}.criteria-grid-rich dd{display:inline-flex;align-items:center;justify-content:flex-end;gap:.58rem}.criterion-score{font-variant-numeric:tabular-nums}.criterion-link{color:#0a5f70;text-decoration:none;border:1px solid #b4d5dc;background:var(--ink-soft);border-radius:999px;font-size:.76rem;font-weight:700;padding:.1rem .5rem}.criterion-link:hover{border-color:#7cbec9}.result-item a{color:var(--accent-strong);font-weight:600;text-decoration:none}.result-item a:hover{text-decoration:underline}.resource-link{display:inline-flex;align-items:center;gap:.4rem;font-weight:700}.spinner{border:3px solid #d3deea;border-top-color:var(--accent);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes rise-fade{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.home-hero{animation:rise-fade .42s ease-out}.results-panel{animation:rise-fade .36s ease-out}@media (min-width: 860px){.hero-grid{grid-template-columns:1.2fr minmax(220px,320px);align-items:start}.search-form{grid-template-columns:1.15fr 1fr auto}.search-form button{width:172px}.results-list{grid-template-columns:1fr 1fr}}@media (max-width: 720px){.app-shell{padding:1.6rem .8rem 2.2rem}.simple-panel{border-radius:18px;padding:1rem}.hero-title{font-size:clamp(1.8rem,9vw,2.2rem)}.criteria-grid{grid-template-columns:1fr}.criteria-grid-rich dd{justify-content:flex-start}}.dark{--bg-app: #000000;--bg-elev: #09090b;--surface: #0f0f13;--surface-strong: #15151c;--surface-alt: #1b1b24;--line-strong: #2a2a39;--line-soft: #232332;--line-subtle: #2c2c3d;--text-primary: #ffffff;--text-strong: #ffffff;--text-secondary: #b5b5c7;--muted-strong: #a0a0b6;--accent: #8b5cf6;--accent-strong: #a78bfa;--accent-soft: #241a3f;--ink-soft: #121219;--glow: 0 12px 28px -18px #000000}.dark html,.dark body{background:#000}.dark .top-nav,.dark .side-nav,.dark .panel,.dark .results-header,.dark .analysis-header,.dark .detail-header,.dark .resource-card,.dark .featured-resource-card,.dark .empty-results-card,.dark .scraper-form-panel,.dark .scraper-hero-stat,.dark .filters-panel,.dark .score-panel,.dark .topics-panel,.dark .syllabus-panel,.dark .gap-panel,.dark .progress-panel,.dark .mini-card,.dark .hero-result,.dark .feature-card,.dark .detail-grid .panel,.dark .context-card,.dark .side-status-card,.dark .header-stat-card,.dark .scrape-step,.dark .card-section,.dark .rubric-row,.dark .topic-item,.dark .scan-line,.dark .learning-outcome{background:var(--surface);border-color:var(--line-subtle);box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}.dark .top-link:hover,.dark .top-link.active,.dark .side-link:hover,.dark .side-link.active,.dark .pill.active,.dark .topic-item.in-progress,.dark .scan-line.active{background:var(--accent-soft);border-color:var(--accent);color:var(--text-primary)}.dark .chip-button,.dark .secondary-action,.dark .pill,.dark .icon-btn,.dark .avatar-pill,.dark .result-badge,.dark .score-chip,.dark .score-chip-large,.dark .rank-pill{background:#12121a;border:1px solid var(--line-subtle);color:var(--text-primary)}.dark .primary-action,.dark .dashboard-search button,.dark .search-form button,.dark .export-btn{background:var(--accent);color:#fff}.dark .dashboard-search input,.dark .search-form input,.dark .search-pill input,.dark .scraper-field input{background:#08080d;color:var(--text-primary);border-color:var(--line-subtle)}.dark .dashboard-search input:focus,.dark .search-form input:focus,.dark .search-pill input:focus,.dark .scraper-field input:focus{border-color:var(--accent);box-shadow:0 0 0 3px #241a3f}.dark .analysis-meter,.dark .meter,.dark .rubric-bar{background:#08080d;border-color:var(--line-subtle)}.dark .analysis-meter-fill,.dark .meter>div,.dark .rubric-bar>div{background:var(--accent)}.dark .resource-icon-square,.dark .hero-result-media,.dark .dashboard-hero,.dark .pipeline-card,.dark .featured-resource-card,.dark .result-item{background:var(--surface)}.dark .action-row a,.dark .resource-card a,.dark .featured-resource-copy a,.dark .source-line a,.dark .result-item a,.dark .criterion-link,.dark .tiny-tag,.dark .eyebrow,.dark .chip,.dark .stat-label,.dark .result-badge,.dark .kicker,.dark .status-kicker{color:var(--accent-strong)}:root{--bg-app: #f4efe5;--bg-elev: rgba(255, 255, 255, .76);--text-primary: #1a2630;--text-secondary: #60727f;--accent: #19a2bd;--accent-strong: #11849a;--line-subtle: rgba(24, 61, 74, .12);--glow: 0 16px 40px -26px rgba(25, 162, 189, .65)}html,body{background:radial-gradient(circle at 8% 8%,rgba(25,162,189,.14),transparent 22%),radial-gradient(circle at 90% 0%,rgba(94,130,255,.14),transparent 28%),var(--bg-app);transition:background .26s ease}body{color:var(--text-primary)}.dark{--bg-app: #090f16;--bg-elev: rgba(15, 22, 33, .76);--surface: rgba(14, 22, 34, .82);--surface-strong: rgba(18, 28, 44, .96);--surface-alt: rgba(21, 34, 52, .95);--line-strong: rgba(126, 164, 205, .2);--line-soft: rgba(126, 164, 205, .18);--text-strong: #eef4ff;--muted-strong: #9cb2cb;--text-primary: #ecf3ff;--text-secondary: #9fb6ce;--accent: #3ebbe0;--accent-strong: #8de8ff;--accent-soft: rgba(62, 187, 224, .18);--ink-soft: rgba(20, 31, 48, .92);--line-subtle: rgba(137, 191, 255, .2);--glow: 0 18px 50px -28px rgba(62, 187, 224, .58)}.app-root{min-height:100vh;background:transparent}.top-nav,.side-nav,.panel,.results-header,.analysis-header,.detail-header{transition:background .22s ease,border-color .22s ease,box-shadow .22s ease,transform .22s ease}.panel,.results-header,.analysis-header,.detail-header,.resource-card,.featured-resource-card,.empty-results-card,.scraper-form-panel,.scraper-hero-stat{background:var(--bg-elev);border-color:var(--line-subtle);box-shadow:var(--glow);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.top-nav{border-color:var(--line-subtle)}.top-link,.side-link,.secondary-action,.chip-button,.pill,.icon-btn{transition:all .18s ease}.top-link:hover,.top-link.active,.side-link:hover,.side-link.active{transform:translateY(-1px)}.mobile-only{display:none}.desktop-only{display:flex}.top-links-mobile{display:none}.side-status-card{border:1px solid var(--line-subtle);border-radius:16px;padding:.85rem .9rem;background:var(--surface-strong)}.status-dot{width:.6rem;height:.6rem;border-radius:999px;background:#3ed174;display:inline-block;margin-right:.45rem;box-shadow:0 0 0 6px #3ed17429;animation:pulse 1.8s ease-in-out infinite;vertical-align:middle}.side-nav .mobile-only{display:none!important}.loading-inline{margin-top:.7rem;display:inline-flex;gap:.55rem;align-items:center;color:var(--text-secondary);font-size:.9rem}.loading-inline .spinner{width:16px;height:16px;border-width:2px}.single-column{grid-template-columns:1fr!important}.skeleton-card{gap:.75rem}.skeleton{border-radius:10px;background:linear-gradient(90deg,#788ea62e,#a2c2e938,#788ea62e);background-size:220% 100%;animation:shimmer 1.5s linear infinite}.skeleton-title{height:20px;width:58%}.skeleton-line{height:14px;width:100%}.skeleton-line.short{width:74%}.dashboard-info-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem}.feature-card{border:1px solid var(--line-subtle);background:var(--surface-strong)}.feature-card .material-symbols-outlined{color:var(--accent)}.header-stat-group{display:flex;gap:.6rem;flex-wrap:wrap}.header-stat-card{border:1px solid var(--line-subtle);background:var(--surface-strong);border-radius:14px;padding:.55rem .8rem;min-width:130px}.header-stat-card span{display:block;color:var(--text-secondary);font-size:.76rem;text-transform:uppercase;letter-spacing:.08em;font-weight:700}.header-stat-card strong{font-size:1.05rem;color:var(--text-primary)}.scrape-step-grid{margin-top:.9rem;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.55rem}.scrape-step{border:1px solid var(--line-subtle);border-radius:14px;padding:.65rem;background:var(--surface-strong)}.scrape-step span{width:1.35rem;height:1.35rem;border-radius:999px;border:1px solid var(--line-subtle);display:inline-grid;place-items:center;font-size:.75rem;font-weight:700;color:var(--text-secondary)}.scrape-step p{margin:.4rem 0 0;font-size:.85rem;color:var(--text-secondary)}.scrape-step.active{border-color:#3ebbe06b;box-shadow:0 0 0 2px #3ebbe01f}.scrape-step.active span{color:var(--accent-strong);border-color:#3ebbe06b}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(.88)}}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-20% 0}}@keyframes card-in{0%{opacity:0;transform:translateY(8px) scale(.995)}to{opacity:1;transform:translateY(0) scale(1)}}@media (max-width: 1100px){.dashboard-info-grid{grid-template-columns:1fr}}@media (max-width: 900px){.mobile-only{display:inline-flex}.desktop-only{display:none!important}.top-nav{align-items:center;flex-direction:row;justify-content:space-between}.top-nav-left{width:auto}.top-links{display:none}.brand-wordmark{margin-right:auto}.top-links-mobile{width:100%;display:grid;gap:.35rem;max-height:0;overflow:hidden;transition:max-height .2s ease}.top-links-mobile.open{max-height:240px;margin-top:.75rem}.top-links-mobile .top-link{border-radius:12px;border:1px solid var(--line-subtle)}.top-nav-right{display:flex;align-items:center;gap:.5rem;width:auto}.side-nav{display:none}}@media (max-width: 760px){.top-nav-right{width:100%;justify-content:flex-start}.scrape-step-grid{grid-template-columns:1fr 1fr}}.top-links.desktop-only{flex-wrap:nowrap}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.status-dot,.skeleton,.resource-card-grid .resource-card{animation:none!important}}.dark{--bg-app: #071017;--bg-elev: rgba(14, 25, 34, .88);--surface: rgba(16, 30, 41, .92);--surface-strong: rgba(20, 37, 51, .96);--surface-alt: rgba(23, 44, 60, .96);--line-strong: rgba(101, 188, 209, .38);--line-soft: rgba(101, 188, 209, .26);--text-strong: #edf9ff;--muted-strong: #9dc2cf;--text-primary: #eef9ff;--text-secondary: #a7c8d4;--accent: #4fc0d8;--accent-strong: #baf2ff;--accent-soft: rgba(79, 192, 216, .2);--ink-soft: rgba(13, 29, 40, .92);--line-subtle: rgba(109, 193, 213, .28);--glow: 0 20px 52px -30px rgba(55, 160, 183, .65)}.resource-card-rich{border:1px solid var(--line-subtle);border-radius:20px;padding:.85rem;overflow:hidden;display:grid;gap:.6rem}.card-section{border:1px solid var(--line-subtle);border-radius:14px;padding:.65rem .72rem;background:#ffffff08}.card-header-section{display:flex;justify-content:space-between;align-items:flex-start;gap:.7rem}.resource-card-head{align-items:center;gap:.72rem;width:100%}.resource-heading-copy{min-width:0}.resource-heading-copy h3{margin:.15rem 0 0}.resource-domain{margin:.2rem 0 0;color:var(--muted-strong);font-size:.82rem}.resource-icon-square{position:relative;width:64px;height:64px;border-radius:14px;overflow:hidden;flex-shrink:0;border:1px solid var(--line-subtle);background:linear-gradient(145deg,#0b6f7e47,#18b1c13d),#dcf4f97a}.resource-icon-square img{width:100%;height:100%;object-fit:cover;display:block}.resource-icon-square .material-symbols-outlined{position:absolute;right:.18rem;bottom:.18rem;font-size:1rem;background:#082c36d1;color:#bff5ff;border-radius:8px;padding:.12rem}.rank-pill{position:static;display:inline-flex;align-items:center;border-radius:999px;padding:.12rem .52rem;background:#0b6f7e24;color:var(--accent-strong);font-size:.72rem;font-weight:800;border:1px solid var(--line-subtle);margin:0}.card-body-section p{margin:.2rem 0 .5rem}.card-body-section p:last-child{margin-bottom:0}.score-chip-large{font-size:.92rem;padding:.32rem .8rem;border:1px solid var(--line-subtle);align-self:center}.rubric-title{margin:0 0 .4rem;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;font-weight:700;color:var(--accent-strong)}.rubric-strip{display:grid;gap:.44rem}.rubric-row{border:1px solid var(--line-subtle);border-radius:12px;padding:.4rem .5rem;background:#ffffff0a}.rubric-row-head{display:flex;justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.3rem;font-size:.8rem;text-transform:capitalize;color:var(--text-secondary)}.rubric-row-head strong{color:var(--text-primary)}.rubric-bar{height:8px;border-radius:999px;overflow:hidden;background:#62adbd33;border:1px solid rgba(98,173,189,.22)}.rubric-bar>div{height:100%;border-radius:inherit;background:linear-gradient(90deg,#0d93a8,#27b4ca 58%,#7ddfec)}.card-footer-section .action-row{justify-content:space-between}.score-excellent .score-chip-large{background:#46dba82e;color:#38cba1}.score-strong .score-chip-large{background:#4fc0d82e;color:#1ca6be}.score-fair .score-chip-large{background:#f1bc5e33;color:#d49a31}.score-weak .score-chip-large{background:#f27b7b2e;color:#d45f5f}@media (max-width: 760px){.card-header-section{flex-direction:column;align-items:stretch}.score-chip-large{align-self:flex-start}}:root{--surface: rgba(255, 252, 247, .9);--surface-strong: #ffffff;--surface-alt: #f6f1e7;--line-strong: #d6cabc;--line-soft: #ebe2d6;--text-strong: #18222b;--muted-strong: #576673;--accent-2: #9d5f2f}.app-root{min-height:100vh}.dashboard-layout{display:grid;grid-template-columns:280px minmax(0,1fr);min-height:calc(100vh - 76px)}.top-nav{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.25rem;border-bottom:1px solid rgba(217,204,187,.75);background:#fefcf7db;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);position:sticky;top:0;z-index:30}.top-nav-left,.top-nav-right,.top-links{display:flex;align-items:center}.top-nav-left{gap:1rem}.brand-wordmark{font-family:Sora,IBM Plex Sans,sans-serif;font-weight:700;letter-spacing:-.03em;font-size:1.05rem;color:var(--text-strong);white-space:nowrap}.top-links{gap:.55rem;flex-wrap:wrap}.top-link,.side-link{text-decoration:none;color:var(--muted-strong);font-weight:600;transition:background .16s ease,color .16s ease,border-color .16s ease,transform .16s ease}.top-link{padding:.56rem .86rem;border-radius:999px;border:1px solid transparent;white-space:nowrap}.top-link:hover,.top-link.active{color:var(--text-strong);background:#0b6f7e14;border-color:#0b6f7e29}.top-nav-right{gap:.5rem}.icon-btn,.avatar-pill{border-radius:999px;border:1px solid var(--line-soft);background:var(--surface-strong)}.icon-btn{width:2.4rem;height:2.4rem;display:inline-flex;align-items:center;justify-content:center;color:var(--text-strong);cursor:pointer}.icon-btn:hover{border-color:var(--accent);color:var(--accent)}.avatar-pill{min-width:2.4rem;height:2.4rem;display:inline-flex;align-items:center;justify-content:center;padding:0 .8rem;font-size:.82rem;font-weight:700;color:var(--accent-strong);background:var(--accent-soft);border-color:#0b6f7e29}.side-nav{position:sticky;top:76px;align-self:start;display:flex;flex-direction:column;gap:1rem;min-height:calc(100vh - 76px);padding:1.1rem;border-right:1px solid rgba(217,204,187,.7);background:#fbf8f2b8;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.context-card{display:flex;gap:.85rem;align-items:center;padding:.95rem;border:1px solid var(--line-soft);border-radius:18px;background:var(--surface-strong);box-shadow:0 16px 30px -28px #0f27306b}.context-icon{width:2.6rem;height:2.6rem;display:inline-flex;align-items:center;justify-content:center;border-radius:14px;background:linear-gradient(145deg,#0b6f7e24,#9d5f2f24);color:var(--accent-strong)}.context-title,.context-subtitle{margin:0}.context-title{font-size:.74rem;text-transform:uppercase;letter-spacing:.09em;color:var(--muted-strong);font-weight:700}.context-subtitle{color:var(--text-strong);font-weight:600}.context-note{margin:.2rem 0 0;font-size:.8rem;color:var(--muted-strong)}.side-nav-links{display:grid;gap:.5rem}.side-link{display:flex;align-items:center;gap:.75rem;padding:.8rem .95rem;border-radius:16px;border:1px solid transparent}.side-link:hover,.side-link.active{color:var(--text-strong);background:#0b6f7e14;border-color:#0b6f7e29;transform:translate(1px)}.export-btn{margin-top:auto;border:1px solid var(--accent);background:linear-gradient(135deg,var(--accent),#118295);color:#fff;border-radius:16px;padding:.9rem 1rem;font-weight:700;cursor:pointer}.canvas,.dashboard-page{width:100%;min-width:0}.canvas.with-side-nav,.dashboard-page{display:grid;gap:1rem;padding:1.25rem;align-content:start}.canvas.with-side-nav{grid-template-columns:minmax(0,1fr)}.panel,.simple-panel,.search-panel,.dashboard-hero,.dashboard-results,.featured-resource-card,.resource-card,.empty-results-card,.analysis-header,.detail-header,.results-header,.empty-state-card{border:1px solid var(--line-strong);background:var(--surface);border-radius:24px;box-shadow:0 18px 34px -28px #12272f61}.panel,.analysis-header,.detail-header,.results-header,.empty-state-card{padding:1.2rem}.eyebrow,.chip,.tiny-tag,.stat-label,.stat-note,.result-badge,.eyebrow+h2{letter-spacing:.08em}.eyebrow,.chip,.tiny-tag,.stat-label,.stat-note,.result-badge{font-size:.74rem;text-transform:uppercase;font-weight:700}.eyebrow,.chip,.tiny-tag,.stat-label,.result-badge{color:var(--accent)}.dashboard-hero{display:grid;gap:1rem;grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr);align-items:start;overflow:hidden;position:relative;background:radial-gradient(circle at 92% 8%,rgba(11,111,126,.12),transparent 26%),radial-gradient(circle at 8% 92%,rgba(157,95,47,.12),transparent 30%),var(--surface)}.dashboard-hero-copy h1{margin:.25rem 0 .45rem;max-width:16ch;font-family:Sora,IBM Plex Sans,sans-serif;font-size:clamp(2.15rem,4vw,3.65rem);line-height:1;letter-spacing:-.04em}.lead-copy,.muted-copy,.pipeline-card p,.featured-resource-copy p,.resource-card p,.empty-results-card p,.analysis-header p,.detail-header p,.results-header p{color:var(--muted-strong)}.dashboard-stats{display:grid;gap:.75rem;margin-top:1rem;grid-template-columns:repeat(3,minmax(0,1fr))}.stat-card{padding:.95rem;border:1px solid var(--line-soft);border-radius:18px;background:var(--surface-strong)}.stat-card strong{display:block;margin:.2rem 0 .18rem;font-size:1rem;color:var(--text-strong)}.stat-note{color:var(--muted-strong);text-transform:none;letter-spacing:0;font-weight:600}.quick-course-row{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1rem}.pipeline-card{padding:1.05rem;border:1px solid rgba(166,202,208,.84);border-radius:20px;background:linear-gradient(180deg,#f6fcfdfa,#ecf5f8fa)}.pipeline-card h2,.search-panel h2,.dashboard-results h2,.results-header h1,.analysis-header h1,.detail-header h1{margin:0;color:var(--text-strong);font-family:Sora,IBM Plex Sans,sans-serif;letter-spacing:-.03em}.analysis-meter,.meter{width:100%;height:12px;border-radius:999px;border:1px solid rgba(182,220,226,.95);background:#ffffffd6;overflow:hidden}.analysis-meter-fill,.meter>div{height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--accent),#1e8ea0);transition:width .28s ease}.pipeline-footer,.section-heading,.results-panel-head,.meta-row,.action-row,.resource-card-head,.header-actions,.metric-row{display:flex;gap:.75rem;justify-content:space-between;align-items:center}.pipeline-footer{margin-top:.9rem;align-items:center}.pipeline-stage-note{margin:.65rem 0 0;font-size:.9rem;color:var(--muted-strong)}.secondary-action,.primary-action,.dashboard-search button,.chip-button,.export-btn,.search-form button,.resource-link,.action-row a,.detail-body a,.results-header button,.analysis-header button{border:none;text-decoration:none}.secondary-action,.primary-action,.dashboard-search button{border-radius:14px;padding:.82rem 1rem;font-weight:700;cursor:pointer}.secondary-action{border:1px solid var(--line-soft);background:#ffffffdb;color:var(--text-strong)}.secondary-action:hover:not(:disabled){border-color:#0b6f7e47}.secondary-action:disabled,.dashboard-search button:disabled,.chip-button:disabled,.primary-action:disabled{opacity:.6;cursor:not-allowed}.primary-action,.dashboard-search button,.search-form button,.export-btn{background:linear-gradient(135deg,var(--accent),#13879c);color:#fff}.dashboard-search{display:grid;gap:.75rem;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr) auto;margin-top:.9rem}.dashboard-search input,.search-form input,.search-pill input,.dashboard-search button{height:50px;border-radius:14px;border:1px solid var(--line-soft);padding:0 .95rem;font:inherit}.dashboard-search input,.search-form input,.search-pill input{background:#fffffff5;color:var(--text-strong)}.dashboard-search input:focus,.search-form input:focus,.search-pill input:focus{outline:none;border-color:#0b6f7e5c;box-shadow:0 0 0 3px #0b6f7e24}.dashboard-results{display:grid;gap:1rem}.result-badge{padding:.35rem .7rem;border-radius:999px;border:1px solid rgba(11,111,126,.16);background:#d6edf0b8}.featured-resource-card,.resource-card,.empty-results-card,.analysis-header,.detail-header,.results-header{padding:1.1rem}.featured-resource-card{display:grid;grid-template-columns:1fr;gap:.75rem;background:linear-gradient(160deg,#fffffff7,#f4f9fbf2)}.featured-resource-card h3,.resource-card h3,.empty-results-title,.score-panel h3,.topics-panel h3,.analysis-grid h3,.detail-grid h3{margin:0;color:var(--text-strong);font-family:Sora,IBM Plex Sans,sans-serif;letter-spacing:-.025em}.resource-card-grid,.results-layout,.analysis-grid,.detail-grid,.mini-grid{display:grid;gap:1rem}.resource-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.resource-card{display:grid;gap:.7rem;background:var(--surface-strong)}.resource-card-grid .resource-card{animation:card-in .36s ease both}.resource-card-grid .resource-card:nth-child(1){animation-delay:40ms}.resource-card-grid .resource-card:nth-child(2){animation-delay:90ms}.resource-card-grid .resource-card:nth-child(3){animation-delay:.14s}.resource-card-grid .resource-card:nth-child(4){animation-delay:.19s}.resource-card-grid .resource-card:nth-child(5){animation-delay:.24s}.resource-card-head h3{font-size:1rem}.score-chip,.pill,.topic-item,.quality-score,.score-panel strong,.meta-row span,.tiny-tag{font-variant-numeric:tabular-nums}.score-chip,.pill,.quality-score{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;font-weight:700}.score-chip{padding:.2rem .65rem;background:#d6edf0c7;color:var(--accent-strong)}.meta-row{justify-content:flex-start;flex-wrap:wrap;font-size:.9rem;color:var(--muted-strong)}.action-row{justify-content:flex-start;flex-wrap:wrap}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;background:#0a10189e;display:grid;place-items:center;padding:1rem}.details-modal{width:min(920px,100%);max-height:calc(100vh - 2rem);overflow-y:auto;padding:1.25rem}.modal-close{width:2.25rem;height:2.25rem;border-radius:999px;border:1px solid var(--line-soft);background:var(--surface-strong);color:var(--text-strong);font-weight:700;cursor:pointer}.modal-close:hover{border-color:var(--accent)}.details-modal-actions{margin-top:1rem}.action-row a,.resource-card a,.featured-resource-copy a{color:var(--accent-strong);font-weight:700}.empty-results-card{text-align:center;background:#ffffffb8}.empty-state-card{display:grid;justify-items:center;text-align:center;gap:.75rem;max-width:720px;margin:2.5rem auto}.empty-state-icon{width:4rem;height:4rem;border-radius:1.25rem;display:inline-flex;align-items:center;justify-content:center;background:linear-gradient(145deg,#0b6f7e1f,#9d5f2f1f);color:var(--accent-strong)}.empty-state-icon .material-symbols-outlined{font-size:2rem}.results-header,.analysis-header,.detail-header{display:flex;justify-content:space-between;align-items:flex-end;gap:1rem;flex-wrap:wrap}.results-layout{grid-template-columns:minmax(240px,280px) minmax(0,1fr)}.filters-panel,.score-panel,.topics-panel,.syllabus-panel,.gap-panel,.progress-panel,.mini-card,.hero-result,.feature-card,.detail-grid .panel{background:#ffffffe6;border:1px solid var(--line-strong);border-radius:22px;box-shadow:0 16px 30px -30px #12272f6b}.filters-panel,.progress-panel,.topics-panel,.syllabus-panel,.gap-panel,.score-panel,.mini-card,.hero-result{padding:1rem}.filter-group,.topic-list,.scan-lines{display:grid;gap:.5rem}.pill-row{display:flex;flex-wrap:wrap;gap:.5rem}.pill{padding:.36rem .72rem;background:#ffffffeb;border:1px solid var(--line-soft);color:var(--muted-strong)}.pill.active{background:#d6edf0db;border-color:#0b6f7e2e;color:var(--accent-strong)}.scraper-hero{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(240px,.8fr);align-items:start}.scraper-hero-copy h1{margin-top:.24rem}.scraper-hero-stat{padding:1rem;border:1px solid var(--line-soft);border-radius:18px;background:#ffffffe6}.scraper-hero-stat strong{display:block;margin:.2rem 0 .15rem;color:var(--text-strong)}.scraper-layout{grid-template-columns:1fr;margin-top:1rem}.scraper-form-panel{padding:1.1rem;border:1px solid var(--line-strong);border-radius:20px;background:#ffffffe0;box-shadow:0 16px 30px -30px #12272f6b}.scraper-form-head h2{margin:0;font-family:Sora,IBM Plex Sans,sans-serif;letter-spacing:-.02em}.scraper-form-head .muted-copy{margin:.25rem 0 0}.scraper-form-grid{margin-top:.9rem;display:grid;gap:.75rem;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr) auto;align-items:end}.scraper-field{display:grid;gap:.35rem}.scraper-field span{font-size:.82rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--muted-strong)}.scraper-field input{height:50px;border-radius:14px;border:1px solid var(--line-soft);background:#fffffff5;color:var(--text-strong);padding:0 .95rem;font:inherit}.scraper-field input:focus{outline:none;border-color:#0b6f7e5c;box-shadow:0 0 0 3px #0b6f7e24}.scraper-submit{height:50px;min-width:170px}.scraper-form-tip{margin:.7rem 0 0;color:var(--muted-strong);font-size:.9rem}.scraper-error{margin-top:.9rem}.scraper-result-wrap{margin-top:1rem}.scraper-result-card h3{margin-top:0}.scraper-result-message{margin-bottom:.75rem;color:var(--muted-strong)}.scraper-result-list{margin:0;padding-left:1.2rem}.scraper-suggestions{margin-top:.8rem}.scraper-suggestions p{margin:0 0 .35rem;color:var(--muted-strong)}.scraper-result-actions{margin-top:.75rem;display:flex;gap:.5rem}.hero-result{display:grid;grid-template-columns:180px minmax(0,1fr);gap:1rem}.hero-result-media{min-height:170px;border-radius:18px;background:linear-gradient(135deg,#0b6f7e2b,#9d5f2f2b),radial-gradient(circle at 25% 25%,rgba(255,255,255,.65),transparent 35%),#f3f9fae6}.tiny-tag{display:inline-flex;align-items:center;margin:0;color:var(--accent)}.meta-row.compact{font-size:.82rem}.analysis-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.metric-row{margin:.9rem 0}.topic-item,.scan-line{padding:.74rem .86rem;border-radius:14px;border:1px solid var(--line-soft);background:#ffffffd1;color:var(--text-strong)}.topic-item{display:flex;align-items:center;gap:.6rem;font-weight:600}.topic-item.in-progress,.scan-line.active{border-color:#0b6f7e2e;background:#d6edf0c7}.topic-item.muted,.scan-line.muted{color:var(--muted-strong)}.detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.learning-outcome,.feature-card{display:flex;gap:.85rem;align-items:flex-start;padding:.85rem .95rem;border-radius:16px;background:#ffffffe0;border:1px solid var(--line-soft)}.learning-outcome.primary{background:#d6edf0c7}.score-ring{width:150px;height:150px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--accent) calc(var(--progress) * 1%),rgba(11,111,126,.12) 0);flex-shrink:0}.score-ring>div{width:110px;height:110px;border-radius:50%;display:grid;place-items:center;text-align:center;background:var(--surface-strong)}.gap-panel,.analysis-header,.detail-header,.results-header{background:#ffffffd1}@media (max-width: 1100px){.dashboard-layout{grid-template-columns:1fr}.side-nav{position:static;min-height:auto;border-right:0;border-bottom:1px solid rgba(217,204,187,.7)}.dashboard-hero,.results-layout,.detail-grid,.analysis-grid,.hero-result,.resource-card-grid,.scraper-hero{grid-template-columns:1fr}}@media (max-width: 720px){.top-nav{padding:.9rem;align-items:flex-start;flex-direction:column}.top-nav-left{width:100%;justify-content:space-between}.top-nav-right{width:100%;justify-content:flex-start}.dashboard-stats,.dashboard-search,.scraper-form-grid{grid-template-columns:1fr}.canvas.with-side-nav,.dashboard-page{padding:.85rem}.panel,.search-panel,.dashboard-hero,.dashboard-results,.featured-resource-card,.resource-card,.empty-results-card,.analysis-header,.detail-header,.results-header,.empty-state-card{border-radius:18px}}html.dark,html.dark body,html.dark .app-root,html.dark .dashboard-layout,html.dark .canvas,html.dark .dashboard-page{background:#09090d;color:#ececf4}html.dark{--bg-app: #09090d;--bg-elev: #111118;--surface: #161620;--surface-strong: #1c1c27;--surface-alt: #21212e;--line-strong: #323246;--line-soft: #2b2b3f;--line-subtle: #36364a;--text-primary: #ececf4;--text-strong: #f3f3fa;--text-secondary: #c6c6d8;--muted-strong: #acacc2;--accent: #8b5cf6;--accent-strong: #b59aff;--accent-soft: #2c2350;--ink-soft: #181823}html.dark .top-nav,html.dark .side-nav,html.dark .panel,html.dark .results-header,html.dark .analysis-header,html.dark .detail-header,html.dark .resource-card,html.dark .featured-resource-card,html.dark .empty-results-card,html.dark .scraper-form-panel,html.dark .scraper-hero-stat,html.dark .filters-panel,html.dark .score-panel,html.dark .topics-panel,html.dark .syllabus-panel,html.dark .gap-panel,html.dark .progress-panel,html.dark .mini-card,html.dark .hero-result,html.dark .feature-card,html.dark .detail-grid .panel,html.dark .context-card,html.dark .side-status-card,html.dark .header-stat-card,html.dark .scrape-step,html.dark .card-section,html.dark .rubric-row,html.dark .topic-item,html.dark .scan-line,html.dark .learning-outcome{background:var(--surface);border-color:var(--line-subtle);box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}html.dark .top-link,html.dark .side-link,html.dark .brand-wordmark,html.dark h1,html.dark h2,html.dark h3,html.dark p,html.dark span,html.dark li,html.dark label,html.dark .muted-copy,html.dark .stat-note,html.dark .meta-row{color:#ececf4}html.dark .top-link:hover,html.dark .top-link.active,html.dark .side-link:hover,html.dark .side-link.active,html.dark .pill.active,html.dark .topic-item.in-progress,html.dark .scan-line.active{background:var(--accent-soft);border-color:var(--accent);color:#f3f3fa}html.dark .chip-button,html.dark .secondary-action,html.dark .pill,html.dark .icon-btn,html.dark .avatar-pill,html.dark .result-badge,html.dark .score-chip,html.dark .score-chip-large,html.dark .rank-pill{background:#1a1a25;border:1px solid var(--line-subtle);color:#ececf4}html.dark .primary-action,html.dark .dashboard-search button,html.dark .search-form button,html.dark .export-btn,html.dark .scraper-submit{background:var(--accent);color:#fff}html.dark .dashboard-search input,html.dark .search-form input,html.dark .search-pill input,html.dark .scraper-field input{background:#12121b;color:#ececf4;border-color:var(--line-subtle)}html.dark .dashboard-search input:focus,html.dark .search-form input:focus,html.dark .search-pill input:focus,html.dark .scraper-field input:focus{border-color:var(--accent);box-shadow:0 0 0 3px #2c2350}html.dark .analysis-meter,html.dark .meter,html.dark .rubric-bar{background:#12121b;border-color:var(--line-subtle)}html.dark .analysis-meter-fill,html.dark .meter>div,html.dark .rubric-bar>div{background:var(--accent)}html.dark a,html.dark .action-row a,html.dark .resource-card a,html.dark .featured-resource-copy a,html.dark .source-line a,html.dark .result-item a,html.dark .criterion-link,html.dark .tiny-tag,html.dark .eyebrow,html.dark .chip,html.dark .stat-label,html.dark .result-badge,html.dark .kicker,html.dark .status-kicker{color:var(--accent-strong)}.auth-page-shell{min-height:calc(100vh - 90px);display:grid;place-items:center}.auth-card{width:min(520px,100%);border:1px solid var(--line-strong);border-radius:24px;background:var(--surface);box-shadow:0 20px 38px -30px #12272f7a;padding:1.4rem}.auth-card h1{margin:.2rem 0 .4rem;font-family:Sora,IBM Plex Sans,sans-serif;letter-spacing:-.03em}.auth-form{margin-top:.9rem;border:1px solid var(--line-soft);border-radius:18px;background:var(--surface-strong);padding:1rem}.field-label{font-size:.82rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--muted-strong)}.text-input{width:100%;height:48px;border-radius:12px;border:1px solid var(--line-soft);background:#fffffff5;color:var(--text-strong);padding:0 .85rem;font:inherit}.text-input:focus{outline:none;border-color:#0b6f7e5c;box-shadow:0 0 0 3px #0b6f7e24}.auth-actions{justify-content:flex-start}.auth-link-btn{display:inline-flex;align-items:center}.auth-cta-row{margin-top:.9rem;display:flex;gap:.6rem;flex-wrap:wrap}html.dark .auth-card,html.dark .auth-form{background:var(--surface);border-color:var(--line-subtle);box-shadow:none}html.dark .text-input{background:#12121b;color:#ececf4;border-color:var(--line-subtle)}html.dark .text-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px #2c2350}
