#auth-gate{--auth-display: "Barlow Condensed", "Avenir Next Condensed", "Arial Narrow", sans-serif;--auth-ui: "Avenir Next", "SF Pro Display", "Helvetica Neue", Arial, sans-serif;--auth-gold: #d9a82f;--auth-gold-dark: #805514;--auth-gold-bright: #ffe39a;--auth-cream: #fff9ea;--auth-cream-deep: #f5e6c4;--auth-ink: #241b12;--auth-muted: #746853;--auth-emerald: #073c2c;--auth-emerald-deep: #022a20;position:fixed;inset:0;z-index:10010;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;touch-action:pan-y;color:var(--auth-ink);font-family:var(--auth-ui);background:linear-gradient(180deg,#02120c05,#02120c0a 38%,#010b082e),url(../auth/royal-batak-auth-portrait-v2.webp) center top / cover no-repeat,#031d16}#auth-gate[hidden]{display:none}#auth-gate:before{content:"";position:fixed;inset:0;pointer-events:none;background:radial-gradient(circle at 50% 21%,transparent 0 28%,rgb(1 12 8 / .05) 56%,rgb(1 8 6 / .2) 100%),linear-gradient(180deg,transparent 0 74%,rgb(1 8 6 / .14) 100%)}body.auth-required #game{visibility:hidden}.auth-shell{position:relative;z-index:1;display:flex;min-height:100vh;min-height:100dvh;justify-content:center;align-items:flex-start;box-sizing:border-box;padding:clamp(286px,34.5dvh,326px) calc(11px + env(safe-area-inset-right)) calc(142px + env(safe-area-inset-bottom)) calc(11px + env(safe-area-inset-left))}.auth-card{position:relative;isolation:isolate;width:min(100%,416px);box-sizing:border-box;border:3px solid #d4a334;border-radius:27px;padding:13px 15px 15px;background:linear-gradient(180deg,#fffdf6fc,#fff8e7fc 58%,#f9edd3fc),var(--auth-cream);box-shadow:0 22px 46px #000a0780,0 0 0 2px #fff3c7b8,0 0 0 4px #573109d9,inset 0 1px #fffffffa,inset 0 0 0 1px #a970163d}.auth-card:before{content:"";position:absolute;inset:7px;z-index:-1;border:1px solid rgb(169 112 22 / .25);border-radius:18px;pointer-events:none}.auth-brand-accessible{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}.auth-card-heading{position:relative;margin:0 0 10px;border:2px solid #d8a637;border-radius:18px;padding:10px 13px 9px;background:linear-gradient(180deg,#0b6142,#07422f 56%,#042f24),var(--auth-emerald);box-shadow:inset 0 1px #fff7d547,inset 0 -2px #01140e5c,0 4px #745019,0 8px 15px #4b2f0a29;text-align:center}.auth-card-heading:before{content:"";position:absolute;top:-8px;left:50%;width:13px;height:13px;border:2px solid #f2ca67;background:#a50f21;box-shadow:0 0 0 2px #715019;transform:translate(-50%) rotate(45deg)}.auth-card h1{margin:0;color:#fff8df;font-family:var(--auth-display);font-size:clamp(28px,7.8vw,34px);font-weight:900;letter-spacing:.045em;line-height:1;text-transform:uppercase;text-shadow:0 2px 0 #5d3e11,0 3px 4px rgb(0 13 9 / .82)}.auth-lead{margin:5px auto 0;max-width:40ch;color:#f3e5c5;font-size:11px;font-weight:600;line-height:1.3;text-align:center}.auth-email-panel{animation:auth-email-reveal .18s ease-out both}.auth-tabs{display:grid;grid-template-columns:1fr 1fr;gap:4px;margin:0 0 9px;border:1px solid #d5bd87;border-radius:13px;padding:3px;background:#f2e7cd;box-shadow:inset 0 1px 3px #6441101f}.auth-provider,.auth-submit,.auth-guest,.auth-tabs button,.auth-secondary-actions button{border:1px solid transparent;border-radius:11px;font:inherit;font-weight:760;cursor:pointer;transition:transform .14s ease,border-color .14s ease,background-color .14s ease,box-shadow .14s ease,opacity .14s ease}.auth-tabs button{min-height:37px;background:transparent;color:#716550;font-size:13px}.auth-tabs button[aria-selected=true]{border-color:#d4a735;background:linear-gradient(180deg,#0f6847,#06442f);color:#fff8df;box-shadow:inset 0 1px #ffffff2e,0 2px 4px #38260a2e}.auth-provider:active,.auth-submit:active,.auth-guest:active,.auth-tabs button:active,.auth-secondary-actions button:active{transform:scale(.985)}.auth-provider:focus-visible,.auth-submit:focus-visible,.auth-guest:focus-visible,.auth-tabs button:focus-visible,.auth-secondary-actions button:focus-visible,.auth-form input:focus-visible{outline:3px solid #b97713;outline-offset:2px}.auth-form{display:grid;grid-template-columns:1fr;gap:5px}.auth-form label{margin:2px 3px 0;color:#3f3323;font-size:12px;font-weight:800;letter-spacing:.01em}.auth-form input{width:100%;min-height:46px;box-sizing:border-box;border:1px solid #d7c291;border-radius:11px;padding:0 13px;background:#fffdf8f5;color:var(--auth-ink);font:inherit;font-size:16px;box-shadow:inset 0 1px 3px #6848151c,0 1px #ffffffeb}.auth-form input:hover{border-color:#b98b2d}.auth-form input:disabled{background:#f2ead8;color:#746853}.auth-helper{margin:-1px 3px 1px;color:#766a55;font-size:9px;line-height:1.25}.auth-submit{min-height:49px;margin-top:5px;border-color:#e1b84e;background:linear-gradient(180deg,#19a12f,#0b801d 58%,#076417);color:#fffdf4;font-family:var(--auth-display);font-size:21px;letter-spacing:.045em;text-transform:uppercase;text-shadow:0 2px 2px rgb(2 55 11 / .8);box-shadow:inset 0 1px #e1ffe26b,0 3px #76501b,0 7px 12px #5a370a33}.auth-submit:disabled{cursor:not-allowed;opacity:.7;filter:saturate(.65)}.auth-secondary-actions{display:flex;justify-content:center;min-height:29px;margin-top:3px}.auth-secondary-actions button{min-height:29px;padding:0 10px;background:transparent;color:#745218;font-size:11px;text-decoration:underline;text-underline-offset:3px}.auth-separator{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:10px;margin:5px 2px 7px;color:#76562a;font-size:11px;font-weight:800;text-transform:uppercase}.auth-separator:before,.auth-separator:after{content:"";height:1px;background:linear-gradient(90deg,transparent,#c78e2e)}.auth-separator:after{background:linear-gradient(90deg,#c78e2e,transparent)}.auth-provider-list{display:grid;gap:7px}.auth-provider,.auth-guest{position:relative;display:flex;width:100%;align-items:center;justify-content:center;gap:9px;padding:0 13px}.auth-provider{min-height:43px;font-size:13px}.auth-provider-apple{border-color:#090909;background:linear-gradient(180deg,#181818,#030303);color:#fff;box-shadow:inset 0 1px #ffffff29,0 2px 4px #4d320b29}.auth-apple-mark{position:absolute;left:16px;top:50%;translate:0 -52%;font-family:-apple-system,BlinkMacSystemFont,sans-serif;font-size:20px;font-weight:500;line-height:1}.auth-provider-google{justify-content:space-between;border-color:#d3cab8;background:#fff;color:#2d2922;box-shadow:0 2px 4px #4d320b1f}.auth-provider-facebook{justify-content:space-between;border-color:#0d438f;background:linear-gradient(180deg,#1d69d4,#0d4da9);color:#fff;box-shadow:0 2px 4px #4d320b24}.auth-provider-badge{border:1px solid currentColor;border-radius:999px;padding:2px 8px;font-size:8px;font-weight:800;white-space:nowrap;opacity:.78}.auth-provider:disabled,.auth-guest:disabled{cursor:not-allowed}.auth-provider.is-coming-soon:disabled{opacity:.68;filter:saturate(.55)}.auth-guest{min-height:46px;margin-top:8px;flex-direction:column;gap:0;border-color:#b47c20;background:linear-gradient(180deg,#0d6243,#053d2d);color:#fff6dd;font-size:13px;box-shadow:inset 0 1px #ffffff2b}.auth-guest small{color:#dbcda9;font-size:8px;font-weight:550}.auth-status{min-height:14px;margin:6px 4px 0;color:#675b48;font-size:9px;line-height:1.3;text-align:center}.auth-status:empty{display:none}.auth-status.is-error{color:#a4251c;font-weight:700}@keyframes auth-email-reveal{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 520px){.auth-shell{padding-top:clamp(282px,34dvh,304px)}.auth-card{width:min(100%,350px)}}@media (max-height: 760px) and (orientation: portrait){.auth-shell{padding-top:252px}.auth-card-heading{padding-top:8px;padding-bottom:7px}.auth-lead{display:none}.auth-form input{min-height:42px}.auth-provider{min-height:40px}}@media (orientation: landscape) and (max-height: 720px){#auth-gate{background:linear-gradient(90deg,transparent 0 43%,rgb(2 22 16 / .2) 53%,rgb(1 12 9 / .62) 100%),url(../auth/royal-batak-auth-portrait-v2.webp) left center / auto 100% no-repeat,#031d16}#auth-gate:before{background:linear-gradient(90deg,transparent 0 39%,rgb(1 11 8 / .12) 50%,rgb(1 8 5 / .4) 100%)}.auth-shell{min-height:100dvh;justify-content:flex-end;padding:calc(10px + env(safe-area-inset-top)) calc(16px + env(safe-area-inset-right)) calc(10px + env(safe-area-inset-bottom)) calc(300px + env(safe-area-inset-left))}.auth-card{width:min(100%,438px)}}@media (prefers-reduced-motion: reduce){.auth-provider,.auth-submit,.auth-guest,.auth-tabs button,.auth-secondary-actions button{transition:none}.auth-email-panel{animation:none}}
