@font-face{font-family:PressStart2P;src:url(/fonts/PressStart2P-Regular.ttf)format("truetype");font-weight:400;font-style:normal}:root{color:#fff;font-synthesis:none;text-rendering:geometricprecision;-webkit-font-smoothing:none;-moz-osx-font-smoothing:grayscale;background:#1f3d67;font-family:PressStart2P,monospace}html,body,#root{min-height:100%;margin:0}body{min-height:100vh;font-family:PressStart2P,monospace;overflow-x:hidden}button,input,textarea,select{font:inherit}@font-face{font-family:PressStart2P;src:url(/fonts/PressStart2P-Regular.ttf)format("truetype");font-weight:400;font-style:normal}:root{--page-bg:#17345d;--page-bg-2:#0f2342;--panel:#131d2be6;--panel-soft:#182638d6;--panel-border:#ffffff29;--ink:#f8efe2;--muted:#c6d3e3;--accent:#f5c46a;--accent-2:#7dd3fc;--danger:#ff7f6f;--shadow:0 22px 50px #0006;--font:"PressStart2P", monospace}html,body{min-height:100%}body{min-height:100vh;color:var(--ink);font-family:var(--font);background:radial-gradient(circle at 20% 20%, #7dd3fc24, transparent 30%), radial-gradient(circle at 80% 10%, #f5c46a1f, transparent 24%), linear-gradient(180deg, var(--page-bg), var(--page-bg-2));image-rendering:pixelated;background-attachment:fixed;margin:0;overflow:hidden}body:before{content:"";pointer-events:none;opacity:.14;mix-blend-mode:soft-light;background-image:url(/sand.png);background-repeat:repeat;background-size:16px 16px;position:fixed;inset:0}*{box-sizing:border-box}button,input,textarea,select,a{font:inherit}button{color:var(--ink);cursor:pointer;background-blend-mode:screen, multiply;text-shadow:0 2px #0000008c;background-color:#6f3d15f0;background-image:linear-gradient(#ffffff14,#00000024),url(/wood.png);background-repeat:repeat;background-size:auto,16px 16px;border:2px solid #ffffff2e;border-radius:12px;padding:.8rem 1.1rem;transition:transform .14s,filter .14s,box-shadow .14s;box-shadow:0 8px #1c1007e6,0 14px 28px #00000047}button:hover{filter:brightness(1.08);transform:translateY(-1px)}button:active{transform:translateY(2px);box-shadow:0 6px #1c1007e0,0 10px 18px #00000038}button:disabled{opacity:.45;cursor:default;transform:none}input{color:var(--ink)}img{image-rendering:pixelated}#root{height:100vh;min-height:100vh}.app-chrome{flex-direction:column;height:100vh;min-height:100vh;display:flex}.bottom-bar{z-index:1500;min-height:48px;color:var(--ink);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:linear-gradient(#0c121ebd,#0c121ee6);border-top:1px solid #ffffff1f;justify-content:space-between;align-items:center;gap:1rem;padding:.45rem .8rem;font-size:.62rem;display:flex;position:relative}.bottom-bar button{padding:.45rem .7rem;font-size:.62rem;box-shadow:0 6px #1c1007d6,0 10px 22px #0000002e}.bottom-bar-actions{align-items:center;gap:.5rem;display:flex}.auth-container{place-items:center;min-height:calc(100vh - 72px);padding:2rem 1rem;display:grid}.auth-card{border:1px solid var(--panel-border);width:min(560px,100%);box-shadow:var(--shadow);background:linear-gradient(#ffffff14,#ffffff08),linear-gradient(#111d2dfa,#09121efa);border-radius:24px;padding:2rem;position:relative;overflow:hidden}.auth-card:before{content:"";opacity:.08;pointer-events:none;background-image:url(/wood.png);background-repeat:repeat;background-size:16px 16px;position:absolute;inset:0}.auth-card h2{color:var(--ink);text-align:center;margin:0 0 1.25rem;font-size:1rem;line-height:1.6}.auth-card p,.auth-card a,.auth-card label{line-height:1.7}.auth-card a{color:var(--accent-2);text-decoration:none}.auth-card a:hover{text-decoration:underline}.form-group{gap:.55rem;margin-bottom:1rem;display:grid}.form-group label{color:var(--muted);font-size:.72rem}.form-group input{width:100%;color:var(--ink);background:#060c14b3;border:1px solid #ffffff1f;border-radius:12px;outline:none;padding:.8rem .9rem}.form-group input:focus{border-color:#7dd3fc73;box-shadow:0 0 0 3px #7dd3fc1f}.message{color:var(--accent);text-align:center;margin-top:1rem}.auth-toggle{text-align:center;margin-top:1rem}.main{text-align:center;padding:20px}.app-shell{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.game-layout{text-align:center;flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.overlay{z-index:900;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#060c148a;position:fixed;inset:0}.game-screen{flex:1;justify-content:center;align-items:stretch;height:100%;min-height:0;padding:16px;display:flex;overflow:hidden}.lake{background-blend-mode:screen, multiply;width:100%;height:100%;min-height:360px;image-rendering:pixelated;background-color:#085c9ae0;background-image:url(/water.png);background-size:16px 16px;border:3px solid #fff3;border-radius:18px;flex:1;position:relative;overflow:hidden;box-shadow:inset 0 0 90px #00000073,0 24px 40px #0000003d}.lake:before{content:"";pointer-events:none;background:radial-gradient(circle at 30% 18%,#ffffff26,#0000 22%),radial-gradient(circle at 70% 28%,#ffffff14,#0000 26%);position:absolute;inset:0}.fish-dot{background:radial-gradient(circle at 30% 30%,#ffd98e,#ef8d29 70%,#d76a0b 100%);border-radius:50%;width:20px;height:20px;margin-top:-10px;margin-left:-10px;position:absolute;box-shadow:0 0 0 2px #0000002e}.fish-dot-hover{animation:.58s ease-in-out infinite alternate fish-bob}@keyframes fish-bob{0%{transform:translateY(-3px)}to{transform:translateY(3px)}}.fish-dot-bite{z-index:5;filter:drop-shadow(0 0 10px #ffc8328c);animation:.35s ease-in-out infinite alternate fish-bite-pulse}@keyframes fish-bite-pulse{0%{transform:scale(1)}to{transform:scale(1.18)}}.bobber{z-index:10;background:radial-gradient(circle at 35% 30%,#ff8f8f,#ff4545 72%,#c91616 100%);border:3px solid #fffffff5;border-radius:50%;width:20px;height:20px;margin-top:-10px;margin-left:-10px;animation:.5s ease-out bobber-cast-in;position:absolute;box-shadow:0 0 0 2px #0000002e}@keyframes bobber-cast-in{0%{opacity:0;transform:scale(0)translateY(-40px)}50%{opacity:1;transform:scale(1.4)translateY(0)}70%{transform:scale(.85)}to{transform:scale(1)}}.bobber-bite{animation:.36s ease-in-out infinite alternate bobber-dunk}@keyframes bobber-dunk{0%{transform:translateY(0)}to{transform:translateY(6px)}}.bobber-catch{animation:.6s ease-in forwards bobber-reel-in}@keyframes bobber-reel-in{0%{opacity:1;transform:scale(1)}30%{opacity:1;transform:scale(1.6)}to{opacity:0;transform:scale(0)translateY(-60px)}}.sidebar{width:0;height:100%;color:var(--ink);z-index:1000;background-blend-mode:screen, multiply;background-color:#562f12f0;background-image:linear-gradient(#ffffff0a,#0000001f),url(/wood.png);background-repeat:repeat;background-size:auto,16px 16px;flex-direction:column;transition:width .22s;display:flex;position:fixed;top:0;overflow:visible;box-shadow:0 0 0 1px #ffffff14,0 24px 48px #00000047}.sidebar.open{width:min(320px,88vw)}.sidebar.left{border-right:1px solid #ffffff1f;left:0}.sidebar.right{border-left:1px solid #ffffff1f;right:0}.side-tab{cursor:pointer;-webkit-user-select:none;user-select:none;background-color:#5c3418f5;background-image:linear-gradient(#ffffff0f,#00000029),url(/wood.png);background-repeat:repeat;background-size:auto,16px 16px;border:1px solid #ffffff29;border-radius:10px;place-items:center;width:32px;height:84px;display:grid;position:absolute;top:20px;box-shadow:0 10px 24px #00000042}.left-tab{right:-32px}.right-tab{left:-32px}.tabs{flex-direction:column;gap:10px;margin-top:auto;padding:56px 12px 16px;display:flex}.tabs button,.lb-tab{box-shadow:none;background:#0000002e;border-radius:10px;padding:.75rem .6rem;font-size:.72rem}.tabs button.active,.lb-tab.active{background:#7dd3fc24;border-color:#7dd3fc80}.sidebar h2{text-align:center;margin:0;padding:1rem 1rem .25rem;font-size:.9rem}.inventory-list,.leaderboard{flex-direction:column;gap:10px;max-height:calc(100vh - 96px);padding:12px;display:flex;overflow-y:auto}.inventory-empty,.lb-empty{text-align:center;color:var(--muted);padding:20px;font-size:.72rem;line-height:1.8}.inventory-search{width:100%;color:var(--ink);background:#040a128c;border:1px solid #ffffff29;border-radius:12px;outline:none;padding:.75rem .85rem;font-size:.66rem}.inventory-search::placeholder{color:#f8efe273}.fish-card,.lb-row,.tutorial-overlay{border:1px solid #ffffff1f}.fish-card{background-blend-mode:screen, multiply;background-color:#6c421deb;background-image:linear-gradient(#ffffff0d,#0000001f),url(/wood.png);background-repeat:repeat;background-size:auto,16px 16px;border-radius:16px;align-items:center;gap:10px;padding:.75rem;display:flex;box-shadow:0 12px 24px #0000002e}.fish-card-img-wrap{flex-shrink:0;width:50px;height:35px;position:relative}.fish-card-img{object-fit:contain;width:50px;height:35px}.fish-card-qty{text-align:center;background:#0a1018d1;border:1px solid #ffffff2e;border-radius:999px;min-width:1.4rem;padding:.1rem .3rem;font-size:.62rem;position:absolute;bottom:-4px;right:-6px}.fish-card-info{flex-direction:column;gap:.3rem;min-width:0;display:flex}.fish-card-name,.lb-row-name,.tutorial-title,.auth-card h2,.bottom-bar{text-shadow:0 2px #00000047}.fish-card-name{word-break:break-word;font-size:.82rem;line-height:1.5}.fish-card-rarity{letter-spacing:.12em;text-transform:uppercase;color:var(--accent-2);font-size:.58rem}.fish-card-best{letter-spacing:.08em;text-transform:uppercase;color:var(--accent);font-size:.56rem}.fish-card-stats{color:var(--muted);flex-wrap:wrap;gap:.65rem;font-size:.6rem;display:flex}.leaderboard{gap:12px}.lb-header{padding:.25rem .25rem 0}.lb-header h2{text-align:center;color:var(--ink);margin:0;font-size:.82rem}.lb-row{background-blend-mode:screen, multiply;background-color:#6c421deb;background-image:linear-gradient(#ffffff0d,#0000001f),url(/wood.png);background-repeat:repeat;background-size:auto,16px 16px;border-radius:16px;align-items:center;gap:10px;padding:.8rem .85rem;display:flex;box-shadow:0 12px 24px #0000002e}.lb-medal{flex-shrink:0;font-size:1rem}.lb-row-info{flex-direction:column;gap:.25rem;min-width:0;display:flex}.lb-row-name{font-size:.72rem;line-height:1.5}.lb-row-value{color:var(--accent-2);font-size:.58rem}.action-controls{padding:0 16px 20px}.caught-overlay{z-index:2000;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#040a14d1;justify-content:center;align-items:center;animation:.3s ease-out caught-fade-in;display:flex;position:fixed;inset:0}@keyframes caught-fade-in{0%{opacity:0}to{opacity:1}}.caught-card{text-align:center;background:linear-gradient(#ffffff14,#ffffff05),linear-gradient(#111d2df5,#09121efa);border:1px solid #ffffff29;border-radius:24px;flex-direction:column;align-items:center;gap:1rem;padding:2.5rem 2rem;animation:.4s cubic-bezier(.34,1.56,.64,1) caught-pop-in;display:flex;box-shadow:0 32px 64px #00000080}@keyframes caught-pop-in{0%{opacity:0;transform:scale(.5)}to{opacity:1;transform:scale(1)}}.caught-title{color:var(--accent);text-shadow:0 2px #0006;margin:0;font-size:1rem}.caught-details{flex-direction:column;align-items:center;gap:.5rem;display:flex}.caught-sprite{object-fit:contain;width:180px;height:120px;image-rendering:pixelated;filter:drop-shadow(0 8px 10px #00000059)}.caught-name{color:var(--ink);margin:0;font-size:1.2rem;font-weight:700}.caught-rarity{text-transform:uppercase;letter-spacing:.12em;margin:0;font-size:.7rem}.caught-stats{color:var(--muted);gap:1.2rem;font-size:.72rem;display:flex}.caught-done-btn{min-width:120px;margin-top:.5rem}.tutorial-overlay{z-index:2000;background:radial-gradient(circle at top,#7dd3fc14,#0000 30%),linear-gradient(#080e18f5,#0e1826fa);flex-direction:column;justify-content:space-between;gap:1.25rem;padding:24px;display:flex;position:fixed;inset:0;box-shadow:inset 0 0 0 9999px #00000029}.tutorial-header{justify-content:space-between;align-items:center;display:flex}.tutorial-page-count{color:var(--muted);font-size:.62rem}.tutorial-close{border-radius:999px;padding:.45rem .65rem}.tutorial-body{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:1rem;padding:1rem 0;display:flex}.tutorial-title{margin:0;font-size:.95rem;line-height:1.6}.tutorial-text{max-width:62ch;color:var(--muted);font-size:.68rem;line-height:2}.tutorial-nav{flex-wrap:wrap;justify-content:center;gap:.9rem;display:flex}.tutorial-btn{min-width:120px}.tutorial-btn-done{border-color:#7dd3fc73}.fish-dot,.bobber,.side-tab{image-rendering:pixelated}@media (width<=900px){.sidebar.open{width:min(280px,86vw)}.game-screen{padding:10px}.lake{border-radius:14px;min-height:280px}.auth-card{padding:1.35rem}.auth-card h2,.bottom-bar,.lb-header h2,.tutorial-title{font-size:.8rem}.fish-card-name,.lb-row-name{font-size:.66rem}}@media (width<=640px){.bottom-bar{min-height:44px;padding:.4rem .6rem;font-size:.56rem}.bottom-bar button{padding:.4rem .6rem;font-size:.56rem}.bottom-bar-actions{gap:.35rem}.auth-container{min-height:calc(100vh - 96px);padding:1rem}.tutorial-overlay{padding:16px}.tutorial-btn,.tutorial-close{min-height:44px}.sidebar.open{width:min(260px,90vw)}}
