:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--ink:#f5eedf;--muted:#b9bdad;--soft:#8f998b;--bg:#111417;--bg-2:#171b1d;--panel:#1c201fe6;--panel-2:#262a27e0;--line:#ffffff1f;--amber:#e8a84d;--gold:#ffd36c;--teal:#4fb49f;--green:#82b366;--red:#d95f59;--wine:#a84468;--blue:#6ca3bf;--violet:#8d7bd8;--shadow:0 18px 48px #0000005c}*{box-sizing:border-box}body{background:linear-gradient(135deg, #4fb49f14, transparent 32%), linear-gradient(225deg, #a8446814, transparent 30%), var(--bg);color:var(--ink);letter-spacing:0;margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}h1,h2,h3,h4,h5,h6{margin:0;font-family:Outfit,Inter,sans-serif;font-weight:700}button,select,input{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}.guest-session-gate{z-index:1000;-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);pointer-events:all;background:#090c0ce6;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.guest-session-card{text-align:center;background:linear-gradient(150deg,#262a27fa,#141817fa);border:1px solid #ffd36c4d;border-radius:16px;width:min(460px,100%);padding:34px 32px 28px;box-shadow:0 24px 80px #0000008f,0 0 0 1px #4fb49f14}.guest-session-mark{width:56px;height:56px;color:var(--gold);object-fit:contain;background:linear-gradient(160deg,#e8a84d47,#4fb49f29);border:1px solid #ffd36c61;border-radius:11px;place-items:center;margin:0 auto 20px;font-weight:900;display:grid}.guest-session-card h2{margin-top:8px;font-size:clamp(26px,5vw,34px)}.guest-session-copy{max-width:370px;color:var(--muted);margin:14px auto 24px;line-height:1.6}.guest-session-login{background:linear-gradient(135deg, var(--amber), var(--gold));color:#171714;border:1px solid #ffd36c80;border-radius:10px;justify-content:center;align-items:center;width:100%;min-height:48px;padding:0 20px;font-weight:900;text-decoration:none;transition:transform .16s,filter .16s;display:inline-flex}.guest-session-login:hover,.guest-session-login:focus-visible{filter:brightness(1.08);transform:translateY(-1px)}.guest-session-note{color:var(--soft);margin:14px 0 0;font-size:12px}.app-shell{grid-template-columns:280px minmax(0,1fr);min-height:100vh;display:grid}.rail{z-index:20;border-right:1px solid var(--line);background:#0e1011f0;flex-direction:column;gap:18px;height:100vh;padding:18px;display:flex;position:sticky;top:0}.brand-block{align-items:center;gap:12px;min-height:52px;display:flex}.brand-mark{width:48px;height:48px;color:var(--gold);object-fit:contain;background:linear-gradient(160deg,#e8a84d42,#4fb49f26);border:1px solid #ffd36c5c;border-radius:8px;place-items:center;font-weight:900;display:grid}.brand-name{font-size:20px;font-weight:900}.brand-sub,.eyebrow,small{color:var(--muted)}.brand-sub,.eyebrow{text-transform:uppercase;font-size:12px}.player-panel,.panel,.shop-item,.quest-card,.location-card,.upgrade-card,.fish-card,.catch-row,.live-board article,.tournament-panel,.npc-card,.achievement,.place-tile{border:1px solid var(--line);background:var(--panel);box-shadow:var(--shadow);border-radius:8px}.player-panel{padding:14px}.money{color:var(--gold);font-size:26px;font-weight:900}.mini-grid{color:var(--muted);grid-template-columns:repeat(2,1fr);gap:8px;margin:12px 0;font-size:13px;display:grid}.bar{background:#ffffff1a;border-radius:999px;height:8px;overflow:hidden}.bar+.bar{margin-top:8px}.bar i{border-radius:inherit;background:linear-gradient(90deg, var(--teal), var(--gold));height:100%;transition:width .65s cubic-bezier(.22,1,.36,1);display:block;position:relative;overflow:hidden}.bar i:after{content:"";background:linear-gradient(105deg,#0000 22%,#ffffff4d 48%,#0000 70%) 0 0/200% 100%;animation:2.6s ease-in-out infinite barShimmer;position:absolute;inset:0}@keyframes barShimmer{0%{background-position:-100% 0}55%{background-position:200% 0}to{background-position:200% 0}}.bar.energy i{background:linear-gradient(90deg, var(--green), var(--amber))}.nav-list{gap:8px;display:grid}.nav-btn,.place-tile,.ghost-btn,.soft-btn,.primary-btn,.danger-btn,.tab-btn,.image-button{border:1px solid var(--line);color:var(--ink);border-radius:8px}.nav-btn{text-align:left;background:0 0;grid-template-columns:38px 1fr;align-items:center;min-height:46px;padding:7px 10px;display:grid}.nav-icon{object-fit:cover;border:1px solid #ffffff1f;border-radius:8px;width:32px;height:32px;box-shadow:0 7px 16px #00000038}.nav-btn.active,.tab-btn.active,.segmented .active{background:#e8a84d2e;border-color:#ffd36cad;box-shadow:inset 0 0 0 1px #ffd36c1f,0 0 16px #e8a84d24}.nav-btn.active{animation:3s ease-in-out infinite alternate navActiveGlow}@keyframes navActiveGlow{0%{box-shadow:inset 0 0 0 1px #ffd36c1a,0 0 10px #e8a84d1a}to{box-shadow:inset 0 0 0 1px #ffd36c38,0 0 24px #e8a84d38}}.nav-btn,.tab-btn,.ghost-btn,.soft-btn,.primary-btn,.danger-btn,.image-button{transition:transform .18s cubic-bezier(.34,1.56,.64,1),background .15s,border-color .15s,opacity .15s,box-shadow .18s;position:relative;overflow:hidden}.primary-btn:after,.soft-btn:after{content:"";opacity:0;border-radius:inherit;pointer-events:none;background:radial-gradient(circle,#ffffff38 0%,#0000 68%);transition:opacity .45s,transform .45s;position:absolute;inset:0;transform:scale(0)}.primary-btn:active:after,.soft-btn:active:after{opacity:1;transition-duration:0s;transform:scale(2.8)}.nav-btn:hover:not(:disabled),.tab-btn:hover:not(:disabled),.ghost-btn:hover:not(:disabled){background:#ffffff1a}.primary-btn:hover:not(:disabled){filter:brightness(1.12);transform:translateY(-2px);box-shadow:0 8px 24px #e8a84d61}.primary-btn:active:not(:disabled){filter:brightness(.95);box-shadow:none;transition-duration:60ms;transform:translateY(0)scale(.96)}.soft-btn:hover:not(:disabled){background:#4fb49f38;border-color:#4fb49f8c;transform:translateY(-1px)}.soft-btn:active:not(:disabled){transition-duration:60ms;transform:translateY(0)scale(.97)}.danger-btn:active:not(:disabled){transition-duration:60ms;transform:scale(.97)}.rail-foot{margin-top:auto;padding-bottom:20px}.main-screen{min-width:0;padding:22px}.topbar{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:20px;display:flex}h1,h2,h3,p{margin-top:0}h1{margin-bottom:0;font-size:clamp(28px,4vw,48px);line-height:1}h2{margin-bottom:12px;font-size:clamp(26px,3.6vw,44px);line-height:1.05}h3{margin-bottom:8px;font-size:18px;line-height:1.2}p{color:var(--muted);line-height:1.5}.top-pills,.compact-row,.tag-row,.hero-actions,.district-tabs,.control-strip,.fish-card-head,.panel-head{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.top-pills span,.compact-row span,.tag-row span{border:1px solid var(--line);min-height:28px;color:var(--muted);background:#ffffff0f;border-radius:999px;padding:5px 9px;font-size:12px}@media (max-width:900px){.app-shell{grid-template-columns:minmax(0,1fr)}.rail{border-right:none;border-bottom:1px solid var(--line);min-width:0;height:auto;padding:12px;position:static}.nav-list{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.brand-block{justify-content:center}.main-screen{padding:16px}}@media (max-width:600px){.nav-list{grid-template-columns:1fr 1fr}h1{font-size:28px}}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:#ffffff0a;border-radius:3px}::-webkit-scrollbar-thumb{background:#ffd36c47;border-radius:3px;transition:background .2s}::-webkit-scrollbar-thumb:hover{background:#ffd36c7a}.eyebrow{letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-size:11px;font-weight:800}.money{font-feature-settings:"tnum" 1;letter-spacing:-.02em}.panel-head h3{letter-spacing:-.02em;font-size:16px}.city-hero h2{text-shadow:0 3px 20px #000000b3;letter-spacing:-.04em}.topbar h1{letter-spacing:-.05em}.section-title{letter-spacing:-.02em;color:var(--ink);opacity:.9;margin:28px 0 14px;font-size:18px}:focus-visible{outline-offset:2px;border-radius:4px;outline:2px solid #ffd36cb8}html{scroll-behavior:smooth}::selection{color:var(--ink);background:#ffd36c4d}:root{--bg:#080e12;--bg-2:#101b20;--panel:#0e1a1ee0;--panel-2:#142327e6;--ink:#f4f0e7;--muted:#9eada9;--soft:#6f8585;--line:#bed8cf29;--line-strong:#eac2705c;--amber:#c78a43;--gold:#f0c875;--teal:#56b8aa;--shadow:0 22px 60px #0000006b}html,body,#app{min-height:100%}body{letter-spacing:.01em;background:radial-gradient(90% 55% at 78% -8%,#31686f3d,#0000 64%),radial-gradient(72% 62% at 8% 100%,#194a4c38,#0000 68%),linear-gradient(135deg,#071014 0%,#0b1216 46%,#11151a 100%);font-family:Inter,Segoe UI,sans-serif}body:before{content:"";z-index:-1;pointer-events:none;opacity:.16;background-image:linear-gradient(115deg,#0000 0 48%,#ffffff0f 49%,#0000 50%);background-size:7px 7px;position:fixed;inset:0;-webkit-mask-image:linear-gradient(#000c,#0000 80%);mask-image:linear-gradient(#000c,#0000 80%)}h1,h2,h3,h4,h5,h6{letter-spacing:-.035em;font-family:Outfit,Inter,sans-serif}.app-shell{grid-template-columns:248px minmax(0,1fr)}.rail{background:linear-gradient(#081115fa,#0a1115eb);border-right-color:#a5ccc124;gap:22px;padding:22px 16px 16px;box-shadow:12px 0 40px #00000029}.brand-block{gap:11px}.brand-mark{background:linear-gradient(145deg,#f0c8753d,#31808033);border-radius:12px;width:46px;height:46px;box-shadow:inset 0 1px #ffffff29,0 10px 24px #00000040}.brand-name{letter-spacing:.1em;text-transform:uppercase;font-size:18px}.brand-sub{color:#75918d;letter-spacing:.16em;font-size:10px}.player-panel{background:linear-gradient(145deg,#1a2e31f5,#0b181de6);border-color:#f0c87533;border-radius:14px;padding:16px;position:relative;overflow:hidden;box-shadow:inset 0 1px #ffffff14,0 18px 34px #0000003d}.player-panel:after{content:"";border:1px solid #f0c8752e;border-radius:50%;width:110px;height:110px;position:absolute;top:-48px;right:-38px;box-shadow:0 0 0 12px #f0c8750a,0 0 0 24px #f0c87506}.money{color:var(--gold);text-shadow:0 2px 16px #f0c87529;font-size:29px}.nav-list{gap:6px}.nav-btn{color:#b8c5c0;background:#ffffff05;border-color:#0000;border-radius:11px;min-height:48px;transition:transform .2s,background .2s,border-color .2s,box-shadow .2s}.nav-btn:hover:not(:disabled),.nav-btn:focus-visible{background:#5d9d9b1f;border-color:#5d9d9b3d;transform:translate(3px)}.nav-btn.active{color:var(--ink);box-shadow:inset 3px 0 var(--gold), 0 10px 22px #00000029;background:linear-gradient(90deg,#c78a4338,#c78a430f);border-color:#f0c8756b;animation:none}.nav-btn.active:after{content:"";background:var(--gold);width:5px;height:5px;box-shadow:0 0 10px var(--gold);border-radius:50%;position:absolute;right:12px}.nav-icon{filter:saturate(.82)contrast(1.05);border-radius:9px}.main-screen{padding:30px clamp(18px,3.5vw,54px) 56px}.topbar{align-items:end;margin-bottom:26px}.topbar h1{letter-spacing:-.06em;font-size:clamp(34px,4vw,58px)}.topbar .eyebrow{color:var(--gold);letter-spacing:.2em}.top-pills span,.compact-row span,.tag-row span{color:#a9b8b4;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffff0b;border-color:#b1d3cc29;min-height:26px;padding:5px 10px}.panel,.shop-item,.quest-card,.location-card,.upgrade-card,.fish-card,.catch-row,.live-board article,.tournament-panel,.npc-card,.achievement,.place-tile{background:linear-gradient(145deg,#15262aeb,#0b171ce6);border-color:#b1d3cc26;border-radius:14px;box-shadow:inset 0 1px #ffffff0f,0 16px 38px #0000003d}.panel,.shop-item,.quest-card,.location-card,.upgrade-card,.fish-card,.npc-card,.achievement,.place-tile{transition:transform .22s,border-color .22s,box-shadow .22s}.panel:hover,.shop-item:hover,.quest-card:hover,.location-card:hover:not(.locked),.upgrade-card:hover,.fish-card:hover,.npc-card:hover,.achievement:hover,.place-tile:hover{border-color:#f0c8754d;transform:translateY(-3px);box-shadow:inset 0 1px #ffffff1a,0 22px 48px #00000057}.primary-btn,.soft-btn,.ghost-btn,.danger-btn,.tab-btn{border-radius:10px;min-height:42px}.primary-btn{background:linear-gradient(135deg,#f1ca7a,#ad672f);border-color:#ffda8bbf;box-shadow:0 10px 24px #b46a2f42,inset 0 1px #ffffff52}.primary-btn:hover:not(:disabled),.primary-btn:focus-visible{transform:translateY(-3px);box-shadow:0 16px 30px #b46a2f66,0 0 0 3px #f0c8751f}.soft-btn{background:#48a69c21;border-color:#56b8aa61}.soft-btn:hover:not(:disabled){background:#48a69c3b;box-shadow:0 10px 24px #2685802e}.ghost-btn,.tab-btn{background:#ffffff0b}:focus-visible{outline:2px solid var(--gold);outline-offset:3px}@media (max-width:1100px){.app-shell{grid-template-columns:minmax(0,1fr)}.rail{background:#081115f5;gap:14px;padding:14px 18px 10px}.brand-block{justify-content:flex-start}.player-panel{max-width:560px}.nav-btn.active{box-shadow:inset 0 -3px var(--gold), 0 8px 20px #00000024}.nav-btn.active:after{display:none}}@media (max-width:760px){.main-screen{padding:20px 12px 40px}.topbar{gap:12px;margin-bottom:18px}.topbar h1{font-size:clamp(30px,9vw,42px)}.rail{padding:12px}.brand-block{min-height:44px}.player-panel{padding:13px}.nav-list{gap:7px;padding-bottom:7px}.nav-btn{border-radius:12px;width:112px;min-height:58px}.nav-btn:hover:not(:disabled){transform:translateY(-2px)}.panel,.shop-item,.quest-card,.location-card,.upgrade-card,.fish-card,.npc-card,.achievement,.place-tile{border-radius:12px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}
.city-hero{border:1px solid var(--line);min-height:440px;box-shadow:var(--shadow);background-position:50%;background-size:cover;border-radius:8px;grid-template-columns:minmax(280px,560px) minmax(260px,380px);justify-content:space-between;align-items:end;gap:24px;padding:34px;display:grid}.hero-copy{padding-top:80px}.city-stats{grid-template-columns:repeat(2,1fr);gap:10px;max-width:360px;display:grid}.city-stats div{-webkit-backdrop-filter:blur(12px);background:#0f141866;border:1px solid #ffffff26;border-radius:8px;min-height:92px;padding:16px;transition:transform .2s,background .2s}.city-stats div:hover{background:#0f141899;transform:translateY(-2px)}.city-stats b{color:var(--gold);font-size:32px;display:block}.city-stats span{color:var(--muted)}.primary-btn,.soft-btn,.ghost-btn,.danger-btn,.tab-btn{min-height:38px;padding:9px 13px;font-weight:800}.tab-btn{align-items:center;gap:8px;display:inline-flex}.tab-icon{object-fit:cover;border-radius:7px;flex:none;width:26px;height:26px;box-shadow:0 6px 14px #0000003d}.primary-btn{color:#21170d;background:linear-gradient(#f1be61,#c87933);border-color:#ffd36cb3}.soft-btn{background:#4fb49f24;border-color:#4fb49f59}.ghost-btn,.tab-btn{background:#ffffff0d}.danger-btn{background:#d95f592e;border-color:#d95f597a}.danger-btn:hover:not(:disabled){background:#d95f5947;border-color:#d95f59ad;box-shadow:0 4px 12px #d95f5933}.urgent{animation:.72s infinite alternate urgent}.pulse{animation:1.3s infinite pulse}@keyframes urgent{0%{filter:brightness();transform:translateY(0)}to{filter:brightness(1.22);transform:translateY(-2px)}}@keyframes pulse{50%{opacity:.72}}.content-band,.shop-header,.market-head,.pedia-head,.tavern-scene{margin-top:18px;padding:20px 0}.live-board{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;margin-top:24px;display:grid}.live-board article{background:linear-gradient(135deg, #4fb49f1a, transparent 55%), var(--panel);cursor:default;border:1px solid #ffffff14;border-radius:12px;min-height:190px;padding:18px;transition:transform .22s cubic-bezier(.34,1.56,.64,1),box-shadow .22s,border-color .22s;box-shadow:0 8px 24px #00000038,inset 0 1px #ffffff0a}.live-board article:hover{border-color:#4fb49f38;transform:translateY(-5px)scale(1.012);box-shadow:0 16px 40px #0000005c,inset 0 2px #4fb49f14}.live-board article:first-child{background:linear-gradient(135deg, #e8a84d1f, transparent 48%), var(--panel);border-color:#ffd36c2e}.live-board article:first-child:hover{border-color:#ffd36c57;box-shadow:0 16px 40px #0000005c,0 0 32px #e8a84d14}.live-board article .eyebrow{letter-spacing:.14em;color:var(--muted);margin-bottom:8px;font-size:10px}.live-board article h3{margin-bottom:6px;font-size:17px;line-height:1.2}.district-tabs{margin-bottom:14px}.location-layout{grid-template-columns:minmax(0,1.25fr) minmax(260px,.75fr);gap:16px;display:grid}.location-focus{border:1px solid var(--line);background:var(--panel);border-radius:8px;grid-template-columns:minmax(280px,1fr) 330px;min-height:320px;display:grid;overflow:hidden}.location-focus img,.location-card img{object-fit:cover;width:100%;height:100%;display:block}.focus-info{padding:22px}.location-intel{gap:8px;margin:14px 0;display:grid}.location-intel div{border:1px solid var(--line);background:#ffffff0b;border-radius:8px;padding:10px}.location-intel span,.location-micro span{color:var(--muted);font-size:12px}.location-intel b{margin-top:3px;display:block}.location-micro{flex-wrap:wrap;gap:7px;margin:10px 0 12px;display:flex}.location-micro span{border:1px solid var(--line);background:#ffffff0b;border-radius:999px;min-height:26px;padding:5px 8px}.place-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.place-tile{text-align:left;background:var(--panel-2);min-height:150px;padding:14px}.place-icon{object-fit:cover;border:1px solid #ffffff1f;border-radius:8px;width:58px;height:58px;margin-bottom:8px;display:block;box-shadow:0 10px 22px #00000047}.place-tile small{margin-top:8px;line-height:1.35;display:block}.location-grid,.shop-grid,.quest-grid,.pedia-grid,.catch-list{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px;display:grid}.location-card{overflow:hidden}.location-card.active{border-color:#ffd36cb8;box-shadow:0 0 0 1px #ffd36c2e,0 12px 32px #00000047}.location-card{transition:transform .18s,box-shadow .18s,border-color .18s}.location-card:hover:not(.locked){border-color:#ffffff2e;transform:translateY(-3px);box-shadow:0 14px 36px #00000057}.location-card.locked img{filter:grayscale(.7)brightness(.65)}.image-button{background:radial-gradient(circle at 76% 24%,#6be4dd29,#0000 36%),linear-gradient(145deg,#173449 0%,#0b2234 58%,#081722 100%);width:100%;height:168px;padding:0;overflow:hidden}.location-card-body{padding:14px}.city-lead-line{max-width:620px;color:var(--ink);flex-wrap:wrap;gap:7px;margin:14px 0 0;display:inline-flex}.city-lead-line span,.city-reading span{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:11px;font-weight:800}.city-lead-line span{color:var(--gold);border:1px solid #ffd36c57;border-radius:999px;padding:2px 6px}.city-stats-career div{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.city-reading{border-top:1px solid var(--line);gap:4px;margin-top:14px;padding-top:12px;display:grid}.city-reading b{line-height:1.35}.lead-context{color:var(--ink);background:#ffd36c12;border-left:3px solid #ffd36cb8;margin:12px 0;padding:11px 13px;line-height:1.45}.lead-location{box-shadow:inset 0 0 0 1px #ffd36c42}.image-button{position:relative}.lead-pin{color:var(--gold);letter-spacing:.04em;background:#100e0bd1;border:1px solid #ffd36c7a;border-radius:999px;padding:5px 8px;font-size:11px;font-weight:800;position:absolute;bottom:10px;left:10px}.tab-badge{min-width:20px;height:20px;color:var(--muted);background:#ffffff1f;border-radius:999px;justify-content:center;align-items:center;padding:0 6px;font-size:11px;font-weight:800;display:inline-flex}.tab-btn.active .tab-badge{color:var(--gold);background:#ffd36c40}.card-top-row{justify-content:space-between;align-items:center;gap:8px;margin-bottom:4px;display:flex}.access-status-badge{letter-spacing:.02em;border-radius:999px;align-items:center;padding:3px 8px;font-size:11px;font-weight:800;display:inline-flex}.access-status-badge.open{color:#4fb49f;background:#4fb49f29;border:1px solid #4fb49f61}.access-status-badge.locked{color:#e06c65;background:#d95f5926;border:1px solid #d95f5959}.access-status-badge.locked-link{color:var(--gold);cursor:pointer;background:#ffd36c26;border:1px solid #ffd36c6b;transition:background .2s,transform .2s}.access-status-badge.locked-link:hover{background:#ffd36c47;transform:translateY(-1px)}.live-board-city{grid-template-columns:repeat(4,minmax(0,1fr))}.location-card.locked .location-intel{display:none}.location-card.locked .image-button{height:132px}.location-card.locked .location-card-body{padding-bottom:12px}.pedia-footer{text-align:center;border-top:1px solid #ffffff14;margin-top:32px;padding:16px 20px}.pedia-footer-text{color:#8f998b;flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;margin:0;font-size:12px;line-height:1.5;display:flex}.pedia-articles-link{color:#ffd36c;font-weight:600;text-decoration:none;transition:color .15s,-webkit-text-decoration .15s,text-decoration .15s}.pedia-articles-link:hover{color:#ffe39a;text-decoration:underline}
.fishing-stage{gap:12px;display:grid}.fishing-stage.is-fullscreen{z-index:9999;width:100vw;height:100vh;box-shadow:none;background:#080a0c;border-radius:0;flex-direction:column;display:flex;position:fixed;inset:0}.fishing-stage.is-fullscreen .control-strip{z-index:45;pointer-events:auto;position:absolute;bottom:20px;left:20px;right:20px}.fishing-stage.is-fullscreen.fight-active .control-strip{display:none}.fishing-stage.is-fullscreen .water-scene{width:100%;height:100%;min-height:0;box-shadow:none;border:none;border-radius:0;flex:1}.toggle-fullscreen-btn{z-index:40;-webkit-backdrop-filter:blur(12px);color:#fff;cursor:pointer;background:#0e161ca6;border:1px solid #ffffff38;border-radius:999px;justify-content:center;align-items:center;width:36px;height:36px;padding:0;font-family:inherit;font-size:13px;font-weight:600;transition:all .18s ease-in-out;display:flex;position:absolute;top:14px;right:14px;box-shadow:0 4px 14px #0006}.toggle-fullscreen-btn:hover{background:#182630e0;border-color:#ffffff73;transform:translateY(-1px)}.toggle-fullscreen-btn svg{fill:currentColor;width:15px;height:15px}.toggle-fullscreen-btn span,.scene-sound span{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.scene-sound{place-items:center;width:36px;height:36px;min-height:0;padding:0;font-size:0;display:grid}.scene-sound-icon{fill:currentColor;width:17px;height:17px}.water-scene{min-height:520px;box-shadow:inset 0 0 0 1px var(--line), var(--shadow);-webkit-mask-image:-webkit-radial-gradient(#fff,#000);box-shadow:var(--shadow);isolation:isolate;--cast-x:53%;--cast-y:58%;--depth-alpha:.28;--depth-size:118px;cursor:crosshair;background-position:50%;background-size:cover;background-clip:padding-box;border-radius:20px;position:relative;overflow:hidden;mask-image:radial-gradient(#fff,#000);container-type:size}.water-scene.fighting{cursor:grab}.water-scene.fighting:active{cursor:grabbing}.water-scene.bite{cursor:pointer}.water-scene.idle,.water-scene.landed{cursor:crosshair}.scene-shade{border-radius:inherit;pointer-events:none;background:linear-gradient(#080a0c0d,#080a0c26 48%,#080a0c73),linear-gradient(90deg,#0a0c0c73,#0000 35%);position:absolute;inset:-1px}.water-glints{opacity:.6;z-index:1;filter:blur(1px);background:repeating-linear-gradient(174deg,#ffe9b100 0 14px,#ffe9b11a 22px 25px,#ffe9b100 33px 44px),linear-gradient(#0000,#4fb49f14);height:44%;animation:9s linear infinite water;position:absolute;bottom:0;left:-12%;right:-12%;-webkit-mask-image:radial-gradient(at 50% 70%,#000 25%,#0000 90%);mask-image:radial-gradient(at 50% 70%,#000 25%,#0000 90%)}.scene-river .water-glints{opacity:.7;height:52%;animation-duration:6s}.scene-sea .water-glints,.scene-ocean .water-glints{opacity:.75;filter:blur(1.2px);background:repeating-linear-gradient(168deg,#fff0 0 10px,#ffffff1f 17px 19px,#fff0 26px 36px),linear-gradient(#0000,#6ca3bf29);height:58%;animation-duration:4.8s}.scene-reeds .water-glints{opacity:.5;background:repeating-linear-gradient(174deg,#ffe9b100 0 18px,#ffe9b112 26px 28px,#ffe9b100 36px 52px),linear-gradient(#0000,#82b3661a)}@keyframes water{to{transform:translate(40px)}}.surface-ripples,.depth-field,.cast-target,.cast-arc,.cast-splash,.strike-ring,.hook-flash,.fish-wake,.line-tension,.rod-cursor,.rod-handle,.rod-line{pointer-events:none;position:absolute}.depth-field{z-index:2;opacity:.78;mix-blend-mode:screen;inset:0}.depth-field i{background:radial-gradient(ellipse at center, rgba(10, 30, 36, var(--depth-alpha,.16)), #2c64690f 50%, transparent 75%);filter:blur(5px);border-radius:50%;display:block;position:absolute}.depth-field i:first-child{left:calc(var(--cast-x) - var(--depth-size) * .55);top:calc(var(--cast-y) - var(--depth-size) * .32);width:var(--depth-size);height:calc(var(--depth-size) * .48)}.depth-field i:nth-child(2){opacity:.42;width:34%;height:18%;top:42%;left:34%}.depth-field i:nth-child(3){opacity:.22;background:linear-gradient(#0000,#c0b26a42);height:15%;bottom:7%;left:7%;right:6%}.surface-ripples{z-index:2;height:48%;bottom:7%;left:9%;right:7%}.surface-ripples i{filter:blur(.2px);opacity:.44;background:linear-gradient(90deg,#0000,#ecf8e557,#0000);border-radius:999px;height:2px;animation:4.6s ease-in-out infinite rippleDrift;display:block;position:absolute}.surface-ripples i:first-child{bottom:58%;left:8%;right:28%}.surface-ripples i:nth-child(2){animation-delay:-1.7s;bottom:37%;left:28%;right:11%}.surface-ripples i:nth-child(3){animation-delay:-3s;bottom:19%;left:4%;right:40%}@keyframes rippleDrift{50%{opacity:.72;transform:translate(22px,4px)scaleX(.92)}}.procedural-rod-svg{pointer-events:none;z-index:12;will-change:transform;transform-origin:82% 100%;width:100%;height:100%;position:absolute;inset:0;overflow:visible;transform:translateZ(0)}.water-scene.waiting .procedural-rod-svg.first-person-3d{animation:4.5s ease-in-out infinite alternate rodIdleSway}.water-scene.bite .procedural-rod-svg.first-person-3d{animation:.18s ease-in-out infinite alternate rodTipBiteTwitch}@keyframes rodIdleSway{0%{transform:rotate(0)translate(0)}50%{transform:rotate(.4deg)translate(-1px,1px)}to{transform:rotate(-.3deg)translate(1px,-1px)}}@keyframes rodTipBiteTwitch{0%{transform:rotate(0)}50%{transform:rotate(.8deg)translate(2px,3px)}to{transform:rotate(-.4deg)translate(-1px,1px)}}.rod-blank-path,.rod-blank-specular{transition:d 80ms cubic-bezier(.2,.9,.3,1)}.rod-guide-ring,.rod-tip-top{transition:transform 80ms cubic-bezier(.2,.9,.3,1)}.water-scene.fighting.action-reel .reel-crank-arm,.water-scene.fighting.action-pump .reel-crank-arm{transform-origin:3.5px 10.5px;animation:.35s linear infinite reelSpin}@keyframes reelSpin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.rod-line-internal{animation:3.2s ease-in-out infinite alternate lineGlint}@keyframes lineGlint{0%{stroke:#ffffff8c}50%{stroke:#fffffff2}to{stroke:#fff9}}.procedural-bobber-wrap{pointer-events:none;z-index:9;transition:transform .15s cubic-bezier(.18,.89,.32,1.28);position:absolute;transform:translate(-50%,-85%)}.bobber-svg{filter:drop-shadow(0 2px 5px #0009);display:block;overflow:visible}.procedural-bobber-wrap.bobber-floating{animation:2.8s ease-in-out infinite alternate bobberIdle}.procedural-bobber-wrap.bobber-dipping{animation:.22s ease-in-out infinite alternate bobberNibble}.procedural-bobber-wrap.bobber-submerged{filter:drop-shadow(0 0 14px #ff7832d9)brightness(.6)blur(.6px);opacity:.72;animation:.32s ease-out infinite alternate bobberSubmergePulse;transform:translate(-50%,16px)scale(.72)}@keyframes bobberSubmergePulse{0%{opacity:.8;transform:translate(-50%,14px)scale(.75)}to{opacity:.48;transform:translate(-50%,26px)scale(.65)}}.water-scene.fighting .procedural-bobber-wrap,.procedural-bobber-wrap.bobber-fighting-submerged,.water-scene.idle .procedural-bobber-wrap{visibility:hidden;transition:opacity .32s,transform .32s;opacity:0!important;pointer-events:none!important;transform:translate(-50%,48px)scale(.3)!important}@keyframes bobberIdle{0%{transform:translate(-50%,-85%)rotate(-1.5deg)}50%{transform:translate(-50%,-88%)rotate(0)}to{transform:translate(-50%,-83%)rotate(1.5deg)}}@keyframes bobberNibble{0%{transform:translate(-50%,-82%)rotate(-3deg)}50%{transform:translate(-50%,-70%)rotate(2deg)}to{transform:translate(-50%,-78%)rotate(-2deg)}}.bobber-ripple{pointer-events:none;border:1px solid #dcf5ff73;border-radius:50%;position:absolute;top:75%;left:50%;transform:translate(-50%,-50%)}.bobber-ripple.ring-1{width:18px;height:7px;animation:2.6s ease-out infinite rippleExpand}.bobber-ripple.ring-2{width:32px;height:12px;animation:2.6s ease-out 1.3s infinite rippleExpand}.bobber-ripple.ring-bite{border-color:#ffeba0b3;width:44px;height:16px;animation:.6s ease-out infinite rippleFast}@keyframes rippleExpand{0%{opacity:.8;transform:translate(-50%,-50%)scale(.2)}to{opacity:0;transform:translate(-50%,-50%)scale(1.5)}}@keyframes rippleFast{0%{opacity:1;transform:translate(-50%,-50%)scale(.3)}to{opacity:0;transform:translate(-50%,-50%)scale(1.6)}}div.rod-handle{display:none}svg.procedural-rod-svg,svg.rod-handle{transform:translateZ(0);width:100%!important;height:100%!important;box-shadow:none!important;pointer-events:none!important;z-index:14!important;transform-origin:82% 100%!important;background:0 0!important;border:none!important;border-radius:0!important;display:block!important;position:absolute!important;inset:0!important;overflow:visible!important}svg.procedural-rod-svg:before,svg.procedural-rod-svg:after,svg.rod-handle:before,svg.rod-handle:after{content:none!important;box-shadow:none!important;background:0 0!important;display:none!important}div.rod-handle:after{content:"";background:#eee0b7eb;border-radius:50%;width:10px;height:10px;position:absolute;top:50%;right:-3px;transform:translateY(-50%);box-shadow:0 0 8px #f8d57d8c,0 0 18px #f8d57d40}.rod-grip{background:repeating-linear-gradient(92deg,#0000,#0000 3px,#00000014 3px 4px),linear-gradient(#ffffff2e 0%,#0000 45%),#c8955a;border-radius:5px 3px 3px 5px;width:22%;height:11px;position:absolute;top:50%;left:0;transform:translateY(-50%);box-shadow:inset 0 1px 1px #ffffff47,0 1px 3px #00000059}.rod-reel{z-index:11;background:radial-gradient(circle at 35% 30%,#8a8a8e,#3a3a3c 60%);border:1.5px solid #636366;border-radius:50%;width:20px;height:20px;position:absolute;top:5px;left:21%;box-shadow:0 3px 8px #0000008c,inset 0 1px #ffffff1f}.rod-reel:before{content:"";background:linear-gradient(#8a8a8e,#4a4a4e);border-radius:2px 2px 0 0;width:4px;height:8px;position:absolute;top:-7px;left:7px}.rod-reel:after{content:"";background:radial-gradient(circle at 40% 35%,#5a5a60,#28282c);border:1px solid #505054;border-radius:50%;width:11px;height:11px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:inset 0 1px 2px #0009}.rod-guides{position:absolute;inset:0}.rod-guides span{border:1.5px solid #dcdce1eb;border-radius:50%;position:absolute;bottom:-2px;box-shadow:inset 0 0 0 1px #78788c80,0 1px 3px #0006}.water-volume{z-index:2;pointer-events:none;position:absolute;inset:0;overflow:hidden}.water-volume i{border:1px solid #c8f0e61a;border-radius:50%;animation:5.6s ease-in-out infinite causticRing;position:absolute}.water-volume i:first-child{width:120px;height:44px;animation-duration:5.2s;animation-delay:0s;bottom:24%;left:22%}.water-volume i:nth-child(2){border-color:#b4e6d214;width:90px;height:32px;animation-duration:6.8s;animation-delay:-1.8s;bottom:18%;left:48%}.water-volume i:nth-child(3){width:140px;height:52px;animation-duration:4.8s;animation-delay:-3.4s;bottom:30%;left:66%}.water-volume i:nth-child(4){border-color:#a0dcc80f;width:74px;height:26px;animation-duration:7.2s;animation-delay:-.9s;bottom:40%;left:10%}@keyframes causticRing{0%{opacity:0;transform:scaleX(.5)translate(-12px)}18%{opacity:.65}72%{opacity:.28}to{opacity:0;transform:scaleX(1.4)translate(18px)}}.world-lighting{pointer-events:none;z-index:3;position:absolute;inset:0}.horizon-band{background:radial-gradient(at 56% 0,#ffdca021,#0000 65%);height:35%;animation:8s ease-in-out infinite alternate horizonBreath;position:absolute;top:0;left:0;right:0}.moon-glow{filter:blur(4px);opacity:0;background:radial-gradient(circle,#dcebff38,#0000 65%);border-radius:50%;width:48px;height:48px;animation:6s ease-in-out infinite alternate moonBreath;position:absolute;top:8%;right:18%}.shore-reflection{background:linear-gradient(#0000,#4fb49f0f);height:22%;position:absolute;bottom:0;left:0;right:0}@keyframes horizonBreath{0%{opacity:.7}to{opacity:1}}@keyframes moonBreath{0%{opacity:0;transform:scale(.9)}to{opacity:.72;transform:scale(1.1)}}.water-scene.period-night .moon-glow{opacity:1;animation:4s ease-in-out infinite alternate moonBreath}.water-scene.period-dawn .horizon-band{background:radial-gradient(at 45% 0,#ffa85a3d,#0000 62%)}.water-scene.period-evening .horizon-band{background:radial-gradient(at 60% 0,#ff782838,#0000 58%)}
.rod-guides span:before{content:"";background:#d2d2dccc;border-radius:0 0 1px 1px;width:1.5px;height:4px;position:absolute;bottom:-4px;left:50%;transform:translate(-50%)}.rod-guides span:first-child{width:7px;height:7px;left:40%}.rod-guides span:nth-child(2){width:5px;height:5px;left:58%}.rod-guides span:nth-child(3){width:4px;height:4px;left:75%}.rod-guides span:nth-child(4){width:3px;height:3px;left:91%}div.rod-handle.rod-type-spinning .rod-grip{background:repeating-linear-gradient(92deg,#0000,#0000 4px,#ffffff0a 4px 5px),linear-gradient(#ffffff1a 0%,#0000 50%),#1e1f22;box-shadow:inset 0 1px 1px #ffffff1a,0 1px 3px #00000080}div.rod-handle.rod-type-spinning .rod-reel{background:radial-gradient(circle at 35% 30%,#9a9aa0,#3c3c40 60%);border-color:#707074;box-shadow:0 3px 8px #0009,inset 0 1px #ffffff26}div.rod-handle.rod-neon-night .rod-grip{background:linear-gradient(#00ffea1f 0%,#0000 50%),#0d0e15;border:1px solid #00ffea80;box-shadow:0 0 6px #00ffea4d}div.rod-handle.rod-neon-night .rod-reel{background:radial-gradient(circle at 35% 30%,#0a2522,#080c10);border-color:#00ffea;box-shadow:0 0 10px #00ffea99,0 3px 8px #0009}div.rod-handle.rod-neon-night .rod-reel:before{background:linear-gradient(#00ffea,#006e62)}div.rod-handle.rod-neon-night .rod-reel:after{background:radial-gradient(circle at 40% 35%,#00e5d6,#003d36);border-color:#00ffea}div.rod-handle.rod-neon-night .rod-guides span{border-color:#00ffea;box-shadow:0 0 5px #00ffeab3,inset 0 0 0 1px #00ffea4d}div.rod-handle.rod-neon-night .rod-guides span:before{background:#00ffea}div.rod-handle.rod-neon-night:after{background:#00ffea;box-shadow:0 0 16px #00ffea,0 0 6px #ffffffe6}div.rod-handle.rod-bamboo-float .rod-grip{background:repeating-linear-gradient(92deg,#0000,#0000 5px,#0000001a 5px 6px),#6b4e2e;height:10px}div.rod-handle.rod-bamboo-float .rod-reel{background:radial-gradient(circle at 40% 30%,#b58742,#7a4e22);border-color:#5c3e21;border-radius:3px;width:11px;height:11px;top:4px;left:18%;box-shadow:0 1px 4px #00000080}div.rod-handle.rod-bamboo-float .rod-reel:before,div.rod-handle.rod-bamboo-float .rod-reel:after{display:none}div.rod-handle.rod-bamboo-float:after{background:#deb96ef2;box-shadow:0 0 8px #deb46473}div.rod-handle.rod-bamboo-float .rod-guides span{border-color:#b48c46d9}div.rod-handle.rod-bamboo-float .rod-guides span:before{background:#b48c46cc}div.rod-handle.rod-type-feeder .rod-grip{background:repeating-linear-gradient(92deg,#0000,#0000 4px,#ffffff0a 4px 5px),#1a1c1e;height:10px}div.rod-handle.rod-type-feeder .rod-reel{background:radial-gradient(circle at 35% 30%,#4a4a4e,#1e1f22 60%);border-color:#d95f59;box-shadow:0 0 6px #d95f5966,0 3px 8px #0000008c}div.rod-handle.rod-type-feeder .rod-reel:before{background:linear-gradient(#d95f59,#7a2a26)}div.rod-handle.rod-type-feeder .rod-guides span{border-color:#caa062;box-shadow:0 0 3px #caa06266}div.rod-handle.rod-type-feeder .rod-guides span:before{background:#caa062}div.rod-handle.rod-type-feeder:after{background:#ff4500;box-shadow:0 0 10px #ff4500,0 0 20px #ff450059}div.rod-handle.rod-type-bottom,div.rod-handle.rod-type-carp{height:10px}div.rod-handle.rod-type-bottom .rod-grip,div.rod-handle.rod-type-carp .rod-grip{background:repeating-linear-gradient(92deg,#0000,#0000 4px,#0000001a 4px 5px),#3b2a1e;height:13px}div.rod-handle.rod-type-bottom .rod-reel,div.rod-handle.rod-type-carp .rod-reel{background:radial-gradient(circle at 35% 30%,#9a8060,#4a3c2c 60%);border-color:#8a7050;width:22px;height:22px;top:6px}div.rod-handle.rod-type-bottom:after,div.rod-handle.rod-type-carp:after{background:#dcaf50f2;width:12px;height:12px;box-shadow:0 0 10px #dcaf5080}div.rod-handle.rod-type-fly{border-radius:4px 1px 1px 4px;height:5px}div.rod-handle.rod-type-fly .rod-grip{background:repeating-linear-gradient(92deg,#0000,#0000 3px,#00000014 3px 4px),#b89870;height:9px}div.rod-handle.rod-type-fly .rod-reel{background:radial-gradient(circle at 35% 30%,#d0c8b8,#a09080 60%);border-color:#b0a090;width:16px;height:16px;top:4px}div.rod-handle.rod-type-fly:after{background:#d1d5dbfa;width:7px;height:7px;box-shadow:0 0 8px #ffffff80}div.rod-handle.rod-type-ice{border-radius:4px;width:25%;height:7px}div.rod-handle.rod-type-ice .rod-grip{background:#2a2c30;width:30%;height:10px}div.rod-handle.rod-type-ice .rod-reel,div.rod-handle.rod-type-ice .rod-guides span:nth-child(3),div.rod-handle.rod-type-ice .rod-guides span:nth-child(4){display:none}div.rod-handle.rod-bamboo-float{background:linear-gradient(#ffffff29 0%,#0000 40%),linear-gradient(90deg,#59432d 0 8%,#caa062 8% 9%,#dbb374 9% 30%,#8e6e3c 30% 31%,#dbb374 31% 55%,#8e6e3c 55% 56%,#dbb374 56% 80%,#8e6e3c 80% 81%,#dbb374 81% 100%);box-shadow:0 1px #ffffff47,0 8px 18px #00000061}div.rod-handle.rod-birch-whip{background:linear-gradient(#fff3 0%,#0000 45%),linear-gradient(90deg,#3e2a1b 0 10%,#f2f1ec 10% 25%,#2c2d2f 25% 27%,#f2f1ec 27% 55%,#2c2d2f 55% 57%,#f2f1ec 57% 85%,#d1ceb8 85% 100%)}div.rod-handle.rod-type-spinning{background:linear-gradient(#ffffff2e 0%,#0000 40%),linear-gradient(90deg,#caa062 0 10%,#1b1c1e 10% 12%,#4a4e52 12% 13%,#1d2022 13% 40%,#e2e2e2 40% 41%,#1d2022 41% 70%,#e2e2e2 70% 71%,#1d2022 71% 100%);box-shadow:0 1px #ffffff29,0 8px 18px #00000073}div.rod-handle.rod-neon-night{background:linear-gradient(#00ffea24 0%,#0000 40%),linear-gradient(90deg,#1c1c1f 0 12%,#00ffea 12% 14%,#0d0e15 14% 15%,#bf00ff 15% 50%,#00ffea 50% 52%,#bf00ff 52% 85%,#00ffea 85% 100%);box-shadow:0 0 14px #bf00ffb3,0 0 30px #00ffea38,0 8px 18px #00000080}
div.rod-handle.rod-type-feeder{background:linear-gradient(#ffffff1f 0%,#0000 40%),linear-gradient(90deg,#2a2a2a 0 12%,#2e3d30 12% 35%,#1e2520 35% 36%,#2e3d30 36% 70%,#ff4500 70% 72%,#fc0 72% 74%,#ff4500 74% 100%)}div.rod-handle.rod-type-bottom,div.rod-handle.rod-type-carp{background:linear-gradient(#ffffff24 0%,#0000 40%),linear-gradient(90deg,#4e3629 0 14%,#1f2124 14% 16%,#2b2e31 16% 50%,#da5 50% 52%,#2b2e31 52% 100%)}div.rod-handle.rod-type-fly{background:linear-gradient(#ffffff38 0%,#0000 45%),linear-gradient(90deg,#a88e67 0 10%,#8b8c8d 10% 12%,#d1d5db 12% 100%)}div.rod-handle.rod-type-ice{background:linear-gradient(#ffffff38 0%,#0000 50%),linear-gradient(90deg,#e1cc4f 0 25%,#3b4045 25% 100%)}.rod-line{left:var(--line-start-x);top:var(--line-start-top);--dx:calc((var(--cast-x-raw) - var(--line-start-x-raw)) * 1cqi);--dy:calc((var(--cast-y-raw) - var(--line-start-top-raw)) * 1cqb);width:hypot(var(--dx), var(--dy));z-index:8;height:2px;transform:rotate(atan2(var(--dy), var(--dx)));transform-origin:0;background:linear-gradient(90deg,#fff6d7f0,#fff6d733);box-shadow:0 0 8px #ffecb233}.fishing-line-visual{pointer-events:none;z-index:8;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.fishing-line-visual path,.fishing-line-visual line,.catenary-line{stroke-linecap:round;vector-effect:non-scaling-stroke;fill:none!important}.catenary-line{stroke:#f2eac3f5;filter:drop-shadow(0 0 3px #ffecb29e)}.catenary-line.normal-tension{stroke:#ffdc8ceb}.catenary-line.warn-tension{stroke:#ffaa3cf5;filter:drop-shadow(0 0 5px #ffa028b3)}.catenary-line.critical-tension{stroke:#ff4632fa;filter:drop-shadow(0 0 10px #ff321ee6)}.fishing-line-visual .cast-line{stroke:#f2eac3f5;stroke-width:3px;filter:drop-shadow(0 0 3px #ffecb29e)drop-shadow(0 0 1px #fff6);transition:opacity .35s}.fishing-line-visual .fight-line{stroke:#ffda76fa;stroke-width:4px;opacity:0;filter:drop-shadow(0 0 7px #ffd25acc)drop-shadow(0 0 14px #ffb43c66);transition:opacity .35s}.water-scene.fighting .fishing-line-visual .cast-line{opacity:0}.water-scene.fighting .fishing-line-visual .fight-line{opacity:.97;animation:.46s ease-in-out infinite alternate lineTensionPulse}.water-scene:has(.tension-critical) .fishing-line-visual .fight-line{stroke:#ff5a3cfa;stroke-width:4.5px;filter:drop-shadow(0 0 10px #ff3c1ee6)drop-shadow(0 0 20px #ff1e0a80);animation:.22s ease-in-out infinite alternate lineTensionPulse}.water-scene .rod-line,.water-scene .line-tension{display:none}.bobber{left:var(--cast-x);top:var(--cast-y);z-index:8;background:linear-gradient(#e9f0e5 0 45%,#d95f59 46% 100%);border:2px solid #ffffffb3;border-radius:999px;width:16px;height:28px;animation:1.7s ease-in-out infinite bob;position:absolute;transform:translate(-50%,-50%);box-shadow:0 0 18px #ffd36c47}.bobber:after{content:"";opacity:.62;border:1px solid #eff5e252;border-top:0;border-radius:50%;width:54px;height:16px;position:absolute;bottom:-8px;left:50%;transform:translate(-50%)}.cast-arc{width:max(26%, calc(var(--cast-x) - 18%));z-index:3;opacity:0;transform-origin:0 100%;filter:drop-shadow(0 0 8px #ffd78438);border-top:2px solid #ffefc4e0;border-radius:50% 50% 0 0;height:34%;top:33%;left:19%;transform:rotate(-4deg)scaleX(.2)}.cast-splash{left:calc(var(--cast-x) - 27px);top:calc(var(--cast-y) - 10px);z-index:5;opacity:0;border:2px solid #eef8e5a3;border-top-color:#0000;border-radius:50%;width:54px;height:20px}.strike-ring{left:calc(var(--cast-x) - 43px);top:calc(var(--cast-y) - 19px);z-index:4;opacity:0;border:2px solid #ffeda8c7;border-radius:50%;width:86px;height:38px;transform:scale(.34)}.hook-flash{left:calc(var(--cast-x) - 75px);top:var(--cast-y);z-index:7;opacity:0;filter:drop-shadow(0 0 10px #ffcf626b);background:linear-gradient(90deg,#0000,#fff8dcf5,#0000);width:150px;height:3px;transform:rotate(-18deg)}.fish-wake{left:calc(var(--cast-x) - 44px);top:calc(var(--cast-y) - 18px);z-index:3;opacity:0;filter:blur(.4px);background:radial-gradient(at 18%,#f5ffeb6b,#0000 42%),radial-gradient(at 56% 58%,#f5ffeb42,#0000 48%),radial-gradient(at 90% 44%,#f5ffeb2e,#0000 44%);width:260px;height:94px}.line-tension{left:var(--line-start-x);top:var(--line-start-top);--dx:calc((var(--cast-x-raw) - var(--line-start-x-raw)) * 1cqi);--dy:calc((var(--cast-y-raw) - var(--line-start-top-raw)) * 1cqb);width:hypot(var(--dx), var(--dy));z-index:8;opacity:0;height:2px;transform:rotate(atan2(var(--dy), var(--dx)));transform-origin:0;background:linear-gradient(90deg,#fffbdcf2,#ffcc5ce6,#fffbdc14);box-shadow:0 0 11px #ffdc8273}.rod-cursor{left:var(--rod-x,53%);top:var(--rod-y,56%);z-index:9;opacity:0;width:62px;height:62px;transition:opacity .12s,transform .12s;transform:translate(-50%,-50%)scale(.82)}.rod-cursor:before,.rod-cursor:after,.rod-cursor i{content:"";border:1px solid #ffebb1b8;border-radius:50%;position:absolute;inset:12px}.rod-cursor:after{background:#ffd2668c;inset:23px;box-shadow:0 0 18px #ffd26680}.rod-cursor i{transform:scale(calc(1 + var(--rod-pull,0) * .5));border-color:#f2ffe738;inset:4px}.water-scene{--rod-x:53%;--rod-y:56%;--rod-pull:0;--rod-side:0;--rod-angle:-24deg;cursor:crosshair;--pivot-x-raw:2.8;--pivot-y-top-raw:85.5;--rod-len-raw:45;--line-start-x-raw:calc(var(--pivot-x-raw) + var(--rod-len-raw) * cos(var(--rod-angle)));--line-start-top-raw:calc(var(--pivot-y-top-raw) + var(--rod-len-raw) * sin(var(--rod-angle)));--line-start-x:calc(var(--line-start-x-raw) * 1cqi);--line-start-top:calc(var(--line-start-top-raw) * 1cqb)}.water-scene:has(.rod-type-ice){--rod-len-raw:25}.cast-target{left:var(--cast-x);top:var(--cast-y);z-index:12;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#090f1070;border:1px solid #ffebb180;border-radius:999px;place-items:center;min-width:72px;min-height:38px;padding:4px 8px;display:grid;transform:translate(-50%,calc(-100% - 14px));box-shadow:0 0 18px #ffd36c29}.cast-target:after{content:"";background:#ffd36c29;border:2px solid #ffebb194;border-radius:50%;width:18px;height:18px;position:absolute;bottom:-13px;left:50%;transform:translate(-50%)}.cast-target b,.cast-target span{white-space:nowrap;line-height:1.05;display:block}.cast-target b{color:var(--ink);font-size:12px}.cast-target span{color:var(--muted);font-size:10px}.water-scene.bite,.water-scene.fighting,.water-scene.gesture-active{cursor:grab}.water-scene.gesture-active{cursor:grabbing}.water-scene.bite .rod-cursor,.water-scene.fighting .rod-cursor,.water-scene.gesture-active .rod-cursor{opacity:.86;transform:translate(-50%,-50%)scale(1)}.water-scene.gesture-active div.rod-handle{transform:rotate(var(--rod-angle));animation:none}.water-scene.gesture-active .line-tension{opacity:calc(.28 + var(--rod-pull,0) * .72)}.water-scene.waiting div.rod-handle{animation:1.08s cubic-bezier(.2,.85,.2,1) both castRod}.water-scene.waiting .rod-line{animation:1.08s cubic-bezier(.2,.85,.2,1) both castLine}
.water-scene.bite .bobber{animation:.22s infinite alternate bite;box-shadow:0 0 22px #ff785d8f}.water-scene.bite .strike-ring{animation:.62s ease-out infinite strikeRing}.water-scene.bite-cautious .bobber{transform-origin:bottom;animation-duration:.42s}.water-scene.bite-drag .bobber{filter:drop-shadow(10px 4px 5px #ff785d47);animation-duration:.5s}.water-scene.bite-strike .strike-ring,.water-scene.bite-surface .strike-ring{animation-duration:.34s}.water-scene.bite-phase-ready .strike-ring{animation-duration:.28s}.water-scene.bite .cast-splash{opacity:1;animation:.34s ease-in-out infinite alternate biteSplash}.water-scene.fighting .bobber{left:var(--cast-x);top:var(--cast-y);transition:left .85s linear,top .85s linear;animation:.38s infinite alternate fightBob}.water-scene.fighting div.rod-handle{animation:.7s ease-in-out infinite alternate rodFight;transform:rotate(-38deg)}.water-scene.fighting.gesture-active div.rod-handle{transform:rotate(var(--rod-angle));animation:none}.water-scene.fight-reel .rod-reel,.water-scene.fighting .rod-reel{transform-origin:50%;animation:.45s linear infinite reelSpin}.water-scene.rod-pump .rod-reel{animation:.28s linear infinite reelSpin}@keyframes reelSpin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.water-scene.fighting .rod-line{opacity:0}.water-scene.fighting .line-tension{opacity:1;animation:.46s ease-in-out infinite alternate tensionPulse}.water-scene.fighting.gesture-active .line-tension{opacity:calc(.35 + var(--rod-pull,0) * .65)}.water-scene.hook-set .hook-flash,.water-scene.hook-miss .hook-flash{animation:.72s ease-out both hookSet}.water-scene.hook-miss .strike-ring{animation:.52s ease-out both missRing}.water-scene.hook-miss div.rod-handle{animation:.48s ease-out both missSnap}.water-scene.fighting .fish-wake{opacity:.84;animation:.86s ease-in-out infinite alternate fishWake}.water-scene.fish-surge .fish-wake{filter:blur(.15px)drop-shadow(18px 0 8px #ecf8e533);animation-duration:.34s}.water-scene.fish-dive .fish-shadow{opacity:.46;filter:blur(5px);transform:translate(18px,12px)scale(.76)}.water-scene.fish-turn .fish-wake{transform-origin:18%;animation-duration:.48s}.water-scene.fish-shake .bobber{animation-duration:.14s}.water-scene.fish-rest .fish-wake{opacity:.48;animation-duration:1.45s}.water-scene.intent-telegraph .fish-wake{box-shadow:0 0 24px #ffe2971f}.water-scene.rod-pump .line-tension{opacity:1;animation-duration:.28s}.water-scene.rod-side .fish-wake{animation-duration:.52s}.water-scene.rod-give .line-tension{opacity:.36;box-shadow:0 0 8px #ffdc8240}.water-scene.fight-reel .bobber{animation-duration:.28s}.water-scene.landed .bobber{animation:2.4s ease-in-out infinite landedFloat}.bobber{z-index:8;pointer-events:none;background:linear-gradient(#c8271a 0% 48%,#0000000f 49% 51%,#ede9d8 51% 100%);border:1.5px solid #fff3;border-radius:50% 50% 44% 44%;width:16px;height:20px;box-shadow:0 3px 10px #0000008c,0 0 0 5px #d2321e1a,inset 0 -3px 5px #0000002e,inset 0 2px 3px #ffffff47}.bobber:before{content:"";background:linear-gradient(#c3bca0e6,#9b87558c);border-radius:1px;width:1.5px;height:9px;position:absolute;top:-9px;left:50%;transform:translate(-50%)}.bobber:after{content:"";border:1px solid #b9dcd247;border-radius:50%;animation:2.8s ease-in-out infinite bobberRippleRing;position:absolute;inset:-9px}@keyframes bobberRippleRing{0%,to{opacity:.25;transform:scale(1)}50%{opacity:.55;transform:scale(1.34)}}.water-scene.waiting .bobber{animation:1.12s cubic-bezier(.16,.86,.28,1) both bobberLand,2.4s ease-in-out 1.12s infinite bobberPhysics}@keyframes bobberPhysics{0%,to{transform:translate(-50%,-50%)rotate(-1.5deg)}32%{transform:translate(-50%,calc(-50% - 4.5px))rotate(1.2deg)}66%{transform:translate(-50%,calc(2.5px - 50%))rotate(-2.8deg)}}.water-scene.bite .bobber{box-shadow:0 4px 14px #000000a6,0 0 0 7px #ff643c38,0 0 24px #ff50282e,inset 0 -3px 5px #0003}.water-scene.bite-phase-ready .bobber{box-shadow:0 4px 14px #000000a6,0 0 0 8px #ffb93c47,0 0 32px #ffa5283d}.water-scene.fighting .bobber,.water-scene.fighting .procedural-bobber-wrap{visibility:hidden;opacity:0!important;pointer-events:none!important;transition:opacity .38s,transform .38s!important;animation:none!important;transform:translate(-50%,calc(40px - 50%))scale(.3)!important}.water-scene.landed div.rod-handle{transform:rotate(-18deg)}@keyframes castRod{0%{transform:rotate(10deg)}38%{transform:rotate(-58deg)}to{transform:rotate(-24deg)}}@keyframes castLine{0%{opacity:.2;width:18%;transform:rotate(14deg)}42%{opacity:1;width:63%;transform:rotate(-28deg)}to{opacity:.9}}@keyframes castArc{0%{opacity:0;transform:rotate(16deg)scaleX(.16)}22%{opacity:1}68%{opacity:.86;transform:rotate(-8deg)scaleX(1)}to{opacity:0;transform:rotate(-12deg)scaleX(1.08)}}@keyframes castSplash{0%{opacity:0;transform:scale(.28)}22%{opacity:.95}to{opacity:0;transform:scale(2.2)}}@keyframes bobberLand{0%{opacity:0;top:43%;left:18%;transform:translate(-80%,-120%)rotate(-20deg)}55%{opacity:1}to{left:var(--cast-x);top:var(--cast-y);transform:translate(-50%,-50%)}}@keyframes bob{50%{transform:translate(-50%,calc(5px - 50%))}}@keyframes bite{to{transform:translate(-50%,calc(18px - 50%))rotate(12deg)scale(.94)}}@keyframes biteSplash{to{transform:translateY(5px)scale(1.36)}}@keyframes strikeRing{0%{opacity:.92;transform:scale(.28)}to{opacity:0;transform:scale(1.7)}}@keyframes hookSet{0%{opacity:0;transform:translate(-34px,12px)rotate(-3deg)scaleX(.2)}18%{opacity:1}to{opacity:0;transform:translate(46px,-22px)rotate(-22deg)scaleX(1.3)}}@keyframes missRing{0%{opacity:.82;border-color:#ff9578db;transform:scale(.34)}to{opacity:0;border-color:#ff95781a;transform:scale(1.22)}}@keyframes missSnap{0%{transform:rotate(-42deg)}64%{transform:rotate(-16deg)}to{transform:rotate(-24deg)}}@keyframes fightBob{to{transform:translate(calc(18px - 50%),calc(-50% - 8px))rotate(-14deg)}}@keyframes rodFight{to{transform:rotate(-44deg)translateY(-2px)}}@keyframes lineTensionPulse{to{opacity:.72}}@media (prefers-reduced-motion:reduce){.water-scene.fighting .fishing-line-visual .fight-line{animation-duration:.001ms!important;animation-iteration-count:1!important}}.cast-arc{transform-origin:0 100%;opacity:0;pointer-events:none;z-index:7;filter:blur(.4px);border:2px solid #dcf0ff85;border-color:#dcf0ff85 #dcf0ff47 #0000 #0000;border-radius:50%;width:60%;height:52%;bottom:18%;left:4%;transform:rotate(-32deg)scaleX(.55)}.water-scene.waiting .cast-arc{animation:.9s ease-out .1s both arcAppear}@keyframes arcAppear{0%{opacity:0;transform:rotate(-32deg)scaleX(0)scaleY(.4)}30%{opacity:.72}70%{opacity:.48;transform:rotate(-32deg)scaleX(.55)scaleY(1)}to{opacity:0;transform:rotate(-32deg)scaleX(.55)scaleY(1)}}.cast-target{left:calc(var(--cast-x) - 26px);top:calc(var(--cast-y) - 26px);z-index:7;opacity:0;pointer-events:none;border:1.5px solid #c8ebe16b;border-radius:50%;place-items:center;width:52px;height:52px;transition:opacity .3s,transform .2s cubic-bezier(.16,.86,.28,1);display:grid}.cast-target .aim-reticle{border:1px dashed #dcf5eb59;border-radius:50%;animation:12s linear infinite reticleSpin;position:absolute;inset:-6px}@keyframes reticleSpin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.cast-power-ring-svg{opacity:0;width:100%;height:100%;transition:opacity .15s;position:absolute;inset:0;transform:rotate(-90deg)}.power-ring-fg{stroke-dashoffset:calc(132px * (1 - var(--cast-charge-ratio,0)));stroke:hsl(calc(150 - var(--cast-charge-ratio,0) * 110), 90%, 55%);filter:drop-shadow(0 0 4px);transition:stroke-dashoffset 50ms linear}.cast-charge-label{color:#fff;text-shadow:0 1px 4px #000000e6;opacity:0;font-size:11px;font-weight:800;transition:opacity .15s,transform .15s;position:absolute;transform:scale(.85)}.water-scene.casting-charge .cast-target{opacity:1;border-color:#64ffb4b3;transform:scale(1.15);box-shadow:0 0 16px #64ffb459}.water-scene.casting-charge .cast-power-ring-svg,.water-scene.casting-charge .cast-charge-label{opacity:1;transform:scale(1)}.water-scene.casting-overcharge .cast-target{border-color:#ff503cd9;animation:.12s infinite alternate targetShake;box-shadow:0 0 20px #ff503c80}.water-scene.casting-overcharge .power-ring-fg{stroke:#ff3b30}@keyframes targetShake{0%{transform:scale(1.18)translate(-1.5px,-1px)}to{transform:scale(1.18)translate(1.5px,1px)}}.cast-target b,.cast-target span{color:#dcf0e6c7;text-shadow:0 2px 6px #000000b3;white-space:nowrap;font-size:10px;font-weight:700;position:absolute}.cast-target b{top:-18px}.cast-target span{bottom:-18px}.water-scene.idle .cast-target,.water-scene.landed .cast-target{opacity:.72}.cast-splash{left:calc(var(--cast-x) - 20px);top:calc(var(--cast-y) - 12px);opacity:0;pointer-events:none;z-index:7;border:2px solid #c8f0e699;border-radius:50%;width:40px;height:22px}.water-scene.waiting .cast-splash{animation:.7s ease-out .45s both splashRing}@keyframes splashRing{0%{opacity:.85;transform:scale(.4)}to{opacity:0;border-width:.5px;transform:scale(2.2)}}
@keyframes critShake{0%{transform:translate(0)rotate(0)}10%{transform:translate(-2px,1px)rotate(-.25deg)}20%{transform:translate(2.5px,-1px)rotate(.18deg)}30%{transform:translate(-1.5px,1.5px)rotate(.28deg)}40%{transform:translate(1.8px,-1.5px)rotate(-.18deg)}50%{transform:translate(-.8px,.8px)rotate(.08deg)}60%{transform:translate(.8px,-.8px)rotate(-.08deg)}70%{transform:translate(-1.5px)rotate(.18deg)}80%{transform:translate(1.5px,.8px)rotate(-.15deg)}90%{transform:translate(-.8px,-.8px)rotate(.08deg)}to{transform:translate(0)rotate(0)}}@keyframes critVignette{0%{background:radial-gradient(circle at var(--cast-x) var(--cast-y), transparent 0 14%, #a0120812 38%, #06090bb3 100%), linear-gradient(90deg, #0a0c0cb3, transparent 64%)}to{background:radial-gradient(circle at var(--cast-x) var(--cast-y), transparent 0 10%, #d2230f2e 35%, #06090bcc 100%), linear-gradient(90deg, #0a0c0cd1, transparent 58%)}}@keyframes linePulse{0%{opacity:.78}to{opacity:1;filter:brightness(1.35)saturate(1.4)}}@keyframes tensionPulse{to{opacity:.95;filter:brightness(1.2)drop-shadow(0 0 12px #ffd67ecc);box-shadow:0 0 18px #ffd67ead}}@keyframes fishWake{to{opacity:.52;transform:translate(-42px,18px)scale(1.08)}}@keyframes landedFloat{50%{transform:translate(-50%,calc(3px - 50%))rotate(-4deg)}}.fish-shadow{left:calc(var(--cast-x) + 18px);top:calc(var(--cast-y) + 18px);filter:blur(3px);z-index:4;background:#0c121494;border-radius:50%;width:190px;height:46px;animation:1s infinite alternate shadowMove;position:absolute}@keyframes shadowMove{to{transform:translate(-32px,16px)scale(1.12)}}.weather-strip{z-index:18;color:#eff3e5d6;letter-spacing:.02em;white-space:nowrap;pointer-events:none;-webkit-backdrop-filter:blur(10px);background:linear-gradient(90deg,#081114bd,#0811145c);border:1px solid #e8f1e033;border-left:2px solid #ffd36cb3;border-radius:999px;align-items:center;gap:9px;max-width:calc(100% - 36px);padding:7px 11px 7px 9px;font-size:10px;line-height:1;display:inline-flex;position:absolute;top:16px;left:18px;overflow:hidden;box-shadow:0 5px 18px #00000038}.weather-strip:before{content:"";background:#f5c86a;border-radius:50%;flex:0 0 6px;width:6px;height:6px;box-shadow:0 0 10px #f5c86ac2}.weather-strip-condition{color:#ffeeb8f5;letter-spacing:.08em;text-transform:uppercase;font-weight:800}.weather-strip-metrics{color:#ebf1e2b3;text-overflow:ellipsis;overflow:hidden}.scene-runtime{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.scene-runtime .fight-live{display:block}.scene-catch{z-index:12;position:absolute;bottom:24px;left:24px;right:24px}.fight-intent{background:linear-gradient(90deg,#0d1212d1,#0d121261);border:1px solid #ffe39a33;border-radius:8px;grid-template-columns:auto minmax(120px,auto) minmax(0,1fr);align-items:center;gap:8px 12px;width:min(100%,720px);margin:9px 0 10px;padding:8px 10px;display:grid}.fight-intent span{color:#ece6cc94;letter-spacing:.12em;text-transform:uppercase;font-size:10px;font-weight:700}.fight-intent b{color:var(--gold);font-size:14px}.fight-intent em{color:#f2efdcd6;min-width:0;font-size:12px;font-style:normal}.fight-intent.intent-telegraph{border-color:#ffde8557;box-shadow:inset 3px 0 #ffd36cad}.fight-intent.countered{border-color:#9edcad47;box-shadow:inset 3px 0 #9edcad9e}.fight-intent.countered b{color:#b4e8bff0}.fight-hud{grid-template-columns:repeat(3,minmax(120px,1fr));gap:10px;max-width:720px;display:grid}.fight-hud div{border:1px solid var(--line);background:#0000005c;border-radius:8px;min-height:58px;padding:9px;position:relative;overflow:hidden}.fight-hud div i{background:var(--gold);height:4px;position:absolute;bottom:0;left:0}.fight-hud .tension-slack i{opacity:.5}.fight-hud .tension-danger{border-color:#ffbf606b}.fight-hud .tension-critical{border-color:#ff6854ad;animation:.42s ease-in-out infinite critShake;box-shadow:inset 0 0 22px #ff4a3624}.fight-hud .tension-critical i{background:linear-gradient(90deg,#d95f59,#ff2a1a);animation:.38s ease-in-out infinite alternate linePulse}.fight-hud div i{transition:width .28s ease-out,background .45s}.fight-hud span,.fight-hud b{display:block}.fight-hud small{color:#ece6cc8f;margin-top:3px;font-size:10px;line-height:1.1;display:block}.fight-hud .drag-overload small{color:#ff957eeb}.fight-hud .fish-stamina-state.stamina-tiring{border-color:#ffd36c52}.fight-hud .fish-stamina-state.stamina-ready{border-color:#9edcad6b;box-shadow:inset 0 0 18px #78c99714}.fight-hud p{grid-column:1/-1;margin-bottom:0}@media (max-width:640px){.fight-intent{grid-template-columns:auto 1fr}.fight-intent em{grid-column:1/-1}}.catch-banner{-webkit-backdrop-filter:blur(8px);background:radial-gradient(circle at 44px 40px,#ffd36c24,#0000 58px),#14181aa6;border:1px solid #ffffff1f;border-radius:12px;grid-template-columns:86px minmax(0,1fr);align-items:center;gap:3px 16px;max-width:540px;padding:16px;display:grid;position:relative;box-shadow:0 8px 24px #0006}.close-catch{color:#ffffff94;cursor:pointer;background:#ffffff14;border:1px solid #ffffff1f;border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;padding:0;font-size:16px;line-height:1;transition:all .2s;display:flex;position:absolute;top:8px;right:8px}.close-catch:hover{color:#fff;background:#fff3;border-color:#ffffff4d}.close-catch:active{transform:scale(.95)}.catch-banner.released{background:radial-gradient(circle at 44px 40px,#4fb49f29,#0000 58px),#0000006b;border-color:#4fb49f75}.catch-art{object-fit:cover;border:1px solid #ffffff24;border-radius:8px;width:82px;height:82px;box-shadow:0 12px 24px #00000052}.catch-copy{gap:4px;display:grid}.catch-copy b,.catch-copy span{min-width:0;display:block}.catch-copy b{font-size:18px}.catch-copy span{color:#f5eedfdb;line-height:1.25}.control-strip{border:1px solid var(--line);background:var(--panel);border-radius:8px;justify-content:space-between;min-height:58px;padding:10px}.fishing-actions{flex-wrap:wrap;align-items:center;gap:8px;margin-right:auto;display:flex}.fullscreen-fight-overlay{pointer-events:none;z-index:35;display:none;position:absolute;inset:0}.fishing-stage.is-fullscreen .fullscreen-fight-overlay{display:block}.fullscreen-fight-controls{pointer-events:none;z-index:40;justify-content:space-between;align-items:flex-end;display:flex;position:absolute;bottom:32px;left:24px;right:24px}.fullscreen-fight-group{pointer-events:auto;flex-direction:column;gap:12px;display:flex}.fullscreen-fight-btn{-webkit-backdrop-filter:blur(14px);color:#fff;letter-spacing:.02em;cursor:pointer;touch-action:manipulation;background:#101820b8;border:1.5px solid #ffffff40;border-radius:14px;justify-content:center;align-items:center;gap:8px;min-width:140px;min-height:54px;padding:12px 20px;font-family:inherit;font-size:16px;font-weight:700;transition:all .15s ease-out;display:flex;box-shadow:0 8px 24px #00000073}.fullscreen-fight-btn:hover{background:#1a2632e0;border-color:#ffffff80;transform:translateY(-2px)scale(1.03)}.fullscreen-fight-btn:active{transform:translateY(1px)scale(.97)}.fullscreen-fight-btn.primary{color:#fff;text-shadow:0 1px 3px #0006;background:linear-gradient(135deg,#dca028e6,#b46e14eb);border-color:#ffdc7899}.fullscreen-fight-btn.primary:hover{background:linear-gradient(135deg,#f0b432f2,#c8821ef2)}.fullscreen-fight-btn.danger{background:#b4281ebf;border-color:#ff645a73}.fullscreen-fight-btn.danger:hover{background:#d23228e6}.water-scene.high-tension{animation:.28s ease-in-out infinite heavyCameraShake}@keyframes heavyCameraShake{0%{transform:translate(0)scale(1.002)}25%{transform:translate(calc(var(--shake-x,2px) * 1.5), calc(var(--shake-y,-2px) * 1.5)) rotate(.12deg)}50%{transform:translate(calc(var(--shake-x,-2px) * -1.2), calc(var(--shake-y,2px) * 1.2)) rotate(-.1deg)}75%{transform:translate(calc(var(--shake-x,1px) * 1.8), calc(var(--shake-y,-1px) * 1.8)) rotate(.18deg)}to{transform:translate(0)scale(1.002)}}.intent-vector-arrow{border-top:7px solid #0000;border-bottom:7px solid #0000;border-left:14px solid var(--gold);filter:drop-shadow(0 0 6px #ffd700cc);width:0;height:0;animation:.6s ease-in-out infinite alternate arrowPulse;position:absolute;top:50%;right:-24px;transform:translateY(-50%)}@keyframes arrowPulse{0%{opacity:.7;transform:translateY(-50%)translate(0)}to{opacity:1;transform:translateY(-50%)translate(6px)}}
.session-brief{border-left:2px solid #ffd36c7a;gap:2px;min-width:min(100%,340px);max-width:620px;padding:4px 8px 4px 10px;display:grid}.session-brief b{color:#f1e1b1f0;font-size:12px}.session-brief span{color:var(--muted);font-size:11px;line-height:1.3}.fishing-layout,.workshop-layout,.journal-grid{grid-template-columns:minmax(330px,.9fr) minmax(0,1.1fr);gap:14px;margin-top:14px;display:grid}.panel{padding:16px}.panel-head{justify-content:space-between;margin-bottom:12px}.panel-head h3,.panel-head span{margin:0}.panel-head span{color:var(--muted);font-size:13px}.select-grid,.slider-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.select-field,.slider-grid label{color:var(--muted);gap:6px;font-size:13px;display:grid}.select-field.wide{grid-column:1/-1}select,input[type=range]{width:100%}select{border:1px solid var(--line);min-height:40px;color:var(--ink);background:#111719;border-radius:8px;padding:0 10px}input[type=range]{accent-color:var(--gold)}.slider-grid{margin-top:12px}.segmented{grid-template-columns:repeat(3,1fr);gap:6px;margin-top:12px;display:grid}.segmented button{border:1px solid var(--line);min-height:38px;color:var(--ink);background:#ffffff0d;border-radius:8px}.spot-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:12px;display:grid}.spot-card{border:1px solid var(--line);min-height:82px;color:var(--ink);text-align:left;cursor:pointer;background:#ffffff0b;border-radius:8px;padding:10px;transition:transform .2s cubic-bezier(.34,1.56,.64,1),box-shadow .2s,border-color .2s,background .2s}.spot-card:hover:not(:disabled){background:#ffffff12;border-color:#ffffff38;transform:translateY(-3px)scale(1.02);box-shadow:0 10px 26px #0000004d}.spot-card:active:not(:disabled){transition-duration:80ms;transform:scale(.97)}.spot-card.active{background:linear-gradient(135deg,#e8a84d29,#0000 55%),#ffffff0b;border-color:#ffd36cb8;animation:.35s cubic-bezier(.2,.86,.25,1) both spotActivePop;box-shadow:0 0 0 1px #ffd36c2e,0 8px 22px #00000047}@keyframes spotActivePop{0%{opacity:.6;transform:scale(.94)}to{opacity:1;transform:scale(1)}}.spot-card b,.spot-card span{display:block}.spot-card span,.spot-note{color:var(--muted);font-size:13px}.water-read-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:12px 0;display:grid}.water-read-card{background:linear-gradient(135deg,#ffffff0b,#ffffff05);border:1px solid #ffffff17;border-radius:8px;min-height:74px;padding:10px 11px;transition:transform .18s,border-color .18s,box-shadow .18s}.water-read-card:hover{border-color:#ffffff26;transform:translateY(-2px);box-shadow:0 8px 18px #0000003d}.signal-fish-move,.signal-fish-active,.signal-approach,.signal-activity{border-left:2px solid #4fb49f85}.signal-pressure,.signal-depth,.signal-temperature,.signal-weather{border-left:2px solid #e8a84d70}.signal-risk,.signal-danger,.signal-caution{border-left:2px solid #d95f5970}.water-read-card b,.water-read-card span{display:block}.water-read-card b{color:#f1e1b1f0;margin-bottom:4px;font-size:13px}.water-read-card span{color:var(--muted);font-size:12px;line-height:1.35}.fish-strip{grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:8px;display:grid}.fish-chip{border:1px solid var(--line);background:#ffffff0d;border-radius:8px;min-height:70px;padding:10px;transition:transform .18s,border-color .18s}.fish-chip:hover{border-color:#ffffff29;transform:translateY(-2px)}.fish-chip.rarity-uncommon{border-left:2px solid #82b36685}.fish-chip.rarity-rare{border-left:2px solid #6ca3bf8f}.fish-chip.rarity-epic{border-left:2px solid #8d7bd899}.fish-chip.rarity-legendary{background:#ffd36c0f;border-left:2px solid #ffd36cb8}.fish-chip.fish-unknown{background:#ffffff06;border-style:dashed}.fish-chip.fish-unknown b{color:#e7e1caad}.fish-chip b,.fish-chip span{display:block}.fish-chip span,.bait-line,.record-line{color:var(--muted);font-size:13px}@media (prefers-reduced-motion:reduce){.water-glints,.surface-ripples i,.bobber,.water-scene.waiting div.rod-handle,.water-scene.waiting .rod-line,.water-scene.waiting .cast-arc,.water-scene.waiting .cast-splash,.water-scene.waiting .bobber,.water-scene.bite .bobber,.water-scene.bite .strike-ring,.water-scene.bite .cast-splash,.water-scene.fighting .bobber,.water-scene.fighting div.rod-handle,.water-scene.fighting .line-tension,.rod-cursor,.water-scene.hook-set .hook-flash,.water-scene.hook-miss .hook-flash,.water-scene.hook-miss .strike-ring,.water-scene.hook-miss div.rod-handle,.water-scene.fighting .fish-wake,.water-scene.landed .bobber,.fish-shadow,.rain-drops i,.rain-splashes i,.snowflakes i,.fog-clouds i,.wind-gusts i,.spring-petals i,.sun-rays i,.lightning-flash{animation-duration:.001ms!important;animation-iteration-count:1!important}}.water-scene{--grade-color:transparent;--grade-opacity:0}.water-scene.period-night .color-grade-overlay{mix-blend-mode:multiply;opacity:1;background:#0e163c94;transition:background 2s,opacity 2s}.water-scene.period-night .water-glints{opacity:.22;background-image:radial-gradient(circle,#c8e6ff73 0%,#0000 60%)}.water-scene.period-dawn .color-grade-overlay{mix-blend-mode:color;opacity:1;background:#ffa86438;transition:background 2s,opacity 2s}.water-scene.period-evening .color-grade-overlay{mix-blend-mode:color;opacity:1;background:#ff8c1e47;transition:background 2s,opacity 2s}.water-scene.period-day .color-grade-overlay{opacity:0;background:0 0}.water-scene.weather-rain .color-grade-overlay,.water-scene.weather-clouds .color-grade-overlay{mix-blend-mode:multiply;opacity:1;background:#5a6e8238}.water-scene.weather-fog .color-grade-overlay{mix-blend-mode:multiply;opacity:1;background:#b4c8d247}.water-scene.weather-storm .color-grade-overlay{mix-blend-mode:multiply;opacity:1;background:#28325066}.water-scene.weather-clear .color-grade-overlay{mix-blend-mode:screen;opacity:1;background:#ffeeb414}
.water-scene.season-winter .color-grade-overlay{mix-blend-mode:color-dodge;opacity:1;background:radial-gradient(circle at 50% 30%,#c8e1ff2e,#0000 70%),linear-gradient(#a0c8f026,#283c5a40)}.water-scene.season-autumn .color-grade-overlay{mix-blend-mode:overlay;opacity:1;background:radial-gradient(circle at 50% 30%,#f0a05024,#0000 75%),linear-gradient(#b45a142e,#3c1e0a52)}.water-scene.season-spring .color-grade-overlay{mix-blend-mode:soft-light;opacity:1;background:radial-gradient(circle at 50% 30%,#a0f0a01f,#0000 70%),linear-gradient(#64d29614,#14321e33)}.color-grade-overlay{pointer-events:none;z-index:6;opacity:0;background:0 0;transition:background 1.8s,opacity 1.8s;position:absolute;inset:0}.weather-effects{pointer-events:none;z-index:3;position:absolute;inset:0;overflow:hidden}.rain-drops{position:absolute;inset:0;overflow:hidden}.rain-drops i{top:-30px;left:var(--r-left);width:1px;height:28px;animation:fallRain var(--r-duration) linear infinite;animation-delay:var(--r-delay);background:linear-gradient(#0000,#e6f5ff70);position:absolute;transform:rotate(15deg)}@keyframes fallRain{to{transform:translateY(750px)rotate(15deg)}}.rain-splashes{position:absolute;inset:0}.rain-splashes i{left:var(--s-left);top:var(--s-top);opacity:0;width:14px;height:5px;animation:2.2s ease-out infinite splashRain;animation-delay:var(--s-delay);border:1px solid #e1f0ff3d;border-radius:50%;position:absolute}@keyframes splashRain{0%{opacity:0;transform:scale(.1)}12%{opacity:.6}38%{opacity:0;border-width:.5px;transform:scale(1.6)}to{opacity:0}}.fog-clouds{mix-blend-mode:screen;position:absolute;inset:0;overflow:hidden}.fog-clouds i{filter:blur(24px);background:radial-gradient(circle,#ffffff26 0%,#0000 68%);width:150%;height:130%;animation:55s linear infinite alternate driftFog;position:absolute;top:-15%;left:-25%}.fog-clouds i:nth-child(2){background:radial-gradient(circle,#ffffff1c 0%,#0000 58%);animation-duration:40s;animation-delay:-10s}@keyframes driftFog{0%{transform:translate(-6%)translateY(-3%)}to{transform:translate(6%)translateY(3%)}}.wind-gusts{position:absolute;inset:0;overflow:hidden}.wind-gusts i{left:-30px;top:var(--w-top);opacity:.8;width:10px;height:6px;animation:blowLeaf var(--w-duration) linear infinite;animation-delay:var(--w-delay);border-radius:2px 7px;position:absolute;transform:rotate(18deg)}.wind-gusts i.type-spring{background:#7fcb73;border:.5px solid #5a9c50}.wind-gusts i.type-summer{background:#3e813f;border:.5px solid #205121}.wind-gusts i.type-autumn{background:#caa062}.wind-gusts i.type-autumn:nth-child(2n){background:#d46c4d}.wind-gusts i.type-autumn:nth-child(3n){background:#dabc60}.wind-gusts i.type-winter{background:#ffffff59;border-radius:0;width:18px;height:1px}@keyframes blowLeaf{0%{transform:translate(0)rotate(10deg)}50%{transform:translate(650px,20px)rotate(180deg)}to{transform:translate(1300px,-10px)rotate(360deg)}}.snowflakes{position:absolute;inset:0;overflow:hidden}.snowflakes i{top:-15px;left:var(--s-left);width:var(--s-size);height:var(--s-size);opacity:.88;animation:fallSnow var(--s-duration) linear infinite;animation-delay:var(--s-delay);background:#fff;border-radius:50%;position:absolute}@keyframes fallSnow{0%{transform:translateY(0)translate(0)}50%{transform:translateY(370px)translate(20px)}to{transform:translateY(740px)translate(-15px)}}.ice-shards{mix-blend-mode:screen;background:radial-gradient(circle at 0 0,#c8ebff14 0%,#0000 35%),radial-gradient(circle at 100% 100%,#c8ebff14 0%,#0000 35%);border:9px solid #0000;border-image:radial-gradient(circle,#c8ebff40 0%,#0000 68%) 14;position:absolute;inset:0;box-shadow:inset 0 0 28px #dcf0ff2e}.spring-petals{pointer-events:none;position:absolute;inset:0;overflow:hidden}.spring-petals i{left:-20px;top:var(--p-top);filter:blur(.4px);opacity:.42;width:4px;height:4px;animation:blowPetal var(--p-duration) linear infinite;animation-delay:var(--p-delay);background:radial-gradient(circle,#f5f2e1a6 0%,#d2ebcd40 65%,#0000 100%);border-radius:50%;position:absolute}@keyframes blowPetal{0%{opacity:0;transform:translate(0)rotate(0)}15%{opacity:.42}85%{opacity:.38}to{opacity:0;transform:translate(1300px,90px)rotate(180deg)}}.sun-rays{mix-blend-mode:screen;position:absolute;inset:0;overflow:hidden}.sun-rays i{transform-origin:0 0;background:linear-gradient(135deg,#ffeeb91f,#0000);width:300px;height:800px;animation:16s ease-in-out infinite alternate shineRays;position:absolute;top:-60px;left:-60px;transform:rotate(-15deg)}.sun-rays i:nth-child(2){width:190px;animation-duration:20s;animation-delay:-4s;left:120px}.sun-rays i:nth-child(3){width:240px;animation-duration:23s;animation-delay:-8s;left:300px}@keyframes shineRays{0%{opacity:.38;transform:rotate(-18deg)}to{opacity:.9;transform:rotate(-12deg)}}.lightning-flash{opacity:0;z-index:4;mix-blend-mode:overlay;background:#f0f7ff;animation:14s ease-in-out infinite strikeLightning;position:absolute;inset:0}@keyframes strikeLightning{0%,92%,94%,96%,to{opacity:0}93%{opacity:.44}93.5%{opacity:.1}95%{opacity:.58}}.forecast-strip{gap:6px;max-width:min(680px,78vw);margin-top:9px;display:flex}.forecast-window{-webkit-backdrop-filter:blur(8px);background:#08141c59;border:1px solid #ffffff24;border-radius:8px;gap:2px;min-width:0;padding:8px 10px;transition:transform .2s,background .2s;display:grid}
.forecast-window:hover{background:#08141c80;transform:translateY(-2px)}.forecast-window.current{background:#08141ca6;border-color:#ffffff59;box-shadow:0 4px 12px #00000040}.forecast-window span,.forecast-window small{opacity:.72;font-size:10px}.forecast-window b{font-size:11px;font-weight:700;line-height:1.2}.catch-title-line{flex-wrap:wrap;align-items:center;gap:6px;padding-right:24px;display:flex}.catch-badge{letter-spacing:.08em;text-transform:uppercase;border:1px solid #ffffff2e;border-radius:999px;padding:3px 6px;font-size:9px;font-style:normal;font-weight:800}.catch-badge.record{background:#e8a84d29;border-color:#ffd36c8c}.catch-badge.trophy{background:#4fb49f21;border-color:#9bd1c475}.catch-copy small{line-height:1.25;display:block}.record-delta{color:#ffdc87f0;font-weight:700}.catch-context{color:#f5eedf94;font-size:10px}.water-scene{background-size:cover;transition:box-shadow .7s,background-position 1.6s}.water-glints{opacity:calc(.24 + var(--water-reflect,.6) * .52);animation-duration:var(--water-drift,7s);transform-origin:bottom}.surface-ripples i{opacity:calc(.18 + var(--water-chop,.4) * .52);animation-duration:var(--ripple-drift,4.6s)}.water-still .water-glints{filter:blur(calc((1 - var(--water-clarity,.5)) * 1.3px))}.water-heavy .water-glints{background:repeating-linear-gradient(166deg, transparent 0 16px, rgba(242, 249, 235, calc(.09 + var(--water-reflect) * .14)) 17px 20px), linear-gradient(180deg, transparent, #5296ae3d);height:60%}.water-dark .depth-field{mix-blend-mode:multiply;opacity:.54}.water-clear .depth-field{opacity:.94;filter:saturate(.9)}.water-disturbed .surface-ripples i{opacity:.72;animation-duration:calc(var(--ripple-drift,4.6s) * .7)}.water-volume,.world-lighting,.ambient-details{pointer-events:none;position:absolute;inset:0}.water-volume{z-index:2;opacity:calc(.22 + var(--water-chop,.4) * .34);overflow:hidden}.water-volume i{border-top:1px solid rgba(227, 242, 231, calc(.08 + var(--water-reflect,.5) * .22));width:138%;height:16%;transform:rotate(var(--surface-angle,-7deg)) scaleX(calc(.88 + var(--water-chop,.4) * .24));animation:waterBand var(--water-drift,7s) ease-in-out infinite alternate;border-radius:50%;position:absolute;bottom:8%;left:-18%}.water-volume i:nth-child(2){opacity:.72;height:11%;animation-delay:-2.7s;animation-duration:calc(var(--water-drift,7s) * .78);bottom:19%}.water-volume i:nth-child(3){opacity:.48;height:9%;animation-delay:-4.3s;animation-duration:calc(var(--water-drift,7s) * 1.18);bottom:31%}.water-volume i:nth-child(4){opacity:.28;height:7%;animation-delay:-6.1s;animation-duration:calc(var(--water-drift,7s) * 1.4);bottom:43%}@keyframes waterBand{0%{transform:translateX(-2%) rotate(var(--surface-angle,-7deg)) scaleX(.94)}to{transform:translateX(5%) translateY(calc(var(--water-chop,.4) * 8px)) rotate(calc(var(--surface-angle,-7deg) + 2deg)) scaleX(1.04)}}.motion-current .water-volume i,.motion-cold-current .water-volume i,.motion-channel .water-volume i{border-radius:36% 64% 44% 56%;animation-timing-function:linear}.motion-surf .water-volume i,.motion-swell .water-volume i{border-top-width:2px;height:22%;animation-name:longSwell}@keyframes longSwell{0%{transform:translate(-8%)translateY(7px)rotate(-8deg)scaleY(.72)}52%{transform:translate(2%)translateY(-7px)rotate(-11deg)scaleY(1.16)}to{transform:translate(9%)translateY(4px)rotate(-7deg)scaleY(.82)}}.motion-underground .water-volume i{animation-duration:calc(var(--water-drift,7s) * 1.7);border-color:#bce2e82e}.motion-blackwater .water-volume i{filter:blur(1px);border-color:#cab8861c}.world-lighting{z-index:4;mix-blend-mode:screen;overflow:hidden}.world-lighting i{pointer-events:none;display:block;position:absolute}.horizon-band{height:36%;opacity:calc(.08 + var(--water-reflect,.5) * .24);filter:blur(13px);animation:horizonBreath var(--scene-breath,7s) ease-in-out infinite alternate;background:radial-gradient(at 58% 70%,#ffda9b2e,#0000 58%);top:16%;left:-8%;right:-8%}@keyframes horizonBreath{to{opacity:.4;transform:translateY(3px)scaleX(1.03)}}.moon-glow{width:96px;height:96px;opacity:var(--night-light,0);filter:blur(1px);background:radial-gradient(circle,#deecff47,#adcaf412 38%,#0000 70%);border-radius:50%;top:8%;right:12%}.shore-reflection{width:34%;height:38%;opacity:calc(var(--night-light,0) * .64);clip-path:polygon(18% 0,88% 0,100% 100%,0 100%);filter:blur(2px);background:repeating-linear-gradient(88deg,#0000 0 17px,#ffca6c29 18px 21px,#0000 22px 38px);animation:5.4s ease-in-out infinite alternate reflectedLights;bottom:7%;right:8%}.identity-city .shore-reflection,.identity-city-night .shore-reflection,.identity-industrial .shore-reflection,.identity-harbor .shore-reflection{opacity:calc(.16 + var(--night-light,0) * .7)}@keyframes reflectedLights{to{opacity:calc(var(--night-light,0) * .42);transform:skew(-5deg)translate(7px)}}.period-dawn .horizon-band{opacity:.64;background:radial-gradient(at 62% 72%,#ffb26961,#ffd6a41f 34%,#0000 68%)}.period-evening .horizon-band{opacity:.58;background:radial-gradient(at 67% 75%,#ff873a52,#ffc3661c 40%,#0000 70%)}.weather-fog .horizon-band{opacity:calc(.2 + var(--mist-weight,.4) * .5);background:radial-gradient(#e2eef14d,#0000 65%)}.front-approaching .world-lighting:before,.front-settling .world-lighting:before{content:"";opacity:.34;animation:5.8s ease-in-out infinite alternate frontMove;position:absolute;inset:0}.front-approaching .world-lighting:before{background:linear-gradient(105deg,#0000 15%,#52647a33 48%,#26364c61)}.front-settling .world-lighting:before{background:linear-gradient(95deg,#37465a4d,#7c8f981f 48%,#0000 82%)}.front-weather-clear.front-approaching .world-lighting:before{background:linear-gradient(105deg,#0000 18%,#ffe5ab1a 52%,#ffda8b47)}.front-weather-storm.front-approaching .world-lighting:before{background:linear-gradient(105deg,#0000 8%,#2d375338 44%,#1018328c)}@keyframes frontMove{to{opacity:.48;transform:translate(-3%)}}
.ambient-details{z-index:5;overflow:hidden}.ambient-details>i{left:var(--ambient-x);top:var(--ambient-y);transform:scale(var(--ambient-scale,1));animation-delay:var(--ambient-delay,0s);display:block;position:absolute}.ambient-far-bird,.ambient-gull{opacity:.56;border-top:1.5px solid #ebefe599;border-radius:50%;width:15px;height:6px;animation:12s ease-in-out infinite farBird}.ambient-far-bird:after,.ambient-gull:after{content:"";border-top:inherit;border-radius:50%;width:14px;height:6px;position:absolute;top:-2px;left:7px;transform:rotate(9deg)}.ambient-gull{opacity:.78}@keyframes farBird{0%,to{transform:translateX(-18px) scale(var(--ambient-scale,1)) rotate(-3deg)}50%{transform:translateX(110px) translateY(-12px) scale(var(--ambient-scale,1)) rotate(4deg)}}.ambient-mist,.ambient-haze{background:radial-gradient(ellipse, rgba(224, 238, 238, calc(.08 + var(--mist-weight,.1) * .2)), transparent 72%);filter:blur(13px);border-radius:50%;width:190px;height:54px;animation:16s ease-in-out infinite alternate ambientMist}.ambient-haze{opacity:.52;width:260px}@keyframes ambientMist{to{transform:translateX(72px) scale(calc(var(--ambient-scale,1) * 1.08))}}.ambient-far-light,.ambient-bridge-light{width:4px;height:4px;opacity:calc(.16 + var(--night-light,0) * .84);background:#ffd371e0;border-radius:50%;animation:4.8s ease-in-out infinite alternate lampBreath;box-shadow:0 0 8px #ffc153b8,0 0 24px #ffb23757}.ambient-bridge-light{box-shadow:22px 2px #ffd371b8,44px -1px #ffd371a3,0 0 10px #ffc153b8}@keyframes lampBreath{to{opacity:.48;filter:blur(.5px)}}.ambient-reed{transform-origin:bottom;background:linear-gradient(#79935233,#435a37cc);border-radius:100% 0;width:2px;height:38px;animation:3.8s ease-in-out infinite alternate reedSway}.ambient-reed:after{content:"";background:#5c452cbd;border-radius:50%;width:6px;height:12px;position:absolute;top:-2px;left:-2px}@keyframes reedSway{to{transform:rotate(calc(2deg + var(--water-chop,.4) * 7deg)) scale(var(--ambient-scale,1))}}.ambient-insect{background:#eee29cc2;border-radius:50%;width:3px;height:3px;animation:6.4s ease-in-out infinite insectDrift;box-shadow:0 0 6px #eee29c80}@keyframes insectDrift{50%{transform:translate(34px, -18px) scale(var(--ambient-scale,1));opacity:.24}}.ambient-steam{filter:blur(8px);background:radial-gradient(at bottom,#d7e2dc3b,#0000 68%);border-radius:50%;width:42px;height:76px;animation:6.8s ease-in-out infinite steamRise}@keyframes steamRise{to{opacity:0;transform:translateY(-38px)translate(13px)scale(1.25)}}.ambient-gantry,.ambient-mast{opacity:.58;border-top:1px solid #bdc5bf33;border-left:1px solid #bdc5bf52;width:28px;height:45px}.ambient-mast{border-top:0;width:1px;height:68px}.ambient-cave-drip{border:1px solid #bae0e885;border-radius:50%;width:6px;height:6px;animation:3.1s ease-out infinite caveDrip}@keyframes caveDrip{0%{opacity:0;transform:scale(.1)}18%{opacity:.72}70%,to{opacity:0;transform:scale(5)}}.ambient-foam{border-top:2px solid #ebf7f57a;border-radius:50%;width:54px;height:8px;animation:4.4s linear infinite foamRun}@keyframes foamRun{to{opacity:0;transform:translate(120px)scaleX(1.35)}}.ambient-pine-shadow{filter:blur(2px);border-bottom:74px solid #0a14122e;border-left:20px solid #0000;border-right:20px solid #0000;width:0;height:0}.ambient-spray{filter:blur(5px);background:radial-gradient(#e8f5f742,#0000 68%);border-radius:50%;width:72px;height:28px;animation:2.4s ease-out infinite sprayPulse}@keyframes sprayPulse{to{opacity:0;transform:translateY(-18px)scale(1.35)}}.scene-sound{z-index:14;color:#f4efdbbd;letter-spacing:.05em;cursor:pointer;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);background:#060b0d75;border:1px solid #ffffff24;border-radius:999px;place-items:center;width:36px;height:36px;min-height:0;padding:0;font-size:0;font-weight:700;display:grid;position:absolute;top:14px;right:14px}.scene-sound:hover{color:#ffefc1f5;border-color:#ffde9366}.scene-sound.muted{opacity:.55}.world-whisper{z-index:13;color:#eee9d6c2;text-align:right;text-shadow:0 2px 10px #000000b8;background:linear-gradient(90deg,#0000,#060b0d8f);border-right:2px solid #e8d3996b;width:min(310px,100% - 28px);padding:9px 11px;font-size:11px;line-height:1.35;animation:.7s ease-out both worldWhisperIn;position:absolute;top:52px;right:14px}@keyframes worldWhisperIn{0%{opacity:0;transform:translate(12px)}}.water-state-line{color:#e2e7d9a3;max-width:620px;margin:8px 0 0;font-size:11px;line-height:1.3;transition:opacity .22s,max-height .22s,margin .22s,transform .22s}.weather-front{color:#e8ebdeb3;letter-spacing:.04em;background:#04090c47;border-radius:999px;align-items:center;min-width:190px;height:17px;margin-top:5px;font-size:9px;display:inline-flex;position:relative;overflow:hidden}.weather-front i{background:linear-gradient(90deg,#7799a833,#dfe5d12e);position:absolute;inset:0 auto 0 0}.weather-front span{z-index:1;padding:0 8px;position:relative}.water-scene .forecast-strip,.water-scene .weather-details,.water-scene .water-state-line,.water-scene .weather-front{transition:opacity .22s,transform .22s,max-height .26s,margin .26s}.water-scene.bite .forecast-strip,.water-scene.fighting .forecast-strip,.water-scene.bite .weather-details,.water-scene.fighting .weather-details,.water-scene.bite .water-state-line,.water-scene.fighting .water-state-line,.water-scene.bite .weather-front,.water-scene.fighting .weather-front{opacity:0;max-height:0;margin-top:0;overflow:hidden;transform:translateY(6px)}.water-scene.director-tension .scene-shade,.water-scene.director-peak .scene-shade{background:radial-gradient(circle at var(--cast-x) var(--cast-y), transparent 0 18%, #06090b33 42%, #06090bb8 100%), linear-gradient(90deg, #0a0c0cb8, transparent 64%)}.water-scene.director-peak .scene-status{background:linear-gradient(90deg,#040809d1,#05090a7a);border-color:#ffe19a38}.water-scene.director-search .water-volume,.water-scene.director-observe .water-volume{opacity:calc(.3 + var(--water-chop,.4) * .34)}.water-scene.director-afterglow .water-glints,.water-scene.director-release .water-glints,.water-scene.director-release-peak .water-glints{animation-duration:calc(var(--water-drift,7s) * 1.28)}.water-volume:after{content:"";opacity:0;pointer-events:none;height:22%;position:absolute;bottom:18%;left:12%;right:10%}
.world-wake-line .water-volume:after,.world-swell-wall .water-volume:after,.world-dark-roll .water-volume:after,.world-pressure-line .water-volume:after,.world-landing-calm .water-volume:after,.world-lost-wake .water-volume:after{opacity:.8;border-top:2px solid #e5f2e657;border-radius:50%;animation:4.8s ease-out infinite eventWave}.world-swell-wall .water-volume:after{border-top-width:3px;height:34%;animation-duration:6.2s}.world-dark-roll .water-volume:after{filter:blur(2px);border-color:#c9b5812e}.world-pressure-line .water-volume:after{border-radius:18%;transform:rotate(-8deg)}.world-landing-calm .water-volume:after{animation-duration:3.2s;animation-iteration-count:1}.world-lost-wake .water-volume:after{left:var(--cast-x);width:34%;animation-duration:2.8s;right:auto}@keyframes eventWave{0%{opacity:0;transform:translate(-18%)scaleX(.55)}18%{opacity:.82}to{opacity:0;transform:translate(22%)translateY(12px)scaleX(1.35)}}.world-bubble-chain .water-volume:after,.world-cave-rings .water-volume:after{opacity:0;border:1px solid #e1f0e280;border-radius:50%;width:12px;height:12px;animation:3.6s ease-out infinite eventRings;bottom:28%;left:58%;right:auto;box-shadow:28px -12px 0 -1px #e1f0e247,58px -4px 0 2px #e1f0e22e}@keyframes eventRings{15%{opacity:.72}to{opacity:0;transform:translateY(-9px)scale(2.6)}}.world-current-seam .water-volume:after,.world-lamp-track .water-volume:after,.world-rain-wall .water-volume:after,.world-shadow-pass .water-volume:after{opacity:.56;background:linear-gradient(104deg,#0000 20%,#e0ebda2e 49%,#0000 54%);border-radius:0;height:44%;animation:5.2s ease-in-out infinite alternate seamPass}.world-lamp-track .water-volume:after{background:linear-gradient(104deg,#0000 28%,#ffc85c3d 50%,#0000 58%)}.world-rain-wall .water-volume:after{background:linear-gradient(100deg,#0000 15%,#aec8da38 54%,#5f7a8f57)}.world-shadow-pass .water-volume:after{background:linear-gradient(104deg,#0000 18%,#07110f59 52%,#0000 72%)}@keyframes seamPass{to{opacity:.28;transform:translate(12%)}}.world-reed-run .ambient-reed{animation-duration:1.1s}.world-steam-pulse .ambient-steam{opacity:.88;animation-duration:2.8s}.world-fog-pulse .ambient-mist{opacity:.9;animation-duration:7s}.world-bird-cut .ambient-far-bird,.world-bird-drop .ambient-gull{opacity:.94;animation-duration:3.2s}.world-thunder-roll{box-shadow:inset 0 0 90px #cadcff2e, var(--shadow)}.world-gust-gap .wind-gusts{opacity:.18;transition:opacity .8s}.world-settled-water .surface-ripples i{animation-duration:calc(var(--ripple-drift,4.6s) * 1.6);opacity:.24}.world-metal-echo .scene-shade{animation:1.2s ease-out metalEcho}@keyframes metalEcho{48%{opacity:.82}}.catch-banner{animation:.52s cubic-bezier(.2,.86,.25,1) both catchReveal;overflow:hidden}.catch-banner:after{content:"";pointer-events:none;background:linear-gradient(102deg,#0000,#fff0c12e,#0000);animation:1.5s ease-out .18s catchSheen;position:absolute;inset:-70% 42% -70% -22%;transform:translate(-130%)rotate(8deg)}@keyframes catchReveal{0%{opacity:0;transform:translateY(10px)scale(.985)}}@keyframes catchSheen{to{transform:translate(260%)rotate(8deg)}}.catch-banner.moment-record{border-color:#ffd36c75;box-shadow:inset 3px 0 #ffd36ca8,0 16px 38px #00000042}.catch-banner.moment-trophy{border-color:#9ddcc580;box-shadow:inset 3px 0 #9ddcc5c2,0 18px 44px #00000052}.catch-banner.moment-legendary{background:radial-gradient(circle at 44px 40px,#ffd36c4d,#0000 72px),linear-gradient(112deg,#22170bd1,#03080ac2);border-color:#ffd278cc;animation:.52s cubic-bezier(.2,.86,.25,1) both catchReveal,2.4s ease-in-out .6s infinite alternate legendaryPulse;box-shadow:inset 3px 0 #ffd36ce6,0 20px 52px #0000006b,0 0 60px #ffc8501f}@keyframes legendaryPulse{0%{box-shadow:inset 3px 0 #ffd36ce6,0 20px 52px #0000006b,0 0 40px #ffc85014}to{box-shadow:inset 3px 0 #ffe68c,0 24px 60px #0000007a,0 0 80px #ffc85038}}.catch-banner.moment-legendary:before{content:"★ ★ ★ ★ ★";color:#ffd36ce6;letter-spacing:10px;pointer-events:none;z-index:10;text-shadow:0 0 8px #ffc850cc;font-size:14px;animation:1.2s ease-out .2s both starsRise;position:absolute;top:-20px;left:20px}@keyframes starsRise{0%{opacity:0;transform:translateY(0)scale(.4)}40%{opacity:1}to{opacity:0;transform:translateY(-32px)scale(1.1)}}.catch-banner.moment-trophy:before{content:"★ ★ ★";color:#4fb49fe6;letter-spacing:12px;pointer-events:none;z-index:10;text-shadow:0 0 8px #4fb49fcc;font-size:14px;animation:1s ease-out .2s both starsRise;position:absolute;top:-16px;left:20px}:is(.water-scene.landed:has(.moment-trophy),.water-scene.landed:has(.moment-legendary),.water-scene.landed:has(.moment-record)){box-shadow:inset 0 0 110px #ffdf9d17, var(--shadow)}@media (max-width:720px){.world-whisper{width:min(260px,100% - 28px);font-size:10px;top:50px}.scene-sound{top:10px;right:10px}.ambient-details{opacity:.72}.water-state-line{display:none}}@media (prefers-reduced-motion:reduce){.water-volume i,.world-lighting i,.world-lighting:before,.ambient-details>i,.world-whisper,.water-volume:after,.catch-banner,.catch-banner:after,.world-metal-echo .scene-shade{animation-duration:.001ms!important;animation-iteration-count:1!important}}.identity-spring .horizon-band{background:radial-gradient(at 54% 74%,#d8f7db3d,#d6f0e814 42%,#0000 70%)}.identity-northern .world-lighting{background:linear-gradient(#c6e0ee0d,#0000 44%,#7098aa12)}.identity-pond .water-volume i{border-color:rgba(210, 230, 190, calc(.07 + var(--water-reflect,.5) * .15))}.world-small-rise .water-volume:after{opacity:0;border:1px solid #e5f1e161;border-radius:50%;width:38px;height:12px;animation:2.8s ease-out eventRings;bottom:31%;left:62%;right:auto}.world-midge-line .ambient-insect{opacity:.92;animation-duration:3.4s}.world-light-window .horizon-band{opacity:.72;animation-duration:2.8s}.behavior-read{background:linear-gradient(90deg,#0914148f,#09141414);border-left:2px solid #9acdc285;grid-template-columns:auto minmax(0,1fr);gap:3px 12px;width:min(100%,720px);margin:-3px 0 10px;padding:8px 10px;display:grid}.behavior-read span{color:#dde8da80;letter-spacing:.12em;text-transform:uppercase;grid-row:1/span 2;align-self:center;font-size:9px;font-weight:800}.behavior-read b{color:#e2efdce6;font-size:12px}.behavior-read em{color:#ece6ccb8;font-size:11px;font-style:normal;line-height:1.3}.behavior-read.confidence-tentative{border-left-color:#ffd36c80}.behavior-read.confidence-likely,.behavior-read.confidence-strong{border-left-color:#7ecfb1b8}.behavior-read.confidence-strong b{color:#c1eed8f5}.catch-behavior{color:#c4ded1b3;font-size:11px}.water-scene.fish-break .fish-wake{opacity:.94;width:190px;height:132px;animation-duration:.28s;transform:translateY(-28px)rotate(-5deg)}.water-scene.fish-cover .fish-wake{width:310px;animation-duration:.42s;transform:translate(46px)skew(-12deg)}.water-scene.fish-cover .line-tension{filter:drop-shadow(8px 0 5px #ffa36c3d)}.water-scene.fish-pulse .fish-shadow{opacity:.58;animation:.72s ease-in-out infinite alternate fishPulseWeight;transform:translate(12px,16px)scale(1.08)}.water-scene.family-anchor .fish-shadow{filter:blur(6px);width:190px;height:74px}.water-scene.family-bluewater .fish-wake{width:390px;height:78px}.water-scene.family-coil .fish-wake{transform-origin:20%;animation:.52s ease-in-out infinite alternate coilWake}.water-scene.family-locomotive .fish-wake{opacity:.72;width:330px}@keyframes fishPulseWeight{0%{opacity:.44;transform:translate(8px,12px)scale(1.02)}to{opacity:.66;transform:translate(20px,22px)scale(1.12)}}@keyframes coilWake{0%{transform:rotate(-4deg)translate(-8px)}to{transform:rotate(5deg)translate(12px)}}@media (max-width:640px){.behavior-read{grid-template-columns:1fr}.behavior-read span{grid-row:auto}}.catch-recognition{color:#ffdb8dd1;font-size:11px;font-style:italic}.rarity-common .catch-art{border-color:#ffffff2e}.rarity-uncommon .catch-art{border-color:#82b3667a;box-shadow:0 0 14px #82b36638,0 12px 24px #00000052}.rarity-rare .catch-art{border-color:#6ca3bf8f;box-shadow:0 0 16px #6ca3bf47,0 12px 24px #0000005c}.rarity-epic .catch-art{border-color:#8d7bd89e;box-shadow:0 0 20px #8d7bd852,0 14px 28px #0006}.rarity-legendary .catch-art{border-color:#ffd36cb8;box-shadow:0 0 24px #ffc85066,0 16px 32px #00000070}.catch-badge.record{color:var(--gold);letter-spacing:.06em;text-transform:uppercase;background:#ffd36c24;border:1px solid #ffd36c99;border-radius:4px;padding:3px 8px;font-size:11px;font-weight:800;animation:.5s cubic-bezier(.2,.86,.25,1) .3s both badgePop;display:inline-flex}.catch-badge.trophy{color:var(--teal);letter-spacing:.06em;text-transform:uppercase;background:#4fb49f24;border:1px solid #4fb49f99;border-radius:4px;padding:3px 8px;font-size:11px;font-weight:800;animation:.5s cubic-bezier(.2,.86,.25,1) .3s both badgePop;display:inline-flex}@keyframes badgePop{0%{opacity:0;transform:scale(.6)translateY(4px)}to{opacity:1;transform:scale(1)translateY(0)}}
.weather-particle-canvas{z-index:0;pointer-events:none;contain:strict;width:100%;height:100%;display:block;position:absolute;inset:0}.app-shell.immersive-fishing-shell{background:#080a0c;min-height:100vh;display:block;overflow:hidden}.immersive-fishing-shell>.rail,.immersive-fishing-shell>.main-screen>.topbar,.immersive-fishing-shell .fishing-layout{display:none!important}.immersive-fishing-shell>.main-screen{min-width:0;min-height:100vh;padding:0}.fishing-stage.is-fullscreen .water-scene{contain:paint;-webkit-mask-image:none;mask-image:none}.fishing-stage.is-fullscreen .weather-effects,.fishing-stage.is-fullscreen .ambient-details,.fishing-stage.is-fullscreen .water-volume,.fishing-stage.is-fullscreen .world-lighting{contain:paint}.fishing-stage.is-fullscreen .world-lighting,.fishing-stage.is-fullscreen .color-grade-overlay{mix-blend-mode:normal}.fishing-stage.is-fullscreen .horizon-band,.fishing-stage.is-fullscreen .fog-clouds i,.fishing-stage.is-fullscreen .water-glints{filter:none}.fishing-stage.is-fullscreen .water-glints,.fishing-stage.is-fullscreen .horizon-band,.fishing-stage.is-fullscreen .water-volume i{will-change:transform, opacity;backface-visibility:hidden}.fishing-stage.is-fullscreen .weather-strip,.fishing-stage.is-fullscreen .toggle-fullscreen-btn,.fishing-stage.is-fullscreen .scene-sound,.fishing-stage.is-fullscreen .fullscreen-fight-btn{-webkit-backdrop-filter:none}.fishing-stage.is-fullscreen .weather-strip{background-color:#0a1014bd}.fishing-stage.is-fullscreen .toggle-fullscreen-btn,.fishing-stage.is-fullscreen .scene-sound{background-color:#0c141ad1}.fishing-stage.is-fullscreen .fullscreen-fight-btn{background-color:#101820e0}@keyframes lampBreath{0%{opacity:.72}to{opacity:.48}}.water-scene.high-tension{animation:none!important}.water-scene.high-tension .scene-shade{will-change:transform, opacity;animation:.36s ease-in-out infinite alternate fightCameraImpulse}.water-scene.critical-tension .scene-shade{background:radial-gradient(circle at var(--cast-x) var(--cast-y), transparent 0 11%, #ca200f26 35%, #06090bc7 100%), linear-gradient(90deg, #0a0c0cc7, transparent 60%);animation:.3s ease-in-out infinite alternate fightCriticalImpulse}@keyframes fightCameraImpulse{0%{opacity:.94;transform:translate(-1px)scale(1.001)}to{opacity:1;transform:translate(1px,-1px)scale(1.003)}}@keyframes fightCriticalImpulse{0%{opacity:.9;transform:translate(-2px,1px)scale(1.002)}to{opacity:1;transform:translate(2px,-1px)scale(1.006)}}
:root{--fishing-ink:#edf3ed;--fishing-muted:#e2ede7ad;--fishing-glass:#071015bd;--fishing-line:#cfe8e02e;--fishing-aqua:#70d7ce;--fishing-gold:#f4c86f}.water-scene{background-color:#142c33;border:1px solid #cbe5dc29;min-height:clamp(500px,62vh,760px);box-shadow:0 22px 60px #000c1261,inset 0 1px #ffffff1a}.water-scene:before,.water-scene:after{content:"";pointer-events:none;position:absolute;inset:0}.water-scene:before{z-index:1;background:linear-gradient(#e7edde21,#0000 18%,#072d3714 42%,#02121a66),radial-gradient(at 50% 23%,#ffce813d,#0000 38%),linear-gradient(96deg,#071a228f,#0000 28% 74%,#06161e61)}.water-scene:after{z-index:8;background:radial-gradient(ellipse at var(--cast-x) var(--cast-y), transparent 0 8%, #76dcd114 15%, transparent 29%), linear-gradient(180deg, transparent 63%, #010c124d);box-shadow:inset 0 0 100px #020e147a}.water-glints{z-index:4;opacity:.52;filter:blur(.35px);background:repeating-linear-gradient(171deg,#0000 0 18px,#b3eee01c 23px 25px,#0000 31px 48px),linear-gradient(#0000,#41b3b129);height:57%;bottom:-3%;-webkit-mask-image:linear-gradient(#0000,#000 20% 78%,#0000);mask-image:linear-gradient(#0000,#000 20% 78%,#0000)}.water-scene.scene-river .water-glints{opacity:.64}.water-scene.scene-sea .water-glints,.water-scene.scene-ocean .water-glints{opacity:.72}.depth-field{z-index:3;opacity:.95}.depth-field:before{content:"";opacity:.82;background:linear-gradient(#0000,#1772791a 32%,#02253247 72%,#020f178c),repeating-linear-gradient(176deg,#0000 0 42px,#83d5c40a 43px 44px);position:absolute;inset:26% 0 0}.depth-field i{filter:blur(5px);opacity:.62}.depth-field i:first-child{background:radial-gradient(#2aa5a438,#3f889a14 48%,#0000 74%)}.depth-field i:nth-child(2){opacity:.28}.depth-field i:nth-child(3){opacity:.42;background:linear-gradient(#0000,#094d566b)}.surface-ripples{z-index:5;opacity:.84}.surface-ripples i{background:linear-gradient(90deg,#0000,#d2f4e880,#0000);height:1px;box-shadow:0 0 8px #a4e8dc33}.world-lighting{z-index:4}.horizon-band{background:radial-gradient(at 52% 12%,#ffda9c45,#0000 63%);height:44%}.shore-reflection{background:linear-gradient(#0000,#eac06b17 55%,#2b9a931f);height:31%}.water-scene.period-night .horizon-band{background:radial-gradient(at 62% 18%,#8ebee72e,#0000 57%)}.water-scene.period-night:before{background:linear-gradient(#0f1b3661,#010f1940 48%,#010c139e)}.scene-shade{z-index:9;background:linear-gradient(#0000 0 40%,#03101624 64%,#02090e8c)}.weather-strip,.toggle-fullscreen-btn,.scene-sound{background:var(--fishing-glass);border-color:#d4ebdf3d;box-shadow:0 8px 24px #00000038,inset 0 1px #ffffff17}.weather-strip{padding:9px 14px 9px 11px;top:18px;left:20px}.toggle-fullscreen-btn,.scene-sound{width:40px;height:40px;top:18px;right:20px}div.rod-handle{z-index:14;height:10px;box-shadow:0 2px #fff7d36b,0 9px 22px #0000009e,0 0 16px #efbe5e1f}div.rod-handle:after{width:12px;height:12px;box-shadow:0 0 10px #ffd882e6,0 0 28px #ffb94870}.fishing-line-visual{z-index:13;filter:drop-shadow(0 0 2px #cdf5e8b3)}.bobber{z-index:15;box-shadow:0 0 0 3px #ffffff24,0 0 20px #ff6a3db8}.cast-target{z-index:12;border-color:#8be6dc94;box-shadow:0 0 0 1px #f5c86f4d,0 0 22px #51ccc347}.fish-shadow{z-index:11;filter:blur(2px)drop-shadow(0 0 10px #4bd2c94d);opacity:.9}.fish-silhouette-svg{filter:drop-shadow(0 0 8px #4dcdc67a)}.fish-wake{z-index:10;opacity:.82;filter:drop-shadow(0 0 5px #67d7cc66);border-color:#b4eedeb3}.line-tension{z-index:12;opacity:.72;filter:drop-shadow(0 0 7px #f9d17380)}.fight-live{z-index:28;position:relative}.fight-intent{background:linear-gradient(105deg,#081116ed,#0b1c20b3);border-color:#f6d37e57;border-radius:12px;grid-template-columns:auto minmax(145px,auto) minmax(0,1fr);width:min(100%,760px);margin:0 0 12px;padding:11px 14px;box-shadow:0 12px 28px #00000040,inset 3px 0 #70d7ceb8}.fight-intent b{letter-spacing:.02em;font-size:15px}.fight-intent em{line-height:1.4}.fight-intent.intent-telegraph{animation:1.2s ease-in-out infinite alternate intentBeacon}@keyframes intentBeacon{to{box-shadow:0 0 0 1px #ffd36c24,0 0 24px #ffbe5c24,inset 3px 0 #ffd36ce6}}.fight-hud{grid-template-columns:minmax(230px,1.25fr) minmax(220px,1fr) minmax(180px,.9fr);align-items:stretch;gap:12px;max-width:760px}.fight-hud>div{background:linear-gradient(145deg,#091419e0,#070e13b3);border-color:#cee7df33;border-radius:12px;min-height:76px;padding:12px 13px;box-shadow:0 10px 22px #0000002e,inset 0 1px #ffffff0f}.tension-gauge-wrap{grid-template-columns:105px 1fr;align-items:center;gap:5px;display:grid}.tension-arc-svg{width:105px;height:60px;overflow:visible}.gauge-readout span{color:var(--fishing-muted);letter-spacing:.08em;text-transform:uppercase;font-size:10px}.gauge-readout b{color:#f8d778;letter-spacing:.03em;margin-top:3px;font-size:23px;display:block}.gauge-readout small{color:#efedd4ad}.hud-bars{align-content:center;gap:9px;display:grid}.hud-bars>div{border-bottom:1px solid #d3ebe021;min-height:22px;padding:1px 0 7px;position:relative}.hud-bars span{color:var(--fishing-muted);font-size:11px}.hud-bars b{float:right;color:var(--fishing-ink);font-size:12px}.hud-bars i{background:linear-gradient(90deg,var(--fishing-aqua),#d8d579);border-radius:99px;height:4px;margin-top:6px;display:block;box-shadow:0 0 10px #70d7ce4d}.fish-stamina-state{flex-direction:column;justify-content:center;display:flex}.fish-stamina-state b{color:#cbe6d4;margin-top:6px;line-height:1.35}.fight-hud>p{color:#edebd5ad;grid-column:1/-1;margin:-3px 0 0;font-size:11px}.control-strip{z-index:32;background:linear-gradient(100deg,#0a1519e6,#0b1b1dc7);border:1px solid #cbe5dc29;border-radius:12px;position:relative;box-shadow:0 12px 28px #0003,inset 0 1px #ffffff0f}.fishing-actions button,.fullscreen-fight-btn{border-radius:10px;min-height:44px;font-weight:800;transition:transform .16s,filter .16s,border-color .16s;box-shadow:0 5px 12px #0000002e,inset 0 1px #ffffff1f}.fishing-actions button:hover,.fullscreen-fight-btn:hover{filter:brightness(1.1);transform:translateY(-2px)}.fishing-actions button:active,.fullscreen-fight-btn:active{transform:translateY(1px)scale(.98)}.fullscreen-fight-overlay{z-index:35;pointer-events:none}.fullscreen-fight-controls{pointer-events:auto;background:#050f14d6;border:1px solid #cee7df2e;border-radius:16px;padding:12px;box-shadow:0 18px 42px #00000052,inset 0 1px #ffffff14}@media (max-width:760px){.water-scene{border-radius:15px;min-height:min(610px,74svh)}.weather-strip{max-width:none;left:12px;right:58px}.toggle-fullscreen-btn,.scene-sound{top:12px;right:12px}.scene-sound{right:58px}.fight-intent{grid-template-columns:auto 1fr;gap:5px 9px;padding:10px 11px}.fight-intent em{grid-column:1/-1}.fight-hud{grid-template-columns:1fr 1fr;gap:8px}.fight-hud>div:first-child{grid-column:1/-1}.tension-gauge-wrap{grid-template-columns:90px 1fr}.tension-arc-svg{width:90px}.fullscreen-fight-controls{gap:7px;padding:9px}.fullscreen-fight-btn{min-height:46px;padding-inline:10px}div.rod-handle{width:53%}}@media (max-width:460px){.water-scene{min-height:500px}.fight-hud{grid-template-columns:1fr}.fight-hud>div:first-child{grid-column:auto}.hud-bars{grid-template-columns:1fr 1fr;gap:10px}.fight-hud>p{grid-column:auto}.fullscreen-fight-controls{width:calc(100vw - 24px)}.fullscreen-fight-group{grid-template-columns:1fr 1fr;gap:7px;display:grid}}@media (prefers-reduced-motion:reduce){.water-glints,.surface-ripples i,.fight-intent.intent-telegraph,.ambient-details>i{animation:none!important}}

.shop-header,.market-head,.pedia-head,.tavern-scene{justify-content:space-between;align-items:center;gap:16px;display:flex}.shop-item{-webkit-backdrop-filter:blur(8px);background:#161a1c99;border-radius:12px;grid-template-columns:76px minmax(0,1fr);gap:14px;min-height:204px;padding:16px;transition:transform .22s cubic-bezier(.34,1.56,.64,1),box-shadow .22s,background .2s,border-color .2s;display:grid}.shop-item:hover{background:#202528e6;border-color:#ffffff38;transform:translateY(-5px)scale(1.012);box-shadow:0 18px 42px #0000006b,inset 0 2px #ffffff0a}.item-art{width:72px;height:72px;color:var(--gold);background:radial-gradient(circle at 38% 28%,#ffffff14,#4fb49f1a 54%,#0000002e);border:1px solid #ffffff1f;border-radius:8px;place-items:center;font-size:28px;font-weight:900;display:grid;overflow:hidden;box-shadow:0 12px 26px #00000042}.item-art img{object-fit:cover;width:100%;height:100%}.item-buy{grid-column:1/-1;justify-content:space-between;align-items:center;gap:10px;margin-top:auto;display:flex}.shop-item.owned{background:linear-gradient(135deg,#4fb49f14,#0000 55%),#161a1c99;border-color:#4fb49f85}.shop-item.owned:after{content:"✓";width:22px;height:22px;color:var(--teal);background:#4fb49f38;border:1px solid #4fb49f80;border-radius:50%;place-items:center;font-size:11px;font-weight:900;display:grid;position:absolute;top:10px;right:10px}.shop-item{position:relative}.premium-tab{color:var(--gold);border-color:#ffd36c59}.premium-tab.active{background:#e8a84d2e;border-color:#ffd36cb3}.premium-tab-mark{color:var(--gold);margin-right:5px}.premium-store-head{background:linear-gradient(135deg,#e8a84d1f,#4fb49f0d),#161a1ca6;border:1px solid #ffd36c33;border-radius:12px;justify-content:space-between;align-items:flex-start;gap:18px;padding:18px;display:flex}.premium-store-head h3{margin:0 0 7px;font-size:22px}.premium-store-head p:not(.eyebrow){max-width:720px;color:var(--muted);margin:0;font-size:12px;line-height:1.5}.premium-sandbox-badge{color:var(--gold);letter-spacing:.12em;border:1px solid #ffd36c52;border-radius:999px;flex:none;padding:7px 10px;font-size:9px}.premium-product-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px;margin-top:14px;display:grid}.premium-product-card{background:#161a1cb8;border:1px solid #ffffff1f;border-radius:12px;grid-template-columns:92px minmax(0,1fr);gap:14px;padding:14px;display:grid;box-shadow:0 12px 28px #00000038}.premium-product-card:hover{border-color:#ffd36c73;transform:translateY(-2px)}.premium-product-art{background:radial-gradient(circle at 42% 25%,#ffd36c38,#4fb49f14 55%,#00000038);border-radius:9px;place-items:center;width:92px;height:108px;display:grid;position:relative;overflow:hidden}.premium-product-art img{object-fit:contain;width:100%;height:100%;padding:8px}.premium-product-art span{z-index:1;color:var(--gold);letter-spacing:.08em;font-size:8px;position:absolute;top:6px;left:6px}.premium-product-copy{min-width:0}.premium-product-copy h3{margin:0 0 6px;font-size:15px}.premium-product-copy p:not(.eyebrow){color:var(--muted);margin:0;font-size:11px;line-height:1.4}.premium-product-copy ul{color:var(--soft);gap:3px;margin:10px 0 0;padding:0;font-size:10px;list-style:none;display:grid}.premium-product-copy li:before{content:"✓";color:var(--teal);margin-right:5px}.premium-product-buy{border-top:1px solid #ffffff1a;grid-column:1/-1;justify-content:space-between;align-items:center;gap:10px;margin-top:auto;padding-top:11px;display:flex}.premium-product-buy strong{color:var(--gold);font-size:16px}.premium-store-state{min-height:210px;color:var(--muted);text-align:center;border:1px dashed #ffd36c52;border-radius:12px;place-items:center;gap:8px;padding:24px;display:grid}.premium-store-state b{color:var(--ink)}.store-loader{border:2px solid #4fb49f33;border-top-color:var(--teal);border-radius:50%;width:25px;height:25px;animation:1s linear infinite spin}.premium-cart-widget{z-index:50;width:min(360px,100vw - 32px);position:fixed;bottom:24px;right:24px}.premium-cart-summary{width:100%;color:var(--ink);text-align:left;background:#1c201ff5;border:1px solid #ffd36c7a;border-radius:12px;grid-template-columns:38px 1fr auto 16px;align-items:center;gap:10px;padding:12px 14px;display:grid;box-shadow:0 14px 36px #0006}.premium-cart-summary:hover{border-color:var(--gold);transform:translateY(-1px)}.premium-cart-icon{width:34px;height:34px;color:var(--gold);background:#e8a84d29;border-radius:9px;place-items:center;font-size:20px;display:grid}.premium-cart-summary b,.premium-cart-summary small{display:block}.premium-cart-summary b{font-size:12px}.premium-cart-summary small{color:var(--muted);margin-top:3px;font-size:10px}.premium-cart-summary strong{color:var(--gold);white-space:nowrap;font-size:12px}.premium-cart-summary i{color:var(--gold);font-size:18px;font-style:normal}.premium-cart-drawer{background:#111414fa;border:1px solid #ffd36c73;border-radius:14px;width:100%;padding:18px;display:none;position:absolute;bottom:0;right:0;box-shadow:0 18px 55px #00000080}.premium-cart-drawer.open{display:block}.premium-cart-drawer-head{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:16px;display:flex}.premium-cart-drawer-head h3{margin:0;font-size:20px}.premium-cart-drawer .close-btn{color:var(--muted);cursor:pointer;background:0 0;border:0;font-size:25px;line-height:1}.premium-cart-items{gap:4px;max-height:260px;display:grid;overflow:auto}.premium-cart-item{border-bottom:1px solid #ffffff1a;justify-content:space-between;gap:12px;padding:10px 0;display:flex}.premium-cart-item b,.premium-cart-item small{display:block}.premium-cart-item b{font-size:12px}.premium-cart-item small{color:var(--muted);margin-top:4px;font-size:10px}.premium-cart-controls{align-items:center;gap:6px;display:flex}.premium-cart-controls button{border:1px solid var(--line);width:24px;height:24px;color:var(--ink);background:#ffffff0f;border-radius:5px;padding:0}.premium-cart-controls span{text-align:center;min-width:14px;font-size:11px}.premium-cart-controls .cart-remove{color:var(--red);margin-left:4px}.premium-cart-total{color:var(--muted);justify-content:space-between;padding:16px 0 12px;font-size:12px;display:flex}.premium-cart-total strong{color:var(--gold);font-size:18px}.premium-checkout-btn{width:100%}.premium-account-note{color:var(--muted);text-align:center;margin-top:9px;font-size:10px;display:block}.premium-cart-message{min-height:14px;color:var(--red);text-align:center;margin:8px 0 0;font-size:10px}
.tavern-scene{background:linear-gradient(135deg,#0e0a08f5 0%,#3c2018b8 55%,#0e0a08eb 100%),radial-gradient(at 72% 28%,#e8a84d57,#0000 44%),radial-gradient(at 15% 80%,#8d412838,#0000 38%),url(/assets/keyart/tavern-hall.webp) 50%/cover no-repeat,linear-gradient(135deg,#1a0e08,#0e0a06);border:1px solid #ffd36c33;border-radius:12px;min-height:340px;padding:32px;position:relative;overflow:hidden;box-shadow:0 24px 64px #00000085,inset 0 1px #ffd36c24,inset 0 -1px #0000004d}.tavern-scene:before{content:"";pointer-events:none;z-index:0;background:radial-gradient(circle at 82% 22%,#ffb43c29,#0000 30%),radial-gradient(circle at 10% 72%,#c864281f,#0000 26%),radial-gradient(circle,#78321414,#0000 60%);animation:4.2s ease-in-out infinite alternate tavernFlicker;position:absolute;inset:0}.tavern-scene:after{content:"";pointer-events:none;z-index:0;background:linear-gradient(#0000 35%,#080503b8 100%);position:absolute;inset:0}.tavern-copy,.tavern-menu{z-index:1;position:relative}@keyframes tavernFlicker{0%{opacity:.72}25%{opacity:1}50%{opacity:.86}75%{opacity:.96}to{opacity:.78}}.tavern-city-loop{grid-template-columns:1fr 280px;align-items:center;gap:32px;display:grid}.tavern-menu.compact-menu{gap:8px;display:grid}.menu-item{-webkit-backdrop-filter:blur(8px);background:#0e0a08b8;border:1px solid #ffffff1a;border-radius:8px;grid-template-columns:1fr auto auto;align-items:center;gap:8px;padding:10px 12px;transition:background .2s,border-color .2s;display:grid}.menu-item:hover{background:#ffd36c14;border-color:#ffd36c42}.menu-item b{color:var(--gold);font-size:15px}.menu-item small{color:var(--muted);margin-top:2px;font-size:12px;display:block}.compact-btn{white-space:nowrap;min-height:34px;padding:6px 11px;font-size:13px}blockquote{border-left:4px solid var(--amber);max-width:680px;color:var(--ink);margin:18px 0 0;padding-left:18px;font-size:20px;line-height:1.45}.tournament-panel{background:linear-gradient(135deg, #ffd36c1f, transparent 48%), var(--panel);grid-template-columns:minmax(0,1fr) 280px;align-items:center;gap:18px;margin-bottom:14px;padding:18px;display:grid}.tournament-score{gap:9px;display:grid}.tournament-score b{color:var(--gold);font-size:30px}.tournament-score span{color:var(--muted)}.npc-grid{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px;margin-bottom:14px;display:grid}.npc-card{grid-template-rows:auto 1fr auto;grid-template-columns:54px minmax(0,1fr);gap:12px;min-height:180px;padding:14px;transition:transform .2s cubic-bezier(.34,1.56,.64,1),box-shadow .2s,border-color .2s;display:grid}.npc-card:hover{box-shadow:0 14px 36px #0000005c, 0 0 0 1px var(--npc-color,#ffd36c33);border-color:var(--npc-color,#ffd36c57);transform:translateY(-4px)scale(1.01)}.npc-info{grid-column:2}.talk-btn{grid-column:1/span 2;width:100%;margin-top:auto}.npc-avatar{width:54px;height:54px;color:var(--gold);background:linear-gradient(160deg,#e8a84d52,#4fb49f2e);border-radius:8px;place-items:center;font-size:24px;font-weight:900;transition:box-shadow .2s;display:grid;position:relative;box-shadow:0 0 #0000}.npc-card:hover .npc-avatar{box-shadow:0 0 18px var(--npc-color,#ffd36c66), 0 0 0 2px var(--npc-color,#ffd36c4d)}.quest-card{align-content:space-between;gap:14px;min-height:250px;padding:16px;transition:transform .2s cubic-bezier(.34,1.56,.64,1),box-shadow .2s,border-color .2s;display:grid}.quest-card:hover{border-color:#ffffff2e;transform:translateY(-4px)scale(1.01);box-shadow:0 14px 36px #00000052}.quest-card.accepted{background:linear-gradient(135deg, #4fb49f1a, transparent 55%), var(--panel-2);border-color:#4fb49f8c;box-shadow:0 0 24px #4fb49f14}.quest-card.completed{background:linear-gradient(135deg, #82b3661a, transparent 55%), var(--panel-2);opacity:.82;border-color:#82b3668c}.market-total{justify-items:end;gap:6px;display:grid}.market-total b{color:var(--gold);font-size:28px}.catch-list{grid-template-columns:1fr}.catch-row{border-radius:6px;grid-template-columns:64px minmax(0,1fr) auto auto;align-items:center;gap:12px;min-height:82px;padding:12px;transition:background .16s;display:grid}.catch-row:hover{background:#ffffff0a}.fish-badge{width:56px;height:56px;color:var(--gold);background:radial-gradient(circle at 38% 28%,#ffffff17,#ffffff0d 58%,#0003);border:1px solid #ffffff1f;border-radius:8px;place-items:center;font-weight:900;display:grid;overflow:hidden;box-shadow:0 10px 22px #0000003d}.fish-badge img{object-fit:cover;width:100%;height:100%}.workshop-layout{align-items:start}.workshop-main{min-height:410px}.condition-grid{gap:12px;margin:20px 0;display:grid}.condition-grid div{grid-template-columns:1fr auto;align-items:center;gap:8px;display:grid}.condition-grid .bar{grid-column:1/-1}.upgrade-grid{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px;display:grid}.upgrade-card{-webkit-backdrop-filter:blur(8px);background:#161a1c99;border-radius:12px;min-height:190px;padding:20px;transition:transform .2s,box-shadow .2s,border-color .2s}.upgrade-card:hover{border-color:#fff3;transform:translateY(-4px);box-shadow:0 12px 30px #00000059}.journal-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.story-panel{background:linear-gradient(135deg, #82b3661f, transparent 48%), var(--panel);border-radius:12px;grid-column:1/-1;grid-template-columns:minmax(0,.9fr) minmax(320px,1.1fr);align-items:center;gap:24px;padding:24px 32px;display:grid}.story-objectives{gap:8px;display:grid}.story-objectives div{border:1px solid var(--line);background:#ffffff0b;border-radius:8px;grid-template-columns:64px minmax(0,1fr) auto;align-items:center;gap:10px;min-height:44px;padding:9px 10px;display:grid}.story-objectives span,.story-objectives em{color:var(--muted);font-size:12px;font-style:normal}.story-objectives .done{background:#82b3661a;border-color:#82b36680}
