/* Projekte: gut lesbare Arbeitsansichten, eigenständige Navigation und Druckfassung. */
.projects-page{background:#f5f7fa;font-size:1.0625rem;--max:1240px}
.projects-page [hidden]{display:none!important}
.projects-page .header-inner{gap:.75rem}
.projects-page .brand-copy span{font-size:1rem}
.projects-page button,.projects-page summary{cursor:pointer}
.projects-page button,.projects-page input,.projects-page textarea{font:inherit}
.projects-page :focus-visible{outline:3px solid #056987;outline-offset:4px;box-shadow:none}
.projects-main{padding-top:1.5rem;min-height:60vh}
.project-tools{max-width:1240px;margin:auto;padding:.8rem 1.1rem;display:flex;justify-content:space-between;align-items:center;gap:.7rem;border-bottom:1px solid #d7e0e7;font-size:1rem;flex-wrap:wrap}
.project-tools>div{display:flex;align-items:center;gap:.7rem;flex-wrap:wrap}
.project-tools a{font-weight:750;color:#163c56}
.project-tools button{min-height:40px;padding:.35rem .7rem;border:1px solid #bfced8;border-radius:7px;background:#fff;color:#23425b}
#saveStatus{color:#526576;font-size:1rem}
.storage-warning{max-width:1200px;margin:1rem auto;padding:1rem 1.3rem;border:2px solid #a54a22;border-radius:10px;background:#fff3e9;color:#682c13}
.project-hero{background:#0b293d;color:white;padding:clamp(1.6rem,4vw,3rem);border-radius:22px;display:grid;grid-template-columns:1.5fr 1fr;gap:2rem;align-items:center;position:relative;overflow:hidden}
.project-hero .eyebrow{color:#addbde}
.eyebrow{font-weight:800;font-size:1rem;letter-spacing:.065em;text-transform:uppercase;margin:0 0 .7rem;color:#456379}
.project-hero h1{font-size:clamp(2.5rem,5.5vw,4.6rem);line-height:1.05;letter-spacing:-.035em;margin:0 0 1.1rem}
.project-hero p{max-width:640px}
.project-hero .hero-line{font-size:1.22rem;line-height:1.55;color:#e5f1f5}
.hero-board{border:1px solid #7294a4;background:#173c50;border-radius:16px;padding:1.1rem;transform:rotate(2deg)}
.hero-board strong{display:block;font-size:1.2rem;margin-bottom:.8rem}
.hero-board ol{list-style:none;margin:0;padding:0;counter-reset:entry}
.hero-board li{display:flex;gap:.8rem;align-items:center;padding:.8rem 0;border-top:1px solid #456276;counter-increment:entry}
.hero-board li:before{content:'0' counter(entry);color:#bce5dd;font-variant-numeric:tabular-nums;font-weight:750}
.project-startline{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem;margin:1.5rem 0 2rem}
.project-startline p{margin:0;color:#42596c}.project-startline strong{display:block;color:#18394e;margin-bottom:.2rem}
.catalogue-head{display:flex;align-items:end;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin:2.5rem 0 1rem}
.catalogue-head h2{font-size:1.7rem;margin:0}
.filters{display:flex;flex-wrap:wrap;gap:.5rem}
.filters button,.time-choice button{border:1px solid #aebfcd;background:white;border-radius:999px;padding:.5rem .9rem;color:#264257;min-height:44px;font-weight:700}
.filters button[aria-pressed=true],.time-choice button[aria-pressed=true]{background:#153b50;border-color:#153b50;color:#fff}
.project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.3rem}
.project-card{--accent:#435788;--soft:#eef2fa;background:#fff;border:1px solid #cbd8e2;border-radius:17px;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 5px 15px #17314a06}
.tone-violet{--accent:#684693;--soft:#f2edf9}.tone-teal{--accent:#146b65;--soft:#e7f4f0}.tone-blue{--accent:#176797;--soft:#eaf3fa}.tone-amber{--accent:#86600b;--soft:#fbf3dc}.tone-coral{--accent:#a74731;--soft:#fcf0ea}
.card-art{background:var(--soft);padding:1.2rem 1.5rem;border-bottom:1px solid #d9e1e7;min-height:142px;display:flex;justify-content:space-between;gap:1rem;align-items:center;color:var(--accent)}
.card-art .project-number{font-size:3.6rem;font-weight:700;letter-spacing:-.07em;line-height:1}
.card-art .art-caption{font-weight:800;font-size:1.1rem}
.card-art svg{width:75px;height:75px;stroke:currentColor;fill:none;stroke-width:1.5;flex-shrink:0}
.card-body{padding:1.4rem 1.5rem;display:flex;flex-direction:column;flex:1}
.card-body h3{font-size:1.75rem;line-height:1.15;margin:0 0 .4rem;letter-spacing:-.025em}
.card-body h3 a{text-decoration:none;color:#122e43}
.card-subtitle{margin:0;color:var(--accent);font-weight:750}
.card-body>p{margin:.7rem 0}
.card-product{padding:.8rem 0;border-top:1px solid #dce4e9;margin-top:auto!important}
.card-product strong{display:block;font-size:1rem;color:#536777}
.card-meta{display:flex;gap:.7rem;flex-wrap:wrap;color:#465b6c;font-size:1rem;margin:.6rem 0 1rem}
.status-pill{border-radius:6px;padding:.2rem .6rem;background:#eef2f5;color:#3d5565;font-weight:750;font-size:1rem}
.status-pill.done{background:#dff3e8;color:#146343}.status-pill.working{background:#fff0cc;color:#795005}
.card-bottom{display:flex;align-items:center;justify-content:space-between;gap:.8rem;margin-top:auto;flex-wrap:wrap}
.project-link{font-weight:800;color:#123e56;text-decoration-thickness:2px;text-underline-offset:4px;padding:.3rem 0}
.continue-panel{margin:1.5rem 0;padding:1.3rem 1.5rem;background:#e8f3ef;border:1px solid #afcec1;border-radius:14px}
.continue-panel h2{margin:0 0 .7rem;font-size:1.3rem}
.continue-panel a{display:inline-block;margin:.3rem .8rem .3rem 0;color:#12563f;font-weight:750}
.catalogue-help{margin:2rem 0;border-top:1px solid #bcccda;padding-top:1rem}
.catalogue-help details{padding:.9rem 0;border-bottom:1px solid #d3dfe7}
.catalogue-help summary{font-size:1.1rem;font-weight:750}
.catalogue-help p{max-width:800px}
.crumbs{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.1rem;color:#526578;font-size:1rem}
.crumbs a{color:#365e76}
.project-heading{border-left:5px solid var(--accent);padding:.35rem 0 .35rem 1.1rem;margin-bottom:1.4rem}
.project-heading .eyebrow{color:var(--accent);margin-bottom:.3rem}
.project-heading h1{font-size:clamp(2rem,4vw,3rem);line-height:1.15;margin:.1rem 0 .5rem;letter-spacing:-.03em}
.project-heading p{margin:0;max-width:850px;color:#40566a;font-size:1.16rem}
.project-layout{display:grid;grid-template-columns:260px minmax(0,1fr);gap:1.6rem;align-items:start}
.project-sidebar{position:sticky;top:95px;background:#fff;border:1px solid #c8d5df;border-radius:14px;padding:1rem;font-size:1rem}
.project-sidebar .side-title{margin:0 0 .8rem;font-weight:800}
.project-sidebar progress{width:100%;height:9px;accent-color:var(--accent);border:0}
.side-progress{margin:0 0 1rem;color:#4a6171}
.project-sidebar nav{display:grid;gap:.35rem}
.project-sidebar nav a{display:flex;align-items:start;gap:.6rem;color:#294357;padding:.55rem .45rem;text-decoration:none;line-height:1.35;border-radius:7px;min-height:44px}
.project-sidebar nav a[aria-current=page]{background:var(--soft);color:var(--accent);font-weight:800;box-shadow:inset 3px 0 var(--accent)}
.step-number{display:grid;place-items:center;flex:0 0 24px;min-height:24px;border-radius:6px;background:#e9eff4;color:#385263;font-size:1rem;font-weight:750}
.step-number.checked{background:#dff1e6;color:#106343}
.side-tools{border-top:1px solid #d6e1e7;margin-top:1rem;padding-top:.7rem;display:grid;gap:.35rem}
.side-tools button{border:0;background:transparent;text-align:left;color:#345a72;padding:.5rem .4rem;text-decoration:underline;text-underline-offset:3px;min-height:44px}
.content-panel{background:#fff;border:1px solid #cbd8e2;border-radius:17px;padding:clamp(1.2rem,3vw,2rem);margin:0 0 1.2rem}
.content-panel h2{font-size:1.6rem;line-height:1.25;letter-spacing:-.015em;margin:0 0 .9rem}
.content-panel h3{font-size:1.2rem;margin:1.25rem 0 .5rem}
.content-panel p{margin:.55rem 0;max-width:77ch}
.content-panel ul{padding-left:1.3rem}.content-panel li+li{margin-top:.5rem}
.overview-summary{font-size:1.2rem;margin-bottom:1rem!important}
.project-facts{display:grid;grid-template-columns:1fr 1fr;gap:.9rem;margin:1.3rem 0}
.project-facts>div{background:#f3f6f8;border-radius:9px;padding:.9rem 1rem}
.project-facts dt{font-weight:800;color:#4c6372;font-size:1rem;margin-bottom:.25rem}
.project-facts dd{margin:0}
.first-move{background:var(--soft);border-left:4px solid var(--accent);padding:1rem 1.1rem;border-radius:0 9px 9px 0;margin:1.3rem 0}
.first-move strong{display:block;color:var(--accent);margin-bottom:.3rem}
.p-button{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:46px;padding:.65rem 1.05rem;border:1px solid #a7becd;border-radius:9px;background:white;color:#173b53;text-decoration:none;font-weight:750;line-height:1.35}
.p-button.primary{background:#153b50;border-color:#153b50;color:white}
.p-button:hover{filter:brightness(.96)}
.p-button:disabled{opacity:.55;cursor:not-allowed}
.p-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.7rem;margin:1rem 0 0}
.time-choice{display:flex;flex-wrap:wrap;gap:.5rem;margin:.8rem 0}
.time-advice{background:#f2f6f9;border-radius:9px;padding:1rem!important;color:#314c60;min-height:90px}
.route-options{display:grid;grid-template-columns:1fr 1fr;gap:.7rem;margin:1rem 0}
.route-option{display:flex;gap:.65rem;align-items:start;padding:1rem;border:1px solid #b9cbd8;border-radius:9px;background:#fff}
.route-option:has(input:checked){border:2px solid var(--accent);padding:calc(1rem - 1px);background:var(--soft)}
.route-option input{margin-top:.35rem;accent-color:var(--accent);width:19px;height:19px;flex-shrink:0}
.route-option strong{display:block}.route-option small{display:block;color:#4b6171;font-size:1rem;margin-top:.3rem}
.idea-list{display:grid;gap:.6rem;margin-top:.9rem}
.idea{padding:1rem;background:#f5f7fa;border:1px solid #d8e2e9;border-radius:9px}
.idea strong{color:#26455b}.idea p{margin:.3rem 0 0}
.example-box{background:var(--soft);border:1px solid color-mix(in srgb,var(--accent) 30%,white);padding:1.2rem;border-radius:12px;margin:1rem 0}
.example-box .example-label{font-size:1rem;font-weight:800;color:var(--accent);text-transform:uppercase;letter-spacing:.06em;margin:0 0 .5rem}
.example-preview{display:grid;gap:.6rem;margin-top:1rem}
.example-preview>div{background:#fff;padding:1rem;border-radius:8px;border:1px solid #d5dfe6;box-shadow:0 2px 4px #17314a06}
.example-preview.cockpit{grid-template-columns:1fr 1fr}
.example-preview.dokumente{grid-template-columns:repeat(3,1fr)}
.example-preview.dokumente>div{aspect-ratio:.8;display:flex;align-items:end;border-top:7px solid var(--accent)}
.example-preview.tutorial>div{border-left:4px solid var(--accent)}
.step-topline{display:flex;align-items:center;justify-content:space-between;gap:1rem;color:var(--accent);font-weight:800;margin-bottom:.7rem}
.step-goal{font-size:1.17rem;color:#3a5467;border-bottom:1px solid #dae4eb;padding-bottom:1rem;margin-bottom:1.2rem!important}
.action-list{list-style:none;counter-reset:actions;padding:0;margin:1rem 0}
.action-list li{counter-increment:actions;display:grid;grid-template-columns:30px 1fr;gap:.8rem;margin:0 0 1.1rem;line-height:1.65}
.action-list li:before{content:counter(actions);display:grid;place-items:center;border-radius:50%;background:#ecf1f5;color:#34566b;width:29px;height:29px;font-weight:800;font-size:1rem;margin-top:.2rem}
.help-section{margin:1.5rem 0}
.help-section>h3{font-size:1.05rem;color:#426176;margin-bottom:.6rem}
.help-section details{border:1px solid #c9d7e1;border-radius:9px;margin:.6rem 0;background:#fbfcfd}
.help-section summary{padding:.85rem 1rem;font-weight:750;color:#234b65;min-height:48px}
.help-section details p{padding:0 1rem 1rem;margin:0}
.checkpoint{display:flex;align-items:flex-start;gap:.85rem;border:2px solid #b7d7c7;background:#eef8f2;padding:1.1rem;border-radius:11px;color:#204c3a;line-height:1.55}
.checkpoint input,.quality-item input{width:22px;height:22px;accent-color:#157453;flex-shrink:0;margin-top:.15rem}
.checkpoint strong{display:block;margin-bottom:.2rem}
.note-label{display:block;margin-top:1.3rem;font-weight:750;color:#355168}
.project-note{display:block;resize:vertical;min-height:90px;width:100%;border:1px solid #afc5d4;border-radius:8px;padding:.8rem;background:#fff;font:inherit;line-height:1.55;margin:.5rem 0;max-height:480px}
.note-hint{font-size:1rem;color:#596f80}
.step-nav{display:flex;justify-content:space-between;gap:.8rem;flex-wrap:wrap;margin-top:1.5rem;padding-top:1rem;border-top:1px solid #d5e0e7}
.quality-list{display:grid;gap:.7rem;margin:1rem 0}
.quality-item{display:flex;gap:.8rem;align-items:start;padding:.8rem;background:#f5f8fa;border:1px solid #dce5eb;border-radius:8px}
.finish-banner{padding:1rem;background:#e2f4e9;color:#185e3d;border-radius:10px;border:1px solid #afd5be;margin:1rem 0}
.finish-hint{color:#7a5116;background:#fff5df;padding:.9rem;border-radius:8px}
.extension{border:1px solid #c8d7e2;border-radius:10px;margin:1rem 0;padding:1.1rem;background:#f8fafc}
.extension h3{margin:0 0 .3rem}.extension .duration{font-weight:750;color:#496c83}
.resource-list{display:flex;gap:.5rem;flex-wrap:wrap;margin:1rem 0}
.source-list{padding-left:1.2rem}.source-list a{color:#275b79;text-underline-offset:3px}
.project-sources{padding:1rem 0;color:#4e6574;font-size:1rem}
.project-sources summary{font-weight:750}
.toolbox details{padding:0;margin:.6rem 0;border:1px solid #c6d6e2;border-radius:9px}
.toolbox summary{font-weight:750;padding:.9rem 1rem}
.toolbox details div{padding:0 1rem 1rem}
.project-handoff{border:1px dashed #9fb9cc;border-radius:10px;padding:1rem;margin-top:1.2rem;background:#f6f9fb}
.project-handoff summary{font-weight:750;color:#35546c}
#projectDialog{border:1px solid #9cb6c8;border-radius:18px;width:min(730px,92vw);max-height:87vh;padding:1.4rem;color:#18384e;box-shadow:0 22px 70px #09223844}
#projectDialog::backdrop{background:#091d2c99}
.dialog-head{display:flex;align-items:start;gap:1rem;justify-content:space-between}.dialog-head h2{font-size:1.5rem;margin:0 0 .9rem}.dialog-head button{min-height:44px;min-width:44px;border:1px solid #bdccd5;border-radius:8px;background:white}
.template-text{width:100%;min-height:330px;max-height:50vh;resize:vertical;padding:1rem;border:1px solid #b8cbd8;border-radius:9px;font:inherit;line-height:1.55}
#projectToast{position:fixed;bottom:4.5rem;left:50%;transform:translateX(-50%);background:#173b50;color:white;padding:.8rem 1.2rem;z-index:300;max-width:90vw;border-radius:10px;box-shadow:0 6px 28px #12324633}
#printProject{display:none}
.portal-large.projects-page,.portal-large .projects-page{font-size:1.2rem}
@media(min-width:1151px){.projects-page .nav-link{font-size:1rem;padding:.5rem .55rem}.projects-page:has(.teacher-nav-link) .desktop-nav{display:none}.projects-page:has(.teacher-nav-link) .mobile-nav{display:block}}
@media(max-width:1150px){.projects-page .desktop-nav{display:none}.projects-page .mobile-nav{display:block}}
@media(max-width:850px){.project-layout{grid-template-columns:1fr}.project-sidebar{position:static}.project-sidebar nav{grid-template-columns:repeat(2,minmax(0,1fr))}.side-tools{display:flex;flex-wrap:wrap}.project-hero{grid-template-columns:1fr}.hero-board{display:none}.project-startline{gap:1rem}.project-tools{font-size:.95rem}}
@media(max-width:600px){.project-grid{grid-template-columns:1fr}.project-startline{grid-template-columns:1fr;gap:.85rem}.projects-main{padding:.9rem .8rem 3rem}.project-facts,.route-options{grid-template-columns:1fr}.example-preview.cockpit,.example-preview.dokumente{grid-template-columns:1fr}.example-preview.dokumente>div{aspect-ratio:auto;min-height:90px}.card-art{min-height:112px}.project-sidebar nav{grid-template-columns:1fr 1fr}.project-sidebar nav a{font-size:1rem}.project-tools{padding:.7rem .8rem}.project-tools>div{gap:.5rem}.project-tools button{font-size:1rem}.brand-copy span{display:none}.action-list li{gap:.6rem}.content-panel{padding:1.15rem}.project-hero{border-radius:15px}.project-tools #saveStatus{flex-basis:100%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}
@media print{body.projects-page{background:white!important;font:11pt/1.5 Arial,sans-serif;color:#000}.projects-page>header,.projects-page>.project-tools,.projects-page>main,.projects-page>footer,.projects-page>dialog,.projects-page>.storage-warning,.projects-page>noscript,.student-access-logout,#projectToast{display:none!important}#printProject{display:block}#printProject h1{font-size:24pt}#printProject h2{font-size:17pt;margin-top:1.2em}#printProject h3{font-size:13pt}#printProject section{break-inside:auto}#printProject .print-step{break-before:page}#printProject li{margin-bottom:.6em}#printProject .print-note{white-space:pre-wrap;border-left:2px solid #aaa;padding-left:1em}#printProject a{color:#000;overflow-wrap:anywhere}#printProject .print-meta{border-bottom:1px solid #aaa;padding-bottom:1em}.student-access-gate{display:none!important}@page{size:A4;margin:18mm}}

/* Guided workspace: plan, make, inspect, resume. */
.projects-page button,.projects-page input,.projects-page select,.projects-page textarea{font:inherit}
.project-content,.project-content>*{min-width:0}
.project-content p,.product-preview,.studio-block{overflow-wrap:anywhere}
.project-hero{grid-template-columns:1.35fr 1fr;background:linear-gradient(130deg,#0d2d44,#163f50);gap:2.4rem}
.project-hero h1{font-size:clamp(2.4rem,4.2vw,3.7rem);line-height:1.12;max-width:700px}
.p-button.light{background:#d9f0df;border-color:#d9f0df;color:#123d32}
.cockpit-illustration{padding:1.2rem;background:#eff7fa;border:1px solid #7193a7;color:#153c51;border-radius:18px;box-shadow:0 16px 35px #01121d35;transform:rotate(1.3deg)}
.illustration-top{display:flex;align-items:center;gap:.6rem;font-size:1rem;padding-bottom:.9rem}
.assistant-mark{display:grid;place-items:center;flex-shrink:0;width:36px;height:36px;background:#daeee5;color:#1a6659;border-radius:11px;font-size:1.5rem}
.live-dot{margin-left:auto;width:9px;height:9px;border-radius:50%;background:#28816d}
.illustration-today{background:#fff;border:1px solid #bfd4e1;border-radius:10px;padding:1.05rem}
.cockpit-illustration small{display:block;font-size:.87rem;font-weight:800;color:#527384;letter-spacing:.08em;margin-bottom:.45rem}
.cockpit-illustration strong{display:block}.cockpit-illustration p{font-size:1rem;line-height:1.45;margin:.7rem 0 0}
.illustration-bars{display:flex;gap:6px;margin:1rem 0 .5rem}.illustration-bars span{height:14px;background:#456e99;border-radius:4px;flex:2}.illustration-bars span:nth-child(2){flex:4;background:#2e8b7e}.illustration-bars span:last-child{flex:1;background:#d1a956}
.illustration-next{display:flex;gap:.75rem;padding:1rem .3rem .2rem}.illustration-next>span{font-size:2rem;color:#278878}
.journey-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;margin:1.3rem 0 2.4rem}
.journey-strip>div{display:flex;gap:.7rem;align-items:start}.journey-strip b{font-size:1.15rem;background:#e1eaf1;color:#32556a;border-radius:8px;padding:.4rem .55rem}
.journey-strip span{font-size:1rem;color:#536b7c}.journey-strip strong{display:block;color:#18394f;margin-bottom:.2rem}
.continue-grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr))}.continue-grid>div{background:#ffffff9e;padding:1rem;border-radius:10px}.continue-grid p{margin:.4rem 0 .6rem;font-size:1rem}.continue-grid a{color:#fff;font-size:1rem}
.card-cover{display:block;position:relative;padding:1.2rem 1.2rem 0;background:var(--soft)}
.card-cover img{display:block;width:100%;height:auto;border:1px solid #bcceda;border-radius:8px 8px 0 0;box-shadow:0 2px 8px #14304716}
.card-cover>span{position:absolute;top:.8rem;right:1.1rem;background:var(--accent);color:#fff;padding:.3rem .65rem;border-radius:6px;font-size:.9rem;font-weight:800}
.video-card-link{display:block;color:var(--accent);font-weight:700;text-decoration:none;border-top:1px solid #d4e1e8;padding:.85rem 0 .15rem;margin-top:.9rem}
.project-route-tabs{display:flex;flex-wrap:wrap;gap:.45rem;background:#e5edf3;padding:.5rem;border-radius:12px;margin:0 0 1.4rem}
.project-route-tabs a{flex:1;white-space:nowrap;text-align:center;font-weight:750;padding:.75rem .6rem;border-radius:8px;color:#345467;text-decoration:none;font-size:1rem}
.project-route-tabs a[aria-current=page]{background:#fff;color:var(--accent);box-shadow:0 2px 8px #17374b17}
.project-sidebar{top:88px;max-height:calc(100vh - 108px);overflow:auto}
.step-menu>summary{font-weight:750;color:#456276;font-size:1rem;margin-bottom:.6rem;padding:.3rem 0}
.side-tools a{padding:.5rem .4rem;min-height:44px;font-size:1rem;color:#345a72}
.assistant-summary{display:flex;align-items:center;gap:.75rem;background:#eaf3f2;border:1px solid #c1d8d0;border-radius:12px;padding:.9rem 1rem;margin-bottom:1.2rem}
.assistant-summary>div{flex:1}.assistant-summary strong{font-size:1.06rem;color:#214d45}.assistant-summary p{font-size:1rem;line-height:1.45;color:#456660;margin:.25rem 0 0;max-width:70ch}.assistant-summary .p-button{font-size:1rem;background:#ffffffcc}
.learning-figure{margin:1rem 0}.learning-figure button{display:block;border:0;padding:0;background:transparent;text-align:left;width:100%;color:#355b70}
.learning-figure img{width:100%;height:auto;display:block;border:1px solid #b6c9d6;border-radius:10px}
.learning-figure button>span{font-size:.95rem;display:inline-block;margin-top:.4rem;text-decoration:underline;text-underline-offset:3px}
.learning-figure figcaption{font-size:1rem;color:#526b7b;margin:.5rem 0}
.visual-detail{border:1px solid #c7d8e4;border-radius:10px;padding:0;margin:.9rem 0;background:#fbfdfe}
.visual-detail>summary{padding:.85rem 1rem;font-weight:750;min-height:48px;color:#31536a}
.visual-detail>p,.visual-detail>ul,.visual-detail>.idea-list{margin:0 1rem 1rem}.visual-detail>.learning-figure{margin:.3rem 1rem 1rem}
.example-video video{width:100%;height:auto;aspect-ratio:16/9;display:block;background:#102e44;border-radius:12px;margin:1rem 0;border:1px solid #9db4c6}
.example-video video::cue{color:#fff;background:#102e44;font-family:Arial,sans-serif}
.spoken-commentary{margin:0 1rem 1rem;padding:1rem 1.2rem;border-left:3px solid #3f7e95;background:#eef5f8;border-radius:0 8px 8px 0;max-width:76ch}
.spoken-commentary h3{font-size:1rem;margin:0 0 .7rem;color:#254b60}
.spoken-commentary p{line-height:1.65;margin:.6rem 0}
.video-chapters{display:grid;gap:.4rem;grid-template-columns:1fr 1fr;margin:1rem 0}
.video-chapters button{text-align:left;display:flex;gap:.6rem;border:1px solid #cedce6;background:#f4f8fb;border-radius:8px;padding:.65rem;color:#284d65;font-size:.96rem;min-height:48px}
.video-chapters span{font-weight:800;color:var(--accent);font-variant-numeric:tabular-nums}
.enlarged-example{display:block;max-width:100%;height:auto}#projectDialog[data-size=wide]{width:min(1200px,96vw);padding:1.2rem}
.step-shortcuts{display:flex;flex-wrap:wrap;gap:.6rem 1.1rem;border-block:1px solid #d7e3eb;padding:.85rem 0;margin:1rem 0 1.2rem;font-size:1rem;font-weight:700}
.step-shortcuts a{color:#345d74;min-height:30px;display:flex;align-items:center}
.action-cards{display:grid;gap:.7rem;margin:1rem 0 1.4rem}
.action-card{background:#fff;border:1px solid #b8cedd;border-radius:11px;overflow:hidden}.action-card.is-checked{border-color:#b3d2c5;background:#f4faf6}
.action-card>label{display:flex;align-items:flex-start;gap:.8rem;padding:1rem;cursor:pointer}.action-card input{width:21px;height:21px;flex-shrink:0;margin-top:.2rem;accent-color:#23755d}
.action-card small{display:block;color:var(--accent);font-size:.88rem;font-weight:800;letter-spacing:.04em;margin-bottom:.4rem}
.action-card strong{font-size:1.08rem;line-height:1.55;font-weight:700;display:block}
.action-card details{margin:0 1rem .9rem 3.1rem;background:#eff4f8;border-radius:7px;padding:.15rem .7rem}
.action-card summary{font-weight:700;color:#345a70;font-size:1rem;padding:.45rem 0}.action-card details p{padding:.2rem 0 .6rem;line-height:1.65;color:#344f63}
.step-example-grid{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:1.2rem}.step-example-grid .example-box{font-size:1rem;margin:.65rem 0}.step-example-grid h3{margin-top:.2rem}
.step-note{margin:1rem 0;border-bottom:1px solid #d6e2e9;padding:.5rem 0 1rem}.step-note>summary{font-size:1rem;color:#48677c}
.inline-button{border:0;padding:.15rem;background:none;text-align:left;text-decoration:underline;text-underline-offset:3px;color:#25526a;font-size:inherit}
.workspace-field{display:flex;flex-direction:column;gap:.45rem;margin:.8rem 0;min-width:0;font-size:1rem;color:#294b61}
.workspace-field>span{font-weight:750}.workspace-field input,.workspace-field select,.workspace-field textarea{width:100%;min-width:0;min-height:46px;border:1px solid #adc5d5;padding:.65rem .8rem;border-radius:8px;background:#fff;color:#1b394d;box-sizing:border-box;line-height:1.5}
.workspace-field textarea{resize:vertical;min-height:85px}.workspace-field select{appearance:auto;font-size:1rem}
.course-focus{background:#f0f5fa;border:1px solid #cbdae7;padding:1rem;border-radius:12px;margin:1.2rem 0}.course-focus h3{margin:.1rem 0 .6rem}.course-focus p{font-size:1rem}.focus-tasks{list-style:none;padding:0!important;display:grid;gap:.5rem}.focus-tasks li{display:flex;justify-content:space-between;gap:.75rem;font-size:1rem}.focus-tasks span{font-size:.95rem;color:#4c6d62}
.planner-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 1rem}.plan-adjust{margin:.7rem 0 1rem;padding:.6rem .9rem;border:1px dashed #adc3d2;border-radius:8px}.plan-adjust summary{font-weight:700;font-size:1rem}.plan-adjust p{font-size:1rem}.plan-adjust .workspace-field{max-width:350px}
.plan-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:.7rem;margin:1rem 0 1.5rem}.plan-stats>div{border-radius:10px;background:#f0f5f9;border:1px solid #cddce7;padding:1rem}.plan-stats strong{display:block;font-size:2.25rem;line-height:1.2;color:var(--accent)}.plan-stats span{font-size:.95rem;line-height:1.4;color:#4d6575}
.lesson-timeline{list-style:none;padding:0!important;margin:0;display:grid;gap:.75rem}.lesson-timeline>li{display:flex;align-items:flex-start;gap:1rem;padding:1rem;border:1px solid #c5d6e3;border-radius:11px;background:#fff}.lesson-timeline>li+li{margin-top:0}.timeline-time{flex:0 0 70px;font-weight:800;font-size:1rem;color:var(--accent);padding:.3rem 0}.lesson-timeline strong{font-size:1.05rem}.lesson-timeline p{font-size:1rem;color:#4e687a;line-height:1.5}.lesson-timeline a{font-size:1rem;font-weight:750;color:#28566c}.lesson-timeline .p-button{font-size:.96rem;margin-top:.4rem}.lesson-timeline .lesson-required{background:#fff7e5;border-color:#dfc58d}.lesson-timeline .lesson-save{background:#edf7f0;border-color:#b9d5c5}
.next-lesson{background:#15394e;border-radius:12px;padding:1.2rem;margin-top:1.3rem;color:#fff}.next-lesson h3{color:#fff;margin:.3rem 0 .8rem!important;font-size:1.4rem}.next-lesson p{color:#e0ecf2}.next-lesson .eyebrow{font-size:.9rem;color:#b8ded5}.next-lesson .note-hint{font-size:.95rem;color:#bed3de}
.handoff-card{border-left:5px solid #3c8a75}.handoff-checks{padding-left:1.3rem;line-height:1.65}.handoff-checks li+li{margin-top:.7rem}.session-history{font-size:1rem}.session-history p{margin:.25rem 0 1rem}
.template-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;margin:1.2rem 0 .4rem}.template-card{display:flex;flex-direction:column;border:1px solid #c1d3e0;border-radius:11px;padding:1rem;background:#f7fafc}.template-card h3{font-size:1.1rem;margin:.7rem 0 .45rem}.template-card p{font-size:1rem;line-height:1.5}.template-card small{font-size:.9rem;line-height:1.5;color:#527183;margin:.4rem 0 .8rem}.template-card .p-button{margin-top:auto;font-size:.95rem;padding:.6rem}.template-symbol{display:grid;place-items:center;width:42px;height:42px;background:var(--soft);color:var(--accent);border:1px solid #c6d6e0;border-radius:10px;font-size:1.6rem}
.template-switch{margin-top:1.1rem;padding:.8rem;border:1px solid #c5d5e1;border-radius:9px}.template-switch summary{font-weight:750}.template-preview{background:#f0f5f9;border:1px solid #cfdee7;border-radius:10px;padding:1rem}.template-preview li{padding:.5rem 0}.template-preview li span{font-size:.95rem;color:#4d6d82;display:block;margin:.2rem 0}
.studio-toolbar{display:flex;align-items:center;justify-content:space-between;gap:.8rem;flex-wrap:wrap;border-bottom:1px solid #d6e1e9;padding-bottom:1rem;margin-bottom:1rem}.studio-toolbar .p-actions{margin:0}.studio-toolbar .note-hint{font-size:.93rem}.studio-guidance{background:var(--soft);padding:.9rem;border-left:3px solid var(--accent);border-radius:5px;font-size:1rem}
.studio-block{margin:1rem 0;border:1px solid #bacfdd;border-radius:11px;overflow:hidden;background:#fff}.studio-block>summary{padding:.9rem 1rem;font-weight:750;color:#244a63;background:#edf3f8}.studio-block>summary .step-number{display:inline-grid;margin-right:.5rem;background:#fff}.studio-block-body{padding:.25rem 1rem 1rem}.studio-block textarea{font-size:1.05rem}.block-tools{display:flex;flex-wrap:wrap;gap:.45rem;border-top:1px solid #d7e3e9;padding-top:.8rem;margin-top:.8rem}.block-tools .p-button{font-size:.9rem;padding:.45rem .65rem;min-height:40px}
.image-slot{padding:.8rem;border:1px dashed #aac4d5;border-radius:8px;background:#f9fbfd}.image-slot p{font-size:.95rem;color:#587486}.image-slot>img{display:block;max-width:100%;max-height:250px;object-fit:contain;margin:0 0 .7rem;background:#fff;border:1px solid #cadbe6}.image-slot>.p-button{font-size:.94rem;margin-right:.4rem}.image-slot .workspace-field{margin-bottom:.5rem}
.product-preview{background:#fff;color:#163b50;padding:.5rem;line-height:1.6}.product-preview h2{font-size:1.8rem}.product-preview .product-intro{font-size:1.13rem}.product-preview p{white-space:pre-wrap}.product-blocks{display:grid;gap:1rem;margin:1.4rem 0}.product-block{position:relative;background:#fff;border:1px solid #bfd2df;border-radius:12px;padding:1.3rem;break-inside:avoid}.product-index{display:inline-grid;place-items:center;min-width:30px;height:30px;border-radius:8px;background:#e5eef5;color:#335a73;font-weight:800;margin-bottom:.6rem}.product-block h3{margin:0 0 .7rem;font-size:1.2rem;color:#123d56}.product-block p{font-size:1.05rem}.product-block figure{margin:1rem 0}.product-block img{max-width:100%;max-height:480px;object-fit:contain;display:block;border:1px solid #c6d9e4}.product-block figcaption{font-size:.96rem;margin-top:.4rem;color:#4a6a7e}.product-evidence{background:#f0f5f8;border-left:3px solid #8aabba;padding:.8rem;margin-top:1rem;border-radius:0 7px 7px 0}.product-evidence strong{font-size:.97rem}.product-evidence p{margin:.35rem 0 0}.product-cockpit .product-blocks{grid-template-columns:repeat(2,minmax(0,1fr))}.product-reflection{border-top:2px solid #91bcae;padding-top:1rem}.empty-prompt{color:#80622c;font-style:italic}
.export-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin:1rem 0 1.5rem}.export-steps .step-number{display:inline-grid;margin-right:.5rem}.export-steps strong{font-size:1.04rem}.export-steps p{font-size:1rem;color:#4c6b7e;line-height:1.5}
@media(max-width:1050px){.template-grid{grid-template-columns:1fr}.template-card{display:grid;grid-template-columns:44px 1fr;gap:0 .75rem;align-items:start}.template-card h3{margin:.15rem 0 .35rem}.template-card p,.template-card small,.template-card button{grid-column:2}.template-card .p-button{justify-self:start}.step-example-grid{grid-template-columns:1fr}.step-example-grid .learning-figure{max-width:600px;margin-top:0}.assistant-summary{flex-wrap:wrap}.assistant-summary>.p-button{margin-left:44px}.project-layout{gap:1.1rem;grid-template-columns:235px minmax(0,1fr)}}
@media(max-width:850px){.project-hero{grid-template-columns:1fr}.cockpit-illustration{max-width:580px;transform:none}.project-layout{grid-template-columns:1fr}.project-sidebar{position:static;max-height:none}.project-sidebar nav{grid-template-columns:repeat(2,minmax(0,1fr))}.journey-strip{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem 1.5rem}.template-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.template-card{display:flex}.template-card h3{margin:.65rem 0}.template-card .p-button{align-self:stretch}.step-example-grid{grid-template-columns:1fr 1fr}.assistant-summary>.p-button{margin-left:0}.project-route-tabs{margin-bottom:.9rem}}
@media(max-width:600px){.project-route-tabs a{flex:1 0 40%;padding:.65rem .4rem}.project-heading h1{font-size:2.05rem}.cockpit-illustration{padding:.8rem}.journey-strip{gap:.9rem}.journey-strip>div{gap:.45rem}.journey-strip b{font-size:1rem;padding:.3rem}.journey-strip span{font-size:.94rem}.project-hero{padding:1.5rem}.project-hero h1{font-size:2.45rem}.project-hero .hero-line{font-size:1.1rem}.planner-fields,.template-grid,.step-example-grid,.export-steps,.video-chapters,.product-cockpit .product-blocks{grid-template-columns:1fr}.template-card{display:grid}.template-card h3{margin:.15rem 0}.plan-stats{gap:.4rem}.plan-stats>div{padding:.75rem .55rem}.plan-stats strong{font-size:1.8rem}.plan-stats span{font-size:.85rem}.lesson-timeline>li{gap:.65rem;padding:.85rem}.timeline-time{flex-basis:52px;font-size:.94rem}.assistant-summary{align-items:flex-start;padding:.85rem}.assistant-summary>.p-button{margin-left:44px}.action-card>label{padding:.85rem}.action-card strong{font-size:1.04rem}.action-card details{margin-left:2.95rem}.studio-toolbar .p-actions{width:100%}.studio-block-body{padding:.2rem .7rem .9rem}.product-preview{padding:0}.product-block{padding:1rem}.focus-tasks li{flex-wrap:wrap}.card-cover{padding:.8rem .8rem 0}}
@media print{#printProject .product-preview{padding:0;color:#000}#printProject .product-preview header{border-bottom:2px solid #bbb;padding-bottom:8mm}#printProject .product-preview p{font-size:11pt;line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere}#printProject .product-block{break-inside:avoid;border:1px solid #bbb;padding:5mm;margin-bottom:5mm;border-radius:0}#printProject .product-blocks{display:block}#printProject .product-block h3{margin-top:0}#printProject .product-block img{max-width:100%;max-height:115mm;object-fit:contain}#printProject .product-evidence{background:none;border-left:2px solid #aaa}#printProject .product-index{display:none}#printProject .eyebrow{font-size:9pt;color:#333}#printProject .product-reflection{break-inside:avoid}.projects-page>input{display:none!important}}

#viewTitle{scroll-margin-top:110px}
