.fp-editor{--fp-ink:#24313a;--fp-blue:#2c5f87;color:var(--fp-ink);max-width:1500px;margin:auto}.fp-header{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:16px}.fp-header h2{margin:14px 0 6px}.fp-header small{font-size:13px;font-weight:400;color:#65727a}.fp-header p,.fp-caption,.fp-footnote{font-size:13px;color:#596770}.fp-actions,.fp-toolbar,.fp-room-list{display:flex;flex-wrap:wrap;gap:8px}.fp-toolbar{padding:12px;background:#f7f4ec;border:1px solid #ddd9cf;border-radius:12px}.fp-editor .btn{min-height:44px;white-space:normal}.fp-message{min-height:24px;font-size:14px;color:#2c5f87;margin:12px 0}.fp-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:16px;align-items:start}.fp-drawing{min-width:0;position:sticky;top:16px;background:#fbfaf6;border:1px solid #d8dcd9;border-radius:12px;overflow:hidden}.fp-drawing svg{display:block;width:100%;height:620px;max-height:75vh;touch-action:none;user-select:none;background-image:radial-gradient(#cfd6d9 1px,transparent 1px);background-size:20px 20px}.fp-drawing [data-edge],.fp-drawing [data-vertex]{cursor:move}.fp-caption{padding:8px 16px;border-top:1px solid #ddd;margin:0}.fp-inspector{padding:16px;background:#fff;border:1px solid #d8dcd9;border-radius:12px;min-width:0}.fp-inspector h3{font-size:16px;margin:18px 0 10px}.fp-inspector h3:first-child{margin-top:0}.fp-inspector form{border-bottom:1px solid #e5e5df;padding:12px 0}.fp-inspector label{display:block;font-size:13px;line-height:1.5;margin:8px 0}.fp-inspector input:not([type=checkbox]),.fp-inspector select{display:block;width:100%;min-width:0;box-sizing:border-box;min-height:42px;padding:8px;border:1px solid #bec7cc;border-radius:6px;background:#fff;color:#24313a}.fp-fields{display:grid;grid-template-columns:1fr 1fr;gap:8px}.fp-inspector p,.fp-inspector details{font-size:12px;line-height:1.7;overflow-wrap:anywhere}.fp-openings>div{padding:10px 0;border-bottom:1px dashed #d8dcd9}.fp-openings strong{font-size:13px}.fp-results{background:#f1f6f8;padding:12px;border-radius:8px}.fp-results>div{display:flex;justify-content:space-between;gap:10px;padding:5px 0;font-size:13px}.fp-results dd{margin:0;font-weight:600}.fp-inspector>.fp-actions{margin-top:16px}.fp-editor button:focus-visible,.fp-editor input:focus-visible,.fp-editor select:focus-visible{outline:3px solid #c58a18;outline-offset:2px}@media(max-width:800px){.fp-header{display:block}.fp-header>.fp-actions{margin-top:12px}.fp-layout{grid-template-columns:1fr}.fp-drawing{position:static}.fp-drawing svg{height:420px}.fp-inspector{padding:12px}.fp-toolbar{gap:6px}.fp-toolbar .btn{flex:1 1 100px;font-size:12px}.fp-header .fp-actions .btn{flex:1}.fp-footnote{line-height:1.7}}.fp-header>.fp-actions .btn{flex:1 1 130px}.fp-header>.fp-actions{max-width:550px}.fp-guide{display:grid;grid-template-columns:minmax(210px,.7fr) minmax(0,2fr);gap:18px;align-items:center;padding:16px 18px;margin:12px 0;background:#f1f6f8;border:1px solid #b8cedc;border-radius:12px}.fp-guide h3,.fp-calibration h3{margin:4px 0;font-size:18px}.fp-eyebrow{margin:0;color:#2c5f87;font-size:12px;font-weight:700;letter-spacing:.08em}.fp-guide ol{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:0;padding:0;list-style:none}.fp-guide li{display:flex;gap:9px;min-width:0;padding:10px;background:#fff;border:1px solid #d5dde1;border-radius:9px}.fp-guide li>span{display:grid;place-items:center;flex:0 0 26px;height:26px;border-radius:50%;background:#e8ecee;color:#64747d;font-weight:700}.fp-guide li:nth-child(1)>span:empty:before{content:'1'}.fp-guide li:nth-child(2)>span:empty:before{content:'2'}.fp-guide li:nth-child(3)>span:empty:before{content:'3'}.fp-guide li.is-current{border:2px solid #2c5f87;padding:9px}.fp-guide li.is-current>span{background:#2c5f87;color:#fff}.fp-guide li.is-done>span{background:#2f6f55;color:#fff}.fp-guide strong{font-size:14px}.fp-guide li p{margin:3px 0 0;font-size:12px;line-height:1.45;color:#596770}.fp-editor .btn:disabled{opacity:.45;cursor:not-allowed}.fp-calibration{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.8fr);gap:18px;align-items:center;padding:16px 18px;margin:12px 0;background:#fff6e1;border:2px solid #c58a18;border-radius:12px;box-shadow:0 5px 16px rgba(90,63,8,.08)}.fp-calibration p{margin:6px 0 0;line-height:1.55}.fp-calibration-example{display:grid;gap:3px;padding:12px 14px;background:#fff;border-radius:9px}.fp-calibration-example strong{font-size:12px;color:#6c5a2f}.fp-calibration-example b{color:#b84a2a}.fp-calibration form{display:grid;grid-template-columns:minmax(160px,1fr) auto;gap:8px;align-items:end}.fp-calibration form label{grid-row:span 2;font-size:14px;font-weight:700}.fp-calibration form label span{display:block;font-size:12px;font-weight:400;color:#6b6e6f}.fp-calibration input{display:block;width:100%;box-sizing:border-box;min-height:48px;margin-top:5px;padding:8px 12px;border:2px solid #c58a18;border-radius:7px;font-size:18px}.fp-help>h3{margin-top:0}.fp-help>p{font-size:14px}.fp-help details{margin:14px 0}.fp-help summary{cursor:pointer;font-size:14px;font-weight:700;color:#2c5f87}.fp-format-note{color:#68777f}@media(max-width:800px){.fp-guide{display:block;padding:14px}.fp-guide ol{grid-template-columns:1fr;margin-top:12px}.fp-guide li:not(.is-current):not(.is-done) p{display:none}.fp-calibration{display:block;padding:14px}.fp-calibration form{grid-template-columns:1fr}.fp-calibration form label{grid-row:auto}.fp-calibration form .btn{width:100%}.fp-toolbar .btn{flex-basis:110px;font-size:13px}}.fp-rectangle-form{margin:16px 0;padding:20px;border:1px solid var(--brand-borderStrong);border-radius:12px;background:var(--brand-surface);color:var(--brand-text)}.fp-rectangle-form h3{margin:0;font-size:18px}.fp-rectangle-form p{font-size:14px;line-height:1.7}.fp-rectangle-form .fp-fields{grid-template-columns:repeat(3,minmax(0,1fr));margin:16px 0}.fp-rectangle-form label{display:grid;gap:6px;font-size:14px}.fp-rectangle-form input{min-width:0;width:100%;box-sizing:border-box;min-height:44px;padding:10px;border:1px solid var(--brand-borderStrong);border-radius:8px;background:var(--brand-surface);color:var(--brand-text);font-size:16px}.fp-inspector summary{min-height:44px;line-height:1.6;padding:12px 0;cursor:pointer;font-size:14px}@media(max-width:600px){.fp-rectangle-form .fp-fields{grid-template-columns:1fr}.fp-rectangle-form .btn{width:100%}}