.medicine-entry { position:absolute; left:50%; bottom:34px; transform:translateX(-50%) rotate(-2deg); width:274px; height:65px; padding:11px 17px; border:1.5px solid #766a61; border-radius:3px 3px 9px 9px; background:#fff9e9; color:#5b4b49; display:flex; align-items:center; gap:13px; text-align:left; cursor:pointer; box-shadow:3px 5px 0 #102e3b12; animation:medicine-arrive .45s ease-out; z-index:3; font-family:inherit; }
.medicine-entry::before { content:''; position:absolute; left:6px; right:6px; top:5px; border-top:1px dashed #c6b8a6; }
.medicine-entry[hidden], .medicine-overlay[hidden] { display:none; }
.medicine-entry svg { width:32px; height:35px; flex:none; }
.medicine-entry strong { display:block; font-size:16px; font-weight:750; letter-spacing:1px; }
.medicine-entry small { display:block; margin-top:4px; font-size:10px; color:#8f7b70; letter-spacing:.6px; }
.medicine-entry .packet-arrow { margin-left:auto; color:#bd686a; font-size:20px; }
.medicine-visible .daily { bottom:111px; }
.medicine-visible .feedback { margin-top:24px; height:45px; }
.medicine-visible .seat-row, .medicine-visible .footer, .medicine-visible .bottom { visibility:hidden; }
.medicine-overlay { position:absolute; inset:0; z-index:20; background:#15263485; display:flex; align-items:flex-end; color:#493f42; font-family:'PingFang TC',-apple-system,sans-serif; }
.medicine-sheet { position:relative; width:100%; max-height:calc(100% - 64px); overflow:auto; padding:33px 25px 30px; border-radius:28px 28px 0 0; background:#fff9e9; box-shadow:0 -10px 45px #13293c22; overscroll-behavior:contain; animation:medicine-sheet .25s ease-out; }
.medicine-sheet::before { content:''; position:absolute; top:12px; left:calc(50% - 19px); width:38px; height:4px; border-radius:4px; background:#cfbfac; }
.medicine-close { position:absolute; top:29px; right:18px; width:40px; height:40px; border:0; border-radius:50%; background:#eadfce; color:#76635e; cursor:pointer; font-size:23px; line-height:1; }
.medicine-kicker { font-size:11px; color:#a17c6f; letter-spacing:1px; margin:0 0 9px; }
.medicine-sheet h2 { margin:0; font-size:30px; font-weight:800; letter-spacing:-1px; line-height:1.3; color:#945d63; }
.medicine-description { margin:11px 0 20px; font-size:13px; line-height:1.8; color:#7d6b64; }
.medicine-label { display:block; font-size:11px; color:#978277; margin-bottom:8px; }
.medicine-prompt { display:block; width:100%; height:155px; resize:none; border:1px dashed #cabbab; border-radius:9px; background:#fffdf5; color:#665755; padding:13px; font-family:inherit; font-size:12px; line-height:1.85; -webkit-user-select:text; user-select:text; }
.medicine-copy { width:100%; margin-top:15px; border:0; border-radius:12px; min-height:47px; background:#b76572; color:#fffaf1; font-family:inherit; font-size:15px; font-weight:650; cursor:pointer; padding:10px; }
.medicine-copy:disabled { opacity:.65; cursor:wait; }
.medicine-copy-status { min-height:32px; display:grid; place-content:center; margin:5px 0 7px; text-align:center; font-size:11px; line-height:1.5; color:#8d7970; }
.medicine-providers { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.medicine-providers a { display:block; padding:13px 8px; border:1px solid #cabbab; border-radius:12px; text-decoration:none; color:#665755; text-align:center; font-size:14px; font-weight:650; }
.medicine-providers a span { padding-left:5px; font-size:13px; color:#a58d80; }
.medicine-entry:focus-visible,.medicine-overlay button:focus-visible,.medicine-overlay a:focus-visible,.medicine-prompt:focus-visible { outline:3px dashed #b76572; outline-offset:4px; }
@keyframes medicine-arrive { from {opacity:0;transform:translate(-50%,12px) rotate(2deg);} to {opacity:1;transform:translate(-50%,0) rotate(-2deg);} }
@keyframes medicine-sheet { from {transform:translateY(18px);opacity:.4;} to {transform:translateY(0);opacity:1;} }
@media(max-height:790px) and (max-width:440px) { .medicine-visible .feedback {margin-top:17px;height:40px;} .medicine-visible .daily {bottom:108px;} .medicine-entry {bottom:31px;} }
@media(prefers-reduced-motion:reduce) { .medicine-entry,.medicine-sheet {animation:none;} }
