@import"https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:wght@400;500;600&family=Libre+Baskerville:wght@400;700&display=swap";:root{color-scheme:light;--ink: #1b1f24;--ink-soft: #4b5563;--border: #e6e9ef;--accent: #1f6feb;--accent-soft: #eef4ff;--surface: #ffffff;--surface-muted: #f7f8fa}*{box-sizing:border-box}body{margin:0;font-family:IBM Plex Sans,system-ui,sans-serif;background:#fff;color:var(--ink)}a{color:inherit;text-decoration:none}.page{min-height:100vh;background:#fff;display:flex;flex-direction:column}main{flex:1}.site-header,.hero,.how,.path,.missions,.verification{position:relative;z-index:1}.site-header{position:sticky;top:0;z-index:8;display:flex;align-items:center;justify-content:space-between;padding:26px 6vw 10px;gap:24px;border-bottom:1px solid var(--border);background:var(--surface)}.brand{display:flex;align-items:center;gap:12px;font-weight:600;letter-spacing:.4px}.xp-badge{padding:6px 12px;border-radius:999px;background:var(--surface-muted);color:var(--ink);font-size:.85rem;border:1px solid var(--border);display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap}.belt-mascot-wrap{display:inline-flex;align-items:center}.belt-mascot{position:relative;width:39px;height:39px;border-radius:4px;overflow:hidden;flex-shrink:0}.belt-mascot img{width:100%;height:100%;object-fit:contain;display:block}.brand-dot{width:12px;height:12px;border-radius:50%;background:var(--accent);display:inline-block}.nav{display:flex;gap:20px;font-size:.95rem;color:var(--ink-soft)}.nav a,.nav button{font:inherit;color:inherit;background:transparent;border:none;cursor:pointer;position:relative;padding-bottom:4px}.nav a:after,.nav button:after{content:"";position:absolute;left:0;bottom:0;width:0;height:2px;background:var(--accent);transition:width .2s ease}.nav a:hover:after,.nav button:hover:after,.nav .nav-link.active:after{width:100%}.auth-actions{display:flex;gap:12px}.language-controls{display:flex;align-items:center;gap:12px;font-size:.7rem;color:var(--ink-soft)}.language-controls label{display:grid;gap:4px}.language-controls span{text-transform:uppercase;letter-spacing:1px}.language-controls select{font:inherit;padding:6px 8px;border-radius:10px;border:1px solid var(--border);background:var(--surface);color:var(--ink)}.menu-toggle{display:none;border:1px solid var(--border);background:var(--surface);border-radius:999px;width:40px;height:40px;align-items:center;justify-content:center;cursor:pointer;padding:0}.menu-toggle img{width:22px;height:22px}.mobile-menu{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a66;z-index:20;display:flex;justify-content:flex-end}.mobile-menu-panel{background:var(--surface);width:min(320px,90vw);height:100%;padding:20px;display:grid;gap:20px;box-shadow:-12px 0 30px #0f172a33}.mobile-menu-close{justify-self:end;background:transparent;border:none;color:var(--ink-soft);font-size:.95rem;cursor:pointer}.mobile-menu-links,.mobile-menu-actions{display:grid;gap:12px}.mobile-menu-languages{display:grid;gap:10px;font-size:.75rem;color:var(--ink-soft)}.mobile-menu-languages label{display:grid;gap:6px}.mobile-menu-languages span{text-transform:uppercase;letter-spacing:1px}.mobile-menu-languages select{font:inherit;padding:8px 10px;border-radius:10px;border:1px solid var(--border);background:var(--surface);color:var(--ink)}.mobile-menu-links a,.mobile-menu-links .nav-link{color:var(--ink);text-align:left;font-size:1rem}.leaderboard-page{padding:48px 6vw 80px}.cta{background:var(--accent);color:#fff;border:none;padding:10px 20px;border-radius:999px;font-weight:600;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease;box-shadow:0 10px 18px #1f6feb2e}.cta:hover{transform:translateY(-1px)}.cta.ghost{background:transparent;color:var(--ink);border:1px solid var(--border);box-shadow:none}.cta.small{padding:8px 16px;font-size:.9rem}.hero{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:36px;padding:48px 6vw 60px;align-items:center}.landing-simple{padding:64px 6vw 80px}.landing-copy{max-width:720px;display:grid;gap:16px}.coastal-hero{display:grid;gap:28px;grid-template-columns:1.1fr .9fr;padding:56px 6vw 40px;background:radial-gradient(circle at 20% -20%,#d8ecff 0,#d8ecff00 54%),radial-gradient(circle at 100% 120%,#d5f3ec 0,#d5f3ec00 50%),linear-gradient(180deg,#fbfdff,#f2f7fc)}.coastal-hero-copy{display:grid;gap:14px;max-width:760px}.coastal-eyebrow{margin:0;font-size:.74rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:#0e4f7d}.coastal-hero-copy h1{margin:0;font-family:Libre Baskerville,Times New Roman,serif;font-size:clamp(2rem,3.8vw,3.2rem);line-height:1.2}.coastal-hero-visuals{display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr));align-content:start}.coastal-visual-card{background:var(--surface);border:1px solid #cddff2;border-radius:14px;padding:10px}.coastal-visual-swatch{min-height:120px;border-radius:10px;border:1px dashed #89aac9;background:linear-gradient(135deg,#1f6feb17,#1aa29814),repeating-linear-gradient(-45deg,#ffffff73 0,#ffffff73 8px,#fff3 8px,#fff3 16px);display:grid;place-items:center;text-align:center;font-size:.84rem;line-height:1.35;font-weight:600;color:#214d75;padding:10px}.coastal-section{padding:34px 6vw;display:grid;gap:16px}.coastal-problem-copy p{margin:0}.coastal-problem-inline{padding:12px 0}.coastal-workflow{background:#f9fbfe;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.coastal-workflow-grid{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.coastal-workflow-grid article{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:16px;display:grid;gap:8px}.coastal-workflow-grid h3,.coastal-levels-grid h3{margin:0;font-size:1rem}.coastal-workflow-grid p,.coastal-levels-grid p{margin:0;color:var(--ink-soft)}.coastal-levels-grid{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.coastal-levels-grid article{border:1px solid var(--border);background:var(--surface);border-radius:12px;padding:14px;display:grid;gap:8px}.coastal-note{margin:0;color:#0e4f7d;font-weight:600}.coastal-list{margin:0;padding-left:18px;color:var(--ink-soft);display:grid;gap:8px;line-height:1.5}.coastal-list.two-col{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px 20px}.coastal-cohort{background:linear-gradient(180deg,#f5fbff,#f7fefb);border:1px solid #d9ebf8;border-radius:16px;margin:20px 6vw;padding:24px}.coastal-authority-grid{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.coastal-final-cta{padding:50px 6vw 70px;text-align:center;display:grid;gap:14px;justify-items:center;background:linear-gradient(180deg,#eff7ff,#fff)}.coastal-final-cta h2,.coastal-final-cta p{margin:0}.coastal-final-cta p{max-width:720px;color:var(--ink-soft)}.site-footer{border-top:1px solid var(--border);padding:18px 6vw 20px;display:flex;align-items:center;justify-content:space-between;gap:16px;color:var(--ink-soft);font-size:.9rem;background:var(--surface)}.privacy-text{white-space:pre-wrap;font-size:.9rem;color:var(--ink-soft);border:1px solid var(--border);border-radius:12px;padding:12px;background:var(--surface-muted)}.message-list{margin:0;padding-left:18px;color:var(--ink-soft);display:grid;gap:10px;font-size:.95rem;line-height:1.5}.hero-copy h1{font-family:Libre Baskerville,Times New Roman,serif;font-size:clamp(2.3rem,4vw,3.4rem);line-height:1.15;margin:14px 0 16px}.hero-copy{display:grid;gap:18px;animation:fadeUp .8s ease both}.eyebrow{text-transform:uppercase;font-size:.75rem;letter-spacing:2px;color:var(--ink-soft)}.lede{font-size:1.05rem;line-height:1.6;color:var(--ink-soft)}.hero-actions{display:flex;gap:12px;flex-wrap:wrap}.hero-stats{display:flex;gap:24px;flex-wrap:wrap;font-size:.95rem;color:var(--ink-soft)}.hero-stats div{display:grid;gap:4px}.hero-stats strong{font-size:1.2rem;color:var(--ink)}section{padding:40px 6vw}.dashboard{padding:48px 6vw 80px}.topics-grid{display:grid;gap:18px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.topic-card{background:var(--surface);border:1px solid var(--border);border-radius:16px;max-width:300px;padding:20px 20px 12px;text-align:left;display:flex;flex-direction:column;align-items:flex-start;gap:16px;cursor:pointer;transition:border-color .2s ease,box-shadow .2s ease}.topic-card-header{display:flex;align-items:flex-start;gap:16px;width:100%}.topic-card-body{flex:1}.topic-card-icon{width:45px;height:45px;display:flex;align-items:center;justify-content:center;pointer-events:none;flex-shrink:0}.topic-card-icon img{width:100%;height:100%;object-fit:contain}.topic-card-actions{display:flex;flex-direction:column;align-items:center;gap:8px;width:100%;margin-top:auto}.topic-card h3{margin:0 0 6px;font-size:1.1rem}.topic-card .topic-status{display:inline-block;margin-bottom:8px}.topic-card p{margin:0;color:var(--ink-soft);font-size:.95rem}.topic-card:hover{border-color:var(--accent);box-shadow:0 12px 28px #0f172a14}.topic-card.selected{border-color:var(--accent);background:var(--accent-soft)}.topic-card.disabled{cursor:not-allowed;opacity:.6;box-shadow:none}.topic-card.disabled:hover{border-color:var(--border);box-shadow:none}.topic-status{font-size:.75rem;text-transform:uppercase;letter-spacing:1.2px;color:var(--ink-soft);align-self:flex-start}.lessons-panel{margin-top:40px}.mini-projects-panel{margin-top:32px;display:grid;gap:16px}.projects-grid{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.project-card{border:1px solid var(--border);border-radius:12px;padding:16px;background:var(--surface);display:grid;gap:10px}.project-card.locked{opacity:.6}.project-card-header{display:flex;justify-content:space-between;align-items:baseline;gap:12px}.project-card-header h4{margin:0;font-size:1rem}.project-card-meta{font-size:.85rem;color:var(--ink-soft)}.project-card-actions{display:flex;justify-content:flex-start}.project-history,.project-history-list{display:grid;gap:10px}.project-history-item{border:1px solid var(--border);border-radius:10px;padding:12px;background:var(--surface);display:flex;justify-content:space-between;gap:12px}.project-history-item span{display:block;font-size:.85rem;color:var(--ink-soft)}.project-history-meta{display:flex;gap:12px;flex-wrap:wrap;justify-content:flex-end;font-size:.85rem;color:var(--ink-soft)}.project-detail-meta{display:flex;gap:12px;font-size:.9rem;color:var(--ink-soft);margin-bottom:10px}.project-criteria ul{margin:8px 0 0;padding-left:18px}.project-feedback{margin-top:16px;display:grid;gap:10px}.project-feedback-meta{display:flex;gap:12px;flex-wrap:wrap;font-size:.9rem;color:var(--ink-soft)}.help-meta{color:var(--ink-soft);font-size:.9rem;margin-bottom:8px}.help-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:8px}.help-textarea{width:min(75%,420px);max-width:100%;min-width:0;box-sizing:border-box;border-radius:10px;border:1px solid var(--border);padding:10px 12px;font-size:.95rem;resize:vertical;overflow-y:auto;overflow-x:hidden}.help-response{margin-top:16px;display:grid;gap:12px;min-width:0}.help-response>div,.help-response p,.help-response li{max-width:100%;min-width:0;overflow-wrap:anywhere;word-break:break-word}.help-text-block{white-space:pre-wrap;margin:0}.help-text-content{display:grid;gap:8px;margin-top:6px;min-width:0}.help-matrix-block{margin:0;max-width:100%;box-sizing:border-box;border:1px solid var(--border);border-radius:10px;padding:10px 12px;background:var(--surface);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:.9rem;line-height:1.45;white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word;overflow-x:hidden}.help-response ul{margin:6px 0 0;padding-left:18px}.help-response li{margin:0 0 8px}.debug-output{width:100%;max-width:100%;box-sizing:border-box;margin:8px 0 0;padding:12px;border-radius:10px;background:#0f172a;color:#f8fafc;font-size:.85rem;white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word;overflow-x:hidden;overflow-y:auto}.lessons-grid{display:grid;gap:24px;grid-template-columns:minmax(260px,1fr) minmax(240px,.9fr)}.lessons-list{display:grid;gap:10px}.lesson-row{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;padding:14px 16px;border-radius:12px;border:1px solid var(--border);background:var(--surface);text-align:left;cursor:pointer}.lesson-row span{display:block;color:var(--ink-soft);font-size:.85rem}.lesson-row strong{display:block;font-size:.98rem;color:var(--ink)}.lesson-row.completed{border-color:#1f6feb4d;background:var(--accent-soft)}.lesson-row.next{border-color:var(--accent)}.lesson-row:disabled{cursor:not-allowed;opacity:.5}.lesson-index{font-weight:600;color:var(--ink);font-size:.9rem}.lesson-state{font-size:.75rem;text-transform:uppercase;letter-spacing:1px;color:var(--ink-soft)}.lesson-preview{border:1px solid var(--border);border-radius:16px;padding:22px;background:var(--surface)}.lesson-preview h3{margin-top:0;margin-bottom:12px}.lesson-preview p{margin:0 0 12px;color:var(--ink-soft)}.curriculum-panel{border:1px solid var(--border);border-radius:16px;padding:22px;background:var(--surface);margin-bottom:24px}.curriculum-header h3{margin:0 0 6px}.curriculum-header p{margin:0;color:var(--ink-soft)}.curriculum-levels{display:grid;gap:18px;margin-top:18px}.curriculum-level{border:1px solid var(--border);border-radius:14px;padding:18px;background:var(--surface-muted)}.level-toggle{width:100%;display:flex;justify-content:space-between;gap:16px;align-items:flex-start;background:transparent;border:none;padding:0;text-align:left;cursor:pointer;color:inherit}.level-toggle span{font-size:.75rem;text-transform:uppercase;letter-spacing:1px;color:var(--ink-soft)}.level-toggle h4{margin:6px 0 0}.level-toggle.expanded h4{color:var(--accent)}.level-details{margin-top:16px;display:grid;gap:18px}.level-objectives h5{margin:0 0 8px}.level-objectives ul{margin:0;padding-left:18px;color:var(--ink-soft);display:grid;gap:6px}.curriculum-modules{display:grid;gap:12px;margin-top:14px}.curriculum-module{padding:12px 14px;border-radius:12px;background:var(--surface);border:1px solid var(--border)}.curriculum-module span{display:block;color:var(--ink-soft);font-size:.9rem;margin-top:4px}.module-toggle{width:100%;display:flex;justify-content:space-between;gap:16px;align-items:flex-start;background:transparent;border:none;padding:0;text-align:left;cursor:pointer;color:inherit}.curriculum-module.expanded{border-color:var(--accent);box-shadow:0 10px 24px #1f6feb14}.module-details{margin-top:14px;border-top:1px solid var(--border);padding-top:14px;display:grid;gap:16px}.module-section h5{margin:0 0 10px;font-size:.95rem}.module-items{display:grid;gap:12px}.module-item{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;flex-wrap:wrap;padding:12px;border-radius:12px;background:var(--surface-muted);border:1px solid var(--border)}.module-item span{display:block;color:var(--ink-soft);font-size:.9rem;margin-top:4px}.module-item-actions{display:grid;gap:8px;justify-items:end;text-align:right}.module-status{font-size:.75rem;text-transform:uppercase;letter-spacing:1px;color:var(--ink-soft)}.lesson-content,.lesson-challenges,.lab-section{display:grid;gap:12px}.dashboard-metrics{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));margin-bottom:24px}.curriculum-progress{display:grid;gap:16px;margin-bottom:24px}.curriculum-progress-title h3{margin:0;font-size:1.05rem}.curriculum-progress-title p{margin:4px 0 0;color:var(--ink-soft);font-size:.9rem}.curriculum-progress-list{display:grid;gap:16px}.curriculum-progress-card{border:1px solid var(--border);border-radius:12px;padding:16px;background:var(--surface);display:grid;gap:10px;position:relative}.curriculum-progress-card.is-clickable{cursor:pointer;transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease}.curriculum-progress-card.is-clickable:hover{border-color:var(--accent);box-shadow:0 10px 20px #1f6feb1f;transform:translateY(-1px)}.curriculum-progress-card.is-clickable:focus-visible{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.curriculum-progress-card.is-clickable:active{transform:translateY(0)}.curriculum-progress-header{display:flex;justify-content:space-between;align-items:baseline}.curriculum-progress-meta{font-size:.85rem;color:var(--ink-soft)}.level-tags{display:flex;flex-wrap:wrap;gap:8px;font-size:.8rem;color:var(--ink-soft)}.metric-card{border:1px solid var(--border);border-radius:12px;padding:14px 16px;background:var(--surface);display:grid;gap:6px}.metric-card.has-icon{display:flex;align-items:center;justify-content:flex-start;gap:12px}.metric-card-body{display:grid;gap:6px}.metric-card-icon{width:40px;height:40px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.metric-card-icon img{width:100%;height:100%;object-fit:contain}.help-icon-button{border:none;background:transparent;padding:0;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.help-icon-button img{width:36px;height:36px;object-fit:contain}.lesson-modal-layout{display:flex;gap:16px;align-items:flex-start}.lesson-modal-content{flex:1;min-width:0}.lesson-help-icon{margin-top:4px}.lab-modal-layout{display:flex;gap:16px;align-items:flex-start}.lab-modal-content{flex:1;min-width:0}.lab-help-icon{margin-top:4px}@media (max-width: 720px){.lesson-modal-layout{flex-direction:column}.lesson-help-icon{align-self:flex-start}.lab-modal-layout{flex-direction:column}.lab-help-icon{align-self:flex-start}}.metric-card.wide{grid-column:span 2}.progress-bar{height:10px;background:var(--surface-muted);border-radius:999px;overflow:hidden}.progress-fill{height:100%;background:var(--accent);border-radius:999px;transition:width .3s ease}.milestones{display:grid;gap:4px;font-size:.85rem;color:var(--ink-soft)}.leaderboard{border:1px solid var(--border);border-radius:12px;padding:16px;background:var(--surface);margin-bottom:24px}.leaderboard-header{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:10px}.leaderboard ul{list-style:none;padding:0;margin:0;display:grid;gap:6px}.leaderboard li{display:grid;grid-template-columns:60px 1fr auto;gap:10px;font-size:.9rem;color:var(--ink-soft)}.leaderboard li.current{color:var(--ink);font-weight:600}.lesson-navigation{display:flex;align-items:center;justify-content:space-between;gap:12px}.lesson-progress{font-size:.85rem;color:var(--ink-soft)}.cta.is-disabled{opacity:.5;pointer-events:none}.content-block{border:1px solid var(--border);border-radius:12px;padding:14px;background:var(--surface-muted)}.content-block img{max-width:400px;max-height:400px;width:100%;height:auto;object-fit:contain;border-radius:10px;display:block}.asset-image-button{border:none;background:transparent;padding:0;margin:0;width:100%;cursor:zoom-in}.asset-image-button img{transition:box-shadow .2s ease}.asset-image-button:hover img{box-shadow:0 8px 20px #0f172a24}.content-caption{display:block;margin-top:8px;color:var(--ink-soft);font-size:.85rem}.content-block.callout{border-left:4px solid var(--accent);background:var(--accent-soft)}.content-block.callout.warning{border-left-color:#d16a6a;background:#d16a6a1f}.content-block.summary{background:#1f6feb14;border-color:#1f6feb33}.content-text{white-space:pre-wrap;margin:0}.content-text.markdown-block{white-space:normal;display:grid;gap:10px;color:var(--ink-soft)}.content-text.markdown-block>*{margin:0}.content-text.markdown-block h1,.content-text.markdown-block h2,.content-text.markdown-block h3,.content-text.markdown-block h4,.content-text.markdown-block h5,.content-text.markdown-block h6{font-family:Libre Baskerville,Times New Roman,serif;color:var(--ink)}.content-text.markdown-block ul,.content-text.markdown-block ol{margin:0;padding-left:20px;display:grid;gap:6px}.content-text.markdown-block code{font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:.88em;padding:1px 4px;border-radius:4px;background:#0f172a14;color:var(--ink)}.content-text.markdown-block a{color:var(--accent);text-decoration:underline}.content-text.markdown-block blockquote{margin:0;padding-left:12px;border-left:3px solid var(--border)}.content-text.markdown-block hr{border:none;border-top:1px solid var(--border);margin:2px 0}.challenge-card{border:1px solid var(--border);border-radius:12px;padding:12px;background:var(--surface-muted);display:grid;gap:8px}.challenge-options{display:grid;gap:8px}.challenge-option{display:flex;align-items:center;justify-content:flex-start;gap:8px;line-height:1.4;text-align:left}.challenge-option input{margin:0;align-self:center}.challenge-prompt{text-align:center}.challenge-actions{display:flex;justify-content:space-between;gap:12px;align-items:center}.challenge-card textarea{width:100%;border-radius:10px;border:1px solid var(--border);padding:10px 12px;font-family:inherit;font-size:.95rem}.challenge-card ul{margin:0;padding-left:18px;color:var(--ink-soft)}.challenge-hint{font-size:.85rem;color:var(--ink-soft)}.challenge-feedback{margin:0;font-weight:600}.challenge-feedback.correct{color:#1a7f37}.challenge-feedback.incorrect{color:#c04545}.challenge-status{font-size:.85rem;color:var(--ink-soft)}.lab-grade-result{border-top:1px solid var(--border);padding-top:10px;display:grid;gap:8px;color:var(--ink-soft)}.lab-grade-result strong{color:var(--ink)}.boolean-toggle{display:flex;gap:8px;margin-top:6px}.toggle-btn{border:1px solid var(--border);background:var(--surface);color:var(--ink);padding:6px 12px;border-radius:999px;font-size:.9rem;cursor:pointer}.toggle-btn.active{background:var(--accent);color:#fff;border-color:transparent}.asset-grid{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.asset-grid figure{margin:0;display:grid;gap:8px}.asset-grid figcaption{font-size:.85rem;color:var(--ink-soft)}.asset-grid img{max-width:300px;max-height:300px;width:100%;height:auto;object-fit:contain}.asset-download{display:inline-flex;align-items:center;gap:8px;max-width:100%;padding:8px 10px;border:1px solid var(--border);border-radius:10px;background:var(--surface);color:var(--accent);font-size:.88rem;text-decoration:none;overflow-wrap:anywhere;word-break:break-word}.asset-download:hover{text-decoration:underline}.asset-download-label{display:inline-flex;align-items:center;gap:5px;padding:2px 7px;border-radius:999px;background:var(--accent-soft);border:1px solid rgba(31,111,235,.2);color:var(--accent);font-size:.75rem;line-height:1.1;white-space:nowrap}.asset-download-label:before{content:"↓";font-size:.75rem}.asset-download-name{min-width:0}.asset-loading,.asset-error{font-size:.85rem;color:var(--ink-soft)}.lab-actions{display:flex;gap:12px;flex-wrap:wrap}.lab-observations{display:grid;gap:12px}.lab-observation-actions{display:flex;gap:12px;flex-wrap:wrap}.lab-observations input{width:100%}.lab-troubleshooting{display:grid;gap:12px}.curriculum-meta{display:grid;gap:4px;font-size:.8rem;color:var(--ink-soft);text-align:right}.lesson-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.lesson-badge{padding:6px 12px;border-radius:999px;background:var(--surface-muted);color:var(--ink-soft);font-size:.8rem}.competency-panel{margin-top:32px;border:1px solid var(--border);border-radius:16px;padding:24px;background:var(--surface)}.competency-header{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;flex-wrap:wrap}.competency-panel h3{margin-top:0}.competency-panel p{color:var(--ink-soft)}.placement-progress{display:grid;gap:6px;font-size:.85rem;color:var(--ink-soft);text-align:right}.placement-questions{display:grid;gap:18px;margin:18px 0}.placement-question{border:1px solid var(--border);border-radius:12px;padding:16px;background:var(--surface-muted)}.placement-question-title{display:flex;gap:12px;align-items:center;flex-wrap:wrap;font-weight:600}.placement-question-title span{font-size:.8rem;color:var(--ink-soft);text-transform:uppercase;letter-spacing:1px}.placement-question-title p{margin:0;color:var(--ink);font-weight:600}.placement-options{display:grid;gap:8px;margin-top:12px}.placement-options label{display:flex;gap:10px;align-items:center;padding:10px 12px;border-radius:10px;border:1px solid transparent;cursor:pointer;transition:border-color .2s ease,background .2s ease}.placement-options label.active,.placement-options label:hover{border-color:var(--accent);background:var(--accent-soft)}.placement-results{display:grid;gap:16px;margin:18px 0}.placement-result-card,.placement-section-scores,.placement-rules{border:1px solid var(--border);border-radius:12px;padding:16px;background:var(--surface-muted)}.placement-result-card h4,.placement-section-scores h4,.placement-rules h4{margin-top:0}.placement-level{font-size:1.1rem;font-weight:700;margin-bottom:8px}.placement-score,.placement-confidence{font-weight:600;color:var(--ink)}.placement-section-scores ul,.placement-rules ul{margin:0;padding-left:18px;color:var(--ink-soft)}.competency-questions{display:grid;gap:16px;margin:18px 0}.competency-options{display:grid;gap:8px;margin-top:8px;color:var(--ink-soft)}.competency-options label{display:flex;align-items:center;gap:8px}.competency-actions{display:flex;gap:12px;flex-wrap:wrap}.topic-intro-list{padding-left:18px;margin:0;color:var(--ink-soft);display:grid;gap:6px}.section-title{display:grid;gap:10px;margin-bottom:28px}.section-title h2{font-family:Libre Baskerville,Times New Roman,serif;font-size:clamp(1.7rem,3vw,2.4rem);margin:0}.section-title p{color:var(--ink-soft);margin:0}.how-grid,.mission-grid,.verification-grid{display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.how-card{background:var(--surface);border-radius:14px;padding:22px;border:1px solid var(--border)}.path-steps{display:grid;gap:18px}.step{display:grid;gap:8px;background:var(--surface);border-radius:14px;padding:22px;border:1px solid var(--border)}.step-tag{font-size:.75rem;text-transform:uppercase;letter-spacing:1.6px;color:var(--ink-soft)}.step-metric{font-weight:600;color:var(--accent)}.mission-card{background:var(--surface);border-radius:14px;padding:22px;border:1px solid var(--border);display:grid;gap:16px}.mission-head{display:flex;justify-content:space-between;font-size:.85rem;color:var(--ink-soft)}.badge{background:var(--accent-soft);color:var(--accent);padding:4px 10px;border-radius:999px;font-size:.75rem}.mission-footer{display:flex;justify-content:space-between;font-size:.85rem;color:var(--ink-soft)}.verification-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.rubric,.tutor{background:var(--surface);border-radius:14px;padding:24px;border:1px solid var(--border)}.rubric ul{padding-left:18px;margin:12px 0 0;color:var(--ink-soft)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a3d;display:flex;align-items:center;justify-content:center;padding:24px;z-index:10}.modal{width:min(460px,90vw);background:#fff;border-radius:16px;border:1px solid var(--border);padding:28px;position:relative;animation:fadeUp .4s ease both;max-height:90vh;overflow-y:auto;overflow-x:hidden}.modal-wide{width:min(620px,92vw)}.modal-close{position:absolute;top:18px;right:18px;border:none;background:transparent;color:var(--ink-soft);cursor:pointer}.modal-body{display:grid;gap:16px}.placement-modal-card{border:1px solid var(--border);border-radius:12px;padding:16px;background:var(--surface-muted)}.placement-modal-card h4{margin:0 0 10px}.placement-modal-card ul{list-style:none;padding:0;margin:0;display:grid;gap:12px}.placement-modal-card li{display:grid;gap:6px;padding-bottom:12px;border-bottom:1px solid var(--border)}.placement-modal-card li:last-child{border-bottom:none;padding-bottom:0}.placement-modal-card li span{color:var(--ink-soft);font-size:.9rem}.modal-body h3{margin:0;font-family:Libre Baskerville,Times New Roman,serif}.modal-body p{margin:0;color:var(--ink-soft)}.diagram-viewer-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172ac7;display:flex;align-items:center;justify-content:center;padding:18px;z-index:30}.diagram-viewer-modal{width:min(96vw,1400px);height:min(92vh,960px);background:#fff;border:1px solid var(--border);border-radius:16px;overflow:hidden;display:grid;grid-template-rows:auto 1fr}.diagram-viewer-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 14px;border-bottom:1px solid var(--border);background:var(--surface)}.diagram-viewer-zoom-controls{display:flex;align-items:center;gap:8px}.diagram-viewer-button{border:1px solid var(--border);border-radius:8px;background:#fff;color:var(--ink);font-size:.9rem;cursor:pointer;min-width:44px;height:36px;padding:0 10px}.diagram-viewer-button:disabled{opacity:.45;cursor:not-allowed}.diagram-viewer-zoom-label{color:var(--ink-soft);font-size:.85rem;min-width:48px}.diagram-viewer-stage{overflow:auto;background:#f8fafc;padding:18px;display:flex;justify-content:center;align-items:flex-start}.diagram-viewer-stage img{max-width:none;height:auto;display:block;border-radius:10px;box-shadow:0 14px 30px #0f172a33}.completion-summary{display:grid;gap:10px;border:1px solid var(--border);border-radius:12px;padding:14px;background:var(--surface-muted)}.completion-summary strong{font-size:.95rem}.completion-list{margin:0;padding-left:18px;color:var(--ink-soft);display:grid;gap:8px}form{display:grid;gap:14px}label{display:grid;gap:6px;font-size:.9rem;color:var(--ink-soft)}input{padding:10px 12px;border-radius:10px;border:1px solid var(--border);font-size:.95rem}input:focus{outline:2px solid rgba(31,111,235,.2);border-color:var(--accent)}.link-button{border:none;background:transparent;color:var(--accent);padding:0;cursor:pointer;font-size:.9rem}.modal-links{display:grid;gap:8px}.notice{margin:18px 0 0;padding:12px 14px;background:var(--surface-muted);border-radius:10px;color:var(--ink-soft);font-size:.9rem}.report-meta{margin:0 0 12px;color:var(--ink-soft);font-size:.9rem}.report-link{margin-top:6px;font-size:.85rem}.placement-question-title .report-link{margin-left:auto;font-size:.8rem}.toast{position:fixed;right:24px;bottom:24px;max-width:320px;padding:12px 14px;border-radius:12px;background:var(--surface);border:1px solid var(--border);color:var(--ink);font-size:.85rem;box-shadow:0 12px 28px #0000001f;z-index:1000;animation:fadeUp .2s ease}@media (max-width: 720px){.diagram-viewer-toolbar{flex-direction:column;align-items:stretch}.diagram-viewer-zoom-controls{justify-content:space-between}}@media (max-width: 600px){.toast{right:16px;left:16px;bottom:16px;max-width:none}}@keyframes fadeUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 900px){.site-header{flex-direction:column;align-items:flex-start}.nav{flex-wrap:wrap}.hero{padding-top:32px}.coastal-hero{grid-template-columns:1fr;padding-top:34px}.lessons-grid{grid-template-columns:1fr}}@media (max-width: 600px){.site-header{flex-direction:row;align-items:center;padding:12px}.nav,.auth-actions,.language-controls{display:none}.menu-toggle{display:inline-flex;margin-left:auto}.mobile-menu-panel{width:min(260px,85vw);padding:12px;gap:12px;height:324px;max-height:324px;overflow:hidden}.mobile-menu-links,.mobile-menu-actions{gap:0}.mobile-menu-links a,.mobile-menu-links .nav-link{display:block;width:100%;padding:0 0 12px;font-size:.9rem;text-align:left;background:transparent;border:none;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}.mobile-menu-actions a{display:block;width:100%;padding:0 0 12px;font-size:.9rem;text-align:left;color:var(--ink);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}.hero-stats{gap:16px}.site-footer{flex-direction:column;align-items:flex-start}.coastal-hero{padding:26px 12px 24px}.coastal-section{padding:24px 12px}.coastal-hero-visuals{grid-template-columns:1fr}.coastal-cohort{margin:14px 12px;padding:16px}.coastal-final-cta{padding:34px 12px 52px}.dashboard-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.dashboard-metrics .metric-card{padding:8px 10px}.dashboard-metrics .streak-card{grid-column:1 / -1}.dashboard-metrics .metric-card.has-icon{gap:6px}.dashboard-metrics .metric-card-icon{width:30px;height:30px}}
