.infirmary-view { position: relative; box-sizing: border-box; min-width: 0; margin-left: clamp(250px,21vw,315px); padding-bottom: 80px; color: #d7d3c5; }
.infirmary-view[hidden] { display: none; }
html[data-page="infirmary"] .game-stage { height: auto; min-height: 980px; padding-top: 32px; }
html[data-infirmary="true"] .primary-menu > :not(.infirmary-menu-item):not([data-route="inventory"]) { display: none; }
.infirmary-heading { display: flex; align-items: center; gap: 14px; padding: 0 0 16px; border-bottom: 1px solid #73513e; }
.infirmary-heading > span { display: grid; place-items: center; width: 50px; height: 50px; border: 1px solid #8d5547; color: #df8e79; background: #2b1514; font-size: 1.6rem; }
.infirmary-heading p { margin: 0; color: #c98572; font-size: .72rem; letter-spacing: .18em; }
.infirmary-heading h1 { margin: 2px 0 0; color: #f1ddb0; font: 2.2rem Georgia,serif; }
.infirmary-panel { max-width: 760px; margin-top: 18px; padding: 18px; border: 1px solid #6d493e; border-top: 4px solid #9b594b; background: rgba(13,17,16,.95); box-shadow: 5px 6px rgba(0,0,0,.4); }
.infirmary-panel h2 { margin: 0 0 9px; color: #e8c0ad; font-size: 1rem; }
.infirmary-panel > p { color: #bdb7a8; }
.infirmary-panel dl { margin: 18px 0; border: 1px solid #34362f; }
.infirmary-panel dl div { display: grid; grid-template-columns: 150px 1fr; border-bottom: 1px solid #34362f; }
.infirmary-panel dl div:last-child { border-bottom: 0; }
.infirmary-panel dt,.infirmary-panel dd { margin: 0; padding: 9px 11px; }
.infirmary-panel dt { color: #a9a391; background: #191d1b; }
.infirmary-panel dd { color: #e1d6bd; }
.infirmary-timer { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 16px; border: 1px solid #73513e; background: #201816; }
.infirmary-timer span { color: #c7ad99; }
.infirmary-timer strong { color: #f0b79c; font: 2rem Consolas,monospace; letter-spacing: .06em; }
.infirmary-directory { max-width: 980px; }
.infirmary-directory-table { width:100%; border-collapse:collapse; }
.infirmary-directory-table th,.infirmary-directory-table td { padding:9px 11px; border-bottom:1px solid #34362f; text-align:left; }
.infirmary-directory-table th { color:#b8ad91; background:#252922; font-weight:600; }
.infirmary-directory-table tbody tr:nth-child(even) { background:#191d1b; }
.infirmary-directory-table a { color:#e0c77f; }
.infirmary-directory-time { color:#efb399; font-family:Consolas,monospace; white-space:nowrap; }
.infirmary-empty { color:#aaa596; }
.medicine-limit { flex:1 0 100%; box-sizing:border-box; margin:2px 0 0; padding:7px 9px; border:1px solid #5f5a42; background:#1d221d; color:#cbbc82; font-size:.8rem; font-variant-numeric:tabular-nums; }
.medicine-limit.is-full { border-color:#824d46; color:#e39b8e; }
.inventory-use-button { width:30px;height:30px;padding:0;border:1px solid #75865c;background:#263124;color:#b9db93;font-size:1.1rem;cursor:pointer; }
.inventory-use-button:disabled { opacity:.45;cursor:not-allowed; }
.inventory-confirm { width:min(420px,calc(100vw - 32px)); box-sizing:border-box; padding:20px; border:1px solid #887247; background:#171b18; color:#e7dec8; box-shadow:8px 10px 0 #0009; }
.inventory-confirm::backdrop { background:#000a; }
.inventory-confirm p { margin:0 0 18px; font-size:1rem; }
.inventory-confirm div { display:flex; justify-content:flex-end; gap:9px; }
.inventory-confirm button { min-width:74px; padding:8px 14px; border:1px solid #817046; background:#29291f; color:#ecd38f; cursor:pointer; }
.inventory-confirm button:hover,.inventory-confirm button:focus-visible { background:#46432c; outline:1px solid #dfbf68; }
.inventory-confirm { border:1px solid #8b805a;background:#141916;color:#ddd3bc;padding:18px;box-shadow:0 12px 35px #000; }
.inventory-confirm::backdrop { background:rgba(0,0,0,.68); }
.inventory-confirm p { margin:0 0 16px; }
.inventory-confirm div { display:flex;justify-content:flex-end;gap:8px; }
.inventory-confirm button { padding:8px 18px;border:1px solid #8b805a;background:#303526;color:#ead99c;cursor:pointer; }
@media(max-width:1050px){.infirmary-view{margin:0;grid-column:2}html[data-page="infirmary"] .game-stage{padding-top:24px;align-content:start}}
@media(max-width:720px){.infirmary-view{grid-column:1}.infirmary-panel dl div{grid-template-columns:1fr}.infirmary-panel dd{padding-top:0}.infirmary-timer{align-items:flex-start;flex-direction:column}}
