#welcome{position:fixed;left:6vw;top:50%;transform:translateY(-50%);width:min(390px,88vw);max-height:94dvh;overflow:auto;padding:24px 28px;background:linear-gradient(135deg,rgba(23,23,35,.94),rgba(32,24,39,.83));border:1px solid #ffffff21;border-radius:26px;box-shadow:0 20px 100px #100b2055,0 0 65px #ed579319;backdrop-filter:blur(18px)}
#welcome h1{font-size:clamp(42px,6vw,70px);line-height:.91;letter-spacing:-.055em;margin:20px 0 0;font-weight:900;color:#fff} .academyTitle{font-size:25px;letter-spacing:.2em;color:#ffc2d8;margin:8px 0 26px} .menuButtons{display:grid;gap:9px;grid-template-columns:1fr 1fr}.menuButtons button{min-height:48px;text-align:left;padding:13px 16px;border-radius:12px;background:#ffffff0b;border:1px solid #ffffff20;color:#f8f5fa;font-size:15px}.menuButtons button:nth-child(-n+2){grid-column:1/-1}.menuButtons .primary{background:#f48bb2;color:#231823;font-weight:750}.menuButtons button:hover{border-color:#ffc2d8;background:#ffffff1b}.menuButtons button:disabled{opacity:.5}.menuButtons small{display:block;font-size:12px;margin-top:4px}.menuButtons span{float:right}#welcome .eyebrow{font-size:12px}#welcome .saveNote{font-size:12px;line-height:1.5;margin:20px 0 0;color:#b8b3c1}#welcome #best{font-size:12px;margin-top:14px}body:not(.playing)>header .brand{visibility:hidden}body:not(.playing) .worldLabel{pointer-events:none} [hidden]{display:none!important}.settingsGrid{display:grid;gap:20px;margin:20px 0}.settingsGrid label{display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:16px}.settingsGrid input[type=range]{width:45%;accent-color:#ef88b1}.settingsGrid input[type=checkbox]{width:22px;height:22px;accent-color:#ef88b1}.resultsGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;order:-1;width:100%;margin-bottom:18px}.resultsGrid>div{padding:14px;background:#ffffff08;border-radius:12px}.resultsGrid small,.resultsGrid strong{display:block}.resultsGrid small{font-size:12px;color:#c4bac8}.resultsGrid strong{font-size:25px;margin-top:6px}.resultsGrid .gradeBadge{grid-column:1/-1;text-align:center;font-size:30px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:#edba8a}.gradeBadge.silver{color:#d6e0ef}.gradeBadge.gold{color:#ffe398}.gradeBadge.platinum{color:#c1f9fa}#choices:has(.resultsGrid){display:flex;flex-direction:column}.speechBubble{position:fixed;transform:translate(-50%,-100%);padding:9px 13px;border-radius:14px 14px 14px 3px;background:#fff5fa;color:#322233;box-shadow:0 5px 22px #0003;font-size:14px;max-width:190px;pointer-events:none}#speechLayer{position:fixed;inset:0;pointer-events:none;z-index:3}.mission{zoom:var(--hud-scale,1)}.metrics{zoom:var(--hud-scale,1)}button:focus-visible{outline:3px solid #ffd1e2;outline-offset:3px}#careerSelect>button{margin-top:12px} @media(max-width:700px){#welcome{left:5vw;top:auto;bottom:22px;transform:none;width:90vw;padding:22px;max-height:85dvh}#welcome h1{font-size:46px} .academyTitle{font-size:20px;margin-bottom:20px}#welcome .eyebrow{display:none}.menuButtons{gap:8px}.menuButtons button{min-height:46px;font-size:14px}#welcome .saveNote{margin-top:12px}.resultsGrid{grid-template-columns:repeat(2,1fr)}.settingsGrid label{font-size:14px}}@media(max-height:540px){#welcome{top:12px;bottom:12px;transform:none;max-height:none}#welcome h1{font-size:36px;display:inline} .academyTitle{font-size:18px;margin:5px 0 14px}.menuButtons button{min-height:40px;padding:8px 12px}#welcome .eyebrow,#welcome .saveNote{display:none}}

/* Collector album and touch-friendly reveal, using original imported artwork. */
#modal.collectionMode .dialog{max-width:740px;width:calc(100vw - 24px);max-height:90dvh;overflow-y:auto}.collectionGrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;width:100%;margin:16px 0}.collectionCard{display:flex;align-items:center;flex-direction:column;gap:8px;text-align:center;border:1px solid #efc6d8;border-radius:16px;padding:12px 5px;background:linear-gradient(145deg,#fff,#fff0f6);color:#512840}.collectionCard small{font-size:11px}.collectionCard.locked{min-height:185px;justify-content:center;background:#f4edf1;color:#88717c}.collectionCard.locked small{font-size:48px}.collectionArt{display:block;background-repeat:no-repeat;flex-shrink:0;filter:drop-shadow(0 9px 7px #713a4a25)}.revealStage{display:flex;justify-content:center;align-items:center;min-height:290px;width:100%;background:radial-gradient(ellipse,#ffc3df 0,transparent 65%);perspective:700px}.sealedBox{white-space:pre-line!important;width:160px;min-height:205px!important;border-radius:8px!important;background:linear-gradient(135deg,#fc7bb5,#cd3679)!important;color:white!important;font-size:23px!important;box-shadow:14px 12px 0 #a3275b,0 30px 40px #aa367d44;animation:boxFloat 2.5s ease-in-out infinite}.revealed .collectionArt{animation:collectorReveal .6s ease-out}.collectionMode #choices{display:flex;flex-wrap:wrap;gap:10px}.collectionMode #choices>button{flex:1 1 200px;min-height:48px}@keyframes boxFloat{50%{transform:translateY(-10px) rotateY(-12deg)}}@keyframes collectorReveal{from{opacity:0;transform:scale(.4) rotate(-12deg)}to{opacity:1;transform:scale(1)}}@media(max-width:560px){.collectionGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.collectionMode #choices>button{flex-basis:100%}}@media(prefers-reduced-motion:reduce){.sealedBox,.revealed .collectionArt{animation:none}}

#collectionButton{border:1px solid #ffffff40;background:#ffffff20;color:white;border-radius:50%;width:38px;height:38px;font-size:20px}

.resultsGrid>div{background:#e5dce6;color:#392b3b}.resultsGrid small{color:#67576a;font-size:11px}.resultsGrid strong{font-size:clamp(17px,2.7vw,24px)}.resultsGrid .gradeBadge{background:linear-gradient(125deg,#352b43,#664a60);color:#f0be8d}.resultsGrid .gradeBadge.gold{color:#ffe398}.resultsGrid .gradeBadge.platinum{color:#c1f9fa}.resultsGrid .gradeBadge.silver{color:#d6e0ef}.revealed .collectionArt{animation:collectorReveal .9s cubic-bezier(.17,.67,.25,1.2)}

/* MINISOconnect terminal: scoped to its own dialog. */
#modal.connectMode{padding:12px;background:#20121ec9}#modal.connectMode .dialog{width:min(1100px,100%);max-width:1100px;height:min(800px,94dvh);max-height:94dvh;padding:24px;background:#fbf8fa;color:#342b36;border:1px solid #f1c9da;border-radius:22px;overflow:auto;box-shadow:0 24px 90px #170b264d}#modal.connectMode #modalTag{color:#a64670;font-size:10px;letter-spacing:2px}#modal.connectMode #modalTitle{font-size:30px;letter-spacing:-1.4px;margin:6px 0 22px;color:#b72f6c}#modal.connectMode #modalText{display:none}#modal.connectMode #choices{display:block} .connectShell{display:grid;grid-template-columns:195px minmax(0,1fr);gap:25px}.connectNav{display:flex;flex-direction:column;gap:7px;border-right:1px solid #ecdde4;padding-right:18px}.connectMode .dialog button{background:white;color:#574352;border:1px solid #e9dce3;border-radius:11px;padding:12px 14px;font-size:13px;line-height:1.4;min-height:44px;margin:0;text-align:left}.connectMode .dialog button:hover:not(:disabled){background:#fff0f6;border-color:#d999b5}.connectMode .dialog button:focus-visible{outline:3px solid #b72f6c;outline-offset:2px}.connectNav button[aria-current=page]{background:#b72f6c!important;color:white!important;border-color:#b72f6c!important;font-weight:700}.connectNav button:last-child{margin-top:24px}.connectMain{min-width:0}.connectHeading{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:14px}.connectHeading h3{margin:0;font-size:22px;letter-spacing:-.5px}.connectStatus{font-size:10px;font-weight:700;padding:7px 10px;border:1px solid #e7ceda;border-radius:20px;background:white}.connectMode .dialog p{color:#796672;font-size:13px;line-height:1.6;margin:8px 0 16px}.connectCards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:18px 0}.connectCard{background:white;border:1px solid #ecdee5;border-radius:14px;padding:18px 14px}.connectCard small{display:block;color:#806875;font-size:11px;margin-bottom:12px}.connectCard strong{font-size:25px;letter-spacing:-.7px;overflow-wrap:anywhere}.connectNotice{background:#f9e9f0;border-radius:14px;padding:18px;margin:18px 0}.connectNotice strong{color:#91315a}.connectTableWrap{overflow-x:auto;border:1px solid #ecdee5;border-radius:12px;background:white}.connectTable{border-collapse:collapse;width:100%;font-size:12px;text-align:left;white-space:nowrap}.connectTable caption{text-align:left;padding:14px;font-size:11px;color:#796672;white-space:normal}.connectTable th,.connectTable td{padding:13px 12px;border-top:1px solid #f0e7ec}.connectTable thead{background:#faf0f5;color:#785465}.connectTable tbody th{font-weight:600}.connectBadge{display:inline-block;font-size:10px;letter-spacing:.5px;font-weight:700;border-radius:6px;padding:6px 8px;background:#f0eaf0;color:#6c5867}.connectBadge.low{background:#fff1d5;color:#885a00}.connectBadge.empty{background:#ffe2e8;color:#ab284a}.connectBadge.healthy{background:#e4f3ed;color:#246c51}.connectHelper{border:1px solid #ecdee5;background:white;border-radius:14px;padding:18px;margin:12px 0}.connectHelper .connectBadge{float:right}.connectMode h4{font-size:17px;margin:6px 0 12px}.connectComing{padding:40px 24px;border:1px solid #eacddc;border-radius:16px;background:linear-gradient(130deg,#fff,#fae4ee);margin-top:24px}.connectComing h4{font-size:27px;max-width:350px;margin-top:25px}.connectComing button{margin:6px 8px 0 0!important}@media(max-width:700px){#modal.connectMode{padding:6px}#modal.connectMode .dialog{height:96dvh;max-height:96dvh;padding:18px 12px;border-radius:15px}.connectShell{grid-template-columns:1fr;gap:18px}.connectNav{flex-direction:row;overflow-x:auto;border-right:0;border-bottom:1px solid #ecdde4;padding:0 0 10px;gap:6px}.connectNav button{flex:0 0 auto;white-space:nowrap;font-size:12px!important}.connectNav button:last-child{margin-top:0}.connectCards{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.connectCard{padding:14px 10px}.connectCard strong{font-size:22px}.connectHeading h3{font-size:20px}.connectComing{padding:24px 16px}.connectTable th,.connectTable td{padding:12px 9px}}

.connectOrderList details{border:1px solid #e8c9d8;border-radius:10px;padding:12px;margin:10px 0;background:white}.connectOrderList summary{font-size:16px;font-weight:bold;cursor:pointer;padding:8px}.connectOrderRow{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 0;border-top:1px solid #f0e3e9}.connectOrderRow span{font-size:14px}.connectOrderRow button{flex-shrink:0}@media(max-width:600px){.connectOrderRow{flex-wrap:wrap}}

/* Cinematic opening: the real storefront remains the main visual. */
#welcome{left:4vw;top:50%;bottom:auto;transform:translateY(-50%);width:min(370px,38vw);max-height:91dvh;padding:24px;background:linear-gradient(140deg,#211b2bef,#282131db);border:1px solid #ffffff30;border-radius:22px;box-shadow:0 18px 55px #17102445;backdrop-filter:blur(10px);transition:opacity .4s,transform .4s;z-index:6}#welcome .menuIdentity{display:flex;gap:12px;align-items:center}.menuMark{display:grid;place-items:center;background:#f05291;color:#fff;width:46px;height:46px;border-radius:13px;font-size:33px;font-weight:900;flex-shrink:0}#welcome h1{font-size:clamp(25px,2.5vw,35px);line-height:1.05;letter-spacing:-1.1px;margin:0;white-space:nowrap}.academyTitle{font-size:14px;letter-spacing:.32em;margin:6px 0 0;color:#ffc5df}.menuTagline{font-size:12px!important;letter-spacing:1.1px;color:#ecd7e4!important;margin:19px 0!important}#careerSummary{font-size:14px;font-weight:700;color:#fff0f6;padding:11px 0 15px;line-height:1.5}.menuButtons{grid-template-columns:1fr 1fr;gap:8px}.menuButtons button{font-size:14px;min-height:46px;padding:11px 12px;background:#ffffff0b;transition:background .18s,transform .18s}.menuButtons button:nth-child(2){grid-column:auto}.menuButtons #resumeGame{grid-column:1/-1;min-height:72px;background:linear-gradient(120deg,#ff92bd,#ed72aa);border-color:#ffb4d3;color:#35172c;font-weight:800;font-size:17px}.menuButtons #resumeGame .resumeLabel{float:none;display:block}.menuButtons #resumeGame small{font-size:12px;font-weight:500;margin-top:7px;color:#512440}.menuButtons button:hover:not(:disabled){transform:translateY(-1px);background:#ffffff20}.menuButtons #resumeGame:hover:not(:disabled){background:#ffa5c8}.menuButtons button:focus-visible{outline:3px solid #ffc3df;outline-offset:2px}#collectionSummary{font-size:11px;letter-spacing:.2px;color:#ebc5da}.menuButtons button:disabled{opacity:.55}#welcome .saveNote{font-size:12px;margin:15px 0 0;color:#bda9ba}#welcome #best{font-size:12px}body:not(.playing) .worldLabel,body:not(.playing) #day,body:not(.playing) #pause,body:not(.playing) #collectionButton,body:not(.playing) #leaderboardButton{display:none!important}body:not(.playing) .vignette{background:linear-gradient(90deg,#1b152a80,transparent 55%),linear-gradient(0deg,#17152670,transparent 45%)}body.menuLeaving #welcome{opacity:0;pointer-events:none;transform:translateY(-48%)}
#storeLoading,.openingOverlay{position:fixed;inset:0;z-index:60;display:flex;align-items:center;justify-content:center;flex-direction:column;background:#251a2b;color:#fff;text-align:center;gap:12px}#storeLoading strong,.openingOverlay strong{font-size:clamp(26px,5vw,48px);font-weight:900;letter-spacing:-1px}#storeLoading span,.openingOverlay span{font-size:14px;letter-spacing:.25em;color:#ffc1dc}#storeLoading small{font-size:12px;letter-spacing:2px;margin-top:8px}#storeLoading i{width:90px;height:3px;border-radius:3px;background:linear-gradient(90deg,#543149,#ff9cc9,#543149);background-size:200% 100%;animation:loadingStore 1.2s linear infinite;margin-top:18px}.openingOverlay{background:#251a2b00;transition:background .5s;pointer-events:auto}.openingOverlay.covered{background:#251a2b}.openingOverlay strong,.openingOverlay span{text-shadow:0 2px 22px #100b1e}.openingOverlay button{position:absolute;bottom:max(24px,env(safe-area-inset-bottom));right:24px;min-height:44px;border:1px solid #ffffff70;background:#2b203ad9;color:white;padding:12px 20px;border-radius:12px}#dayIntro{position:fixed;left:50%;top:32%;transform:translate(-50%,-50%);z-index:12;text-align:center;pointer-events:none;padding:18px 26px;border-radius:16px;background:#261d30db;border:1px solid #ffd4e638;min-width:270px;color:white}#dayIntro strong,#dayIntro span,#dayIntro small{display:block}#dayIntro strong{font-size:30px;letter-spacing:3px}#dayIntro span{font-size:14px;letter-spacing:1.5px;margin:9px 0;color:#ffc6df}#dayIntro small{font-size:14px;color:#f1e4ef}@keyframes loadingStore{to{background-position:-200% 0}}
@media(max-width:700px) and (orientation:portrait){#welcome{left:12px;right:12px;top:auto;bottom:max(27px,env(safe-area-inset-bottom));transform:none;width:auto;max-height:51dvh;padding:16px 18px;border-radius:20px}#welcome h1{font-size:29px}#welcome .menuMark{width:39px;height:39px;font-size:28px}.academyTitle{font-size:12px;margin-top:4px}.menuTagline{margin:10px 0!important;font-size:11px!important}#careerSummary{font-size:13px;padding:3px 0 9px}.menuButtons{gap:6px}.menuButtons button{padding:9px 11px;min-height:44px;font-size:14px}.menuButtons #resumeGame{min-height:61px;font-size:16px}.menuButtons #resumeGame small{margin-top:4px}#welcome .saveNote,#welcome #best{display:none}body.menuLeaving #welcome{transform:translateY(8px)}body:not(.playing) .vignette{background:linear-gradient(0deg,#201829 0%,#201829aa 40%,transparent 65%)}#dayIntro{top:38%;min-width:250px}#storeLoading strong{font-size:30px}}
@media(max-height:540px) and (orientation:landscape){#welcome{width:min(350px,43vw);left:14px;top:12px;bottom:20px;max-height:none;transform:none;padding:15px}#welcome h1{font-size:25px}.menuMark{width:34px;height:34px;font-size:25px}.academyTitle{font-size:12px;margin:3px 0 0}.menuTagline{margin:8px 0!important;font-size:11px!important}#careerSummary{font-size:12px;padding:2px 0 8px}.menuButtons{gap:5px}.menuButtons button{min-height:44px;padding:8px 10px;font-size:13px}.menuButtons #resumeGame{min-height:56px;font-size:15px}#welcome .saveNote,#welcome #best{display:none}#dayIntro{top:45%}}
@media(prefers-reduced-motion:reduce){#welcome,.menuButtons button,.openingOverlay{transition:none}#storeLoading i{animation:none}}

#careerSummary strong,#careerSummary small{display:block}#careerSummary small{font-size:12px;font-weight:400;color:#ecd7e4;margin-top:3px}
.supplierProduct{display:flex;gap:14px;padding:16px 0;border-bottom:1px solid #eadce3}.supplierProduct>div{flex:1;min-width:0}.supplierIcon{font-size:36px;color:#b72f6c}.supplierQuantity{display:inline-flex;align-items:center;gap:14px;margin:8px 10px 8px 0}.supplierQuantity button{min-width:44px;text-align:center!important}.supplierLine{padding:14px 0;border-bottom:1px solid #eadce3}.supplierWarning{color:#a02345!important;font-weight:bold}.connectMain details>summary{padding:15px 5px;cursor:pointer;font-weight:700}.connectMain>.connectHeading{position:sticky;top:0;background:#fbf8fa;padding:8px 0;z-index:1}
