.planner{font:15px/1.45 var(--sans);color:var(--fg)}.planner h2{font:600 20px/1.25 var(--serif);margin:0 0 8px}.planner h3{font:600 14px/1.35 var(--sans);margin:18px 0 6px}.planner p{margin:0 0 10px}.planner .muted,.planner .src{color:var(--fg-2)}.planner .src{font-size:12px;line-height:1.35;display:block}.planner .btn{font:600 14px/1.2 var(--sans);border:1.5px solid var(--accent-ink);color:var(--accent-ink);cursor:pointer;background:0 0;border-radius:3px;align-items:center;gap:6px;min-height:34px;padding:6px 10px;text-decoration:none;display:inline-flex}.planner .btn:hover{background:var(--accent-wash)}.planner .btn.quiet{border-color:var(--rule);color:var(--fg);font-weight:500}.planner .btn[aria-pressed=true]{background:var(--accent-wash)}.planner .btn:disabled{opacity:.5;cursor:default}.planner .link{font:inherit;color:var(--accent-ink);cursor:pointer;text-underline-offset:2px;text-align:left;background:0 0;border:0;padding:0;text-decoration:underline;text-decoration-thickness:1px}.planner input[type=number],.planner input[type=text],.planner select{font:15px/1.3 var(--sans);font-variant-numeric:tabular-nums;border:1px solid var(--fg-2);background:var(--field-bg);color:var(--fg);border-radius:3px;max-width:100%;padding:5px 7px}.planner input[type=number]{width:7.5em}.planner label.field{border-bottom:1px solid var(--rule);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:4px 10px;padding:6px 0;font-size:14px;display:grid}.planner .num{font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}.planner table.data{margin:6px 0 14px;font-size:13px}.planner table.data td,.planner table.data th{padding:5px 8px 5px 0}.planner .flags{margin:6px 0 12px;padding:0;font-size:13px;list-style:none}.planner .flags li{border-bottom:1px solid var(--rule);padding:5px 0 5px 22px;position:relative}.planner .flags li:before{content:"!";border:1.5px solid var(--fg-2);width:15px;height:15px;font:700 10px/12px var(--sans);text-align:center;color:var(--fg-2);border-radius:50%;position:absolute;top:5px;left:0}.planner .flags li.info:before{content:"i"}.planner .swatch{vertical-align:-1px;border:1px solid #0000001f;width:12px;height:12px;margin-right:6px;display:inline-block}.plan-labels{pointer-events:none;position:absolute;inset:0;overflow:hidden}.plan-label{font:600 12px/1.2 var(--sans);color:var(--fg);background:var(--bg-step);border:1px solid var(--rule);white-space:nowrap;pointer-events:none;padding:2px 6px}.plan-label span{color:var(--fg-2);font-size:11px;font-weight:400;display:block}.plan-label-building{font-size:13px}.plan-canvas{cursor:grab;outline:none;display:block}
