/* Crystal Cave — expedition console; deliberately separate from Royal Fortune. */
.cave-atmosphere{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:-1;contain:paint}
.cave-aurora{position:absolute;inset:0;background:radial-gradient(ellipse at 10% 10%,#75e6e820,transparent 35%),radial-gradient(ellipse at 90% 35%,#8f83e91a,transparent 35%);animation:cave-aurora-drift 16s ease-in-out infinite alternate}
.cave-mote{position:absolute;left:var(--x);top:var(--y);width:3px;height:3px;border-radius:50%;background:#c4f9ef;box-shadow:0 0 9px #83e8db;opacity:.25;animation:cave-mote-drift var(--duration) ease-in-out var(--delay) infinite}
.cave-mote:nth-child(3n){width:2px;height:2px;background:#bdb4fb;box-shadow:0 0 8px #b4a5ff}
.crystal-game .cave-edge-crystal{position:absolute;width:180px;height:180px;max-width:none;opacity:.24;filter:drop-shadow(0 0 24px #5ddeff44);background-position:0 0}
.crystal-game .cave-edge-crystal--left{left:-68px;top:560px;transform:rotate(23deg)}
.crystal-game .cave-edge-crystal--right{right:-70px;top:110px;transform:rotate(-27deg);background-position:33.333% 100%}
.cave-stage{position:relative;isolation:isolate}
.cave-frame-glints{position:absolute;inset:0;border-radius:inherit;pointer-events:none;overflow:hidden}
.cave-frame-glints:before,.cave-frame-glints:after{content:"";position:absolute;width:100px;height:1px;background:linear-gradient(90deg,transparent,#c0f7e7,transparent);opacity:.7}
.cave-frame-glints:before{top:0;left:14%;animation:cave-frame-travel 12s ease-in-out infinite alternate}
.cave-frame-glints:after{bottom:0;right:12%;animation:cave-frame-travel 12s ease-in-out -6s infinite alternate-reverse}
.cave-frame-glints i{position:absolute;width:5px;height:5px;border:1px solid #a5e8dc66;transform:rotate(45deg)}
.cave-frame-glints i:nth-child(1){top:9px;left:9px}.cave-frame-glints i:nth-child(2){top:9px;right:9px}.cave-frame-glints i:nth-child(3){bottom:9px;left:9px}.cave-frame-glints i:nth-child(4){bottom:9px;right:9px}
.crystal-game .cave-minerals{position:relative;display:flex;justify-content:center;align-items:end;gap:2px;margin-top:auto;min-height:70px;border-top:1px solid #a5e8dc18;padding-top:8px;pointer-events:none}
.crystal-game .cave-minerals .royal-symbol-art{width:60px;height:60px;max-width:none;position:relative;z-index:1;animation:cave-mineral-float 6s ease-in-out infinite}
.crystal-game .cave-minerals .royal-symbol-art:nth-child(1){background-position:33.333% 100%;animation-delay:-2s;width:45px;height:45px;opacity:.65}
.crystal-game .cave-minerals .royal-symbol-art:nth-child(2){background-position:0 0}
.crystal-game .cave-minerals .royal-symbol-art:nth-child(3){background-position:66.667% 0;animation-delay:-4s;width:45px;height:45px;opacity:.65}
.cave-minerals i{position:absolute;left:10%;right:10%;bottom:0;height:30px;background:radial-gradient(ellipse,#76e8d824,transparent 70%)}
.crystal-game .cave-logo{animation:cave-logo-glow 8s ease-in-out infinite}
.crystal-game .lj-royal-spin:not(:disabled){position:relative;overflow:hidden;transition:filter .2s,box-shadow .2s,transform .2s}
.crystal-game .lj-royal-spin:not(:disabled):after{content:"";position:absolute;inset:-50% auto -50% -70%;width:45%;background:linear-gradient(90deg,transparent,#fff4,transparent);transform:skewX(-24deg);animation:cave-button-sheen 9s ease-in-out infinite;pointer-events:none}
.crystal-game.has-win .cave-stage{animation:cave-win-aura 1.2s ease-out 2}
.crystal-game .cave-panel:not([hidden]){animation:cave-panel-enter .25s ease-out}
@keyframes cave-mote-drift{0%,100%{transform:translate3d(0,0,0);opacity:.12}50%{transform:translate3d(12px,-32px,0);opacity:.55}}
@keyframes cave-aurora-drift{to{transform:translate3d(3%,-2%,0);opacity:.5}}
@keyframes cave-frame-travel{to{transform:translateX(160px);opacity:.2}}
@keyframes cave-mineral-float{50%{transform:translateY(-5px)}}
@keyframes cave-logo-glow{50%{filter:drop-shadow(0 0 12px #8acfe430)}}
@keyframes cave-button-sheen{0%,78%{left:-70%}100%{left:150%}}
@keyframes cave-win-aura{50%{box-shadow:0 0 35px #b3efd535,inset 0 0 18px #9aecd012}}
@keyframes cave-panel-enter{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:850px){.crystal-game .cave-minerals{grid-column:2;grid-row:4;margin:0;border:0;padding:0;min-height:63px}}
@media(max-width:520px){.cave-mote:nth-child(n+10){display:none}.crystal-game .cave-edge-crystal{opacity:.12}.crystal-game .cave-minerals .royal-symbol-art{width:50px;height:50px}.crystal-game .cave-minerals .royal-symbol-art:nth-child(odd){width:35px;height:35px}}
@media(prefers-reduced-motion:reduce){.crystal-game .cave-atmosphere *,.crystal-game .cave-frame-glints:before,.crystal-game .cave-frame-glints:after,.crystal-game .cave-minerals .royal-symbol-art,.crystal-game .cave-logo,.crystal-game .lj-royal-spin:after,.crystal-game.has-win .cave-stage,.crystal-game .cave-panel:not([hidden]){animation:none}.crystal-game .lj-royal-spin:not(:disabled){transition:none}}
.crystal-game .cave-heading h1{line-height:0}.cave-logo{display:block;width:440px;max-width:100%;height:auto;filter:drop-shadow(0 4px 12px #0006)}
.cave-heading>div{min-width:0}.crystal-game .cave-icon{display:inline-block;width:17px;height:17px;flex-shrink:0;vertical-align:middle}
.crystal-game .royal-tools button,.crystal-game .cave-tabs button,.crystal-game .cave-topbar>a,.crystal-game .cave-console-title a,.crystal-game .cave-stake-foot button{display:inline-flex;align-items:center;justify-content:center;gap:7px}
.crystal-game .lj-royal-bet button{display:grid;place-items:center}.crystal-game .lj-royal-spin .cave-icon{width:27px;height:27px}.crystal-game .cave-bonus>.cave-icon{width:24px;height:24px;color:#a8d9c8}
.crystal-game .lj-royal-login:not([hidden]){display:flex;align-items:center;justify-content:center;gap:7px}.crystal-game .cave-console-title .cave-icon,.crystal-game .cave-stake-foot .cave-icon{width:14px;height:14px}
[data-royal-sound][aria-pressed=false] .cave-sound-on,[data-royal-sound][aria-pressed=true] .cave-sound-off{display:none}
@media(max-width:520px){.crystal-game .cave-heading .cave-logo{width:330px}.crystal-game .cave-tabs{gap:14px;padding:0 12px}.crystal-game .cave-tabs button{gap:5px;font-size:10px}.crystal-game .cave-tabs .cave-icon{width:14px;height:14px}}
.lj-royal-game.crystal-game{--cave-row:118px;--cave-ink:#dcecf3;--cave-muted:#91aab9;background:linear-gradient(180deg,#04121c75,#07121bec 850px),url('../images/crystal-cave-background-v1.webp') center top/auto 1050px no-repeat;background-color:#07121b;padding:24px clamp(12px,3vw,56px) 40px;color:var(--cave-ink)}
.crystal-game:before{display:none}.cave-shell{max-width:1320px;margin:auto}.cave-topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-bottom:20px;border-bottom:1px solid #c4ecff21;font-size:12px}.cave-topbar>a{color:#c3d6df;text-decoration:none}.cave-topbar>span{font-size:10px;letter-spacing:2px;color:#91aebb}.cave-topbar b{margin-left:12px;border:1px solid #84c7bd50;border-radius:4px;padding:4px 7px;letter-spacing:1px;color:#9cdccb;font-size:9px}
.crystal-game .royal-tools{padding:0;gap:6px}.crystal-game .royal-tools button{background:#0a1c2bc9;border:1px solid #a4d6e42a;color:#bcd3de;padding:9px 12px;border-radius:6px;font-size:11px}.crystal-game .royal-tools button[aria-pressed=true]{background:#1e484d;color:#caffec}
.cave-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:30px 0 26px}.cave-kicker{font-size:9px;letter-spacing:2.3px;font-weight:700;color:#93d6cc;margin:0 0 10px}.cave-heading h1{font:600 clamp(34px,4vw,57px)/1.05 Georgia,serif;letter-spacing:-1.8px;margin:0;color:#eef7fc}.cave-heading h1 em{font-style:normal;color:#9adccf}.cave-heading>p{margin:0;color:#cedfe8;text-align:right;font-size:13px;line-height:1.9}.cave-heading>p span{color:#91aab9;font-size:11px}
.cave-layout{display:grid;grid-template-columns:minmax(0,1fr) 286px;gap:18px;align-items:stretch}.cave-stage{min-width:0;padding:22px 22px 0;border:1px solid #a2d0e04d;border-radius:16px;background:linear-gradient(145deg,#142d3ae8,#081622ed);box-shadow:0 20px 55px #0005,inset 0 1px #ffffff0d;display:flex;flex-direction:column;justify-content:center}
.cave-stage-bar{display:flex;justify-content:space-between;align-items:center;gap:10px;color:#a1bbc9;font-size:9px;letter-spacing:1.6px;padding:0 0 22px}.cave-stage-bar i{display:inline-block;width:6px;height:6px;margin-right:8px;background:#9adccf;border-radius:50%;box-shadow:0 0 9px #9adccf55}.cave-stage-bar small{font-size:8px;color:#738e9e;margin-left:5px}
.crystal-game .royal-reel-frame{padding-left:23px}.crystal-game .royal-line-markers{top:7px;bottom:7px;color:#7896a7;font-size:9px}.crystal-game .royal-line-markers span{padding:0;background:none;border:0}
.crystal-game .lj-royal-reels{padding:6px;gap:5px;border:1px solid #86b9c33d;border-radius:10px;background:#030e18;box-shadow:inset 0 0 35px #0005}
.lj-royal-game.crystal-game .lj-royal-reel{height:calc(var(--cave-row) * 3 + 2px);min-height:0;border:1px solid #a1d2e415;border-radius:5px;background:linear-gradient(#0b1c2a,#193448 50%,#0b1c2a);box-shadow:inset 0 12px 20px #0005,inset 0 -12px 20px #0005}
.lj-royal-game.crystal-game .lj-royal-symbol{height:var(--cave-row);background-image:linear-gradient(transparent calc(100% - 1px),#b1e4ff08 1px)}
.crystal-game .royal-symbol-art{background-image:url('../images/crystal-cave-symbols-v1.webp');width:108px;height:108px;max-width:100%;filter:drop-shadow(0 4px 5px #0008)}
.crystal-game .lj-royal-symbol.winning{background-color:#8edfcf1c;box-shadow:inset 0 0 0 1px #a7efdc,inset 0 0 26px #85ffe519}
.cave-stage-footer{display:flex;align-items:center;gap:12px;min-height:69px}.crystal-game .lj-royal-status{flex:1;display:block;background:none;border:0;margin:0;padding:16px 0;text-align:left;min-height:0;font-size:12px;color:#c0d7e3}.cave-key{white-space:nowrap;font-size:10px;color:#819cae}.cave-key kbd{font:8px system-ui;letter-spacing:1px;border:1px solid #a1d3e42e;border-radius:4px;padding:5px;margin-right:4px}
.cave-console{background:#091821ed;border:1px solid #8dc0cf35;border-radius:16px;padding:21px;display:flex;flex-direction:column;gap:18px;box-shadow:0 20px 50px #0003}.cave-console-title{display:flex;align-items:center;justify-content:space-between;gap:5px;font-size:9px;letter-spacing:1px;color:#8ca7b7}.cave-console-title a{color:#a2d7cf;font-size:10px;letter-spacing:0;text-decoration:none}.cave-balance{border-bottom:1px solid #b3d8eb1a;padding-bottom:18px}.cave-balance>span,.cave-stake>label,.cave-last-win>span{display:block;font-size:9px;color:#87a1b2;letter-spacing:1.3px;margin-bottom:8px}.cave-balance strong{font-size:28px;letter-spacing:-.7px;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.cave-balance small{display:block;color:#688697;font-size:10px;margin-top:5px}
.crystal-game .lj-royal-bet{display:grid;grid-template-columns:38px minmax(0,1fr) 38px;gap:5px;border:1px solid #b0d9ec2b;border-radius:8px;padding:6px;align-items:center;text-align:center;background:#05101b}.crystal-game .lj-royal-bet button{width:38px;height:38px;border-radius:5px;background:#193443;color:#d3e8ee;border:0;font-size:23px;cursor:pointer}.crystal-game .lj-royal-bet button:disabled{opacity:.35;cursor:default}.crystal-game .lj-royal-bet strong{font-size:17px;color:#e0f1f5;font-variant-numeric:tabular-nums}.cave-stake-foot{display:flex;justify-content:space-between;align-items:center;margin-top:8px;color:#7997a8;font-size:10px}.cave-stake-foot button{border:0;background:transparent;color:#a5d7cd;font-weight:700;font-size:10px;padding:5px;cursor:pointer}.cave-stake-foot button:disabled{opacity:.4;cursor:default}
.crystal-game .lj-royal-spin{width:100%;height:63px;margin:0;border-radius:9px;border:1px solid #beefdc;background:linear-gradient(120deg,#c2e8cf,#88c7b9);box-shadow:0 6px 22px #83d7b619,inset 0 1px #ffffff80;color:#102b29;display:flex;align-items:center;justify-content:center;gap:13px}.crystal-game .lj-royal-spin span{font-size:29px;color:#224c43;display:block}.crystal-game .lj-royal-spin b{font-size:12px;letter-spacing:1px}.crystal-game .lj-royal-spin:disabled{opacity:.45;cursor:default}.crystal-game .lj-royal-login:not([hidden]){display:block;width:auto;margin:-5px 0 0;text-align:center;font-size:12px;color:#c6eedb}.crystal-game .lj-royal-login[hidden]{display:none}
.cave-last-win{display:flex;justify-content:space-between;align-items:center;gap:10px}.cave-last-win>span{margin:0;font-size:8px}.cave-last-win strong{font-size:19px;color:#b7e3cf;font-variant-numeric:tabular-nums}.cave-bonus{margin-top:auto;display:flex;justify-content:space-between;align-items:center;padding:13px;background:#7dabba0b;border:1px solid #8cc6d11c;border-radius:8px;color:#bacfd8;font-size:9px;letter-spacing:1px;text-decoration:none}.cave-bonus small{display:block;color:#7896a4;font-size:10px;letter-spacing:0;margin-top:5px}.cave-bonus b{font-size:20px;color:#9acdc0}
.cave-bottom{display:grid;grid-template-columns:minmax(0,1fr) 286px;gap:18px;margin-top:18px;align-items:start}.cave-hub,.cave-session{min-width:0;border:1px solid #8cc3d327;border-radius:12px;background:#091821e8;overflow:hidden}.cave-tabs{display:flex;gap:22px;padding:0 22px;border-bottom:1px solid #c1e8f11a}.cave-tabs button{background:none;border:0;border-bottom:2px solid transparent;padding:17px 0;color:#849dac;font-size:12px;cursor:pointer}.cave-tabs button[aria-selected=true]{color:#bfe8d7;border-color:#acdcca}
.crystal-game .cave-panel{margin:0;border:0;border-radius:0;background:none;padding:22px;color:#9fb6c3;font-size:12px;line-height:1.7}.crystal-game .cave-panel[hidden]{display:none}.cave-panel>summary{display:none}.cave-guide{display:flex;gap:22px;align-items:center}.crystal-game .cave-prize-art{flex-shrink:0;width:95px;height:95px;background-position:0 0}.cave-guide h2{margin:0;color:#dbebef;font:500 20px/1.3 Georgia,serif}.cave-guide p:not(.cave-kicker){margin:8px 0}.cave-demo{font-size:9px;color:#7796a7}.crystal-game .lj-royal-rules caption{color:#bbdccc}.crystal-game .lj-royal-rules th,.crystal-game .lj-royal-rules td{padding:9px}.crystal-game .royal-history li.is-win strong{color:#b1ddc9}
.cave-session{padding:22px}.cave-session h2{font-size:13px;margin:0 0 20px;color:#d6e5eb;font-weight:600}.cave-session h2 span{display:block;font-size:8px;letter-spacing:1px;color:#718e9f;font-weight:400;margin-top:6px}.cave-session dl{margin:0}.cave-session dl>div{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:14px;font-size:11px}.cave-session dt{color:#8ca7b6}.cave-session dd{margin:0;color:#cadfe8;font-variant-numeric:tabular-nums;text-align:right}.cave-session dl>div:last-child{border-top:1px solid #c3e0ec1a;padding-top:14px}.cave-session dl>div:last-child dd{color:#afd9c7}
.crystal-game .lj-royal-note{color:#7894a4;margin:22px 0 0;font-size:10px}.crystal-game button:focus-visible,.crystal-game a:focus-visible,.crystal-game [tabindex]:focus-visible{outline:2px solid #c3e9cf;outline-offset:4px}.crystal-game.has-win .cave-stage{border-color:#a3dbc178;box-shadow:0 0 30px #a2e3c510}
@media(max-width:1100px){.lj-royal-game.crystal-game{--cave-row:100px}.crystal-game .royal-symbol-art{width:87px;height:87px}.cave-layout,.cave-bottom{grid-template-columns:minmax(0,1fr) 256px}.cave-stage{padding:18px 14px 0}.cave-console{padding:18px}.cave-key{display:none}}
@media(max-width:850px){.cave-layout,.cave-bottom{grid-template-columns:1fr}.cave-console{display:grid;grid-template-columns:1fr 1fr;gap:18px}.cave-console-title{grid-column:1/-1}.cave-balance{border:0;padding:0;align-self:center}.cave-console .cave-stake{grid-column:2;grid-row:2 / span 2}.crystal-game .lj-royal-spin{grid-column:1;grid-row:4}.cave-last-win{grid-column:1;grid-row:3;display:block}.cave-last-win strong{display:block;margin-top:5px}.cave-bonus{grid-column:2;grid-row:4;margin:0}.crystal-game .lj-royal-login:not([hidden]){grid-column:1/-1;margin:0}.cave-session dl{display:grid;grid-template-columns:1fr 1fr;gap:12px 24px}.cave-session dl>div{margin:0}.cave-session dl>div:last-child{border:0;padding:0}.cave-session h2 span{display:inline;margin-left:12px}.cave-heading>p{font-size:11px}.cave-stage{padding-top:20px}.crystal-game .royal-symbol-art{width:100px;height:100px}}
@media(max-width:520px){.lj-royal-game.crystal-game{--cave-row:76px;padding:12px 10px 30px}.cave-topbar{flex-wrap:wrap;gap:12px;padding-bottom:12px}.cave-topbar>a{font-size:11px}.cave-topbar>span{font-size:8px;margin-left:auto}.cave-topbar .royal-tools{width:100%;justify-content:flex-end}.crystal-game .royal-tools button{font-size:10px;padding:7px 10px}.cave-heading{padding:22px 0;display:block}.cave-heading h1{font-size:40px}.cave-heading>p{text-align:left;font-size:11px;margin-top:12px}.cave-heading>p br{display:none}.cave-heading>p span{display:block;font-size:10px}.cave-kicker{font-size:8px;letter-spacing:1.6px}.cave-stage{border-radius:12px;padding:15px 7px 0}.cave-stage-bar{font-size:7px;letter-spacing:.7px;padding:0 5px 14px}.crystal-game .royal-reel-frame{padding-left:18px}.crystal-game .lj-royal-reels{gap:3px;padding:4px}.crystal-game .royal-symbol-art{width:clamp(40px,12vw,61px);height:clamp(40px,12vw,61px)}.cave-stage-footer{min-height:56px;padding:0 6px}.crystal-game .lj-royal-status{font-size:11px}.cave-console{padding:15px;gap:15px 12px}.cave-balance strong{font-size:23px}.cave-balance>span,.cave-stake>label{font-size:8px}.crystal-game .lj-royal-bet{grid-template-columns:28px minmax(0,1fr) 28px;padding:4px;gap:2px}.crystal-game .lj-royal-bet button{width:28px;height:34px}.crystal-game .lj-royal-bet strong{font-size:13px}.cave-last-win strong{font-size:17px}.cave-bonus{padding:9px;letter-spacing:.6px}.cave-bonus small{font-size:9px}.cave-tabs{padding:0 15px;gap:20px}.cave-tabs button{font-size:11px}.crystal-game .cave-panel{padding:18px 15px}.cave-guide{gap:10px;align-items:flex-start}.crystal-game .cave-prize-art{width:60px;height:60px}.cave-guide h2{font-size:18px}.cave-guide p:not(.cave-kicker){font-size:11px}.cave-session{padding:18px 15px}.cave-session dl{gap:14px}.cave-session dl>div{display:block;font-size:10px}.cave-session dd{text-align:left;margin-top:6px;font-size:13px}.crystal-game .royal-history li{font-size:10px}}
@media(prefers-reduced-motion:reduce){.crystal-game *{scroll-behavior:auto}}
