/* v5.39 — School friends lead the way. The student's own pet stays interactive. */
.dashboard .party-welcome{position:relative;isolation:isolate;overflow:hidden;display:grid;grid-template-columns:minmax(280px,.9fr) minmax(350px,1.4fr) minmax(190px,.48fr);gap:0;min-height:320px;padding:0;border:2px solid #e4c88f;border-radius:28px;background:radial-gradient(ellipse at 5% 0,#fff9df,transparent 55%),linear-gradient(115deg,#fff1dd,#ebf8ff 50%,#ede9ff);box-shadow:0 8px 0 #a596c63b,0 16px 36px #19204d30,inset 0 1px #fff;color:#283456}
.dashboard .party-welcome::before{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(circle at 8% 15%,#ffe2a6aa 0 2px,transparent 3px),radial-gradient(circle at 93% 13%,#fff7d5 0 3px,transparent 4px),radial-gradient(circle at 98% 71%,#a7ddef 0 3px,transparent 4px)}
.dashboard .party-welcome>.welcome-copy{padding:28px clamp(22px,2.4vw,42px);min-width:0;align-self:center}
.dashboard .party-welcome .eyebrow{display:inline-block;color:#775696;background:#f1e5f7b3;border:1px solid #d6b9e3;padding:6px 10px;border-radius:8px;font-size:10px;letter-spacing:1.5px;margin:0 0 13px}
.dashboard .party-welcome h2{font:clamp(29px,2.5vw,43px)/1.14 var(--quest-display);color:#344671;text-shadow:none;letter-spacing:-.2px;max-width:none}
.dashboard .party-welcome h2 span{color:#8458bd;text-shadow:0 2px #fff9}
.dashboard .party-welcome #welcomeLine{font-size:15px;color:#5b6383;line-height:1.5;margin:12px 0}
.dashboard .party-welcome .level-row{display:grid;grid-template-columns:auto minmax(55px,1fr);gap:8px 12px;width:100%;max-width:540px;margin:16px 0;background:#fffdf8ba;border:1px solid #cec3e177;border-radius:12px;padding:10px 12px;color:#615883;font-size:12px}
.dashboard .party-welcome .level-row>span:last-child{grid-column:1/-1;text-align:right;font-size:11px;color:#706b88}
.dashboard .party-welcome .xp-bar{height:9px;background:#dfdcef;border:0;box-shadow:inset 0 1px 2px #4e4a651f}
.dashboard .party-welcome .xp-bar>i{background:linear-gradient(90deg,#ae79eb,#6f8def,#60d0da);box-shadow:0 0 8px #9acde773}
.dashboard .party-welcome .welcome-explore{position:relative;display:inline-flex;align-items:center;justify-content:space-between;gap:18px;min-height:48px;width:min(100%,280px);padding:10px 15px;border:1px solid #b69bdd;border-radius:14px;color:#fffaf1;background:linear-gradient(110deg,#8060c8,#6467c6);box-shadow:inset 0 1px #eedbff88,0 4px 0 #51418a,0 6px 14px #8572b633;text-decoration:none;font-size:14px;font-weight:900;transition:transform .18s,box-shadow .18s}
.dashboard .party-welcome .welcome-explore>b{display:grid;place-items:center;width:28px;height:28px;background:#ffffff20;border:1px solid #f5d6ff66;border-radius:9px;color:#ffebad;font-size:20px}
.dashboard .party-welcome .welcome-explore:hover{transform:translateY(-2px);box-shadow:inset 0 1px #eedbff88,0 6px 0 #51418a,0 8px 22px #8572b64d}
.dashboard .party-welcome .welcome-explore:focus-visible{outline:3px solid #b677df;outline-offset:4px}
.dashboard .party-welcome .welcome-school-party{position:relative;align-self:stretch;min-width:0;height:clamp(320px,22vw,420px);margin:0;overflow:hidden;background:#d5f0ed;isolation:isolate}
.dashboard .party-welcome .welcome-school-party>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;display:block}
.dashboard .party-welcome .welcome-school-party::after{content:'';position:absolute;inset:0;pointer-events:none;box-shadow:inset 1px 0 #fff8,inset -1px 0 #fff8;background:linear-gradient(0deg,#304a745e,transparent 32%)}
.dashboard .party-welcome figcaption{position:absolute;z-index:2;left:50%;bottom:12px;transform:translateX(-50%);max-width:94%;width:max-content;display:flex;align-items:center;gap:7px;padding:7px 14px;border-radius:20px;border:1px solid #ffedbfa3;background:#34446be0;color:#fff6d9;font:14px var(--quest-display);box-shadow:0 4px 12px #21365133;text-align:center}
.dashboard .party-welcome figcaption>span{color:#ffe8a2;font-size:18px}
.dashboard .party-welcome #petStage{width:100%;min-width:0;height:auto;min-height:280px;padding:14px 12px 14px;align-self:stretch;background:radial-gradient(ellipse at 50% 35%,#fff8e6dd,transparent 58%),linear-gradient(145deg,#e0f7fa88,#e8dbff8c)}
.dashboard .party-welcome .companion-play{gap:6px}
.dashboard .party-welcome .companion-play::before{content:'YOUR MAGIC PARTNER';font-size:9px;font-weight:900;letter-spacing:1.4px;color:#77628c;align-self:start}
.dashboard .party-welcome .companion-play-pet{width:min(100%,210px);height:200px}
.dashboard .party-welcome .companion-play-ring{width:min(90%,215px);height:auto;aspect-ratio:1;top:14%;border:1px solid #c0a6e4;background:radial-gradient(circle,#faf9ffe3,#c1e7ff66 50%,#ccb4f13b 70%);box-shadow:0 0 0 8px #fffeef5c,0 0 24px #a7ccea73,inset 0 0 20px #fff6}
.dashboard .party-welcome .companion-play-ring::after{color:#e3ae42;text-shadow:0 0 9px #fff7a8}
.dashboard .party-welcome .companion-play-message{min-height:0;padding:8px 10px;border:1px solid #bdb0dd;border-radius:13px;background:#fffcf2d9;color:#615583;font-size:12px;box-shadow:0 3px 0 #c8b9e138}
.dashboard .party-welcome .companion-play-hint{font-size:10px;color:#766f90;text-align:center;margin:0}
#learningWorlds{scroll-margin-top:110px}
.world-portals .integrated-portal-art{object-position:50% 50%}
@media (min-width:1800px){.dashboard .party-welcome{grid-template-columns:minmax(350px,.9fr) minmax(500px,1.5fr) minmax(210px,.4fr)}}
@media (max-width:1199px){
 .dashboard .party-welcome{grid-template-columns:minmax(0,.95fr) minmax(0,1.25fr);min-height:0}
 .dashboard .party-welcome>.welcome-copy{padding:25px;grid-column:1;grid-row:1}
 .dashboard .party-welcome .welcome-school-party{grid-column:2;grid-row:1;min-height:0;height:auto;aspect-ratio:2;align-self:center;border-radius:18px}
 .dashboard .party-welcome #petStage{grid-column:1/-1;min-height:120px;padding:10px 24px;border-top:1px solid #c2b5df66}
 .dashboard .party-welcome .companion-play{display:grid;grid-template-columns:minmax(180px,1fr) 120px minmax(180px,1fr);gap:0 20px;min-height:108px;align-items:center;justify-items:center}
 .dashboard .party-welcome .companion-play::before{grid-column:1;grid-row:1/3;align-self:center;font-size:12px;letter-spacing:2px}
 .dashboard .party-welcome .companion-play-pet{grid-column:2;grid-row:1/3;width:120px;height:108px}
 .dashboard .party-welcome .companion-play-ring{left:50%;top:0;width:110px;max-height:110px}
 .dashboard .party-welcome .companion-play-message{grid-column:3;grid-row:1;align-self:end;font-size:13px}
 .dashboard .party-welcome .companion-play-hint{grid-column:3;grid-row:2;align-self:start;padding-top:6px}
}
@media (max-width:700px){
 .dashboard .party-welcome{grid-template-columns:minmax(0,1fr);border-radius:22px}
 .dashboard .party-welcome>.welcome-copy{grid-column:1;grid-row:1;padding:23px 22px}
 .dashboard .party-welcome h2{font-size:32px}
 .dashboard .party-welcome #welcomeLine{font-size:14px;margin:10px 0}
 .dashboard .party-welcome .level-row{max-width:none;margin:14px 0}
 .dashboard .party-welcome .welcome-explore{max-width:100%;width:100%;min-height:47px}
 .dashboard .party-welcome .welcome-school-party{grid-column:1;grid-row:2;height:auto;min-height:0;aspect-ratio:2}
 .dashboard .party-welcome figcaption{bottom:9px;padding:5px 11px;font-size:11px}
 .dashboard .party-welcome figcaption>span{font-size:14px}
 .dashboard .party-welcome #petStage{grid-column:1;grid-row:3;padding:12px 16px;min-height:115px}
 .dashboard .party-welcome .companion-play{grid-template-columns:105px minmax(0,1fr);gap:4px 12px;min-height:100px;justify-items:start}
 .dashboard .party-welcome .companion-play::before{grid-column:2;grid-row:1;font-size:9px;align-self:end;letter-spacing:1px}
 .dashboard .party-welcome .companion-play-pet{grid-column:1;grid-row:1/4;width:105px;height:108px}
 .dashboard .party-welcome .companion-play-ring{left:52px;top:3px;width:95px}
 .dashboard .party-welcome .companion-play-message{grid-column:2;grid-row:2;font-size:12px;align-self:center}
 .dashboard .party-welcome .companion-play-hint{grid-column:2;grid-row:3;font-size:10px;align-self:start;padding:0}
}
@media (prefers-reduced-motion: reduce){.dashboard .party-welcome .welcome-explore{transition:none}}
