:root{--ink:#112e3c;--muted:#708590;--teal:#14a58a;--deep:#082c3b;--cream:#f5f7f3;--line:#e7edeb;--gold:#ffca71}*{box-sizing:border-box}body{margin:0;background:var(--cream);color:var(--ink);font-family:'Kanit',system-ui,sans-serif}button,input{font:inherit}button{cursor:pointer;border:0}.auth-shell{min-height:100vh;display:grid;grid-template-columns:1fr 1fr;background:white}.auth-art{position:relative;overflow:hidden;background:linear-gradient(155deg,#b8e8df 0%,#d8f1e7 45%,#f7d5a3 100%);display:flex;align-items:center;justify-content:center;min-height:650px}.auth-art:before{content:"";position:absolute;inset:auto -10% -19% -10%;height:55%;background:#267e83;border-radius:50% 50% 0 0/25% 25% 0 0;box-shadow:0 -22px 0 #58b3a7,0 -45px 0 #86cdb7}.auth-art:after{content:"";position:absolute;inset:auto -10% -28%;height:34%;background:#0b5063;border-radius:50% 50% 0 0/18% 18% 0 0}.sun{width:180px;height:180px;position:absolute;top:13%;right:20%;border-radius:50%;background:linear-gradient(#ffdc93,#ffb66a);box-shadow:0 0 0 25px #ffdf9b44,0 0 100px #f4ae6688}.auth-brand{position:relative;z-index:2;text-align:center;margin-top:-80px;color:#164452}.auth-brand>span{font-size:56px;filter:drop-shadow(0 8px 5px #30696c44)}.auth-brand small{letter-spacing:4px;font-size:11px;font-weight:600;opacity:.7}.auth-brand h1{font-size:64px;line-height:1.2;margin:5px 0;font-weight:600}.auth-brand p{font-size:17px;line-height:1.8;opacity:.75}.bird{position:absolute;top:27%;left:18%;font-size:30px;color:#407a78;transform:rotate(-8deg)}.auth-card{width:min(440px,84%);align-self:center;justify-self:center;padding:50px 0}.eyebrow{color:var(--teal);font-size:12px;font-weight:600;letter-spacing:2px}.auth-card h2{font-size:32px;margin:10px 0 4px;font-weight:600}.muted{color:var(--muted);margin:0 0 32px;font-weight:300}.auth-card label{display:block;font-size:14px;font-weight:500;margin:16px 0}.auth-card input{width:100%;display:block;margin-top:7px;padding:14px 15px;border:1px solid var(--line);border-radius:12px;outline:none;background:#fbfcfb;transition:.2s}.auth-card input:focus{border-color:var(--teal);box-shadow:0 0 0 3px #14a58a1c}.primary{background:var(--teal);color:white;border-radius:12px;padding:13px 20px;font-weight:500;box-shadow:0 8px 18px #14a58a29;transition:.2s}.primary:hover{background:#108b75;transform:translateY(-1px)}.wide{width:100%;margin-top:18px;display:flex;align-items:center;justify-content:center;gap:9px}.wide span{font-size:18px}.auth-switch{text-align:center;color:var(--muted);font-size:14px;margin:24px 0}.text-button{background:transparent;color:var(--teal);font-weight:600;padding:2px 4px}.auth-note{text-align:center;color:#93a19e;border-top:1px solid var(--line);padding-top:20px;font-size:12px}.mobile-logo{display:none}
#app:has(.game-shell){background:#f4f7f5;min-height:100vh}.game-shell{max-width:1440px;margin:auto;padding:22px 30px 40px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-bottom:19px;border-bottom:1px solid var(--line)}.brand-small{display:flex;align-items:center;gap:10px;font-size:21px;font-weight:600}.brand-icon{background:#ddf4ee;border-radius:12px;padding:8px;font-size:22px}.top-actions{display:flex;align-items:center;gap:10px}.coin-pill,.user-pill{background:#fff;border:1px solid var(--line);border-radius:100px;padding:8px 14px;font-size:14px}.coin-pill{color:#ad770f}.avatar{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#dbf1ea;margin-right:6px}.logout{color:#7e9297;background:none;padding:9px}.welcome{display:flex;align-items:end;justify-content:space-between;margin:25px 0 20px}.welcome h2{font-size:27px;margin:0;font-weight:600}.welcome p{margin:3px 0;color:var(--muted)}.section-label{font-weight:600;font-size:15px;margin-bottom:12px}.maps{display:grid;grid-template-columns:repeat(4,1fr);gap:13px}.map-card{position:relative;text-align:left;overflow:hidden;min-height:142px;padding:16px;color:#fff;border:2px solid transparent;border-radius:16px;background:linear-gradient(140deg,#73c8ad,#258982);transition:.2s}.map-card:nth-child(2){background:linear-gradient(140deg,#79bdae,#3c8090)}.map-card:nth-child(3){background:linear-gradient(140deg,#87b2b0,#3c677d)}.map-card:nth-child(4){background:linear-gradient(140deg,#6dc4ce,#28657d)}.map-card:hover{transform:translateY(-3px)}.map-card.active{border-color:#ffd283;box-shadow:0 8px 22px #0b48532c}.map-card.locked{filter:saturate(.45);opacity:.64;cursor:not-allowed}.map-emoji{font-size:27px}.map-name{font-weight:600;font-size:16px;margin-top:4px}.map-level{font-size:12px;opacity:.8}.lock{position:absolute;top:14px;right:15px}.layout{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(290px,.9fr);gap:17px;margin-top:19px}.panel{background:white;border:1px solid var(--line);border-radius:17px;padding:18px}.scene{min-height:340px;position:relative;overflow:hidden;border-radius:14px;background:linear-gradient(#b9e6dc 0%,#bfe8dd 45%,#549e98 46%,#24767d 100%);display:flex;align-items:center;justify-content:center}.scene:before{content:"";position:absolute;width:130%;height:54%;left:-15%;bottom:-22%;background:#176878;border-radius:50% 50% 0 0/30% 30% 0 0;box-shadow:0 -20px 0 #39938f,0 -38px 0 #61b2a0}.scene-sun{position:absolute;width:74px;height:74px;border-radius:50%;background:#ffd592;top:30px;right:48px;box-shadow:0 0 0 15px #fff1c72b}.mountain{position:absolute;bottom:48%;width:0;height:0;border-left:100px solid transparent;border-right:100px solid transparent;border-bottom:130px solid #7fae9c;left:3%}.mountain.two{left:auto;right:1%;border-left-width:130px;border-right-width:130px;border-bottom-width:160px;border-bottom-color:#659b91}.scene-label{position:absolute;top:16px;left:18px;color:#fff;background:#124b5270;padding:6px 12px;border-radius:30px;font-size:12px;z-index:2}.player-boat{position:absolute;bottom:20%;left:22%;z-index:3;font-size:45px;filter:drop-shadow(0 6px 3px #103e4766)}.fishing-line{position:absolute;width:1px;height:90px;background:#fff;left:calc(22% + 46px);bottom:31%;transform:rotate(-12deg);z-index:2}.bobber{position:absolute;left:38%;bottom:24%;z-index:3;font-size:23px;filter:drop-shadow(0 3px 3px #063d44)}.water-glint{position:absolute;z-index:1;left:52%;bottom:24%;font-size:40px;color:#d7f5df}.scene-hud{position:absolute;right:16px;bottom:16px;z-index:3;background:#0c465a9c;border:1px solid #ffffff44;border-radius:12px;color:white;padding:10px 14px;min-width:160px}.scene-hud small{opacity:.75}.scene-hud strong{display:block;font-size:18px}.scene-controls{display:flex;align-items:center;gap:9px;margin-top:13px}.cast-button{flex:1}.control-help{font-size:12px;color:var(--muted)}.fight-area{display:none;margin-top:12px;padding:14px;border:1px solid #f0d296;background:#fffaf0;border-radius:13px}.fight-area.show{display:block}.fight-head{display:flex;justify-content:space-between;font-weight:500}.meter{height:12px;background:#e7efed;border-radius:10px;overflow:hidden;margin:10px 0}.meter i{display:block;height:100%;width:25%;background:linear-gradient(90deg,#54c8a6,#ffcc6e);border-radius:10px;transition:width .12s}.fight-actions{display:flex;gap:8px}.hold-button{touch-action:none;user-select:none;-webkit-user-select:none;flex:1;background:#123e4c;color:white;border-radius:10px;padding:11px}.release-button{background:#e8f6f1;color:#168c75;border-radius:10px;padding:11px 18px}.feed-log{font-size:13px;color:#45636b;min-height:24px;margin-top:9px}.right-stack{display:flex;flex-direction:column;gap:14px}.mission-card{background:linear-gradient(135deg,#f0fbf7,#fff);border-color:#dcefe8}.mission-title{font-weight:600;font-size:17px}.mission-desc{color:var(--muted);font-size:13px;margin:3px 0 10px}.mission-progress{height:7px;background:#e4efeb;border-radius:6px;overflow:hidden;margin:9px 0}.mission-progress i{display:block;height:100%;background:var(--teal);border-radius:6px}.mission-row{display:flex;align-items:center;justify-content:space-between;font-size:12px;color:var(--muted)}.mission-row b{color:#946b15}.small-btn{font-size:12px;padding:7px 12px;margin-top:9px}.small-btn:disabled{background:#dfe7e4;box-shadow:none;color:#7b8b86;cursor:default}.tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);margin:-2px 0 12px}.tab{background:none;color:#8a9b9c;padding:7px 9px;font-size:13px;border-bottom:2px solid transparent}.tab.active{color:var(--teal);border-color:var(--teal);font-weight:500}.list{display:flex;flex-direction:column;gap:8px;max-height:190px;overflow:auto}.list-row{display:flex;align-items:center;justify-content:space-between;background:#f8faf9;border-radius:10px;padding:9px 10px;font-size:12px}.list-row b{display:block;font-size:13px}.tag{font-size:10px;color:#ab7d23;background:#fff3d4;border-radius:99px;padding:3px 7px}.room-bar{display:flex;gap:8px}.room-bar input{min-width:0;flex:1;border:1px solid var(--line);border-radius:9px;padding:9px 10px;outline:none}.room-code{font-weight:600;letter-spacing:2px;color:#168d78}.players{font-size:12px;color:var(--muted);margin-top:8px;min-height:18px}.social-row{display:flex;gap:6px;margin-top:10px}.emote{background:#f2f7f5;border-radius:9px;padding:7px 10px}.catch-list .list-row{background:#fff}.footer-note{text-align:center;font-size:11px;color:#9aa9a5;margin-top:20px}.toast{position:fixed;z-index:20;left:50%;bottom:24px;transform:translate(-50%,20px);opacity:0;pointer-events:none;background:#103c49;color:white;padding:12px 20px;border-radius:12px;box-shadow:0 12px 35px #123c4933;transition:.25s;max-width:90%;text-align:center}.toast.show{opacity:1;transform:translate(-50%,0)}.modal-backdrop{position:fixed;inset:0;background:#062c36a6;display:grid;place-items:center;z-index:30;padding:18px}.modal{background:white;border-radius:18px;padding:24px;width:min(420px,100%);text-align:center}.modal h3{margin:0;font-size:23px}.modal .big-fish{font-size:60px;margin:15px}.modal p{color:var(--muted)}.modal-actions{display:flex;gap:9px}.modal-actions button{flex:1}.danger{color:#9a6e1a;background:#fff4d9;box-shadow:none}.hidden{display:none!important}
@media(max-width:900px){.game-shell{padding:16px}.layout{grid-template-columns:1fr}.maps{grid-template-columns:repeat(2,1fr)}.map-card{min-height:125px}.scene{min-height:310px}.right-stack{display:grid;grid-template-columns:1fr 1fr}.right-stack>.panel:first-child{grid-column:1/-1}}
@media(max-width:640px){.auth-shell{display:flex;min-height:100svh;align-items:center}.auth-art{display:none}.auth-card{width:100%;padding:28px 25px}.mobile-logo{display:block;color:var(--teal);font-size:24px;margin-bottom:35px}.auth-card h2{font-size:29px}.game-shell{padding:12px 12px 28px}.topbar{padding-bottom:12px}.brand-small{font-size:17px}.brand-icon{font-size:18px;padding:6px}.user-pill{font-size:0;padding:4px;border:0}.avatar{font-size:14px;margin:0}.coin-pill{font-size:12px;padding:7px 10px}.logout{font-size:12px;padding:5px}.welcome{display:block;margin:18px 2px}.welcome h2{font-size:22px}.welcome p{font-size:13px}.maps{gap:8px}.map-card{min-height:112px;padding:12px;border-radius:13px}.map-name{font-size:14px}.map-level{font-size:11px}.panel{padding:13px;border-radius:14px}.layout{gap:12px;margin-top:13px}.scene{min-height:260px}.player-boat{font-size:39px;left:17%}.fishing-line{left:calc(17% + 40px);height:75px}.bobber{left:39%}.scene-hud{right:9px;bottom:9px;min-width:123px;padding:7px 9px}.scene-hud strong{font-size:15px}.scene-controls{align-items:stretch;flex-wrap:wrap}.control-help{width:100%;text-align:center}.right-stack{display:flex}.room-bar input{font-size:12px}.tabs{justify-content:space-between}.tab{padding:7px 5px;font-size:12px}}

/* Full-screen golden-hour fishing layout, based on the approved visual direction. */
#app:has(.game-shell){background:#062d39;color:#f5fbf9}
.game-shell{position:relative;max-width:none;min-height:100vh;padding:10px 18px 14px;background:radial-gradient(ellipse at 48% 0%,#145767 0%,#062d39 60%);overflow:hidden}
.topbar{position:relative;z-index:8;min-height:76px;padding:4px 12px 10px;border-bottom:1px solid #78d7cc35;color:#f3fbf8}
.brand-small{font-size:23px;color:#f8fbf8}.brand-icon{background:#0d5d66;color:#74f1d7;border:1px solid #55dacb66}
.top-actions{gap:9px}.coin-pill,.user-pill{background:#073e4c;border:1px solid #31b7a65c;color:#effcf8}.coin-pill{color:#ffd36d}.logout{color:#b4d0ce}
.welcome{display:none}
.maps{position:absolute;z-index:6;top:98px;left:20px;right:410px;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.map-card{min-height:114px;padding:12px 14px;border:1px solid #a4f7e76b;border-radius:15px;background:linear-gradient(180deg,#0c4450a8,#062b38df),linear-gradient(135deg,#65b8a2,#165764);box-shadow:0 10px 28px #001b2470;backdrop-filter:blur(8px)}
.map-card:nth-child(2){background:linear-gradient(180deg,#0c4450a8,#062b38df),linear-gradient(135deg,#49a9b0,#236481)}
.map-card:nth-child(3){background:linear-gradient(180deg,#0c4450a8,#062b38df),linear-gradient(135deg,#ffb968,#a74f3d)}
.map-card:nth-child(4){background:linear-gradient(180deg,#0c4450a8,#062b38df),linear-gradient(135deg,#5d9ca3,#162f5c)}
.map-card.active{border:2px solid #6df0d1;box-shadow:0 0 0 2px #2bcbb24d,0 12px 28px #001b247a}
.map-emoji{font-size:22px}.map-name{font-size:16px;text-shadow:0 2px 5px #001b24}.map-level{font-size:12px;color:#d2f8ef}
.layout{position:relative;display:block;height:calc(100vh - 94px);min-height:650px;margin:0}
.layout>.panel:first-child{position:absolute;inset:0;z-index:0;padding:0;border:0;background:transparent}
.scene{position:absolute;inset:0;min-height:0;height:100%;border:1px solid #91eddb55;border-radius:18px;background:#0b5962 url('/river-sunset.png') center 55%/cover no-repeat;box-shadow:inset 0 0 0 1px #ffffff16,0 14px 40px #00182080}
.scene:before{inset:0;width:auto;height:auto;left:0;bottom:0;border-radius:0;background:linear-gradient(180deg,#062c3866 0%,transparent 34%,transparent 58%,#032a3ab8 100%);box-shadow:none}
.scene-sun,.mountain,.player-boat,.fishing-line,.bobber,.water-glint{display:none}
.scene-label{top:226px;left:22px;color:#e8fffa;background:#063b48c9;border:1px solid #73e0d27a;padding:8px 14px;font-size:14px;box-shadow:0 6px 20px #001c2480}
.scene-hud{right:auto;left:22px;bottom:104px;background:#063b48d9;border:1px solid #73e0d266;color:#f4fffc;backdrop-filter:blur(10px)}
.scene-controls{position:absolute;z-index:4;left:35%;right:27%;bottom:18px;display:flex;justify-content:center;gap:10px;margin:0;padding:0}
.cast-button{flex:1;background:linear-gradient(135deg,#20c9aa,#087e80);border:1px solid #99f6df;box-shadow:0 7px 24px #002b3680;font-size:17px}
.scene-controls .release-button{background:#073d4bdf;color:#d9f8f0;border:1px solid #65ddcf;padding:13px 18px}
.control-help{position:absolute;bottom:58px;left:0;right:0;text-align:center;color:#e3f9f5;text-shadow:0 1px 5px #001a20;font-size:12px}
.fight-area{position:absolute;z-index:5;left:32%;right:27%;bottom:18px;margin:0;padding:12px 15px;background:#063845e8;border:1px solid #61daca8a;border-radius:17px;color:#f2fffc;box-shadow:0 12px 36px #001c2480;backdrop-filter:blur(12px)}
.fight-head{color:#f2fffc}.meter{height:16px;background:#123d48;border:1px solid #71d8c47d}.meter i{background:linear-gradient(90deg,#20d5a2,#b0e95c,#ffd04d,#ff654d)}
.hold-button{background:linear-gradient(135deg,#1dbfe0,#0875aa);border:1px solid #8deaff;border-radius:999px;padding:12px 18px;font-weight:600}
.fight-actions .release-button{background:linear-gradient(135deg,#ff795e,#d94035);border:1px solid #ffc3a6;color:white;border-radius:999px;font-weight:600}
.feed-log{color:#c5eeea}
.right-stack{position:absolute;z-index:7;top:14px;right:12px;width:370px;max-height:calc(100% - 24px);overflow:auto;display:flex;flex-direction:column;gap:10px;padding:0 2px 8px 0;scrollbar-width:thin;scrollbar-color:#4c9d9b transparent}
.right-stack .panel{background:#052f3ce8;border:1px solid #35c2ad72;border-radius:16px;padding:13px 14px;color:#ecfaf7;box-shadow:0 10px 28px #001b2473;backdrop-filter:blur(12px)}
.right-stack .section-label{color:#f2fffb;font-size:16px;margin-bottom:8px}.mission-card{background:#052f3ce8!important;border-color:#35c2ad72!important}
.mission-title{color:#fff;font-size:17px}.mission-desc,.mission-row{color:#b9d8d5}.mission-row b{color:#ffd46c}.mission-progress{height:9px;background:#103f49}.mission-progress i{background:linear-gradient(90deg,#32d6b1,#7be5c2)}
.tabs{border-bottom-color:#4b999277;margin:0 0 9px}.tab{color:#aac8c7}.tab.active{color:#6df0d1;border-color:#55e4cb}.list{max-height:168px}.list-row{background:#0b4350;color:#f0fcf9;border:1px solid #3ab5a25c}.list-row span:not(.tag){color:#b7d4d2}.tag{background:#684f1c;color:#ffe08c}
.room-bar input{background:#073d49;border:1px solid #4ab9a66e;color:#f3fffb}.room-bar input::placeholder{color:#9fc4c1}.room-bar .primary{padding:8px 12px}.room-bar .release-button{background:#0b4b57;color:#d6f8ef;border:1px solid #4ac7b4}.players{color:#c1ddda}.room-code{color:#ffe07a}.emote{background:#0c4954;color:#e9fffa;border:1px solid #5bcbb55c}
.footer-note{display:none}
@media(max-width:900px){.game-shell{padding:10px}.maps{left:10px;right:10px;top:88px}.layout{height:auto;min-height:0;margin-top:0;padding-top:130px;display:grid;grid-template-columns:1fr}.layout>.panel:first-child{position:relative;inset:auto;height:420px}.scene{position:absolute;inset:0;height:100%;min-height:0}.scene-label{top:12px}.scene-controls{left:10%;right:10%;bottom:14px}.fight-area{left:10%;right:10%;bottom:14px}.right-stack{position:relative;top:auto;right:auto;width:100%;max-height:none;display:grid;grid-template-columns:1fr 1fr;overflow:visible;padding:0}.right-stack>.panel:first-child{grid-column:1/-1}}
@media(max-width:640px){.game-shell{padding:8px}.topbar{min-height:62px;gap:6px}.brand-small{font-size:16px}.top-actions{gap:4px}.coin-pill{font-size:11px;padding:6px 8px}.logout{font-size:11px}.maps{top:74px;left:8px;right:8px;gap:6px}.map-card{min-height:84px;padding:8px;border-radius:11px}.map-emoji{font-size:18px}.map-name{font-size:12px}.map-level{font-size:9px}.layout{padding-top:98px}.layout>.panel:first-child{height:360px}.scene-label{top:8px;left:8px;font-size:11px}.scene-hud{left:8px;bottom:86px;min-width:0}.scene-controls{left:5%;right:5%;bottom:10px}.cast-button,.scene-controls .release-button{font-size:13px;padding:10px}.control-help{bottom:48px;font-size:10px}.fight-area{left:3%;right:3%;bottom:8px;padding:9px}.fight-actions{gap:5px}.hold-button,.fight-actions .release-button{font-size:12px;padding:10px}.right-stack{display:flex;gap:8px}.right-stack .panel{padding:11px}.list{max-height:140px}}

/* Reference-aligned game HUD and touch-friendly feedback */
.topbar{display:grid;grid-template-columns:auto minmax(340px,1fr) auto;align-items:center;gap:18px}
.brand-small{line-height:1.1;white-space:nowrap}.brand-small>span:last-child{display:flex;flex-direction:column}.brand-small small{font-size:9px;letter-spacing:.7px;color:#9ed9d0;font-weight:400;margin-top:4px}
.main-nav{justify-self:center;display:flex;align-items:center;gap:4px;padding:5px;background:#052d39b8;border:1px solid #57c9b64d;border-radius:17px;box-shadow:inset 0 1px #ffffff10}
.nav-item{min-width:62px;padding:5px 12px;background:transparent;color:#b7d8d4;border-radius:12px;font-size:20px;line-height:1;transition:transform .2s,background .2s,color .2s}
.nav-item span{display:block;font-size:10px;margin-top:4px}.nav-item:hover{transform:translateY(-2px);color:#fff}.nav-item.active{background:linear-gradient(135deg,#37dec0,#1cae9c);color:#073b45;box-shadow:0 5px 15px #23cbb455}
.player-summary{display:inline-flex;flex-direction:column;vertical-align:middle;line-height:1.2}.player-summary small{font-size:10px;color:#9ed9d0;margin-top:3px}.avatar{font-size:22px}
.map-heading{display:flex;align-items:center;justify-content:space-between;position:absolute;top:83px;left:20px;right:410px;z-index:6;color:#eafffa;font-size:13px;font-weight:600;text-shadow:0 1px 5px #001c24}.map-hint{font-weight:300;font-size:11px;color:#b5ddda}
.maps{top:109px}.map-card{isolation:isolate;min-height:127px;border-color:#a4f7e760}.map-card:before{content:"";position:absolute;z-index:-1;inset:0;background:radial-gradient(ellipse at 75% 10%,#fff8 0%,transparent 40%),linear-gradient(180deg,transparent 25%,#052f3ed9 100%);opacity:.8;transition:opacity .2s}.map-card:nth-child(1){background:linear-gradient(135deg,#237e60,#bc9a58 50%,#15536a)}.map-card:nth-child(2){background:linear-gradient(135deg,#26758a,#7dbac3 48%,#16394e)}.map-card:nth-child(3){background:linear-gradient(135deg,#ba6f42,#f1ad65 46%,#363e52)}.map-card:nth-child(4){background:linear-gradient(135deg,#152e58,#42869a 50%,#101c3c)}.map-card:hover:before{opacity:.5}.map-card.active{transform:translateY(-2px);box-shadow:0 0 0 2px #2bcbb24d,0 12px 28px #001b247a}
.layout{height:calc(100vh - 94px)}.scene-panel{overflow:visible}.scene{isolation:isolate;background-position:center 58%;transition:filter .5s}.scene:after{content:"";position:absolute;z-index:0;inset:0;pointer-events:none;background:linear-gradient(90deg,#032a3866 0%,transparent 38%,transparent 72%,#042f3a30 100%);mix-blend-mode:multiply}
.scene:before{z-index:0;background:linear-gradient(180deg,#062c3860 0%,transparent 34%,transparent 58%,#032a3ab8 100%),linear-gradient(90deg,#062c3845,transparent 45%);animation:riverLight 8s ease-in-out infinite alternate}
.fisher-person{position:absolute;z-index:2;left:12%;bottom:17%;width:90px;height:130px;display:flex;align-items:center;justify-content:center;filter:drop-shadow(0 8px 7px #001f2670);animation:anglerBob 3.8s ease-in-out infinite;transform-origin:bottom center}
.fisher-hat{position:absolute;top:4px;left:24px;font-size:34px;z-index:2;transform:rotate(-14deg)}.fisher-body{font-size:72px;position:absolute;bottom:0;left:10px;transform:scaleX(-1)}
.player-boat{display:block;z-index:1;left:7%;bottom:10%;font-size:75px;animation:boatSway 4.5s ease-in-out infinite}
.fishing-line{display:block;z-index:3;height:125px;width:2px;left:calc(12% + 78px);bottom:32%;transform:rotate(-26deg);transform-origin:top center;box-shadow:0 0 3px #e6fff7;animation:rodSway 3s ease-in-out infinite}
.bobber{display:block;z-index:3;left:42%;bottom:25%;font-size:20px;animation:bobberFloat 2s ease-in-out infinite;filter:drop-shadow(0 0 8px #ff695c)}
.water-glint{display:block;z-index:1;left:53%;bottom:28%;font-size:62px;color:#c8fff5;opacity:.55;animation:glint 3.4s ease-in-out infinite}.splash-rings{position:absolute;z-index:2;left:40%;bottom:20%;width:68px;height:19px;border:2px solid #c3fff0ad;border-radius:50%;opacity:0;transform:scale(.45);pointer-events:none}
.scene-weather{position:absolute;z-index:2;right:18px;top:64px;padding:9px 13px;color:#edfffa;background:#073b48b5;border:1px solid #c8fff144;border-radius:12px;font-size:12px;backdrop-filter:blur(8px)}
.scene-label{z-index:3}.scene-hud{z-index:3}.scene-controls{z-index:4}.fight-area{z-index:5}.scene.is-casting .fishing-line{animation:castLine .65s ease-out 1}.scene.is-casting .bobber{animation:castBobber .65s ease-out 1,bobberFloat 2s .65s ease-in-out infinite}.scene.is-casting .scene-status{color:#fff}.scene.is-bite .bobber{animation:biteBobber .34s ease-in-out infinite alternate}.scene.is-bite .splash-rings{opacity:1;animation:splash 1s ease-out infinite}.scene.is-bite .fisher-person{animation:anglerExcited .38s ease-in-out infinite alternate}.scene.is-bite .fishing-line{animation:lineTug .38s ease-in-out infinite alternate}.scene.is-caught .scene:after{opacity:.6}.scene.is-caught .splash-rings{opacity:1;animation:splash .7s ease-out 2}.scene.is-lost{filter:saturate(.7)}
.safe-zone{position:absolute;left:35%;width:40%;height:100%;border:1px solid #8fffc077;background:#61ffb51a;pointer-events:none}.meter{position:relative}.fight-area.show{animation:panelPop .25s ease-out}.hold-button:active{transform:scale(.97);filter:brightness(1.15)}.release-button:active,.cast-button:active{transform:scale(.97)}button:focus-visible,input:focus-visible{outline:3px solid #8fffea;outline-offset:2px}
.right-stack .panel{transition:transform .2s,border-color .2s}.right-stack .panel:hover{border-color:#67e9d4aa}.panel-heading{display:flex;justify-content:space-between;align-items:center;font-size:14px;font-weight:600;margin-bottom:9px}.panel-heading small{font-size:10px;color:#98c7c3;font-weight:400}.online-dot{font-size:10px;color:#79e8b0}.online-dot:first-letter{font-size:9px}
.map-card:disabled{filter:saturate(.45)}.map-card.locked:after{content:"🔒";position:absolute;top:10px;right:12px;font-size:15px}
@keyframes anglerBob{0%,100%{transform:translateY(0) rotate(-2deg)}50%{transform:translateY(-5px) rotate(2deg)}}@keyframes boatSway{0%,100%{transform:rotate(-2deg) translateY(1px)}50%{transform:rotate(2deg) translateY(-3px)}}@keyframes rodSway{0%,100%{transform:rotate(-26deg)}50%{transform:rotate(-22deg)}}@keyframes bobberFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes glint{0%,100%{opacity:.22;transform:translateX(0)}50%{opacity:.75;transform:translateX(10px)}}@keyframes riverLight{from{opacity:.55}to{opacity:.9}}@keyframes castLine{0%{transform:rotate(-60deg) scaleY(.3)}100%{transform:rotate(-26deg) scaleY(1)}}@keyframes castBobber{0%{transform:translate(-100px,-70px) scale(.4)}70%{transform:translate(8px,6px) scale(1.2)}100%{transform:translate(0,0) scale(1)}}@keyframes biteBobber{from{transform:translateY(-2px) rotate(-7deg)}to{transform:translateY(6px) rotate(8deg)}}@keyframes splash{0%{transform:scale(.4);opacity:.85}100%{transform:scale(2.2);opacity:0}}@keyframes anglerExcited{from{transform:translateY(0) rotate(-3deg)}to{transform:translateY(-8px) rotate(4deg)}}@keyframes lineTug{from{transform:rotate(-32deg)}to{transform:rotate(-17deg)}}@keyframes panelPop{from{transform:translateY(8px);opacity:.5}to{transform:translateY(0);opacity:1}}
@media(max-width:1100px){.topbar{grid-template-columns:auto 1fr auto;gap:8px}.main-nav{gap:0}.nav-item{min-width:52px;padding:5px 8px}.map-heading{right:10px}.maps{right:10px}.layout{height:auto;min-height:0;padding-top:154px}.layout>.panel:first-child{position:relative;inset:auto;height:clamp(350px,55vw,500px)}.scene{position:absolute;inset:0;height:100%}.right-stack{position:relative;top:auto;right:auto;width:100%;max-height:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));overflow:visible;padding:0}.right-stack>.panel:first-child{grid-column:1/-1}}
@media(max-width:720px){.game-shell{padding:7px 8px 22px}.topbar{position:sticky;top:0;z-index:20;grid-template-columns:1fr auto;gap:6px;padding:5px 4px 8px;background:#062e3bf2;backdrop-filter:blur(12px)}.brand-small{font-size:15px}.brand-small small{font-size:8px}.brand-icon{font-size:17px}.main-nav{grid-column:1/-1;grid-row:2;justify-self:stretch;justify-content:space-around;padding:3px;border-radius:13px}.nav-item{flex:1;min-width:0;padding:5px 3px;font-size:17px}.nav-item span{font-size:9px;margin-top:3px}.top-actions{grid-column:2;grid-row:1}.player-summary{display:none}.user-pill{padding:4px}.avatar{margin:0}.logout{font-size:10px;padding:4px}.map-heading{position:relative;top:auto;left:auto;right:auto;padding:10px 3px 6px;font-size:12px}.map-hint{font-size:9px}.maps{position:relative;inset:auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.map-card{min-height:86px;padding:8px 9px}.map-emoji{font-size:18px}.map-name{font-size:12px}.map-level{font-size:9px}.layout{padding-top:0;margin-top:9px;gap:8px}.layout>.panel:first-child{height:clamp(270px,73vw,390px);border-radius:14px}.scene{border-radius:14px}.scene-weather{top:44px;right:8px;font-size:9px;padding:6px 8px}.scene-weather span{display:none}.scene-label{top:8px;left:8px;padding:5px 8px;font-size:10px}.fisher-person{left:8%;bottom:18%;transform:scale(.74);transform-origin:bottom left}.player-boat{left:1%;bottom:8%;font-size:54px}.fishing-line{left:calc(8% + 58px);height:88px;bottom:33%}.bobber{left:43%;bottom:25%;font-size:16px}.water-glint{font-size:42px}.scene-hud{left:8px;right:auto;bottom:83px;min-width:0;padding:6px 8px}.scene-hud small{font-size:9px}.scene-hud strong{font-size:12px}.scene-controls{left:8px;right:8px;bottom:8px;gap:6px}.scene-controls .cast-button,.scene-controls .release-button{min-height:42px;font-size:12px;padding:8px 9px}.control-help{bottom:49px;font-size:9px}.fight-area{left:5px;right:5px;bottom:5px;padding:8px;border-radius:13px}.fight-head{font-size:11px}.meter{height:13px;margin:6px 0}.fight-actions{gap:5px}.hold-button,.fight-actions .release-button{min-height:42px;font-size:11px;padding:8px 5px}.feed-log{font-size:10px;min-height:17px;margin-top:5px}.right-stack{display:flex;gap:8px}.right-stack .panel{padding:10px}.right-stack .section-label{font-size:14px}.panel-heading{font-size:12px}.tabs{gap:2px}.tab{flex:1;font-size:10px;padding:7px 2px}.list{max-height:210px}.list-row{padding:8px;font-size:10px}.list-row b{font-size:11px}.room-bar{gap:5px}.room-bar .primary,.room-bar .release-button{padding:8px 9px;font-size:10px}.room-bar input{font-size:11px;padding:8px}.room-panel .players{font-size:10px}.modal{padding:20px}.modal-actions button{font-size:12px;padding:10px 6px}}
@media(max-width:380px){.brand-small small{display:none}.coin-pill{font-size:10px;padding:5px 6px}.map-hint{max-width:45%;text-align:right}.scene-weather{display:none}.maps{gap:5px}.map-card{min-height:78px}.right-stack .panel{padding:8px}.room-bar .primary,.room-bar .release-button{padding:7px}.nav-item span{font-size:8px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}

/* Distinct scene art and illustrated fish/tackle */
.scene{background-image:var(--scene-image,url('/map-pond.png'));background-position:center 58%;background-size:cover;background-color:#0b5962}
.map-card{background-image:linear-gradient(180deg,#061f2570 0%,#092b35a1 58%,#052832e8 100%),var(--map-image);background-position:center;background-size:cover;background-repeat:no-repeat}
.map-card:before{background:linear-gradient(180deg,#ffffff12 0%,transparent 40%,#031e2be0 100%)}
.scene-fish{position:absolute;z-index:1;width:84px;opacity:.64;filter:drop-shadow(0 3px 3px #062b3570);pointer-events:none}
.scene-fish .fish-svg{width:100%;height:auto;color:#b8efde}.fish-a{left:47%;bottom:18%;animation:fishSwimA 10s ease-in-out infinite}.fish-b{left:69%;bottom:31%;width:52px;opacity:.44;animation:fishSwimB 13s ease-in-out infinite}
.scene.is-bite .scene-fish{animation-duration:1s;opacity:.95}.scene.is-bite .fish-a{animation:fishStrike .65s ease-in-out infinite alternate}
.fish-svg{width:100%;height:100%;overflow:visible}.fish-body{fill:currentColor;stroke:#fff9;stroke-width:1.3}.fish-tail{fill:#f59862;stroke:#fff8;stroke-width:1.5}.fish-fin{fill:#ffd077;stroke:#fff8;stroke-width:1.4}.fish-eye{fill:#092a35;stroke:#fff;stroke-width:1.3}.fish-gill,.fish-stripe{fill:none;stroke:#fff9;stroke-width:1.4;stroke-linecap:round}.fish-stripe{opacity:.7}.fish-art{width:62px;height:44px;padding:4px;color:#64d9c4}.fish-art.rare{color:#79adf3;background:#172e58}.fish-art.legendary{color:#ffca6c;background:#594121}.fish-art .fish-tail{fill:#ff906a}.fish-art .fish-fin{fill:#ffe08b}
.item-art{width:58px;height:46px;flex:0 0 58px;display:grid;place-items:center;border-radius:10px;background:linear-gradient(145deg,#0e5661,#0a3748);border:1px solid #5fe2cf55;color:#62e7d2}.item-art.line{color:#a9e0f1}.item-art.hook{color:#ffd77a}.item-art.bait{color:#ff9b73}.gear-svg{width:54px;height:42px;overflow:visible}.rod-shaft,.rod-ring,.rod-tip,.spool-detail,.hook-path,.hook-point,.bait-body,.bait-leg{fill:none;stroke:currentColor;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.rod-shaft{stroke:#c18b50;stroke-width:4}.rod-handle{fill:#74503b;stroke:#d6a16b;stroke-width:1}.rod-ring{stroke:#daeff0;stroke-width:1.5}.rod-tip{stroke:#deeee8;stroke-width:1.5}.spool-outer{fill:#1a7782;stroke:#b9f8ef;stroke-width:3}.spool-inner{fill:#072d3a;stroke:#e1fff7;stroke-width:2}.spool-detail{stroke:#99ddd5;stroke-width:1.5}.hook-path{stroke:#e5c568;stroke-width:4}.hook-point{stroke:#fff1bd;stroke-width:2}.hook-eye{fill:none;stroke:#fff0b0;stroke-width:3}.bait-body{stroke:#ff986e;stroke-width:7}.bait-leg{stroke:#ffc69b;stroke-width:1.5}.bait-eye{fill:#142b32;stroke:#fff;stroke-width:1.5}
.list-row{gap:9px}.item-copy{min-width:0;flex:1}.item-copy b{line-height:1.25}.item-copy>span{display:block;line-height:1.35;margin-top:3px}.catch-row .item-art{animation:catchCardFloat 3s ease-in-out infinite}.empty-collection{display:grid;justify-items:center;gap:4px;padding:18px;color:#c0e0dc;text-align:center}.empty-collection>span{font-size:35px;animation:fishSwimA 4s ease-in-out infinite}.empty-collection small{font-size:10px;color:#9dc9c5}.shop-loading{padding:16px;text-align:center;color:#acd8d3;font-size:12px}
.big-fish{width:128px;height:100px;margin:12px auto;display:grid;place-items:center;color:#27aa99;animation:catchReveal .6s cubic-bezier(.2,1.4,.5,1)}.big-fish .fish-svg{width:100%;height:100%}.big-fish.rare{color:#428bdd}.big-fish.legendary{color:#e6a830}
@keyframes fishSwimA{0%,100%{transform:translateX(-20px) translateY(0) scaleX(1)}48%{transform:translateX(90px) translateY(-8px) scaleX(1)}50%{transform:translateX(90px) translateY(-8px) scaleX(-1)}98%{transform:translateX(-20px) translateY(0) scaleX(-1)}}@keyframes fishSwimB{0%,100%{transform:translateX(20px) translateY(0) scaleX(-1)}48%{transform:translateX(-65px) translateY(9px) scaleX(-1)}50%{transform:translateX(-65px) translateY(9px) scaleX(1)}98%{transform:translateX(20px) translateY(0) scaleX(1)}}@keyframes fishStrike{from{transform:translateY(0) scale(1)}to{transform:translateY(-35px) scale(1.18)}}@keyframes catchCardFloat{0%,100%{transform:rotate(-3deg) translateY(0)}50%{transform:rotate(3deg) translateY(-3px)}}@keyframes catchReveal{from{transform:scale(.25) rotate(-20deg);opacity:0}to{transform:scale(1) rotate(0);opacity:1}}
@media(max-width:720px){.scene{background-position:center 58%}.scene-fish{width:58px}.fish-a{left:45%;bottom:19%}.fish-b{left:68%;bottom:33%;width:39px}.item-art{width:46px;height:42px;flex-basis:46px}.gear-svg{width:44px;height:36px}.fish-art{width:49px;height:40px}.big-fish{width:96px;height:82px}}
.map-place{display:block;font-size:10px;color:#d5f5ec;opacity:.9;margin-top:2px}.scene-changing{animation:sceneEnter .72s ease-out}.scene-changing:after{animation:sceneFlash .7s ease-out}.map-card.active{animation:cardSelect .3s ease-out}.scene.is-bite .scene-hud{animation:panelPop .25s ease-out;box-shadow:0 0 0 2px #ffcf5a70,0 12px 34px #001a20aa}@keyframes sceneEnter{0%{filter:brightness(.72);transform:scale(1.025)}100%{filter:brightness(1);transform:scale(1)}}@keyframes sceneFlash{0%{opacity:.75}100%{opacity:1}}@keyframes cardSelect{0%{transform:scale(.97)}100%{transform:translateY(-2px) scale(1)}}
@media(max-width:720px){.map-place{font-size:9px}.map-card{background-position:center 55%}}

/* Character selection, species art, outfits and separate animated float */
.gender-picker{display:flex;align-items:center;justify-content:center;gap:12px;margin:14px 0 18px;flex-wrap:wrap}.gender-label{width:100%;font-size:13px;color:#48666b}.gender-option{display:flex;flex-direction:column;align-items:center;gap:5px;min-width:92px;padding:7px 12px;border:2px solid #d9e8e3;border-radius:14px;background:#f8fbfa;color:#23474d}.gender-option.selected{border-color:#39b99d;background:#eafff7;box-shadow:0 4px 14px #168c7520}.gender-option img{height:72px;width:64px;object-fit:contain}.avatar-wrap{position:relative;width:38px;height:38px;overflow:visible;background:#dff5ed}.avatar-wrap img{height:42px;width:35px;object-fit:contain;align-self:end}.outfit-stamp{position:absolute;right:-5px;bottom:-3px;width:17px;height:17px;border-radius:50%;display:grid;place-items:center;background:#fff;font-size:10px;font-style:normal;box-shadow:0 1px 5px #143b3555}.fish-art-real{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 3px 4px #123b3940)}.fish-art{padding:2px}.big-fish{height:106px;display:grid;place-items:center;margin:10px auto 15px}.big-fish .fish-art-real{width:135px;height:100px}.scene-fish .fish-art-real{filter:drop-shadow(0 0 6px #e9ffddaa)}.item-art.outfit{background:#f9eddc}.shirt-shape{fill:#3caa91;stroke:#176e63;stroke-width:2;stroke-linejoin:round}.shirt-detail{stroke:#d7fff1;stroke-width:2}.first-person-rod{position:absolute;z-index:3;pointer-events:none;height:112%;max-width:75%;width:auto;right:-2%;bottom:-12%;object-fit:contain;filter:drop-shadow(0 7px 8px #061e2b70);transform-origin:90% 88%;animation:rodIdle 4s ease-in-out infinite}.line-swoop{position:absolute;inset:0;width:100%;height:100%;z-index:2;overflow:visible;pointer-events:none}.line-swoop path{fill:none;stroke:#eafff7;stroke-width:.22;vector-effect:non-scaling-stroke;filter:drop-shadow(0 0 2px #153f42)}.bobber{left:57%;bottom:27%;width:13px;height:27px;z-index:4;display:block;font-size:0;animation:bobberFloat 2.1s ease-in-out infinite}.bobber-top,.bobber-bottom{display:block;position:absolute;left:2px;width:9px;height:13px;border-radius:8px 8px 3px 3px;background:linear-gradient(90deg,#fa665e,#c82932);box-shadow:0 0 8px #ff6258aa}.bobber-top{top:0}.bobber-bottom{top:12px;background:linear-gradient(90deg,#fff,#d6e8df);border-radius:3px 3px 7px 7px}.scene.is-bite .bobber{animation:biteBobber .24s ease-in-out infinite alternate}.scene.is-bite .first-person-rod{animation:rodTug .3s ease-in-out infinite alternate}.scene.is-casting .first-person-rod{animation:rodCast .65s ease-out}.scene.is-bite .line-swoop path{stroke:#fffbd0;stroke-width:.3}.scene .splash-rings{left:calc(57% - 25px);bottom:24%;border-color:#d9fff3}.map-card:before{opacity:.3}.map-card{background-image:linear-gradient(180deg,#00162008 0%,#062b358e 100%),var(--map-image);background-size:cover;background-position:center}.map-card:nth-child(n){background-color:#236d72}.auth-card .gender-picker{margin:11px 0 17px}.auth-card .gender-label{text-align:left}.settings-modal .gender-picker{margin:16px 0 22px}.settings-modal .modal-actions{margin-top:8px}
@keyframes rodIdle{0%,100%{transform:rotate(0)}50%{transform:rotate(-.8deg)}}@keyframes rodTug{from{transform:rotate(0) translateY(0)}to{transform:rotate(-2deg) translateY(5px)}}@keyframes rodCast{0%{transform:rotate(8deg)}100%{transform:rotate(0)}}
@media(max-width:720px){.first-person-rod{height:96%;max-width:86%;right:-8%;bottom:-7%}.bobber{left:59%;bottom:25%;transform:scale(.8)}.line-swoop path{stroke-width:.2}.gender-option{min-width:78px}.gender-option img{height:60px;width:54px}.avatar-wrap{width:30px;height:30px}.avatar-wrap img{height:35px;width:28px}}

/* v6: replace the older boat-side angler and emoji float with the POV rod artwork */
.scene .fisher-person,.scene .player-boat,.scene .fishing-line,.scene .water-glint{display:none!important}
.scene .first-person-rod{display:block!important}
/* v7: transparent POV rod sized to stay clear of the HUD and controls */
.scene .first-person-rod{height:78%;max-width:58%;right:-3%;bottom:-6%;width:auto;object-fit:contain}
.scene .bobber{left:57%;bottom:27%}
@media(max-width:720px){.scene .first-person-rod{height:60%;max-width:58%;right:-5%;bottom:-2%}.scene .bobber{left:58%;bottom:26%}}
/* v8: connected line follows animated rod tip and float; collapsible HUD */
.scene .line-swoop path{stroke-width:1.3;vector-effect:non-scaling-stroke}.scene.is-bite .line-swoop path{stroke-width:1.6}
.view-tools{position:absolute;z-index:10;left:18px;top:200px;display:flex;gap:8px}.view-tools button,.hud-toggle{border:1px solid #71dac499;background:#073c4ee8;color:#e8fff9;border-radius:10px;padding:8px 12px;font-size:12px;cursor:pointer;backdrop-filter:blur(6px)}.hud-section{min-width:0}.hud-toggle{display:block;width:100%;text-align:right;margin-bottom:4px}.hud-section.is-collapsed>.panel{display:none}.game-shell.panels-hidden .right-stack{display:none}.game-shell.maps-hidden .maps,.game-shell.maps-hidden .map-heading{display:none}.game-shell.maps-hidden .view-tools{top:70px}
@media(max-width:1100px){.hud-section:first-child{grid-column:1/-1}.view-tools{top:60px}.game-shell.maps-hidden .layout{padding-top:0}}
@media(max-width:720px){.view-tools{top:46px;left:8px;gap:4px}.view-tools button{padding:6px 8px;font-size:10px}.game-shell.maps-hidden .view-tools{top:46px}.hud-toggle{font-size:11px;padding:7px 10px}}
/* v9 graded gear shop and workshop */
.gear-actions{display:flex;flex-direction:column;gap:6px;align-items:center;flex-shrink:0}.gear-actions button{font-size:11px;padding:7px 9px}.upgrade-button{border:1px solid #dfbe74;background:#70521d;color:#fff5d4;border-radius:9px;padding:7px 10px}.material-summary{padding:7px 9px;color:#c1e9ff;font-size:12px;background:#16394b;border-radius:8px}.item-copy small{display:block;color:#a5c8c6;font-size:10px;line-height:1.4;margin-top:4px}.shop-filters{display:flex;gap:7px;position:sticky;top:0;z-index:2;padding:5px 0 9px;background:#103d46}.shop-filters select{width:50%;min-width:0;background:#082d3c;color:#e2fff8;border:1px solid #55bda1;padding:8px;border-radius:8px;font:inherit;font-size:12px}.shop-products{display:flex;flex-direction:column;gap:8px}.item-art[class*="gear-grade"]{border-color:var(--gear-accent);color:var(--gear-accent);overflow:hidden}.rod-shop-icon{width:100%;height:100%;object-fit:cover;object-position:center 62%;border-radius:8px}.item-art.rod{height:72px;width:62px;flex-basis:62px;padding:0}.upgrade-modal .item-art{width:105px;height:130px;margin:12px auto;--gear-accent:#dcab54}.upgrade-modal .rod-shop-icon{object-fit:cover}.equipped-rod-label{position:absolute;right:18px;bottom:108px;z-index:4;background:#052f40d9;color:#f6f4d6;padding:7px 12px;border:1px solid #e2cb7370;border-radius:10px;font-size:12px;pointer-events:none}.first-person-rod[data-upgrade="3"],.first-person-rod[data-upgrade="4"]{filter:drop-shadow(0 0 5px var(--rod-glow))}.first-person-rod[data-upgrade="5"]{filter:drop-shadow(0 0 10px var(--rod-glow)) drop-shadow(0 0 2px #fff)}.buy:disabled,.upgrade-modal button:disabled{opacity:.55;cursor:default}.gear-panel .list{max-height:290px}.upgrade-modal{max-height:90svh;overflow:auto}
@media(max-width:720px){.equipped-rod-label{right:8px;bottom:90px;font-size:9px;padding:5px 8px;max-width:65%}.item-art.rod{height:62px;width:48px;flex-basis:48px}.shop-filters select{font-size:11px}.gear-panel .list{max-height:300px}}
