.gscr-root{background:var(--bg);color:var(--text);font-family:var(--font);position:fixed;inset:0;overflow:clip}.gscr-saver{animation:.9s ease-out backwards gscr-fade;position:absolute;inset:0}.gscr-photo{background:#0d1210}.gscr-photo-img{object-fit:cover;width:100%;height:100%;animation:60s ease-in-out infinite alternate gscr-drift;position:absolute;inset:0}.gscr-photo-band{color:#fff;background:linear-gradient(#0a100d00,#0a100db8);justify-content:flex-end;align-items:flex-end;gap:24px;padding:80px 56px 40px;display:flex;position:absolute;bottom:0;left:0;right:0}.gscr-photo-time{opacity:.9;white-space:nowrap;font-size:clamp(16px,1.6vw,22px)}.gscr-plain{background:radial-gradient(ellipse at 50% 38%, var(--bg-elev) 0%, var(--bg) 62%), var(--bg);flex-direction:column;justify-content:center;align-items:center;display:flex}.gscr-plain-mark{flex-direction:column;align-items:center;gap:22px;animation:7s ease-in-out infinite alternate gscr-float;display:flex}.gscr-logo{object-fit:contain;max-width:min(56vw,640px);max-height:44vh}.gscr-name{font-family:var(--font-display);color:var(--forest);text-align:center;margin:0;padding:0 24px;font-size:clamp(44px,7vw,104px);line-height:1.02}.gscr-welcome{letter-spacing:.32em;text-transform:uppercase;color:var(--text-sec);margin:0;font-size:clamp(18px,2vw,28px)}.gscr-clock{color:var(--muted);margin:0;font-size:clamp(15px,1.4vw,20px);position:absolute;bottom:36px}.gscr-bill{grid-template-columns:minmax(0,1.35fr) minmax(320px,1fr);animation:.4s ease-out backwards gscr-fade;display:grid;position:absolute;inset:0}.gscr-doc{background:var(--card);border-right:1px solid var(--border);flex-direction:column;min-height:0;padding:44px 48px 32px;display:flex}.gscr-doc-head{border-bottom:1px solid var(--border);padding-bottom:20px}.gscr-doc-logo{object-fit:contain;max-width:220px;max-height:56px;margin-bottom:14px;display:block}.gscr-doc-resort{color:var(--text-sec);margin-bottom:10px;font-size:18px;display:block}.gscr-doc-head h1{font-family:var(--font-display);color:var(--forest);margin:0;font-size:clamp(30px,3.2vw,44px);line-height:1.1}.gscr-doc-guest{color:var(--text-sec);margin:6px 0 0;font-size:20px}.gscr-doc-body{flex:1;min-height:0;padding-top:8px;overflow-y:auto}.gscr-sec h2{letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin:22px 0 6px;font-size:14px;font-weight:600}.gscr-line{border-bottom:1px solid var(--border-soft);justify-content:space-between;align-items:baseline;gap:20px;padding:9px 0;font-size:21px;display:flex}.gscr-line small{color:var(--muted);margin-top:2px;font-size:15px;display:block}.gscr-amt{font-variant-numeric:tabular-nums;white-space:nowrap}.gscr-totals{margin-top:18px}.gscr-totals .gscr-line{color:var(--text-sec);border-bottom:none;padding:5px 0}.gscr-totals .gscr-total,.gscr-fee .gscr-total{color:var(--text);border-top:1px solid var(--border);margin-top:6px;padding-top:12px;font-size:24px;font-weight:700}.gscr-empty{color:var(--muted);font-size:20px}.gscr-pay{background:var(--bg);justify-content:center;align-items:center;padding:40px;display:flex}.gscr-state{text-align:center;flex-direction:column;align-items:center;gap:10px;width:100%;max-width:460px;animation:.35s ease-out backwards gscr-fade;display:flex}.gscr-label{letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin:0;font-size:17px}.gscr-due{font-variant-numeric:tabular-nums;color:var(--forest);margin:0 0 18px;font-size:clamp(52px,6vw,84px);font-weight:700;line-height:1}.gscr-paybtn{background:var(--accent);color:#fff;width:100%;min-height:92px;font:inherit;cursor:pointer;border:none;border-radius:18px;font-size:30px;font-weight:700;transition:transform .12s,box-shadow .12s;box-shadow:0 8px 24px #1f3d2e38}.gscr-paybtn:active{transform:scale(.98)}.gscr-paybtn:disabled{opacity:.75;cursor:progress}.gscr-big{margin:8px 0 0;font-size:clamp(26px,2.6vw,36px);font-weight:700;line-height:1.15}.gscr-sub{color:var(--text-sec);margin:0;font-size:19px}.gscr-failed{background:var(--danger-soft,var(--accent-soft));color:var(--danger);border-radius:12px;margin:0 0 6px;padding:12px 16px;font-size:18px}.gscr-tap{flex-direction:column;align-items:center;gap:4px;display:flex}.gscr-card{width:120px;height:84px;fill:var(--accent-soft);stroke:var(--accent);stroke-width:3px;stroke-linejoin:round;animation:1.6s ease-in-out infinite gscr-dip}.gscr-fee{text-align:left;width:100%;margin-bottom:10px}.gscr-check{fill:none;width:120px;height:120px;stroke:var(--accent);stroke-width:4px;stroke-linecap:round;stroke-linejoin:round}.gscr-check circle{stroke-dasharray:190;stroke-dashoffset:190px;animation:.7s ease-out forwards gscr-draw}.gscr-check path{stroke-dasharray:50;stroke-dashoffset:50px;animation:.4s ease-out .55s forwards gscr-draw}.gscr-corner{opacity:0;pointer-events:none;z-index:5;align-items:flex-start;gap:8px;transition:opacity .3s;display:flex;position:absolute;top:14px;right:14px}.gscr-corner.awake{opacity:1;pointer-events:auto}.gscr-corner>button,.gscr-menu-acts button{border:1px solid var(--border);background:var(--card);color:var(--text);font:inherit;cursor:pointer;border-radius:999px;padding:7px 14px;font-size:14px}.gscr-menu{background:var(--card);border:1px solid var(--border);border-radius:14px;width:320px;padding:16px;position:absolute;top:44px;right:0;box-shadow:0 12px 32px #0000002e}.gscr-menu-head{margin:0 0 6px;font-weight:700}.gscr-menu-note{color:var(--text-sec);margin:0 0 10px;font-size:14px}.gscr-menu-acts{flex-wrap:wrap;gap:8px;margin-bottom:8px;display:flex}.gss-strip{color:var(--text-sec);flex-wrap:wrap;align-items:center;gap:6px;margin:0 0 12px;font-size:13px;display:flex}.gss-strip.on{color:var(--accent)}.gss-dot{background:var(--accent);border-radius:50%;width:8px;height:8px;animation:2s ease-in-out infinite gscr-pulse}.gss-open{border:1px solid var(--border);background:var(--card);color:var(--text);font:inherit;cursor:pointer;border-radius:999px;padding:4px 12px;font-size:13px}@keyframes gscr-fade{0%{opacity:0}to{opacity:1}}@keyframes gscr-drift{0%{transform:scale(1.02)translate(0)}to{transform:scale(1.1)translate(-1.5%,-1%)}}@keyframes gscr-float{0%{transform:translateY(-6px)}to{transform:translateY(6px)}}@keyframes gscr-dip{0%,to{transform:translateY(0)}50%{transform:translateY(12px)}}@keyframes gscr-draw{to{stroke-dashoffset:0}}@keyframes gscr-pulse{0%,to{opacity:1}50%{opacity:.35}}@media (width<=900px){.gscr-bill{grid-template-rows:minmax(0,1fr) auto;grid-template-columns:1fr}.gscr-doc{border-right:none;border-bottom:1px solid var(--border);padding:28px 24px 16px}.gscr-pay{padding:24px}}
