@font-face{font-family:TableOrbit;src:url('art/orbitron.ttf') format('truetype');font-display:swap}
:root{--vh:100vh}html,body{margin:0;padding:0;background:#04080d;height:100%;overflow:hidden}#GameDiv,#Cocos3dGameContainer,#GameCanvas{width:100%;height:var(--vh);display:block}
.tk-loading{--gold:#ebc878;--glow:#63d9ec;position:fixed;inset:0;z-index:9999;display:grid;place-items:center;overflow:hidden;background:#040810;color:#e7dab6;font-family:TableOrbit,'PingFang TC',sans-serif;transition:opacity .65s ease,filter .65s ease}
.tk-loading[hidden]{display:none}.tk-loading.is-leaving{opacity:0;filter:blur(5px);pointer-events:none}.tk-loading[data-game=dragontiger]{--glow:#ee9b58}.tk-loading[data-game=blackjack]{--glow:#6ed3a2}
.load-felt{position:absolute;inset:-5%;background:radial-gradient(ellipse at 50% 45%,#183842,#020609 75%);background-size:cover;background-position:center;opacity:.58;transform:scale(1.05);animation:scene-drift 18s ease-in-out infinite alternate}
.load-vignette{position:absolute;inset:0;background:radial-gradient(ellipse at 50% 42%,#03071220 0%,#04080f99 45%,#02050a 100%),linear-gradient(0deg,#030609 0%,transparent 40%,#030609b0 100%)}
.load-particles{position:absolute;inset:0;width:100%;height:100%;opacity:.9}
.load-corner{position:absolute;width:70px;height:70px;border-color:#c8a560;border-style:solid;filter:drop-shadow(0 0 8px #d6b05a55)}.load-corner:after{content:'';position:absolute;inset:7px;border:1px solid #c8a56050}.tl{top:22px;left:22px;border-width:2px 0 0 2px}.tr{top:22px;right:22px;border-width:2px 2px 0 0}.bl{bottom:22px;left:22px;border-width:0 0 2px 2px}.br{bottom:22px;right:22px;border-width:0 2px 2px 0}
.load-stage{position:relative;display:flex;align-items:center;flex-direction:column;width:min(640px,88vw);text-align:center;padding:32px 0}
.load-eyebrow{font-size:10px;letter-spacing:.32em;color:#c3b796;margin-bottom:24px;text-shadow:0 2px 5px #000}
.load-portal{position:relative;width:240px;height:240px;margin-bottom:-190px;opacity:.8}
.orbit{position:absolute;border-radius:50%;inset:8px;border:2px solid #e4bd6b77;box-shadow:0 0 18px #f0cf7019,inset 0 0 12px #f0cf7019;animation:orbit-spin 12s linear infinite}
.orbit:before,.orbit:after{content:'';position:absolute;width:9px;height:9px;left:50%;top:-5px;background:var(--gold);box-shadow:0 0 12px var(--gold);transform:rotate(45deg)}.orbit:after{top:auto;bottom:-5px;width:5px;height:5px;background:var(--glow)}
.orbit-two{inset:25px;border:1px dashed var(--glow);animation-direction:reverse;animation-duration:20s;box-shadow:none}.orbit-three{inset:-6px;border:1px solid transparent;border-top-color:var(--glow);border-bottom-color:var(--gold);animation-duration:4s}
.load-rays{position:absolute;inset:-95px;border-radius:50%;background:repeating-conic-gradient(from 0deg,transparent 0deg 18deg,#d7be7030 19deg,#63d9ec10 20deg,transparent 23deg 40deg);mask-image:radial-gradient(circle,#000 5%,transparent 67%);animation:orbit-spin 40s linear infinite}
.load-rune{position:absolute;inset:0;display:grid;place-items:center;color:var(--gold);font-size:65px;text-shadow:0 0 35px var(--glow);opacity:.25}
.load-logo{position:relative;width:min(460px,88vw);height:225px;object-fit:contain;filter:drop-shadow(0 6px 2px #000) drop-shadow(0 0 18px #ddb96455);animation:brand-breathe 3s ease-in-out infinite;z-index:1}.load-logo[hidden]{display:none}
.load-brand{position:relative;margin-top:36px;font-size:clamp(24px,4vw,38px);font-weight:800;letter-spacing:.13em;background:linear-gradient(#fff7d9 12%,#e9c36e 42%,#996826 49%,#fff1ba 55%,#d9a64c 85%);background-clip:text;-webkit-background-clip:text;color:transparent;filter:drop-shadow(0 3px 0 #2c190a) drop-shadow(0 0 12px #efc67533);z-index:2}
.load-logo:not([hidden])+.load-brand{margin-top:-12px;font-size:13px;letter-spacing:.34em;color:#e6d6b4;background:none;filter:drop-shadow(0 2px 3px #000)}
.load-tagline{font:13px/1.7 'Helvetica Neue','PingFang TC',sans-serif;color:#a6bac3;letter-spacing:.12em;margin:17px 0 33px;text-shadow:0 2px 3px #000}
.load-meter{width:min(420px,78vw)}.load-status{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px;font:12px/1.5 'Helvetica Neue','PingFang TC',sans-serif;letter-spacing:.06em;color:#c0c8c8}.load-status b{font:600 15px TableOrbit,sans-serif;color:#f0d59a}
.load-progress{height:8px;padding:3px;background:#02060be6;border:1px solid #887244;box-shadow:0 3px 15px #000,inset 0 0 8px #000;transform:skewX(-15deg);overflow:hidden}.load-progress>div{height:100%;width:0;background:linear-gradient(90deg,#6c4722,#d8a753 45%,#fff0ae 88%,#dcfaff);box-shadow:0 0 16px var(--gold);transition:width .3s ease;position:relative}.load-progress>div:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,transparent,#fff9,transparent);width:40%;animation:meter-shine 1.4s linear infinite}
.load-detail{color:#b7985c;font-size:9px;letter-spacing:14px;margin-top:17px}.load-retry{margin-top:22px;min-height:46px;padding:10px 30px;font:700 14px TableOrbit,sans-serif;color:#f2ddb0;background:linear-gradient(#263234,#0a161e);border:1px solid #c3a263;box-shadow:inset 0 0 0 3px #080e14,0 4px 20px #000;cursor:pointer}.load-retry[hidden]{display:none}
.load-shockwave{position:absolute;inset:0;border:2px solid var(--gold);border-radius:50%;opacity:0}.is-charged .load-shockwave{animation:charged .85s ease-out forwards}.is-charged .orbit{box-shadow:0 0 35px var(--glow)}
.tk-loading.is-paused *{animation-play-state:paused!important}
@keyframes orbit-spin{to{transform:rotate(360deg)}}@keyframes scene-drift{to{transform:scale(1.12) translateY(-1%)}}@keyframes brand-breathe{50%{transform:translateY(-4px);filter:drop-shadow(0 8px 3px #000) drop-shadow(0 0 27px #ddb96470)}}@keyframes meter-shine{from{left:-40%}to{left:110%}}@keyframes charged{0%{opacity:.8;transform:scale(.6)}100%{opacity:0;transform:scale(3.5)}}
@media(max-width:600px){.load-corner{width:35px;height:35px}.load-stage{width:88vw}.load-logo{height:185px}.load-portal{width:200px;height:200px;margin-bottom:-170px}.load-eyebrow{font-size:8px;letter-spacing:.18em}.load-logo:not([hidden])+.load-brand{font-size:11px}.load-tagline{font-size:11px;margin:16px 0 27px}}
@media(prefers-reduced-motion:reduce){.tk-loading,.load-progress>div{transition:none}.tk-loading *{animation:none!important}.load-felt{transform:none}.load-particles{opacity:.35}}
