:root{color:#10231b;font-synthesis:none;background:#0a2118;font-family:Geist,Segoe UI,Microsoft YaHei,sans-serif}*{box-sizing:border-box}html,body,#root{min-width:320px;min-height:100%;margin:0}button,a{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}.page{background:radial-gradient(circle at 14% 15%,#214838 0,#0000 28rem),linear-gradient(145deg,#071a13 0%,#0c281d 100%);place-items:center;width:100%;max-width:100%;min-height:100vh;padding:clamp(20px,4vw,60px);display:grid;overflow-x:hidden}.checkin-shell{background:#d9fa79;border:1px solid #efffb13b;border-radius:clamp(28px,4vw,50px);grid-template-columns:minmax(0,1fr) minmax(340px,.76fr);align-items:center;gap:clamp(38px,7vw,108px);width:min(1180px,100%);min-height:min(720px,100vh - 80px);padding:clamp(34px,6vw,82px);display:grid;box-shadow:0 36px 100px #00000036}.checkin-copy{min-width:0}.wordmark{color:#315442;letter-spacing:.04em;align-items:center;gap:11px;margin-bottom:clamp(46px,8vh,88px);font-size:13px;font-weight:750;display:flex}.wordmark span{color:#eff8e7;background:#0c271c;border-radius:50%;place-items:center;width:30px;height:30px;font-family:Georgia,serif;font-size:17px;display:grid}h1{letter-spacing:-.075em;width:100%;margin:0;font-family:Georgia,Songti SC,serif;font-size:clamp(72px,9vw,132px);font-weight:500;line-height:.86}h1 i{vertical-align:.05em;background:linear-gradient(90deg,#0d291e 12%,#0000 12% 25%,#0d291e 25% 39%,#0000 39% 54%,#0d291e 54% 68%,#0000 68% 82%,#0d291e 82%),linear-gradient(#0d291e 12%,#0000 12% 25%,#0d291e 25% 39%,#0000 39% 54%,#0d291e 54% 68%,#0000 68% 82%,#0d291e 82%);border-radius:.1em;width:.45em;height:.45em;margin-left:.12em;display:inline-block}.checkin-copy>p{color:#426650;max-width:540px;margin:30px 0 34px;font-size:clamp(15px,1.5vw,18px);line-height:1.7}.room-select{z-index:5;width:min(430px,100%);position:relative}.room-trigger{color:#10271c;text-align:left;background:#f5f9eccc;border:1px solid #183a2a24;border-radius:18px;justify-content:space-between;align-items:center;width:100%;min-height:74px;padding:13px 18px 13px 21px;transition:transform .25s,box-shadow .25s;display:flex;box-shadow:0 16px 38px #365d4220}.room-trigger:hover{transform:translateY(-2px);box-shadow:0 20px 42px #365d4229}.room-trigger>span{gap:3px;display:grid}.room-trigger small{color:#5e7969;letter-spacing:.08em;font-size:11px;font-weight:700}.room-trigger strong{font-family:Georgia,serif;font-size:25px;font-weight:500}.room-trigger svg{transition:transform .25s}.room-trigger[aria-expanded=true] svg{transform:rotate(180deg)}.room-menu{-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px);background:#f8faeff2;border:1px solid #ffffff4f;border-radius:20px;grid-template-columns:repeat(3,1fr);gap:5px;max-height:min(350px,48vh);padding:9px;display:grid;position:absolute;top:calc(100% + 9px);left:0;right:0;overflow-y:auto;box-shadow:0 26px 60px #17352642}.room-option{color:#244433;background:0 0;border:0;border-radius:12px;justify-content:center;align-items:center;gap:5px;min-height:48px;font-family:Georgia,serif;font-size:16px;transition:color .22s,background .22s,transform .22s;display:flex}.room-option:hover,.room-option[aria-selected=true]{color:#eff8e7;background:#123022;transform:scale(1.035)}.sign-button{color:#f5faee;background:#0d281d;border-radius:999px;justify-content:center;align-items:center;gap:10px;width:fit-content;min-height:54px;margin-top:22px;padding:0 22px;font-size:15px;font-weight:760;transition:transform .25s,background .25s;display:inline-flex}.sign-button:hover{background:#183c2b;transform:translateY(-3px)}.sign-button.disabled{pointer-events:none;opacity:.45}.qr-surface{aspect-ratio:1;background:#f6f8ed;border:1px solid #ffffffb3;border-radius:clamp(25px,3vw,38px);align-content:center;place-items:center;gap:14px;min-width:0;padding:clamp(22px,3vw,34px);display:grid;box-shadow:0 28px 72px #21482f29}.qr-image{aspect-ratio:1;object-fit:contain;width:min(100%,420px)}.qr-state{color:#476653;place-content:center;justify-items:center;gap:16px;min-height:280px;display:grid}.qr-state svg{animation:1.5s ease-in-out infinite breathe}.qr-state.error{color:#9b4038;text-align:center}.live-line{color:#587161;letter-spacing:.07em;align-items:center;gap:8px;font-size:11px;font-weight:750;display:flex}.live-line>span{background:#4da56d;border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 5px #4da56d1f}@keyframes breathe{50%{opacity:.35;transform:scale(.92)}}@media (width<=820px){.page{place-items:start center;padding:14px}.checkin-shell{grid-template-columns:1fr;gap:42px;min-height:calc(100vh - 28px);padding:34px 22px}.wordmark{margin-bottom:46px}h1{font-size:clamp(68px,22vw,112px)}.checkin-copy>p{margin:22px 0 26px}.room-select,.sign-button{width:100%}.qr-surface{justify-self:center;width:100%;max-width:520px}}@media (width<=430px){.page{padding:0}.checkin-shell{border:0;border-radius:0;min-height:100vh;padding:28px 17px 24px}.wordmark{margin-bottom:36px}.room-menu{grid-template-columns:repeat(2,1fr)}.qr-surface{border-radius:24px;padding:18px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
