/* A Little Company v3. Keep characters in flow; decorate only named sparkles. */
.company-quest-panel{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 22px;margin-bottom:20px}
.company-quest-panel>div{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.company-quest-panel>div:first-child{display:grid;gap:4px}
.company-quest-panel small{color:var(--muted,#7c8e88)}
.company-scene{display:grid;gap:14px;min-width:0;text-align:left}
.company-stage{position:relative;isolation:isolate;overflow:hidden;display:grid;grid-template-columns:136px minmax(0,1fr);align-items:center;gap:20px;padding:14px 26px;border:1px solid #dce6dc;border-radius:20px;background:radial-gradient(ellipse at 18% 75%,#fffbe6,transparent 54%),linear-gradient(120deg,#e6eeec,#f4f8ef 62%,#e7efdc)}
.company-stage::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(115deg,transparent 30%,#ffffff82 30%,#ffffff00 40%,transparent 53%,#ffffff70 54%,#ffffff00 61%)}
.company-portrait{position:relative;isolation:isolate;display:block;width:136px;height:136px;max-width:100%;margin:0}
.company-portrait>.creature-portrait{display:block;position:relative;width:100%;height:100%;aspect-ratio:1;margin:0}
.company-sparkle{position:absolute;pointer-events:none;font-style:normal;color:#9eaf9a;left:2%;top:24%;font-size:18px;animation:company-sparkle 1300ms ease-in-out 2 both}
.company-sparkle:nth-of-type(2){left:89%;top:48%;font-size:12px;animation-delay:200ms}
.company-sparkle:nth-of-type(3){left:14%;top:82%;font-size:10px;animation-delay:400ms}
.company-speaker{min-width:0}
.company-speaker .quest-kicker{display:block;letter-spacing:.09em}
.company-scene .company-speaker h3{font-size:25px;line-height:1.2;margin:7px 0 4px}
.company-speaker>span:last-child{font-size:13px;line-height:1.5;color:#657c70}
.company-scene>.quest-dialogue{margin:0}
.company-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.company-choices button{white-space:normal;min-height:46px}
.company-choices>button:only-child{grid-column:1/-1;justify-self:end;min-width:160px}
.company-celebrate .company-portrait{animation:company-hop 850ms ease-in-out 2}
.company-playdate-cost{font-size:13px;color:var(--muted,#7c8e88);text-align:center;margin:0}

/* An independent invitation before the multi-row pet grid. No grid-row overrides. */
.company-playdate-card{display:grid;grid-template-columns:106px minmax(0,1fr) auto;gap:18px;align-items:center;min-width:0;padding:12px 22px 12px 12px;margin:0 0 18px;border:1px solid #d8e1d4;border-radius:18px;background:radial-gradient(ellipse at left,#f3f4e3,transparent 55%),linear-gradient(110deg,#f1f6f0,#fffdf5);text-align:left;overflow:hidden}
.company-visitor-art{width:106px;height:106px;position:relative;background:radial-gradient(ellipse at 50% 70%,#dbe7d780,transparent 68%);border-radius:50%}
.company-visitor-art>.creature-portrait{display:block;position:relative;width:100%;height:100%;margin:0}
.company-visitor-copy{min-width:0}
.company-visitor-copy .quest-kicker{font-size:11px;line-height:1.5;display:block;letter-spacing:.06em}
.company-playdate-card h3{font-size:22px;line-height:1.2;margin:5px 0}
.company-playdate-card p{font-size:14px;line-height:1.5;margin:0;color:#687d71}
.company-visitor-action{min-width:0}
.company-visitor-action .button{min-height:44px;white-space:normal}

.company-encounter{display:block;overflow:hidden;min-width:0;margin:22px 0 0;border:1px solid #d5e2ce;border-radius:18px;background:#f7faf2;text-align:left;box-shadow:0 5px 20px #243e2710}
.company-encounter-art{position:relative;isolation:isolate;overflow:hidden;aspect-ratio:3/1;background:#234936}
.company-encounter-art>img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.company-encounter-art::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(115deg,transparent 25%,#fff4bf38 48%,transparent 66%);animation:company-light 1800ms ease-out both}
.company-encounter-copy{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:5px 18px;align-items:center;padding:18px 20px}
.company-encounter-copy .quest-kicker{grid-column:1;font-size:11px;letter-spacing:.09em;color:#627a53}
.company-encounter-copy h4{grid-column:1;font-size:19px;line-height:1.3;margin:0;color:var(--ink,#284540)}
.trip-return .company-encounter-copy p,.company-encounter-copy p{grid-column:1;font-size:14px;line-height:1.6;margin:2px 0 0;max-width:38em;color:#657566}
.company-encounter-copy .button{grid-column:2;grid-row:1/span 3;min-height:46px;white-space:normal;max-width:190px}
.company-parcel-art{display:grid;place-items:center;min-height:100px;background:radial-gradient(ellipse,#f9edcd,#edf4e9)}
.company-parcel-art>.icon{width:48px;height:48px;color:#9c865a}

/* Shared typewriter dialogue, including the existing Meadow flower quest. */
.quest-dialogue{font:inherit;color:inherit;text-align:left;width:100%;display:block;border:1px solid #cfddd8;border-radius:16px;background:linear-gradient(145deg,#fcfefc,#f4f8f5);padding:17px 20px;margin:14px 0;cursor:pointer;line-height:1.6;box-shadow:inset 0 0 0 3px #fff}
.quest-dialogue:focus-visible{outline:2px solid #6b9d85;outline-offset:3px}
.quest-dialogue-stack{display:grid;min-height:3.2em}
.quest-dialogue-stack>span{grid-area:1/1;white-space:pre-wrap;overflow-wrap:anywhere}
.quest-dialogue-measure{visibility:hidden;pointer-events:none}
.quest-dialogue-hint{display:block;min-height:1.4em;text-align:right;font-size:11px;letter-spacing:.02em;color:#749582;margin-top:8px}
.quest-dialogue.is-finished{cursor:default}
.quest-dialogue-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.company-scene [hidden],.quest-reveal [hidden],.quest-complete [hidden],.modal-footer[hidden]{display:none!important}
@keyframes company-sparkle{0%,100%{opacity:.25;transform:scale(.85)}50%{opacity:.9;transform:scale(1.1)}}
@keyframes company-light{from{opacity:0;transform:translateX(-18%)}to{opacity:1;transform:none}}
@keyframes company-hop{0%,100%{transform:translateY(0) rotate(0)}35%{transform:translateY(-9px) rotate(-3deg)}65%{transform:translateY(-3px) rotate(3deg)}}
@media(max-width:760px){
 .company-playdate-card{grid-template-columns:90px minmax(0,1fr);gap:5px 14px;padding:12px 16px 14px 10px}
 .company-visitor-art{grid-column:1;grid-row:1/span 2;width:90px;height:90px}
 .company-visitor-copy{grid-column:2}
 .company-visitor-action{grid-column:2}
 .company-visitor-action .button{font-size:13px;padding:9px 14px;margin-top:5px}
 .company-encounter-copy{grid-template-columns:minmax(0,1fr);padding:15px 17px;gap:6px}
 .company-encounter-copy .button{grid-column:1;grid-row:auto;justify-self:start;max-width:none;margin-top:6px}
}
@media(max-width:600px){
 .company-quest-panel{padding:15px;align-items:flex-start;flex-direction:column;gap:12px}
 .company-quest-panel>div:last-child{width:100%}
 .company-quest-panel button{flex:1}
 .company-stage{grid-template-columns:96px minmax(0,1fr);gap:12px;padding:12px;border-radius:16px}
 .company-portrait{width:96px;height:96px}
 .company-scene .company-speaker h3{font-size:23px;margin:5px 0 3px}
 .company-speaker>span:last-child{font-size:12px}
 .quest-dialogue{padding:14px 16px}
 .company-choices{gap:8px}
 .company-choices>button:only-child{justify-self:stretch;min-width:0}
 .company-encounter{margin-top:18px}
 .company-encounter-art{aspect-ratio:2.5/1}
}
@media(prefers-reduced-motion:reduce){.company-sparkle,.company-encounter-art::after,.company-celebrate .company-portrait{animation:none}}
