:root{
 --kt-bg:#0d1015;--kt-panel:#151922;--kt-key:#202631;--kt-key2:#272e39;--kt-border:#354052;
 --kt-text:#edf2f8;--kt-muted:#9ba6b6;--kt-accent:#62d7a4;
}
.kt-app{width:100%;max-width:1400px;margin:24px auto;padding:24px;border-radius:22px;background:var(--kt-bg);color:var(--kt-text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;box-shadow:0 18px 60px rgba(0,0,0,.18);box-sizing:border-box}
.kt-app *{box-sizing:border-box}
.kt-toolbar{display:flex;align-items:flex-end;gap:14px;flex-wrap:wrap;margin-bottom:18px}
.kt-control-group{display:flex;flex-direction:column;gap:7px}
.kt-control-group label,.kt-status-card span{font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--kt-muted)}
.kt-select,.kt-reset{height:44px;border:1px solid var(--kt-border);border-radius:10px;font:inherit}
.kt-select{min-width:170px;padding:0 34px 0 13px;background:var(--kt-panel);color:var(--kt-text)}
.kt-reset{margin-left:auto;padding:0 18px;background:var(--kt-accent);color:#08130f;border-color:var(--kt-accent);font-weight:900;cursor:pointer}
.kt-status{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:20px}
.kt-status-card{min-width:0;padding:12px 15px;border:1px solid var(--kt-border);border-radius:13px;background:var(--kt-panel)}
.kt-status-card span{display:block;margin-bottom:5px}.kt-status-card strong{font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.kt-keyboard-wrap{width:100%;overflow:visible;padding:18px;border:1px solid #2a3340;border-radius:18px;background:linear-gradient(145deg,#151a22,#0e1319)}
.kt-keyboard{width:100%}
.kt-grid{
 width:100%;
 display:grid;
 grid-template-columns:repeat(48,minmax(0,1fr));
 grid-template-rows:38px repeat(5,52px);
 column-gap:4px;
 row-gap:6px;
 align-items:stretch;
}
.kt-key{
 min-width:0;width:100%;height:100%;padding:3px 5px;border:1px solid var(--kt-border);border-bottom-width:3px;border-radius:7px;
 background:linear-gradient(180deg,var(--kt-key2),var(--kt-key));color:var(--kt-text);
 font:800 11px/1.05 ui-sans-serif,system-ui,sans-serif;display:flex;align-items:center;justify-content:center;text-align:center;
 cursor:pointer;user-select:none;transition:transform .08s ease,background .08s ease,border-color .08s ease,box-shadow .08s ease;
}
.kt-key:hover{border-color:#536174;background:#2b3440}
.kt-key:focus-visible{outline:2px solid var(--kt-accent);outline-offset:2px}
.kt-key.is-pressed{transform:translateY(2px);background:var(--kt-accent);color:#07140e;border-color:var(--kt-accent);box-shadow:0 0 0 2px rgba(98,215,164,.12),0 4px 16px rgba(98,215,164,.18)}
.kt-note{margin:10px 2px 0;color:var(--kt-muted);font-size:12px;line-height:1.5}
@media(max-width:1000px){
 .kt-grid{grid-template-rows:34px repeat(5,46px);column-gap:3px;row-gap:5px}
 .kt-key{font-size:10px}
 .kt-keyboard-wrap{padding:12px}
}
@media(max-width:760px){
 .kt-app{padding:15px;border-radius:16px}
 .kt-status{grid-template-columns:repeat(2,minmax(0,1fr))}
 .kt-control-group{width:100%}.kt-select{width:100%}.kt-reset{width:100%;margin-left:0}
 .kt-keyboard-wrap{overflow-x:auto}
 .kt-grid{min-width:900px}
}
@media(prefers-reduced-motion:reduce){.kt-key{transition:none}}
