/* Shared illustrated notebooks; sizes remain readable at browser zoom and on phones. */
.biology-specimen{width:110px;height:125px;object-fit:contain;vertical-align:middle;filter:drop-shadow(0 5px 3px #34271630)}
.biology-trait-wheel{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;align-items:center;margin:14px 0}.biology-trait-wheel img{grid-row:span 3;width:90px;height:105px;margin:auto}.biology-trait-wheel button{font:600 13px Georgia,serif;min-height:40px;padding:8px;border:2px solid #8d733d;border-radius:24px;background:#f5e7ba;color:#342b1c;cursor:pointer}.biology-trait-wheel button[aria-pressed=true]{background:#365b4d;color:#fff8df;border-color:#365b4d}.biology-trait-value{padding:12px;border-radius:8px;background:#fff8df;border:1px solid #b59c64;min-height:42px;font-weight:bold}
.trait-station .card>.biology-specimen{float:left;margin:0 12px 6px 0}.trait-station .card:after{content:'';display:block;clear:both}.trait-station .brood-row{grid-template-columns:95px minmax(0,1fr) auto}.trait-station .brood-row>.biology-specimen{width:85px;height:95px}.trait-station .distribution{table-layout:auto}.trait-station .distribution th{font-size:15px}.trait-station .distribution td{font-size:16px}.trait-station .garden-link{background:linear-gradient(#87652f,#61451d);border-color:#4b3215}.trait-station .parents{grid-template-columns:repeat(2,minmax(0,1fr))}.trait-station .selection-details{min-height:160px}.trait-station .prediction .trait-options{padding:12px;background:#fff8df;border-radius:12px;border:1px solid #ba9a59}
.rx-tumbler,.rx-dbl{border:3px solid #7e8f96;border-radius:16px;background:linear-gradient(135deg,#e6eef0,#aabec8);padding:12px;box-shadow:inset 0 0 0 2px #fff8,0 4px 0 #496370}.rx-tumbler .rx-slot{box-shadow:inset 0 3px 7px #0004;border:2px solid #738087;border-radius:8px;background:#fff9e3!important;margin:6px auto;padding:12px!important;min-height:52px;white-space:normal!important;line-height:1.4}.rx-tumbler .rx-arrow{display:block;margin:auto;border:1px solid #677f8c;border-radius:6px;background:#f4f7f7;min-width:64px;min-height:32px}.rx-dbl .rx-dbl-row select{padding:10px;background:#fff9e3;border:2px solid #738087;border-radius:8px;min-height:44px}.rx-dbl .rx-dbl-row label{font-size:14px}button.rx-btn{font:inherit;cursor:pointer}button.rx-btn:focus-visible,.rx-arrow:focus-visible{outline:3px solid #d99f2e;outline-offset:3px}
.biology-timeline{position:fixed;inset:0;margin:auto;width:min(1060px,95vw);max-height:92vh;overflow:auto;box-sizing:border-box;padding:28px;background:linear-gradient(#f9f1d4,#e4d6ad);border:4px solid #9f8046;border-radius:20px;color:#342b1b;font:18px Georgia,serif;box-shadow:0 15px 70px #0008}.biology-timeline::backdrop{background:#172a2580}.biology-timeline h2{margin:0 0 16px}.biology-timeline .timeline-header{display:flex;align-items:center;gap:18px}.biology-timeline .timeline-header img{width:72px;height:72px}.biology-timeline .timeline-rows{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:24px 0;padding:20px 0;border-bottom:8px solid #657b8b}.biology-timeline .timeline-rows label{background:#fff9e9;border:2px solid #baa166;border-radius:12px;padding:14px;font-weight:bold;min-width:0}.biology-timeline select{display:block;width:100%;font:16px Georgia,serif;padding:10px 5px;box-sizing:border-box;margin:12px 0;background:#edf2f2;border:1px solid #79919b}.biology-timeline .timeline-card{font-size:15px;line-height:1.5;font-weight:normal}.biology-timeline .timeline-palette{display:flex;flex-wrap:wrap;gap:12px}.biology-timeline button{font:bold 16px Georgia,serif;background:#365b4d;color:#fff8df;border:2px solid #253f36;border-radius:9px;padding:12px;min-height:44px;cursor:pointer}.biology-timeline button:focus-visible{outline:3px solid #e3a42e;outline-offset:3px}.biology-timeline .timeline-palette button{flex:1 1 180px;background:#e6eef0;color:#263f4c;border-color:#718993;text-align:left;font-size:15px}.biology-timeline .timeline-chart{padding:20px;border:1px solid #baa166;border-radius:12px;background:#fff9e9}.biology-timeline .timeline-chart svg{width:100%;height:170px}.biology-timeline .timeline-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:18px}
.rx-doctor .medicine-bag{background:#704826 url('../design/art/biology-ui/medicine-bag.svg') center bottom/100% auto no-repeat;min-height:360px;border:3px solid #57391e;border-radius:16px;padding:16px}.rx-doctor .medicine-bag nav{padding:8px;background:#f2e4bc;border-radius:10px}.rx-doctor .medicine-bag .tools{background:#eadfcbd9;border-radius:12px;padding:12px}.rx-doctor .tools button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;background:linear-gradient(#fff8df,#dfc78c);color:#3a291c;border:2px solid #9f7839;min-width:110px;min-height:120px;flex:1 1 120px}.rx-doctor .tools img{width:80px;height:65px;object-fit:contain}.rx-doctor .disease-book{background:linear-gradient(90deg,#ded1a9 0%,#fff8df 4%,#fff9e9 96%,#d3bf8b 100%);border:3px solid #796237;box-shadow:5px 5px 0 #614827;border-radius:4px 16px 16px 4px}.rx-doctor .book-heading{display:flex;align-items:center;gap:12px}.rx-doctor .book-heading img{width:55px;height:65px}.rx-doctor .disease-index{display:grid;grid-template-columns:1fr 1fr;gap:8px;max-height:330px;overflow:auto;padding:5px}.rx-doctor .disease-index button{background:#f4e7bd;color:#382c1a;text-align:left;border:1px solid #b19960;font-weight:normal}.rx-doctor .disease-index button[aria-pressed=true]{background:#365b4d;color:#fff8df}.rx-doctor .book-detail{padding:16px;margin:16px 0;border:1px solid #cbb782;background:#fffbee;border-radius:8px}.rx-doctor .result-list li{border-radius:8px}.rx-doctor .tools button:hover{filter:brightness(1.1)}
@media(max-width:700px){.biology-timeline .timeline-rows{grid-template-columns:1fr 1fr}.trait-station .parents{grid-template-columns:1fr}.trait-station .brood-row{grid-template-columns:75px minmax(0,1fr)}.trait-station .brood-row button{grid-column:1/-1}.rx-doctor .disease-index{grid-template-columns:1fr}}
.biology-dist-row{text-align:left;padding:8px 0}.biology-dist-row span{display:block;font-size:14px}.biology-dist-bar{background:#4f8196;min-height:12px;border-radius:4px;margin-top:4px}.rx-doctor .medicine-bag h3{color:#fff3cb;text-shadow:0 2px #492b16}
.rx-dbl.biology-double-tumbler{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:10px}.biology-double-tumbler .rx-tumbler{margin:0;min-width:0;padding:8px}.biology-double-tumbler .rx-slot{font-size:14px;min-height:66px}.rx-tumbler .rx-slot{width:auto;max-width:100%;box-sizing:border-box}@media(max-width:500px){.rx-dbl.biology-double-tumbler{grid-template-columns:1fr}}
.trait-station .prediction td .biology-specimen{display:block;width:64px;height:70px;margin:auto;float:none}.trait-station .prediction.dihybrid td .biology-specimen{width:52px;height:58px}
.trait-station .station-tabs{display:flex;flex-wrap:wrap;gap:12px;margin:20px 0}.trait-station .station-tabs button[aria-pressed=true]{background:#e9d191;color:#392d1a;border-color:#ad8238;box-shadow:0 3px 0 #ad8238}.trait-station[data-view=cross] .station-experiments,.trait-station[data-view=offspring] .station-seed,.trait-station[data-view=offspring] .station-parents,.trait-station[data-view=prediction] .station-seed,.trait-station[data-view=prediction] .station-experiments,.trait-station[data-view=prediction] .station-parents>:not(.prediction){display:none}.trait-station[data-view=prediction] .prediction{border:0;margin:0;padding:0}
.trait-station[data-view=prediction]>.specimen-filters,.trait-station[data-view=prediction]>.filter-count{display:none}.trait-station>.specimen-filters{padding:14px;border:1px solid #bda36c;background:#fff8e6;border-radius:12px}
.trait-station .station-filter-drawer{margin:14px 0;border:1px solid #bca36d;border-radius:10px;background:#fff8e6;padding:12px}.trait-station .station-filter-drawer summary{font-weight:bold;cursor:pointer;min-height:30px;line-height:30px}.trait-station .station-filter-drawer .specimen-filters{margin-top:12px}.trait-station[data-view=prediction]>.station-filter-drawer{display:none}.trait-station section[hidden]{display:none}
/* Keep the medical workspace in the viewport; only content panes scroll. */
.rx-doctor.patient-bag[open]{height:94vh;height:94dvh;max-height:94vh;max-height:94dvh;overflow:hidden;display:grid;grid-template-rows:auto minmax(0,1fr) auto auto;padding:16px;gap:10px;font-size:15px}
.rx-doctor.patient-bag>header{grid-row:1}.rx-doctor.patient-bag>header h2{font-size:26px;margin:0 0 5px}.rx-doctor.patient-bag>header p{margin:0;line-height:1.3}
.rx-doctor.patient-bag .columns{grid-row:2;min-height:0;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px}
.rx-doctor.patient-bag .columns>section{min-height:0;min-width:0;padding:12px;overflow:hidden}
.rx-doctor.patient-bag .columns>section:first-child{display:grid;grid-template-rows:auto auto minmax(45px,1fr) auto;gap:8px}
.rx-doctor.patient-bag h3{margin:0;font-size:18px}.rx-doctor.patient-bag .medicine-bag{min-height:0;padding:8px;border-width:2px}
.rx-doctor.patient-bag .medicine-bag nav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;padding:5px;margin:7px 0}
.rx-doctor.patient-bag button{font-size:14px;padding:7px 9px;min-height:36px}.rx-doctor.patient-bag nav button{padding:5px 2px;overflow-wrap:anywhere;font-size:13px}
.rx-doctor.patient-bag .medicine-bag .tools{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin:0;padding:6px}
.rx-doctor.patient-bag .tools button{min-width:0;min-height:70px;gap:3px;padding:5px}.rx-doctor.patient-bag .tools img{height:42px;width:58px}
.rx-doctor.patient-bag .result-list{min-height:0;max-height:none;overflow:auto;margin:0;overscroll-behavior:contain;scrollbar-gutter:stable}
.rx-doctor.patient-bag .result-list li{margin:0 0 6px;padding:8px}.rx-doctor.patient-bag .notice{margin:0;padding:8px;max-height:70px;overflow:auto;font-size:13px}
.rx-doctor.patient-bag .disease-book{display:flex;flex-direction:column;gap:8px}.rx-doctor.patient-bag .book-heading{flex:none;gap:8px}.rx-doctor.patient-bag .book-heading img{width:35px;height:42px}
.rx-doctor.patient-bag .disease-book>button{flex:none;align-self:flex-start}.rx-doctor.patient-bag .disease-book>p{flex:none;margin:0;font-size:13px;line-height:1.3}
.rx-doctor.patient-bag .book-detail,.rx-doctor.patient-bag .disease-index{flex:1;min-height:0;max-height:none;overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable;margin:0;padding:10px}
.rx-doctor.patient-bag .book-detail p{margin:8px 0;line-height:1.35}.rx-doctor.patient-bag .book-detail ul{margin:5px 0;line-height:1.35}
.rx-doctor.patient-bag>footer{grid-row:4;position:static;margin:0;padding:8px 0 0}.rx-doctor.patient-bag>.treatment-status{grid-row:3;max-height:20vh}
.rx-doctor.reference-book[open]{height:90vh;height:90dvh;overflow:hidden;display:flex;flex-direction:column;gap:12px}.rx-doctor.reference-book .reference-pages{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain}.rx-doctor.reference-book .timeline-actions{flex:none;margin:0}
@media(max-height:650px){.rx-doctor.patient-bag[open]{padding:10px;gap:6px;font-size:13px}.rx-doctor.patient-bag>header h2{font-size:22px}.rx-doctor.patient-bag .columns>section{padding:8px}.rx-doctor.patient-bag .tools img{height:30px}.rx-doctor.patient-bag .tools button{min-height:55px}.rx-doctor.patient-bag .notice{max-height:45px}}
@media(max-width:700px){.rx-doctor.patient-bag .columns{gap:8px}.rx-doctor.patient-bag .medicine-bag nav{grid-template-columns:repeat(2,minmax(0,1fr))}.rx-doctor.patient-bag .book-heading img{display:none}.rx-doctor.patient-bag .disease-index{grid-template-columns:1fr}}
.rx-doctor.patient-bag .columns>section:first-child{grid-template-rows:minmax(0,1.5fr) auto minmax(50px,1fr) auto}
.rx-doctor.patient-bag .medicine-bag{display:flex;flex-direction:column;overflow:hidden}.rx-doctor.patient-bag .medicine-bag h3,.rx-doctor.patient-bag .medicine-bag nav{flex:none}
.rx-doctor.patient-bag .medicine-bag .tools{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain}
.rx-doctor.patient-bag>.treatment-status{max-height:20vh;max-height:20dvh}
.biology-timeline .timeline-slot{background:#fff9e9;border:2px dashed #baa166;border-radius:12px;padding:12px;min-width:0;display:flex;flex-direction:column;gap:10px}.biology-timeline .timeline-slot.drag-over{border-color:#d79520;background:#f6e2a9}.biology-timeline .timeline-slot-button{flex:1;min-height:120px;text-align:left;background:#e6eef0;color:#263f4c;border-color:#718993;font-weight:normal;line-height:1.45}.biology-timeline .timeline-card[aria-pressed=true]{outline:4px solid #d79520;outline-offset:2px}.biology-timeline .timeline-slot .timeline-return{font-size:13px;padding:6px;min-height:32px;background:#eee2c4;color:#59462a;border-color:#ae935f}.biology-timeline .timeline-palette:empty{display:none}

/* Preserve readable specimen pictures and counts instead of crushing wide grids. */
.trait-station .biology-table-scroll{max-width:100%;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-gutter:stable;padding:3px}
.trait-station .biology-table-scroll:focus-visible{outline:3px solid #c88b1f;outline-offset:2px;border-radius:8px}
.trait-station .biology-table-scroll table{min-width:420px}
.trait-station .biology-table-scroll table.dihybrid{min-width:640px}
@media(prefers-reduced-motion:reduce){.biology-timeline *, .rx-doctor *{scroll-behavior:auto}}
