@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Space+Grotesk:wght@500;600;700&display=swap";:root{--font-sans: "DM Sans", "Segoe UI", system-ui, -apple-system, sans-serif;--font-display: "Space Grotesk", "DM Sans", "Segoe UI", system-ui, -apple-system, sans-serif;font-family:var(--font-sans);color:#1d2a2a;background:#fff;font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-width:320px;background:#fff}button,input,textarea,select{font:inherit}input,textarea,select{width:100%;max-width:100%}button{cursor:pointer}.app-shell{min-height:100vh;background:#fff}.topbar{height:72px;display:flex;align-items:center;gap:42px;padding:0 5vw;background:#fff;border-bottom:1px solid #e5e7eb}.brand{border:0;background:none;color:#153f3a;font-family:var(--font-display);font-size:1.15rem;font-weight:700;letter-spacing:.03em;padding:0;white-space:nowrap}nav{display:flex;gap:24px;flex:1}nav button,.quiet-button{border:0;background:none;color:#66716d;padding:8px 0}nav button{position:relative}nav button:hover,.quiet-button:hover{color:#153f3a}nav button.is-active{color:#153f3a;font-weight:700}nav button.is-active:after{content:"";position:absolute;left:0;right:0;bottom:2px;height:2px;background:#e16d4f;border-radius:1px}nav button:focus-visible,.brand:focus-visible,.quiet-button:focus-visible{outline:2px solid #e16d4f;outline-offset:3px}.account{display:flex;gap:18px;align-items:center;color:#4b5a55;font-size:.9rem}.language-switcher{display:flex;gap:4px}.language-switcher .quiet-button{padding:4px 10px;border:1px solid #d8e0dc;border-radius:6px}.language-switcher .quiet-button.active{background:#153f3a;color:#fff;border-color:#153f3a}.page-content{max-width:1180px;margin:0 auto;padding:60px 5vw 100px}.hero-row,.page-intro{display:flex;justify-content:space-between;gap:32px;align-items:end;margin-bottom:44px}.page-intro.align-top{align-items:flex-start}h1,h2{font-family:var(--font-display);color:#173d38;margin:0}h1{font-size:clamp(2.3rem,5vw,4.6rem);line-height:.98;max-width:720px;letter-spacing:-.04em}h2{font-size:1.35rem}p{line-height:1.65}.muted{color:#71807a;max-width:650px}.lead{color:#5c6b65;font-size:1.15rem;max-width:720px}.guided-callout{margin-top:18px;padding:14px 16px;border-left:3px solid #e16d4f;background:#fff4ee;color:#4b5a55;line-height:1.55}.guided-callout span{color:#173d38;font-weight:700}.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:20px;align-items:center}.eyebrow{color:#d36348;font-size:.72rem;font-weight:700;letter-spacing:.13em;margin:0 0 14px}.progress-orbit{width:150px;height:150px;border:10px solid #dbe5d7;border-top-color:#e16d4f;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;flex:0 0 auto}.progress-orbit strong{font:700 2rem var(--font-display);color:#173d38}.progress-orbit span{color:#71807a;font-size:.75rem}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);border-block:1px solid #dddcd2;margin-bottom:34px}.stat{padding:22px 20px;border-right:1px solid #dddcd2}.stat:last-child{border:0}.stat span{display:block;color:#71807a;font-size:.82rem;margin-bottom:9px}.stat strong{font:600 1.8rem var(--font-display);color:#173d38}.content-grid,.project-detail-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:22px}.catalog-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:22px}.content-management{display:grid;gap:24px}.content-manager-grid{display:grid;grid-template-columns:minmax(230px,.6fr) minmax(0,1.4fr);gap:22px;align-items:start}.content-list{display:grid;gap:8px;margin-bottom:18px}.content-row,.content-subrow{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid #e5e3da;background:#fffef9;padding:10px;color:#263e39;text-align:left}.translation-panel{display:grid;gap:8px;border:1px solid #dddcd2;padding:12px;margin-bottom:16px;background:#fffef9}.translation-status-row{display:flex;gap:16px;margin:0}.translation-actions{display:flex;flex-wrap:wrap;gap:8px}.execution-result{display:grid;gap:8px;border:1px solid #dddcd2;padding:12px;margin-top:12px;background:#fffef9}.execution-result.success{border-color:#4f8766}.execution-result.timeout,.execution-result.failed,.execution-result.output_limit,.execution-result.source_too_large{border-color:#d36348}.execution-result pre{max-height:220px;overflow:auto;margin:0}button.content-row{width:100%}.content-row.selected{border-color:#d36348;background:#fff4ee}.content-editor,.nested-editor{display:grid;gap:12px}.nested-editor{border-top:1px solid #e5e3da;margin-top:10px;padding-top:14px}.content-subrow{display:grid;justify-content:stretch}@media (max-width: 760px){.content-manager-grid{grid-template-columns:1fr}}.catalog-card{display:grid;gap:12px;text-align:left;color:#263e39;cursor:pointer}.catalog-card:hover{border-color:#d36348}.catalog-card span{color:#d36348;font-weight:700}.compact-list{margin:0;font-size:.95rem}.panel{background:#fbfaf5;border:1px solid #dddcd2;padding:28px}.panel-heading,.module-card-heading{display:flex;justify-content:space-between;align-items:start;gap:20px}.text-button,.back-link,.switch-button{border:0;background:none;color:#d36348;font-weight:700;padding:0}.module-row{padding:20px 0;border-top:1px solid #e5e3da}.module-row>div{display:flex;justify-content:space-between;margin-bottom:10px}.module-row span{color:#71807a;font-size:.8rem}.progress-bar{height:6px;background:#e5e8dc;overflow:hidden}.progress-bar span{display:block;height:100%;background:#e16d4f;transition:width .25s}.project-row{width:100%;display:flex;justify-content:space-between;text-align:left;border:0;border-top:1px solid #e5e3da;background:none;padding:19px 0;color:#263e39}.project-row small{color:#71807a;text-transform:capitalize}.module-list{display:grid;gap:20px}.module-card-heading{margin-bottom:18px}.module-card-heading>div{display:flex;gap:15px}.module-number{color:#d36348;font:600 1.4rem var(--font-display)}.pill,.status-badge{background:#e6eee2;color:#3e6350;border-radius:999px;padding:7px 11px;font-size:.74rem;white-space:nowrap}.lesson-row{width:100%;display:grid;grid-template-columns:28px minmax(0,1fr) 20px;gap:13px;align-items:center;text-align:left;border:0;border-top:1px solid #e5e3da;background:none;padding:17px 0;color:#263e39}.lesson-row.is-current{border-left:3px solid #e16d4f;padding-left:12px;margin-left:-12px}.lesson-row.is-locked{color:#8a9591;background:#f6f6f2;border-top-color:transparent;border-radius:10px;padding:14px 12px;margin:6px -12px 0;cursor:default}.lesson-row.is-locked+.lesson-row.is-locked{margin-top:4px}.lesson-lock{display:flex;justify-content:flex-end;color:#8a9591}.lesson-lock-icon{display:block;flex:0 0 auto}.lesson-row strong,.lesson-row small{display:block}.lesson-row small{color:#71807a;margin-top:4px}.lesson-row.is-locked small{color:#8a9591}.check{width:22px;height:22px;border:1px solid #bac8bd;border-radius:50%;color:#fff;text-align:center;line-height:21px}.check.done{background:#4f8766;border-color:#4f8766}.arrow{color:#d36348}.back-link{margin-bottom:34px}.lesson-layout{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(240px,.7fr);gap:60px}.lesson-main{max-width:760px}.lesson-sidebar{border-left:1px solid #dddcd2;padding-left:28px;display:grid;gap:28px;align-content:start}.lesson-section{margin-top:38px}.lesson-section h2{font-size:1.15rem;margin-bottom:13px}.clean-list{padding:0 0 0 20px;color:#5c6b65;line-height:1.75}.clean-list li+li{margin-top:7px}.code-stack{display:grid;gap:12px;margin-top:30px}pre{overflow-x:auto;background:#183b38;color:#e8eee2;padding:20px;line-height:1.55}.summary{border-left:3px solid #e16d4f;padding-left:20px}.primary-button{border:0;background:#d36348;color:#fff;padding:13px 18px;font-weight:700}.primary-button:hover{background:#b94f38}.primary-button:disabled{opacity:.55;cursor:wait}.compact{margin-top:15px}.loading{color:#71807a;padding:60px 0}.error-banner{background:#f7d9cf;color:#853e2c;padding:12px 5vw;text-align:center}.auth-screen{min-height:100vh;display:grid;place-items:center;padding:24px;background:#fff}.auth-panel{width:min(460px,100%);background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:42px}.auth-panel h1{font-size:3rem;margin-bottom:18px}form{display:grid;gap:16px;margin-top:30px}label{display:grid;gap:7px;color:#53635d;font-size:.86rem}input,textarea{border:1px solid #ccd5cd;background:#fffef9;color:#1d2a2a;padding:11px 12px;outline-color:#d36348}textarea{min-height:150px;resize:vertical}.form-error{color:#a33e2c;margin:0;font-size:.85rem}.switch-button{margin-top:20px}.milestones{display:grid;gap:12px;margin:18px 0 34px}.milestone{display:flex;grid-template-columns:auto 1fr;align-items:start;gap:10px;color:#5c6b65;line-height:1.5}.milestone input{margin-top:4px;accent-color:#d36348}.project-detail-grid h2+.clean-list{margin-top:8px}.knowledge-check-options{display:grid;gap:8px;margin:12px 0 0}.knowledge-check-options label{display:flex;gap:10px;align-items:flex-start;margin-top:0;font-weight:400;color:#1d2a2a}.knowledge-check-options input{width:auto;margin-top:4px;accent-color:#153f3a}.exercise-panel label{margin-top:16px}.exercise-panel textarea{min-height:130px}.exercise-kind-card{margin:8px 0 0;padding:12px 14px;border-radius:10px;border:1px solid #dddcd2}.exercise-kind-card strong{display:block;font-size:.95rem;color:#173d38}.exercise-kind-card p{margin:6px 0 0;color:#53635d;font-size:.88rem;line-height:1.45}.exercise-panel--practice .exercise-kind-card{background:#edf2e9;border-color:#c5d4c4}.exercise-panel--apply .exercise-kind-card{background:#f7efe2;border-color:#e4d3b3}.lesson-flow-stepper{list-style:none;margin:10px 0 0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:8px}.lesson-flow-step{display:grid;gap:2px;margin:0;padding:10px 12px;border:1px solid #dddcd2;border-radius:10px;background:#fff;color:#3f4f4a}.lesson-flow-step span:nth-child(2){font-weight:700;color:#173d38}.lesson-flow-step small{color:#71807a;font-size:.78rem}.lesson-flow-step.is-current,.lesson-flow-step.is-waiting{border-color:#173d38;background:#f4f7f2}.lesson-flow-step.is-done{border-color:#c5d4c4;background:#edf2e9}.lesson-flow-status{margin-top:16px;padding:14px 16px;border-radius:10px;display:grid;gap:8px}.lesson-flow-status.is-waiting{background:#f7f1e2;border:1px solid #e4d3b3}.lesson-flow-status.is-success{background:#edf2e9;border:1px solid #c5d4c4}.lesson-flow-status p{margin:0;color:#3f4f4a;line-height:1.45}.lesson-flow-checklist{list-style:none;margin:4px 0 0;padding:0;display:grid;gap:6px}.lesson-flow-checklist li{display:flex;gap:8px;align-items:flex-start}.lesson-flow-next-card{margin-top:6px;padding:12px 14px;background:#fff;border-radius:8px;border:1px solid #c5d4c4;display:grid;gap:8px}.lesson-flow-next-card h3{margin:0;font-size:1.05rem}.lesson-flow-primary-cta{margin-top:8px;width:100%;justify-content:center}.lesson-flow-secondary{margin-top:18px;color:#71807a;font-size:.86rem}.lesson-flow-secondary summary{cursor:pointer;font-weight:500}.lesson-flow-secondary select{margin-top:8px}.knowledge-check-panel--optional{border-top:1px dashed #c9d0c8;background:#f7f8f6}.knowledge-check-optional h2{margin:0;font-size:1.05rem}.knowledge-check-optional p{margin:8px 0 12px;color:#4a5854;line-height:1.45}.exercise-now{margin-top:16px;padding:14px 16px;background:#173d38;color:#f4f7f2;border-radius:10px}.exercise-now-label{margin:0;font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#c9ddd6}.exercise-now-body{margin:8px 0 0;font-size:1.02rem;font-weight:600;line-height:1.45}.exercise-flow{margin:14px 0 0;padding-left:20px;color:#3f4f4a;font-size:.9rem;line-height:1.55}.exercise-flow li+li{margin-top:4px}.exercise-prompt{margin-top:16px;padding:12px 14px;background:#f6f4ee;border-radius:8px}.exercise-prompt-label{margin:0;font-size:.74rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#71807a}.exercise-prompt-body{margin:8px 0 0;white-space:pre-wrap;line-height:1.5}.exercise-example{margin-top:12px;padding:12px 14px;background:#f8f6f1;border-radius:8px}.exercise-example h3{margin-top:0}.exercise-example ol{margin:8px 0 0;padding-left:20px;line-height:1.55}.exercise-after-submit{margin:16px 0 0;padding:12px 14px;background:#eef3f1;border-left:3px solid #4f8766;font-size:.9rem;line-height:1.45}.exercise-after-submit strong{display:block;margin-bottom:6px;color:#173d38;font-size:.82rem}.knowledge-check-panel{border-top:1px solid #dddcd2;padding-top:8px}.knowledge-check-intro{margin:8px 0 0;font-size:.95rem;font-weight:600;line-height:1.4;color:#173d38}.attempt-result.pending,.attempt-result.rejected{border-left-color:#c49a3c;background:#f7f1e2}.attempt-result{display:grid;gap:7px;margin-top:18px;padding:13px;border-left:3px solid #d36348;background:#f6e8e2}.attempt-state{color:#71807a;font-size:.9rem;margin:14px 0 0}.attempt-result.correct{border-left-color:#4f8766;background:#edf2e9}.attempt-result span{color:#53635d;font-size:.85rem}.evaluation-label{color:#53635d;font-size:.82rem;font-weight:700}.progress-explanation{color:#71807a;font-size:.8rem;line-height:1.45}.mastery-indicator{display:flex;flex-wrap:wrap;gap:7px;margin:10px 0}.mastery-indicator span{background:#f5ead0;color:#725916;border-radius:999px;padding:5px 8px;font-size:.74rem;text-transform:capitalize}.mastery-indicator span.mastered{background:#e6eee2;color:#3e6350}.mastery-indicator .mastery-legend{width:100%;background:transparent;color:#71807a;padding:0;font-size:.76rem;text-transform:none}.exercise-panel h3{color:#173d38;font-size:.95rem;margin:18px 0 0}.attempt-next-steps{margin:0}.attempt-result p{margin:0;line-height:1.45}.attempt-error{color:#853e2c}.teacher-feedback{border-left:3px solid #4f8766;padding-left:10px}.attempt-history{margin-top:16px;color:#53635d;font-size:.9rem}.attempt-history ol{margin-bottom:0;padding-left:22px}.tutor-panel{border-top:1px solid #dddcd2;margin-top:34px;padding-top:28px;display:flex;flex-direction:column;min-width:0}.tutor-panel label{margin-top:16px}.tutor-panel textarea{min-height:100px}.tutor-messages{display:grid;gap:10px;flex:1 1 auto;min-height:0;max-height:420px;overflow-y:auto;margin:20px 0 0}.tutor-controls{flex:0 0 auto;border-top:1px solid #dddcd2;margin-top:20px;padding-top:18px}.tutor-controls>label:first-of-type{margin-top:0}.tutor-message{padding:12px;background:#edf2e9;border-left:3px solid #4f8766}.tutor-message.user{background:#f6e8e2;border-left-color:#d36348}.tutor-message.pending{opacity:.75}.tutor-message strong,.tutor-message small{color:#53635d;font-size:.78rem}.tutor-message p{margin:6px 0 0;line-height:1.5;white-space:pre-wrap}.tutor-error{background:#f7d9cf;color:#853e2c;padding:12px;margin-bottom:14px}.tutor-error p{margin:0 0 8px;line-height:1.4}.review-layout{display:grid;grid-template-columns:minmax(240px,.7fr) minmax(0,1.3fr);gap:30px}.project-review-layout{margin-top:64px;padding-top:48px;border-top:1px solid #dddcd2}.project-mentor-panel{margin-top:28px}.mentor-criteria,.mentor-next-action{border-left:3px solid #dbe5d7;color:#53635d;font-size:.9rem;padding-left:12px}.mentor-next-action{border-left-color:#e16d4f;text-transform:capitalize}.review-queue-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:12px 16px;margin:8px 0 0}.review-queue-toolbar p{margin:0;color:#71807a;font-size:.92rem}.review-queue-count{color:#71807a;font-weight:500}.review-queue-item.is-selected{color:#173d38}.review-queue{display:grid;gap:1px;margin-top:24px;border-top:1px solid #dddcd2}.review-queue-item{display:grid;gap:4px;text-align:left;padding:15px 0;border:0;border-bottom:1px solid #dddcd2;background:transparent;color:#263e39}.review-queue-item span,.review-queue-item small{color:#71807a}.review-detail h3{color:#173d38;font-size:1rem;margin-top:24px}.ai-review-panel{margin-top:20px;padding:14px 16px;background:#f4f1e8;border:1px solid #dddcd2;color:#53635d}.ai-review-panel h3{margin-top:0;font-size:.95rem;font-weight:600;color:#4a5854}.ai-review-disclaimer{font-size:.88rem;line-height:1.45;margin:0 0 12px}.ai-review-rubric{font-size:.9rem}.review-actions{display:flex;gap:12px;margin-top:18px;align-items:center}.reject-button{color:#a33e2c;font-weight:700}.review-mastery-preview,.review-rejection-note{border-left:3px solid #dbe5d7;color:#53635d;font-size:.9rem;line-height:1.5;padding-left:12px}.admin-panel{max-width:920px}.admin-course-owner{margin-bottom:24px}.admin-owner-row{display:grid;grid-template-columns:minmax(180px,1fr) minmax(180px,1fr) auto;gap:16px;align-items:end}.admin-users{display:grid;gap:1px;padding-block:0}.admin-user-row{display:grid;grid-template-columns:minmax(180px,1fr) 150px auto 80px;align-items:end;gap:16px;padding:18px 0;border-bottom:1px solid #dddcd2}.admin-user-row:last-child{border-bottom:0}.admin-user-row strong,.admin-user-row span{display:block}.admin-user-row span,.account-active,.account-disabled{color:#71807a;font-size:.82rem;margin-top:4px}.account-disabled{color:#a33e2c}.review-rejection-note{border-left-color:#e16d4f}.panel a,.teacher-feedback,.attempt-result p,.tutor-message p,.mentor-criteria,.mentor-next-action,.guided-callout{overflow-wrap:anywhere}@media (max-width: 1100px){.topbar{height:auto;flex-wrap:wrap;padding-block:14px;gap:12px 24px}nav{flex-wrap:wrap;gap:8px 20px}}@media (max-width: 760px){.topbar{height:auto;flex-wrap:wrap;padding-block:17px;gap:15px 24px}nav{order:3;flex-basis:100%;gap:18px;flex-wrap:wrap}.account{margin-left:auto}.page-content{padding-top:38px}.hero-row,.page-intro{display:block}.progress-orbit{margin-top:28px}.stat-grid{grid-template-columns:repeat(2,1fr)}.stat:nth-child(2){border-right:0}.content-grid,.project-detail-grid,.lesson-layout,.review-layout{grid-template-columns:1fr}.admin-user-row,.admin-owner-row{grid-template-columns:1fr;align-items:start}.lesson-sidebar{border-left:0;border-top:1px solid #dddcd2;padding:25px 0 0;gap:22px}.lesson-flow-stepper{grid-template-columns:1fr}.exercise-kind-card,.exercise-now,.exercise-example,.exercise-after-submit{padding:12px}.panel{padding:21px}.auth-panel{padding:28px}}.progress-page .page-intro{display:block;align-items:start;margin-bottom:32px}.progress-page .eyebrow{color:#2563eb;margin-bottom:10px}.progress-page h1{color:#111827;font-size:clamp(1.7rem,3.2vw,2.35rem);line-height:1.15;letter-spacing:-.03em;max-width:none}.progress-page .muted{color:#6b7280;max-width:640px}.progress-course-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:16px 18px;margin-bottom:36px}.progress-course-card label{display:block;color:#6b7280;font-size:.8rem;font-weight:500;margin-bottom:8px}.progress-course-card select{width:100%;max-width:100%;color:#111827;background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:10px 12px}.progress-course-card select:focus{outline:2px solid #2563eb;outline-offset:1px}.progress-map-intro{margin:0 0 16px}.progress-stat-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.progress-stat-grid-projects{grid-template-columns:repeat(2,minmax(0,1fr));max-width:100%}.progress-stat-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:18px 16px 16px}.progress-stat-card strong{display:block;font-family:var(--font-display);font-size:1.7rem;font-weight:700;color:#111827;letter-spacing:-.03em;line-height:1.15}.progress-stat-card.is-success strong{color:#16a34a}.progress-stat-card span{display:block;margin-top:8px;color:#6b7280;font-size:.82rem;line-height:1.4}.progress-section-title{color:#111827;font-size:1.05rem;font-weight:600;margin:40px 0 14px}@media (max-width: 800px){.progress-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 520px){.progress-stat-grid,.progress-stat-grid-projects{grid-template-columns:1fr}}.workspace-page{display:grid;gap:22px}.workspace-page h1{font-size:clamp(1.7rem,3.4vw,2.5rem);line-height:1.12;letter-spacing:-.03em;max-width:40rem}.workspace-hero{margin:0}.workspace-hero .eyebrow{margin-bottom:10px}.workspace-hero .muted{margin:12px 0 0;max-width:40rem}.workspace-card{background:#fff;border:1px solid #dddcd2;border-radius:14px;padding:24px 26px}.workspace-card h2{margin-bottom:8px}.workspace-card .muted{max-width:none}.workspace-section{display:grid;gap:14px}.workspace-section>h2{font-size:1.15rem}.workspace-stack{display:grid;gap:14px}.workspace-stat-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.workspace-stat{background:#fff;border:1px solid #dddcd2;border-radius:14px;padding:18px 16px 16px}.workspace-stat strong{display:block;font:700 1.7rem var(--font-display);color:#173d38;letter-spacing:-.03em}.workspace-stat span{display:block;margin-top:8px;color:#71807a;font-size:.82rem;line-height:1.4}.current-learning-kicker{margin:0 0 6px;color:#173d38;font-weight:700}.current-learning-progress{margin:16px 0 18px}.current-learning-progress-meta{display:flex;justify-content:space-between;gap:12px;margin-bottom:8px;color:#5c6b65;font-size:.88rem}.current-learning .progress-bar{border-radius:999px;height:8px}.workspace-steps{margin:8px 0 0;padding-left:1.2rem;color:#4b5a55;line-height:1.65}.workspace-steps li+li{margin-top:6px}.empty-state{display:grid;gap:10px;justify-items:start}.empty-state .muted{margin:0}.primary-action{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;width:fit-content;max-width:100%;min-height:44px;border-radius:10px;transition:background .15s ease,border-color .15s ease}.privacy-card{background:#fff8f4;border-color:#f0d8ce}.portfolio-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.portfolio-card{display:grid;gap:10px;align-content:start}.portfolio-card .panel-heading{align-items:center;flex-wrap:wrap}.portfolio-tech{margin:0;color:#3e6350;font-size:.9rem}.status-badge.is-upcoming,.status-badge.is-public,.status-badge.is-approved{background:#e6eee2;color:#3e6350}.status-badge.is-completed{background:#eef2ea;color:#4b5a55}.status-badge.is-cancelled,.status-badge.is-private{background:#f7e6df;color:#853e2c}.live-session-card.is-featured{border-color:#e16d4f}.workspace-page a:focus-visible,.workspace-page button:focus-visible,.workspace-page input:focus-visible{outline:2px solid #e16d4f;outline-offset:2px}.workspace-card,.workspace-stat,.primary-action{transition:border-color .15s ease}@media (max-width: 900px){.workspace-stat-grid,.portfolio-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 640px){.workspace-page{gap:16px}.workspace-card{padding:18px 16px}.workspace-stat-grid,.portfolio-grid{grid-template-columns:1fr}.primary-action{width:100%}}
