/* Event scenes only. Existing battle HUD and sprite dimensions remain untouched. */
#starter-overlay{padding:0;overflow:hidden;background:#b9d3dd;backdrop-filter:none}
.lab-room{position:relative;width:100vw;height:100dvh;overflow:hidden;color:#263643;isolation:isolate;background:repeating-linear-gradient(90deg,transparent 0,transparent 95px,#a5becb66 96px,#a5becb66 99px),repeating-linear-gradient(0deg,#c8dce4 0,#c8dce4 95px,#aec6d266 96px,#aec6d266 99px)}
.lab-floor{position:absolute;inset:61% 0 0;border-top:12px solid #9db8c6;background:repeating-linear-gradient(0deg,#91b9d6 0,#91b9d6 26px,#87accc 27px,#87accc 31px);box-shadow:inset 0 12px #7795b888;z-index:-1}
.lab-window{position:absolute;width:22%;height:34%;top:8%;left:39%;border:12px solid #f4f5e9;border-radius:10px;box-shadow:0 7px #9fb1b7,inset 0 0 0 5px #d5caaa;background:linear-gradient(90deg,transparent 48%,#f4efdd 48%,#f4efdd 52%,transparent 52%),linear-gradient(#eedaba,#f8e8b2);z-index:-1}
.lab-bookcase{position:absolute;width:14%;height:38%;top:10%;border:10px solid #be945f;background:repeating-linear-gradient(90deg,#496c87 0 8px,#9bc0c6 8px 18px,#376057 18px 27px,#658368 27px 41px,#cbbb78 41px 50px,#56819c 50px 64px);box-shadow:inset 0 10px 0 #685d5366,0 8px #846e59,8px 15px #41627344;z-index:-1}
.lab-bookcase:after{content:'';position:absolute;inset:0;background:repeating-linear-gradient(0deg,transparent 0,transparent 28%,#a77847 28%,#a77847 32%,#d2ad78 32%,#d2ad78 35%)}
.lab-bookcase.left{left:3%}.lab-bookcase.right{right:3%}
.lab-heading{position:absolute;top:3%;left:28%;right:28%;text-align:center;margin:0;color:#fff4b7;font-size:clamp(20px,2.1vw,38px);font-weight:900;text-shadow:2px 2px #805534,-2px 0 #805534,0 -2px #805534}
.oak-area{position:absolute;top:14%;left:30%;width:40%;height:36%;display:flex;align-items:center;flex-direction:column}
#oak-dialog{position:relative;margin:0;max-width:600px;padding:16px 24px;border:3px solid #384b57;border-radius:16px;background:#fffef1;font-size:clamp(14px,1.3vw,23px);font-weight:750;box-shadow:0 5px #66828b44;text-align:center;line-height:1.5;z-index:2}
#oak-dialog:after{content:'';position:absolute;bottom:-12px;left:49%;width:16px;height:16px;background:#fffef1;border-right:3px solid #384b57;border-bottom:3px solid #384b57;transform:rotate(45deg)}
.oak-figure{height:70%;width:100%;display:grid;place-items:center;padding-top:22px}
#oak-sprite{height:100%;max-width:44%;object-fit:contain;image-rendering:pixelated;filter:drop-shadow(0 8px 0 #314b5b22)}
#oak-missing{font-size:clamp(12px,1vw,17px);text-align:center;padding:12px 20px;line-height:1.7;color:#486679;background:#d5e6ebc9;border:1px dashed #7196a8;border-radius:6px}#oak-missing b{display:block;color:#354e60}#oak-missing small{display:block}
.lab-table{position:absolute;left:31%;right:31%;top:77%;height:7%;border:5px solid #ad7e4e;border-radius:18px;background:linear-gradient(#e9c78a 0 70%,#ba8e57 71%);box-shadow:0 9px #876442,0 18px 15px #40597c50;z-index:-1}
#starter-options{position:absolute;top:48%;height:36%;left:32%;width:36%;display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin:0}
.lab-choice{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:end;min-width:0;padding:0 0 7%;border:0;border-radius:10px;background:none;color:#243a4b;cursor:pointer;box-shadow:none;outline-offset:5px}
.lab-choice:hover{background:#ffffff0c}.lab-choice:focus-visible{outline:3px solid #fff7ac}
.lab-ball{position:relative;width:clamp(48px,5.4vw,100px);height:clamp(48px,5.4vw,100px);display:grid;place-items:center;z-index:3;filter:drop-shadow(0 7px 0 #644f4833);transition:transform .18s}
.lab-ball .pokeball{width:100%;height:100%;border-width:4px;box-shadow:inset -5px -8px #15192222}.lab-ball .pokeball:after{width:27%;height:27%;border-width:3px}
.original-ball{width:100%;height:100%;object-fit:contain;image-rendering:pixelated;position:absolute;inset:0}.lab-choice[aria-pressed=true] .lab-ball{transform:translateY(-5px)}
.partner-preview{position:relative;height:46%;width:100%;display:grid;place-items:end center;margin-bottom:8px;opacity:0;transform:translateY(10px);transition:opacity .18s,transform .22s}
.partner-preview>.poke-img{width:clamp(80px,9vw,170px)!important;height:100%!important;object-fit:contain;image-rendering:pixelated;z-index:2;filter:drop-shadow(0 7px 0 #39586130)}
.partner-ring{position:absolute;width:75%;height:17%;border:3px solid var(--partner-color);border-radius:50%;bottom:-1%;box-shadow:0 0 16px var(--partner-color);background:#ffffff1f}
.lab-choice[aria-pressed=true] .partner-preview{opacity:1;transform:translateY(0)}
.partner-label{position:absolute;top:102%;display:flex;flex-direction:column;align-items:center;gap:6px;font-size:clamp(11px,.9vw,17px);opacity:.6;white-space:nowrap}.partner-label b{font-size:clamp(14px,1.2vw,23px);padding:4px 12px;border-radius:18px;background:#233645;color:#fff}
.lab-choice[aria-pressed=true] .partner-label{opacity:1}.lab-choice[aria-pressed=true] .partner-label b{box-shadow:0 0 0 2px var(--partner-color)}
#lab-actions{position:absolute;bottom:3%;left:20%;right:20%;display:flex;align-items:center;justify-content:center;gap:14px}
#starter-confirm{min-width:220px;min-height:48px;padding:12px 26px;border:3px solid #fff4d8;outline:2px solid #735443;border-radius:12px;color:white;background:linear-gradient(#f56764,#dd393e);box-shadow:0 5px #912b30;font-weight:850;font-size:clamp(15px,1.3vw,23px);cursor:pointer}
#starter-confirm:disabled{filter:saturate(.3);cursor:default}.confirmed #starter-confirm{filter:none}
.lab-corner{position:absolute;left:22px;bottom:20px;display:flex;flex-direction:column;gap:7px;max-width:23%;font-size:11px;color:#274b60}.lab-corner button{align-self:start;background:#d9ecf5cc;border:1px solid #6b9db7;border-radius:7px;padding:8px 12px;color:#2c4f64;cursor:pointer}
.lab-provenance{position:absolute;right:20px;bottom:20px;max-width:19%;text-align:right;color:#335c73;font-size:11px;line-height:1.5}
#lab-original{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;image-rendering:pixelated;z-index:-2}.has-original{background:transparent}.has-original .lab-bookcase,.has-original .lab-floor,.has-original .lab-table,.has-original .lab-window{visibility:hidden}
.confirmed .partner-preview{animation:partner-confirm .8s ease-out}.confirmed .lab-choice:not([aria-pressed=true]){opacity:.3}
@keyframes partner-confirm{0%{transform:translateY(0)}35%{transform:translateY(-18px);filter:brightness(1.35)}100%{transform:translateY(0)}}
#evolution-overlay{background:radial-gradient(ellipse at center,#172b439e,#060e1de8);backdrop-filter:blur(2px)}
#evolution-overlay .evolution-card{width:min(760px,90vw);padding:25px 35px 22px;background:linear-gradient(#14223de8,#0c172be8);border:2px solid #7d96b5;border-radius:18px;box-shadow:0 18px 90px #0009;max-height:95dvh;overflow:auto}
#evolution-title{margin:4px 0 0;font-size:27px;color:#fff4ba;min-height:36px}#evolution-canvas{display:block;width:min(100%,560px);height:auto;margin:0 auto;image-rendering:pixelated}
#evolution-name{background:#f4f2df;color:#25394b;min-height:75px;border:3px solid #687c98;border-radius:10px;padding:17px 22px;font-weight:800;font-size:20px;line-height:1.5;display:flex;align-items:center;justify-content:center}
#evolution-stars{min-height:30px;letter-spacing:6px}#evolution-audio-state{display:block;color:#b0c4d4;font-size:12px;margin:12px 0 0}#evolution-overlay .evolution-card>small{display:block;margin-top:8px;color:#b0c4d4}#evolution-skip{margin-top:10px}
#starter-overlay [hidden]{display:none!important}
@media(max-height:790px){.oak-area{top:13%;height:35%}#oak-dialog{padding:10px 18px}.lab-corner,.lab-provenance{bottom:12px;font-size:10px}#evolution-overlay .evolution-card{padding:16px 30px}#evolution-canvas{width:460px;max-height:42dvh;object-fit:contain}#evolution-name{font-size:18px;min-height:64px;margin:9px 0}.lab-bookcase{border-width:7px}}
@media(max-width:900px){.oak-area{left:23%;width:54%}#starter-options{left:22%;width:56%}.lab-table{left:20%;right:20%}.lab-provenance{display:none}#lab-actions{left:10%;right:10%;bottom:4%;flex-wrap:wrap}.lab-corner{top:12px;bottom:auto}.lab-corner span{display:none}.lab-heading{font-size:19px}.lab-bookcase{width:16%}}
@media(prefers-reduced-motion:reduce){.partner-preview,.lab-ball{transition:none}.confirmed .partner-preview{animation:none}}
