.fishing-layout{display:grid;grid-template-columns:minmax(0,1fr) 285px;gap:24px;align-items:start}.fishing-stage{background:#133e4b;color:#e5eee3;border-radius:20px;overflow:hidden;border:1px solid #35646c;box-shadow:0 20px 55px #143e4414}.fishing-top{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:20px 24px}.fishing-top small{font-size:9px;color:#afc8bf;letter-spacing:2px}.fishing-top h2{font:23px serif;margin:7px 0 0}.fishing-top>span{margin-left:auto;font-size:12px;color:#f1d89c}.fishing-top b{font:25px serif;margin:0 5px}.fishing-top button{border:1px solid #c9e3cd44;border-radius:8px;background:#ffffff08;color:#daecdc;padding:10px 14px}.fish-scene{position:relative}.fish-scene canvas{display:block;width:100%;height:auto;touch-action:none;outline-offset:-4px}.fish-scene-label{position:absolute;bottom:15px;right:20px;font-size:8px;letter-spacing:2px;color:#bedbd080;pointer-events:none}#fish-overlay{position:absolute;inset:0;display:grid;place-items:center;pointer-events:none}.fish-wait-call{padding:12px 23px;background:#123c4abf;border:1px solid #cbe4d333;border-radius:30px;color:#e7efdd;font:15px serif;align-self:end;margin-bottom:30px}.fish-bite-call{background:#f2d18e;color:#264a4d;box-shadow:0 0 50px #f2d18e55;padding:12px 30px;border-radius:50px;font:bold 24px serif;text-align:center;animation:fish-bite .6s ease infinite alternate}.fish-bite-call strong{margin-left:10px;font-size:25px}.fish-bite-call span{display:block;font:10px sans-serif;letter-spacing:3px;margin-top:6px}.fish-instruments{padding:22px 24px 16px}.fish-meter-title{display:flex;justify-content:space-between;gap:12px;font-size:11px;margin-bottom:12px}.fish-meter-title b{font-weight:400}.fish-meter-title small{font-size:9px;color:#aec8bf}.fish-reel-meters{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:20px}.fish-reel-meters label{font-size:10px;color:#c0d3c6}.fish-reel-meters b{float:right;font-size:9px;font-weight:400}.fish-reel-meters label>span{display:block;margin-top:8px;background:#ffffff15;height:8px;border-radius:20px;overflow:hidden}.fish-reel-meters i{display:block;height:100%;background:#9fdfbf;border-radius:20px}#fish-tension{background:#e8c68e}#fish-tension.danger{background:#ee9195}.fish-main-action{display:flex;justify-content:space-between;align-items:center;gap:20px}.fish-main-action p{font-size:12px;line-height:1.9;margin:0;color:#d2e1d3;max-width:60%}.fish-primary{border:1px solid #e6d4a5;background:linear-gradient(120deg,#e9d6a8,#c2d6ae);color:#204b48;border-radius:9px;padding:14px 19px;min-width:140px;font:600 13px sans-serif;cursor:pointer;touch-action:none;user-select:none}.fish-primary:disabled{opacity:.6;cursor:default}.fish-primary.biting{background:#f4d38f;box-shadow:0 0 20px #e6c77f40}.fish-control-note{font-size:9px;color:#9ebfb5;line-height:1.9;margin:16px 0 0}.fish-side{display:grid;gap:20px;min-width:0}.fish-side>section{border:1px solid var(--line);background:var(--card);border-radius:16px;padding:20px}.fish-side h2{font:22px serif;margin:8px 0 17px}.fish-side .eyebrow{font-size:8px;letter-spacing:1.4px}.fish-personal{text-align:center}.fish-personal svg{width:135px;display:block;margin:0 auto 8px}.fish-personal strong{display:block;font:21px serif}.fish-personal span{display:block;color:var(--gold);font-size:12px;margin:9px 0}.fish-personal>small{display:block;color:var(--muted);font-size:10px;line-height:1.9;margin-top:14px}.fish-personal p{font-size:12px;color:var(--muted)}.fish-empty-icon{font:60px serif;color:var(--gold);padding:15px}.fish-shop button{display:flex;align-items:center;gap:10px;padding:14px 10px;background:var(--soft);color:var(--ink);border:1px solid var(--line);border-radius:9px;width:100%;text-align:left;margin:9px 0;cursor:pointer}.fish-shop button:disabled,.fish-zones button:disabled{opacity:.5;cursor:default}.fish-shop button>span{font:23px serif;color:var(--gold)}.fish-shop button>div{flex:1;min-width:0}.fish-shop b{font-size:12px}.fish-shop b small{display:inline;margin-left:7px}.fish-shop small{display:block;font-size:9px;color:var(--muted);margin-top:4px;line-height:1.9}.fish-shop strong{font-size:10px;color:var(--gold);white-space:nowrap}.fish-shop>p{font-size:10px;color:var(--muted);line-height:1.9}.fish-zones button{width:100%;text-align:left;border:1px solid var(--line);border-radius:9px;background:var(--soft);color:var(--ink);padding:13px;margin:5px 0;cursor:pointer}.fish-zones button[aria-pressed=true]{border-color:var(--gold)}.fish-zones b{font-size:12px}.fish-zones small{display:block;color:var(--muted);font-size:9px;line-height:1.9;margin:5px 0}.fish-zones span{font-size:10px;color:var(--gold)}.fish-result{display:flex;align-items:center;gap:22px;margin:0 24px 24px;padding:20px;border:1px solid var(--fish-color);background:#ffffff08;border-radius:12px}.fish-result svg{width:115px;flex-shrink:0}.fish-result h2{font:23px serif;margin:8px 0;color:var(--fish-color)}.fish-result span{font-size:10px;color:var(--fish-color)}.fish-result p{font-size:11px;color:#c4d8ca;line-height:1.9}.fish-result b{font-size:10px;font-weight:400;color:#d6e2c4}.fish-object{font-size:50px;display:block;text-align:center;margin:10px 0}.fishing-log{margin-top:35px;border:1px solid var(--line);border-radius:18px;background:var(--card);padding:25px}.fishing-log nav{display:flex;gap:12px;align-items:center;flex-wrap:wrap;border-bottom:1px solid var(--line);padding-bottom:18px}.fishing-log nav button{border:1px solid var(--line);border-radius:30px;background:var(--soft);color:var(--ink);padding:9px 17px;cursor:pointer}.fishing-log nav [aria-pressed=true]{background:var(--green);color:var(--paper)}.fishing-log nav>span{margin-left:auto;color:var(--muted);font-size:11px}.fish-bag-toolbar{display:flex;justify-content:space-between;align-items:center;gap:15px;margin:20px 0}.fish-bag-toolbar p{font-size:12px;color:var(--muted)}.fish-book-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin-top:20px}.fish-entry{border:1px solid var(--line);border-top:3px solid var(--fish-color);border-radius:12px;background:var(--soft);padding:18px;text-align:center;min-width:0}.fish-entry svg{width:115px;max-width:100%;height:65px}.fish-entry>small{font-size:9px;color:var(--muted);display:block}.fish-entry h3{font:20px serif;margin:10px 0}.fish-entry p{font-size:11px;color:var(--muted);line-height:1.9}.fish-entry button{border:1px solid var(--line);padding:8px 12px;border-radius:7px;color:var(--green);background:var(--card);font-size:11px;cursor:pointer}.fish-entry footer{display:block;text-align:center;padding:10px 0 0;margin:12px 0 0;border-top:1px solid var(--line);font-size:10px;color:var(--muted);line-height:1.9}.fish-unknown{height:65px;display:grid;place-items:center;font:42px serif;color:var(--muted);opacity:.5}.fish-entry.undiscovered{opacity:.65}.fish-empty{grid-column:1/-1;text-align:center;padding:25px;color:var(--muted);font-size:13px}#fish-cast[hidden],#fish-reel[hidden]{display:none}.fishing-tile{background:linear-gradient(145deg,#245a65,#729c8a)!important;color:#eef3d8}.fishing-tile p,.fishing-tile .eyebrow{color:#d6e6d7!important}.feedback-backup{border-top:1px solid var(--line);padding-top:24px;margin-top:26px}.feedback-backup h2{font:21px serif}.feedback-backup p{font-size:12px;line-height:1.9;color:var(--muted)}.feedback-backup a{display:inline-block;margin:12px}#clear-letter{margin-top:20px;font-size:12px}.feedback-panel button:disabled{cursor:default;opacity:.6}@keyframes fish-bite{to{transform:translateY(-5px)}}@media(max-width:950px){.fishing-layout{grid-template-columns:minmax(0,1fr)}.fish-side{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.fish-side>section{padding:16px}.fish-book-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:650px){.fishing-top{padding:16px}.fishing-top h2{font-size:19px}.fishing-top b{font-size:22px}.fishing-top>span{font-size:10px}.fishing-top button{padding:8px}.fish-scene-label{font-size:6px;right:12px;bottom:10px}.fish-instruments{padding:18px 16px}.fish-main-action{display:block}.fish-main-action p{max-width:none;min-height:45px;font-size:11px}.fish-primary{width:100%;margin-top:10px;min-height:50px}.fish-meter-title{flex-wrap:wrap}.fish-meter-title small{font-size:8px}.fish-reel-meters{gap:13px}.fish-control-note{font-size:8px}.fish-side{grid-template-columns:minmax(0,1fr)}.fish-personal svg{width:130px}.fish-wait-call{font-size:11px;margin-bottom:17px;padding:8px 15px}.fish-bite-call{padding:8px 20px;font-size:19px}.fish-bite-call strong{font-size:20px}.fish-result{margin:0 16px 16px;padding:15px;gap:12px}.fish-result svg{width:75px}.fish-result h2{font-size:19px}.fish-result p,.fish-result b{font-size:9px}.fishing-log{padding:17px}.fishing-log nav>span{width:100%;margin:3px 0 0;font-size:10px}.fish-book-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.fish-entry{padding:14px 10px}.fish-entry h3{font-size:17px}.fish-bag-toolbar{display:block}.fish-bag-toolbar .secondary{width:100%;justify-content:center}.fish-object{font-size:40px}}@media(prefers-reduced-motion:reduce){.fish-bite-call{animation:none}}
.fish-art{display:block;max-width:100%;object-fit:contain;object-position:center}
.fish-art.fish-locked-art{filter:brightness(0) saturate(0);opacity:.55}
[data-theme=dark] .fish-art.fish-locked-art{filter:brightness(0) invert(1);opacity:.28}
.fish-cast-track{
 position:relative;
 height:20px;
 margin:14px 2px 7px;
 border-radius:8px;
 border:1px solid #fff5;
 background:
  linear-gradient(90deg,transparent 23.7%,#31454c88 23.7% 24.3%,transparent 24.3% 57.7%,#31454c88 57.7% 58.3%,transparent 58.3% 85.7%,#31454c88 85.7% 86.3%,transparent 86.3%),
  linear-gradient(90deg,#fff 0%,#f7f1d8 23%,#ffdf63 27%,#ffcf51 57%,#ffa050 60%,#f78c45 85%,#ef6360 88%,#eb424d 100%);
}
#fish-needle{
 position:absolute;
 display:block;
 left:0;
 z-index:1;
 top:-5px;
 height:28px;
 width:4px;
 transform:translateX(-50%);
 border-radius:5px;
 background:#152a36;
 box-shadow:0 0 0 1.5px #fff;
}
.fish-cast-key{
 display:grid;
 grid-template-columns:24fr 34fr 28fr 14fr;
 font-size:10px;
 color:#d2e1d3;
 text-align:center;
 margin-bottom:17px;
}
.fish-cast-result{
 --cast-tone:#f6f4e9;
 display:flex;
 align-items:center;
 flex-wrap:wrap;
 gap:4px 12px;
 border-left:3px solid var(--cast-tone);
 background:#ffffff0c;
 border-radius:0 8px 8px 0;
 padding:8px 12px;
 margin-bottom:13px;
}
.fish-cast-result[hidden]{display:none}
.fish-cast-result[data-tone=yellow]{--cast-tone:#ffdf72}
.fish-cast-result[data-tone=orange]{--cast-tone:#ffae75}
.fish-cast-result[data-tone=red]{--cast-tone:#ff8b88}
.fish-cast-result strong{color:var(--cast-tone);font-size:14px}
.fish-cast-result span{color:#d2e1d3;font-size:11px}
.fish-rank-heading{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:22px 0 8px}
.fish-rank-heading h2{font-size:26px;margin:8px 0}
.fish-rank-heading p,.fish-rank-notice{font-size:13px;color:var(--muted);line-height:1.7}
.fish-rank-heading button{flex-shrink:0}
.fish-rank-list{display:grid;gap:7px;list-style:none;padding:0;margin:12px 0}
.fish-rank-list li{display:grid;grid-template-columns:37px minmax(0,1fr) auto;align-items:center;gap:14px;padding:11px 15px;border:1px solid var(--line);border-radius:10px;background:var(--soft)}
.fish-rank-list li:nth-child(-n+3){border-color:color-mix(in srgb,var(--gold) 55%,var(--line))}
.fish-rank-position{font:italic 22px Georgia,serif;color:var(--gold)}
.fish-rank-list small{display:block;color:var(--muted);font-size:11px;margin-top:3px}
.fish-rank-list b{color:var(--gold);white-space:nowrap}
@media(max-width:430px){
 .fish-rank-heading h2{font-size:22px}
 .fish-rank-list li{grid-template-columns:25px minmax(0,1fr) auto;gap:8px;padding:9px}
 .fish-rank-list small{font-size:10px}
 .fish-cast-key{font-size:9px}
}
.fish-entry .fish-art{width:100%;height:112px;margin:0 auto 8px}
.fish-personal .fish-art{width:190px;height:126px;margin:0 auto 8px}
.fish-result .fish-art{width:145px;height:100px;flex-shrink:0}
.fish-gallery-intro{padding:29px 0 15px}
.fish-gallery-intro .eyebrow{font-size:8px;letter-spacing:2px}
.fish-gallery-intro h2{font-size:27px;margin:10px 0}
.fish-gallery-intro p{font-size:12px;line-height:1.9}
.fish-gallery-tier{margin:22px 0 32px}
.fish-gallery-heading{display:flex;align-items:center;gap:12px;border-bottom:1px solid var(--line);padding-bottom:12px}
.fish-gallery-heading>span{font:italic 23px Georgia,serif;color:var(--gold)}
.fish-gallery-heading h3{font-size:20px}
.fish-gallery-heading small{margin-left:auto;color:var(--muted);font-size:10px}
.fish-gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.fish-art-card{background:var(--card);border-top-color:var(--fish-color);padding:18px;overflow:hidden}
.fish-art-frame{display:grid;place-items:center;min-height:160px;border-radius:9px;background:radial-gradient(ellipse at center,color-mix(in srgb,var(--fish-color) 18%,transparent),transparent 72%);margin-bottom:12px}
.fish-art-card .fish-art{width:100%;height:160px;margin:0}
.fish-art-card p{min-height:42px}
.fish-art-card footer{font-size:10px}
@media(max-width:650px){.fish-entry .fish-art{height:86px}.fish-personal .fish-art{width:180px;height:120px}.fish-result .fish-art{width:90px;height:70px}.fish-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.fish-art-frame{min-height:108px}.fish-art-card .fish-art{height:108px}.fish-gallery-intro h2{font-size:23px}.fish-art-card{padding:12px 8px}.fish-art-card h3{font-size:17px}.fish-art-card p{font-size:10px;min-height:57px}}

.fish-result-details{flex:1;min-width:0}
.fish-result-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.fish-result-actions button{min-width:0;margin:0}
#fish-storage-note:empty{display:none}
@media(max-width:650px){
 .fish-result:has(.fish-result-actions){flex-direction:column;align-items:stretch}
 .fish-result>.fish-art{align-self:center}
}

.fish-account{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:14px 18px;margin:0 0 18px;background:var(--card);border:1px solid var(--line);border-radius:12px}
.fish-account small{color:var(--muted);display:block}
.fish-account [role=status]{width:100%;margin:0;color:var(--muted)}
.fish-account [role=status]:empty,#fish-market-note:empty{display:none}
.fish-account-details[open]{width:100%}
.fish-account summary,.fish-offer summary{cursor:pointer;color:var(--green);font-size:13px}
.fish-account form,.fish-offer form{display:flex;align-items:end;flex-wrap:wrap;gap:10px;margin-top:12px}
.fish-account label,.fish-offer label{display:grid;gap:4px;font-size:12px}
.fish-account input,.fish-offer input{width:min(170px,100%);padding:8px;border:1px solid var(--line);border-radius:7px;background:var(--soft);color:var(--ink)}
.fish-offer{margin-top:10px}
.fish-offer form{justify-content:center}
.fish-offer input{width:100%;min-width:0}
.fish-rank-tabs{display:flex;flex-wrap:wrap;gap:8px}
.fish-rank-tabs [aria-pressed=true]{border-color:var(--gold);font-weight:700}
#fish-durability meter{width:100%;height:12px}
#fish-durability p{font-size:12px;margin:0 0 4px}
