.kx-page{--kx-card:#fff;--kx-soft:var(--color-bg-soft);--kx-tray:#dfe5ec;--kx-tray2:#cfd7e1;--kx-tile:#fdfdfe;--kx-tile2:#eef1f5;--kx-ink:#16202c;--kx-edge:#b9c3cf;--kx-acc:#1d6fa5;--kx-gold1:#ffe9a8;--kx-gold2:#ffd166;--kx-gold-ink:#5a3b00;--kx-gold-edge:#d69e00;--kx-chip:rgba(22,32,44,.06);--kx-shadow:0 22px 48px -30px rgba(10,30,60,.45);--kx-focus:#b20000;--kx-spring:linear(0,.009,.035 2.1%,.141,.281 6.7%,.723 12.9%,.938 16.7%,1.017,1.077,1.121,1.149 24.3%,1.159,1.163,1.161,1.154 29.9%,1.129 32.8%,1.051 39.6%,1.017 43.1%,.991,.977 51%,.974 53.8%,.975 57.1%,.997 69.8%,1.003 76.9%,1);--kx-out:cubic-bezier(.2,.8,.2,1)}
html[data-theme="dark"] .kx-page{--kx-card:#161618;--kx-soft:#202024;--kx-tray:#1b1f25;--kx-tray2:#14171c;--kx-tile:#2d333c;--kx-tile2:#252a32;--kx-ink:#eef1f5;--kx-edge:#0d0f12;--kx-acc:#6cb4ee;--kx-chip:rgba(255,255,255,.07);--kx-shadow:none;--kx-focus:#ff7b80}
.kx-page [hidden]{display:none!important}
.kx-sr{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.kx-page button,.kx-page select{font-family:inherit}
.kx-page button:focus-visible,.kx-page select:focus-visible{outline:2px solid var(--kx-focus);outline-offset:2px}

.kx-hero{background:linear-gradient(180deg,var(--color-bg-soft) 0%,var(--color-bg-soft) 70%,var(--color-bg) 100%);padding:22px 0 34px;border-bottom:1px solid var(--color-hairline)}
.kx-title{max-width:880px;margin:0 0 18px}
.kx-eyebrow{margin:0 0 8px;font-size:12px;font-weight:800;letter-spacing:.08em;color:var(--color-brand)}
.kx-title h1{margin:0 0 8px;font-size:clamp(34px,3.2vw,50px);line-height:1;letter-spacing:-.025em;font-weight:900;color:var(--color-ink)}
.kx-sub{margin:0;font-size:15.5px;line-height:1.5;color:var(--color-muted);text-wrap:pretty}

.kx-card{position:relative;isolation:isolate;background:var(--kx-card);border:1px solid var(--color-border);border-radius:26px;box-shadow:var(--kx-shadow);overflow:clip}
.kx-card--off{padding:40px 24px}
.kx-off{margin:0;font-size:16px;color:var(--color-muted);text-align:center}

.kx-tabs{position:relative;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-bottom:1px solid var(--color-hairline);--t:0}
.kx-card[data-mode="free"] .kx-tabs{--t:1}
.kx-tab{display:flex;align-items:center;justify-content:center;gap:8px;min-width:0;min-height:56px;padding:6px 10px;border:0;background:transparent;color:var(--color-muted);font-size:15.5px;font-weight:800;cursor:pointer;transition:color .2s}
.kx-tab span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.kx-tab b{flex:0 0 auto;padding:3px 8px;border-radius:999px;background:color-mix(in oklch,var(--kx-acc) 14%,transparent);color:var(--kx-acc);font-size:13px;font-weight:900;font-variant-numeric:tabular-nums}
.kx-tab[aria-selected="true"],.kx-tab:hover{color:var(--color-ink)}
.kx-tabs__ink{position:absolute;left:0;bottom:-1px;width:50%;height:3px;border-radius:3px 3px 0 0;background:linear-gradient(90deg,#1d6fa5,#0f9d8a,#e8590c,#c2255c);transform:translateX(calc(var(--t) * 100%));transition:transform .7s var(--kx-spring)}

.kx-game{--n:11;display:grid;grid-template-columns:minmax(0,clamp(440px,calc(100svh - 300px),640px)) minmax(0,1fr);grid-template-areas:"head head" "play side";gap:20px 34px;padding:22px 26px 28px;align-items:start}
.kx-head{grid-area:head;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:14px 22px;align-items:center}
.kx-thumb{display:block;width:108px;height:108px;border-radius:24px;object-fit:cover;box-shadow:0 18px 30px -18px rgba(13,40,80,.6),0 0 0 4px var(--kx-card);background:var(--kx-soft)}
.kx-head__t{min-width:0}
.kx-kick{margin:0 0 6px;font-size:12px;font-weight:800;letter-spacing:.1em;color:var(--color-brand);font-variant-numeric:tabular-nums}
.kx-theme{margin:0;font-size:clamp(26px,2.6vw,40px);line-height:1.05;font-weight:900;letter-spacing:-.025em;color:var(--color-ink);text-wrap:balance}
.kx-hsub{margin:8px 0 0;font-size:15px;line-height:1.45;color:var(--color-muted)}
.kx-hsub b{color:var(--color-ink)}
.kx-ctl{display:grid;gap:10px;justify-items:end}
.kx-lv{display:flex;gap:4px;padding:4px;border-radius:16px;background:var(--kx-chip)}
.kx-lv button{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:86px;min-height:48px;padding:4px 12px;border:0;border-radius:12px;background:transparent;color:var(--color-muted);font-size:14.5px;font-weight:800;line-height:1.1;cursor:pointer;transition:background-color .2s,color .2s,box-shadow .2s}
.kx-lv button small{font-size:11.5px;font-weight:700;opacity:.8;font-variant-numeric:tabular-nums}
.kx-lv button:hover{color:var(--color-ink)}
.kx-lv button[aria-pressed="true"]{background:var(--kx-card);color:var(--color-ink);box-shadow:0 1px 0 rgba(255,255,255,.7) inset,0 3px 0 var(--kx-edge),0 8px 16px -10px rgba(10,30,60,.5)}
.kx-pick{display:flex;align-items:center;gap:10px;min-height:44px;padding:0 6px 0 14px;border-radius:14px;background:var(--kx-chip)}
.kx-pick__k{font-size:11px;font-weight:800;letter-spacing:.08em;color:var(--color-meta)}
.kx-pick select{min-width:0;max-width:260px;min-height:36px;padding:0 30px 0 10px;border:0;border-radius:10px;background:var(--kx-card) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' fill='none' stroke='%23888' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M1 1.5 6 6.5l5-5'/%3E%3C/svg%3E") no-repeat right 10px center;color:var(--color-ink);font-size:15px;font-weight:800;appearance:none;-webkit-appearance:none;cursor:pointer;box-shadow:0 2px 0 var(--kx-edge)}

.kx-play{grid-area:play;min-width:0}
.kx-bar{display:flex;align-items:center;gap:12px;margin:0 0 12px;font-variant-numeric:tabular-nums}
.kx-time{display:flex;align-items:center;gap:7px;min-width:72px;font-size:16px;font-weight:800;color:var(--color-ink)}
.kx-prog{flex:1;height:10px;border-radius:99px;background:var(--kx-chip);overflow:hidden}
.kx-prog i{display:block;height:100%;width:var(--p,0%);border-radius:inherit;background:linear-gradient(90deg,#1d6fa5,#0f9d8a,#e8590c,#c2255c);transition:width .6s var(--kx-spring)}
.kx-cnt{min-width:44px;font-size:15px;font-weight:800;text-align:right;color:var(--color-ink)}
.kx-hint{display:flex;align-items:center;gap:7px;min-height:40px;padding:0 14px;border:1px solid var(--color-border);border-radius:14px;background:var(--kx-card);color:var(--color-ink);font-size:14px;font-weight:800;cursor:pointer;box-shadow:0 2px 0 var(--color-border);transition:transform .15s,box-shadow .15s}
.kx-hint:active{transform:translateY(2px);box-shadow:0 0 0 var(--color-border)}
.kx-hint:disabled{opacity:.5;cursor:default}

.kx-board{position:relative;container-type:inline-size;aspect-ratio:1;padding:10px;border-radius:26px;background:linear-gradient(160deg,var(--kx-tray),var(--kx-tray2));box-shadow:inset 0 2px 8px rgba(0,0,0,.18),inset 0 -2px 0 rgba(255,255,255,.4),0 30px 50px -36px rgba(10,30,60,.5);touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}
.kx-cells{position:absolute;inset:10px;display:grid;grid-template-columns:repeat(var(--n),minmax(0,1fr));grid-template-rows:repeat(var(--n),minmax(0,1fr));gap:min(.9cqi,6px);perspective:900px}
.kx-c{position:relative;z-index:2;display:grid;place-items:center;min-width:0;min-height:0;margin:0;padding:0;border:0;border-radius:min(1.7cqi,12px);background:linear-gradient(180deg,var(--kx-tile),var(--kx-tile2));color:var(--kx-ink);font-size:calc(100cqi / var(--n) * .44);font-weight:800;line-height:1;cursor:pointer;box-shadow:0 1px 0 rgba(255,255,255,.9) inset,0 -2px 0 rgba(0,0,0,.06) inset,0 2.5px 0 var(--kx-edge),0 5px 8px -4px rgba(10,30,60,.35);transition:transform .25s var(--kx-spring),box-shadow .2s,background .2s,color .2s;transform-style:preserve-3d}
html[data-theme="dark"] .kx-c{box-shadow:0 1px 0 rgba(255,255,255,.06) inset,0 2.5px 0 var(--kx-edge),0 5px 8px -4px rgba(0,0,0,.6)}
.kx-c:disabled{cursor:default}
.kx-c:focus-visible{outline:2px solid var(--kx-focus);outline-offset:1px;z-index:3}
.kx-c.sel{transform:translateY(2px) scale(.94);box-shadow:0 0 0 2px var(--color-brand),0 1px 0 var(--kx-edge);background:color-mix(in srgb,var(--color-brand) 12%,var(--kx-tile))}
.kx-c.f{color:#fff;background:var(--c);box-shadow:0 1px 0 rgba(255,255,255,.35) inset,0 2.5px 0 color-mix(in srgb,var(--c) 60%,#000),0 6px 10px -5px color-mix(in srgb,var(--c) 70%,#000);animation:kx-flip .6s var(--kx-spring) both;animation-delay:var(--d,0ms)}
.kx-c.f.q{animation:none}
.kx-c.f.sel{background:color-mix(in srgb,var(--c) 75%,var(--color-brand))}
@keyframes kx-flip{0%{transform:rotateX(0)}45%{transform:rotateX(90deg)}100%{transform:rotateX(0)}}
.kx-c.no{animation:kx-no .42s ease both;background:color-mix(in srgb,#e03131 16%,var(--kx-tile))}
.kx-c.f.no{background:var(--c)}
@keyframes kx-no{20%{transform:translateX(-3px)}40%{transform:translateX(3px)}60%{transform:translateX(-2px)}80%{transform:translateX(2px)}}
.kx-c.left{background:linear-gradient(180deg,var(--kx-gold1),var(--kx-gold2));color:var(--kx-gold-ink);box-shadow:0 2.5px 0 var(--kx-gold-edge),0 8px 12px -6px rgba(120,80,0,.5);animation:kx-rise .7s var(--kx-spring) both}
.kx-c.left.q{animation:none}
@keyframes kx-rise{0%{transform:translateY(0)}40%{transform:translateY(-22%) scale(1.12)}100%{transform:translateY(0)}}
.kx-c.hl{animation:kx-hl 1.1s ease-in-out 2;z-index:3}
@keyframes kx-hl{50%{transform:scale(1.22);box-shadow:0 0 0 3px var(--kx-gold2),0 10px 20px -6px rgba(120,80,0,.6);background:linear-gradient(180deg,var(--kx-gold1),var(--kx-gold2));color:var(--kx-gold-ink)}}
.kx-card.is-load .kx-board,.kx-card.is-load .kx-side{opacity:.5;transition:opacity .2s}
.kx-ov{position:absolute;inset:10px;z-index:3;width:calc(100% - 20px);height:calc(100% - 20px);overflow:visible;pointer-events:none}
.kx-ov line{fill:none;stroke-linecap:round;stroke:var(--color-brand);stroke-width:.86;opacity:.16}

.kx-side{grid-area:side;display:grid;grid-template-columns:minmax(0,1fr);gap:16px;min-width:0}
.kx-box{padding:18px 18px 20px;border:1px solid var(--color-border);border-radius:24px;background:var(--kx-card);box-shadow:0 1px 0 rgba(255,255,255,.7) inset,0 22px 40px -32px rgba(10,30,60,.5)}
.kx-box__h{display:flex;justify-content:space-between;gap:10px;margin:0 0 12px;font-size:12.5px;font-weight:800;letter-spacing:.12em;color:var(--color-meta)}
.kx-words{display:flex;flex-wrap:wrap;gap:7px;margin:0;padding:0;list-style:none}
.kx-words li{flex:1 1 auto;padding:8px 12px;border-radius:12px;background:var(--kx-chip);color:var(--color-ink);font-size:14px;font-weight:800;letter-spacing:.04em;text-align:center;transition:background-color .3s,color .3s}
.kx-words li.on{color:#fff;background:var(--c);animation:kx-pop .5s var(--kx-spring)}
.kx-words li.on.q{animation:none}
@keyframes kx-pop{from{transform:translateY(8px) scale(.6);opacity:0}}
.kx-sol{display:flex;flex-wrap:wrap;gap:10px 14px}
.kx-sol__w{display:flex;flex-wrap:wrap;gap:4px}
.kx-sol__w i{display:grid;place-items:center;width:26px;height:32px;border-radius:9px;background:linear-gradient(160deg,var(--kx-tray),var(--kx-tray2));box-shadow:inset 0 2px 4px rgba(0,0,0,.16),inset 0 -1px 0 rgba(255,255,255,.5);color:var(--kx-ink);font-size:17px;font-style:normal;font-weight:900}
.kx-sol__w i.on{background:linear-gradient(180deg,var(--kx-gold1),var(--kx-gold2));color:var(--kx-gold-ink);box-shadow:0 2px 0 var(--kx-gold-edge);animation:kx-pop .5s var(--kx-spring) both}
.kx-sol__w i.on.q{animation:none}
.kx-sol__h{margin:12px 0 0;font-size:14px;line-height:1.45;color:var(--color-muted)}
.kx-sol__h b{color:var(--color-ink)}

.kx-res{padding:18px 18px 20px;border-radius:24px;background:radial-gradient(120% 120% at 100% 0%,color-mix(in oklch,var(--kx-gold2) 30%,transparent),transparent 60%),var(--kx-card);border:1px solid var(--color-border);text-align:center;animation:kx-up .6s var(--kx-out) both}
@keyframes kx-up{from{opacity:0;transform:translateY(12px)}}
.kx-res__k{margin:0;font-size:12.5px;font-weight:800;letter-spacing:.12em;color:var(--color-meta)}
.kx-res__t{margin:6px 0 2px;font-size:46px;font-weight:900;letter-spacing:-.03em;line-height:1.05;color:var(--color-ink);font-variant-numeric:tabular-nums}
.kx-res__s{margin:0 0 14px;font-size:15px;line-height:1.45;color:var(--color-muted)}
.kx-res__a{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}
.kx-btn{display:inline-flex;align-items:center;gap:8px;min-height:46px;padding:0 18px;border:0;border-radius:16px;background:var(--kx-chip);color:var(--color-ink);font-size:15px;font-weight:800;cursor:pointer;box-shadow:0 3px 0 rgba(0,0,0,.14);transition:transform .15s,box-shadow .15s}
.kx-btn:active{transform:translateY(2px);box-shadow:0 1px 0 rgba(0,0,0,.14)}
.kx-btn--p{background:var(--color-brand);color:#fff;box-shadow:0 3px 0 #7a0000,0 14px 22px -14px var(--color-brand)}
.kx-btn--p:active{box-shadow:0 1px 0 #7a0000}
.kx-res__n{margin:12px 0 0;font-size:14px;color:var(--color-muted)}
.kx-res__n b{color:var(--color-ink);font-variant-numeric:tabular-nums}
.kx-toast{position:absolute;left:50%;bottom:18px;z-index:10;margin:0;padding:10px 16px;border-radius:12px;background:var(--color-ink);color:var(--color-bg);font-size:14px;font-weight:700;transform:translateX(-50%);box-shadow:0 12px 30px -12px rgba(0,0,0,.5);transition:opacity .3s,transform .3s}
@starting-style{.kx-toast{opacity:0;transform:translate(-50%,10px)}}
.kx-nojs{margin:12px 0 0;font-size:15px;color:var(--color-muted)}

.kx-adw{padding-top:22px}
.kx-body{padding-top:30px;padding-bottom:44px}
.kx-h2{margin:0 0 14px;font-size:clamp(22px,2vw,28px);line-height:1.15;font-weight:900;letter-spacing:-.02em;color:var(--color-ink)}
.kx-cols{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:28px 44px;align-items:start}
.kx-how__l{margin:0;padding:0 0 0 22px;display:grid;gap:10px;font-size:16px;line-height:1.55;color:var(--color-text,var(--color-ink))}
.kx-how__l li::marker{font-weight:900;color:var(--color-brand)}
.kx-stats{padding:20px 20px 18px;border:1px solid var(--color-border);border-radius:22px;background:var(--kx-soft)}
.kx-tiles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.kx-tile{display:grid;gap:4px;justify-items:center;padding:12px 6px;border-radius:14px;background:var(--kx-card);text-align:center}
.kx-tile b{font-size:26px;font-weight:900;line-height:1;color:var(--color-ink);font-variant-numeric:tabular-nums}
.kx-tile span{font-size:12px;line-height:1.25;font-weight:700;color:var(--color-muted)}
.kx-lab{margin:16px 0 8px;font-size:11.5px;font-weight:800;letter-spacing:.1em;color:var(--color-meta)}
.kx-best{display:grid;gap:6px;margin:0;padding:0;list-style:none}
.kx-best li{display:flex;justify-content:space-between;align-items:center;padding:9px 12px;border-radius:12px;background:var(--kx-card);font-size:14.5px;font-weight:700;color:var(--color-ink)}
.kx-best b{font-variant-numeric:tabular-nums;font-weight:900}
.kx-note{margin:12px 0 0;font-size:13px;color:var(--color-muted)}

.kx-themes{margin-top:40px}
.kx-themes__s{margin:-6px 0 18px;font-size:15.5px;color:var(--color-muted)}
.kx-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(176px,1fr));gap:16px;margin:0;padding:0;list-style:none}
.kx-tc{display:grid;gap:3px;width:100%;margin:0;padding:8px 8px 12px;border:1px solid var(--color-border);border-radius:20px;background:var(--kx-card);color:var(--color-ink);text-align:left;cursor:pointer;box-shadow:0 1px 0 rgba(255,255,255,.7) inset,0 16px 30px -26px rgba(10,30,60,.55);transition:transform .35s var(--kx-spring),box-shadow .3s,border-color .3s}
.kx-tc img{display:block;width:100%;height:auto;aspect-ratio:4/3;margin:0 0 8px;border-radius:14px;object-fit:cover;background:var(--kx-soft)}
.kx-tc__n{padding:0 4px;font-size:15.5px;font-weight:800;line-height:1.25}
.kx-tc__c{padding:0 4px;font-size:13px;font-weight:700;color:var(--color-muted)}
.kx-tc:hover{transform:translateY(-3px);border-color:color-mix(in srgb,var(--kx-acc) 40%,var(--color-border));box-shadow:0 22px 36px -24px rgba(10,30,60,.55)}
.kx-tc[aria-current="true"]{border-color:var(--kx-acc);box-shadow:0 0 0 2px var(--kx-acc)}
html[data-theme="dark"] .kx-tc img,html[data-theme="dark"] .kx-thumb{filter:brightness(.9)}

@media (max-width:1199px){
.kx-game{grid-template-columns:minmax(0,1fr) minmax(300px,.8fr);padding:20px 20px 24px;gap:18px 26px}
.kx-head{grid-template-columns:auto minmax(0,1fr)}
.kx-ctl{grid-column:1/-1;grid-template-columns:auto auto;justify-content:start;justify-items:start}
}
@media (max-width:899px){
.kx-hero{padding:16px 0 26px}
.kx-title{margin-bottom:14px}
.kx-sub{font-size:15px}
.kx-card{border-radius:22px;margin:0 -6px}
.kx-game{grid-template-columns:minmax(0,1fr);grid-template-areas:"head" "play" "side";padding:16px 14px 18px;gap:14px}
.kx-head{gap:10px 14px}
.kx-thumb{width:72px;height:72px;border-radius:18px;box-shadow:0 12px 22px -14px rgba(13,40,80,.6),0 0 0 3px var(--kx-card)}
.kx-kick{font-size:11px;margin-bottom:4px}
.kx-theme{font-size:clamp(22px,6vw,30px)}
.kx-hsub{font-size:14px;margin-top:6px}
.kx-ctl{grid-template-columns:minmax(0,1fr);justify-items:stretch;gap:8px}
.kx-lv{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
.kx-lv button{min-width:0}
.kx-pick select{max-width:none;flex:1}
.kx-bar{gap:10px;margin-bottom:10px}
.kx-board{padding:7px;border-radius:20px}
.kx-cells{inset:7px;gap:min(.8cqi,5px)}
.kx-ov{inset:7px;width:calc(100% - 14px);height:calc(100% - 14px)}
.kx-box{padding:14px 14px 16px;border-radius:20px}
.kx-words li{padding:7px 10px;font-size:13.5px}
.kx-sol__w i{width:22px;height:28px;font-size:15px;border-radius:7px}
.kx-c{font-size:calc(100cqi / var(--n) * .5)}
.kx-res__t{font-size:40px}
.kx-cols{grid-template-columns:minmax(0,1fr)}
.kx-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}
.kx-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.kx-tc{border-radius:16px;padding:6px 6px 10px}
.kx-tc img{border-radius:11px}
.kx-tc__n{font-size:14.5px}
}
@media (max-width:420px){
.kx-tab{font-size:14.5px}
.kx-hint span{display:none}
.kx-hint{padding:0 11px}
}
@media (prefers-reduced-motion:reduce){
.kx-page *,.kx-page *::before,.kx-page *::after{animation-duration:.01ms!important;animation-delay:0ms!important;transition-duration:.01ms!important}
}
