.game-frame{isolation:isolate;background:linear-gradient(#0b5b69d9,#032333f0),radial-gradient(circle at 50% 0,#42e3d440,#0000 60%);border:1px solid #b3f5ef38;border-radius:clamp(1rem,3vw,1.8rem);width:min(100%,980px);margin:1rem auto 2.2rem;padding:clamp(.75rem,2vw,1.25rem);position:relative;overflow:hidden;box-shadow:0 32px 90px #0008128f,inset 0 1px #ffffff14}.game-frame:before{content:"";z-index:-1;opacity:.22;pointer-events:none;background-image:radial-gradient(circle,#fffc 0 1px,#0000 1.5px);background-size:38px 38px;position:absolute;inset:0;mask-image:linear-gradient(#000,#0000 75%)}.game-topbar{justify-content:space-between;align-items:center;gap:1rem;display:flex}.game-kicker{color:#76f4e7;letter-spacing:.14em;text-transform:uppercase;margin:0 0 .18rem;font-size:.72rem;font-weight:850}.game-topbar h2{letter-spacing:-.04em;margin:0;font-size:clamp(1.45rem,4vw,2.2rem)}.game-stats{color:#cde5e9;align-items:center;gap:.7rem;font-size:.82rem;display:flex}.game-stats strong{color:#fff;font-size:1rem}.game-stats select{color:#fff;background:#0b4c58;border:1px solid #ffffff29;border-radius:.65rem;min-height:2.35rem;padding:.4rem 2rem .4rem .7rem}.progress-track{background:#00000040;border-radius:99px;height:.32rem;margin:.8rem 0 .7rem;overflow:hidden}.progress-track span{border-radius:inherit;background:linear-gradient(90deg,#ffd166,#ff7668);height:100%;transition:width .3s;display:block}.aquarium-order{background:#021a276b;border:1px solid #ffffff1f;border-radius:.85rem;justify-content:space-between;align-items:center;gap:1rem;padding:.65rem .75rem;display:flex}.order-copy{display:grid}.order-title{font-weight:800}.order-copy small{color:#a9cad0}.goal-list{gap:.4rem;display:flex}.goal{background:#ffffff17;border-radius:999px;align-items:center;gap:.1rem;min-width:4.1rem;padding:.16rem .45rem .16rem .18rem;font-size:.74rem;font-weight:800;display:flex}.goal .creature-sprite{width:2rem;height:2rem}.board-wrap{background:linear-gradient(#36cfc50f,#0320305c),repeating-linear-gradient(95deg,#0000 0 100px,#ffffff06 101px 102px);border-radius:1rem;align-items:center;min-height:clamp(260px,52vw,480px);margin-top:.7rem;padding:clamp(.5rem,2vw,1.25rem);display:grid;position:relative;overflow:hidden}.bubble-board{grid-template-columns:repeat(6,minmax(46px,1fr));align-items:center;gap:clamp(.2rem,1vw,.7rem);width:100%;display:grid}.bubble-stack{place-items:center;min-height:clamp(70px,11vw,118px);display:grid;position:relative}.fish-bubble{--depth:0;aspect-ratio:1;width:clamp(54px,8.2vw,86px);transform:translate(calc((var(--depth) - 2) * 2px), calc((2 - var(--depth)) * 3px)) scale(calc(.91 + var(--depth) * .022));background:radial-gradient(circle at 31% 24%,#ffffffd6 0 4%,#71ebe833 28%,#085b7473 70%);border:2px solid #defffbb8;border-radius:50%;grid-area:1/1;place-items:center;padding:.25rem;transition:transform .18s,filter .18s,opacity .18s;display:grid;box-shadow:inset -8px -10px 18px #011e3457,inset 4px 5px 9px #ffffff2e,0 8px 16px #000d1a4d}.fish-bubble.exposed{cursor:pointer;z-index:8;animation:3.8s ease-in-out infinite bob}.fish-bubble.exposed:hover,.fish-bubble.exposed:focus-visible{filter:brightness(1.12);outline:none;transform:translateY(-6px)scale(1.06);box-shadow:0 0 0 4px #ffd16640,0 16px 30px #000d1a61}.fish-bubble.covered{opacity:.28;filter:saturate(.45);cursor:not-allowed}.stack-count{z-index:10;color:#071b26;text-align:center;background:#ffd166;border-radius:999px;min-width:1.6rem;padding:.18rem .35rem;font-size:.7rem;font-weight:900;position:absolute;bottom:0;right:0}.creature-wrap{place-items:center;display:inline-grid}.creature-sprite{aspect-ratio:1;background-image:url(/assets/sea-creatures-sprite.png);background-size:500% 300%;background-position:var(--sprite-x) var(--sprite-y);filter:drop-shadow(0 4px 3px #00121c52);background-repeat:no-repeat;width:100%;display:block}.creature-label{font-size:.75rem}.tray-section{margin-top:.3rem}.tray{background:linear-gradient(#133038e6,#061924f5);border:2px solid #ffd1668c;border-radius:1rem;grid-template-columns:repeat(7,1fr);gap:clamp(.2rem,1vw,.55rem);max-width:650px;margin:0 auto;padding:.55rem;display:grid;box-shadow:inset 0 3px 14px #00000073}.tray-slot{aspect-ratio:1;background:#ffffff09;border:1px dashed #ffffff3b;border-radius:.65rem;place-items:center;display:grid;overflow:hidden}.tray-slot .creature-sprite{width:96%}.tray-slot.matching{border-color:#ffd166;animation:.32s forwards match-pop}.tray-hint{color:#a8cbd0;text-align:center;margin:.45rem 0 0;font-size:.78rem}.reserve-row{opacity:.62;justify-content:center;align-items:center;gap:.7rem;min-height:3.25rem;margin:.1rem auto .35rem;display:flex}.reserve-row>span{letter-spacing:.08em;text-transform:uppercase;font-size:.72rem;font-weight:800}.reserve-row>div{gap:.3rem;display:flex}.reserve-row button{background:#ffffff12;border:1px solid #ffffff29;border-radius:.65rem;width:2.8rem;height:2.8rem;padding:.1rem}.reserve-row.has-cards{opacity:1}.reserve-row button .creature-sprite{width:100%}.game-actions{flex-wrap:wrap;justify-content:center;gap:.45rem;margin-top:.75rem;display:flex}.game-actions button,.result-card button{color:#fff;cursor:pointer;background:#ffffff13;border:1px solid #ffffff24;border-radius:.75rem;min-height:2.65rem;padding:.6rem .85rem;font-weight:760}.game-actions button:hover:not(:disabled),.result-card button:hover{background:#ffffff24;transform:translateY(-1px)}.game-actions button:disabled{opacity:.35;cursor:not-allowed}.game-actions button span{color:#ffd166;font-size:1.05rem}.game-modal{z-index:30;backdrop-filter:blur(9px);background:#000d18b3;place-items:center;padding:1rem;display:grid;position:absolute;inset:0}.result-card{text-align:center;background:linear-gradient(150deg,#0b5961,#082c3e);border:1px solid #fff3;border-radius:1.25rem;width:min(420px,100%);padding:2rem;box-shadow:0 30px 80px #0000008c}.result-icon{color:#082536;background:linear-gradient(145deg,#ffd166,#ff796d);border-radius:50%;place-items:center;width:4.5rem;height:4.5rem;margin:0 auto 1rem;font-size:2.2rem;display:grid}.result-card h3{margin:.25rem 0 .5rem;font-size:1.8rem}.result-card p:not(.game-kicker){color:#c2dee2;line-height:1.6}.result-card>div{justify-content:center;gap:.5rem;display:flex}.result-card button.primary{color:#092333;background:#ffd166}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@keyframes bob{0%,to{translate:0}50%{translate:0 -3px}}@keyframes match-pop{to{opacity:0;transform:scale(.25)rotate(8deg)}}@media (width>=760px){.bubble-board{grid-template-columns:repeat(8,minmax(58px,1fr))}}@media (width>=1020px){.bubble-board{grid-template-columns:repeat(12,minmax(56px,1fr))}}@media (width<=560px){.game-frame{border-radius:1rem;margin-top:.65rem}.game-topbar{align-items:flex-start}.game-stats{flex-direction:column;align-items:flex-end;gap:.35rem}.aquarium-order{align-items:flex-start}.order-copy small{display:none}.goal{min-width:3.1rem;padding-right:.3rem}.goal .creature-sprite{width:1.65rem}.board-wrap{min-height:350px;padding-inline:.1rem}.bubble-board{grid-template-columns:repeat(4,minmax(52px,1fr));gap:.15rem}.fish-bubble{width:clamp(54px,18vw,72px)}.tray{gap:.18rem;padding:.35rem}.tray-slot{border-radius:.45rem}.game-actions button{flex:calc(50% - .5rem)}}
