.fpb-root{--fpb-ink:var(--rs-ink,#0d3b3b);--fpb-accent:var(--rs-accent,#0f766e);--fpb-teal:var(--rs-teal,#4ab3a6);--fpb-paper:var(--rs-paper,#f7f5ef);--fpb-card:var(--rs-card,#fbf8f1);--fpb-text:var(--rs-text,#3f4a48);--fpb-line:var(--rs-line,rgba(13,59,59,.14));position:fixed;inset:0;z-index:2147483000;display:flex;flex-direction:column;background:var(--fpb-paper);color:var(--fpb-ink);font-family:var(--rs-sans,Jost,system-ui,-apple-system,"Segoe UI",sans-serif);padding:env(safe-area-inset-top) env(safe-area-inset-right) 0 env(safe-area-inset-left);-webkit-tap-highlight-color:transparent}.fpb-root button{font:inherit;color:inherit;cursor:pointer}.fpb-top{display:flex;align-items:center;gap:8px;padding:10px 12px;border-bottom:1px solid var(--fpb-line);background:var(--fpb-card)}.fpb-title{flex:1;min-width:0;font-family:var(--rs-serif,Fraunces,Georgia,serif);font-size:18px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fpb-icon{display:inline-grid;place-items:center;width:40px;height:40px;border:1px solid var(--fpb-line);border-radius:999px;background:#fff}.fpb-icon:disabled{opacity:.4;cursor:default}.fpb-done{display:inline-flex;align-items:center;gap:6px;height:40px;padding:0 16px;border:0;border-radius:999px;background:var(--fpb-ink);color:#fff!important;font-weight:600;white-space:nowrap}.fpb-done:disabled{opacity:.45;cursor:default}.fpb-body,.fpb-stage-wrap{flex:1;min-height:0;display:flex;flex-direction:column}.fpb-stage-wrap{padding:8px 12px 0}.fpb-floors{display:flex;gap:4px;align-self:center;padding:3px;border-radius:999px;background:rgba(13,59,59,.07)}.fpb-floors button{border:0;border-radius:999px;padding:7px 14px;background:none;font-size:14px;font-weight:500}.fpb-floors button small{font-size:12px;opacity:.7}.fpb-floors button.is-on{background:#fff;box-shadow:0 1px 3px rgba(13,59,59,.16);font-weight:600}.fpb-stage{flex:1;min-height:160px;margin-top:8px;border-radius:14px;background:#fff;border:1px solid var(--fpb-line);overflow:hidden}.fpb-stage svg{display:block;width:100%;height:100%;touch-action:none;user-select:none;-webkit-user-select:none}.fpb-grid-line{stroke:rgba(13,59,59,.07)}.fpb-empty,.fpb-measure,.fpb-room-dims,.fpb-room-name,.fpb-side{text-anchor:middle;dominant-baseline:middle;pointer-events:none}.fpb-side{fill:#7b8582;font-weight:600;letter-spacing:.08em}.fpb-empty{fill:#9aa3a0}.fpb-room polygon{stroke:#1d2524;stroke-linejoin:miter;cursor:grab}.fpb-room.is-on polygon{stroke:var(--fpb-accent);filter:drop-shadow(0 2px 6px rgba(15,118,110,.28))}.fpb-room.is-clash polygon{stroke:#c2410c;fill:#fde2d4}.fpb-room-name{fill:#1d2524;font-weight:600}.fpb-room-dims{fill:#4b5552}.fpb-ghost{fill:none;stroke:rgba(13,59,59,.28);pointer-events:none}.fpb-hit{fill:transparent;cursor:grab}.fpb-dot{fill:#fff;stroke:var(--fpb-accent);pointer-events:none}.fpb-dot.is-notch{fill:var(--fpb-teal)}.fpb-measure{fill:var(--fpb-accent);font-weight:700}.fpb-tip{margin:6px 2px 8px;font-size:13px;color:var(--fpb-text);text-align:center}.fpb-tray{flex:0 0 auto;max-height:40vh;max-height:40dvh;overflow-y:auto;overscroll-behavior:contain;padding:12px 16px calc(14px + env(safe-area-inset-bottom));border-top:1px solid var(--fpb-line);background:var(--fpb-card)}.fpb-tray h3{margin:4px 0 8px;font-size:13px;font-weight:600;letter-spacing:.02em;color:var(--fpb-text)}.fpb-tray h3+.fpb-pieces,.fpb-tray h3+.fpb-starters{margin-bottom:12px}.fpb-pieces{display:flex;flex-wrap:wrap;gap:6px}.fpb-pieces button{display:inline-flex;align-items:center;gap:7px;min-height:38px;padding:6px 12px 6px 8px;border:1px solid var(--fpb-line);border-radius:10px;background:#fff;font-size:14px}.fpb-pieces button i{width:16px;height:16px;border-radius:3px;border:1.5px solid #1d2524}.fpb-pieces.is-next button{border-color:var(--fpb-accent);background:rgba(15,118,110,.06);font-weight:600}.fpb-starters{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.fpb-starters button{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:10px;border:1px solid var(--fpb-line);border-radius:12px;background:#fff;text-align:left}.fpb-starters strong{font-size:15px}.fpb-starters small{font-size:12px;line-height:1.3;color:var(--fpb-text)}.fpb-starters.is-fill button{border-color:var(--fpb-accent)}.fpb-or{margin:0 0 12px;font-size:13px;color:var(--fpb-text)}.fpb-edit{display:flex;flex-direction:column;gap:10px}.fpb-back{display:inline-flex;align-items:center;gap:2px;padding:4px 0;border:0;background:none;font-size:14px;font-weight:600}.fpb-name,.fpb-size{display:flex;flex-direction:column;gap:4px;font-size:12px;font-weight:600;color:var(--fpb-text)}.fpb-name input,.fpb-size input{width:100%;min-width:0;height:42px;padding:0 12px;border:1px solid var(--fpb-line);border-radius:10px;background:#fff;color:var(--fpb-ink);font:inherit;font-size:16px;font-weight:500}.fpb-sizes{display:grid;grid-template-columns:1fr 1fr;gap:10px}.fpb-size-box{position:relative;display:block}.fpb-size-box em{position:absolute;right:12px;top:50%;transform:translateY(-50%);font-style:normal;color:#8a9391;pointer-events:none}.fpb-size.is-bad input{border-color:#c2410c}.fpb-tools{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.fpb-tools button{display:flex;flex-direction:column;align-items:center;gap:4px;padding:9px 4px;border:1px solid var(--fpb-line);border-radius:10px;background:#fff;font-size:12.5px;font-weight:500}.fpb-error,.fpb-tools button.is-danger{color:#b42318}.fpb-error{margin:10px 0 0;font-size:13px}.fpb-narrow{display:none}.fpb-treads line{stroke:#6b7472;pointer-events:none}.fpb-arrow{pointer-events:none}.fpb-arrow,.fpb-room.is-stairs polygon{stroke:#1d2524}.fpb-guide polygon{fill:rgba(74,179,166,.06);stroke:var(--fpb-teal);cursor:pointer}.fpb-guide-name{fill:var(--fpb-accent);font-weight:600;text-anchor:middle;dominant-baseline:middle;pointer-events:none}.fpb-mini{display:block;width:100%;height:58px;margin-bottom:6px}.fpb-examples-head{margin-top:18px!important}.fpb-examples{display:flex;flex-direction:column;gap:8px}.fpb-examples button{display:grid;grid-template-columns:112px 1fr;gap:12px;align-items:center;padding:10px;border:1px solid var(--fpb-line);border-radius:12px;background:#fff;text-align:left}.fpb-examples button.is-on{border-color:var(--fpb-accent);box-shadow:0 0 0 2px rgba(15,118,110,.18)}.fpb-examples .fpb-mini{height:64px;margin:0}.fpb-examples strong{display:flex;align-items:center;gap:8px;font-size:15px}.fpb-examples strong em{font-style:normal;font-size:11px;font-weight:600;padding:2px 7px;border-radius:999px;background:var(--fpb-accent);color:#fff}.fpb-examples small{display:block;margin-top:3px;font-size:12.5px;line-height:1.4;color:var(--fpb-text)}.fpb-room.is-fitting rect{stroke:#1d2524;cursor:grab}.fpb-mark{stroke:#1d2524;fill:none;pointer-events:none}.fpb-mark.is-light{stroke:#f4f4f2}.fpb-fitting-name{fill:#1d2524;font-weight:500;text-anchor:middle;dominant-baseline:middle;pointer-events:none}.fpb-fitting-name.is-light{fill:#fff}.fpb-opening-gap{fill:#fff;pointer-events:none}.fpb-opening-marks path{stroke:#1d2524;pointer-events:none}.fpb-opening-marks.is-front path{stroke:var(--fpb-accent)}.fpb-opening.is-on .fpb-opening-gap{fill:rgba(15,118,110,.18)}.fpb-pieces.is-openings i{border-radius:2px;background:#fff}.fpb-pieces.is-openings i.is-front-door{border-color:var(--fpb-accent);background:var(--fpb-accent)}.fpb-in-head{margin-top:8px!important}.fpb-flip{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}.fpb-flip button{display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:6px 12px;border:1px solid var(--fpb-line);border-radius:999px;background:#fff;font-size:13.5px;font-weight:500}@media (max-width:480px){.fpb-wide{display:none}.fpb-narrow{display:inline}.fpb-starters{grid-template-columns:1fr 1fr}.fpb-done{padding:0 13px}.fpb-title{font-size:16px}}@media (max-width:360px){.fpb-floors button small{display:none}}@media (min-width:820px),(orientation:landscape) and (max-height:540px){.fpb-body{flex-direction:row}.fpb-tray{flex:0 0 340px;max-height:none;border-top:0;border-left:1px solid var(--fpb-line)}.fpb-starters{grid-template-columns:1fr 1fr}}@media (orientation:landscape) and (max-height:540px){.fpb-top{padding:6px 12px}.fpb-done,.fpb-icon{height:34px}.fpb-icon{width:34px}.fpb-tray{flex-basis:300px;padding-top:8px}.fpb-tip{display:none}.fpb-stage-wrap{padding-bottom:8px}}