.kp-app{font-variant-numeric:tabular-nums}.kp-app .gp-pills .gp-pill-label,.kp-app .gp-card .gp-btn--ghost,.kp-app .gp-result-label{color:var(--color-body)}.kp-key-select-btn{background-color:var(--color-canvas);border:1px solid var(--color-hairline);cursor:pointer;border-radius:12px;flex-wrap:wrap;align-items:center;gap:8px;padding:6px 12px;transition:border-color .15s,background-color .15s,box-shadow .15s;display:inline-flex}.kp-key-select-btn:hover{border-color:color-mix(in srgb, var(--gp-h-blue) 45%, var(--color-hairline))}.kp-key-select-btn.is-selecting{border-color:var(--gp-h-cyan);box-shadow:0 0 0 3px color-mix(in srgb, var(--gp-h-cyan) 18%, transparent)}.kp-select-lbl{font-family:var(--font-mono);letter-spacing:.06em;color:var(--color-mute);font-size:11px;font-weight:700}.kp-key-pill{background-color:var(--color-canvas-soft-2);border:1px solid var(--color-hairline);font-family:var(--font-mono);color:var(--color-ink);border-radius:8px;padding:2px 8px;font-size:13.2px;font-weight:700}.kp-key-code{font-family:var(--font-mono);color:var(--gp-h-violet);font-size:12.1px}.kp-key-hint{color:var(--color-mute);font-size:12.1px}.kp-surface{text-align:center;background:radial-gradient(circle at center, color-mix(in srgb, var(--gp-h-violet) 7%, transparent) 0%, transparent 70%);border-bottom:1px solid var(--color-hairline);flex-direction:column;justify-content:center;align-items:center;gap:4px;padding:clamp(28px,5vw,44px) 20px;display:flex}.kp-surface.has-pulse-normal{animation:.2s ease-out kp-pulse-ok}.kp-surface.has-pulse-rapid{animation:.24s ease-out kp-pulse-warn}@keyframes kp-pulse-ok{0%{background:radial-gradient(circle at center, color-mix(in srgb, var(--gp-h-emerald) 22%, transparent) 0%, transparent 70%)}to{background:radial-gradient(circle at center, color-mix(in srgb, var(--gp-h-violet) 7%, transparent) 0%, transparent 70%)}}@keyframes kp-pulse-warn{0%{background:radial-gradient(circle at center, color-mix(in srgb, var(--gp-h-amber) 26%, transparent) 0%, transparent 70%)}to{background:radial-gradient(circle at center, color-mix(in srgb, var(--gp-h-violet) 7%, transparent) 0%, transparent 70%)}}.kp-keycap-wrapper{margin-bottom:16px}.kp-keycap{background-color:var(--color-canvas);border:2px solid color-mix(in srgb, var(--color-hairline-strong) 60%, transparent);min-width:168px;height:84px;color:var(--color-ink);box-shadow:0 3px 0 0 var(--color-hairline-strong);border-radius:16px;flex-direction:column;justify-content:center;align-items:center;padding:0 26px;transition:background-color 80ms,border-color 80ms,color 80ms,transform 70ms,box-shadow 80ms;display:inline-flex}.kp-keycap.is-pressed{background-color:var(--color-accent);border-color:var(--color-accent);color:var(--color-on-accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--color-accent) 22%, transparent);transform:translateY(2px)}.kp-keycap.is-rapid{background-color:var(--color-warning);border-color:var(--color-warning);color:var(--color-on-primary);box-shadow:0 0 0 3px color-mix(in srgb, var(--color-warning) 30%, transparent)}.kp-keycap-label{font-family:var(--font-mono);font-size:26px;font-weight:800;line-height:1.1}.kp-keycap-code{font-family:var(--font-mono);color:var(--color-mute);font-size:11.6px}.kp-keycap.is-pressed .kp-keycap-code,.kp-keycap.is-rapid .kp-keycap-code{color:color-mix(in srgb, currentColor 72%, transparent)}.kp-surface-prompt{font-family:var(--font-mono);letter-spacing:.1em;color:var(--color-ink);margin:0 0 4px;font-size:clamp(21px,2vw,26px);font-weight:800}.kp-surface-sub{color:var(--color-mute);max-width:500px;margin:0 0 16px;font-size:14.3px}.kp-status-row{flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;display:flex}.kp-status-badge{font-family:var(--font-mono);letter-spacing:.06em;border:1px solid var(--color-hairline);border-radius:999px;padding:5px 13px;font-size:12.1px;font-weight:800}.kp-status-badge--ready{background-color:var(--color-canvas-soft);color:var(--color-body)}.kp-status-badge--listening{background-color:color-mix(in srgb, var(--gp-h-cyan) 10%, var(--color-canvas));color:var(--gp-h-cyan);border-color:color-mix(in srgb, var(--gp-h-cyan) 38%, var(--color-hairline))}.kp-status-badge--active{background-color:color-mix(in srgb, var(--gp-h-emerald) 12%, var(--color-canvas));color:var(--gp-h-emerald);border-color:color-mix(in srgb, var(--gp-h-emerald) 40%, var(--color-hairline))}.kp-status-badge--paused{background-color:var(--color-warning-soft);color:var(--color-warning-deep);border-color:color-mix(in srgb, var(--color-warning) 45%, var(--color-hairline))}[data-kp-rollover-badge]{background-color:color-mix(in srgb, var(--gp-h-violet) 11%, var(--color-canvas));border:1px solid color-mix(in srgb, var(--gp-h-violet) 38%, var(--color-hairline));color:var(--gp-h-violet);font-family:var(--font-mono);border-radius:999px;padding:5px 13px;font-size:12.1px;font-weight:800}[data-kp-rollover-badge].hidden{display:none}.kp-timeline-panel{background-color:color-mix(in srgb, var(--color-canvas-soft) 55%, var(--color-canvas));flex-direction:column;gap:8px;padding:12px 1.5rem;display:flex}.kp-timeline-title{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--color-mute);font-size:10.5px;font-weight:700}.kp-timeline-wrapper{scrollbar-width:thin;align-items:center;min-height:30px;display:flex;overflow-x:auto}.kp-timeline-hint{color:var(--color-mute);font-size:12.1px;font-style:italic}.kp-timeline-track{align-items:center;gap:4px;display:inline-flex}.kp-timeline-dot{cursor:help;border-radius:50%;flex-shrink:0;width:9px;height:9px}.kp-timeline-dot--normal{background-color:var(--gp-h-cyan);box-shadow:0 0 6px color-mix(in srgb, var(--gp-h-cyan) 55%, transparent)}.kp-timeline-dot--rapid{background-color:var(--gp-h-amber);box-shadow:0 0 8px color-mix(in srgb, var(--gp-h-amber) 65%, transparent)}.kp-timeline-seg{font-family:var(--font-mono);white-space:nowrap;border:1px solid var(--color-hairline);border-radius:6px;justify-content:center;align-items:center;padding:1px 6px;font-size:10.5px;font-weight:700;display:inline-flex}.kp-timeline-seg--normal{background-color:color-mix(in srgb, var(--gp-h-cyan) 9%, var(--color-canvas));color:var(--gp-h-cyan);border-color:color-mix(in srgb, var(--gp-h-cyan) 28%, var(--color-hairline))}.kp-timeline-seg--rapid{background-color:var(--color-warning-soft);color:var(--color-warning-deep);border-color:color-mix(in srgb, var(--color-warning) 42%, var(--color-hairline))}.kp-vkbd-body{background-color:var(--color-canvas-soft-2);scrollbar-width:thin;flex-direction:column;gap:4px;padding:14px;display:flex;overflow-x:auto}.kp-vk-row{justify-content:safe center;gap:4px;display:flex}.kp-vk-key{background-color:var(--color-canvas);border:1px solid var(--color-hairline);min-width:0;height:34px;box-shadow:0 1.5px 0 0 var(--color-hairline-strong);color:var(--color-body);font-family:var(--font-mono);user-select:none;box-sizing:border-box;border-radius:7px;justify-content:center;align-items:center;padding:0 4px;font-size:11px;font-weight:700;transition:background-color 90ms,border-color 90ms,color 90ms,transform 70ms,box-shadow 90ms;display:inline-flex;overflow:hidden}.kp-vk-key.is-tested{background-color:var(--color-link-bg-soft);border-color:color-mix(in srgb, var(--color-link) 45%, transparent);color:var(--color-link-deep)}.kp-vk-key.is-pressed{background-color:var(--color-accent);border-color:var(--color-accent);color:var(--color-on-accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--color-accent) 22%, transparent);transform:translateY(1px)}.kp-anac-metrics{margin-bottom:16px}.kp-anac-metrics .gp-metric-value{overflow-wrap:anywhere;font-size:1.05rem}.kp-freq-table-wrapper{border:1px solid var(--color-hairline);background-color:var(--color-canvas);scrollbar-width:thin;border-radius:12px;overflow-x:auto}.kp-freq-table{border-collapse:collapse;text-align:left;width:100%;font-size:13.2px}.kp-freq-table th{background-color:var(--color-canvas-soft-2);border-bottom:1px solid var(--color-hairline);font-family:var(--font-mono);letter-spacing:.06em;color:var(--color-mute);padding:8px 12px;font-size:10.5px;font-weight:700}.kp-freq-table td{border-bottom:1px solid color-mix(in srgb, var(--color-hairline) 60%, transparent);color:var(--color-body);padding:6px 12px}.kp-freq-table tr:last-child td{border-bottom:none}.kp-freq-keycap{background-color:var(--color-canvas-soft-2);border:1px solid var(--color-hairline);font-family:var(--font-mono);color:var(--color-ink);border-radius:6px;padding:2px 8px;font-size:12.1px;font-weight:700;display:inline-block}.kp-freq-empty{text-align:center;color:var(--color-mute);padding:16px;font-size:12.7px;font-style:italic}.kp-sub-grid{grid-template-columns:minmax(0,1fr);gap:1.25rem;display:grid}@media (width>=700px){.kp-sub-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.kp-diag-body{flex-direction:column;gap:7px;padding:1.1rem 1.5rem;font-size:13.2px;display:flex}.kp-diag-row{color:var(--color-mute);justify-content:space-between;align-items:center;gap:12px;display:flex}.kp-diag-row strong{color:var(--color-ink);font-family:var(--font-mono);font-weight:700}.kp-diag-mono{font-family:var(--font-mono)}.kp-diag-mono--violet{color:var(--gp-h-violet)!important}.kp-diag-mono--emerald{color:var(--gp-h-emerald)!important}.kp-result-head{justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px;display:flex}.kp-result-big{margin-top:2px}.kp-result-value .gp-result-value{overflow-wrap:anywhere;max-width:100%;font-size:clamp(2.6rem,2rem + 3.6vw,4.2rem)}.kp-log-actions{flex-wrap:wrap;gap:4px;display:flex}.kp-log-term{max-height:320px}.kp-log-container{flex-direction:column;gap:6px;display:flex}.kp-log-empty{text-align:center;padding:12px 4px}.kp-log-row{background-color:var(--color-canvas);border:1px solid var(--color-hairline);font-family:var(--font-mono);border-radius:8px;justify-content:space-between;align-items:center;gap:10px;padding:6px 10px;font-size:12.1px;display:flex}.kp-log-row--up{background-color:color-mix(in srgb, var(--color-canvas) 60%, var(--color-canvas-soft-2))}.kp-log-row--repeat{background-color:var(--color-warning-soft);border-color:color-mix(in srgb, var(--color-warning) 35%, var(--color-hairline))}.kp-log-row--rapid{background-color:var(--color-error-soft);border-color:color-mix(in srgb, var(--color-error) 45%, var(--color-hairline))}.kp-log-col-left{align-items:center;gap:8px;min-width:0;display:flex}.kp-log-key{color:var(--color-ink);overflow-wrap:anywhere}.kp-log-time{color:var(--color-mute);white-space:nowrap;font-size:10.5px}.kp-log-col-right{flex-shrink:0;align-items:center;gap:6px;display:flex}.kp-log-interval{color:var(--gp-h-cyan);font-size:11px;font-weight:700}.kp-log-hold{color:var(--gp-h-violet);font-size:10.5px}.kp-log-badge{white-space:nowrap;border-radius:5px;padding:2px 6px;font-size:10.5px;font-weight:700}.kp-log-badge--down{background-color:color-mix(in srgb, var(--gp-h-emerald) 12%, var(--color-canvas));color:var(--gp-h-emerald);border:1px solid color-mix(in srgb, var(--gp-h-emerald) 30%, var(--color-hairline))}.kp-log-badge--up{background-color:var(--color-canvas-soft-2);color:var(--color-mute);border:1px solid var(--color-hairline)}.kp-log-badge--repeat{background-color:color-mix(in srgb, var(--gp-h-amber) 16%, var(--color-canvas));color:var(--gp-h-amber);border:1px solid color-mix(in srgb, var(--gp-h-amber) 38%, var(--color-hairline))}.kp-log-badge--rapid{background-color:color-mix(in srgb, var(--gp-h-rose) 14%, var(--color-canvas));color:var(--gp-h-rose);border:1px solid color-mix(in srgb, var(--gp-h-rose) 40%, var(--color-hairline))}.kp-app [data-kp-pause-monitoring].is-paused{color:var(--gp-h-amber)}.kp-col-side{flex-direction:column;gap:1.25rem;min-width:0;display:flex}@media (width>=1100px){.kp-col-side{gap:1.5rem}}.kp-settings-body{flex-direction:column;gap:12px;display:flex}.kp-settings-body .gp-hairline-t{padding-bottom:12px}.kp-ad-slot{background-color:color-mix(in srgb, var(--gp-h-violet) 4%, var(--color-canvas-soft));border:1px dashed color-mix(in srgb, var(--gp-h-violet) 28%, var(--color-hairline));border-radius:16px;flex-direction:column;gap:4px;padding:12px 14px;display:flex}.kp-ad-lbl{font-family:var(--font-mono);letter-spacing:.1em;color:var(--color-mute);font-size:9.9px;font-weight:700}.kp-ad-text{color:var(--color-body);font-size:12.1px;line-height:1.4}.gp-howto{margin-top:1.5rem}.kp-guide-section{background-color:var(--color-canvas-soft);border-top:1px solid var(--color-hairline);min-height:0;padding:3.5rem 0 4.5rem}.kp-guide-section.gp-tool{background-color:var(--color-canvas-soft)}.kp-guide-head{border-bottom:1px solid var(--color-hairline);margin-bottom:2rem;padding-bottom:1.25rem}.kp-guide-title{color:var(--color-ink);letter-spacing:-.02em;margin:0 0 10px;font-size:clamp(24.2px,3.2vw,33px);font-weight:800}.kp-guide-lead{max-width:740px;color:var(--color-mute);margin:0;font-size:16.5px;line-height:1.6}.kp-guide-grid{grid-template-columns:minmax(0,1fr);gap:1.25rem;display:grid}@media (width>=768px){.kp-guide-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.kp-guide-card{flex-direction:column;gap:10px;padding:1.4rem;display:flex}@media (width>=640px){.kp-guide-card{padding:1.8rem}}.kp-guide-card--full{grid-column:1/-1}.kp-guide-card h3{color:var(--color-ink);margin:0;font-size:19.8px;font-weight:700}.kp-guide-card p{color:var(--color-body);margin:0;font-size:14.9px;line-height:1.6}.kp-guide-card .gp-steps{margin:2px 0 0}.kp-guide-card .gp-step strong{color:var(--color-ink)}.kp-guide-card .gp-step{align-items:baseline}.kp-guide-card .gp-step-num{translate:0 4px}.kp-measures-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}@media (width<=480px){.kp-measures-grid{grid-template-columns:minmax(0,1fr)}}.kp-measure-title{color:var(--color-ink)}.kp-measure-tag{font-family:var(--font-mono);color:var(--tag-c,var(--color-body));background-color:var(--color-canvas-soft-2);white-space:nowrap;border-radius:4px;padding:1px 5px;font-size:9.4px;font-weight:800}.kp-tech-grid{grid-template-columns:minmax(0,1fr);gap:10px;display:grid}@media (width>=640px){.kp-tech-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.kp-tech-box{flex-direction:column;gap:4px;display:flex}.kp-tech-box p{color:var(--color-mute);margin:0;font-size:12.7px;line-height:1.45}.kp-tech-box code{font-family:var(--font-mono);background-color:var(--color-canvas-soft-2);border-radius:4px;padding:0 4px}.kp-tech-term{font-weight:700}.kp-tech-term--emerald{color:var(--gp-h-emerald)}.kp-tech-term--violet{color:var(--gp-h-violet)}.kp-tech-term--cyan{color:var(--gp-h-cyan)}.kp-tech-term--amber{color:var(--gp-h-amber)}.kp-tech-term--rose{color:var(--gp-h-rose)}.kp-faq-wrapper{margin-top:56px}.kp-faq-title{color:var(--color-ink);border-radius:16px;margin:0 0 20px;font-size:24.2px;font-weight:800}.kp-faq-accordion{flex-direction:column;gap:10px;display:flex}.kp-faq-item{border-radius:16px;padding:0;transition:border-color .15s}.kp-faq-item.is-open{border-color:color-mix(in srgb, var(--gp-h-blue) 45%, var(--color-hairline))}.kp-faq-trigger{cursor:pointer;text-align:left;width:100%;color:var(--color-ink);background:0 0;border:none;justify-content:space-between;align-items:center;gap:16px;padding:14px 18px;display:flex}.kp-faq-q{font-size:15.4px;font-weight:600}.kp-faq-ic{color:var(--color-mute);flex-shrink:0;transition:transform .15s,color .15s}.kp-faq-item.is-open .kp-faq-ic{color:var(--gp-h-blue);transform:rotate(180deg)}.kp-faq-body{padding:0 18px 16px}.kp-faq-body p{color:var(--color-body);margin:0;font-size:14.9px;line-height:1.6}.kp-app .gp-container--wide{max-width:1600px}@media (width>=1100px){.kp-app .gp-row--side{grid-template-columns:minmax(0,1fr) minmax(0,400px)}}.kp-app .kp-vkbd-body{--kp-u:42px;--kp-key-h:44px;--kp-gap:5px;--kp-fs:14px;gap:var(--kp-gap);padding:18px}.kp-app .kp-vk-row{gap:var(--kp-gap)}.kp-app .kp-vk-key{height:var(--kp-key-h);font-size:var(--kp-fs);border-radius:9px;padding:0 6px}.kp-app .kp-vk-key.w-8{width:var(--kp-u)}.kp-app .kp-vk-key.w-10{width:calc(var(--kp-u) * 1.25)}.kp-app .kp-vk-key.w-12{width:calc(var(--kp-u) * 1.5)}.kp-app .kp-vk-key.w-14{width:calc(var(--kp-u) * 1.75)}.kp-app .kp-vk-key.w-16{width:calc(var(--kp-u) * 2)}.kp-app .kp-vk-key.w-18{width:calc(var(--kp-u) * 2.25)}.kp-app .kp-vk-key.w-48{width:calc(var(--kp-u) * 6)}.kp-app .kp-keycap{border-radius:20px;min-width:216px;height:108px;padding:0 34px}.kp-app .kp-keycap-label{font-size:34px}.kp-app .kp-keycap-code{font-size:14px}.kp-app .kp-surface{gap:6px}.kp-app .kp-surface-prompt{font-size:clamp(24px,2.4vw,32px)}.kp-app .kp-surface-sub{max-width:560px;font-size:16px}.kp-app .gp-btn--sm{border-radius:12px;min-height:42px;padding:0 1.05rem;font-size:13.5px}.kp-app .kp-key-select-btn{gap:10px;padding:8px 14px}.kp-app .kp-key-pill{padding:3px 10px;font-size:15px}.kp-app .kp-key-code{font-size:13.5px}.kp-app .kp-key-hint{font-size:13px}.kp-app .gp-metric{padding:1.05rem 1.15rem}.kp-app .gp-metric-value{font-size:1.5rem}.kp-app .kp-anac-metrics .gp-metric-value{font-size:1.2rem}.kp-app .kp-diag-body{padding:1.25rem 1.65rem;font-size:14.5px}.kp-app .kp-freq-table{font-size:14px}.kp-app .kp-freq-table th{padding:9px 13px;font-size:11px}.kp-app .kp-freq-table td{padding:8px 13px}.kp-app .kp-status-badge{padding:6px 15px;font-size:13px}@media (width<=1099px){.kp-app .kp-vkbd-body{--kp-u:38px;--kp-key-h:42px;--kp-fs:13px;padding:16px}}@media (width<=820px){.kp-app .kp-vkbd-body{--kp-u:34px;--kp-key-h:40px;--kp-fs:12px}}@media (width<=560px){.kp-app .kp-vkbd-body{--kp-u:30px;--kp-key-h:36px;--kp-gap:4px;--kp-fs:11px;padding:12px}.kp-app .kp-keycap{min-width:168px;height:88px;padding:0 22px}.kp-app .kp-keycap-label{font-size:27px}.kp-app .kp-surface-sub{font-size:14.5px}}
