:root{color-scheme:dark;font-family:system-ui,-apple-system,"PingFang SC","Microsoft Yahei",sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:15px}body{margin:0;background:radial-gradient(ellipse at 50% 0%,#18376e 0%,#08122d 56%,#040715 100%);color:#f6f3e9;min-height:100vh}.stars{position:fixed;inset:0;pointer-events:none;opacity:.24;background-image:radial-gradient(#fff 1px,transparent 1px),radial-gradient(#b5d7ff 1px,transparent 1px);background-size:83px 97px,137px 151px;background-position:0 0,34px 57px}.wrap{position:relative;max-width:820px;margin:auto;padding:14px 16px 30px}.topnav{display:flex;align-items:center;justify-content:space-between;gap:12px}.chain-return,.admin-link{display:inline-flex;align-items:center;justify-content:center;padding:10px 13px;border:1px solid #d6ad62;border-radius:999px;background:#152b50;color:#ffe3a2;text-decoration:none;font-size:14px;font-weight:700}.admin-link{border:0;background:transparent;font-size:17px}.hero{text-align:center;display:flex;flex-direction:column;align-items:center;gap:16px;padding:12px 0 8px}.doctor{width:min(46vw,205px);height:min(46vw,205px);border-radius:50%;object-fit:cover;object-position:center;border:3px solid #e9bf64;box-shadow:0 0 26px #e4b45870;background:#09162f}h1{font-size:clamp(36px,8.5vw,62px);letter-spacing:2px;margin:0;color:#ffdf8d;text-shadow:0 0 23px #d9ad4e44}.rule{display:flex;flex-direction:column;gap:8px;width:100%;max-width:620px;background:#142348c7;border:1px solid #d5b36e;padding:16px 10px;border-radius:18px}.rule strong{font-size:clamp(19px,4.7vw,27px);color:#ffe5a3}.rule span{font-size:15px;color:#f2f2f6}.enter{display:block;width:100%;max-width:620px;border-radius:16px;background:linear-gradient(115deg,#e4ae4f,#ffe69d);color:#15213a;padding:17px 10px;font-size:clamp(19px,5vw,27px);font-weight:900;text-decoration:none;box-shadow:0 8px 28px #0005}.panel{border:1px solid #6078b055;border-radius:18px;padding:17px;background:#101c3cdb;margin:18px 0}.heading{display:flex;justify-content:space-between;align-items:center;gap:10px}h2{font-size:19px;margin:0 0 10px}.status{color:#c7d3e8;font-size:13px;min-height:18px}.rooms{display:grid;gap:10px}.room{border:1px solid #4d6994;border-radius:12px;background:#15284e;padding:15px;display:flex;align-items:center;justify-content:space-between;gap:10px}.room b{display:block;margin-bottom:6px}.room small{color:#bbc9e4}button,.join{cursor:pointer;border:0;border-radius:11px;background:linear-gradient(120deg,#e8bb65,#ffdf91);color:#17233e;padding:12px 16px;font-size:14px;font-weight:750;text-decoration:none;white-space:nowrap}.ghost{background:#1b3158;color:#dfeaff;border:1px solid #536a93;padding:8px 12px}.admin label{display:block;font-size:12px;color:#e8d8a9;margin:8px 0}.adminrow{display:flex;gap:8px}input{min-width:0;flex:1;border:1px solid #58729d;border-radius:10px;background:#0b1530;color:#fff;padding:12px;font-size:14px}a:focus-visible,button:focus-visible{outline:2px solid white;outline-offset:3px}@media(max-width:500px){.room,.adminrow{flex-direction:column;align-items:stretch}.join,button{text-align:center}.room{align-items:stretch}.wrap{padding-top:12px}.hero{gap:14px}}

/* 2.3: admin is a genuine hidden overlay, not a section on the homepage */
.admin-overlay[hidden]{display:none!important}
.admin-overlay{position:fixed;inset:0;z-index:1000;background:rgba(0,0,0,.78);display:flex;align-items:center;justify-content:center;padding:18px;overflow-y:auto}
.admin-dialog{position:relative;width:min(100%,520px);margin:auto;padding:26px 18px 20px;box-shadow:0 20px 80px #000a;border:1px solid #e4bd72;background:#101e3d}
.close-admin{position:absolute;right:10px;top:9px;background:#28395b;color:#fff;padding:7px 12px;font-size:20px}
body.modal-open{overflow:hidden}
.doctor-frame{position:relative;width:min(46vw,205px);height:min(46vw,205px);flex-shrink:0}
.doctor-frame .doctor{width:100%;height:100%;display:block}
.doctor-name{position:absolute;left:50%;bottom:3%;transform:translateX(-50%);white-space:nowrap;font-weight:900;font-size:clamp(10px,2.5vw,15px);color:#ffe09a;text-shadow:0 2px 4px #000,0 0 8px #000;background:#071027c4;border-radius:999px;padding:3px 9px;border:1px solid #e6bd6c}

/* 2.4: enlarge only the real classroom join button by 50% */
.room .join{font-size:21px;padding:18px 20px;white-space:normal;line-height:1.4;text-align:center;max-width:100%;}
@media(max-width:500px){.room .join{width:100%;}}
