:root{--ink:#26262b;--plum:#552443;--accent:#ae653e;--paper:#f5f2eb;--line:#dcd6cc;--muted:#686770}*{box-sizing:border-box}body{margin:0;color:var(--ink);background:var(--paper);font-family:system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;font-size:15px;line-height:1.6}button,a,input,textarea{font:inherit}button{cursor:pointer;border:1px solid var(--line);background:#fff;color:var(--ink);padding:10px 15px;border-radius:5px}button:hover{border-color:var(--plum);background:#faf5f8}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #c98551;outline-offset:3px}button:disabled{opacity:.45;cursor:default}header{height:78px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 36px;background:#fff}header>span{font-size:11px;letter-spacing:1.7px}.brand{color:var(--plum);text-decoration:none;font-size:14px;letter-spacing:1.2px}.brand b{display:block;font-size:11px}.shell{display:grid;grid-template-columns:310px minmax(0,1fr);max-width:1640px;margin:auto}aside{padding:40px 28px;border-right:1px solid var(--line)}.eyebrow{letter-spacing:1.8px;font-size:10px;font-weight:750;color:var(--accent);margin:0 0 12px}h1{font-family:Georgia,serif;font-size:30px;line-height:1.22;font-weight:400;letter-spacing:-.6px}h2{font-family:Georgia,serif;font-weight:400;font-size:45px;line-height:1.15;margin:16px 0}h3{font-size:21px;margin:0 0 16px;font-weight:650}.intro{color:var(--muted);margin-bottom:30px}nav{display:grid;gap:5px}nav button{text-align:left;background:none;border-color:transparent;display:flex;align-items:center;gap:12px;padding:12px 9px;font-size:14px}nav .num{border:1px solid #cfc5bd;border-radius:50%;width:28px;height:28px;display:grid;place-items:center;font-size:11px;flex-shrink:0}nav .active{background:#e9dfe5;color:var(--plum);font-weight:650}nav .done .num{background:var(--plum);color:white}.progress{height:3px;background:#ddd5cd;margin-top:25px}.progress div{background:var(--plum);height:100%;transition:width .3s}.small{font-size:12px;color:var(--muted)}.download{display:block;color:var(--plum);text-decoration:none;border-top:1px solid var(--line);padding:20px 0;font-weight:600}.download span{display:block;font-size:11px;font-weight:400;color:var(--muted);padding-left:16px}.text{border:0;background:none;padding:9px 0;text-align:left;font-size:12px;color:var(--muted);display:block}main{padding:38px 42px;min-width:0}.stepmeta{display:flex;justify-content:space-between;font-size:10px;letter-spacing:1.6px;color:var(--accent);font-weight:650}.lead{color:var(--muted);font-size:17px;max-width:760px;margin-bottom:30px}.workspace{display:grid;grid-template-columns:minmax(260px,1fr) minmax(260px,.95fr);gap:32px}.drawing{background:white;border:1px solid var(--line);padding:16px;align-self:start}.drawing-head{display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:9px;letter-spacing:1px;color:var(--muted)}.drawing-head button{font-size:11px;padding:5px 9px}.drawing img,.drawing svg{display:block;max-width:100%;width:100%;height:330px;object-fit:contain;margin:16px auto}.source-switch{display:flex;gap:7px}.source-switch button{font-size:11px;padding:7px 9px}.selected{color:var(--plum);border-color:var(--plum);background:#f3eaf0}.task{padding:8px 0}.deliver{border-left:3px solid var(--accent);padding:4px 0 4px 16px;margin:24px 0}.deliver b{font-size:11px;text-transform:uppercase;letter-spacing:1px}.deliver p{margin:4px 0;font-size:14px}.actions,.bottom-actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:20px}.primary{background:var(--plum);border-color:var(--plum);color:white}.primary:hover{background:#713459;color:white}.feedback{background:#ebe4da;padding:16px;margin-top:16px;border-left:3px solid var(--accent);font-size:14px}.review{border-top:1px solid var(--line);margin-top:35px;padding-top:28px}.review-title{display:flex;justify-content:space-between;align-items:center}.review-title h3{margin:0}.review-title>span{font-size:12px;color:var(--plum)}.check{display:flex;gap:12px;padding:12px 0;border-bottom:1px solid #e3ddd4;align-items:start;cursor:pointer}.check input{accent-color:var(--plum);width:18px;height:18px;margin-top:4px;flex-shrink:0}details{margin:22px 0;background:#eee7db;padding:15px 18px}summary{cursor:pointer;font-weight:600;font-size:14px}.note-label{font-size:14px;font-weight:650;display:block;margin-top:22px}textarea{resize:vertical;width:100%;border:1px solid var(--line);padding:14px;border-radius:4px;background:#fff;min-height:100px}footer{display:flex;gap:12px;justify-content:space-between;border-top:1px solid var(--line);margin-top:30px;padding-top:20px}footer button{font-size:12px}.privacy{font-size:10px;color:var(--muted);margin-top:24px}dialog{border:0;border-radius:8px;max-width:850px;width:calc(100% - 28px);max-height:90vh;padding:35px;box-shadow:0 20px 90px #0004}dialog::backdrop{background:#2116219e}.close{float:right;font-size:24px;padding:0 10px}.modal-image{width:100%;max-height:65vh;object-fit:contain}dialog h2{font-size:32px;margin-top:0}dialog a{color:var(--plum)}dialog li{margin:8px 0}.quiz-options{display:grid;gap:8px}.quiz-options button{text-align:left}.quiz-feedback{padding:15px;border-left:3px solid var(--accent);background:var(--paper);margin:15px 0}.training-item{border-top:1px solid var(--line);padding:24px 0}table{border-collapse:collapse;width:100%;font-size:13px}td,th{border-bottom:1px solid var(--line);padding:10px;text-align:left}@media(min-width:1500px){.drawing img,.drawing svg{height:410px}}@media(max-width:1100px){.shell{grid-template-columns:250px 1fr}main{padding:30px 25px}aside{padding:30px 20px}.workspace{grid-template-columns:1fr}.drawing img,.drawing svg{height:320px}h2{font-size:38px}}@media(max-width:700px){header{height:65px;padding:0 18px}header>span{display:none}.shell{display:block}aside{border-right:0;border-bottom:1px solid var(--line);padding:22px}h1{font-size:26px;margin:8px 0}.intro{margin:10px 0 18px}nav{display:flex;overflow-x:auto;padding-bottom:5px}nav button{min-width:170px}aside .progress,aside #progressText{display:none}.download{padding:12px 0 0;margin-top:12px}.text{display:inline-block;margin-right:14px}main{padding:26px 20px}h2{font-size:35px}.workspace{gap:20px}footer{flex-wrap:wrap}dialog{padding:25px}.bottom-actions{display:grid}}@media print{header,aside,footer,.actions,.bottom-actions,.source-switch,.privacy{display:none}.shell{display:block}main{padding:0}details{display:none}.workspace{grid-template-columns:1fr 1fr}}
/* V2 : the drawing is the working surface. */
.brief{display:grid;grid-template-columns:.8fr 1.2fr;gap:35px;border-top:1px solid var(--line);padding:22px 0}.brief p{margin-top:0;font-size:14px}.drawing-large{padding:18px 24px}.drawing-large>img{height:auto;max-height:530px;width:100%;object-fit:contain;margin:8px auto}.drawing-head>div{display:flex;gap:7px}.legend{display:flex;gap:20px;flex-wrap:wrap;font-size:11px;color:var(--muted);border-top:1px solid var(--line);padding-top:12px}.plum{color:var(--plum)}.blue{color:#286b88}.support{display:grid;grid-template-columns:1fr 1fr;gap:32px;margin-top:25px}.support .actions{margin-top:0}.layers{display:grid;gap:7px}.layers button{text-align:left;font-size:12px}.layers .revealed{background:#ece0e7;border-color:var(--plum)}#layerComment{font-size:13px;border-left:2px solid var(--plum);padding-left:12px}#layerComment:empty{display:none}.context-link{background:none;border:0;color:var(--plum);padding:14px 0;text-align:left;font-size:12px}.compact{font-size:13px;padding:15px 0}.context-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.context-grid img{width:100%;height:340px;object-fit:contain}.context-grid p{font-size:12px}.bottom-actions span{font-size:12px;color:var(--muted);max-width:400px}.download{font-size:13px}h2{font-size:38px}.lead{font-size:16px}.modal-image{max-height:70vh}#completionMessage{align-self:center}@media(max-width:850px){.brief,.support{grid-template-columns:1fr;gap:10px}.drawing-large{padding:12px}.drawing-head{align-items:start}.drawing-head>div{flex-wrap:wrap;justify-content:end}.context-grid{grid-template-columns:1fr}.context-grid img{height:270px}}@media print{.brief{grid-template-columns:1fr 1fr}.support,.review,.drawing-head button{display:none}.drawing-large>img{height:auto;max-height:none}}
.context-reference{width:100%;height:auto;max-height:65vh;object-fit:contain}
.source-drawing{padding:12px}.source-drawing>img{max-height:none;width:100%;height:auto;background:white}.source-drawing .drawing-head{padding:4px 8px}.source-drawing>p{padding:0 8px}.expected{padding:10px 0}.expected>p:last-child{font-size:14px}
/* V5 : separated source, assembly drawing and part drawing. */
.document-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:20px 0 8px}.document-strip>a,.document-strip>button{padding:16px 14px;color:var(--plum);text-align:left;text-decoration:none;border:0;border-right:1px solid var(--line);border-radius:0;background:transparent;font-size:13px;line-height:1.5}.document-strip>:last-child{border-right:0}.document-strip span{color:var(--accent);font-size:10px;margin-right:7px}.document-strip small{display:block;font-size:10px;color:var(--muted);margin-top:3px}.document-strip>a:hover,.document-strip>button:hover{background:#ece6de}.source-drawing>img{height:auto;max-height:650px;object-fit:contain}.worksheet-link{font-size:11px;text-decoration:none;color:var(--plum);padding:5px 9px;border:1px solid var(--line);border-radius:4px;display:inline-block}.start-layout{display:grid;grid-template-columns:1fr 1fr;gap:26px}.start-layout img{width:100%;height:470px;object-fit:contain;background:#fff}.start-layout p,.start-layout li{font-size:14px}.context-reference{max-height:68vh}#figureLabel{max-width:45%;line-height:1.5}@media(max-width:700px){.document-strip{grid-template-columns:1fr}.document-strip>a,.document-strip>button{border-right:0;border-bottom:1px solid var(--line)}.document-strip>:last-child{border-bottom:0}.start-layout{grid-template-columns:1fr}.start-layout img{height:320px}.source-drawing>img{max-height:600px}.drawing-head>div{max-width:53%}}
/* V6 : a diagram-free entry page and three explicit phases. */
[hidden]{display:none!important}.header-actions{display:flex;gap:22px;align-items:center}.header-actions>a{color:var(--plum);font-size:13px;text-decoration:none}.home-page{max-width:1190px;margin:auto;padding:72px 42px 40px}.home-intro{max-width:760px}.home-intro h1{font-size:49px;line-height:1.15;letter-spacing:-1.1px;margin:18px 0 20px}.home-intro>p:last-child{font-size:18px;color:var(--muted);max-width:650px;line-height:1.7;margin-bottom:0}.phase-choices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px;margin-top:48px}.phase-choice{display:flex;flex-direction:column;align-items:start;color:var(--ink);text-decoration:none;padding:24px 23px 25px;border:1px solid var(--line);border-top:3px solid var(--plum);background:#fff;min-height:300px;border-radius:0;transition:border-color .15s,background .15s}.phase-choice:hover{background:#fbf8fa;border-color:#9c718b}.phase-number{font-family:Georgia,serif;font-size:23px;color:var(--accent);line-height:1}.phase-choice h2{font-family:Georgia,serif;font-weight:400;font-size:27px;line-height:1.25;margin:22px 0 14px;color:var(--plum)}.phase-choice p{font-size:14px;line-height:1.7;color:var(--muted);margin:0 0 25px}.phase-action{margin-top:auto;color:var(--plum);font-size:12px;font-weight:600}.phase-action>span{margin-left:12px}.home-foot{border-top:1px solid var(--line);margin-top:43px;padding-top:22px;display:flex;justify-content:space-between;gap:25px}.home-foot p{font-size:12px;color:var(--muted);margin:0}.phase-navigation{display:flex;gap:30px;justify-content:space-between;align-items:center;max-width:1640px;margin:auto;padding:15px 36px;border-bottom:1px solid var(--line);background:#faf8f3}.phase-navigation nav{display:flex;gap:8px;flex-wrap:wrap}.phase-navigation a{text-decoration:none;color:var(--muted);font-size:12px;padding:7px 10px}.phase-navigation .back-home{padding-left:0;color:var(--plum)}.phase-navigation nav a[aria-current="page"]{background:#e9dfe5;color:var(--plum)}.sidebar-title{font-size:27px;line-height:1.2;margin:10px 0 16px}.input-page{max-width:1190px;margin:auto;padding:42px}.input-heading h1{font-size:39px;margin:12px 0 16px}.input-layout{display:grid;grid-template-columns:1.05fr .95fr;gap:58px;align-items:start;margin:36px 0}.input-data h2{font-family:inherit;font-size:20px;font-weight:650;margin:6px 0 18px}.input-data ul{padding-left:20px;margin:0 0 20px}.input-data li{margin:9px 0;font-size:14px}.input-data p{font-size:14px;margin-bottom:30px;color:var(--muted)}.input-schema{margin:0;background:#fff;padding:20px;border:1px solid var(--line)}.input-schema img{width:100%;max-height:470px;object-fit:contain}.input-schema figcaption{font-size:11px;color:var(--muted);margin-top:12px}.input-download,.phase-bottom .primary{display:inline-block;text-decoration:none;padding:11px 17px;border-radius:4px;font-size:13px}.phase-bottom{border-top:1px solid var(--line);padding-top:25px;display:flex;justify-content:space-between;align-items:center;gap:20px}.phase-bottom>a:first-child{font-size:13px;color:var(--plum)}@media(max-width:1000px){.home-page{padding:55px 30px 35px}.home-intro h1{font-size:42px}.phase-choices{gap:18px}.phase-choice{padding:23px 18px}.phase-choice h2{font-size:24px}.input-layout{gap:30px}}@media(max-width:700px){.home-page{padding:36px 22px 28px}.home-intro h1{font-size:36px;letter-spacing:-.6px}.home-intro>p:last-child{font-size:16px}.phase-choices{display:grid;grid-template-columns:1fr;gap:16px;margin-top:30px;overflow:visible}.phase-choice{min-height:0;padding:22px}.phase-choice h2{font-size:25px;margin:14px 0 10px}.phase-choice h2 br{display:none}.phase-choice p{margin-bottom:18px}.phase-action{margin-top:0}.home-foot{display:block;margin-top:30px}.home-foot p+p{margin-top:10px}.header-actions{gap:12px}.header-actions>a{font-size:12px}.phase-navigation{padding:12px 18px;display:block}.phase-navigation nav{margin-top:8px;gap:3px}.phase-navigation nav a{font-size:11px;padding:6px 8px}.input-page{padding:26px 22px}.input-heading h1{font-size:31px}.input-layout{grid-template-columns:1fr;gap:25px;margin-top:25px}.input-schema img{max-height:350px}.phase-bottom{flex-wrap:wrap}.sidebar-title{font-size:24px}#homePage .phase-choice .phase-number{border:0;width:auto;height:auto;display:block}}@media print{#homePage,.phase-navigation{display:none}.input-page{padding:0}.input-download,.phase-bottom{display:none}}

.home-credit { display: block; margin: 0; text-align: left; font-size: .72rem; color: #686469; }

@media screen {
  header { display: grid; grid-template-columns: 1fr auto 1fr; gap: 12px; }
  header > span { display: block; text-align: center; }
  .header-actions { justify-self: end; }
}
@media screen and (max-width: 650px) {
  header { height: auto; padding-block: 12px; grid-template-columns: 1fr auto; }
  header > span { grid-area: 1 / 1 / 2 / -1; }
  .home-foot .home-credit { margin-bottom: 10px; }
}
