: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}html,body,#app{min-height:100%}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}.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:1fr}.rail{border-right:none;border-bottom:1px solid var(--line);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}
.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:#111;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)}
.fishing-stage{gap:12px;display:grid}.water-scene{border:1px solid var(--line);min-height:520px;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;border-radius:8px;position:relative;overflow:hidden;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{background:linear-gradient(#080a0c14,#080a0c6b 48%,#080a0cc7),linear-gradient(90deg,#0a0c0cc7,#0000 58%);position:absolute;inset:0}.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(13, 26, 30, var(--depth-alpha)), #2c646924 46%, transparent 70%);filter:blur(2px);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)}}.rod-handle{z-index:10;transform-origin:0;background:linear-gradient(#ffffff24 0%,#0000 40%),linear-gradient(90deg,#46311e 0 12%,#caa062 13% 18%,#24201a 19% 100%);border-radius:5px 1px 1px 5px;width:45%;height:8px;position:absolute;bottom:14.5%;left:2.8%;overflow:visible;transform:rotate(-24deg);box-shadow:0 1px #fff4ca59,0 8px 18px #00000073}.rod-handle:before{content:"";border-radius:inherit;pointer-events:none;background:linear-gradient(#ffffff38 0%,#ffffff0f 35%,#0000 55%);position:absolute;inset:0}.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%}.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}.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}.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}.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}.rod-handle.rod-neon-night .rod-reel:before{background:linear-gradient(#00ffea,#006e62)}.rod-handle.rod-neon-night .rod-reel:after{background:radial-gradient(circle at 40% 35%,#00e5d6,#003d36);border-color:#00ffea}.rod-handle.rod-neon-night .rod-guides span{border-color:#00ffea;box-shadow:0 0 5px #00ffeab3,inset 0 0 0 1px #00ffea4d}.rod-handle.rod-neon-night .rod-guides span:before{background:#00ffea}.rod-handle.rod-neon-night:after{background:#00ffea;box-shadow:0 0 16px #00ffea,0 0 6px #ffffffe6}.rod-handle.rod-bamboo-float .rod-grip{background:repeating-linear-gradient(92deg,#0000,#0000 5px,#0000001a 5px 6px),#6b4e2e;height:10px}.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}.rod-handle.rod-bamboo-float .rod-reel:before,.rod-handle.rod-bamboo-float .rod-reel:after{display:none}.rod-handle.rod-bamboo-float:after{background:#deb96ef2;box-shadow:0 0 8px #deb46473}.rod-handle.rod-bamboo-float .rod-guides span{border-color:#b48c46d9}.rod-handle.rod-bamboo-float .rod-guides span:before{background:#b48c46cc}.rod-handle.rod-type-feeder .rod-grip{background:repeating-linear-gradient(92deg,#0000,#0000 4px,#ffffff0a 4px 5px),#1a1c1e;height:10px}.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}.rod-handle.rod-type-feeder .rod-reel:before{background:linear-gradient(#d95f59,#7a2a26)}.rod-handle.rod-type-feeder .rod-guides span{border-color:#caa062;box-shadow:0 0 3px #caa06266}.rod-handle.rod-type-feeder .rod-guides span:before{background:#caa062}.rod-handle.rod-type-feeder:after{background:#ff4500;box-shadow:0 0 10px #ff4500,0 0 20px #ff450059}.rod-handle.rod-type-bottom,.rod-handle.rod-type-carp{height:10px}.rod-handle.rod-type-bottom .rod-grip,.rod-handle.rod-type-carp .rod-grip{background:repeating-linear-gradient(92deg,#0000,#0000 4px,#0000001a 4px 5px),#3b2a1e;height:13px}.rod-handle.rod-type-bottom .rod-reel,.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}.rod-handle.rod-type-bottom:after,.rod-handle.rod-type-carp:after{background:#dcaf50f2;width:12px;height:12px;box-shadow:0 0 10px #dcaf5080}.rod-handle.rod-type-fly{border-radius:4px 1px 1px 4px;height:5px}.rod-handle.rod-type-fly .rod-grip{background:repeating-linear-gradient(92deg,#0000,#0000 3px,#00000014 3px 4px),#b89870;height:9px}.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}.rod-handle.rod-type-fly:after{background:#d1d5dbfa;width:7px;height:7px;box-shadow:0 0 8px #ffffff80}.rod-handle.rod-type-ice{border-radius:4px;width:25%;height:7px}.rod-handle.rod-type-ice .rod-grip{background:#2a2c30;width:30%;height:10px}.rod-handle.rod-type-ice .rod-reel,.rod-handle.rod-type-ice .rod-guides span:nth-child(3),.rod-handle.rod-type-ice .rod-guides span:nth-child(4){display:none}.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}.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%)}.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}.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}
.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%)}.rod-handle.rod-type-bottom,.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%)}.rod-handle.rod-type-fly{background:linear-gradient(#ffffff38 0%,#0000 45%),linear-gradient(90deg,#a88e67 0 10%,#8b8c8d 10% 12%,#d1d5db 12% 100%)}.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 .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 .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 .rod-handle{animation:.7s ease-in-out infinite alternate rodFight;transform:rotate(-38deg)}.water-scene.fighting.gesture-active .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 .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{opacity:0!important;transition:opacity .38s,transform .38s!important;animation:none!important;transform:translate(-50%,calc(24px - 50%))!important}.water-scene.landed .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) - 22px);top:calc(var(--cast-y) - 22px);z-index:7;opacity:0;pointer-events:none;border:1.5px solid #c8ebe16b;border-radius:50%;place-items:center;width:44px;height:44px;transition:opacity .3s;display:grid}.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)}}.scene-status{z-index:12;-webkit-backdrop-filter:blur(12px);background:#0f141873;border:1px solid #ffffff2e;border-radius:12px;width:min(620px,100% - 48px);padding:16px 20px;position:absolute;bottom:24px;left:24px;box-shadow:0 10px 30px #0000004d}.scene-status h2{text-shadow:0 4px 18px #00000080;max-width:100%;margin:4px 0 0;font-size:clamp(22px,2.6vw,34px);line-height:1.04}.gesture-cue{color:#ece6ccdb;background:#00000047;border:1px solid #ffffff1f;border-radius:999px;width:fit-content;max-width:100%;margin-top:8px;padding:5px 9px;font-size:12px;line-height:1.2;display:inline-flex}.gesture-cue.bite-read{color:#ffe8bef0;border-color:#ffb8694d}.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}.water-scene:has(.tension-critical) .scene-shade{animation:.55s ease-in-out infinite alternate critVignette}.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 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}
.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 .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 .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 .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{position:absolute;inset:0;overflow:hidden}.spring-petals i{left:-20px;top:var(--p-top);opacity:.82;width:7px;height:9px;animation:blowPetal var(--p-duration) linear infinite;animation-delay:var(--p-delay);background:pink;border-radius:50% 0 50% 50%;position:absolute}@keyframes blowPetal{0%{transform:translate(0)rotate(0)}to{transform:translate(1300px,90px)rotate(360deg)}}.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;min-height:28px;padding:5px 9px;font-size:10px;font-weight:700;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)}}

.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}
.achievements-panel{grid-column:1/-1}.achievement-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:10px;display:grid}.achievement{background:#ffffff0b;align-content:space-between;min-height:190px;padding:12px;transition:transform .22s cubic-bezier(.34,1.56,.64,1),box-shadow .22s,border-color .22s;display:grid}.achievement:hover{border-color:#ffffff2e;transform:translateY(-3px)scale(1.008);box-shadow:0 12px 30px #00000052}.achievement.unlocked{background:linear-gradient(135deg,#e8a84d21,#0000 55%),#16140f99;border-color:#ffd36c9e;animation:.6s cubic-bezier(.2,.86,.25,1) both achieveUnlock;box-shadow:0 0 28px #e8a84d14,0 8px 22px #0000003d}@keyframes achieveUnlock{0%{opacity:0;transform:scale(.94)translateY(6px)}to{opacity:1;transform:scale(1)translateY(0)}}.log-panel{grid-column:1/-1}.log-panel p{border-bottom:1px solid var(--line);margin-bottom:8px;padding-bottom:8px}.stat-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.stat-grid div{border:1px solid var(--line);background:#ffffff0d;border-radius:8px;min-height:94px;padding:14px}.stat-grid b{color:var(--gold);font-size:24px;display:block}.stat-grid span{color:var(--muted)}.record-list{gap:8px;display:grid}.record-list div{border-bottom:1px solid var(--line);justify-content:space-between;gap:10px;padding:10px;display:flex}.fish-card{-webkit-backdrop-filter:blur(8px);background:#14181aa6;border-radius:12px;min-height:280px;padding:16px;transition:transform .22s cubic-bezier(.34,1.56,.64,1),box-shadow .22s,border-color .22s,background .22s}.fish-card:hover{background:#181c1ed9;border-color:#ffffff40;transform:translateY(-4px);box-shadow:0 12px 28px #00000059}.fish-card .fish-badge{width:76px;height:76px}.bait-line{min-height:40px}.record-line{border-top:1px solid var(--line);margin-top:12px;padding-top:10px}.rarity-common{border-color:#b9bdad38}.rarity-uncommon{border-color:#4fb49f57}.rarity-rare{border-color:#8d7bd87a}.rarity-legendary{box-shadow:0 0 0 1px #ffd36c1f, var(--shadow);border-color:#ffd36cb8}.empty-state{min-height:160px;color:var(--soft);background:#ffffff05;border:2px dashed #ffffff1a;border-radius:12px;place-items:center;font-size:15px;display:grid}.quest-screen-panel{-webkit-backdrop-filter:blur(12px);background:linear-gradient(135deg,#140f0db3,#291d1bb3);border:1px solid #ffffff1f;border-radius:12px;flex-direction:column;gap:24px;margin-bottom:20px;padding:32px;display:flex;box-shadow:0 12px 32px #0006}.quest-dialogue-shell{flex-direction:column;gap:24px;display:flex}.quest-screen-panel.cinematic-dialogue{background:linear-gradient(145deg,#0c181ef5,#1a1211f5);border-color:#ffd36c47;gap:0;max-width:1120px;padding:0;overflow:hidden;box-shadow:0 28px 70px #00000094,inset 0 0 0 1px #ffffff09}.quest-cinematic-art{background-color:#101d24;background-position:50%;background-size:cover;border-bottom:1px solid #ffd36c33;align-items:flex-end;min-height:330px;padding:32px clamp(22px,5vw,64px);display:flex}.quest-cinematic-art-copy{color:#f5ead5;text-shadow:0 2px 18px #000000e6;max-width:560px}.quest-cinematic-art-copy p{color:#f5ead5b8;letter-spacing:.14em;text-transform:uppercase;margin:0 0 7px;font-size:12px}.quest-cinematic-art-copy strong{color:#ffd36c;letter-spacing:.015em;margin-top:18px;font-family:Georgia,serif;font-size:clamp(17px,2vw,23px);font-weight:500;display:block}.cinematic-dialogue .quest-dialogue-shell{padding:28px clamp(22px,5vw,64px) 30px}.cinematic-dialogue .quest-screen-header{border-bottom-color:#ffffff1a}.cinematic-dialogue .quest-screen-text{border-left-color:var(--quest-accent,var(--gold));background:#040a0d7a;border-radius:4px 14px 14px 4px;max-width:920px;font-size:18px;line-height:1.72;box-shadow:0 12px 28px #00000029}.cinematic-dialogue .quest-screen-text blockquote{color:#f7dfb2;background:#ffffff0b;border-left:2px solid #ffd36cb3;margin:16px 0;padding:12px 16px}.cinematic-dialogue .quest-option-btn{background:#ffffff0e;border-color:#ffffff24;min-height:58px}.cinematic-dialogue .quest-option-btn:hover:not(:disabled){background:linear-gradient(90deg,#ffd36c29,#ffd36c0b);box-shadow:0 8px 24px #0003}.cinematic-dialogue .option-num{border:1px solid #ffd36c7a;border-radius:50%;place-items:center;width:28px;height:28px;margin-right:10px;font-size:13px;display:inline-grid}.quest-screen-header{border-bottom:1px solid var(--line);align-items:center;gap:18px;padding-bottom:18px;display:flex}.npc-avatar.big{border-radius:12px;width:72px;height:72px;font-size:32px}.quest-screen-text{border-left:4px solid var(--gold);color:var(--ink);background:#00000059;border-radius:6px 12px 12px 6px;padding:20px 24px;font-size:18px;line-height:1.6}.quest-screen-text p{margin:0}.quest-screen-panel h2,.quest-screen-panel h3{text-wrap:balance}.quest-screen-options{flex-direction:column;gap:10px;margin:10px 0;display:flex}.quest-option-btn{text-align:left;background:var(--panel);border:1px solid var(--line);color:var(--ink);cursor:pointer;touch-action:manipulation;border-radius:6px;padding:14px 18px;font-size:16px;transition:background-color .2s,border-color .2s,box-shadow .2s,transform .2s cubic-bezier(.4,0,.2,1);display:block;position:relative}.quest-option-btn:hover:not(:disabled){border-color:var(--gold);background:#e8a84d1f;transform:translate(4px)}.quest-option-btn:active:not(:disabled){transform:translate(2px)}.quest-option-btn.disabled{opacity:.4;cursor:not-allowed;background:#00000026}.quest-option-btn:focus-visible{outline:2px solid var(--gold);outline-offset:3px}.option-num{color:var(--gold);margin-right:8px;font-weight:700}.quest-screen-footer{border-top:1px solid var(--line);justify-content:flex-end;padding-top:18px;display:flex}@media (prefers-reduced-motion:reduce){.animate-text,.quest-option-btn{transition:none;animation:none}}.section-title{color:var(--gold);text-transform:uppercase;letter-spacing:1px;margin:20px 0 10px;font-size:18px}
.tavern-menu{border-top:1px solid #ffffff1a;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin-top:18px;padding-top:16px;display:grid}.menu-item{text-align:center;background:#ffffff08;border:1px solid #ffffff14;border-radius:10px;flex-direction:column;justify-content:space-between;align-items:center;gap:8px;padding:14px 16px;transition:transform .2s,box-shadow .2s,background .2s,border-color .2s;display:flex}.menu-item:hover{background:#ffffff0f;border-color:#e8a84d4d;transform:translateY(-2px);box-shadow:0 8px 20px #0003}.menu-item span{color:var(--ink);font-size:14px;font-weight:500}.menu-item b{color:var(--gold);margin:4px 0;font-size:16px}.menu-item .compact-btn{width:100%;padding:6px 12px;font-size:13px}.npc-avatar-wrapper{justify-content:center;align-items:center;display:flex}.npc-avatar{border:1px solid #ffffff26;transition:transform .2s;box-shadow:0 4px 10px #0000004d}.npc-card.can-talk:hover .npc-avatar{transform:scale(1.08)rotate(3deg)}.npc-meta-row{justify-content:space-between;align-items:center;gap:8px;margin-bottom:6px;display:flex}.npc-status-badge{text-transform:uppercase;letter-spacing:.5px;border-radius:4px;padding:2px 6px;font-size:11px;font-weight:600}.status-ready{color:var(--green);background:#82b36626;border:1px solid #82b3664d}.status-cooldown{color:var(--amber);background:#e8a84d1f;border:1px solid #e8a84d40}.status-locked{color:var(--red);background:#d95f591f;border:1px solid #d95f5940}.status-active{color:var(--blue,#6ca3bf);background:#6ca3bf26;border:1px solid #6ca3bf59}.status-fulfilled{color:var(--gold);background:#e8a84d33;border:1px solid #e8a84d80;animation:1.5s ease-in-out infinite badge-pulse}@keyframes badge-pulse{0%,to{opacity:1}50%{opacity:.6}}.npc-active-quest{border-radius:4px;margin-top:6px;padding:5px 8px;font-size:12px;font-weight:600}.npc-active-quest.pending{color:var(--blue,#6ca3bf);background:#6ca3bf1a;border:1px solid #6ca3bf33}.npc-active-quest.fulfilled{color:var(--gold);background:#e8a84d26;border:1px solid #e8a84d59}.npc-card.has-reward{border-color:#e8a84d66;box-shadow:0 0 16px #e8a84d26}.npc-avatar-wrapper{position:relative}.reward-pulse{border:2px solid var(--gold);pointer-events:none;border-radius:50%;animation:1.8s ease-in-out infinite reward-ring;position:absolute;inset:-4px}@keyframes reward-ring{0%,to{opacity:.8;transform:scale(1)}50%{opacity:.2;transform:scale(1.15)}}.relation-stars{color:var(--gold);letter-spacing:1px;font-size:13px}.quest-breadcrumbs{border:1px solid var(--line);background:#0003;border-radius:6px;align-items:center;gap:8px;margin-left:auto;padding:6px 12px;font-size:13px;display:flex}.quest-breadcrumbs .step{color:var(--muted);font-weight:500}.quest-breadcrumbs .step.active{color:var(--gold);font-weight:700}.quest-breadcrumbs .arrow{color:#fff3}.npc-header-text{flex-grow:1}.quest-screen-text-wrapper{margin:10px 0}.animate-text{animation:.35s ease-out forwards questFadeIn}@keyframes questFadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.option-content{align-items:center;gap:8px;display:flex}.quest-option-btn{width:100%;color:var(--ink);text-align:left;cursor:pointer;background:#ffffff0a;border:1px solid #ffffff14;border-radius:8px;justify-content:space-between;align-items:center;gap:16px;margin-bottom:8px;padding:12px 16px;font-weight:600;transition:transform .22s cubic-bezier(.34,1.56,.64,1),background .22s,border-color .22s,box-shadow .22s;display:flex}.quest-option-btn:hover{background:#ffd36c14;border-color:#ffd36c6b;transform:translate(6px)scale(1.008);box-shadow:0 4px 18px #ffd36c0f}.quest-option-btn:active{transition-duration:80ms;transform:translate(2px)scale(.985)}.opt-badge{text-transform:uppercase;border-radius:4px;padding:3px 8px;font-size:11px;font-weight:700}.energy-badge{color:var(--green);background:#82b36633;border:1px solid #82b36666}.cost-badge{color:var(--gold);background:#e8a84d33;border:1px solid #e8a84d66}.key-badge{color:var(--blue);background:#6ca3bf33;border:1px solid #6ca3bf66}.fish-badge-icon{color:var(--teal);background:#4fb49f33;border:1px solid #4fb49f66}.dialogue-panel{-webkit-backdrop-filter:blur(12px);box-shadow:var(--shadow);background:#0e1113f2;border-radius:12px;padding:24px;position:relative;overflow:hidden}.quest-dialogue-shell{gap:16px;display:grid}
.active-buffs-panel{border:1px solid var(--line);background:#ffffff08;border-radius:8px;margin-top:15px;padding:10px 14px}.buffs-title{color:var(--muted);margin-bottom:8px;font-size:13px;font-weight:600}.buffs-list{flex-wrap:wrap;gap:10px;display:flex}.buff-item{background:#0003;border:1px dashed #ffffff1a;border-radius:6px;align-items:center;gap:10px;padding:6px 10px;transition:transform .2s;display:flex}.buff-item:hover{border-color:var(--gold);transform:translateY(-2px)}.buff-icon{font-size:18px}.buff-details{flex-direction:column;display:flex}.buff-name{color:#fff;font-size:12px;font-weight:700}.buff-dur{color:var(--muted);font-size:10px}.quest-resources-panel{border:1px solid var(--line);background:#0003;border-radius:8px;flex-direction:column;gap:8px;margin-top:12px;padding:12px;animation:.35s ease-out forwards questFadeIn;display:flex}.quest-resource-item{align-items:center;gap:12px;display:flex}.resource-label{color:var(--muted);text-align:right;width:90px;font-size:12px;font-weight:600}.resource-bar-wrapper{background:#ffffff0d;border:1px solid #ffffff14;border-radius:4px;flex-grow:1;height:8px;overflow:hidden}.resource-bar{border-radius:4px;height:100%;transition:width .35s ease-out}.resource-value{color:#fff;text-align:left;width:60px;font-size:11px;font-weight:700}.tavern-city-loop{isolation:isolate;background:linear-gradient(90deg,#070c10e6 0%,#070c10a3 36%,#070c101f 76%,#070c1070 100%),linear-gradient(#0000 52%,#070c109e),url(/assets/keyart/tavern-hall.webp) 50%/cover no-repeat;border-color:#ffd36c3d;grid-template-columns:minmax(0,1fr) minmax(300px,.76fr);align-items:end;min-height:clamp(430px,48vw,620px);padding:clamp(24px,4vw,54px);display:grid;position:relative;overflow:hidden;box-shadow:0 22px 60px #00000057}.tavern-city-loop:after{z-index:-1;content:"";pointer-events:none;background:radial-gradient(circle at 76% 28%,#ffcb732e,#0000 28%);position:absolute;inset:0}.tavern-copy{z-index:1;max-width:600px;position:relative}.tavern-copy h2{color:#fff8e5;letter-spacing:-.065em;text-shadow:0 4px 22px #0000007a;max-width:570px;margin:0;font-size:clamp(30px,4.5vw,62px);line-height:.98}.tavern-copy>p:not(.eyebrow){color:#f1e7d0d1;text-shadow:0 2px 14px #000000a3;max-width:520px;line-height:1.6}.compact-menu{align-self:stretch}.tavern-menu.compact-menu{z-index:1;-webkit-backdrop-filter:blur(10px);background:#091115c2;border:1px solid #ffe7b333;border-radius:16px;grid-template-columns:1fr;align-self:end;gap:8px;margin:0;padding:12px;display:grid;position:relative;box-shadow:0 18px 40px #0000004d}.tavern-menu.compact-menu .menu-item{text-align:left;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;padding:12px;display:grid}.tavern-menu.compact-menu .menu-item>b{grid-area:1/2}.tavern-menu.compact-menu .menu-item .compact-btn{grid-column:1/-1}.story-chapters{background:linear-gradient(135deg,#1c2728eb,#0d1a22f5);border:1px solid #ffd36c2e;border-radius:20px;gap:18px;margin:18px 0 14px;padding:24px;display:grid}.story-chapters-heading{justify-content:space-between;align-items:end;gap:20px;display:flex}.story-chapters-heading h2{letter-spacing:-.055em;margin:0;font-size:clamp(24px,3vw,38px)}.story-chapters-heading p:not(.eyebrow){max-width:700px;color:var(--muted);margin:8px 0 0;line-height:1.55}.story-chapters-count{color:var(--gold);white-space:nowrap;font-size:11px}.story-chapter-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.story-chapter-card{border:1px solid #ffffff1f;border-top:2px solid var(--story-accent);background:linear-gradient(155deg,#ffffff0b,#051018b8);border-radius:16px;gap:15px;min-height:260px;padding:17px;display:grid}.story-chapter-top{letter-spacing:.12em;justify-content:space-between;gap:10px;font-size:10px;display:flex}.story-chapter-number{color:var(--story-accent);font-weight:800}.story-chapter-status{color:var(--muted);text-align:right;letter-spacing:0}.story-chapter-copy{align-self:start}.story-chapter-copy p{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;margin:0 0 8px;font-size:10px}.story-chapter-copy h3{letter-spacing:-.04em;margin:0 0 10px;font-size:20px}.story-chapter-copy span{color:var(--muted);font-size:12px;line-height:1.45;display:block}.story-chapter-action{align-self:end;width:100%}.story-chapter-card.story-chapter-available{box-shadow:0 12px 28px #0000002e, inset 0 2px var(--story-accent)}.story-chapter-card.story-chapter-completed,.story-chapter-card.story-chapter-locked,.story-chapter-card.story-chapter-legacy-locked,.story-chapter-card.story-chapter-level-locked,.story-chapter-card.story-chapter-cooldown{opacity:.66}.compact-menu .menu-item small,.market-total small,.market-buyer small,.market-fish-copy small,.contract-note,.contract-commitment,.thread-note{color:var(--muted);line-height:1.4;display:block}.human-buffs{color:var(--muted);margin-top:10px}.tavern-threads,.market-buyers{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:14px;display:grid}.tavern-thread,.market-buyer{background:var(--panel);border:1px solid #ffffff1f;border-radius:12px;min-height:156px;padding:18px;transition:transform .2s,box-shadow .2s,border-color .2s}.market-buyer:hover{border-color:#4fb49f59;transform:translateY(-3px);box-shadow:0 10px 24px #0003}.tavern-thread{align-content:start;gap:8px;display:grid}.tavern-thread p,.market-buyer p{margin:0}.tavern-thread.pinned{background:linear-gradient(135deg, #ffd36c17, transparent 62%), var(--panel);border-color:#ffd36c80}.thread-note{margin-top:auto;padding-top:8px}.dialogue-panel{max-width:980px;margin-inline:auto}.dialogue-header{align-items:center}.compact-resources{flex-wrap:wrap;gap:8px;display:flex}.relation-tone{color:var(--muted);font-size:12px}.contract-note,.contract-commitment{background:#ffd36c0e;border-left:2px solid #ffd36c7a;margin-top:9px;padding:8px 10px}.contract-commitment{color:var(--ink)}.contract-delivery{background:linear-gradient(135deg, #ffd36c0e, transparent 55%), var(--panel)}.market-city-head{align-items:end}.market-city-head>div:first-child{max-width:720px}.market-buyer{background:linear-gradient(145deg, #4fb49f12, transparent 62%), var(--panel)}.market-buyer h3{margin:4px 0 8px}.market-catch-row{min-height:96px}.market-fish-copy{min-width:0}.market-fish-copy h3,.market-fish-copy p{margin:0 0 5px}.market-fish-copy small+small{margin-top:5px}.behavior-note{background:#4a917e0f;border:1px solid #84bfae2e;border-radius:8px;gap:4px;min-height:72px;margin-top:10px;padding:10px;display:grid}.behavior-note span{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;font-size:10px}.behavior-note b{color:#d2e8dbe6;font-size:12px}.behavior-note p{color:#e4e0c9b3;margin:0;font-size:11px;line-height:1.35}.behavior-note.familiarity-known{background:#82b36614;border-color:#82b36657}@media (max-width:1040px){.story-chapter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:560px){.story-chapters{padding:18px}.story-chapters-heading{gap:10px;display:grid}.story-chapters-count{justify-self:start}.story-chapter-grid{grid-template-columns:1fr}}
.access-readiness{flex-wrap:wrap;gap:6px 10px;margin-top:10px;display:flex}.access-readiness span{color:var(--muted);font-size:11px}.access-readiness span.done{color:#a5cd8be0}.competition-session small{color:var(--muted);margin-top:10px;line-height:1.4;display:block}.competition-standings{border-top:1px solid var(--line);border-bottom:1px solid var(--line);gap:5px;padding:8px 0;display:grid}.competition-standings div{color:var(--muted);justify-content:space-between;gap:12px;font-size:12px;display:flex}.competition-standings div.player{color:var(--ink)}.competition-standings div b{color:inherit;font-size:12px}.component-service-grid{gap:10px}.condition-grid .service-component{-webkit-backdrop-filter:blur(8px);background:#ffffff0d;border:1px solid #ffffff1f;border-radius:12px;grid-template-columns:minmax(0,1fr) auto;padding:16px;transition:transform .2s,border-color .2s,box-shadow .2s}.condition-grid .service-component:hover{border-color:#ffffff40;transform:translateY(-2px);box-shadow:0 8px 24px #0003}.condition-grid .service-component small{color:var(--muted);grid-column:1/-1;font-size:11px;line-height:1.35}.condition-grid .service-component button{grid-column:1/-1;justify-self:start}.workshop-note{color:var(--muted);margin-top:12px;line-height:1.45;display:block}.career-signature{color:var(--muted);margin:2px 0 12px;line-height:1.5}.career-signature b{color:var(--ink)}.career-signatures{flex-wrap:wrap;gap:7px;margin-bottom:14px;display:flex}.career-signatures span{border:1px solid var(--line);color:var(--muted);border-radius:999px;padding:5px 8px;font-size:11px}.next-lines-panel{align-content:start;gap:8px;display:grid}.career-line{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:4px 10px;padding:10px 0;display:flex}.career-line:first-of-type{border-top:0}.career-line span,.career-line small{color:var(--muted)}.career-line small{flex-basis:100%;font-size:11px;line-height:1.35}.career-line b{text-align:right;word-wrap:break-word;max-width:60%}.competition-live{background:#14191db8;border:1px solid #cca95c42;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:10px;min-width:0;padding:8px 12px;display:grid}.competition-live span,.competition-live b,.competition-live em{min-width:0}.competition-live span{text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:11px;overflow:hidden}.competition-live b{font-size:12px}.competition-live em{color:var(--gold);font-size:11px;font-style:normal}.competition-field-note{max-width:320px;color:var(--muted);line-height:1.45;display:block}.competition-water-line{color:var(--muted);margin-top:6px;display:block}.settings-panel-grid{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:18px;display:grid}
.settings-section{padding:12px 0}.settings-section h3{margin-bottom:6px;font-size:16px;font-weight:700}.settings-section p{color:var(--muted);margin-bottom:12px;font-size:13px}.settings-control-row{align-items:center;gap:12px;display:flex}.settings-status-badge{border-radius:6px;padding:6px 12px;font-size:12px;font-weight:700}.settings-status-badge.status-active{color:var(--gold);background:#4fb49f26;border:1px solid #4fb49f4d}.settings-status-badge.status-muted{color:var(--muted);border:1px solid var(--line);background:#ffffff14}.sync-info-grid{border:1px solid var(--line);background:#00000026;border-radius:8px;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;padding:14px;display:grid}.sync-info-grid div{flex-direction:column;gap:4px;display:flex}.sync-info-grid span{color:var(--muted);text-transform:uppercase;font-size:11px}.sync-info-grid b{color:var(--ink);font-size:13px}.settings-guide h2{font-size:22px}.guide-steps{flex-direction:column;gap:16px;margin-top:14px;display:flex}.guide-step{gap:14px;display:flex}.guide-step-num{width:28px;height:28px;color:var(--gold);background:#ffd36c26;border:1px solid #ffd36c4d;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-weight:700;display:flex}.guide-step h4{color:var(--ink);margin:0 0 4px;font-size:14px}.guide-step p{margin:0;font-size:12px;line-height:1.45}.guide-step ul{color:var(--muted);margin:6px 0 0;padding-left:18px;font-size:11px}.guide-step li{margin-bottom:4px}
@media (max-width:768px){.settings-panel-grid{grid-template-columns:1fr}}.volume-control-group{border:1px solid var(--line);background:#0003;border-radius:8px;flex-direction:column;gap:14px;margin-top:18px;padding:16px;display:flex}.volume-slider-row{grid-template-columns:160px 1fr 50px;align-items:center;gap:12px;display:grid}.volume-slider-row span{color:var(--ink);font-size:13px}.volume-slider-row .volume-percent{color:var(--gold);text-align:right;font-size:13px;font-weight:700}.volume-slider{-webkit-appearance:none;background:var(--line);cursor:pointer;border-radius:3px;outline:none;width:100%;height:6px}.volume-slider::-webkit-slider-thumb{-webkit-appearance:none;background:var(--gold);border:1px solid #fff6;border-radius:50%;width:16px;height:16px;transition:transform .1s;box-shadow:0 2px 6px #0006}.volume-slider::-webkit-slider-thumb:hover{transform:scale(1.25)}.volume-slider::-moz-range-thumb{background:var(--gold);cursor:pointer;border:1px solid #fff6;border-radius:50%;width:16px;height:16px;transition:transform .1s;box-shadow:0 2px 6px #0006}.volume-slider::-moz-range-thumb:hover{transform:scale(1.25)}@media (max-width:500px){.volume-slider-row{grid-template-columns:1fr;gap:6px}.volume-slider-row .volume-percent{text-align:left}}
.fish-badge.zoomable{cursor:pointer;padding:0;transition:transform .2s cubic-bezier(.4,0,.2,1),border-color .2s,box-shadow .2s}.fish-badge.zoomable:hover{border-color:#ffffff59;transform:scale(1.08);box-shadow:0 14px 28px #00000061,0 0 10px #ffffff0f}.fish-badge.zoomable:active{transform:scale(.96)}.fish-lightbox{-webkit-backdrop-filter:blur(12px);z-index:100000;background-color:#06080ae0;place-items:center;width:100vw;height:100vh;padding:24px;animation:.25s cubic-bezier(.4,0,.2,1) lightboxFadeIn;display:grid;position:fixed;top:0;left:0}.fish-lightbox-body{text-align:center;background:linear-gradient(135deg,#1f272a,#111618);border:1px solid #ffffff14;border-radius:20px;width:90%;max-width:600px;padding:32px;animation:.3s cubic-bezier(.34,1.56,.64,1) lightboxScaleUp;position:relative;transform:translateY(0);box-shadow:0 25px 50px -12px #0009,0 0 40px #ffffff08}.fish-lightbox-img-wrap{justify-content:center;align-items:center;width:100%;min-height:200px;max-height:380px;margin:16px 0 24px;display:flex}.fish-lightbox-img-wrap img{object-fit:contain;filter:drop-shadow(0 15px 25px #00000080);max-width:100%;max-height:380px;animation:5s ease-in-out infinite fishFloat}.fish-lightbox-body h3{color:#fff;text-shadow:0 2px 4px #0000004d;margin:0 0 10px;font-family:Outfit,Inter,sans-serif;font-size:26px;font-weight:700}.fish-lightbox-body .lore-line{color:#8e9a9d;margin:0;font-size:14px;font-style:italic;line-height:1.6}.fish-lightbox-body .close-btn{color:#fff;cursor:pointer;background:#ffffff0a;border:1px solid #ffffff14;border-radius:50%;place-items:center;width:36px;height:36px;padding:0;font-size:20px;line-height:1;transition:all .2s;display:grid;position:absolute;top:16px;right:16px}.fish-lightbox-body .close-btn:hover{background:#ffffff1f;border-color:#ffffff38;transform:rotate(90deg)}
@keyframes lightboxFadeIn{0%{opacity:0}to{opacity:1}}@keyframes lightboxScaleUp{0%{opacity:0;transform:scale(.9)translateY(20px)}to{opacity:1;transform:scale(1)translateY(0)}}@keyframes fishFloat{0%{transform:translateY(0)}50%{transform:translateY(-8px)}to{transform:translateY(0)}}@keyframes viewEntrance{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.location-layout,.shop-grid,.premium-product-grid,.npc-grid,.quest-grid,.story-chapter-grid,.pedia-grid,.stat-grid,.record-list,.catch-list,.live-board{animation:.38s cubic-bezier(.22,1,.36,1) both viewEntrance}

@media (max-width:1100px){.app-shell{grid-template-columns:1fr}.rail{height:auto;position:static}.nav-list{grid-template-columns:repeat(4,1fr)}.nav-btn{text-align:center;grid-template-columns:1fr;justify-items:center}.location-layout,.fishing-layout,.workshop-layout,.live-board,.tournament-panel,.story-panel,.journal-grid,.city-hero{grid-template-columns:1fr}}@media (max-width:760px){.main-screen,.rail{padding:12px}.tavern-city-loop{background-position:62%;grid-template-columns:1fr;min-height:680px;padding:24px 18px}.tavern-copy h2{max-width:470px;font-size:clamp(34px,11vw,52px)}.tavern-menu.compact-menu{align-self:end;width:100%}.topbar,.shop-header,.market-head,.pedia-head,.tavern-scene{flex-direction:column;align-items:stretch}.top-pills,.district-tabs{flex-wrap:nowrap;padding-bottom:4px;overflow-x:auto}.premium-store-head{flex-direction:column}.premium-product-grid{grid-template-columns:1fr}.premium-cart-widget{bottom:16px;right:16px}.city-hero{min-width:0;min-height:560px;padding:18px}.city-hero>*,.hero-copy{min-width:0}.hero-copy h2{overflow-wrap:anywhere}.city-stats,.place-grid,.select-grid,.slider-grid,.spot-grid,.fight-hud,.stat-grid,.live-board,.tournament-panel,.journal-grid,.location-focus{grid-template-columns:1fr}.location-focus img{min-height:220px}.nav-list{white-space:nowrap;scrollbar-width:none;-ms-overflow-style:none;flex-direction:row;gap:8px;padding-bottom:8px;display:flex;overflow-x:auto}.nav-list::-webkit-scrollbar{display:none}.nav-btn{flex:none;width:105px;padding:8px 6px}.rail-foot{justify-content:flex-end;margin-top:0;display:flex}.water-scene{min-height:470px}.scene-status{width:auto;bottom:14px;left:14px;right:14px}.catch-row{grid-template-columns:60px minmax(0,1fr)}.catch-row>b,.catch-row>button{grid-column:2;justify-self:start}.story-objectives div{grid-template-columns:1fr}}@media (max-width:640px){.water-read-grid{grid-template-columns:1fr}}@media (max-width:1100px){.tavern-threads,.market-buyers{grid-template-columns:1fr}}@media (max-width:760px){.market-total{justify-items:start}.tavern-thread,.market-buyer{min-height:auto}.dialogue-panel{padding:18px}.cinematic-dialogue{padding:0}.quest-cinematic-art{background-position:58%;min-height:260px;padding:22px 18px}.cinematic-dialogue .quest-dialogue-shell{gap:18px;padding:20px 18px 22px}.cinematic-dialogue .quest-screen-text{font-size:16px;line-height:1.6}}
