.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.discovery-tools{display:flex;gap:10px;align-items:center;flex-wrap:wrap;padding:16px 20px;background:#f6f9fe;border-bottom:1px solid #d8e3f0}
.discovery-search{display:flex;align-items:center;gap:10px;flex:1;min-width:200px;min-height:46px;border:1px solid #bbcee5;border-radius:12px;background:#fff;padding:0 12px;color:#46658b}
.discovery-search>span[aria-hidden]{font-size:25px;line-height:1}
.discovery-search input{font:inherit;font-size:17px;line-height:1.5;min-width:0;width:100%;min-height:46px;border:0;background:none;color:#173350;padding:8px 0;outline-offset:4px}
.discovery-search input::placeholder{color:#526b89}
.discovery-tools button,.discovery-album button{font:inherit;font-size:16px;line-height:1.4;min-height:46px;padding:10px 13px;border:1px solid #b9cce4;border-radius:12px;background:white;color:#033982;font-weight:600;cursor:pointer}
.discovery-mode[aria-pressed=true]{background:#033982;color:#fff;border-color:#033982}
.discovery-tools .discovery-open{background:#eaf1fe;border-color:#aec3e5}
.discovery-play-notice{padding:12px 23px;background:#e6f0ff;color:#244d88;font-size:16px;font-weight:700;border-bottom:1px solid #ccdcef}
.discovery-shelf{min-width:0}
.storage-site .packing-game .discovery-search-status{font-size:16px;color:#52657b;line-height:1.5;margin:0 3px 12px}
.storage-site .packing-game.discovery-searching .discovery-shelf{max-height:430px;overflow-y:auto;scrollbar-width:thin}
.storage-site .packing-game.discovery-searching .calc-list{max-height:none;overflow:visible}
.storage-site .packing-game.discovery-searching .calc-group{margin-bottom:16px}
.storage-site .packing-game.discovery-searching .calc-group h4{display:block}
.storage-site .packing-game .calc-out .discovery-keep-note{font-size:16px;color:#52657b;margin-top:12px}
.discovery-new{font-size:12px!important;font-weight:800;letter-spacing:.06em;margin-top:5px}
.discovery-album{margin:18px 3px 0;padding:20px;background:#f4f7fd;border:1px solid #b9cce6;border-radius:16px;color:#294462}
.discovery-album-head{display:flex;align-items:flex-start;justify-content:space-between;gap:15px}
.discovery-rank{display:block;font-size:12px;letter-spacing:.08em;color:#033982;font-weight:800;margin-bottom:8px}
.storage-site .packing-game .discovery-album h4{font-size:23px;letter-spacing:-.025em;font-weight:800}
.discovery-album .discovery-close{min-width:44px;min-height:44px;padding:8px;font-size:20px}
.storage-site .packing-game .discovery-intro{font-size:16px;line-height:1.65;color:#52657b;margin:13px 0 18px}
.discovery-progress{height:8px;border-radius:10px;background:#dce6f4;overflow:hidden;margin-bottom:20px}
.discovery-progress i{display:block;height:100%;background:linear-gradient(90deg,#033982,#6795df);border-radius:10px;transition:width .3s}
.discovery-badges{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;max-height:340px;overflow-y:auto;padding:2px;scrollbar-width:thin}
.discovery-badges .discovery-badge{padding:12px 8px;min-height:100px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;text-align:center;background:#e9eef6;border:1px dashed #b8c8de;color:#60748f;min-width:0;font-weight:400}
.discovery-badge>span{font-size:28px;font-weight:700;line-height:1.2}
.discovery-badge>b{font-size:15px;line-height:1.4;font-weight:600;overflow-wrap:anywhere}
.discovery-badges .discovery-badge.is-found{background:#fff;border:1px solid #91acd3;color:#033982;box-shadow:0 3px 0 #cad8ec}
.discovery-badges .discovery-badge:hover{background:#dde8fa}
.discovery-album-foot{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:18px}
.discovery-album .discovery-reset{background:none;border-color:transparent;font-weight:400;color:#52657b;text-decoration:underline}
.storage-site .packing-game .discovery-hint{font-size:16px;line-height:1.65;background:#fff;padding:14px;border-left:3px solid #789fd6;margin:14px 0 0;color:#405c7d}
/* Each new discovery gets a richer scene, always confined to this calculator. */
.storage-site #calculator.packing-game[style*="--discovery-bg"][data-celebration]{background:#182c43;background:color-mix(in srgb,var(--discovery-bg) 45%,#0c1d31)}
.discovery-hero{position:absolute;right:32px;top:12px;display:flex;align-items:center;gap:14px;opacity:.65;animation:discovery-hover 3s ease-in-out infinite;color:var(--game-highlight,#d9e7ff);text-align:center}
.discovery-hero>span{font-size:58px;line-height:1.2;filter:drop-shadow(0 4px 12px #0002)}
.discovery-hero>b{font-size:13px;line-height:1.5;font-weight:800;letter-spacing:.1em;max-width:17ch}
.discovery-hero img{width:76px;height:76px;object-fit:contain}
.discovery-burst{position:absolute;left:var(--bx);top:var(--by);width:1px;height:1px;opacity:.7}
.discovery-burst>i{position:absolute;width:4px;height:4px;border-radius:50%;background:var(--spark);box-shadow:0 0 7px var(--spark);animation:discovery-burst 2.5s var(--wait) ease-out infinite;opacity:0}
.discovery-countdown{position:absolute;left:50%;top:17%;color:#f6df9b;transform:translateX(-50%);width:90px;height:100px;text-align:center;opacity:.65}
.discovery-countdown>b{position:absolute;inset:0;font-size:76px;line-height:1.2;opacity:0;animation:discovery-count .65s forwards}
.discovery-confetti,.discovery-pixel,.discovery-egg{position:absolute;left:var(--cx);top:-30px;width:7px;height:12px;border-radius:2px;opacity:.5;animation:discovery-confetti var(--fall) var(--wait) linear infinite}
.discovery-pixel{width:12px;height:12px;border-radius:0;animation-timing-function:steps(12)}
.discovery-egg{width:18px;height:24px;border-radius:50% 50% 45% 45%;border:2px solid #ffffff80}
.discovery-record{width:65px;height:65px;border-radius:50%;background:repeating-radial-gradient(circle at center,#1c2332 0 3px,#3d4555 3px 4px);position:relative;border:3px solid #657089;animation:discovery-spin 3s linear infinite;order:-1}
.discovery-record::after{content:'';position:absolute;inset:22px;background:#dcaa79;border:4px solid #f4d3b1;border-radius:50%}
.discovery-orbit{position:absolute;width:120px;height:90px;left:-28px;top:-12px;border:1px solid #d4e5ff70;border-radius:50%;animation:discovery-spin 7s linear infinite}
.discovery-orbit>i{position:absolute;top:8px;left:10px;width:14px;height:14px;background:#b1d4ff;border-radius:50%;box-shadow:0 0 9px #afceff60}
.discovery-cricket-ball{position:absolute;top:33%;left:8%;width:19px;height:19px;background:#ad514f;border:2px solid #f2c2a5;border-radius:50%;opacity:.6;animation:discovery-boundary 3.4s ease-out infinite}
.discovery-card{position:absolute;top:13%;left:var(--cx);display:grid;place-items:center;width:40px;height:58px;border:2px solid #cbbadc;border-radius:5px;background:#fff;font:normal 26px/1 Georgia,serif;opacity:0;animation:discovery-card 4s var(--wait) ease-in-out infinite}
.discovery-camera-glow{position:absolute;inset:0;background:radial-gradient(circle at 75% 24%,#eafaff80,transparent 38%);opacity:0;animation:discovery-flash .65s ease-out forwards}
@keyframes discovery-burst{0%{transform:translate(0,0) scale(.3);opacity:0}8%{opacity:.85}65%,100%{transform:translate(var(--dx),var(--dy)) scale(.35);opacity:0}}
@keyframes discovery-count{0%{opacity:0;transform:scale(.7)}25%,75%{opacity:.8;transform:scale(1)}100%{opacity:0;transform:scale(1.15)}}
@keyframes discovery-confetti{from{transform:translateY(0) rotate(var(--spin,0deg))}to{transform:translateY(1600px) rotate(calc(var(--spin,0deg) + 540deg))}}
@keyframes discovery-spin{to{transform:rotate(360deg)}}
@keyframes discovery-hover{50%{transform:translateY(6px)}}
@keyframes discovery-boundary{0%{transform:translate(0,70px);opacity:0}10%{opacity:.6}45%{transform:translate(32vw,-35px)}90%,100%{transform:translate(67vw,100px);opacity:0}}
@keyframes discovery-card{0%,100%{transform:translateY(30px) rotate(-15deg);opacity:0}25%,70%{transform:translateY(0) rotate(8deg);opacity:.45}}
@keyframes discovery-flash{0%{opacity:0}20%{opacity:.5}100%{opacity:0}}
@media(max-width:1100px){.discovery-badges{grid-template-columns:repeat(3,minmax(0,1fr))}.discovery-tools{padding-inline:20px}.discovery-open{flex-basis:auto}.discovery-hero{top:14px;right:22px}.discovery-hero>span{font-size:46px}.discovery-hero>b{font-size:12px}}
@media(max-width:760px){
 .discovery-tools{padding:14px 17px;gap:9px}.discovery-search{flex-basis:100%;min-width:0}.discovery-tools button{flex:1;font-size:16px;padding-inline:10px}
 .discovery-play-notice{padding:12px 17px;font-size:16px}.discovery-album{padding:16px 12px}.discovery-badges{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;max-height:330px}
 .storage-site .packing-game .discovery-album h4{font-size:21px}.discovery-badge>b{font-size:16px}.discovery-album-foot{flex-direction:column;align-items:stretch}.discovery-album-foot button{width:100%}
 .discovery-hero{right:17px;top:13px;gap:8px;opacity:.55}.discovery-hero>span{font-size:35px}.discovery-hero>b{font-size:10px;max-width:12ch}.discovery-hero img{width:48px;height:48px}.discovery-record{width:38px;height:38px}.discovery-record::after{inset:11px;border-width:3px}.discovery-orbit{width:70px;height:54px;left:-15px;top:-6px}.discovery-orbit>i{width:9px;height:9px}
 .discovery-burst{transform:scale(.65)}.discovery-countdown{top:20%;opacity:.4}.discovery-countdown>b{font-size:54px}.discovery-card{width:30px;height:42px;font-size:21px}
 .storage-site .packing-game.discovery-searching .discovery-shelf{max-height:354px}
}
@media(prefers-reduced-motion:reduce){.discovery-progress i{transition:none}.discovery-hero,.discovery-burst,.discovery-countdown,.discovery-confetti,.discovery-pixel,.discovery-egg,.discovery-card,.discovery-cricket-ball,.discovery-camera-glow{animation:none!important;display:none!important}}
/* A search covers every category; hide the unrelated selected-category control. */
.storage-site .packing-game.discovery-searching .calc-tabs,.packing-game.discovery-searching .packing-category-picker{display:none!important}
.discovery-burst>i{width:13px;height:3px;background:linear-gradient(90deg,transparent,var(--spark));border-radius:4px;box-shadow:0 0 9px var(--spark)}
@keyframes discovery-burst{0%{transform:translate(0,0) rotate(var(--a)) scale(.3);opacity:0}10%{opacity:.95}65%,100%{transform:translate(var(--dx),var(--dy)) rotate(var(--a)) scale(.35);opacity:0}}
.discovery-badges .discovery-badge{color:#4f6580}
.discovery-badges .discovery-badge.is-found{color:#033982}
