/* Plan drawing styles, shared by the reading page. The planner keeps its own inline copy for image export. */
:root{--ink:#1E3631;--muted:#6F6957;--accent:#8A6A2C;--wall:#1E3631;--floor:#FBF7EE;--grid:#EDE5D2;--grid-major:#E0D5BC;--glass:#D9E4EC;--item:#FFFFFF;--item-2:#ECE5D6;--item-3:#F1EADB;--item-stroke:#24332F;--item-detail:#9A9382;--rug:#EADFC9;--rug-stroke:#B9A07C;--leaf:#D5E0C9;--leaf-stroke:#5E7A55;--error:#B5523B;--warn:#B07A1E;--ok:#5E7A55;--brass:#C6A15B;--brass-dk:#8A6A2C}
.plan .floor{fill:var(--floor)}
.plan .gl{fill:none;stroke:var(--grid);stroke-width:calc(var(--k)*1)}
.plan .glm{fill:none;stroke:var(--grid-major);stroke-width:calc(var(--k)*1)}
.plan .wall{fill:var(--wall)}
.plan .gap{fill:var(--floor)}
.plan .leaf-line{stroke:var(--ink);stroke-width:calc(var(--k)*1.6);fill:none;stroke-linecap:round}
.plan .arc{stroke:var(--muted);stroke-width:calc(var(--k)*.9);fill:none;stroke-dasharray:calc(var(--k)*4) calc(var(--k)*3)}
.plan .glass{fill:var(--glass);stroke:var(--ink);stroke-width:calc(var(--k)*.9)}
.plan .gline{stroke:var(--ink);stroke-width:calc(var(--k)*.9);fill:none}
.plan .pocket{fill:none;stroke:var(--muted);stroke-width:calc(var(--k)*.9);stroke-dasharray:calc(var(--k)*3) calc(var(--k)*2)}
.plan .p{fill:var(--item);stroke:var(--item-stroke);stroke-width:calc(var(--k)*1.15)}
.plan .p2{fill:var(--item-2);stroke:var(--item-stroke);stroke-width:calc(var(--k)*.8)}
.plan .p3{fill:var(--item-3);stroke:none}
.plan .d{fill:none;stroke:var(--item-detail);stroke-width:calc(var(--k)*.8)}
.plan .rug{fill:var(--rug);stroke:var(--rug-stroke);stroke-width:calc(var(--k)*1)}
.plan .rugin{fill:none;stroke:var(--rug-stroke);stroke-width:calc(var(--k)*.8);stroke-dasharray:calc(var(--k)*4) calc(var(--k)*3)}
.plan .fringe{stroke:var(--rug-stroke);stroke-width:calc(var(--k)*.7)}
.plan .leaf{fill:var(--leaf);stroke:var(--leaf-stroke);stroke-width:calc(var(--k)*.8)}
.plan .item.is-warn>.p,.plan .item.is-warn>.rug{stroke:var(--warn);stroke-width:calc(var(--k)*2)}
.plan .item.is-error>.p,.plan .item.is-error>.rug{stroke:var(--error);stroke-width:calc(var(--k)*2.2)}
.plan .room-name{font-family:var(--font-display);font-weight:400;font-size:calc(var(--k)*13px);fill:var(--ink)}
.plan .room-dims{font-family:var(--font-mono);font-size:calc(var(--k)*10.5px);fill:var(--muted)}
.plan .lbl{font-family:var(--font-body);font-weight:500;font-size:calc(var(--k)*10.5px);fill:var(--ink);text-anchor:middle;paint-order:stroke;stroke:var(--item);stroke-width:calc(var(--k)*3);stroke-linejoin:round}
.plan .lbl-d{font-family:var(--font-mono);font-size:calc(var(--k)*9.5px);fill:var(--muted);text-anchor:middle;paint-order:stroke;stroke:var(--item);stroke-width:calc(var(--k)*3);stroke-linejoin:round}
.plan .sel{fill:none;stroke:var(--accent);stroke-width:calc(var(--k)*1.6);stroke-dasharray:calc(var(--k)*5) calc(var(--k)*3)}
.plan .sel-fill{fill:var(--accent);fill-opacity:.08;stroke:var(--accent);stroke-width:calc(var(--k)*1.6)}
.plan .meas{stroke:var(--accent);stroke-width:calc(var(--k)*1)}
.plan .meas-t{font-family:var(--font-mono);font-weight:500;font-size:calc(var(--k)*10px);fill:var(--accent);text-anchor:middle;paint-order:stroke;stroke:var(--floor);stroke-width:calc(var(--k)*3.2);stroke-linejoin:round}
.plan .dim{stroke:var(--muted);stroke-width:calc(var(--k)*.9)}
.plan .dim-t{font-family:var(--font-mono);font-size:calc(var(--k)*10px);fill:var(--muted);text-anchor:middle}
.plan .wline{stroke:var(--warn);stroke-width:calc(var(--k)*1.4);stroke-dasharray:calc(var(--k)*3) calc(var(--k)*2)}
.plan .wline-t{font-family:var(--font-mono);font-weight:500;font-size:calc(var(--k)*10px);fill:var(--warn);text-anchor:middle;paint-order:stroke;stroke:var(--floor);stroke-width:calc(var(--k)*3.2);stroke-linejoin:round}
.plan .ezone{fill:var(--error);fill-opacity:.1;stroke:var(--error);stroke-width:calc(var(--k)*1);stroke-dasharray:calc(var(--k)*4) calc(var(--k)*3)}
.plan .wzone{fill:var(--warn);fill-opacity:.08;stroke:var(--warn);stroke-width:calc(var(--k)*1);stroke-dasharray:calc(var(--k)*4) calc(var(--k)*3)}
.plan .handle{fill:var(--floor);stroke:var(--accent);stroke-width:calc(var(--k)*1.6);cursor:nwse-resize}
.plan .trace{fill:var(--accent);fill-opacity:.08;stroke:var(--accent);stroke-width:calc(var(--k)*1.5);stroke-dasharray:calc(var(--k)*5) calc(var(--k)*3)}
.plan .cal{fill:var(--accent);stroke:var(--floor);stroke-width:calc(var(--k)*1.5)}
.plan .cal-l{stroke:var(--accent);stroke-width:calc(var(--k)*1.5)}
.plan .title-t{font-family:var(--font-display);font-weight:700;font-size:calc(var(--k)*20px);fill:var(--ink)}
.plan .title-s{font-family:var(--font-mono);font-size:calc(var(--k)*11px);fill:var(--muted)}
.plan .sb{fill:var(--ink)} .plan .sb2{fill:var(--floor);stroke:var(--ink);stroke-width:calc(var(--k)*1)}
.plan [data-kind]{cursor:pointer}
.plan .wallhit{cursor:move}
.plan .water{fill:#D6E3EC;stroke:#4E6F88;stroke-width:calc(var(--k)*1.1)}
.plan .water2{fill:none;stroke:#4E6F88;stroke-width:calc(var(--k)*.8)}
.plan .crystal{fill:#F3EDF2;stroke:#9C8AA3;stroke-width:calc(var(--k)*1.1)}
.plan .fire{fill:#F3C9AE;stroke:#B5523B;stroke-width:calc(var(--k)*1.1)}
.plan .fire2{fill:#E58A5E;stroke:none}
.plan .metal{fill:#EADBB5;stroke:#8A6A2C;stroke-width:calc(var(--k)*1.1)}
.plan .fs-grid{fill:none;stroke:var(--brass-dk);stroke-opacity:.4;stroke-width:calc(var(--k)*1);stroke-dasharray:calc(var(--k)*4) calc(var(--k)*4)}
.plan .fs-wealth{fill:none;stroke:var(--brass-dk);stroke-width:calc(var(--k)*2)}
.plan .fs-lbl{font-family:var(--font-body);font-weight:600;font-size:calc(var(--k)*9.5px);letter-spacing:.14em;fill:var(--muted)}
.plan .fs-lbl-w{fill:var(--brass-dk)}
.plan .ring{fill:none;stroke:var(--brass);stroke-width:calc(var(--k)*1.4)}
.plan .ring-ticks{fill:none;stroke:var(--brass);stroke-width:calc(var(--k)*9);opacity:.75}
.plan .ring-t{font-family:var(--font-display);font-size:calc(var(--k)*15px);fill:var(--ink)}
.plan .ring-w{fill:var(--brass-dk)}
.plan .needle{fill:var(--error)}
.plan .kua-arc{fill:none;stroke:var(--ok);stroke-width:calc(var(--k)*5);stroke-linecap:round}
.plan .sight-ok{stroke:var(--ok);stroke-width:calc(var(--k)*1.6);stroke-dasharray:calc(var(--k)*6) calc(var(--k)*4)}
.plan .sight-warn{stroke:var(--error);stroke-width:calc(var(--k)*1.6);stroke-dasharray:calc(var(--k)*6) calc(var(--k)*4)}
.plan .sight-run{stroke:var(--warn);stroke-width:calc(var(--k)*2);stroke-dasharray:calc(var(--k)*1) calc(var(--k)*5);stroke-linecap:round}
.plan .sight-dot-ok{fill:var(--ok)} .plan .sight-dot-warn{fill:var(--error)}
