@font-face{font-family:Kluft;src:url('../assets/schriftarten/DejaVuSans.ttf')}@font-face{font-family:Kluft;src:url('../assets/schriftarten/DejaVuSans-Bold.ttf');font-weight:700}
:root{--ink:#193c32;--muted:#61736b;--green:#225b46;--paper:#f7f8f3;--line:#dce2d8;--accent:#c4e087;--white:#fff;--radius:15px}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:Kluft,Arial,sans-serif;font-size:16px;line-height:1.55}button,input,select{font:inherit}button,a,input,select,summary{touch-action:manipulation}button{cursor:pointer;border:1px solid var(--line);border-radius:9px;padding:11px 17px;background:white;color:var(--ink);font-weight:700;min-height:44px}button:hover{background:#edf3e5;border-color:#aebda4}button:disabled{cursor:default;opacity:.45}button.primary{background:var(--green);color:white;border-color:var(--green)}button.primary:hover{background:#174635}button.quiet{background:transparent}button.text-button{border:0;background:transparent;font-weight:400;text-decoration:underline;font-size:.82rem}a{color:var(--green)}:focus-visible{outline:3px solid #cb841c;outline-offset:4px}h1,h2,h3,p{margin-top:0}h1{font-size:2.5rem;letter-spacing:-1.6px;margin-bottom:0;line-height:1.2}h2{font-size:1.5rem;line-height:1.3;letter-spacing:-.5px}h3{font-size:1.08rem}p{margin-bottom:15px}small,.muted{color:var(--muted)}[hidden]{display:none!important}.skip-link{position:fixed;top:-80px;padding:15px;background:white;z-index:10}.skip-link:focus{top:0}.topbar{height:88px;padding:0 36px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:white;gap:15px}.brand{text-decoration:none;display:flex;align-items:center;gap:12px;font-weight:700;letter-spacing:3px;font-size:1.05rem}.brand small{display:block;font-size:.55rem;letter-spacing:1.6px;margin-top:3px}.brand-mark{display:grid;place-items:center;width:44px;height:47px;background:var(--ink);color:var(--accent);clip-path:polygon(0 0,100% 0,100% 75%,50% 100%,0 75%);font-size:1.6rem;letter-spacing:0;padding-bottom:5px}.header-actions{display:flex;align-items:center;gap:24px}.offline{font-size:.76rem;color:var(--muted)}.offline span{color:#619066;margin-right:6px}.header-actions button{font-size:.8rem}.app-shell{display:grid;grid-template-columns:258px minmax(0,1fr);min-height:calc(100vh - 88px)}.sidebar{border-right:1px solid var(--line);padding:30px 20px;background:#edf0e8}.project-label,.eyebrow{font-size:.63rem;letter-spacing:1.6px;font-weight:700;color:var(--muted);margin-bottom:9px}.sidebar h2{margin:15px 0 8px;font-size:1.15rem}.sidebar p{font-size:.76rem}.progress-label{display:flex;justify-content:space-between;font-size:.63rem;margin:26px 0 7px;gap:8px}progress{appearance:none;width:100%;height:6px;border:0;border-radius:10px;overflow:hidden;background:#d7dfcf}progress::-webkit-progress-bar{background:#d7dfcf}progress::-webkit-progress-value{background:var(--green)}progress::-moz-progress-bar{background:var(--green)}.phase-label{font-weight:700;font-size:.74rem;display:flex;align-items:center;gap:8px;margin:26px 0 12px}.phase-label>span:first-child{color:var(--muted);font-size:.66rem}.tag{font-size:.48rem;background:#d6e5c6;padding:3px 5px;border-radius:4px;margin-left:auto}.chapter-button{width:100%;display:flex;align-items:center;gap:9px;font-size:.73rem;text-align:left;background:none;border:1px solid transparent;padding:10px 8px;min-height:43px;font-weight:400}.chapter-button .chapter-count{margin-left:auto;font-size:.62rem;color:var(--muted);white-space:nowrap}.chapter-icon{display:grid;place-items:center;border:1px solid #a6b69e;border-radius:50%;width:23px;height:23px;flex-shrink:0;font-size:.58rem}.chapter-button.active{background:white;border-color:var(--line);font-weight:700;box-shadow:0 2px 6px #142b1606}.chapter-button.done .chapter-icon{background:var(--green);color:white}.future-phase{display:flex;gap:11px;font-size:.76rem;margin:22px 7px;color:#657362}.future-phase b{font-size:.65rem;padding-top:2px}.future-phase small{display:block;font-size:.6rem;margin-top:3px}.sidebar-note{border-top:1px solid var(--line);padding-top:17px;margin:25px 7px 0;color:var(--muted)}main{padding:30px 36px 16px;max-width:1680px;width:100%;margin:0 auto;min-width:0}.workspace-heading{display:flex;justify-content:space-between;align-items:center;gap:18px}.edition{font-size:.57rem;font-weight:700;letter-spacing:1px;color:var(--muted);text-align:right}.edition span{margin:0 7px}.view-tabs{display:flex;gap:26px;border-bottom:1px solid var(--line);margin:27px 0 25px;overflow-x:auto}.view-tabs button{border:0;border-bottom:3px solid transparent;border-radius:0;background:none;padding:10px 0 14px;font-size:.79rem;white-space:nowrap;color:var(--muted)}.view-tabs button[aria-current]{color:var(--ink);border-bottom-color:var(--green)}.step-heading{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:21px}.step-heading h2{margin:0;max-width:850px}.step-heading .eyebrow{color:#537349}.status-pill{font-size:.64rem;white-space:nowrap;background:#e8ede1;padding:6px 10px;border-radius:20px}.build-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(260px,1fr);gap:20px;align-items:start}.visual-card,.instruction-card,.location-card,.panel-card{background:white;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.visual-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:17px 20px;border-bottom:1px solid var(--line)}.visual-heading b{font-size:.78rem}.visual-heading small{display:block;font-size:.62rem;margin-top:3px}.zoom-controls{display:flex;gap:4px}.zoom-controls button{min-height:36px;padding:4px 10px;font-size:.76rem}.diagram-scroll{overflow:auto;background:#eef2e9;max-height:720px;min-width:0}.diagram-scroll>div{width:100%}.diagram-scroll svg{display:block;width:100%;height:auto}.diagram-legend{display:flex;flex-wrap:wrap;gap:15px;font-size:.63rem;padding:13px 17px;background:white}.diagram-legend span{display:flex;align-items:center;gap:6px}.diagram-legend i{width:12px;height:12px;display:inline-block;border-radius:2px}.legend-new{background:var(--accent);border:2px solid var(--green)}.legend-old{background:#dadfd7;border:1px dashed #89988c}.diagram-caption{font-size:.72rem;color:var(--muted);padding:0 18px 16px}.instruction-card{padding:23px}.instruction-card h3{font-size:1.2rem;line-height:1.4}.instruction-card p{font-size:.84rem}.start-box{border-left:3px solid #a5bf7c;padding:0 0 0 12px;margin:18px 0}.start-box small{display:block;font-size:.62rem;color:var(--muted);margin-bottom:4px}.start-box b{font-size:.82rem}.move-line{font-size:1.12rem;font-weight:700;display:flex;gap:12px;align-items:center;margin:13px 0}.move-line .arrow{font-size:1.7rem;color:var(--green)}.move-line small{display:block;font-size:.68rem;font-weight:400}.material-chip{display:inline-flex;align-items:center;gap:9px;font-size:.75rem;background:#f0f2ea;padding:8px 11px;border-radius:7px}.swatch{width:22px;height:22px;display:inline-block;border:1px solid #334b3d45;border-radius:4px;flex-shrink:0}.check{border-top:1px solid var(--line);margin-top:20px;padding-top:16px;font-size:.77rem}.check b{display:block;font-size:.65rem;margin-bottom:6px;letter-spacing:.6px}.part-control{border-top:1px solid var(--line);margin-top:20px;padding-top:15px}.part-control label{display:block;font-size:.7rem;margin-bottom:8px}.part-control select{width:100%;font-size:.76rem}.part-meter{font-size:.7rem;margin-top:10px;color:var(--muted)}.step-footer{display:flex;justify-content:space-between;gap:12px;margin-top:22px}.footer-main{display:flex;gap:10px}.step-footer button{font-size:.78rem}.location-card{margin-top:16px}.location-card summary{padding:15px 18px;font-weight:700;cursor:pointer;font-size:.76rem}.location-card svg{display:block;max-height:500px;width:100%}.counted-rows:not(:empty){margin-top:17px}.counted-rows details{border:1px solid var(--line);background:white;padding:15px 18px;border-radius:12px;font-size:.75rem}.counted-rows summary{cursor:pointer;font-weight:700}.run-row{display:flex;gap:5px;flex-wrap:wrap;align-items:center;margin:9px 0}.run-row b{font-size:.67rem;width:70px}.run-token{display:inline-flex;align-items:center;border:1px solid #acbda4;border-radius:4px;padding:6px 9px;font-size:.7rem;min-height:32px;gap:5px;background:#e5eecf;color:#193c32}.run-token.air{background:white;border-style:dashed;color:#53634e}.run-token.old{background:#e3e7df}.notice,.prerequisite{border:1px solid #dac8a5;background:#fff6e7;padding:12px 15px;border-radius:9px;font-size:.77rem;margin-bottom:17px}.prerequisite button{padding:4px 8px;min-height:32px;margin-left:8px;font-size:.7rem}.workspace-footer{display:flex;gap:15px;justify-content:space-between;flex-wrap:wrap;margin-top:32px;border-top:1px solid var(--line);padding-top:15px;color:var(--muted);font-size:.59rem}.overview-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(230px,1fr);gap:22px}.overview-map{background:#e9efe3;border-radius:var(--radius);border:1px solid var(--line);overflow:hidden}.overview-map svg{width:100%;display:block}.overview-cards{display:grid;gap:8px}.overview-cards button{display:flex;justify-content:space-between;text-align:left;font-size:.74rem}.overview-cards small{font-size:.62rem;white-space:nowrap;margin-left:8px}.section-intro{max-width:800px;font-size:.86rem;color:var(--muted)}.scope-note{background:#e9eee1;padding:15px 18px;border-radius:9px;font-size:.76rem;margin:18px 0}.materials-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;margin:20px 0}.material-card{border:1px solid var(--line);border-radius:12px;background:white;padding:20px}.material-card h3{font-size:.8rem;margin:10px 0}.material-card strong{font-size:1.65rem}.material-card small{display:block;font-size:.65rem}.material-card .swatch{width:34px;height:34px}.form-row{display:flex;gap:15px;align-items:end;flex-wrap:wrap;margin:18px 0}.form-row label{font-size:.7rem;display:flex;flex-direction:column;gap:6px}select,input[type=file]{border:1px solid #abbba1;background:white;border-radius:7px;padding:10px;max-width:100%;color:var(--ink)}.model-layout{display:grid;grid-template-columns:1fr 1.2fr;gap:24px}.model-preview{width:100%;border-radius:12px;background:white}.model-info{padding:22px}.model-info p{font-size:.79rem}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;font-size:.76rem}th,td{padding:10px;border-bottom:1px solid var(--line);text-align:left}td:last-child,th:last-child{text-align:right}td .swatch{vertical-align:middle;margin-right:10px;width:17px;height:17px}.model-layer{margin-top:24px;padding:22px}.layer-scroll{overflow:auto;max-height:650px;background:#edf1e9}.layer-scroll svg{display:block}.layer-row-list{max-height:400px;overflow:auto;margin-top:14px}.layer-row-list p{font-size:.75rem}.empty-message{padding:24px;background:#edf2e5;border-radius:12px}.text-list{padding-left:22px;font-size:.86rem}.text-list li{margin:10px 0}dialog{border:1px solid var(--line);border-radius:18px;max-width:560px;width:calc(100% - 30px);padding:32px;color:var(--ink);box-shadow:0 18px 80px #10231c33}dialog::backdrop{background:#142b2366}dialog p{font-size:.84rem}.close-dialog{float:right;border:0;padding:0 10px;font-size:1.5rem}.file-label{display:block;margin:24px 0 8px;font-weight:700;font-size:.82rem}dialog input{width:100%}dialog input+p{font-size:.7rem;margin-top:12px}.badge{display:inline-block;border:1px solid #afc396;border-radius:5px;padding:4px 8px;font-size:.7rem;margin-bottom:12px}.model-disclaimer{font-size:.75rem}.site-summary{border-left:3px solid #cb9b4b;padding:8px 14px;font-size:.8rem}.welcome-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}
@media(min-width:1600px){main{padding-left:50px;padding-right:50px}.sidebar{padding:35px 24px}.app-shell{grid-template-columns:280px minmax(0,1fr)}}
@media(max-width:1150px){.build-grid{grid-template-columns:minmax(0,1fr)}.instruction-card{padding:22px}.app-shell{grid-template-columns:225px minmax(0,1fr)}main{padding:25px}.edition{display:none}.diagram-scroll{max-height:520px}.overview-grid{grid-template-columns:1fr}.materials-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.model-layout{grid-template-columns:1fr}.model-preview{max-height:400px;object-fit:contain}}
@media(max-width:740px){.topbar{padding:15px 18px;height:auto;min-height:78px}.brand{font-size:.85rem}.brand small{display:none}.brand-mark{width:34px;height:38px}.offline{display:none}.header-actions button{font-size:.65rem;padding:8px 10px}.app-shell{display:block}.sidebar{padding:15px 18px;border-right:0;border-bottom:1px solid var(--line)}.sidebar h2,.sidebar>.muted,.project-label,.phase-label,.future-phase,.sidebar-note{display:none}.progress-label{margin:0 0 4px}.sidebar nav{display:flex;overflow:auto;gap:7px;padding-top:12px}.chapter-button{width:auto;flex-shrink:0;font-size:.65rem;gap:6px;padding:6px 8px}.chapter-count{display:none}.chapter-icon{width:20px;height:20px}main{padding:22px 16px 14px}h1{font-size:2rem}.view-tabs{gap:22px;margin-top:20px}.view-tabs button{font-size:.7rem}.step-heading{align-items:start}.step-heading h2{font-size:1.25rem}.status-pill{font-size:.55rem}.visual-heading{padding:14px}.visual-heading small{font-size:.55rem}.zoom-controls button{padding:4px 8px}.step-footer{align-items:stretch}.step-footer button{padding:10px;font-size:.68rem}.footer-main{flex-direction:column-reverse}.materials-grid{grid-template-columns:1fr 1fr;gap:10px}.material-card{padding:14px}.material-card h3{font-size:.72rem}.material-card strong{font-size:1.3rem}.workspace-footer{font-size:.58rem}.model-layer{padding:13px}.instruction-card p{font-size:.88rem}.diagram-legend{font-size:.58rem;gap:9px}}
.instruction-card p{font-size:1rem;line-height:1.65}.start-box b{font-size:.95rem}.check{font-size:.9rem}.material-chip{font-size:.82rem}.counted-rows details{font-size:.86rem}.run-token{font-size:.81rem}.run-row b{font-size:.76rem}.diagram-caption{font-size:.8rem}.diagram-legend{font-size:.7rem}.text-list{font-size:1rem}.part-control label,.part-meter{font-size:.8rem}.part-control select{font-size:.82rem}
@media(prefers-reduced-motion:no-preference){button{transition:background .15s,border-color .15s}}
