/* Approved rounded-K identity. Presentation only; no game or session logic changes. */
:root{--bg:#111c29;--surface:#192939;--raised:#22374a;--accent:#37e7c1;--positive:#8df4bf;--brand-cyan:#10c9f5;--brand-mint:#29f1ad}
#app{position:relative;z-index:1}
.brand{width:178px;height:48px;flex:none;display:block;font-size:0!important;letter-spacing:0;background:url('/brand/05/logo.svg') left center/contain no-repeat}
.brand>span{display:none!important}
.footer-wordmark{display:block;width:134px;height:36px;font-size:0!important;background:url('/brand/05/logo.svg') left center/contain no-repeat}
.footer-wordmark small{display:none}
.balance-coin{font-size:0;background:url('/brand/05/mark.svg') center/contain no-repeat;border-radius:0;width:18px;height:22px}
.topbar{background:#0c1722;border-bottom-color:#224559}
.topbar::after{content:"";position:absolute;bottom:-1px;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent 6%,#12cffa 35%,#28efb6 65%,transparent 94%);opacity:.65;pointer-events:none}
.sidebar{background:#0e1925;border-right-color:#243a4c}
.sidebar nav a.active{background:#173c40;color:#80ffe0;box-shadow:inset 3px 0 #27eac0}
.top-nav .selected{border-color:#27eac0}.mobile-nav a.active{color:#71ffdb}
.search-box:focus-within{border-color:#24dcd6}.balance-button{border-color:#35657a;background:#173043}
.brand-atmosphere{position:fixed;inset:var(--header) 0 0 var(--sidebar);pointer-events:none;overflow:hidden;z-index:0}
.brand-pattern{position:absolute;inset:-260px;background:url('/brand/05/pattern.svg') 0 0/240px 240px repeat;opacity:.055;transform:translate3d(-55px,-35px,0) rotate(-16deg);animation:kf-pattern-drift 52s linear infinite alternate;will-change:transform}
.brand-spotlight{position:absolute;right:-85px;top:12%;width:430px;height:480px;background:url('/brand/05/mark.svg') center/contain no-repeat;opacity:.035;transform:rotate(-12deg)}
@keyframes kf-pattern-drift{from{transform:translate3d(-55px,-35px,0) rotate(-16deg)}to{transform:translate3d(65px,65px,0) rotate(-16deg)}}
.feature-banner{background:linear-gradient(118deg,#17c9f3 0%,#3ae9ce 70%,#7affc1 100%);border-color:#78ffe5;color:#072d3e;isolation:isolate}
.feature-copy h2{color:#082d3e}.feature-copy p{color:#154351}.feature-copy .badge{background:#d2fffa;color:#15404e;border-color:#08526930}
.feature-copy>.button{background:#092737;color:#f0fffc;border-color:#092737;position:relative;overflow:hidden}
.feature-copy>.button:hover{background:#103e4e}
.feature-copy>.button::after{content:"";position:absolute;inset:-20px auto -20px -70px;width:36px;background:linear-gradient(90deg,transparent,#ffffff28,transparent);transform:skewX(-20deg);animation:kf-button-sheen 8s ease-in-out infinite;pointer-events:none}
@keyframes kf-button-sheen{0%,78%{translate:0 0}100%{translate:360px 0}}
.feature-graphic{background:none;perspective:700px;overflow:visible}
.feature-graphic::before{content:"";position:absolute;left:50%;top:45%;width:144px;height:144px;border-radius:32px;border:1px solid #a5ffee;background:url('/brand/05/mark.svg') center/70% 78% no-repeat,linear-gradient(135deg,#183d52,#071420);box-shadow:7px 5px 0 #116d80,12px 9px 0 #0c394c,4px 30px 28px -10px #06304c70;transform:translate(-50%,-50%) rotateY(-18deg) rotateX(8deg) rotateZ(-9deg);animation:kf-emblem-float 7s ease-in-out infinite;will-change:transform}
@keyframes kf-emblem-float{0%,100%{transform:translate(-50%,-50%) rotateY(-18deg) rotateX(8deg) rotateZ(-9deg)}50%{transform:translate(-50%,-56%) rotateY(14deg) rotateX(-5deg) rotateZ(4deg)}}
.feature-graphic::after{content:"";position:absolute;left:50%;top:79%;width:116px;height:12px;border-radius:50%;background:#0b556840;filter:blur(5px);transform:translateX(-50%)}
.graphic-caption{color:#103e4b;z-index:2}.session-card{background:linear-gradient(135deg,#1a3246,#172637);border-color:#355b70}.session-card .text-link{color:#7effdc}
.tile-eyebrow::before{content:"";display:inline-block;vertical-align:-2px;width:10px;height:11px;margin-right:5px;background:var(--ink);mask:url('/brand/05/mark-mono.svg') center/contain no-repeat;-webkit-mask:url('/brand/05/mark-mono.svg') center/contain no-repeat}
@media(hover:hover) and (pointer:fine){.game-link:hover{transform:perspective(900px) translateY(-4px) rotateX(3deg) rotateY(-2deg);box-shadow:0 12px 22px -12px #030b16;border-color:#62e8d6}.brand:hover{filter:brightness(1.1)}}
@media(max-width:1050px) and (min-width:761px){.brand{width:160px}}
@media(max-width:760px){.brand{width:147px;height:42px}.brand-atmosphere{left:0}.brand-pattern{opacity:.04;animation-duration:70s}.brand-spotlight{width:260px;height:300px;right:-80px}.feature-graphic::before{width:107px;height:107px;border-radius:25px}.feature-graphic::after{width:84px}.footer-wordmark{width:122px;height:33px}}
@media(max-width:359px){.brand{width:127px}.feature-graphic::before{width:87px;height:87px;border-radius:20px}}
@media(prefers-reduced-motion:reduce){.brand-pattern,.feature-graphic::before,.feature-copy>.button::after{animation:none!important;will-change:auto}.brand-pattern{transform:rotate(-16deg)}.feature-graphic::before{transform:translate(-50%,-50%) rotateZ(-6deg)}.feature-copy>.button::after{display:none}.game-link:hover{transform:none}}
html.reduce-motion .brand-pattern,html.reduce-motion .feature-graphic::before,html.reduce-motion .feature-copy>.button::after{animation:none!important;will-change:auto}html.reduce-motion .feature-graphic::before{transform:translate(-50%,-50%) rotateZ(-6deg)}html.reduce-motion .feature-copy>.button::after{display:none}html.reduce-motion .game-link:hover{transform:none}

/* Stable still frames and compact mobile feature composition. */
@media(max-width:760px){.feature-banner{min-height:248px}.feature-copy{flex:none;width:72%;padding:23px 20px}.feature-copy h2{font-size:26px;line-height:1.12}.feature-copy p{max-width:180px}.feature-graphic{position:absolute;inset:0 0 0 auto;width:28%;min-width:0}.feature-graphic::before{width:88px;height:88px;left:43%;top:46%;border-radius:22px}.feature-graphic::after{width:66px;left:43%;top:69%}.graphic-caption{display:none}}
@media(max-width:359px){.feature-copy{width:72%;padding:20px 16px}.feature-copy h2{font-size:23px}.feature-copy p{font-size:10px}.feature-graphic::before{width:73px;height:73px;border-radius:19px}}

/* Sensory feedback polish */
.flip-action{position:relative;overflow:hidden;box-shadow:0 8px 24px -14px #20e6c8}
.flip-action::before{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 25%,#fff5 48%,transparent 70%);transform:translateX(-120%);transition:transform .45s ease}
.flip-action:hover::before{transform:translateX(120%)}
.flip-action:active{transform:translateY(1px) scale(.995)}
.coin-stage::before{content:"";position:absolute;width:160px;height:160px;border-radius:50%;background:radial-gradient(circle,#28efb52c 0,transparent 66%);filter:blur(8px);animation:kf-pulse 2.8s ease-in-out infinite}
@keyframes kf-pulse{50%{transform:scale(1.16);opacity:.6}}
@media(prefers-reduced-motion:reduce){.coin-stage::before{animation:none}.flip-action::before{display:none}}
html.reduce-motion .coin-stage::before{animation:none}html.reduce-motion .flip-action::before{display:none}

/* Session entrance and richer arcade-card depth */
.session-loader{position:fixed;inset:0;z-index:9999;background:#0b1722;display:grid;place-items:center;align-content:center;gap:20px;transition:opacity .38s ease,visibility .38s ease}.session-loader.done{opacity:0;visibility:hidden}.session-loader>span{font-size:12px;font-weight:850;letter-spacing:.42em;color:#eefcff;margin-left:.42em}.session-loader>span small{font:inherit;color:#38e8c1}.loader-mark{position:relative;width:92px;height:92px;filter:drop-shadow(0 16px 24px #03bff42c);animation:kf-loader-float 1.3s ease-in-out infinite}.loader-mark i,.loader-mark b,.loader-mark em{position:absolute;display:block}.loader-mark i{left:10px;top:8px;width:23px;height:76px;border-radius:14px;background:linear-gradient(#25dff9,#0789fa);animation:kf-stem .7s cubic-bezier(.2,.8,.2,1) both}.loader-mark b{left:39px;top:13px;width:43px;height:31px;border-radius:4px 22px 4px 22px;background:#32f1b2;transform:skewY(-12deg);animation:kf-arm .72s .08s cubic-bezier(.2,.8,.2,1) both}.loader-mark em{left:39px;top:44px;width:44px;height:35px;border-radius:22px 4px 22px 4px;background:linear-gradient(135deg,#0d91ff,#20d6ef);transform:skewY(12deg);animation:kf-arm .72s .15s cubic-bezier(.2,.8,.2,1) both}.loader-line{width:128px;height:2px;background:#17384a;border-radius:3px;overflow:hidden}.loader-line i{display:block;width:45%;height:100%;background:linear-gradient(90deg,#0bcdf8,#36f0b6);animation:kf-loadline .9s ease-in-out infinite}.tile-art{isolation:isolate}.tile-art::after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 68% 25%,#fff7,transparent 16%),linear-gradient(145deg,#fff2 0,transparent 34%,#0002 100%);mix-blend-mode:soft-light;pointer-events:none}.game-link:hover .tile-art{transform:translateZ(0) scale(1.018)}.game-card:nth-child(3n+1) .tile-art{box-shadow:inset 0 -34px 60px #0716221f}.game-card:nth-child(3n+2) .tile-art{box-shadow:inset 30px -24px 70px #13103320}.game-card:nth-child(3n) .tile-art{box-shadow:inset -30px -24px 70px #27111b20}
@keyframes kf-loader-float{50%{transform:translateY(-5px)}}@keyframes kf-stem{from{opacity:0;transform:translateY(18px) scaleY(.4)}to{opacity:1;transform:none}}@keyframes kf-arm{from{opacity:0;transform:translateX(-18px) scale(.5)}to{opacity:1}}@keyframes kf-loadline{0%{transform:translateX(-110%)}100%{transform:translateX(260%)}}@media(prefers-reduced-motion:reduce){.loader-mark,.loader-mark i,.loader-mark b,.loader-mark em,.loader-line i{animation:none}.session-loader{transition:none}}html.reduce-motion .loader-mark,html.reduce-motion .loader-mark i,html.reduce-motion .loader-mark b,html.reduce-motion .loader-mark em,html.reduce-motion .loader-line i{animation:none}
