:root{--felt: #0f4a35;--felt-dark: #06180f;--surface: #14513c;--border: #1f6b50;--text: #f7f1e1;--text-muted: #c7d3c8;--accent: #f5c451;--gold-gradient: linear-gradient(180deg, #fff3b0 0%, #f5c451 35%, #c98a12 65%, #fbe08a 100%);--font-display: "Cinzel Decorative", Georgia, serif;--font-body: "Montserrat", system-ui, "Segoe UI", sans-serif}*{box-sizing:border-box}html,body{overflow-x:hidden}body{margin:0;min-height:100vh;color:var(--text);font-family:var(--font-body);background:radial-gradient(ellipse 70% 45% at 50% 0%,rgba(255,225,150,.22),transparent 70%),radial-gradient(ellipse at center,#17644a 0%,#0c3b2a 55%,var(--felt-dark) 100%);background-attachment:fixed}body:before{content:"";position:fixed;inset:0;pointer-events:none;opacity:.25;background-image:repeating-linear-gradient(45deg,rgba(0,0,0,.08) 0 1px,transparent 1px 3px),repeating-linear-gradient(-45deg,rgba(255,255,255,.04) 0 1px,transparent 1px 3px)}.page{max-width:960px;margin:0 auto;padding:24px max(16px,env(safe-area-inset-right)) max(40px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left))}.back-link{display:inline-flex;align-items:center;gap:6px;padding:8px 4px;color:var(--accent);font-weight:600;text-decoration:none;background:none;border:0;font:inherit;cursor:pointer}.back-link:hover,.back-link:focus-visible{text-decoration:underline}.gold-title{margin:0;font-family:var(--font-display);font-weight:900;line-height:1.1;background:var(--gold-gradient);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 3px 0 #6b4400) drop-shadow(0 0 16px rgba(255,200,80,.35))}.panel{padding:clamp(20px,4vw,32px);border-radius:20px;border:3px solid transparent;background:linear-gradient(160deg,#1c7a57f2,#082c1ff2) padding-box,linear-gradient(145deg,#fff0b3,#c98a12 30%,#fbe08a,#8a5d0d 80%,#f5c451) border-box;box-shadow:0 18px 35px #00000080,0 4px #5c3d06}.panel h2{margin:0 0 16px;font-family:var(--font-display);font-size:1.35rem;color:#ffe28a}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:16px}.field label{font-size:.8rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted)}.input{width:100%;padding:14px 16px;border-radius:12px;border:2px solid rgba(245,196,81,.35);background:#00000059;color:var(--text);font:inherit;font-size:1rem;box-shadow:inset 0 2px 6px #0006;transition:border-color .15s ease}.input::placeholder{color:#f7f1e166}.input:focus{outline:none;border-color:var(--accent)}.input--code{font-family:var(--font-display);font-size:1.4rem;letter-spacing:.4em;text-align:center;text-transform:uppercase}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:52px;padding:12px 24px;border:0;border-radius:999px;font:inherit;font-weight:700;font-size:.95rem;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;transition:transform .12s ease,filter .12s ease}.btn:hover:not(:disabled){transform:translateY(-2px);filter:brightness(1.08)}.btn:active:not(:disabled){transform:translateY(2px)}.btn:focus-visible{outline:3px solid #fff3b0;outline-offset:3px}.btn:disabled{cursor:not-allowed;opacity:.55}.btn--gold{color:#3a2400;background:linear-gradient(180deg,#ffe9a3,#f5c451 50%,#d39a1d);box-shadow:0 4px #8a5d0d,0 8px 14px #0006}.btn--ghost{color:var(--text);background:#0000004d;box-shadow:inset 0 0 0 2px #f5c45180}.btn--small{width:auto;min-height:40px;padding:8px 16px;font-size:.75rem}.error-msg{margin:0 0 16px;padding:12px 14px;border-radius:10px;background:#960a198c;border:1px solid rgba(255,120,120,.5);color:#ffe1e1;font-size:.9rem}.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
