:root{--bg:#f5f7fb;--ink:#172033;--muted:#64748b;--line:#dce3ee;--accent:#2563eb;--lime:#93c5fd;--white:#fff;--orange:#2563eb}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.65 'Segoe UI',system-ui,sans-serif}a{color:var(--accent);text-underline-offset:4px}button,input,textarea{font:inherit}button,a,input,textarea,summary{touch-action:manipulation}:focus-visible{outline:3px solid var(--orange);outline-offset:4px}.top{min-height:84px;display:flex;align-items:center;gap:36px;padding:15px 4vw;border-bottom:1px solid var(--line);background:var(--white)}.brand{display:flex;align-items:center;gap:7px;color:var(--ink);text-decoration:none;font-weight:800;white-space:nowrap}.brand-icon{display:grid;place-items:center;background:var(--ink);color:var(--lime);width:33px;height:33px;border-radius:9px;margin-right:6px}nav{display:flex;gap:25px;flex-wrap:wrap}nav a{text-decoration:none;color:var(--muted);font-size:14px}nav a[aria-current=page]{color:var(--ink);font-weight:750}.course{margin-left:auto;font:12px monospace;color:var(--muted)}main{max-width:1180px;margin:auto;padding:55px 28px 80px}.eyebrow{font:700 12px monospace;letter-spacing:.14em;text-transform:uppercase;color:var(--accent)}h1{font-size:clamp(38px,5.6vw,72px);letter-spacing:-.055em;line-height:1.08;margin:18px 0 22px;font-weight:650}h2{font-size:26px;line-height:1.25;letter-spacing:-.025em}h3{line-height:1.3}.lead{max-width:630px;color:var(--muted);font-size:19px}.hero{display:grid;grid-template-columns:1.4fr 1fr;gap:45px;align-items:center;margin-bottom:50px}.scope{background:var(--ink);border-radius:24px;padding:24px;color:var(--lime);min-height:235px}.scope svg{width:100%;height:130px}.scope-label{display:flex;justify-content:space-between;font:11px monospace;color:#cbd5e1}.scope p{font:13px monospace;margin-bottom:0}.section-title{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding-top:20px}.muted,.small{color:var(--muted)}.small{font-size:13px}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.week-card{display:flex;flex-direction:column;position:relative;padding:27px;background:white;border:1px solid var(--line);border-radius:18px;text-decoration:none;color:var(--ink);transition:transform .18s,border-color .18s}.week-card:hover{transform:translateY(-4px);border-color:var(--accent)}.week-card.featured{background:var(--ink);color:white}.week-card.featured p{color:#cbd5e1}.week-card.featured .eyebrow{color:var(--lime)}.week-card h2{margin:32px 0 12px;font-size:30px}.week-card p{color:var(--muted);flex:1}.card-bottom{border-top:1px solid #94a3b866;padding-top:18px;margin-top:24px;display:flex;justify-content:space-between;font-size:13px}.pill{display:inline-block;padding:4px 10px;background:#eaf1ff;border-radius:30px;font-size:12px;color:var(--accent)}.note{border-left:3px solid var(--accent);padding:12px 20px;background:#eaf1ff;margin:26px 0}.layout{display:grid;grid-template-columns:240px minmax(0,1fr);gap:32px;align-items:start}.sidebar{position:sticky;top:20px}.sidebar a{display:block;padding:8px 0;font-size:14px;text-decoration:none}.progress-panel{border:1px solid var(--line);border-radius:14px;background:white;padding:18px;margin-bottom:18px}progress{width:100%;height:9px;accent-color:var(--accent)}.actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}button,.button{border:1px solid var(--line);border-radius:8px;background:white;color:var(--ink);padding:8px 12px;cursor:pointer;text-decoration:none;font-size:13px}.primary{background:var(--ink);color:white}.mission{background:white;border:1px solid var(--line);border-radius:17px;padding:28px;margin-bottom:22px;scroll-margin-top:20px}.mission-head{display:flex;gap:16px;align-items:flex-start}.number{font:700 15px monospace;color:var(--accent);padding-top:7px}.mission-head h2{margin:0 0 8px}.time{font:12px monospace;color:var(--muted)}li{padding-left:3px;margin:9px 0}.prompt{padding:16px;background:#f1f5fc;border-radius:10px;margin:18px 0}.prompt strong{color:var(--accent)}label.field{display:block;margin:15px 0;font-size:14px;font-weight:600}textarea,input[type=text]{display:block;width:100%;border:1px solid #aab8cc;border-radius:8px;padding:11px;margin-top:7px;color:var(--ink);background:#fff;line-height:1.5}textarea{min-height:95px;resize:vertical}.check{display:flex;gap:10px;align-items:flex-start;border-top:1px solid var(--line);padding-top:16px;margin-top:20px;font-size:14px}.check input{width:20px;height:20px;accent-color:var(--accent);flex-shrink:0}.check:has(:checked){color:var(--accent)}details{border-top:1px dashed var(--line);padding-top:13px;margin-top:16px}summary{cursor:pointer;font-weight:650;font-size:14px}code{background:#eef2f8;border-radius:4px;padding:2px 5px;font:13px Consolas,monospace}pre{background:var(--ink);color:#e2e8f0;border-radius:10px;padding:18px;overflow:auto;font:13px/1.7 Consolas,monospace}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;font-size:13px}th,td{padding:9px;border-bottom:1px solid var(--line);text-align:left;min-width:95px}td input[type=text]{min-width:100px}th{color:var(--accent)}footer{border-top:1px solid var(--line);padding:22px 4vw;font-size:12px;color:var(--muted);display:flex;justify-content:space-between}.back{font-size:13px}.empty{max-width:800px}.status{font-size:12px;color:var(--muted)}@media(max-width:850px){.course{display:none}.top{gap:20px;flex-wrap:wrap}.hero{grid-template-columns:1fr}.scope{display:none}.cards{grid-template-columns:1fr}.week-card h2{margin-top:20px}.layout{grid-template-columns:1fr}.sidebar{position:static}.sidebar .jump{display:none}main{padding:30px 18px 50px}.mission{padding:20px}nav{gap:18px}footer{gap:15px;flex-wrap:wrap}}@media print{.top,.sidebar,.back,footer,.actions,.check{display:none}.layout{display:block}body{background:white;font-size:11pt}main{padding:0}.mission{break-inside:avoid;border:1px solid #bbb;box-shadow:none}textarea{height:auto;min-height:80px}details>*{display:block}.hero{display:block}.scope{display:none}}
.layout>*{min-width:0}.mission-head>div{min-width:0}p,li,.field{overflow-wrap:anywhere}
#report-preview{width:min(1000px,96vw);max-height:94vh;border:1px solid var(--line);border-radius:14px;padding:0;background:#eef2f8;color:#172033}#report-preview::backdrop{background:#0f172a99}.report-toolbar{padding:18px 24px;background:white;display:flex;gap:12px;align-items:center;flex-wrap:wrap;position:sticky;top:0;border-bottom:1px solid var(--line)}.report-toolbar p{font-size:13px;margin:3px 0}.report-paper{margin:24px;padding:35px;background:white}.report-paper h1{font-size:30px;letter-spacing:-.025em}.report-paper h2{font-size:21px;border-bottom:1px solid #cbd5e1;padding-bottom:7px;margin-top:28px}.report-paper h3{font-size:13px;margin:12px 0 5px}.report-answer{white-space:pre-wrap;overflow-wrap:anywhere;min-height:38px;font-size:14px}.report-paper table{table-layout:fixed;font-size:11px;margin:18px 0}.report-paper th,.report-paper td{min-width:0;overflow-wrap:anywhere;padding:6px;border:1px solid #cbd5e1}.report-end{font-size:12px;border-top:1px solid #ccc;padding-top:12px}@media print{@page{size:A4;margin:16mm}body.report-open{overflow:visible!important}body.report-open>*:not(#report-preview){display:none!important}#report-preview[open]{position:static!important;display:block!important;width:100%;max-width:none;max-height:none;height:auto;overflow:visible;border:0;padding:0;margin:0;background:white}#report-preview::backdrop,.report-toolbar{display:none!important}.report-paper{margin:0;padding:0}.report-section{break-inside:auto}.report-field, .report-paper tr{break-inside:avoid}.report-paper h2,.report-paper h3{break-after:avoid}.report-paper thead{display:table-header-group}.report-answer{overflow:visible;white-space:pre-wrap}.report-paper table{width:100%}}
.attachments{background:white;border:1px solid var(--line);border-radius:16px;padding:24px;margin:24px 0}.image-item{display:grid;grid-template-columns:110px 1fr auto;gap:14px;align-items:center;margin:16px 0}.image-item img{width:110px;max-height:100px;object-fit:contain}.report-images figure{margin:20px 0;break-inside:avoid}.report-images img{display:block;max-width:100%;max-height:190mm;object-fit:contain;margin:auto}.report-images figcaption{font-size:12px;overflow-wrap:anywhere;margin-top:8px}.bonus summary{font-size:18px}.bonus h2{font-size:22px}@media(max-width:600px){.image-item{grid-template-columns:80px 1fr}.image-item img{width:80px}.image-item button{grid-column:2}}@media print{.report-images figure{break-before:page}.report-images img{max-height:190mm}}

.course-details{max-width:1180px;margin:24px auto 0;padding:18px 28px;border-left:3px solid var(--accent);color:var(--muted);font-size:13px}.course-details>strong{color:var(--accent);font:800 14px monospace;letter-spacing:.08em}.course-details p{margin:5px 0}.course-details .course-name{font-size:18px;font-weight:650;color:var(--ink)}.report-paper .course-details{margin:0 0 20px;padding:0 0 12px;border-left:0;border-bottom:1px solid #cbd5e1;break-inside:avoid}.report-paper .course-name{font-size:14px}@media(max-width:850px){.course-details{margin:18px;padding:12px 16px}}

.language-switch{display:flex;gap:4px;margin-left:auto;align-items:center;flex-shrink:0}.language-switch a,.language-switch span{padding:8px 10px;border-radius:6px;font:600 13px system-ui;text-decoration:none}.language-switch span{background:#193752;color:white}.language-switch a:hover{background:#e6edf4}.top .course{margin-left:auto}
.schematic{margin:22px 0;padding:20px;background:#f7f9fc;border:1px solid #d7e0e8;border-radius:10px}.schematic figcaption{font-weight:700;margin-bottom:12px}.schematic img{display:block;width:100%;height:auto}.schematic p{margin-bottom:0}
.image-item{grid-template-columns:110px minmax(0,1fr) auto;align-items:start}.image-item img{grid-row:1 / 3}.image-item .image-comment{grid-column:2;grid-row:2}.image-item button{grid-column:3;grid-row:1}.image-comment textarea{min-height:90px}.report-image-comment{white-space:pre-wrap;overflow-wrap:anywhere;font-size:13px}.report-images figure{break-inside:auto}
@media(max-width:850px){.top nav{order:3;width:100%}.language-switch{margin-left:auto}.schematic{padding:10px}}
@media(max-width:600px){.image-item{grid-template-columns:80px minmax(0,1fr)}.image-item .image-comment{grid-column:1 / -1;grid-row:2}.image-item button{grid-column:2;grid-row:3}.image-item img{grid-row:1}}
@media print{.report-images img{max-height:160mm}.report-images figcaption{break-before:avoid}.report-image-comment{break-before:avoid}}

.framework-bar{display:flex;flex-wrap:wrap;gap:12px 24px;align-items:center;padding:12px 4vw;background:#eaf1ff;font-size:14px}.package-url{overflow-wrap:anywhere;word-break:break-word}@media print{.framework-bar{display:none}}
