.kp-game{width:100%;min-height:100%;padding:12px 12px max(18px, env(safe-area-inset-bottom));color:#e7efff;background:radial-gradient(at 45% 0,#293654,#0c1425 75%)}.kp-heading{justify-content:space-between;align-items:center;gap:12px;max-width:1100px;margin:0 auto 12px;display:flex}.kp-heading a{color:#c8d7ed;align-items:center;min-height:44px;font-size:14px;display:inline-flex}.kp-heading h1{text-align:right;font-size:22px;font-weight:850;line-height:1.2}.kp-heading h1 small{letter-spacing:.16em;color:#dfc58e;margin-bottom:4px;font-size:10px;display:block}.kp-layout{grid-template-columns:minmax(0,640px) minmax(230px,310px);justify-content:center;align-items:center;gap:24px;max-width:1100px;margin:auto;display:grid}.kp-play,.kp-controls{min-width:0}.kp-hud{color:#c9d8e9;justify-content:space-between;align-items:center;gap:8px;margin:0 0 10px;font-size:15px;display:flex}.kp-hud>span,.kp-hud strong{align-items:center;gap:5px;display:flex}.kp-hud strong{color:#ffe9ac;font-variant-numeric:tabular-nums;font-size:24px}.kp-game svg{flex-shrink:0}.kp-hud svg,.kp-buttons svg,.kp-key svg,.kp-panel button svg{width:20px;height:20px}.kp-hud .kp-urgent{color:#ffb388;animation:.7s ease-in-out infinite alternate kp-pulse}.kp-board{aspect-ratio:1;isolation:isolate;touch-action:manipulation;background:radial-gradient(at 50% 40%,#233452,#0a1224);border:2px solid #617293;border-radius:16px;width:100%;position:relative;overflow:hidden;box-shadow:0 12px 36px #0008,inset 0 0 30px #020816}.kp-grid{grid-template:repeat(8,minmax(0,1fr))/repeat(8,minmax(0,1fr));display:grid;position:absolute;inset:0}.kp-square{color:#fce6a0;touch-action:manipulation;background:#1e2c4344;border:1px solid #758aa315;border-radius:4px;place-items:center;min-width:0;min-height:0;padding:0;display:grid;position:relative}.kp-square.is-legal:after{content:"";background:#8affdf;border-radius:50%;width:15%;height:15%;position:absolute;bottom:6px}.kp-square.is-invalid{border-color:#ffb491;animation:.35s lg-nudge}.kp-square:disabled{opacity:1}.kp-square:focus-visible,.kp-buttons button:focus-visible,.kp-panel button:focus-visible{outline-offset:-3px;outline:3px solid #fff0bc}.kp-square>svg{filter:drop-shadow(0 0 6px #e8c16966);width:45%;height:45%}.kp-square>.kp-clock{color:#ffdf82}.kp-square>.kp-gem{color:#d2a0ff;fill:#954ee899}.kp-knight{z-index:3;pointer-events:none;filter:drop-shadow(0 4px 3px #020816aa);width:12.5%;height:12.5%;padding:.8%;position:absolute}.kp-knight .match-crystal{width:100%;height:100%}.kp-knight.is-jumping{animation:.34s ease-out both kp-jump}.kp-trail{z-index:2;pointer-events:none;opacity:.85;width:100%;height:100%;animation:1.8s ease-out forwards kp-trail;position:absolute;inset:0}.kp-trail polyline{fill:none;stroke:#ffe6a2;stroke-width:1px;stroke-dasharray:2 1;stroke-linejoin:round;filter:drop-shadow(0 0 1px #ffe6a2)}.kp-overlay{z-index:4;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#071020b8;align-items:center;padding:14px;display:grid;position:absolute;inset:0}.kp-panel{text-align:center;background:linear-gradient(145deg,#263653,#111b30);border:1px solid #c9aa6f;border-radius:16px;width:100%;max-width:370px;margin:auto;padding:20px 16px;box-shadow:0 10px 30px #0008}.kp-panel h2{color:#ffe7ab;margin:0 0 10px;font-size:clamp(18px,3vw,26px);font-weight:850;line-height:1.2}.kp-panel p{color:#d0ddf0;margin:8px 0;font-size:15px;line-height:1.45}.kp-panel button{color:#192138;background:linear-gradient(110deg,#ecd397,#b68b42);border:1px solid #ffe8b2;border-radius:11px;justify-content:center;align-items:center;gap:8px;width:100%;min-height:48px;margin:12px auto 0;padding:10px 14px;font-size:17px;font-weight:800;display:flex}.kp-panel .kp-stars{color:#ffe4a1;letter-spacing:5px;font-size:26px}.kp-objective{color:#f4dfb1;margin-bottom:20px;font-size:22px;font-weight:800;line-height:1.3}.kp-stats{color:#c8d7ed;justify-content:space-between;gap:10px;margin:14px 0;font-size:14px;display:flex}.kp-message{color:#d7e5f5;min-height:54px;margin:12px 0;font-size:16px;line-height:1.5}.kp-buttons{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;display:grid}.kp-buttons button{color:#eef1fa;background:#293956;border:1px solid #8297bc66;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:4px;min-height:60px;padding:8px 4px;font-size:13px;display:flex}.kp-buttons button[aria-pressed=true]{color:#ffe6a7;border-color:#e2c180}.kp-buttons button:disabled{opacity:.5}.kp-key{color:#dfc58e;align-items:center;gap:8px;margin-top:18px;font-size:13px;display:flex}.kp-note{color:#a9bdd8;margin-top:12px;font-size:13px;line-height:1.5}@keyframes kp-jump{0%{transform:translate(var(--jump-x), var(--jump-y))}60%{transform:translate(var(--mid-x), var(--mid-y)) scale(1.15)}to{transform:translate(0)}}@keyframes kp-trail{0%,50%{opacity:.85}to{opacity:0}}@keyframes kp-pulse{to{opacity:.65}}@media (width<=699px) and (orientation:portrait){.kp-game{padding:8px 4px 18px}.kp-heading{margin-bottom:8px;padding:0 8px}.kp-heading h1{font-size:20px}.kp-layout{grid-template-columns:minmax(0,1fr);gap:14px}.kp-hud{padding:0 8px;font-size:14px}.kp-controls{padding:0 10px}.kp-objective{margin-bottom:12px;font-size:17px}.kp-panel{padding:16px 12px}.kp-panel p{font-size:14px}.kp-square.is-platform{border-width:1px;border-radius:6px;margin:2px}}@media (orientation:landscape) and (height<=650px){.kp-game{padding:4px 12px 10px}.kp-heading{margin-bottom:4px}.kp-heading h1{font-size:18px}.kp-layout{grid-template-columns:minmax(0,min(55vw,max(280px,100dvh - 230px))) minmax(220px,310px);align-items:start;gap:14px}.kp-hud{margin-bottom:4px;font-size:12px}.kp-hud strong{font-size:18px}.kp-panel{padding:10px}.kp-panel p{margin:4px 0;font-size:12px}.kp-panel h2{margin-bottom:4px;font-size:16px}.kp-panel button{min-height:44px;margin-top:6px;font-size:14px}}@media (prefers-reduced-motion:reduce){.kp-knight.is-jumping,.kp-trail,.kp-hud .kp-urgent{animation:none}.kp-trail{opacity:.5}}.kp-hud .kp-time{justify-items:center;gap:1px;display:grid}.kp-time>small{color:#c8d7ed;letter-spacing:.04em;font-size:10px;font-weight:600}.kp-clock-face{align-items:center;gap:5px;display:flex}.kp-time-bonus{animation:.7s ease-out kp-clock-bonus}@keyframes kp-clock-bonus{25%{color:#a0ffdc;transform:scale(1.12)}}@media (prefers-reduced-motion:reduce){.kp-time-bonus{animation:none}}.kp-game{padding:6px 6px max(12px, env(safe-area-inset-bottom))}.kp-heading{max-width:none;margin-bottom:4px}.kp-heading h1 small{display:none}.kp-layout{grid-template-columns:minmax(0,1fr) minmax(250px,310px);align-items:start;gap:18px;max-width:none}.kp-play{justify-self:center;width:100%;max-width:calc(100dvh - 195px)}.kp-board{background:#14213b;border:3px solid #617293;box-shadow:0 0 0 1px #a8b9df55,0 10px 40px #0006,inset 0 2px 15px #0009}.kp-square{background:#263652;border:1px solid #7792b129;border-radius:5px;margin:1px}.kp-square.is-dark{background:#17253f}.kp-square.is-platform{background:linear-gradient(145deg,#354968,#243653);border:1px solid #9fb1cc88;border-radius:5px;margin:1px;box-shadow:inset 0 2px 6px #bce1ff20}.kp-square.is-platform.is-dark{background:linear-gradient(145deg,#243854,#152640)}.kp-square.is-legal{border-color:#8df0d4;box-shadow:inset 0 0 0 1px #8df0d4,0 0 8px #64e6bd40}.kp-square.is-finish{background:linear-gradient(145deg,#5f4c2e,#2a3542);border-color:#ffe4a1}.kp-pickup{pointer-events:none;filter:drop-shadow(0 3px 4px #0008);place-items:center;width:86%;height:86%;display:grid}.kp-pickup .match-crystal{width:100%;height:100%}.kp-knight{padding:0}.kp-knight .match-crystal{filter:drop-shadow(0 2px 3px #0008)}.kp-reward{margin:12px 0;font-size:16px;font-weight:800;color:#f2d58b!important}.kp-server-error{border:1px solid #e2b47c;border-radius:9px;padding:10px}.kp-server-error button{background:#293956;border:1px solid #8297bc;border-radius:8px;min-height:44px;margin-top:6px;padding:8px 12px}@media (width<=699px) and (orientation:portrait){.kp-game{padding:2px 2px max(12px, env(safe-area-inset-bottom))}.kp-layout{grid-template-columns:minmax(0,1fr);gap:10px}.kp-play{max-width:none}.kp-heading{margin-bottom:0;padding:0 6px}.kp-heading h1{font-size:19px}.kp-hud{margin-bottom:4px}.kp-controls{padding:0 8px}.kp-objective{margin-bottom:8px;font-size:16px}.kp-stats{margin:8px 0}.kp-message{min-height:0;margin:8px 0}.kp-game .chess-coordinate-frame{grid-template-rows:auto 16px;grid-template-columns:16px minmax(0,1fr);gap:1px}}@media (orientation:landscape) and (height<=650px){.kp-layout{grid-template-columns:minmax(0,min(60vw,max(280px,100dvh - 185px))) minmax(220px,310px)}.kp-play{max-width:none}}
