#yard-builder { width:min(1200px,calc(100vw - 32px)); margin:48px 0 44px 50%; transform:translateX(-50%); scroll-margin-top:90px; }
.yard-intro { max-width:720px; margin-bottom:24px; }
.yard-eyebrow { color:var(--muted); font-size:12px; text-transform:uppercase; letter-spacing:.1em; font-weight:700; }
#yard-title { margin:8px 0 12px; font-size:clamp(30px,4vw,40px); }
.yard-intro p { color:var(--muted); margin:0; }
.yard-workspace { display:grid; grid-template-columns:minmax(300px,.8fr) minmax(0,1.2fr); gap:24px; align-items:start; }
.yard-card { background:var(--surface); border:1px solid var(--line); border-radius:16px; padding:24px; min-width:0; }
.yard-card h3 { font-family:"Instrument Serif",Georgia,serif; font-size:27px; font-weight:400; line-height:1.2; margin:0 0 20px; }
.yard-map-card { position:sticky; top:88px; }
.yard-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.yard-wide { grid-column:1/-1; }
#yard-builder input,#yard-builder select { min-width:0; }
#yard-form { scroll-margin-top:90px; }
#yard-builder button { min-height:44px; padding:10px 16px; border:1px solid transparent; border-radius:9px; background:var(--forest); color:var(--on-forest); font-weight:600; cursor:pointer; }
#yard-builder button:disabled { opacity:.5; cursor:default; }
#yard-builder .yard-secondary { background:var(--paper); color:var(--ink); border-color:var(--line); }
#yard-builder .yard-text-button { background:none; color:var(--forest); padding:6px 0; text-align:left; font-size:14px; text-decoration:underline; text-underline-offset:3px; }
.yard-preview { background:var(--paper); border-radius:9px; padding:12px; font-size:15px; margin:16px 0; }
#yard-quality { border-top:1px solid var(--line); padding:14px 0; }
#yard-quality .yard-fields { margin-top:14px; }
.yard-actions { display:flex; gap:8px; flex-wrap:wrap; margin-top:8px; }
#yard-status { font-size:13px; color:var(--muted); margin:16px 0 0; }
.yard-map-heading { display:flex; justify-content:space-between; align-items:center; gap:16px; flex-wrap:wrap; }
.yard-map-heading h3 { margin:0; }
.yard-map-heading>div { max-width:220px; }
#yard-summary { font-size:14px; font-weight:600; }
#yard-map { position:relative; min-height:360px; border:1px dashed var(--line); border-radius:12px; background:var(--paper); margin:16px 0 24px; scroll-margin-top:90px; }
.yard-empty { position:absolute; inset:0; display:grid; place-items:center; padding:24px; color:var(--muted); text-align:center; font-size:15px; }
#yard-builder .yard-bin { position:absolute; transform:translate(-50%,-50%); width:110px; padding:0; border:0; background:transparent; color:var(--ink); display:flex; flex-direction:column; align-items:center; gap:3px; font-size:13px; line-height:1.3; touch-action:none; user-select:none; cursor:grab; overflow-wrap:anywhere; }
.yard-silo { position:relative; display:grid; place-items:center; width:var(--size,64px); height:calc(var(--size,64px)*1.14); border:2px solid var(--muted); border-radius:45% 45% 6px 6px; background:linear-gradient(to top,var(--grain) var(--fill),var(--surface) var(--fill)); color:var(--ink); font-weight:700; }
.yard-silo b { background:var(--surface); border-radius:4px; padding:1px 4px; font-size:12px; }
.yard-bin[aria-pressed="true"] .yard-silo,.yard-bin:focus-visible .yard-silo { outline:3px solid var(--forest); outline-offset:3px; }
.yard-bin.over .yard-silo { border-color:var(--alert); }
.yard-bin small { font-size:11px; color:var(--muted); }
.yard-save-panel { border-top:1px solid var(--line); padding-top:20px; }
.yard-save-panel p { font-size:14px; color:var(--muted); margin:8px 0 16px; }
@media(max-width:900px) { .yard-workspace { grid-template-columns:1fr; } .yard-map-card { position:static; } }
@media(max-width:480px) { .yard-card { padding:18px; } #yard-builder .yard-bin { width:84px; font-size:12px; } .yard-fields { gap:12px; } .yard-map-heading>div { max-width:150px; } #yard-save { width:100%; } }

#yard-builder textarea { display:block; width:100%; padding:10px; border:1px solid var(--line); border-radius:8px; background:var(--paper); color:var(--ink); font:inherit; resize:vertical; }
#yard-selected { border:1px solid var(--line); border-radius:12px; padding:18px; margin:16px 0; background:var(--paper); }
#yard-selected h3 { margin:0 0 8px; }
#yard-selected form { margin-top:16px; }
#yard-selected details { margin-top:12px; font-size:14px; }
#yard-history { padding-left:20px; max-height:230px; overflow:auto; }
#yard-history li { margin-bottom:8px; }
#yard-import-preview { padding:14px; margin-top:16px; border:1px solid var(--line); border-radius:9px; }
#yard-import-preview p { font-size:14px; }
.yard-capacity-link { font-size:14px; display:inline-block; padding:8px 0; }

.yard-map-card.has-selection { position:static; }
