.neighbor-section{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:22px 0 10px}.neighbor-section h3{margin:0}.neighbor-section small{font-size:12px;text-align:right;color:#6f8069}.neighbor-section h3 span{font-size:13px;color:#799079}.neighbor-row .friend-avatar{background:transparent!important;width:58px;height:64px;flex:0 0 58px}.neighbor-row .friend-avatar .crop-icon{width:58px;height:64px}.neighbor-row h3{overflow-wrap:anywhere}.neighbor-badge{font:700 10px system-ui;letter-spacing:.08em;color:#658266;margin-left:5px}.neighbor-join{display:grid;grid-template-columns:1fr auto;gap:10px 14px;margin:12px 0;padding:16px 18px;background:#edf3e8;border-radius:16px}.neighbor-join>div{grid-column:1/-1}.neighbor-join strong{color:#466344}.neighbor-join p{font-size:13px;margin:5px 0 2px;line-height:1.5}.neighbor-join label{display:grid;gap:4px;font-size:12px}.neighbor-join input,.neighbor-search input{min-width:0;width:100%;border:1px solid #aabb9b;border-radius:8px;background:#fffef8;padding:9px 12px;color:#34503b;font:inherit}.neighbor-join .primary{align-self:end;margin:0;width:150px;height:44px;min-height:44px}.neighbor-membership{padding:12px 15px;display:flex;align-items:center;gap:14px;border-radius:12px;background:#edf3e8;font-size:13px;color:#456747}.neighbor-search{display:flex;gap:8px;margin:0 0 12px}.neighbor-search input{flex:1}.neighbor-error{font-size:13px;color:#94553f}.neighbor-row .secondary{flex-shrink:0}.neighbor-search .secondary{min-width:64px}
.sowing-bar{position:absolute;z-index:15;bottom:22px;left:50%;transform:translateX(-50%);width:min(620px,calc(100% - 280px));display:flex;align-items:center;gap:12px;padding:12px 18px;background:linear-gradient(#fffef7,#edf3e4);border:2px solid #9ca575;border-radius:20px;box-shadow:0 4px 14px #213e3d33;color:#37583a}.sowing-bar[hidden]{display:none}.sowing-bar>div{flex:1;min-width:0}.sowing-bar strong,.sowing-bar small{display:block}.sowing-bar strong{font-size:15px}.sowing-bar small{font-size:12px;margin-top:4px}.sowing-bar button{font:700 12px inherit;padding:8px 14px;min-height:40px;border:1px solid #92aa7b;border-radius:12px;background:#fafdf3;color:#3d613c;cursor:pointer}.sowing-bar .sowing-done{background:#3b7754;color:white}.sowing .plot.empty .plot-hit{fill:#c7ffdd28;stroke:#d4ffeab0;stroke-width:3;stroke-dasharray:8 6}.plot.sowing-pending{opacity:.7;pointer-events:none}.sowing .session-goal{display:none}.sowing .plot.empty{cursor:crosshair}.sowing .plant-hint{fill:#f2ffe8;font-size:30px}.sow-pop{transform-box:fill-box;transform-origin:center bottom;animation:sow-pop .27s ease-out}@keyframes sow-pop{0%{opacity:.25;scale:.65}70%{scale:1.1}100%{opacity:1;scale:1}}@media(prefers-reduced-motion:reduce){.sow-pop{animation:none}}
@media(max-height:520px){.sowing-bar{bottom:9px;padding:7px 12px;gap:7px;width:min(550px,calc(100% - 210px));border-radius:14px}.sowing-bar strong{font-size:12px}.sowing-bar small{font-size:10px}.sowing-bar button{font-size:11px;padding:5px 9px;min-height:34px}.neighbor-join{padding:10px 14px;margin:8px 0;gap:7px}.neighbor-section{margin-top:14px}.neighbor-join p{font-size:12px}}
@media(orientation:portrait) and (max-width:760px){.sowing-bar{bottom:9px;width:calc(100% - 210px);padding:7px 12px;gap:7px;border-radius:14px}.sowing-bar strong{font-size:12px}.sowing-bar small{font-size:10px}.sowing-bar button{font-size:11px;padding:5px 9px;min-height:34px}}

/* Reuse generated UI frame artwork for new controls. */
.sowing-bar,.neighbor-join,.neighbor-membership{background:none;border:8px solid transparent;border-image:var(--ui-slot) 210 fill/17px stretch;box-shadow:none;border-radius:0}
.sowing-bar button{font-family:inherit}.sowing-bar button:active{transform:scale(.96)}
.play-screen:has(dialog[open]) .sowing-bar{visibility:hidden}

button[data-request-pending]{opacity:.65;cursor:progress}
