:root{--kr-night:#17345d;--kr-night-2:#2559a7;--kr-panel:#2563c7;--kr-cream:#fffaf0;--kr-ink:#16324f;--kr-cyan:#31d6d8;--kr-cyan-dark:#087782;--kr-purple:#7651d6;--kr-blue:#2678ea;--kr-orange:#ff914d;--kr-orange-dark:#bd4a17;--kr-yellow:#ffd85a;--kr-green:#27b878;--kr-red:#ed5f67;--kr-key-face:#eef7f4;--kr-key-edge:#a7c3c1;--kr-unit:clamp(2rem, 3.4vw, 3.2rem);--kr-gap:clamp(.18rem, .35vw, .34rem)}*{box-sizing:border-box}html{background:#7edce8}body:has(.kr-app){color:var(--kr-ink);background:#7edce8;margin:0;font-family:Trebuchet MS,Segoe UI,Arial,sans-serif}.kr-app{min-height:100vh;color:var(--kr-ink);background:radial-gradient(circle at 86% 8%,#ffd85a94,#0000 22rem),radial-gradient(circle at 8% 62%,#ffffff85,#0000 26rem),linear-gradient(#ffffff29 1px,#0000 1px) 0 0/32px 32px,linear-gradient(90deg,#ffffff29 1px,#0000 1px) 0 0/32px 32px,linear-gradient(145deg,#8ce6eb,#62cddd 58%,#8cdef1);overflow-x:hidden}.kr-app button,.kr-app a{font:inherit}.kr-app button{touch-action:manipulation}.kr-app button:focus-visible{outline:4px solid var(--kr-yellow);outline-offset:3px}.kr-app a:focus-visible{outline:4px solid var(--kr-yellow);outline-offset:3px}.kr-keyboard-scroll:focus-visible{outline:4px solid var(--kr-yellow);outline-offset:3px}.kr-topbar{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:linear-gradient(90deg,#533bb1f5,#1f70dbf0);border-bottom:1px solid #ffffff61;justify-content:space-between;align-items:center;gap:1rem;min-height:68px;padding:.75rem clamp(1rem,4vw,3.5rem);display:flex}.kr-brand{color:#fff;letter-spacing:.01em;cursor:pointer;background:0 0;border:0;align-items:center;gap:.75rem;padding:0;font-size:1.1rem;text-decoration:none;display:inline-flex}.kr-brand strong{color:var(--kr-yellow)}.kr-brand-mark{width:38px;height:38px;color:var(--kr-night);background:var(--kr-yellow);border:2px solid #fff;border-radius:10px;place-items:center;font-weight:950;display:grid;box-shadow:0 4px #a66b18,0 0 24px #ffd85a4d}.kr-top-actions{align-items:center;gap:.65rem;display:flex}.kr-sound,.kr-arcade-link{color:#fff;cursor:pointer;background:#ffffff0f;border:1px solid #ffffff4d;border-radius:999px;min-height:40px;padding:.55rem .85rem;text-decoration:none}.kr-sound:hover,.kr-arcade-link:hover{border-color:var(--kr-cyan);background:#5ce1e624}.kr-menu{grid-template-columns:minmax(0,.8fr) minmax(520px,1.2fr);align-items:center;gap:clamp(2rem,7vw,6rem);width:min(1180px,100% - 2rem);min-height:calc(100vh - 69px);margin:0 auto;padding:clamp(2.5rem,7vw,6.5rem) 0;display:grid}.kr-kicker{color:#593ab9;letter-spacing:.16em;text-transform:uppercase;margin:0 0 .65rem;font-size:.78rem;font-weight:900}.kr-menu h1,.kr-game h1{letter-spacing:-.065em;margin:0;font-size:clamp(3.8rem,8vw,7.6rem);line-height:.86}.kr-menu h1 span{color:#d94f24;display:block}.kr-intro{color:#214b63;max-width:38rem;margin:1.6rem 0 2rem;font-size:1.1rem;line-height:1.65}.kr-howto{gap:.75rem;display:grid}.kr-howto span{color:#173d58;align-items:center;gap:.8rem;font-weight:700;display:flex}.kr-howto b{border:2px solid var(--kr-purple);color:#5032ac;background:#ffffff94;border-radius:50%;place-items:center;width:2rem;height:2rem;display:grid}.kr-mode-panel{background:linear-gradient(145deg,#ffffffb8,#e0fafad1);border:2px solid #ffffffb3;border-radius:26px;padding:clamp(1rem,2.5vw,1.8rem);box-shadow:0 24px 60px #15486538,inset 0 1px #fffc}.kr-panel-label{color:#244e6d;margin:0 0 1rem;font-weight:900}.kr-mode-grid{grid-template-columns:repeat(2,1fr);gap:.85rem;display:grid}.kr-mode-card{min-height:210px;color:var(--kr-ink);background:var(--kr-cream);text-align:left;cursor:pointer;border:2px solid #ffffff17;border-radius:18px;grid-template-columns:1fr auto;align-content:start;gap:.35rem;padding:1.25rem;transition:transform .18s,box-shadow .18s,border-color .18s;display:grid;box-shadow:0 7px #00000038}.kr-mode-card:hover{border-color:var(--kr-cyan);transform:translateY(-5px);box-shadow:0 12px #0003}.kr-mode-card--letters-numbers{background:#fff0ae}.kr-mode-card--all{color:#241a17;background:#ffd0aa}.kr-mode-number{color:var(--kr-cyan-dark);letter-spacing:.12em;font-size:.78rem;font-weight:950}.kr-mode-card--all .kr-mode-number{color:#67210e}.kr-mode-icon{justify-self:end;font-size:1.25rem;font-weight:950}.kr-mode-card strong{letter-spacing:-.03em;grid-column:1/-1;margin-top:.6rem;font-size:1.7rem}.kr-mode-card>span:nth-of-type(3){color:#46606a;grid-column:1/-1;line-height:1.45}.kr-mode-card--all>span:nth-of-type(3){color:#522313}.kr-mode-card em{grid-column:1/-1;align-self:end;margin-top:1rem;font-style:normal;font-weight:900}.kr-game{width:min(1460px,100% - 1.5rem);color:var(--kr-ink);margin:0 auto;padding:1.25rem 0 3rem}.kr-game-heading{justify-content:space-between;align-items:end;gap:2rem;margin-bottom:1rem;display:flex}.kr-game h1{font-size:clamp(2.2rem,4.5vw,4.3rem)}.kr-stats{gap:.65rem;display:flex}.kr-stats>div{background:linear-gradient(150deg,#4930a5,#2678ea);border:1px solid #5ce1e642;border-radius:13px;min-width:112px;padding:.7rem .9rem;box-shadow:0 5px #25307047}.kr-stats span{color:#a9c8cb;letter-spacing:.1em;text-transform:uppercase;font-size:.7rem;font-weight:900;display:block}.kr-stats strong{color:#fff;font-variant-numeric:tabular-nums;font-size:1.45rem}.kr-stats small{color:#a9c8cb}.kr-score-stat{position:relative}.kr-score-flash{color:#fff;border-radius:999px;padding:.18rem .42rem;font-size:.85rem;animation:.62s both kr-score-pop;position:absolute;top:-.9rem;right:-.55rem}.kr-score-flash.is-plus{background:#158a59}.kr-score-flash.is-minus{background:#c93648}.kr-progress{background:#ffffff1c;border-radius:99px;height:6px;margin-bottom:1rem;overflow:hidden}.kr-progress span{background:linear-gradient(90deg, var(--kr-orange), var(--kr-yellow), var(--kr-green));height:100%;transition:width .35s;display:block}.kr-keyboard-card{background:linear-gradient(160deg,#1a4458ed,#081f2efa);border:1px solid #5ce1e652;border-radius:22px;position:relative;overflow:hidden;box-shadow:0 22px 55px #00000047}.kr-board-label{color:#aac8cb;letter-spacing:.12em;text-transform:uppercase;border-bottom:1px solid #ffffff14;justify-content:space-between;padding:.75rem 1rem;font-size:.72rem;font-weight:900;display:flex}.kr-live-dot:before{content:"";background:var(--kr-green);width:7px;height:7px;box-shadow:0 0 10px var(--kr-green);border-radius:50%;margin-right:.45rem;display:inline-block}.kr-keyboard-scroll{scrollbar-color:var(--kr-cyan-dark) #0000002e;padding:clamp(.85rem,2vw,1.4rem);overflow-x:auto}.kr-keyboard{grid-template-columns:calc(15 * var(--kr-unit) + 14 * var(--kr-gap)) calc(3 * var(--kr-unit) + 2 * var(--kr-gap)) calc(4 * var(--kr-unit) + 3 * var(--kr-gap));grid-template-rows:var(--kr-unit) auto;justify-content:center;gap:clamp(.65rem,1.5vw,1.15rem);width:max-content;min-width:100%;display:grid}.kr-function-main{justify-content:space-between;align-items:start;display:flex}.kr-function-group,.kr-function-nav{gap:var(--kr-gap);display:flex}.kr-function-nav{grid-template-columns:repeat(3, var(--kr-unit));display:grid}.kr-leds{justify-content:center;align-items:center;gap:1rem;display:flex}.kr-leds i{background:#254b5a;border-radius:50%;width:8px;height:8px;box-shadow:inset 0 1px 2px #081b27}.kr-main-keys{gap:var(--kr-gap);display:grid}.kr-main-row{gap:var(--kr-gap);display:flex}.kr-nav-keys{grid-template:repeat(5, var(--kr-unit)) / repeat(3, var(--kr-unit));gap:var(--kr-gap);display:grid}.kr-numpad-keys{grid-template:repeat(5, var(--kr-unit)) / repeat(4, var(--kr-unit));gap:var(--kr-gap);display:grid}.kr-key{flex:0 0 var(--kr-unit);width:var(--kr-unit);min-width:0;height:var(--kr-unit);color:var(--kr-ink);background:linear-gradient(#fbfffd,#dcebe7);border:1px solid #b9d0ce;border-radius:clamp(5px,.6vw,8px);place-content:center;padding:.15rem;font-size:clamp(.55rem,.8vw,.76rem);font-weight:900;line-height:1;display:grid;position:relative;overflow:visible;box-shadow:0 4px #789596,0 5px 8px #00000052}.kr-main-row .kr-key{flex:var(--key-width,1) 1 0;width:auto}.kr-key small{color:#547078;margin-top:.12rem;font-size:.52rem}.kr-key:disabled{opacity:1}.kr-key--space{cursor:pointer;background:#02121d73;border:2px dashed #4f8090;box-shadow:inset 0 2px 7px #00000085,0 0 0 1px #5ce1e60d}.kr-key--space:hover{border-color:var(--kr-yellow);background:#ffd1661a}.kr-key-hole{background:#5ce1e62e;border-radius:50%;width:8px;height:8px}.kr-key--placed{color:#06271b;background:linear-gradient(#d7ffea,#71dda9);border-color:#68e2ad;box-shadow:0 4px #278e61}.kr-key--correct{z-index:6;animation:.62s kr-correct}.kr-key--wrong{border-color:var(--kr-red);background:#ee4f5f59;animation:.48s kr-wrong}.kr-key--falling{z-index:10;animation:kr-fall .85s cubic-bezier(.38,.02,.85,.45) var(--fall-delay) both}.kr-countdown{z-index:20;text-align:center;-webkit-backdrop-filter:blur(1.5px);backdrop-filter:blur(1.5px);pointer-events:none;background:#03111b61;place-content:center;display:grid;position:absolute;inset:0}.kr-countdown span{border:3px solid var(--kr-cyan);width:110px;height:110px;color:var(--kr-night);background:var(--kr-cyan);box-shadow:0 8px 0 var(--kr-cyan-dark), 0 0 60px #5ce1e66b;border-radius:30px;place-items:center;margin:0 auto .85rem;font-size:4rem;font-weight:950;animation:.6s kr-count-pop;display:grid}.kr-countdown strong{text-transform:uppercase;letter-spacing:.12em;text-shadow:0 2px 10px #000;font-size:1.2rem}.kr-instruction-row{justify-content:space-between;align-items:center;gap:1rem;margin:.85rem 0;display:flex}.kr-feedback{color:#173c58;align-items:center;gap:.65rem;min-height:42px;margin:0;font-size:1rem;font-weight:700;display:flex}.kr-feedback>span{width:28px;height:28px;color:var(--kr-night);background:var(--kr-cyan);border-radius:50%;flex:none;place-items:center;font-weight:950;display:grid}.kr-keyboard-help{color:#31576b;white-space:nowrap;margin:0;font-size:.82rem}.kr-app kbd{color:#fff;text-align:center;background:#17394c;border:1px solid #61818b;border-bottom-width:3px;border-radius:4px;min-width:1.5rem;padding:.15rem .3rem;font-size:.7rem;display:inline-block}.kr-tray-card{color:var(--kr-ink);background:linear-gradient(145deg,#fff9e7f5,#ffdeb0f5);border:2px solid #d65a256b;border-radius:19px;padding:1rem;box-shadow:0 14px 35px #514c312e,inset 0 0 34px #ff914d14}.kr-tray-card.has-selection{border-color:var(--kr-yellow);box-shadow:0 0 0 3px #ffd1661a,inset 0 0 34px #ff7a451a}.kr-tray-heading{justify-content:space-between;align-items:end;gap:1rem;margin-bottom:.8rem;display:flex}.kr-tray-heading .kr-kicker{color:var(--kr-orange);margin-bottom:.2rem}.kr-tray-heading h2{margin:0;font-size:1.35rem}.kr-selected-label{color:#6e3f28;margin:0;font-size:.9rem}.kr-selected-label strong{color:#5032ac}.kr-tray{background:#4ccdd738;border:1px solid #ffffff14;border-radius:13px;flex-wrap:wrap;place-content:center;gap:.72rem;min-height:132px;padding:1.15rem 1rem 1.5rem;display:flex;overflow:hidden}.kr-loose-key{min-width:50px;min-height:48px;color:var(--kr-ink);transform:translate(var(--tray-x), var(--tray-y)) rotate(var(--tray-rotate));cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;background:linear-gradient(#fff,#dcece8);border:1px solid #c2d9d5;border-radius:8px;place-content:center;padding:.45rem .7rem;font-weight:950;transition:transform .16s,box-shadow .16s,background .16s;display:grid;position:relative;box-shadow:0 5px #819b9a,0 8px 14px #0000004d}.kr-loose-key.drag-source{outline-offset:3px;outline:3px dashed #5032ac}.kr-loose-key.wrong{border-color:var(--kr-red);background:#ffd8d8;animation:.55s kr-wrong}.kr-loose-key small{color:#58727a;text-align:center;font-size:.58rem;display:block}.kr-loose-key:hover:not(:disabled){transform:translate(var(--tray-x), calc(var(--tray-y) - 5px)) rotate(0);box-shadow:0 8px #819b9a,0 12px 18px #00000052}.kr-loose-key:active:not(:disabled){cursor:grabbing}.kr-loose-key.selected{color:#251b09;border-color:var(--kr-yellow);background:var(--kr-yellow);transform:translate(var(--tray-x), calc(var(--tray-y) - 7px)) rotate(0);box-shadow:0 0 0 4px #ffd16640,0 5px #b47b12}.kr-loose-key:disabled{cursor:wait;opacity:.7}.kr-discovered-dot{color:var(--kr-cyan-dark);font-size:1.2rem;position:absolute;top:2px;right:5px}.kr-empty-tray{color:#31576b;align-self:center;font-weight:800}.kr-drag-preview{z-index:200;min-width:58px;min-height:52px;color:var(--kr-ink);background:var(--kr-yellow);pointer-events:none;border:2px solid #fff;border-radius:10px;place-content:center;padding:.45rem .75rem;font-weight:950;display:grid;position:fixed;transform:translate(-50%,-62%)rotate(-2deg);box-shadow:0 10px #a86d1b,0 16px 28px #1b2b4859}.kr-drag-preview small{text-align:center;font-size:.58rem;display:block}.kr-game-actions{align-items:center;gap:.7rem;margin-top:1rem;display:flex}.kr-game-actions>span{color:#88a7ac;margin-left:auto;font-size:.75rem}.kr-button{cursor:pointer;border-radius:10px;min-height:46px;padding:.7rem 1.1rem;font-weight:950;transition:transform .15s,box-shadow .15s}.kr-button:hover{transform:translateY(-2px)}.kr-button--primary{color:#fff;background:var(--kr-purple);border:2px solid #6a48cd;box-shadow:0 5px #3d2b94}.kr-button--secondary{color:#fff;background:var(--kr-blue);border:2px solid #1867c9;box-shadow:0 4px #164a90}.kr-modal-backdrop{z-index:100;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#020b12c7;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.kr-complete{z-index:2;border:2px solid var(--kr-cyan);width:min(520px,100%);color:var(--kr-ink);background:var(--kr-cream);text-align:center;border-radius:26px;margin:0;padding:clamp(1.5rem,5vw,3rem);position:relative;box-shadow:0 30px 100px #0000008c,0 0 50px #5ce1e62e}.kr-complete .kr-kicker{color:var(--kr-cyan-dark)}.kr-complete h2{letter-spacing:-.05em;margin:0;font-size:clamp(2.4rem,8vw,4rem)}.kr-complete>p:not(.kr-kicker){color:#4e6871;line-height:1.5}.kr-complete-burst{color:#06261b;background:var(--kr-green);border-radius:50%;place-items:center;width:78px;height:78px;margin:-4.4rem auto 1.2rem;font-size:2.8rem;font-weight:950;display:grid;box-shadow:0 0 0 10px #35c9872e,0 8px #16895a}.kr-results{grid-template-columns:1fr 1fr;gap:.75rem;margin:1.5rem 0;display:grid}.kr-results>div{background:#eef5f1;border:1px solid #bed0cd;border-radius:13px;padding:1rem}.kr-results span{color:#5f757b;letter-spacing:.08em;text-transform:uppercase;font-size:.7rem;font-weight:900;display:block}.kr-results strong{margin-top:.25rem;font-size:1.8rem;display:block}.kr-results small{color:#697d81;font-size:.9rem}.kr-play-again{width:100%}.kr-text-button{color:#245d68;cursor:pointer;background:0 0;border:0;margin-top:.9rem;padding:.45rem;font-weight:900;text-decoration:underline}.kr-confetti{z-index:1;pointer-events:none;position:absolute;inset:0;overflow:hidden}.kr-confetti i{--lane:calc((var(--i) * 5.4%) + 1%);left:var(--lane);color:var(--kr-yellow);animation:kr-confetti-fall 1.8s cubic-bezier(.22,.7,.35,1) calc(var(--i) * 35ms) both;font-size:1.15rem;font-style:normal;position:absolute;top:-3rem}.kr-confetti i:nth-child(3n){color:var(--kr-cyan)}.kr-confetti i:nth-child(3n+1){color:var(--kr-orange)}.kr-confetti i:nth-child(4n){font-size:1.55rem}@keyframes kr-count-pop{0%{opacity:.2;transform:scale(.7)}60%{transform:scale(1.08)}to{opacity:1;transform:scale(1)}}@keyframes kr-fall{0%{opacity:1;transform:translate(0)rotate(0)}35%{transform:translate(var(--fall-x), 24px) rotate(var(--fall-rotate));opacity:1}to{transform:translate(calc(var(--fall-x) * 1.5), 190px) rotate(calc(var(--fall-rotate) * 2));opacity:0}}@keyframes kr-correct{0%{background:var(--kr-yellow);transform:scale(.75)}55%{box-shadow:0 0 24px var(--kr-green), 0 4px 0 #278e61;transform:scale(1.18)rotate(2deg)}to{transform:scale(1)}}@keyframes kr-wrong{0%,to{transform:translate(0)}20%{transform:translate(-7px)}40%{transform:translate(7px)}60%{transform:translate(-5px)}80%{transform:translate(5px)}}@keyframes kr-score-pop{0%{opacity:0;transform:translateY(8px)scale(.7)}35%{opacity:1;transform:translateY(-4px)scale(1.12)}to{opacity:0;transform:translateY(-12px)scale(1)}}@keyframes kr-confetti-fall{0%{opacity:0;transform:translateY(-5vh)rotate(0)}15%{opacity:1}to{opacity:.9;transform:translateY(105vh)rotate(480deg)}}@media (max-width:980px){.kr-menu{grid-template-columns:1fr;padding-top:3rem}.kr-menu-copy{max-width:700px}.kr-game-heading{align-items:start}.kr-stats{flex-wrap:wrap;justify-content:end}.kr-stats>div{min-width:96px}}@media (max-width:700px){:root{--kr-unit:2.35rem;--kr-gap:.22rem}.kr-topbar{padding-inline:.75rem}.kr-brand{font-size:.98rem}.kr-sound{font-size:0}.kr-sound span{font-size:1rem}.kr-arcade-link{display:none}.kr-menu{gap:2.2rem;width:min(100% - 1.2rem,1180px);padding-top:2rem}.kr-menu h1{font-size:clamp(3.25rem,17vw,5rem)}.kr-mode-grid{grid-template-columns:1fr}.kr-mode-card--all{grid-column:1}.kr-mode-card{min-height:155px}.kr-game{width:min(100% - .8rem,1460px);padding-top:.9rem}.kr-game-heading{display:block}.kr-game-heading .kr-kicker{margin-bottom:.4rem}.kr-stats{grid-template-columns:repeat(3,1fr);margin-top:1rem;display:grid}.kr-stats>div{min-width:0;padding:.55rem .6rem}.kr-stats strong{font-size:1.15rem}.kr-keyboard-card{border-radius:15px}.kr-keyboard-scroll{padding:.8rem}.kr-instruction-row{display:block}.kr-keyboard-help{white-space:normal;padding-left:2.6rem}.kr-tray-heading{display:block}.kr-selected-label{margin-top:.45rem}.kr-tray{gap:.6rem;min-height:160px;padding:1rem .55rem 1.3rem}.kr-loose-key{min-width:46px;min-height:46px;padding:.4rem .6rem}.kr-game-actions{grid-template-columns:1fr 1fr;display:grid}.kr-game-actions>span{text-align:center;grid-column:1/-1;margin-left:0}}@media (max-width:430px){.kr-topbar{min-height:60px}.kr-brand-mark{width:34px;height:34px}.kr-menu{min-height:calc(100vh - 60px)}.kr-howto{font-size:.9rem}.kr-mode-panel{border-radius:18px;padding:.75rem}.kr-game h1{font-size:2rem}.kr-board-label{font-size:.62rem}.kr-results{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){.kr-app *,.kr-app :before,.kr-app :after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-delay:0s!important}}@media (forced-colors:active){.kr-key--space{border-style:dashed}.kr-key--placed{outline:3px solid highlight}.kr-loose-key.selected{outline:4px solid highlight}}
