:root{font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;color:#d8f6ff;background:#061723}*{box-sizing:border-box}body{margin:0;min-width:320px;background:radial-gradient(circle at 20% 10%,rgba(46,130,170,.55),transparent 38%),radial-gradient(circle at 80% 0%,rgba(0,90,130,.45),transparent 30%),linear-gradient(180deg,#042338,#031724 60%,#021019)}.app-shell{width:100%;height:100%;min-height:100vh;min-height:-webkit-fill-available;padding:14px;display:flex;justify-content:center;overflow-y:auto;-webkit-overflow-scrolling:touch}.app{width:min(100%,430px);display:flex;flex-direction:column;gap:10px;min-height:100vh;padding-bottom:80px}.app>main{flex:1;display:flex;flex-direction:column}.glass{border:1px solid rgba(171,230,255,.25);border-radius:16px;background:linear-gradient(180deg,#0d2e42d1,#061e2ed1);box-shadow:0 8px 24px #0000003d;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.top-panel{display:grid;grid-template-columns:1.1fr 1.4fr;gap:8px;padding:10px}.wallet-box{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.wallet-icon{width:32px;height:32px;display:grid;place-items:center;border-radius:50%;background:#b9f8ff26}.ton-connect-btn{border:1px solid rgba(124,233,255,.5);border-radius:8px;padding:6px 12px;font-size:11px;font-weight:600;color:#7ce9ff;background:#7ce9ff1a;cursor:pointer;transition:all .2s ease}.ton-connect-btn:hover{background:#7ce9ff33;border-color:#7ce9ff}.modal-overlay{position:fixed;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px;pointer-events:none}.modal-content{animation:modalSlideIn .3s ease-out;pointer-events:auto}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.ton-connect-btn:active{transform:scale(.98)}.caption{margin:0;font-size:11px;opacity:.8}.user-caption{margin-top:4px;text-align:right}.value{margin:0;font-weight:700;font-size:14px}.jackpot-box{text-align:right}.jackpot-title{margin:0;font-size:14px;font-weight:800;color:#ffe382;display:flex;align-items:center;gap:6px;justify-content:flex-end;flex-wrap:wrap}.jackpot-fishes-inline{display:inline-flex;align-items:center;gap:2px}.jackpot-sub{margin:4px 0 0;font-size:11px;opacity:.85;text-align:right}.jackpot-label{display:block;width:100%;text-align:center;margin-top:4px;font-size:11px;opacity:.85}.jackpot-fish{width:38px;height:25px}.jackpot-marquee{position:fixed;top:0;left:0;right:0;background:linear-gradient(90deg,#ff6b6b,#feca57,#ff6b6b);color:#fff;font-size:16px;font-weight:700;padding:12px 0;text-align:center;z-index:10000;box-shadow:0 4px 20px #ff6b6b80;animation:marqueeGlow 2s ease-in-out infinite;overflow:hidden;white-space:nowrap}.jackpot-marquee:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);animation:marqueeShine 3s linear infinite}@keyframes marqueeGlow{0%,to{box-shadow:0 4px 20px #ff6b6b80}50%{box-shadow:0 4px 40px #ffca57cc}}@keyframes marqueeShine{0%{left:-100%}to{left:100%}}.wheel-card{position:relative;overflow:hidden;padding:10px;display:grid;gap:10px}.confetti-layer{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:9999}.confetti-layer.confetti-fixed{position:fixed;inset:0;z-index:999;pointer-events:none}.confetti-particle{position:absolute;left:var(--x);top:var(--y);width:var(--w);height:var(--h);background:linear-gradient(135deg,var(--c),var(--c2, var(--c)));border-radius:var(--r);transform:translate(-50%,-50%) rotate(var(--rot)) rotateX(var(--rx, 0deg)) rotateY(var(--ry, 0deg)) scale(.25);opacity:0;animation:confettiFall var(--t, 2.5s) cubic-bezier(.25,.46,.45,.94) forwards;animation-delay:var(--d);filter:drop-shadow(0 3px 2px rgba(0,10,24,.25))}.confetti-particle:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#fff0,#ffffff59,#fff0);opacity:.65;pointer-events:none}.confetti-shape-circle{clip-path:none;border-radius:999px}.confetti-shape-rect{clip-path:none}.confetti-shape-streamer{clip-path:none;border-radius:999px}.confetti-shape-triangle{border-radius:0;clip-path:polygon(50% 0%,0% 100%,100% 100%)}.confetti-shape-star{border-radius:0;clip-path:polygon(50% 0%,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%)}@keyframes confettiFall{0%{transform:translate(-50%,-50%) rotate(var(--rot)) rotateX(var(--rx, 0deg)) rotateY(var(--ry, 0deg)) scale(.2);opacity:0}10%{opacity:1}to{transform:translate(calc(-50% + var(--dx)),calc(-50% + var(--dy))) rotate(calc(var(--rot) + 880deg)) rotateX(calc(var(--rx, 0deg) + 520deg)) rotateY(calc(var(--ry, 0deg) + 520deg)) scale(1);opacity:0}}.wheel-card:before{content:"";position:absolute;inset:-40px -30px -30px;background:radial-gradient(120px 220px at 12% 86%,#3fe8b62e,#0000 70%),radial-gradient(140px 260px at 86% 90%,#59b7ff29,#0000 72%),radial-gradient(220px 160px at 50% 22%,#7ce9ff14,#0000 72%);filter:blur(1px);opacity:.95;pointer-events:none}.wheel-card:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#ffffff0a,#fff0 45%,#ffffff08);pointer-events:none;opacity:.8}.wheel-card>*{position:relative;z-index:1}.mode-row{display:grid;grid-template-columns:auto auto 1fr;align-items:center;gap:8px}.mode-pill{border:1px solid rgba(168,232,255,.38);border-radius:999px;font-size:10px;padding:4px 8px;opacity:.7}.mode-pill.is-active{opacity:1;border-color:#7ce9ff;background:#7ce9ff24}.status{text-align:right;font-size:11px;opacity:.9;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.legend-row{display:flex;justify-content:space-between;gap:8px;font-size:11px;opacity:.92}.legend-row span{display:inline-flex;align-items:center;gap:6px}.bottle-slot{position:relative;padding-right:0}.bottle-glass{position:relative;border-radius:26px;padding:10px;background:radial-gradient(160px 120px at 22% 24%,#ffffff26,#ffffff05 55%,#ffffff14),linear-gradient(180deg,#7ce9ff0f,#0626361f);border:1px solid rgba(185,249,255,.28);box-shadow:0 12px 32px #000a1840,inset 0 0 0 1px #ffffff0d}.machine{position:relative;padding:10px;border-radius:14px;background:linear-gradient(180deg,#f8fdffd1,#d8f4ff94);box-shadow:inset 0 0 0 1px #ffffff52}.payline{position:absolute;left:14px;right:14px;top:calc(50% - 1px);border-top:2px dashed rgba(255,222,122,.85);pointer-events:none;opacity:.95}.reels{--reel-step: 86px;display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.reel-window{position:relative;height:calc(var(--reel-step) * 3);overflow:hidden;border-radius:14px;border:1px solid rgba(139,245,255,.34);background:linear-gradient(180deg,#ffffffd1,#d7f2ffbd);box-shadow:inset 0 0 20px #0522310f}.reel-strip{width:100%}.reel-strip.fixed{transform:translateY(0)}.reel-strip.spinning{animation:spinDownFast .22s linear infinite}.reel-strip.spinning.col-2{animation:spinDownSlow .55s cubic-bezier(.2,.85,.35,1) infinite}.reel-strip.blur .reel-cell .symbol-badge{filter:blur(4px) saturate(1.2)}@keyframes spinDownFast{0%{transform:translateY(calc(var(--reel-step) * -4))}to{transform:translateY(0)}}@keyframes spinDownSlow{0%{transform:translateY(calc(var(--reel-step) * -2))}to{transform:translateY(0)}}.reel-cell{height:var(--reel-step);display:grid;place-items:center;border-bottom:1px solid rgba(187,243,255,.1)}.reel-cell:last-child{border-bottom:0}.reel-cell.center-line{background:#ffde7a0f;box-shadow:0 0 0 1px #ffde7a38 inset}.symbol-badge{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;border:1px solid rgba(212,244,255,.32)}.symbol-badge.is-small{width:28px;height:28px;border-radius:8px}.symbol-icon{width:30px;height:22px;filter:drop-shadow(0 2px 1px rgba(0,10,24,.25))}.symbol-icon.is-small{width:20px;height:15px}.symbol-icon.is-decor{width:28px;height:28px}.symbol-icon.is-decor.is-small{width:18px;height:18px}.fish-gray,.decor-gray{background:#9eb0be47}.fish-green,.decor-green{background:#69dc9947}.fish-blue,.decor-blue{background:#59b7ff47}.fish-purple,.decor-purple{background:#b57dff47}.fish-gold,.decor-gold{background:#ffd36857}.spin-btn{border:0;border-radius:14px;padding:12px;font-weight:800;letter-spacing:.6px;color:#04334e;background:linear-gradient(90deg,#a1f6ff,#6de7ff,#a1f6ff);background-size:200% 100%;cursor:pointer;animation:wave 1.5s linear infinite}.spin-btn.auto-spin-active{background:linear-gradient(90deg,#ff6b6b,#feca57,#ff6b6b);animation:pulse .8s ease-in-out infinite}.spin-btn:disabled{opacity:.6;cursor:not-allowed}@keyframes wave{0%{background-position:0% 0}to{background-position:200% 0}}@keyframes pulse{0%,to{transform:scale(1);box-shadow:0 0 #ff6b6bb3}50%{transform:scale(1.02);box-shadow:0 0 0 8px #ff6b6b00}}.meta-row{display:flex;justify-content:space-between;font-size:11px;opacity:.85;gap:8px;flex-wrap:wrap}.decor-status{margin:0;font-size:11px;opacity:.9}.auto-spin-hint{margin:0 0 8px;font-size:10px;font-weight:700;color:#6de7ff;text-align:center;opacity:.85;animation:hintPulse 2s ease-in-out infinite}@keyframes hintPulse{0%,to{opacity:.6}50%{opacity:1}}.reset-decor-btn{margin-top:8px;border:1px dashed rgba(255,215,0,.5);border-radius:8px;padding:6px 10px;font-size:10px;font-weight:600;color:gold;background:#ffd7000d;cursor:pointer;transition:all .2s ease;width:100%}.reset-decor-btn:hover{background:#ffd70026;border-color:gold}.reset-decor-btn:active{transform:scale(.98)}.counters{padding:10px;display:grid;gap:10px;max-height:fit-content;margin-bottom:0;height:fit-content}.counters+.counters{margin-top:0}.counters .counter-block{margin:0;padding:0}.app>main{flex:0 0 auto}.bottom-nav{position:fixed;bottom:0;left:0;right:0;background:#031825f2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-top:1px solid rgba(174,236,255,.15);padding:8px 10px;z-index:1000}.counter-block h2,.craft-screen h2,.placeholder-screen h2,.aquarium-screen h2{margin:0;font-size:13px}.counter-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}.counter-item{border:1px solid rgba(174,236,255,.18);border-radius:10px;padding:6px 2px;text-align:center;display:grid;gap:4px;place-items:center;background:#031825b3}.counter-item b{font-size:12px;color:#fff}.craft-note,.placeholder-screen p{margin:0;font-size:12px;opacity:.88}.craft-block{display:grid;gap:6px}.craft-block h3{margin:0;font-size:12px}.craft-grid{display:grid;gap:6px}.craft-btn{border:1px solid rgba(168,232,255,.24);border-radius:10px;padding:8px;display:flex;justify-content:space-between;align-items:center;font-size:12px;background:#031825b8;color:#d8f6ff;cursor:pointer}.craft-btn:disabled{cursor:not-allowed;opacity:.8}.craft-btn.ready{border-color:#a0f1ffb3;background:#1d617c73}.craft-item-left,.craft-item-right{display:inline-flex;align-items:center;gap:6px}.nft-screen{gap:10px}.nft-controls{display:grid;gap:8px}.nft-kind-row{display:grid;grid-template-columns:1fr 1fr;gap:8px}.nft-rarity-row{display:flex;gap:8px;overflow-x:auto;padding-bottom:2px}.nft-rarity-row::-webkit-scrollbar{height:6px}.nft-rarity-row::-webkit-scrollbar-track{background:#0003;border-radius:3px}.nft-rarity-row::-webkit-scrollbar-thumb{background:#7ce9ff4d;border-radius:3px}.nft-rarity-row::-webkit-scrollbar-thumb:hover{background:#7ce9ff80}.nft-pill{border:1px solid rgba(171,233,255,.25);border-radius:999px;background:#061f2edb;color:#d7f7ff;font-size:12px;padding:10px 12px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px}.nft-pill.is-active{background:linear-gradient(180deg,#7eeaff4d,#349dc047);border-color:#a1f1ffa6}.nft-form{display:grid;grid-template-columns:1fr 1fr;gap:8px}.nft-field{display:grid;gap:6px;font-size:11px;opacity:.92}.nft-input{width:100%;border-radius:10px;border:1px solid rgba(168,232,255,.24);background:#031825b8;color:#d8f6ff;padding:10px 12px;font-size:14px;outline:none}.nft-input:focus{border-color:#a0f1ffb3}.nft-summary{display:flex;justify-content:space-between;gap:8px;font-size:11px;opacity:.9;flex-wrap:wrap}.nft-template-head{display:flex;justify-content:space-between;align-items:center;font-size:11px;opacity:.92}.nft-random{border:1px solid rgba(171,233,255,.25);border-radius:999px;background:#061f2edb;color:#d7f7ff;font-size:11px;padding:6px 10px;cursor:pointer}.nft-random.claim-ready{border:1px solid rgba(46,213,115,.6);background:#2ed57340;color:#2ed573;font-weight:700;animation:claimPulse 2s ease-in-out infinite}@keyframes claimPulse{0%,to{box-shadow:0 0 #2ed57366}50%{box-shadow:0 0 0 6px #2ed57300}}.nft-templates{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.nft-template{border:1px solid rgba(168,232,255,.24);border-radius:12px;background:#031825b8;color:#d8f6ff;padding:10px;cursor:pointer;display:grid;grid-template-columns:42px 1fr;gap:10px;align-items:center;text-align:left}.nft-template.is-active{border-color:#a0f1ffb3;background:#1d617c73}.nft-preview{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;border:1px solid rgba(212,244,255,.22)}.nft-preview.fish-reef,.nft-preview.decor-reef{background:radial-gradient(circle at 30% 20%,#69dc9959,#061f2edb)}.nft-preview.fish-neon{background:radial-gradient(circle at 20% 25%,#7ce9ff73,#031825b8)}.nft-preview.decor-pearl{background:radial-gradient(circle at 30% 20%,#ffffff38,#031825b8)}.nft-preview.fish-royal,.nft-preview.decor-royal{background:radial-gradient(circle at 30% 20%,#ffd3686b,#031825b8)}.nft-preview.fish-ancient,.nft-preview.decor-ancient{background:radial-gradient(circle at 30% 20%,#b57dff66,#061f2edb)}.nft-preview.fish-void,.nft-preview.decor-void{background:radial-gradient(circle at 30% 20%,#59b7ff40,#0000008c)}.nft-template-text b{display:block;font-size:12px}.nft-template-text span{display:block;font-size:11px;opacity:.75}.nft-secondary{border:1px solid rgba(171,233,255,.25);border-radius:14px;padding:10px 12px;font-weight:700;color:#d7f7ff;background:#061f2edb;cursor:pointer}.nft-secondary:disabled{opacity:.6;cursor:not-allowed}.nft-chip{border:1px solid rgba(171,233,255,.22);border-radius:999px;padding:2px 8px;font-size:10px;opacity:.85}.nft-list{display:grid;gap:6px}.nft-row{border:1px solid rgba(168,232,255,.18);border-radius:10px;padding:10px 12px;background:#031825b8;display:flex;justify-content:space-between;gap:10px;font-size:12px;align-items:center}.nft-row.is-off{opacity:.55}.nft-row.is-off .nft-chip{opacity:.65}.nft-row-left{display:inline-flex;gap:8px;align-items:center}.nft-row-right{opacity:.75;font-size:11px;text-align:right;white-space:nowrap}.screen-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.screen-close{width:34px;height:34px;border-radius:10px;border:1px solid rgba(171,233,255,.22);background:#061f2eb8;color:#d7f7ff;font-size:22px;line-height:0;cursor:pointer}.screen-close:active{transform:translateY(1px)}.nft-empty{opacity:.9;justify-content:center;text-align:center}.aquarium-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;font-size:11px}.layer-row{display:grid;gap:6px}.layer-card{border:1px solid rgba(166,233,255,.26);border-radius:10px;padding:8px;font-size:11px;background:#072335c7}.aquarium-canvas{width:100%;height:220px;border-radius:12px;border:1px solid rgba(162,237,255,.3);background:#041725b3}.counters,.craft-screen,.aquarium-screen,.placeholder-screen{flex:1;display:flex;flex-direction:column;padding:10px;min-height:200px}.craft-screen,.aquarium-screen{overflow-y:auto}.bottom-nav{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:4px;padding:8px;position:sticky;bottom:8px}.nav-item{border:1px solid rgba(171,233,255,.25);border-radius:10px;background:#061f2edb;color:#d7f7ff;font-size:10px;padding:8px 4px;cursor:pointer;height:36px;display:flex;align-items:center;justify-content:center}.nav-item.active{background:linear-gradient(180deg,#7eeaff4d,#349dc047);border-color:#a1f1ffa6}@media(max-width:380px){.app-shell{padding:8px}.top-panel{grid-template-columns:1fr;gap:6px}.jackpot-box,.user-caption{text-align:left}.reels{--reel-step: 78px;gap:8px}.legend-row{flex-direction:column;gap:2px}.craft-btn{font-size:11px}.aquarium-stats,.nft-form{grid-template-columns:1fr}}
