:root{
  --bg:#eef1f3; --surface:#fff; --surface-2:#f7f8f8; --ink:#1f252a; --muted:#66727b;
  --line:#d9dfe3; --line-strong:#c3cbd1; --anth:#252b30; --anth-2:#343b41;
  --orange:#e9781c; --orange-2:#f39a45; --orange-soft:#fff3e7;
  --steel:#4f616d; --steel-soft:#edf2f5; --green:#1f7549; --green-soft:#eaf6ef;
  --blue:#1f5f88; --blue-soft:#eaf3f9; --amber:#9a6508; --amber-soft:#fff6dc;
  --red:#a63d32; --red-soft:#fff0ee; --shadow:0 10px 28px rgba(28,36,42,.08);
  --radius:14px; --header-h:68px; --left:260px; --right:318px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:"Segoe UI",Inter,system-ui,-apple-system,sans-serif;background:var(--bg);color:var(--ink);line-height:1.5}
button,input{font:inherit}
button{cursor:pointer}
code,.mono{font-family:"Cascadia Code","SFMono-Regular",Consolas,monospace}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* Header */
.app-header{height:var(--header-h);position:sticky;top:0;z-index:100;background:rgba(37,43,48,.98);color:#fff;border-bottom:4px solid var(--orange);box-shadow:0 3px 16px rgba(20,26,30,.24)}
.header-inner{height:100%;max-width:1800px;margin:auto;display:flex;align-items:center;gap:18px;padding:0 24px}
.brand-mark{width:38px;height:38px;border:1px solid rgba(255,255,255,.2);border-radius:10px;display:grid;place-items:center;background:rgba(255,255,255,.06)}
.brand-mark svg{width:25px;height:25px}
.brand-text{min-width:0}.brand-text strong{display:block;font-size:.92rem;letter-spacing:.08em;text-transform:uppercase}.brand-text span{display:block;font-size:.76rem;color:#cfd6da}
.header-project{margin-left:14px;padding-left:22px;border-left:1px solid rgba(255,255,255,.16);min-width:0}
.header-project strong{display:block;font-size:.94rem}.header-project span{font-size:.76rem;color:#cfd6da}
.header-actions{margin-left:auto;display:flex;gap:8px}
.header-btn{border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.07);color:#fff;border-radius:9px;padding:8px 12px;font-size:.82rem;font-weight:700;text-decoration:none;display:inline-flex;align-items:center;gap:7px;white-space:nowrap}
.header-home{border-color:rgba(243,154,69,.58);background:rgba(233,120,28,.16)}
.header-btn:hover{background:rgba(255,255,255,.13)}

/* Project strip */
.project-strip{background:linear-gradient(115deg,#2a3035 0%,#343c42 62%,#5e351d 100%);color:#fff;border-bottom:1px solid rgba(0,0,0,.22)}
.project-strip-inner{max-width:1800px;margin:auto;padding:24px;display:grid;grid-template-columns:minmax(420px,1fr) auto;gap:28px;align-items:center}
.project-kicker{display:flex;align-items:center;gap:8px;color:#ffd5b0;font-weight:800;text-transform:uppercase;letter-spacing:.1em;font-size:.72rem}
.project-title{margin:5px 0 6px;font-size:clamp(1.55rem,2.3vw,2.35rem);line-height:1.12}.project-lead{margin:0;color:#dfe4e7;max-width:880px;font-size:.95rem}
.level-box{min-width:520px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);border-radius:14px;padding:12px}
.level-label{display:flex;justify-content:space-between;align-items:center;margin:0 2px 9px;font-size:.76rem;color:#dce2e5}.level-label strong{color:#fff}
.level-switch{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}
.level-btn{border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.05);color:#eef1f3;border-radius:9px;padding:10px 8px;text-align:left;transition:.18s ease}
.level-btn span{display:block;font-size:.7rem;color:#cbd3d8;font-weight:600}.level-btn strong{display:block;font-size:.84rem;margin-top:2px}
.level-btn:hover{background:rgba(255,255,255,.11)}
.level-btn.active{border-color:var(--orange-2);background:var(--orange);box-shadow:0 0 0 2px rgba(233,120,28,.16)}
.level-btn.active span{color:#fff1e6}

/* Grid */
.app-shell{max-width:1800px;margin:auto;display:grid;grid-template-columns:var(--left) minmax(620px,1fr) var(--right);gap:18px;padding:18px 24px 44px;align-items:start}
.sidebar{position:sticky;top:calc(var(--header-h) + 18px);max-height:calc(100vh - var(--header-h) - 36px);overflow:auto;scrollbar-width:thin}
.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}
.panel-title{padding:14px 15px 12px;border-bottom:1px solid var(--line);font-size:.73rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--steel)}

/* Left nav */
.course-summary{padding:14px 15px;border-bottom:1px solid var(--line);background:linear-gradient(180deg,#fff,#fafafa)}
.summary-row{display:flex;align-items:center;gap:9px;font-size:.8rem;color:var(--muted)}
.summary-row + .summary-row{margin-top:7px}.summary-dot{width:8px;height:8px;border-radius:50%;background:var(--orange)}
.learning-nav{padding:7px}
.nav-item{width:100%;border:0;background:transparent;border-radius:10px;padding:10px;display:grid;grid-template-columns:35px 1fr 18px;gap:9px;text-align:left;align-items:center;color:var(--ink);transition:.15s}
.nav-item:hover{background:var(--steel-soft)}
.nav-item.active{background:var(--orange-soft);box-shadow:inset 3px 0 0 var(--orange)}
.nav-index{height:32px;border:1px solid var(--line);border-radius:8px;display:grid;place-items:center;font-size:.7rem;font-weight:800;color:var(--steel);background:#fff}
.nav-item.active .nav-index{border-color:var(--orange);color:#8c4309;background:#fff8f1}
.nav-copy strong{display:block;font-size:.83rem;line-height:1.25}.nav-copy span{display:block;font-size:.69rem;color:var(--muted);margin-top:2px}
.nav-chevron{color:#9aa5ac;font-size:1.05rem}.nav-item.placeholder .nav-copy strong{color:#56616a}
.nav-divider{height:1px;background:var(--line);margin:8px 8px}
.quick-links{padding:8px}.quick-link{display:flex;align-items:center;gap:9px;color:var(--steel);text-decoration:none;font-size:.8rem;font-weight:700;padding:9px 10px;border-radius:9px}.quick-link:hover{background:var(--steel-soft)}

/* Main work area */
.workspace{min-width:0}
.card-page{display:none}.card-page.active{display:block;animation:fade .18s ease}
@keyframes fade{from{opacity:.25;transform:translateY(4px)}to{opacity:1;transform:none}}
.card-head{background:var(--surface);border:1px solid var(--line);border-left:5px solid var(--orange);border-radius:var(--radius);box-shadow:var(--shadow);padding:20px 22px;margin-bottom:14px}
.card-eyebrow{font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.1em;color:var(--orange);margin-bottom:5px}
.card-head h2{margin:0 0 8px;font-size:1.45rem;line-height:1.2}.card-head p{margin:0;color:var(--muted);font-size:.91rem}
.objective-grid{margin-top:16px;display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.objective{border:1px solid var(--line);background:var(--surface-2);border-radius:10px;padding:10px}.objective b{display:block;font-size:.78rem}.objective span{font-size:.72rem;color:var(--muted)}

/* Accordion */
.accordion{display:grid;gap:10px}
.acc-item{background:var(--surface);border:1px solid var(--line);border-radius:12px;box-shadow:0 4px 14px rgba(28,36,42,.045);overflow:hidden}
.acc-trigger{width:100%;border:0;background:#fff;display:grid;grid-template-columns:36px 1fr auto;gap:12px;align-items:center;padding:14px 16px;text-align:left;color:var(--ink)}
.acc-trigger:hover{background:#fafbfb}.acc-item.open .acc-trigger{background:#fffaf5;border-bottom:1px solid #f0ded0}
.acc-step{width:32px;height:32px;border-radius:9px;background:var(--steel-soft);color:var(--steel);display:grid;place-items:center;font-size:.7rem;font-weight:900}.acc-item.open .acc-step{background:var(--orange);color:#fff}
.acc-title strong{display:block;font-size:.91rem}.acc-title span{display:block;font-size:.74rem;color:var(--muted);margin-top:2px}
.acc-icon{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;color:var(--steel);transition:transform .18s}.acc-item.open .acc-icon{transform:rotate(180deg);background:var(--orange-soft);color:var(--orange)}
.acc-body{display:none;padding:18px}.acc-item.open .acc-body{display:block;animation:fade .16s ease}
.acc-body h3{font-size:1rem;margin:0 0 8px}.acc-body h4{font-size:.86rem;margin:18px 0 7px}.acc-body p,.acc-body li{font-size:.88rem;color:#4f5a62}.acc-body ul,.acc-body ol{padding-left:1.25rem}.acc-body li{margin-bottom:5px}

/* Content components */
.mail{border:1px solid #f0d7c1;border-left:5px solid var(--orange);border-radius:11px;background:#fffaf5;overflow:hidden}
.mail-meta{display:flex;gap:18px;flex-wrap:wrap;padding:10px 14px;background:#fff3e8;border-bottom:1px solid #f0d7c1;font-size:.73rem;color:#7a4b26}.mail-body{padding:14px 16px}.mail-body p{margin:.45rem 0}
.info-box{border-left:4px solid var(--blue);background:var(--blue-soft);border-radius:0 10px 10px 0;padding:12px 14px;margin:12px 0}.info-box.warn{border-left-color:var(--orange);background:var(--orange-soft)}.info-box.good{border-left-color:var(--green);background:var(--green-soft)}.info-box.amber{border-left-color:var(--amber);background:var(--amber-soft)}
.info-label{font-size:.68rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase;margin-bottom:3px;color:var(--blue)}.warn .info-label{color:#a24e0b}.good .info-label{color:var(--green)}.amber .info-label{color:var(--amber)}
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:14px}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.figure-card{border:1px solid var(--line);border-radius:12px;background:#fff;overflow:hidden}.figure-toolbar{display:flex;justify-content:space-between;align-items:center;padding:9px 12px;background:var(--surface-2);border-bottom:1px solid var(--line);font-size:.72rem;color:var(--muted)}.figure-body{padding:12px;background:#fff}.figure-caption{padding:10px 12px;border-top:1px solid var(--line);font-size:.75rem;color:var(--muted)}
.contour-svg{display:block;width:100%;height:auto;max-height:410px}.contour-base{fill:none;stroke:#cbd3d8;stroke-width:8;stroke-linecap:round;stroke-linejoin:round}.contour-seg{fill:none;stroke:#d5dce0;stroke-width:7;stroke-linecap:round;transition:.2s}.contour-seg.active{stroke:var(--orange)}.contour-point{fill:#fff;stroke:#83919a;stroke-width:2}.contour-point.active{fill:#fff4e9;stroke:var(--orange);stroke-width:3}.contour-label{font:700 14px 'Segoe UI',sans-serif;fill:#43515a}.axis{stroke:#73818a;stroke-width:1.7;marker-end:url(#arrow)}.axis-label{font:700 12px 'Segoe UI',sans-serif;fill:#60707a}
.level-path-banner{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid #efc49f;background:#fff7ef;border-radius:10px;padding:10px 12px;margin-top:10px}.level-path-banner strong{color:#8a420c;font-size:.86rem}.level-path-banner span{font-size:.77rem;color:#76563f}
.data-table{width:100%;border-collapse:collapse;font-size:.81rem}.data-table th,.data-table td{border-bottom:1px solid var(--line);padding:9px 8px;text-align:left}.data-table th{background:var(--surface-2);color:#4f5b63;font-size:.71rem;text-transform:uppercase;letter-spacing:.05em}.tag{display:inline-block;border-radius:999px;padding:3px 7px;font-size:.67rem;font-weight:800}.tag.fixed{background:var(--red-soft);color:var(--red)}.tag.team{background:var(--blue-soft);color:var(--blue)}.tag.check{background:var(--green-soft);color:var(--green)}
.code-card{border-radius:12px;overflow:hidden;border:1px solid #1a2024;background:#20262a;margin:12px 0}.code-head{display:flex;align-items:center;justify-content:space-between;background:#2d353a;color:#d8dfe3;padding:8px 12px;font-size:.72rem}.copy-btn{border:1px solid #4d5b64;background:#39444a;color:#fff;border-radius:7px;padding:5px 9px;font-size:.7rem;font-weight:700}.copy-btn:hover{background:#46545c}.code-card pre{margin:0;padding:16px;color:#eef2f4;overflow:auto;font-size:.83rem;line-height:1.7}.tok-command{color:#ffb36f}.tok-point{color:#8fd3ff}.tok-tool{color:#b7e69c}.tok-speed{color:#e9c6ff}.tok-comment{color:#8d9aa2}.tok-punct{color:#cbd3d8}
.syntax-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.syntax-token{border:1px solid var(--line);border-radius:9px;padding:9px;background:var(--surface-2)}.syntax-token code{display:block;font-weight:800;color:#35434c;font-size:.8rem}.syntax-token span{display:block;font-size:.7rem;color:var(--muted);margin-top:4px}.syntax-token em{display:block;margin-top:6px;font-style:normal;font-size:.64rem;font-weight:800;text-transform:uppercase;color:var(--orange)}
.task-block{border:1px solid var(--line);border-radius:11px;padding:14px;margin-top:12px}.task-label{display:inline-flex;align-items:center;border-radius:999px;background:var(--steel-soft);color:var(--steel);font-size:.66rem;text-transform:uppercase;letter-spacing:.07em;font-weight:900;padding:4px 8px;margin-bottom:7px}.task-block h4{margin:0 0 7px}.task-block ol{margin:0}
.help-details{border:1px dashed var(--line-strong);border-radius:10px;margin-top:10px;background:#fbfcfc}.help-details summary{cursor:pointer;padding:10px 12px;font-size:.78rem;font-weight:800;color:var(--blue)}.help-details div{padding:0 12px 12px;font-size:.8rem;color:var(--muted)}
.placeholder-box{text-align:center;padding:46px 24px;color:var(--muted)}.placeholder-box .ph-icon{width:54px;height:54px;border-radius:15px;background:var(--steel-soft);margin:0 auto 14px;display:grid;place-items:center;color:var(--steel);font-weight:900}.placeholder-box h3{margin:0 0 6px;color:var(--ink)}.placeholder-box p{max-width:520px;margin:auto;font-size:.86rem}

/* Right cockpit */
.cockpit-section{padding:13px 14px;border-bottom:1px solid var(--line)}.cockpit-section:last-child{border-bottom:0}.cockpit-label{font-size:.66rem;font-weight:900;text-transform:uppercase;letter-spacing:.09em;color:var(--steel);margin-bottom:7px}.status-chip{display:flex;align-items:center;gap:10px;border:1px solid #efc69f;background:var(--orange-soft);border-radius:10px;padding:10px}.status-icon{width:34px;height:34px;border-radius:9px;background:var(--orange);color:#fff;display:grid;place-items:center;font-size:.76rem;font-weight:900}.status-copy strong{display:block;font-size:.84rem;color:#743806}.status-copy span{display:block;font-size:.7rem;color:#835f42}
.path-list{display:flex;flex-wrap:wrap;gap:4px;margin-top:8px}.path-node{padding:3px 6px;border-radius:6px;background:#eceff1;color:#6b7880;font:700 .67rem Consolas,monospace}.path-node.active{background:var(--orange);color:#fff}
.milestone{display:grid;grid-template-columns:20px 1fr;gap:8px;align-items:start;font-size:.76rem;color:var(--muted);padding:6px 0}.milestone + .milestone{border-top:1px dashed var(--line)}.mile-dot{width:16px;height:16px;border-radius:50%;border:2px solid #aab4ba;background:#fff;margin-top:1px}.milestone.current{color:var(--ink);font-weight:800}.milestone.current .mile-dot{border-color:var(--orange);box-shadow:inset 0 0 0 3px #fff;background:var(--orange)}
.command-list{display:flex;flex-wrap:wrap;gap:6px}.cmd{border:1px solid var(--line);background:var(--surface-2);border-radius:7px;padding:5px 7px;font:700 .7rem Consolas,monospace;color:#37464f}.cmd.new{border-color:#efbf95;background:#fff5eb;color:#8d430a}
.doc-list{margin:0;padding:0;list-style:none}.doc-list li{display:grid;grid-template-columns:16px 1fr;gap:7px;font-size:.75rem;color:var(--muted);padding:5px 0}.doc-list li::before{content:'›';color:var(--orange);font-weight:900}
.safety-chain{display:grid;gap:6px}.safety-step{display:grid;grid-template-columns:24px 1fr;gap:8px;align-items:center;border-radius:8px;padding:7px 8px;background:var(--surface-2);font-size:.72rem;color:#5f6b73}.safety-step b{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:#e3e8eb;color:#66757e;font-size:.66rem}.safety-step.highlight{background:var(--green-soft);color:#2d6847}.safety-step.highlight b{background:var(--green);color:#fff}
.cockpit-note{font-size:.68rem;color:#7a858c;padding:10px 14px;background:#fafbfb}

/* Footer */
.preview-note{max-width:1800px;margin:0 auto 28px;padding:0 24px}.preview-note-inner{border:1px dashed var(--line-strong);border-radius:12px;padding:12px 14px;background:rgba(255,255,255,.52);font-size:.75rem;color:var(--muted)}

@media(max-width:1250px){:root{--left:230px;--right:285px}.project-strip-inner{grid-template-columns:1fr}.level-box{min-width:0;max-width:720px}.app-shell{grid-template-columns:var(--left) minmax(560px,1fr)}.sidebar.right{position:static;grid-column:1/-1;max-height:none;display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.sidebar.right .panel{display:contents}.cockpit-section{background:#fff;border:1px solid var(--line);border-radius:12px}.cockpit-note{display:none}}
@media(max-width:900px){.app-header{height:auto;position:relative}.header-inner{padding:12px 16px}.header-project{display:none}.project-strip-inner{padding:20px 16px}.level-switch{grid-template-columns:1fr 1fr}.app-shell{display:block;padding:14px 16px}.sidebar{position:static;max-height:none;margin-bottom:14px}.learning-nav{display:grid;grid-template-columns:1fr 1fr}.workspace{margin-bottom:14px}.sidebar.right{display:block}.objective-grid,.grid-2,.grid-3,.syntax-grid{grid-template-columns:1fr}.header-actions{display:none}}
@media(max-width:560px){.learning-nav,.level-switch{grid-template-columns:1fr}.project-title{font-size:1.55rem}.brand-text span{display:none}.card-head{padding:16px}.acc-trigger{grid-template-columns:32px 1fr auto;padding:12px}.acc-body{padding:14px}.figure-toolbar{align-items:flex-start;gap:6px;flex-direction:column}}
@media print{.app-header,.project-strip,.sidebar,.preview-note,.copy-btn{display:none!important}.app-shell{display:block;padding:0}.card-page{display:block!important}.acc-body{display:block!important}.acc-trigger{border-bottom:1px solid var(--line)}body{background:#fff}.panel,.card-head,.acc-item{box-shadow:none}}

/* Full project additions */
.level-detail{display:none}.level-detail.active{display:block;animation:fade .18s ease}
.level-summary{border:1px solid #efc49f;background:#fff8f1;border-radius:12px;padding:13px 14px;margin:12px 0}.level-summary strong{color:#7f3b08}.level-summary p{margin:.25rem 0 0;font-size:.82rem;color:#76563f}
.subtle{color:var(--muted);font-size:.8rem}.inline-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.action-btn{border:1px solid var(--line-strong);background:#fff;color:var(--steel);border-radius:8px;padding:7px 10px;font-size:.76rem;font-weight:800}.action-btn:hover{background:var(--steel-soft)}.action-btn.primary{background:var(--orange);border-color:var(--orange);color:#fff}.action-btn.primary:hover{background:#cf6512}
.point-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin:12px 0}.point-card{border:1px solid var(--line);background:var(--surface-2);border-radius:10px;padding:10px}.point-card b{font-size:.78rem;display:block}.point-card span{font-size:.7rem;color:var(--muted)}
.flow-strip{display:flex;align-items:stretch;gap:7px;flex-wrap:wrap;margin:12px 0}.flow-step{flex:1 1 125px;min-height:62px;border:1px solid var(--line);border-radius:10px;background:#fff;padding:9px}.flow-step b{display:block;font-size:.73rem;color:var(--steel)}.flow-step span{font-size:.68rem;color:var(--muted)}.flow-step.active{border-color:#efb57f;background:var(--orange-soft)}
.code-note{font-size:.72rem;color:#aebbc2;margin:8px 0 0}.code-note strong{color:#fff}
.checklist{display:grid;gap:7px;margin:10px 0}.check-row{display:grid;grid-template-columns:22px 1fr;gap:8px;align-items:start;border:1px solid var(--line);border-radius:9px;padding:9px 10px;background:#fff}.check-row input{margin-top:3px;accent-color:var(--orange)}.check-row label{font-size:.79rem;color:#4f5a62;cursor:pointer}
.form-card{border:1px solid var(--line);border-radius:12px;background:#fff;overflow:hidden;margin-top:12px}.form-head{padding:11px 14px;background:var(--surface-2);border-bottom:1px solid var(--line);font-weight:800;font-size:.82rem}.form-body{padding:14px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.form-field{display:grid;gap:4px}.form-field.full{grid-column:1/-1}.form-field label{font-size:.7rem;font-weight:800;color:var(--steel)}.form-field input,.form-field textarea,.form-field select{width:100%;border:1px solid var(--line-strong);border-radius:8px;padding:9px;background:#fff;color:var(--ink);font:inherit;font-size:.8rem}.form-field textarea{min-height:90px;resize:vertical}
.release-status{display:flex;align-items:center;gap:8px;padding:10px;border-radius:9px;background:var(--steel-soft);font-size:.78rem;margin-top:10px}.release-status.ready{background:var(--green-soft);color:var(--green)}
.segment-list{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin:10px 0}.segment{border:1px solid var(--line);border-radius:9px;padding:9px;background:var(--surface-2)}.segment code{display:block;font-size:.77rem;font-weight:800;color:#35434c}.segment span{font-size:.69rem;color:var(--muted)}
.milestone .upload-badge{margin-left:auto;background:var(--blue-soft);color:var(--blue);border-radius:999px;padding:2px 6px;font-size:.58rem;font-weight:900;text-transform:uppercase;letter-spacing:.04em}
.cockpit-section .milestone{grid-template-columns:20px 1fr auto}
.download-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:10px}.download-card{display:block;text-decoration:none;border:1px solid var(--line);border-radius:9px;padding:10px;background:#fff;color:var(--ink)}.download-card:hover{border-color:#e4a570;background:#fffaf5}.download-card b{display:block;font-size:.76rem}.download-card span{font-size:.67rem;color:var(--muted)}
.quiz{display:grid;gap:9px}.quiz-q{border:1px solid var(--line);border-radius:10px;padding:11px;background:#fff}.quiz-q strong{display:block;font-size:.8rem;margin-bottom:6px}.quiz-q label{display:block;font-size:.76rem;color:var(--muted);margin:4px 0}.quiz-feedback{display:none;margin-top:7px;font-size:.73rem;font-weight:700}.quiz-feedback.good{display:block;color:var(--green)}.quiz-feedback.bad{display:block;color:var(--red)}
.muted-card{border:1px dashed var(--line-strong);border-radius:10px;padding:12px;background:#fbfcfc}
.footer{max-width:1800px;margin:0 auto 28px;padding:0 24px}.footer-inner{border-top:1px solid var(--line);padding:14px 0;color:var(--muted);font-size:.72rem;display:flex;justify-content:space-between;gap:14px}
@media(max-width:900px){.point-grid,.download-grid,.segment-list,.form-grid{grid-template-columns:1fr}.footer-inner{display:block}}
@media print{.action-btn,.header-actions,.level-box{display:none!important}.form-card{break-inside:avoid}.release-status{border:1px solid var(--line)}.footer{display:none}}

/* Projekt 1 v4 additions */
.technical-image{display:block;width:100%;height:auto;object-fit:contain;background:#fff}
.image-stage{padding:10px;background:#fff}.image-stage.compact{max-height:540px;overflow:hidden}.image-stage.compact .technical-image{max-height:510px}
.wide-figure{margin-bottom:14px}.wide-figure .figure-body{min-height:420px}
.prereq-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:12px}.prereq{display:flex;gap:10px;align-items:flex-start;border:1px solid var(--line);border-radius:10px;padding:11px;background:#fff}.prereq>span{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--green-soft);color:var(--green);font-weight:900}.prereq b{display:block;font-size:.79rem}.prereq small{display:block;color:var(--muted);font-size:.69rem;line-height:1.35;margin-top:2px}
.quick-note{font-size:.69rem;line-height:1.45;color:var(--muted);padding:10px;border:1px dashed var(--line-strong);border-radius:9px;background:#fbfcfc}
.download-card.static{cursor:default}.download-card.static:hover{border-color:var(--line);background:#fff}
.hint{margin-top:10px;border:1px solid var(--line);border-radius:9px;background:#fff}.hint summary{cursor:pointer;padding:9px 11px;font-weight:800;font-size:.76rem}.hint p{padding:0 11px 11px;margin:0;color:var(--muted);font-size:.76rem}
.point-source-table td:nth-child(2),.point-source-table td:nth-child(3){font-variant-numeric:tabular-nums;text-align:center}
@media(max-width:1120px){.prereq-grid{grid-template-columns:1fr}.wide-figure .figure-body{min-height:unset}}

/* Inhaltliche Redaktionsfassung v7 */
.mail-body p{line-height:1.62}.level-summary{border-left:4px solid var(--orange,#f28c28)}
.acc-body>.task-block:first-child{margin-top:0}.figure-caption{line-height:1.5}
@media (min-width:1100px){.mail-body{font-size:1rem}.wide-figure .technical-image{max-height:720px;object-fit:contain}}


/* Projekt 1 v8: wiedererkennbare E-Mail-Absender */
.mail-header{display:flex;align-items:center;gap:12px;padding:10px 14px;background:#fff3e8;border-bottom:1px solid #f0d7c1}
.mail-avatar{width:52px;height:52px;flex:0 0 52px;border-radius:50%;object-fit:cover;object-position:center;border:2px solid #fff;box-shadow:0 0 0 1px #e5b991,0 3px 8px rgba(52,40,28,.12)}
.mail-header .mail-meta{padding:0;background:transparent;border:0;display:grid;gap:3px;flex:1}
.mail-header .mail-meta span{display:block}
@media(max-width:560px){.mail-avatar{width:44px;height:44px;flex-basis:44px}.mail-header{align-items:flex-start}}
