:root{font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#252d29;background:#f6f5f1;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button{cursor:pointer;border:1px solid #d8ddd6;background:#fff;color:#343e36;border-radius:7px;padding:10px 12px;transition:background .15s}button:hover{background:#eaf0e8}button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid #557453;outline-offset:3px}header{height:64px;display:flex;align-items:center;padding:0 26px;gap:24px;border-bottom:1px solid #dedfd8;background:#fbfbf8}.brand{font-size:21px;font-weight:600;letter-spacing:-.7px}.brand span{font-weight:400;color:#8a9288;font-size:16px;letter-spacing:-.3px}.top-status{margin-left:auto;font-size:12px;color:#74806f;display:flex;align-items:center;gap:7px}.top-status i{width:6px;height:6px;background:#648061;border-radius:50%}.quiet{background:transparent;font-size:12px}.wide{width:100%}main{display:grid;grid-template-columns:272px 1fr;height:calc(100dvh - 64px)}aside{padding:30px 23px 15px;overflow-y:auto;border-right:1px solid #dedfd8;background:#fbfbf8;display:flex;flex-direction:column}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:600;color:#7c8976}h1{font-size:32px;line-height:1.07;letter-spacing:-1.2px;font-weight:500;margin:14px 0}.intro{font-size:12px;color:#8a9086;margin:0 0 30px}section{border-top:1px solid #e6e8e1;padding:20px 0}section h2{font-size:12px;font-weight:600;margin:0 0 13px}.modes{display:flex;flex-wrap:wrap;gap:5px}.modes button{font-size:11px;padding:9px 8px}.selected{background:#354b38!important;color:#fff!important;border-color:#354b38}.toggle{display:flex;justify-content:space-between;align-items:center;font-size:12px;margin:10px 0;gap:8px}.toggle input{accent-color:#536e4f;width:16px;height:16px}.spec{display:grid;grid-template-columns:1fr 1fr;gap:8px;font-size:10px;color:#88917f;margin:15px 0 22px}.field{display:flex;flex-direction:column;gap:7px;font-size:11px;margin:14px 0}.field select,.field input[type=number]{width:100%;border:1px solid #dfe3da;padding:8px;background:#fff;border-radius:5px;color:#343e36}.field input[type=range]{accent-color:#567151;width:100%;margin:0}details{border-top:1px solid #e6e8e1;padding:18px 0}summary{font-size:12px;cursor:pointer}summary span{float:right;color:#997345;font-size:10px}.small{font-size:11px;line-height:1.6;color:#85907d;margin-top:12px}.aside-footer{margin-top:auto;padding-top:22px;display:flex;justify-content:space-between;color:#9aa294;font-size:9px;letter-spacing:1px}.viewport{position:relative;min-width:0;overflow:hidden;background:#e7e5dc}#scene{width:100%;height:100%;display:block;touch-action:none;cursor:grab}#scene:active{cursor:grabbing}.view-caption{position:absolute;left:28px;top:25px;pointer-events:none}.view-caption span{font-size:10px;letter-spacing:2px;color:#6f7868}.view-caption h2{font-size:21px;letter-spacing:-.4px;font-weight:400;margin:9px 0;color:#394137}.map-card{position:absolute;right:22px;top:22px;background:#fbfbf4e8;border:1px solid #ffffff90;border-radius:12px;width:148px;padding:8px;box-shadow:0 6px 30px #24392409}.map-card canvas{width:130px;height:152px;display:block}.map-card span{display:block;font-size:9px;color:#7d8874;text-align:center;padding:5px 0}.bottom-bar{position:absolute;left:24px;right:24px;bottom:20px;display:flex;justify-content:space-between;align-items:center;gap:12px}.bottom-bar span{font-size:11px;background:#fbfbf3e6;padding:10px 14px;border-radius:7px;color:#65705f}.bottom-bar button{font-size:11px;background:#fbfbf3e6}#walk-controls{position:absolute;bottom:78px;left:50%;transform:translateX(-50%);display:flex;gap:5px}#walk-controls[hidden]{display:none}#walk-controls button{min-width:39px;background:#fbfbf2e6}#error{position:absolute;inset:30%;background:#fff;padding:24px;color:#734929;border-radius:12px}#saved{display:block} @media(max-width:850px){main{grid-template-columns:220px 1fr}aside{padding:24px 15px}.view-caption{left:16px}.view-caption h2{font-size:16px;max-width:180px}.map-card{top:auto;bottom:132px;width:114px;right:14px}.map-card canvas{width:96px;height:112px}.map-card span{font-size:8px}.bottom-bar{left:12px;right:12px;flex-wrap:wrap}.bottom-bar span{font-size:10px}h1{font-size:28px}}@media(max-width:600px){header{height:54px;padding:0 12px;gap:10px}.brand{font-size:17px}.brand span{font-size:12px}.top-status{display:none}header .quiet{margin-left:auto}main{height:auto;display:flex;flex-direction:column}.viewport{order:0;height:72dvh;min-height:470px}aside{order:1;border-right:0;padding:20px;display:block}.eyebrow,h1,.intro,.aside-footer{display:none}aside section{padding:14px 0}.spec{margin:12px 0}.view-caption{top:16px}.view-caption h2{font-size:17px}.map-card{bottom:132px}.bottom-bar span{max-width:210px}#walk-controls{left:14px;transform:none}button{min-height:40px}input[type=number]{font-size:16px}}

.equipment-list{display:grid;gap:10px;font-size:11px;margin:14px 0 18px}.equipment-list span{display:flex;align-items:center;gap:8px}.equipment-list b{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;border-radius:50%;background:#e9ede2;color:#57654e;font-size:10px;font-weight:500}#desk-height-value{color:#839073;font-variant-numeric:tabular-nums}

.shopping-list{display:grid;gap:12px;margin-top:15px}.shopping-list a{font-size:11px;color:#425941;text-decoration:none;line-height:1.5}.shopping-list a:hover{text-decoration:underline}.shopping-list b{display:block;font-weight:500;color:#707c66}

#floor-plan{position:absolute;inset:0;width:100%;height:100%;display:block}#floor-plan[hidden],.map-card[hidden]{display:none}

/* Keep the caption readable over both black furniture and bright walls. */
.view-caption{background:#fbfbf2e3;border:1px solid #ffffffaa;border-radius:9px;padding:12px 15px;box-shadow:0 5px 25px #1c24110a;max-width:calc(100% - 210px)}.view-caption h2{margin:7px 0 0;font-size:18px}.view-caption span{font-size:9px}
@media(max-width:600px){.view-caption{max-width:calc(100% - 32px);padding:10px 12px}.view-caption h2{max-width:none;font-size:16px}}

/* Stock-board colors connect the fitted pieces with the cutting diagram. */
#cut-details[hidden]{display:none}.cut-intro{font-size:13px;font-weight:600;margin:17px 0 0}.cut-stock{margin:18px 0}.cut-stock-title{font-size:11px;font-weight:600;color:#34443c;display:flex;align-items:center;gap:7px}.cut-stock-title:before{content:"";width:9px;height:9px;border-radius:2px;background:var(--stock-color)}.cut-stock-bar{display:flex;width:100%;height:27px;gap:2px;margin:9px 0 7px;overflow:hidden;border-radius:4px;background:#d8ddd5}.cut-stock-bar span{display:flex;align-items:center;justify-content:center;min-width:0;background:var(--stock-color);color:white;font-size:10px;font-weight:600}.cut-stock-bar .cut-rest{background:repeating-linear-gradient(135deg,#e2e5dc,#e2e5dc 4px,#f5f5ef 4px,#f5f5ef 8px);color:#677065;font-size:8px;font-weight:400}.cut-stock-pieces{font-size:11px;line-height:1.65;color:#445348;font-variant-numeric:tabular-nums}.cut-stock-rest{font-size:10px;color:#7c8775;margin-top:3px}.cut-note{border-top:1px solid #e0e5dc;padding-top:10px}

.app-back{color:inherit;text-decoration:none;font-size:13px;white-space:nowrap}header{flex-wrap:wrap;height:auto;min-height:64px}aside a.quiet{display:block;text-decoration:none}
