.play-modal-card { max-width: 940px; }
.play-tabs { display:flex; flex-wrap:wrap; gap:8px; margin:0 0 16px; }
.play-tab { border:1px solid #b8c7aa; border-radius:999px; padding:8px 13px; background:#fbfaf6; color:#526a45; cursor:pointer; font-weight:700; }
.play-tab.is-active { background:#667f56; border-color:#667f56; color:#fff; }
.play-summary { margin:0 0 14px; padding:11px 13px; border-radius:13px; background:#eef4e9; color:#485840; line-height:1.6; }
.play-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.play-card { border:1px solid rgba(76,91,60,.18); border-radius:15px; padding:14px; background:#fffdf8; box-shadow:0 3px 12px rgba(52,65,40,.06); }
.play-card h4 { margin:0 0 7px; color:#443b32; }
.play-card p { margin:4px 0; color:#756b60; font-size:.84rem; line-height:1.55; }
.soil-bars { display:grid; gap:6px; margin:10px 0; }
.soil-row { display:grid; grid-template-columns:56px 1fr 36px; align-items:center; gap:7px; font-size:.76rem; color:#665c52; }
.soil-meter { height:8px; background:#e8e3d9; border-radius:999px; overflow:hidden; }
.soil-meter i { display:block; height:100%; border-radius:inherit; background:#75a6bf; }
.soil-row:nth-child(2) .soil-meter i { background:#b78d5d; }
.soil-row:nth-child(3) .soil-meter i { background:#78a668; }
.play-actions { display:flex; flex-wrap:wrap; gap:7px; margin-top:10px; }
.play-btn { border:1px solid #9aae89; border-radius:9px; padding:7px 10px; background:#fff; color:#536d45; cursor:pointer; font-weight:700; }
.play-btn.primary { color:#fff; background:#6b8659; border-color:#6b8659; }
.play-btn:disabled { opacity:.45; cursor:default; }
.play-select { width:100%; border:1px solid #c9c0b5; border-radius:9px; padding:9px; background:#fff; color:#4d443c; }
.expedition-clock { font-size:1.05rem!important; font-weight:700; color:#526d45!important; }
.postcard-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:8px; margin-top:12px; }
.postcard { padding:10px 6px; border-radius:11px; background:#f1eee6; text-align:center; font-size:.76rem; }
.postcard b { display:block; font-size:1.5rem; margin-bottom:3px; }
.bond-track { height:9px; border-radius:999px; background:#e8e5dc; overflow:hidden; margin:9px 0; }
.bond-track i { display:block; height:100%; background:linear-gradient(90deg,#a9c88e,#6f925e); }
.share-builder { display:grid; grid-template-columns:minmax(220px,.8fr) minmax(280px,1.2fr); gap:14px; }
.share-controls { display:grid; gap:10px; align-content:start; }
.share-controls label { display:grid; gap:5px; color:#675d52; font-size:.82rem; font-weight:700; }
.share-preview { min-height:360px; border-radius:20px; padding:24px; display:flex; flex-direction:column; justify-content:space-between; color:#fff; box-shadow:0 10px 28px rgba(45,54,38,.18); position:relative; overflow:hidden; }
.share-preview::before { content:""; position:absolute; inset:auto -20% -28% -20%; height:62%; border-radius:50% 50% 0 0; background:rgba(80,126,65,.75); }
.share-preview > * { position:relative; z-index:1; }
.share-preview h4 { color:#fff; font-size:1.5rem; text-shadow:0 2px 7px rgba(0,0,0,.2); }
.share-flower { font-size:4.5rem; text-align:center; filter:drop-shadow(0 5px 7px rgba(0,0,0,.2)); }
.share-blessing { background:rgba(255,255,255,.86); color:#4d4a40; padding:12px; border-radius:13px; text-align:center; font-weight:700; }
.share-result { margin-top:14px; padding:12px; border-radius:13px; background:#f1f5ed; word-break:break-all; }
.share-result svg { display:block; width:160px; height:160px; margin:10px auto; background:#fff; padding:8px; border-radius:8px; }
.visitor-list { display:flex; flex-wrap:wrap; gap:7px; margin-top:8px; }
.visitor-chip { padding:6px 9px; background:#eef3e9; border-radius:999px; font-size:.76rem; }
@media (max-width:700px) {
  .play-grid,.share-builder { grid-template-columns:1fr; }
  .postcard-grid { grid-template-columns:repeat(2,1fr); }
  .play-modal-card { padding:18px 14px; }
}
