.bpl{display:grid;gap:12px}.bpl-bar{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.bpl-name{position:relative}.bpl-name input{font:700 16px/1.2 var(--body);color:var(--text);background:var(--surface);border:1px solid var(--line-2);padding:8px 10px;min-width:0;width:min(280px,100%)}.bpl-share{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--muted)}.bpl-open{background:var(--surface);color:var(--text);border:1px solid var(--line-2);padding:7px 8px;font-size:13px;max-width:220px}.bpl-local{font-size:13px;color:var(--muted)}.bpl-local a{color:var(--text);text-decoration:underline}.bpl-note{margin:0;padding:8px 12px;background:var(--surface);border-left:3px solid var(--red);font-size:14px}.bpl-main{display:grid;grid-template-columns:270px minmax(0,1fr) 260px;gap:14px;align-items:start}@media (max-width:1100px){.bpl-main{grid-template-columns:240px minmax(0,1fr)}.bpl-sum{grid-column:1/-1}}@media (max-width:760px){.bpl-main{grid-template-columns:minmax(0,1fr)}.bpl-pal{max-height:36vh}.bpl-scroll{max-height:60vh}}.bpl-pal{background:var(--surface);border:1px solid var(--line);padding:10px;display:grid;gap:6px;max-height:78vh;overflow:auto;align-content:start}.bpl-pal h3,.bpl-sum h3{font:700 12px/1.2 var(--mono);text-transform:uppercase;letter-spacing:.1em;color:var(--muted);margin:10px 0 2px}.bpl-tabs{display:flex;gap:4px}.bpl-acts button,.bpl-levels button,.bpl-tabs button{font:600 13px/1 var(--body);color:var(--muted);background:var(--surface-2);border:1px solid var(--line-2);padding:8px 10px;cursor:pointer}.bpl-acts button.on,.bpl-levels button.on,.bpl-tabs button.on{color:var(--text);border-color:var(--red);background:var(--red-tint)}.bpl-acts button:disabled{opacity:.45;cursor:default}.bpl-lab{display:grid;gap:4px;font-size:12px;color:var(--muted)}.bpl-lab input,.bpl-lab select{background:var(--surface-2);color:var(--text);border:1px solid var(--line-2);padding:7px 8px;font-size:14px}.bpl-pc{display:flex;gap:8px;align-items:center;text-align:left;background:transparent;border:1px solid transparent;padding:5px;color:var(--text);cursor:pointer;width:100%}.bpl-pc:hover{background:var(--surface-2)}.bpl-pc.on{border-color:var(--red);background:var(--red-tint)}.bpl-pc img,.bpl-pc-ph{flex:none;width:36px;height:36px;object-fit:contain;background:var(--surface-3)}.bpl-pc span{display:grid;gap:2px;min-width:0}.bpl-pc b{font-size:13px;line-height:1.2}.bpl-pc small{font-size:11.5px;color:var(--muted);line-height:1.3}.bpl-pc-x{color:var(--dim)}.bpl-plan{display:grid;grid-template-columns:minmax(0,1fr);gap:8px;min-width:0}.bpl-tools{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px}.bpl-acts,.bpl-levels{display:flex;flex-wrap:wrap;gap:4px}.bpl-now{margin:0;font-size:13px;color:var(--muted)}.bpl-now b{color:var(--text)}.bpl-scroll{overflow:auto;max-height:78vh;border:1px solid var(--line);background:var(--bg-2)}.bpl-svg{display:block;touch-action:auto;-webkit-user-select:none;user-select:none}.bpl-svg.bpl-tool{touch-action:none;cursor:crosshair}.bpl-bg{fill:var(--bg-2)}.bpl-grid{stroke:var(--line);stroke-width:1}.bpl-grid4{stroke:var(--line-2);stroke-width:1.5}.bpl-cell{stroke:rgba(0,0,0,.25);stroke-width:1}.bpl-found{fill:#8a7350}.bpl-floor,.bpl-hatch{fill:#b39a6e}.bpl-hatch{stroke:#3a2f1e;stroke-dasharray:4 3}.bpl-on rect{fill:rgba(40,30,18,.25);stroke:#3a2f1e;stroke-width:1.2}.bpl-on line{stroke:#3a2f1e;stroke-width:1.5}.bpl-roof rect{fill:url(#bpl-hatch)}.bpl-hatchline{stroke:#3a2f1e;stroke-width:1.5}.bpl-arrow{fill:none;stroke:#1d150b;stroke-width:2;stroke-linecap:round}.bpl-half{font:700 11px/1 var(--body);fill:#1d150b;text-anchor:middle}.bpl-edge{stroke-linecap:square}.bpl-wall{stroke:#efe3c8;stroke-width:6}.bpl-halfwall{stroke-dasharray:10 4}.bpl-door{stroke:#c8102e;stroke-width:6;stroke-dasharray:8 6}.bpl-window{stroke:#5fa8d3;stroke-width:6}.bpl-rail{stroke:#efe3c8;stroke-width:3;stroke-dasharray:2 4}.bpl-m rect{fill:rgba(20,20,22,.78);stroke:#d8b67a;stroke-width:1.5}.bpl-m-decor rect{fill:rgba(20,20,22,.55);stroke:#9a9aa4}.bpl-ghost{opacity:.5}.bpl-small{font-size:12px;color:var(--muted);margin:4px 0 0}.bpl-sum{background:var(--surface);border:1px solid var(--line);padding:12px;align-content:start}.bpl-mats,.bpl-sum{display:grid;gap:4px}.bpl-mats{list-style:none;margin:0;padding:0}.bpl-mats li{display:grid;grid-template-columns:28px minmax(0,1fr) auto;gap:8px;align-items:center;font-size:13px}.bpl-mats img{width:28px;height:28px;object-fit:contain}.bpl-dl{margin:0;display:grid;gap:3px}.bpl-dl div{display:flex;justify-content:space-between;gap:8px;font-size:13px}.bpl-dl dt{color:var(--muted)}.bpl-dl dd{margin:0;font-weight:700}.bpl-dl .bad dd{color:#ff6b6b}.bpl-warn{margin:4px 0 0;font-size:12.5px;color:#ff9b9b}.bpl-arc{fill:none;stroke-linecap:butt}.bpl-roof path{fill:url(#bpl-hatch);stroke:#3a2f1e;stroke-width:1.2}.bpl-fullbtn{margin-left:auto}.bpl.bpl-full{position:fixed;inset:0;z-index:1000;background:var(--bg);padding:10px 12px;grid-template-rows:auto auto 1fr;overflow:hidden;gap:8px}.bpl-full .bpl-main{min-height:0;height:100%;grid-template-rows:minmax(0,1fr)}.bpl-full .bpl-pal,.bpl-full .bpl-sum{max-height:100%;overflow:auto}.bpl-full .bpl-plan{min-height:0;height:100%;grid-template-rows:auto auto minmax(0,1fr) auto}.bpl-full .bpl-scroll{max-height:none;height:100%;min-height:0;overflow:scroll}@media (max-width:760px){.bpl.bpl-full{overflow:auto}.bpl-full .bpl-main{height:auto}.bpl-full .bpl-scroll{height:62vh}.bpl-full .bpl-pal{max-height:32vh}}.bpl-ground{stroke:#b39a6e;stroke-width:2}.bpl-e{stroke:#1d150b;stroke-width:1.5;stroke-linejoin:round}.bpl-e-found{fill:#8a7350}.bpl-e-floor{fill:#b39a6e}.bpl-e-wall{fill:#d9cbb0}.bpl-e-door{fill:#c8102e}.bpl-e-window{fill:#5fa8d3}.bpl-e-rail{fill:#9a8a6c}.bpl-e-stairs{fill:#a8916a}.bpl-e-ramp{fill:#bca77f}.bpl-e-roof{fill:#7d6a4c}.bpl-e-flat{fill-opacity:.7}.bpl-e-mach{fill:#2a2a2e;stroke:#d8b67a}.bpl-e-decor{fill:#3a3a40;stroke:#9a9aa4}.bpl-e-other{opacity:.45}.bpl-empty{fill:var(--muted);font:600 14px/1 var(--body);text-anchor:middle}.bpl-elev{width:100%;height:auto;max-height:100%}@media (max-width:760px){.bpl-full .bpl-plan{height:auto}.bpl-full .bpl-main{grid-template-rows:none}.bpl-full .bpl-pal,.bpl-full .bpl-sum{max-height:32vh}.bpl.bpl-full{display:block}.bpl.bpl-full>*{margin-bottom:8px}.bpl-full .bpl-main{display:flex;flex-direction:column;height:auto}.bpl-full .bpl-plan{display:grid;height:auto;grid-template-rows:none}.bpl-full .bpl-scroll{height:62vh}}.bpl-alert{margin:0;padding:8px 12px;background:rgba(200,16,46,.16);border:1px solid var(--red);color:#ffb3bd;font-size:13.5px;font-weight:600}.bpl-claim-own{fill:rgba(216,182,122,.1);stroke:#d8b67a;stroke-width:3}.bpl-claim-seg{fill:rgba(216,182,122,.07);stroke:#d8b67a;stroke-width:2.5;stroke-dasharray:12 5}.bpl-claim-slot{fill:rgba(95,168,211,.06);stroke:#5fa8d3;stroke-width:1.2;stroke-dasharray:4 6}.bpl-claim-plus{fill:#5fa8d3;font:700 28px/1 var(--body);text-anchor:middle;dominant-baseline:central}.bpl-claimband{fill:rgba(216,182,122,.05);stroke:#d8b67a;stroke-width:1.5;stroke-dasharray:8 6}.bpl-levels button.bpl-out{border-color:#ff6b6b;color:#ff9b9b}.bpl-stakes{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--muted);margin-top:4px}.bpl-stakes span{flex:1 1}.bpl-stakes button{font:700 14px/1 var(--body);color:var(--text);background:var(--surface-2);border:1px solid var(--line-2);width:28px;height:28px;cursor:pointer}.bpl-stakes button:disabled{opacity:.4;cursor:default}.bpl-stakes b{color:var(--text);min-width:44px;text-align:center}.bpl-auto{font-size:12.5px;color:var(--muted)}.bpl-auto-saved{color:#7bd389}.bpl-auto-error{color:#ff9b9b}.bpl-acts .bpl-buildbtn{background:#3BA55D;border-color:#3BA55D;color:#fff}.bpl-acts .bpl-buildbtn:hover{background:#2F8F45;border-color:#2F8F45}.bpl-acts .bpl-buildbtn.on{background:var(--red);border-color:var(--red);color:#fff}.bpl-svg.bpl-tool{outline:2px solid var(--red);outline-offset:-2px}.bpl{position:relative}.bpl-ask{position:fixed;inset:0;z-index:1100;background:rgba(0,0,0,.6);display:grid;place-items:center;padding:16px}.bpl-ask-box{background:var(--surface);border:1px solid var(--line-2);border-top:3px solid var(--red);padding:18px 20px;max-width:420px;width:100%;display:grid;gap:10px}.bpl-ask-box h3{margin:0;font-size:18px}.bpl-ask-box p{margin:0;color:var(--muted);font-size:14px}.bpl-ask-btns{display:flex;flex-wrap:wrap;gap:8px}.bpl-guide{border:1px solid var(--line-2);background:var(--surface-2);margin-bottom:6px}.bpl-guide-h{display:flex;justify-content:space-between;width:100%;background:none;border:0;padding:9px 10px;color:var(--text);font:700 12px/1.2 var(--mono);text-transform:uppercase;letter-spacing:.1em;cursor:pointer}.bpl-guide-list{list-style:none;margin:0;padding:0 10px 10px;display:grid;gap:8px}.bpl-guide-list li{display:grid;grid-template-columns:70px minmax(0,1fr);gap:8px;align-items:center;font-size:12.5px;line-height:1.35;color:var(--muted)}.bpl-guide-list b{color:var(--text)}.bpl-guide-pic{display:flex;align-items:center;justify-content:center;gap:3px;min-height:42px;min-width:0;max-width:70px;flex-wrap:wrap}.bpl-guide-stack{flex-direction:column;gap:4px}.bpl-guide-pic .bpl-key{padding:0 4px;font-size:10px;min-width:22px}.bpl-guide-stack .bpl-key{min-width:56px}.bpl-mouse{overflow:visible}.bpl-mouse-body{fill:#1e1e22;stroke:#9a9aa4;stroke-width:1.5}.bpl-mouse-off{fill:transparent}.bpl-mouse-lit{fill:#3BA55D}.bpl-mouse-line{stroke:#9a9aa4;stroke-width:1.2;fill:none}.bpl-mouse-wheel{fill:#2a2a2e;stroke:#9a9aa4;stroke-width:1}.bpl-mouse-wheel.bpl-mouse-lit{fill:#3BA55D;stroke:#3BA55D}.bpl-mouse-arrow{fill:#3BA55D}.bpl-key{display:inline-grid;place-items:center;min-width:24px;height:24px;padding:0 5px;border:solid #9a9aa4;border-width:1px 1px 3px;background:#1e1e22;color:var(--text);font:700 11px/1 var(--mono);border-radius:4px}.bpl-mini-btn{background:#3BA55D;color:#fff;font:700 8.5px/1 var(--body);padding:5px 4px;white-space:nowrap}.bpl-mini-piece{width:26px;height:26px;border:2px solid var(--red);background:var(--red-tint);box-shadow:inset 0 0 0 4px #1e1e22}@media (min-width:761px){.bpl-guide-phone{display:none!important}}.bpl-alert-btn{margin-left:6px;background:var(--red);color:#fff;border:0;padding:5px 9px;font:700 12px/1 var(--body);cursor:pointer}.bpl-mini-gray{background:var(--surface-3);color:var(--text);border:1px solid var(--line-2)}.bpl-claim-out{fill:rgba(0,0,0,.45)}.bpl-claim-label{fill:#d8b67a;font:700 18px/1 var(--body);paint-order:stroke;stroke:#0b0b0c;stroke-width:3px}.bpl-region{margin-bottom:6px}.bpl-find input{width:100%;background:var(--surface-2);color:var(--text);border:1px solid var(--line-2);padding:8px 10px;font-size:14px}.bpl-card{display:flex;gap:8px;align-items:center;padding:6px;border:1px solid var(--red);background:var(--red-tint)}.bpl-card .bpl-pc-ph,.bpl-card img{flex:none;width:44px;height:44px;object-fit:contain;background:var(--surface-3)}.bpl-card span{display:grid;gap:2px;min-width:0}.bpl-card b{font-size:13px;line-height:1.2}.bpl-card small{font-size:11.5px;color:var(--muted);line-height:1.3}.bpl-chips{display:flex;flex-wrap:wrap;gap:4px}.bpl-chips button{font:600 12px/1 var(--body);color:var(--muted);background:var(--surface-2);border:1px solid var(--line-2);padding:6px 8px;border-radius:999px;cursor:pointer}.bpl-chips button span{color:var(--dim);font-weight:500;margin-left:2px}.bpl-chips button.on{color:var(--text);border-color:var(--red);background:var(--red-tint)}.bpl-grid-t{display:grid;grid-template-columns:repeat(auto-fill,minmax(72px,1fr));gap:4px}.bpl-grid-s{grid-template-columns:repeat(auto-fill,minmax(40px,1fr))}.bpl-grid-s .bpl-tile span{display:none}.bpl-grid-s .bpl-tile .bpl-pc-ph,.bpl-grid-s .bpl-tile img{width:32px;height:32px}.bpl-tile{display:grid;justify-items:center;gap:3px;padding:5px 3px;background:var(--surface-2);border:1px solid transparent;color:var(--text);cursor:pointer;min-width:0}.bpl-tile:hover{border-color:var(--line-2);background:var(--surface-3)}.bpl-tile.on{border-color:var(--red);background:var(--red-tint)}.bpl-tile .bpl-pc-ph,.bpl-tile img{width:44px;height:44px;object-fit:contain;background:var(--surface-3);display:block}.bpl-tile span{font-size:11px;line-height:1.2;text-align:center;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;max-width:100%}.bpl-grp{border-top:1px solid var(--line)}.bpl-grp summary{cursor:pointer;font:700 12px/1.2 var(--mono);text-transform:uppercase;letter-spacing:.1em;color:var(--muted);padding:8px 0}.bpl-grp summary span{color:var(--dim);font-weight:500}.bpl-recent{display:grid;gap:4px}.bpl-recent>span{font:700 11px/1 var(--mono);text-transform:uppercase;letter-spacing:.1em;color:var(--dim)}.bpl-results{display:grid;gap:4px}.bpl-pal{max-height:82vh}.bpl-tri-roof{fill:url(#bpl-hatch)}.bpl-post,.bpl-tri-roof{stroke:#3a2f1e;stroke-width:1.2}.bpl-post{fill:#efe3c8}.bpl-lean{fill:rgba(239,227,200,.18)!important;stroke:#efe3c8!important;stroke-dasharray:3 3}.bpl-ladder{fill:none!important;stroke:#3a2f1e}.bpl-on polygon{fill:rgba(40,30,18,.25);stroke:#3a2f1e;stroke-width:1.2}.bpl-lvs{padding:8px 7px!important;min-width:30px}.bpl-svg.bpl-grab{cursor:grab}.bpl-svg.bpl-grabbing{cursor:grabbing}.bpl-sand{fill:rgba(179,154,110,.12)}.bpl-ground-label{font:600 11px/1 var(--body);fill:var(--muted)}.bpl-claimstorey{stroke:rgba(59,165,93,.35);stroke-width:1;stroke-dasharray:4 4}.bpl-console{fill:#3BA55D;stroke:#0b0b0c;stroke-width:1.5}.bpl-zone{display:grid;gap:6px;margin-top:6px;padding:8px;background:var(--surface-2);border:1px solid var(--line-2)}.bpl-zone label{display:flex;justify-content:space-between;font-size:13px;color:var(--muted)}.bpl-zone label b{color:var(--text)}.bpl-zone input[type=range]{width:100%;accent-color:#3BA55D}.bpl-zone-btns{display:flex;flex-wrap:wrap;gap:4px}.bpl-zone-btns button{font:600 12px/1 var(--body);color:var(--text);background:var(--surface);border:1px solid var(--line-2);padding:6px 8px;cursor:pointer}.bpl-storey{fill:transparent;cursor:pointer;outline:none}.bpl-storey:focus-visible,.bpl-storey:hover{fill:rgba(59,165,93,.16);stroke:#3BA55D;stroke-width:1}.bpl-storey.on{fill:rgba(200,16,46,.08)}.bpl-console-g{cursor:ns-resize;outline:none}.bpl-console-g:focus-visible .bpl-console{stroke:#fff;stroke-width:2}.bpl-console-line{stroke:#3BA55D;stroke-width:1.5;stroke-dasharray:6 4;opacity:.8}.bpl-snap{fill:none;stroke:#3BA55D;stroke-width:1.5}@media (max-width:760px){.bpl-phone,.bpl-phone .bpl-main{gap:8px}.bpl-phone .bpl-plan{order:-1}.bpl-phone .bpl-fullbtn{display:none}.bpl-phone .bpl-bar{gap:6px}.bpl-phone .bpl-bar .btn{padding:7px 10px;font-size:12px}.bpl-phone .bpl-name input{font-size:14px;padding:7px 9px;width:min(200px,100%)}.bpl-phone .bpl-auto,.bpl-phone .bpl-local,.bpl-phone .bpl-share{font-size:12px}.bpl-phone .bpl-pal{display:none}.bpl-phone .bpl-tools{flex-wrap:nowrap;overflow-x:auto;justify-content:flex-start;scrollbar-width:none;padding-bottom:2px;gap:6px}.bpl-phone .bpl-chips::-webkit-scrollbar,.bpl-phone .bpl-tools::-webkit-scrollbar{display:none}.bpl-phone .bpl-acts,.bpl-phone .bpl-levels{flex-wrap:nowrap;flex:none}.bpl-phone .bpl-levels button,.bpl-phone .bpl-tools button{padding:8px 9px;font-size:12px;white-space:nowrap}.bpl-phone .bpl-acts{order:-1}.bpl-phone .bpl-now{font-size:12px;line-height:1.35}.bpl-phone .bpl-plan>.bpl-small{display:none}.bpl-phone .bpl-scroll{max-height:52vh}.bpl-phone .bpl-sum{padding:0;gap:0}.bpl-phone .bpl-sum:not(.open)>:not(.bpl-sum-h){display:none}.bpl-phone .bpl-sum.open{padding:0 12px 12px;gap:4px}.bpl-sum-h{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;width:100%;padding:12px;background:none;border:0;color:var(--text);text-align:left;cursor:pointer}.bpl-sum-h span{font:700 12px/1 var(--mono);text-transform:uppercase;letter-spacing:.1em}.bpl-sum-h small{color:var(--muted);font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bpl-sum-h b{font:600 12px/1 var(--body);color:var(--muted)}.bpl-sum.open .bpl-sum-h{margin:0 -12px}.bpl-phone .bpl-chips{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;padding-bottom:2px}.bpl-phone .bpl-chips button{flex:none}.bpl-phone .bpl-pal .bpl-grid-t{grid-auto-flow:column;grid-template-columns:none;grid-auto-columns:74px;overflow-x:auto;overscroll-behavior-x:contain;padding-bottom:2px}.bpl-phone .bpl-pal .bpl-grid-s{grid-auto-columns:44px}.bpl-phone .bpl-tile .bpl-pc-ph,.bpl-phone .bpl-tile img{width:40px;height:40px}.bpl.bpl-app{position:fixed;inset:0;z-index:1000;background:var(--bg);display:flex;flex-direction:column;gap:0;padding:0;overflow:hidden}.bpl-app>.bpl-bar,.bpl-app>.bpl-note{display:none}.bpl-app .bpl-main{gap:0}.bpl-app .bpl-main,.bpl-app .bpl-plan{flex:1 1;min-height:0;display:flex;flex-direction:column}.bpl-app .bpl-plan{gap:4px;padding:calc(6px + env(safe-area-inset-top)) 8px 4px}.bpl-app .bpl-now{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:11.5px;margin:0}.bpl-app .bpl-alert{font-size:12px;padding:6px 8px;margin:0}.bpl-app .bpl-scroll{flex:1 1;min-height:0;max-height:none}.bpl-app .bpl-pal{display:grid;flex:none;max-height:40vh;overflow-y:auto;border-width:1px 0 0;border-color:var(--red);padding:6px 10px calc(6px + env(safe-area-inset-bottom));gap:5px}.bpl-app .bpl-card,.bpl-app .bpl-recent{display:none}.bpl-app .bpl-find input{padding:6px 8px;font-size:13px}.bpl-app .bpl-tabs button{padding:6px 9px;font-size:12px}.bpl-app .bpl-lab{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:8px}.bpl-app .bpl-lab select{padding:5px 8px;font-size:13px}.bpl-app .bpl-sum{display:none}.bpl-app .bpl-sum.open{display:grid;position:fixed;left:0;right:0;bottom:0;top:30%;z-index:1002;overflow-y:auto;border-width:1px 0 0;border-color:var(--red);box-shadow:0 -12px 40px rgba(0,0,0,.6)}}html.bpl-lock{overflow:hidden}.bpl-page{padding:16px 24px 0}@media (max-width:640px){.bpl-page{padding:12px 16px 0}}.bpl-pop-back{position:fixed;inset:0;z-index:1100;background:rgba(0,0,0,.45);display:grid;place-items:center;padding:16px}.bpl-pop{width:min(560px,100%);max-height:calc(100dvh - 32px);overflow-y:auto;background:var(--surface,#141417);border:1px solid #5a4423;border-top:4px solid #c8883a;padding:22px 24px;box-shadow:0 40px 80px -30px rgba(0,0,0,.9)}.bpl-pop-tag{margin:0;font:700 10px/1 var(--mono);letter-spacing:.16em;text-transform:uppercase;color:#D8B67A}.bpl-pop h2{margin:6px 0 14px;font-size:clamp(22px,3.4vw,28px);line-height:1.1}.bpl-pop .bpl-guide-list{padding:0}.bpl-pop-acts{display:flex;flex-wrap:wrap;align-items:center;gap:14px;margin-top:16px}.bpl-pop-never{display:inline-flex;align-items:center;gap:8px;font-size:13px;color:var(--muted);cursor:pointer}.bpl-pop-never input{accent-color:#C8883A}.bpl-pop-foot{margin:12px 0 0;font-size:12px;color:var(--dim)}.bpl-pop-foot b{color:var(--muted)}.bpl-howbtn{margin-left:auto}.bpl-howbtn+.bpl-fullbtn{margin-left:0}.bpl-stage{position:relative;min-width:0;min-height:0;display:flex;flex-direction:column}.bpl-stage>.bpl-scroll{flex:1 1 auto}.bpl-full .bpl-stage{height:100%}.bpl-lvhud{position:absolute;top:10px;right:22px;z-index:5;gap:2px;padding:3px;border:1px solid var(--line);border-radius:8px;background:var(--bg-2);box-shadow:0 4px 14px rgba(0,0,0,.4)}.bpl-lvhud,.bpl-lvhud-t{display:flex;align-items:center}.bpl-lvhud-t{flex-direction:column;min-width:76px;padding:0 6px;line-height:1.15}.bpl-lvhud-t b{font-size:13px;color:#D8B67A}.bpl-lvhud-t small{font-size:10px;color:var(--muted)}.bpl-lvhud-t.bpl-out b{color:#e0525f}.bpl-lvhud-b{position:relative;display:grid;place-items:center;width:30px;height:30px;padding:0;border:1px solid transparent;border-radius:6px;background:transparent;color:var(--text);cursor:pointer}.bpl-lvhud-b:hover:not(:disabled){background:rgba(200,136,58,.18);border-color:#C8883A}.bpl-lvhud-b:disabled{opacity:.35;cursor:default}.bpl-lvhud-b svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.bpl-lvhud-plus{position:absolute;right:2px;bottom:0;font-size:10px;font-weight:700;color:#D8B67A}@media (max-width:760px){.bpl-lvhud{top:6px;right:8px}.bpl-lvhud-t{min-width:64px}}.bpl-app .bpl-stage{flex:1 1;min-height:0}.bpl-below{pointer-events:none}.bpl-below .bpl-cell,.bpl-below .bpl-tri .bpl-cell,.bpl-tri.b .bpl-cell{fill:rgba(96,146,214,.06);stroke:#6f9ad6;stroke-width:1;stroke-dasharray:4 3;opacity:.6}.bpl-below .bpl-edge{stroke:#6f9ad6;stroke-dasharray:6 4;opacity:.5}.bpl-below text{display:none}.bpl-st-b .bpl-scroll{box-shadow:inset 0 0 0 2px rgba(96,146,214,.55)}.bpl-st-u .bpl-scroll{box-shadow:inset 0 0 0 2px rgba(108,180,120,.5)}.bpl-st-b .bpl-lvhud{border-color:rgba(96,146,214,.7)}.bpl-st-b .bpl-lvhud-t b{color:#8fb4e6}.bpl-st-u .bpl-lvhud{border-color:rgba(108,180,120,.65)}.bpl-st-u .bpl-lvhud-t b{color:#9ccf9f}.bpl-lvhud-k{font-size:10px;color:#8fb4e6}.bpl-tools{justify-content:flex-start}.bpl-tools>.bpl-acts{margin-left:auto}.bpl-levels .bpl-rmlv{min-width:74px;color:#ff9b9b}.bpl-levels .bpl-rmlv.sure{border-color:var(--red);background:var(--red-tint);color:var(--text)}.bpl-now{line-height:1.45;min-height:2.9em}@media (max-width:760px){.bpl-levels .bpl-rmlv{min-width:0}}.bpl-elev-build{cursor:crosshair;touch-action:none}.bpl-elev-build .bpl-storey{pointer-events:none}.bpl-elev-hand{cursor:default}.bpl-e-dim{opacity:.16;pointer-events:none}.bpl-e-row{cursor:pointer}.bpl-e-movable{cursor:grab}.bpl-elev-hov{fill:rgba(200,136,58,.07);pointer-events:none}.bpl-elev-ghost{fill:rgba(59,165,93,.28);stroke:#3BA55D;stroke-width:1.5;stroke-dasharray:4 3;pointer-events:none}.bpl-elev-snap{fill:#3BA55D;opacity:.75;pointer-events:none}.bpl-elev-st{font:600 10px/1 var(--body);fill:var(--muted);opacity:.7;pointer-events:none}.bpl-elev-st.on{fill:#D8B67A;opacity:1}@media (max-width:760px){.bpl-app .bpl-plan{align-self:stretch;width:100%;min-width:0}.bpl-app .bpl-plan>*{min-width:0;max-width:100%}}.bpl-gen{width:min(1100px,100%);display:flex;flex-direction:column;gap:14px}.bpl-gen-head h2{margin:4px 0 10px}.bpl-gen-steps{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:4px}.bpl-gen-steps button{font:600 12px/1 var(--body);padding:7px 9px;border:1px solid var(--line-2);background:var(--surface-2);color:var(--muted);cursor:pointer}.bpl-gen-steps button.done{color:var(--text)}.bpl-gen-steps button.on{border-color:#C8883A;color:var(--text);background:rgba(200,136,58,.16)}.bpl-gen-body{display:grid;grid-template-columns:minmax(0,360px) minmax(0,1fr);gap:18px;min-height:0}.bpl-gen-opts{display:flex;flex-direction:column;gap:12px;min-width:0}.bpl-gen-q{margin:0;font-weight:700}.bpl-gen-hint{margin:0;font-size:12.5px;line-height:1.45;color:var(--muted)}.bpl-gen-hint b{color:var(--text)}.bpl-gen-cards{display:grid;grid-template-columns:1fr 1fr;gap:6px}.bpl-gen-card{display:flex;flex-direction:column;gap:3px;text-align:left;padding:10px;border:1px solid var(--line-2);background:var(--surface-2);color:var(--text);cursor:pointer;min-height:44px}.bpl-gen-card b{font-size:14px}.bpl-gen-card small{font-size:11.5px;line-height:1.35;color:var(--muted)}.bpl-gen-card.on{border-color:#C8883A;background:rgba(200,136,58,.14)}.bpl-gen-row{display:flex;flex-wrap:wrap;align-items:center;gap:4px;font-size:13px;color:var(--muted)}.bpl-gen-row span{margin-right:6px}.bpl-gen-row button{font:600 12px/1 var(--body);padding:9px 10px;border:1px solid var(--line-2);background:var(--surface-2);color:var(--muted);cursor:pointer}.bpl-gen-row button.on{border-color:#C8883A;color:var(--text);background:rgba(200,136,58,.14)}.bpl-gen-range{display:flex;flex-direction:column;gap:6px;font-size:13px;color:var(--muted)}.bpl-gen-range b{color:var(--text)}.bpl-gen-range input{accent-color:#C8883A;height:28px}.bpl-gen-land{display:grid;grid-template-columns:repeat(7,38px);grid-template-rows:repeat(7,38px);gap:3px;align-self:flex-start}.bpl-gen-land button{border:1px dashed #6b5636;background:transparent;color:#D8B67A;font:700 18px/1 var(--body);cursor:pointer;padding:0}.bpl-gen-land button.add:hover{background:rgba(200,136,58,.14);border-color:#C8883A}.bpl-gen-land button.on{background:rgba(200,136,58,.32);border:1px solid #c8883a}.bpl-gen-land button.c{background:rgba(200,136,58,.55);border:1px solid #c8883a;color:#1a1208;font-size:14px;cursor:default}.bpl-gen{position:relative}.bpl-gen-busy{position:absolute;inset:0;z-index:5;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:24px;text-align:center;background:rgba(14,14,16,.94)}.bpl-gen-busy b{font-size:16px}.bpl-gen-busy p{max-width:460px;margin:0;font-size:14px;line-height:1.5;color:var(--muted)}.bpl-gen-busy p span{display:block;margin-bottom:6px;font:700 10px/1 var(--mono);letter-spacing:.16em;text-transform:uppercase;color:#D8B67A}.bpl-gen-spin{width:38px;height:38px;border:3px solid rgba(200,136,58,.25);border-top-color:#c8883a;border-radius:50%;animation:bpl-spin .8s linear infinite}@keyframes bpl-spin{to{transform:rotate(1turn)}}@media (prefers-reduced-motion:reduce){.bpl-gen-spin{animation-duration:2.4s}}.bpl-gen-checks{border:1px solid var(--line);padding:8px 10px;margin:0;display:flex;flex-direction:column;gap:10px;font-size:13px}.bpl-gen-checks legend{font:700 10px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);padding:0 4px}.bpl-gen-checks label{display:flex;gap:10px;align-items:flex-start;cursor:pointer}.bpl-gen-checks label span{display:flex;flex-direction:column;gap:2px}.bpl-gen-checks label small{color:var(--muted);font-size:12px}.bpl-gen-checks input{accent-color:#C8883A;width:18px;height:18px;margin-top:1px}.bpl-gen-view{display:flex;flex-direction:column;gap:8px;min-width:0}.bpl-gen-prev{border:1px solid var(--line);background:var(--bg-2);pointer-events:none;height:260px;overflow:hidden;display:flex;align-items:flex-end}.bpl-gen-prev svg{max-height:260px}.bpl-gen-mini{margin:0;font-size:12px;color:var(--muted)}.bpl-gen-stats{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px;font-size:13.5px;color:var(--muted)}.bpl-gen-stats b{color:var(--text)}.bpl-gen-stats .bad,.bpl-gen-stats .bad b{color:#ff9b9b}.bpl-gen-note{margin:0;font-size:12.5px;color:var(--muted)}.bpl-gen-foot{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end;border-top:1px solid var(--line);padding-top:12px}.bpl-gen-foot .btn-red{min-width:170px}@media (max-width:860px){.bpl-gen-back{padding:0}.bpl-gen{width:100%;height:100dvh;max-height:100dvh;border:0;border-top:4px solid #c8883a;padding:calc(10px + env(safe-area-inset-top)) 14px 0;gap:10px;overflow:hidden}.bpl-gen-head h2{font-size:22px;margin:2px 0 8px}.bpl-gen-steps{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}.bpl-gen-steps::-webkit-scrollbar{display:none}.bpl-gen-steps button{white-space:nowrap}.bpl-gen-body{flex:1 1;min-height:0;display:flex;flex-direction:column;overflow-y:auto;overscroll-behavior:contain;gap:12px;padding-bottom:8px}.bpl-gen-view{order:-1;flex:none}.bpl-gen-opts{flex:none}.bpl-gen-prev,.bpl-gen-prev svg{height:170px;max-height:170px}.bpl-gen-cards{grid-template-columns:1fr}.bpl-gen-foot{position:sticky;bottom:0;background:var(--surface,#141417);padding:10px 0 calc(10px + env(safe-area-inset-bottom));display:grid;grid-template-columns:1fr 1fr;gap:8px}.bpl-gen-foot .btn-red{grid-column:1/-1;order:-1;min-width:0}.bpl-gen-foot .btn{padding:12px 8px}}@media (max-width:760px){.bpl-phone .bpl-tools{flex-wrap:wrap;overflow:visible;row-gap:6px}.bpl-phone .bpl-tools>.bpl-acts{flex:1 1 100%;flex-wrap:wrap;margin-left:0;gap:5px}.bpl-phone .bpl-tools>.bpl-levels:first-of-type{flex:none}.bpl-phone .bpl-tools>.bpl-levels+.bpl-levels{flex:1 1;min-width:0;overflow-x:auto;scrollbar-width:none}.bpl-phone .bpl-tools>.bpl-levels+.bpl-levels::-webkit-scrollbar{display:none}.bpl-phone .bpl-levels button,.bpl-phone .bpl-tools button{min-height:36px}.bpl-phone .bpl-acts .bpl-buildbtn{flex:1 0 auto}.bpl-phone .bpl-levels .bpl-rmlv{min-width:0}.bpl-phone .bpl-lvhud{transform:scale(.92);transform-origin:top right}}.bpl-site{width:min(860px,100%)}.bpl-site-map{display:block;width:100%;aspect-ratio:1/1;max-height:62vh;background:#1a140d;border:1px solid var(--line);cursor:crosshair;touch-action:none;-webkit-user-select:none;user-select:none}.bpl-site-sea{fill:#2a2116}.bpl-site-grid{fill:none;stroke:#D8B67A;stroke-dasharray:6 5;opacity:.85}.bpl-site-sec{fill:rgba(200,136,58,.18);stroke:#C8883A}.bpl-site-dot{fill:#3BA55D;stroke:#fff}.bpl-site-read{margin:10px 0 0;font-size:13.5px;line-height:1.5;color:var(--muted)}.bpl-site-read b{color:var(--text)}@media (max-width:860px){.bpl-site-back{padding:0}.bpl-site{width:100%;min-height:100dvh;border:0;border-top:4px solid #c8883a}.bpl-site-map{max-height:52vh}}.bpl-under image{opacity:.5}.bpl-terrain{fill:#3a2e1f;stroke:#b39a6e;stroke-width:1.2}.bpl-site-btn{white-space:nowrap}.bpl-site-row{display:flex;flex-direction:column;gap:4px;margin-bottom:8px}.bpl-site-row small{font-size:12px;color:var(--muted);line-height:1.4}.bpl-look{display:grid;grid-template-columns:auto auto auto;grid-template-areas:". n ." "w c e" ". s .";gap:3px;align-items:center;justify-items:center;width:max-content}.bpl-look button{padding:5px 8px;font:700 11px/1 var(--mono);letter-spacing:.06em;text-transform:uppercase;background:var(--surface-2);border:1px solid var(--line);color:var(--muted);cursor:pointer}.bpl-look button:hover{color:var(--text);border-color:var(--line-2)}.bpl-look button.on{background:var(--sand,#D8B67A);border-color:var(--sand,#D8B67A);color:#0b0b0c}.bpl-look button:focus-visible{outline:2px solid var(--gilt,#E8C46A);outline-offset:1px}.bpl-look-N{grid-area:n}.bpl-look-S{grid-area:s}.bpl-look-E{grid-area:e}.bpl-look-W{grid-area:w}.bpl-look-c{grid-area:c;display:grid;place-items:center}.bpl-look-c circle{fill:none;stroke:var(--line-2);stroke-width:1.2}.bpl-look-c path{fill:var(--sand,#D8B67A)}.bpl-look-row{display:grid;gap:6px;margin:8px 0 4px}.bpl-site-look{display:flex;gap:14px;align-items:center;margin:10px 0 0}.bpl-site-look .bpl-gen-hint{margin:0;max-width:52ch}.bpl-site-front line{stroke:var(--sand,#D8B67A)}.bpl-site-front path{fill:var(--sand,#D8B67A)}.bpl-site-front text{fill:#fff;font-weight:800;font-family:var(--mono);paint-order:stroke;stroke:#0b0b0c;stroke-width:.25em;text-transform:uppercase}.bpl-from{font-size:10px;opacity:.75;font-weight:600}@media (max-width:640px){.bpl-site-look{flex-direction:column;align-items:flex-start}}.bpl-preview{margin-left:6px;padding:2px 5px;font:700 9px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;background:var(--sand,#D8B67A);color:#0b0b0c;vertical-align:1px}.bpl-gen-count{display:flex;flex-wrap:wrap;gap:6px}.bpl-gen-count button{min-width:52px;padding:10px 12px;font:700 14px/1 var(--body);background:var(--surface-2);border:1px solid var(--line);color:var(--text);cursor:pointer}.bpl-gen-count button:hover{border-color:var(--line-2)}.bpl-gen-count button.on{border-color:var(--sand,#D8B67A);background:color-mix(in srgb,var(--sand,#D8B67A) 18%,var(--surface-2));color:var(--sand,#D8B67A)}.bpl-gen-count button:focus-visible{outline:2px solid var(--gilt,#E8C46A);outline-offset:1px}