.swimmer{position:absolute;display:block;width:70px;height:50px;z-index:2;border:0;background:none;padding:0;color:inherit;filter:drop-shadow(0 3px 5px #0005)}.swimmer svg{width:100%;height:100%;overflow:visible;transform:scaleX(var(--facing,1)) rotate(var(--pitch,0deg))}.swimmer[data-fish]:hover,.swimmer.selected{filter:drop-shadow(0 0 7px #e3eeddaa);outline:1px dashed #d7e4c577;outline-offset:2px;border-radius:50%}.tail-fin{transform-box:view-box;transform-origin:25px 35px;transform:rotate(var(--tail-angle,0deg))}.tank .swimmer{width:59px;height:44px}.filter-unit{position:absolute;right:8px;top:8px;width:34px;height:64px;border:1px solid #809b9177;background:linear-gradient(#405850,#263c37);border-radius:5px;z-index:3}.filter-unit:before{content:'';position:absolute;left:-14px;top:8px;width:14px;height:6px;border:2px solid #809b91;border-right:0}.filter-mesh{position:absolute;inset:22px 5px 5px;background:repeating-linear-gradient(0deg,transparent 0 4px,#a4bcb955 4px 5px),repeating-linear-gradient(90deg,transparent 0 4px,#a4bcb955 4px 5px)}.filter-label{position:absolute;right:49px;top:9px;color:#9caba9;font:9px monospace;z-index:3}.filter-unit:after{content:'';position:absolute;left:8px;top:7px;width:5px;height:5px;background:#b5d99a;border-radius:50%}.tank-lab{width:min(1340px,96vw);max-width:96vw;max-height:94vh;padding:24px}.lab-layout{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:24px;margin-top:18px}.lab-water{height:clamp(350px,55vh,640px);margin:0;--accent:var(--green)}.lab-water .swimmer{width:90px;height:65px}.school-caption{display:flex;justify-content:space-between;gap:12px;margin:12px 0;color:var(--muted);font-size:12px}.trait-key{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}.trait-key span{border:1px solid var(--line);border-radius:20px;padding:5px 10px;color:var(--muted);font-size:11px}.specimen{border:1px solid var(--line);border-radius:7px;padding:18px;background:#102024}.specimen h3{font:normal 24px Georgia,serif;margin:0 0 5px}.specimen-preview{height:100px;text-align:center;margin:12px 0}.specimen-preview svg{width:150px;height:100px}.trait-row{margin-top:14px}.trait-row label{margin:0 0 5px;display:flex;justify-content:space-between}.trait-row input{width:100%;accent-color:var(--green)}.specimen p{font-size:11px;line-height:1.6}.filter-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.filter-actions .btn{padding:7px 10px;font-size:11px}.policy-code{white-space:pre-wrap;overflow-wrap:anywhere;background:#0d191b;border:1px solid var(--line);padding:15px;border-radius:5px;max-height:45vh;overflow:auto;font:12px/1.7 monospace;color:var(--green)}.policy-test{border-top:1px solid var(--line);margin-top:20px;padding-top:5px}.policy-test input{width:100%;background:var(--bg);border:1px solid var(--line);border-radius:5px;padding:10px;color:var(--ink);font:13px monospace}.policy-result{font-size:12px;padding:10px 0;color:var(--green)}#filter-dialog{width:min(700px,94vw)}.traits-note{font-size:11px;margin-top:9px;color:var(--muted)}@media(max-width:800px){.lab-layout{grid-template-columns:1fr}.tank-lab{padding:16px}.lab-water{height:540px}.lab-water .swimmer{width:50px;height:37px}.specimen{padding:16px}.specimen-preview{float:right;width:130px;margin:0}.school-caption{flex-direction:column;gap:8px}.lab-layout{gap:10px}.filter-actions{margin-bottom:5px}}

[hidden]{display:none!important}.keeper-baits{border:1px solid var(--line);border-radius:8px;background:var(--panel);padding:22px;margin:0 0 30px}.keeper-bait-controls{display:grid;grid-template-columns:1fr 1.2fr 90px auto;gap:14px;align-items:end}.keeper-bait-controls label{margin:0 0 14px}.keeper-bait-controls select,.keeper-bait-controls input{margin-top:7px;padding:10px;width:100%;background:var(--bg);color:var(--ink);border:1px solid var(--line);border-radius:5px}.keeper-bait-controls button{margin-bottom:14px}.keeper-baits ul{padding-left:18px;overflow-wrap:anywhere}.keeper-baits li{margin:9px 0;font-size:12px}.keeper-baits a{color:var(--green)}.storage-link{color:inherit;text-decoration:none}.btn:disabled{opacity:.45;cursor:default}@media(max-width:800px){.keeper-bait-controls{grid-template-columns:1fr 1fr}.keeper-baits{padding:16px}.keeper-baits .section-head{flex-wrap:wrap}}
.keeper-bait-controls>*{min-width:0}.keeper-bait-controls select{min-width:0}@media(max-width:800px){.keeper-bait-controls{grid-template-columns:repeat(2,minmax(0,1fr))}.keeper-baits .section-head>*{min-width:0;overflow-wrap:anywhere}}
.event>div{min-width:0;overflow-wrap:anywhere}.event{grid-template-columns:65px minmax(0,1fr) 110px}.lower{grid-template-columns:minmax(0,1.7fr) minmax(0,1fr)}.lower>section,.lower>aside{min-width:0}@media(max-width:650px){.event{grid-template-columns:48px minmax(0,1fr) 82px}.lower{grid-template-columns:minmax(0,1fr)}}

.feed-fish{border:1px solid var(--line);border-radius:10px;padding:26px;background:linear-gradient(110deg,#1b302b,#152529);margin:30px 0}.feed-heading{display:flex;justify-content:space-between;gap:24px;align-items:center;margin-bottom:20px}.feed-heading h2{font:normal 30px Georgia,serif;margin:8px 0}.feed-heading p{max-width:580px}.feed-duration{font-size:11px;color:var(--green);border:1px solid #5a7059;padding:8px 12px;border-radius:20px}.feed-fields{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.feed-fields label{margin:0;min-width:0;font-size:12px;color:var(--muted)}.feed-fields input,.feed-fields select{display:block;width:100%;min-width:0;margin-top:7px;padding:11px;background:var(--bg);color:var(--ink);border:1px solid var(--line);border-radius:5px;font:inherit}.feed-actions{display:flex;gap:18px;align-items:center;margin:18px 0 12px}.feed-actions p{font-size:12px;max-width:640px}.feed-fish a{color:var(--green)}.feed-options{margin:4px 0 15px}.feed-options summary{cursor:pointer;margin-bottom:14px;color:var(--green);font-size:12px}.keeper-bait-controls{grid-template-columns:minmax(0,1fr) 90px auto}@media(max-width:800px){.feed-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.feed-heading,.feed-actions{flex-direction:column;align-items:flex-start}.feed-fish{padding:18px}.keeper-bait-controls{grid-template-columns:minmax(0,1fr) 80px}.keeper-bait-controls button{grid-column:1/-1}}

