.fishing-library{margin-top:10px;border-top:0;padding-top:0;letter-spacing:0}
.fishing-tabs{display:flex;flex-wrap:nowrap;gap:5px;margin-bottom:10px;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:thin;padding-bottom:3px}
.activity .fishing-tabs button{width:auto;flex:0 0 calc((100% - 10px)/3);min-width:0;margin:0;padding:9px 7px;border:1px solid var(--line);border-radius:6px;font-size:9px;background:#fff;color:var(--ink)}
.activity .fishing-tabs button[aria-selected=true]{background:#e8f5ee;border-color:#448469;color:#20533e}
.fishing-library-heading{display:flex;gap:8px;justify-content:space-between;align-items:baseline;font-size:10px;margin-bottom:8px;flex-wrap:wrap}
.fishing-library-heading strong{overflow-wrap:anywhere}
.fishing-specimens{display:grid;grid-template-columns:repeat(auto-fill,minmax(42px,1fr));gap:6px;max-height:290px;overflow-y:auto;padding:2px}
.activity .fishing-specimen{position:relative;aspect-ratio:1;min-width:0;width:100%;margin:0;padding:2px;border:1px solid #d5dfdb;border-radius:6px;background:#f7fcf9;color:#242424;font-size:22px;display:grid;place-items:center}
.activity .fishing-specimen.unknown{background:#f5f5f5;color:#aaa;border-color:#e3e3e3;font-size:16px}
.activity .fishing-specimen:hover{background:#e5f3ed;color:#242424}
.fishing-specimen small{position:absolute;bottom:2px;right:3px;font-size:8px;background:#fff;border-radius:3px;padding:0 2px;max-width:95%;overflow:hidden}
.fishing-description{font-size:10px;line-height:1.7;color:var(--muted);margin:8px 0;overflow-wrap:anywhere}
.fishing-recent{border-left:3px solid #83a098;padding:8px 10px;margin:12px 0;font-size:10px;line-height:1.7;overflow-wrap:anywhere}
.fishing-recent.new{border-color:#278756;background:#f2faf5}
.fishing-recent b,.fishing-recent span{display:block}
.fishing-feedback{margin:10px 0;font-size:10px;line-height:1.7;overflow-wrap:anywhere}
.fishing-distinction{padding:10px 0;color:#846000;font-size:11px;font-weight:800;line-height:1.6}
.fishing-dialog{width:min(480px,calc(100% - 28px));max-height:85vh;overflow:auto;border:1px solid #b7cfc6;border-radius:8px;padding:26px;color:#222;background:#fff;font-family:inherit;letter-spacing:0;box-shadow:0 18px 70px #0003}
.fishing-dialog::backdrop{background:#17221f80}
.fishing-dialog form{display:flex;justify-content:flex-end;margin:-12px -10px 0 0}
.fishing-dialog .close{width:32px;height:32px;border:0;background:#f1f3f2;border-radius:6px;cursor:pointer;font-size:23px;color:#333}
.fishing-dialog .specimen-icon{font-size:64px;text-align:center;margin:10px 0}
.fishing-dialog h2{font-size:17px;line-height:1.5;margin:8px 0;text-align:center;overflow-wrap:anywhere}
.fishing-dialog p{font-size:12px;line-height:1.8;overflow-wrap:anywhere}
.fishing-dialog .eyebrow{text-align:center;font-size:10px;font-weight:800;color:#32755d}
.fishing-dialog.extraordinary{border:2px solid #499bab;background:#f3fcff}
.fishing-dialog.extraordinary .specimen-icon{animation:sea-arrival 1.4s ease-out}
@keyframes sea-arrival{from{transform:translateY(15px) scale(.8);opacity:0}to{transform:none;opacity:1}}
@media(prefers-reduced-motion:reduce){.fishing-dialog.extraordinary .specimen-icon{animation:none}}
.historical-events{margin-top:22px;padding-top:18px;border-top:1px solid var(--line)}
.historical-events h2{font-size:14px;line-height:1.5;overflow-wrap:anywhere}
.history-scroll{overflow:auto;max-height:380px}
.historical-events table{width:100%;border-collapse:collapse;font-size:11px}
.historical-events th,.historical-events td{text-align:left;padding:11px 6px;border-bottom:1px solid var(--line);vertical-align:top}
.historical-events td:nth-child(2){overflow-wrap:anywhere;max-width:160px}
.historical-events a{color:inherit}
@media(max-width:420px){.activity .fishing-tabs button{flex-basis:95px}.historical-events table{font-size:10px}.fishing-dialog{padding:20px}}
.activity-note,.rod-guide,.rod-info{font-size:9px}
.activity .fishing-tabs{width:100%;flex-wrap:nowrap;overflow-x:auto}.activity .fishing-tabs button{flex:0 0 calc((100% - 10px)/3)!important;width:calc((100% - 10px)/3)!important;min-width:calc((100% - 10px)/3)!important}
