.garden-planner{position:relative;color:var(--colour-ink);font:var(--type-control) / 1.5 var(--font-ui);min-width:0}.garden-planner *,.garden-planner *:before,.garden-planner *:after{box-sizing:border-box}.garden-planner [hidden]{display:none!important}.garden-planner button,.garden-planner input,.garden-planner textarea,.garden-planner select{font:inherit;color:inherit}.garden-planner button{min-height:var(--layout-touch-target);border:1px solid var(--colour-control-border);border-radius:var(--radius-control);padding:var(--space-2) var(--space-3);background:var(--colour-surface);box-shadow:none;cursor:pointer;white-space:normal}.garden-planner button:hover:not(:disabled){background:var(--colour-surface-soft)}.garden-planner button:disabled{opacity:.45;cursor:not-allowed}.garden-planner button[aria-pressed=true],.garden-planner button.planner-primary{background:var(--colour-primary);color:var(--colour-primary-text);border-color:var(--colour-primary)}.garden-planner :is(button,input,textarea,select,summary,canvas):focus-visible{outline:3px solid var(--colour-focus);outline-offset:3px}.garden-planner h3{font:normal var(--type-h3) / 1.3 var(--font-display);margin:0 0 var(--space-3);color:var(--colour-ink)}.garden-planner h4{font:600 var(--type-control) / 1.4 var(--font-ui);margin:0 0 var(--space-2)}.garden-planner p{margin:0 0 var(--space-3);color:var(--colour-muted)}.planner-tools{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2) var(--space-4);padding:var(--space-3) 0;border-block:1px solid var(--colour-border)}.planner-tool-group{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-1)}.planner-tools button{font-size:var(--type-control)}.planner-tools .planner-check{display:flex;align-items:center;gap:var(--space-2);min-height:var(--layout-touch-target);padding-inline:var(--space-2);font-size:var(--type-caption)}.planner-tools input[type=checkbox]{width:18px;height:18px;accent-color:var(--colour-primary);margin:0}.planner-view-options{position:relative}.planner-view-options>summary{display:none;min-height:var(--layout-touch-target);border:1px solid var(--colour-control-border);border-radius:var(--radius-control);padding:var(--space-2) var(--space-3);background:var(--colour-surface);cursor:pointer;align-items:center}.planner-activity{display:flex;justify-content:space-between;gap:var(--space-4);font-size:var(--type-caption);color:var(--colour-muted);padding-block:var(--space-3)}.planner-activity span:first-child{font-weight:600}.planner-workspace{display:grid;grid-template-columns:minmax(0,1fr) var(--layout-inspector);gap:var(--space-4);align-items:start}.planner-canvas-panel{min-width:0;border:1px solid var(--colour-border);border-radius:var(--radius-control);background:var(--colour-canvas);overflow:hidden}.planner-canvas-wrap{position:relative;height:560px;min-height:320px}.garden-planner .planner-canvas{display:block;width:100%;height:100%;touch-action:none;user-select:none;background:var(--colour-canvas)}.garden-planner .planner-canvas-help{border-top:1px solid var(--colour-border);background:var(--colour-surface);margin:0;padding:var(--space-2) var(--space-3);font-size:var(--type-caption)}.planner-inspector{min-width:0;background:var(--colour-surface);border-left:1px solid var(--colour-border);max-height:610px;overflow:auto}.planner-inspector>summary{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-4) var(--space-5);cursor:pointer;list-style:none}.planner-inspector>summary::-webkit-details-marker{display:none}.planner-inspector>summary strong{display:block;font:normal var(--type-h2) / 1.3 var(--font-display);overflow-wrap:anywhere}.planner-inspector>summary small{display:block;color:var(--colour-muted);font-size:var(--type-caption);margin-top:var(--space-2)}.planner-inspector>summary .planner-disclosure-label{display:none}.planner-inspector-content{padding:0 var(--space-5) var(--space-5)}.planner-type-badge{display:inline-flex;background:var(--colour-surface-soft);border-radius:var(--radius-control);padding:var(--space-1) var(--space-2);font-size:var(--type-caption);margin-bottom:var(--space-4);text-transform:capitalize}.planner-field{display:flex;flex-direction:column;gap:var(--space-1);margin-block:var(--space-3);min-width:0}.planner-field>span{font-weight:600;font-size:var(--type-caption)}.garden-planner .planner-field :is(input,select,textarea){display:block;width:100%;max-width:100%;min-width:0;min-height:var(--layout-touch-target);border:1px solid var(--colour-control-border);border-radius:var(--radius-control);padding:var(--space-2) var(--space-3);background:var(--colour-surface);box-shadow:none}.garden-planner .planner-field textarea{resize:vertical}.garden-planner .planner-field :disabled{color:var(--colour-muted);background:var(--colour-canvas)}.planner-fields{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--space-3)}.planner-fields .planner-field{margin-top:var(--space-1)}.planner-inspector fieldset{border:0;padding:0;margin:var(--space-4) 0 0;min-width:0}.planner-inspector legend{padding:0;font-weight:600}.planner-rotation-presets{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-1)}.planner-rotation-presets button{padding-inline:var(--space-1)}.planner-object-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-2);margin-top:var(--space-4)}.garden-planner .planner-danger{color:var(--colour-error)}.planner-inspector-content>details{border-block-start:1px solid var(--colour-border);margin-block:var(--space-4);padding-top:var(--space-3)}.planner-inspector-content>details>summary{cursor:pointer;min-height:var(--layout-touch-target);font-weight:600}.planner-plant-list article{padding-block:var(--space-2);border-bottom:1px solid var(--colour-border);overflow-wrap:anywhere}.planner-plant-list p,.planner-shortcuts p,.planner-boundary p{font-size:var(--type-caption)}.planner-inspector-content>button.planner-primary{width:100%}.planner-inspector hr{border:0;border-top:1px solid var(--colour-border);margin-block:var(--space-5)}.planner-hint{font-size:var(--type-caption)}.planner-legend{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2) var(--space-4);padding-block:var(--space-3);font-size:var(--type-caption);color:var(--colour-muted)}.planner-legend span{display:flex;align-items:center;gap:var(--space-2)}.planner-legend i{display:inline-block;width:16px;height:12px}.planner-legend-recorded{border:2px solid var(--colour-primary)}.planner-legend-selected{border:2px dashed var(--colour-focus)}.planner-object-disclosure{border-top:1px solid var(--colour-border);padding-block:var(--space-2)}.planner-object-disclosure>summary{display:list-item;cursor:pointer;padding-block:var(--space-2);min-height:var(--layout-touch-target);font-weight:600}.planner-object-disclosure>summary span{color:var(--colour-muted);font-weight:400}.planner-object-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:var(--space-2);padding-block:var(--space-2)}.planner-object-list button{display:flex;flex-direction:column;align-items:stretch;gap:var(--space-1);text-align:left;min-width:0}.planner-object-list button>span{display:flex;align-items:center;gap:var(--space-2)}.planner-object-list strong{overflow-wrap:anywhere}.planner-object-list svg{width:22px;height:22px;flex:none}.planner-object-list small{font-size:var(--type-caption)}.planner-status{display:flex;flex-wrap:wrap;justify-content:space-between;gap:var(--space-2);font:var(--type-caption) / 1.5 var(--font-data);color:var(--colour-muted);padding-block:var(--space-2);border-top:1px solid var(--colour-border)}.planner-palette{border:1px solid var(--colour-border);border-radius:var(--radius-surface);padding:var(--space-5);background:var(--colour-surface);margin-top:var(--space-3)}.planner-palette-heading{display:flex;gap:var(--space-4);align-items:flex-start;justify-content:space-between;margin-bottom:var(--space-3)}.planner-palette-heading h3{margin-bottom:var(--space-1)}.planner-palette-heading button{flex:none}.planner-palette section+section{margin-top:var(--space-4)}.planner-palette-items{display:grid;grid-template-columns:repeat(auto-fit,minmax(112px,1fr));gap:var(--space-2)}.planner-palette-items button{display:flex;align-items:center;gap:var(--space-2);text-align:left;min-width:0;font-size:var(--type-caption)}.planner-palette-items svg{width:28px;height:28px;flex:none}.planner-error{padding:var(--space-4);background:var(--colour-error-bg);color:var(--colour-error)!important;border-left:3px solid var(--colour-error)}.planner-context-menu{position:absolute;z-index:var(--z-sheet);display:flex;flex-direction:column;gap:var(--space-1);width:192px;padding:var(--space-2);background:var(--colour-surface);box-shadow:var(--shadow-overlay);border:1px solid var(--colour-border);border-radius:var(--radius-control)}.planner-context-menu strong{padding:var(--space-2);overflow-wrap:anywhere}.planner-context-menu button{text-align:left;border-color:transparent}.planner-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.garden-view-controls{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-4);padding-block:var(--space-4)}.garden-view-controls .segmented,.planner-harness .segmented{display:inline-flex;gap:var(--space-1);padding:var(--space-1);border-radius:var(--radius-control);background:var(--colour-surface-soft)}.garden-view-controls .segmented button,.planner-harness .segmented button{min-height:var(--layout-touch-target);border:0;border-radius:var(--radius-control);padding:var(--space-2) var(--space-4);background:transparent;color:var(--colour-ink);font:var(--type-control) var(--font-ui);cursor:pointer}.garden-view-controls .segmented button[aria-pressed=true],.planner-harness .segmented button[aria-pressed=true]{background:var(--colour-primary);color:var(--colour-primary-text)}.planner-harness{margin:0;padding:var(--space-5);background:var(--colour-canvas);color:var(--colour-ink);font:var(--type-body) / 1.5 var(--font-ui)}.planner-harness header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-4);padding-bottom:var(--space-5)}.planner-harness h1{font:normal var(--type-h1) / 1.3 var(--font-display);margin:0}.planner-harness header p{color:var(--colour-muted);margin:var(--space-2) 0 0}.planner-harness main{max-width:var(--layout-content-max);margin:auto}.planner-harness .harness-3d{display:block;width:100%;height:70vh;min-height:320px;border:1px solid var(--colour-border);border-radius:var(--radius-surface)}.planner-plant-dialog{width:min(480px,calc(100% - var(--space-6)));padding:var(--space-5);border:1px solid var(--colour-border);border-radius:var(--radius-surface);box-shadow:var(--shadow-overlay);background:var(--colour-surface);color:var(--colour-ink);font:var(--type-body) / 1.5 var(--font-ui)}.planner-plant-dialog::backdrop{background:color-mix(in srgb,var(--colour-ink) 45%,transparent)}.planner-plant-dialog h2{font:normal var(--type-h2) / 1.3 var(--font-display);margin-top:0}.planner-plant-dialog p{color:var(--colour-muted);font-size:var(--type-control)}.planner-plant-dialog label{display:flex;flex-direction:column;gap:var(--space-2);margin-block:var(--space-4)}.planner-plant-dialog :is(input,select,button){min-height:var(--layout-touch-target);max-width:100%;min-width:0;border:1px solid var(--colour-control-border);border-radius:var(--radius-control);padding:var(--space-2);font:inherit;background:var(--colour-surface);color:var(--colour-ink)}.planner-plant-dialog form>div{display:flex;justify-content:flex-end;gap:var(--space-2)}.planner-plant-dialog button[type=submit]{background:var(--colour-primary);color:var(--colour-primary-text);border-color:var(--colour-primary)}@media(min-width:768px)and (max-width:1099px){.planner-workspace{grid-template-columns:minmax(0,1fr)}.planner-inspector{max-height:none;border:1px solid var(--colour-border);border-radius:var(--radius-control)}.planner-inspector-content{display:block;max-width:640px}.planner-inspector>summary .planner-disclosure-label{display:inline;font-size:var(--type-caption)}}@media(max-width:767px){.planner-workspace{grid-template-columns:minmax(0,1fr);gap:var(--space-3)}.planner-tools{position:relative;gap:var(--space-2)}.planner-tools .planner-tool-group{gap:var(--space-1)}.planner-tools button{padding-inline:var(--space-2);font-size:var(--type-caption)}.planner-view-options>summary{display:flex;font-size:var(--type-caption)}.planner-view-options{position:static}.planner-view-options>summary:after{content:" +";padding-left:var(--space-2)}.planner-view-options[open]>summary:after{content:" −"}.planner-view-options[open]>.planner-tool-group{position:absolute;top:calc(100% + var(--space-1));inset-inline:0;z-index:var(--z-sheet);padding:var(--space-3);background:var(--colour-surface);border:1px solid var(--colour-border);border-radius:var(--radius-control);box-shadow:var(--shadow-raised)}.planner-activity{flex-direction:column;gap:var(--space-1)}.planner-canvas-wrap{height:380px}.planner-inspector{max-height:none;border:1px solid var(--colour-border);border-radius:var(--radius-control)}.planner-inspector>summary{padding:var(--space-4)}.planner-inspector>summary strong{font-size:var(--type-h3)}.planner-inspector>summary .planner-disclosure-label{display:inline;font-size:var(--type-caption)}.planner-inspector[open]>summary .planner-disclosure-label:after{content:" −"}.planner-inspector:not([open])>summary .planner-disclosure-label:after{content:" +"}.planner-inspector-content{padding:0 var(--space-4) var(--space-4)}.planner-palette{padding:var(--space-4)}.planner-palette-items{grid-template-columns:repeat(2,minmax(0,1fr))}.planner-legend>span:last-child{flex-basis:100%}.planner-harness{padding:var(--space-4)}.planner-harness h1{font-size:var(--type-h1-mobile)}.garden-view-controls .segmented{display:flex;width:100%}.garden-view-controls .segmented button{flex:1}}.garden-planner button[data-action=undo],.garden-planner button[data-action=redo]{min-width:var(--layout-touch-target);min-height:var(--layout-touch-target)}@media(max-width:767px){.planner-tools{flex-wrap:nowrap;overflow-x:auto;padding-block:var(--space-2)}.planner-tools>.planner-tool-group{flex-wrap:nowrap;flex-shrink:0}.planner-tools button{white-space:nowrap}.planner-view-options{flex-shrink:0}.planner-view-options[open]{position:static}.planner-view-options[open]>.planner-tool-group{position:fixed;top:auto;inset-inline:var(--space-4);margin-top:var(--space-2)}.planner-activity{padding-block:var(--space-1)}.planner-activity>span:last-child{display:none}.planner-canvas-wrap{height:500px}}
