:root{--tacit-overlay-bg:rgba(0, 0, 0, 0.65);--tacit-symbol-color:#ffffff;--tacit-text-color:#ffffffAA;--tacit-text-color-hover:#ffffff;--tacit-accent-color:rgba(255, 255, 255, 0.55);--tacit-symbol-border-color:#ffffffAA;--tacit-symbol-border-width:1px;--tacit-list-max-width:680px;--tacit-list-max-height:46vh;--tacit-list-gap:14px;--tacit-item-gap:4px;--tacit-item-gap-hover:12px;--tacit-symbol-size:120px;--tacit-symbol-shift:52px;--tacit-loading-time:600ms}.tacit-overlay{position:fixed;inset:0;display:none;align-items:center;justify-content:center;pointer-events:none;z-index:999999;color:var(--tacit-text-color);font-family:inherit}.tacit-overlay.is-active{display:flex;pointer-events:auto}.tacit-overlay__backdrop{position:absolute;inset:0;background:var(--tacit-overlay-bg);opacity:0;transition:opacity 180ms ease}.tacit-overlay.is-active.is-list .tacit-overlay__backdrop{opacity:1}.tacit-overlay__symbol{position:relative;z-index:2;display:flex;align-items:center;justify-content:center;gap:10px;font-size:var(--tacit-symbol-size);color:var(--tacit-symbol-color);transition:transform 240ms ease,opacity 180ms ease}.tacit-overlay.is-list .tacit-overlay__symbol{transform:translateY(calc(var(--tacit-symbol-shift) * -1))}.tacit-symbol{display:inline-flex;align-items:center;justify-content:center;width:var(--tacit-symbol-size);height:var(--tacit-symbol-size)}.tacit-symbol--key{width:calc(var(--tacit-symbol-size) * 0.7);height:calc(var(--tacit-symbol-size) * 0.7);font-size:calc(var(--tacit-symbol-size) * 0.9);letter-spacing:-.04em}.tacit-symbol--key-up,.tacit-symbol--key-left{transform:rotate(180deg)}.tacit-symbol--key-right{transform:translateY(-2px)}.tacit-symbol svg{width:100%;height:100%;display:block;color:inherit;fill:currentColor;stroke:currentColor}.tacit-symbol svg[fill="none"],.tacit-symbol svg [fill="none"]{fill:none!important}.tacit-symbol svg [stroke="none"]{stroke:none!important}.tacit-symbol svg [fill]:not([fill="none"]){fill:currentColor!important}.tacit-symbol svg [stroke]:not([stroke="none"]){stroke:currentColor!important}.tacit-symbol--text{width:initial;padding:12px 25px 8px 20px;border-radius:5px;border-width:1px;border-color:var(--tacit-symbol-border-color);border-style:solid;font-size:68px;letter-spacing:-.08em;font-weight:400;text-transform:lowercase;text-align:center}.tacit-symbol__plus{font-size:40px;opacity:.7}.tacit-overlay__list{position:absolute;top:50%;transform:translateY(40px);width:min(90vw, var(--tacit-list-max-width));max-height:var(--tacit-list-max-height);opacity:0;transition:opacity 10ms ease,transform 10ms ease;z-index:2;overflow:hidden;mask-image:linear-gradient(to bottom,transparent,black 12%,black 88%,transparent);-webkit-mask-image:linear-gradient(to bottom,transparent,black 12%,black 88%,transparent);pointer-events:none}.tacit-overlay.is-list .tacit-overlay__list{opacity:1;transform:translateY(0);transition:opacity 220ms ease,transform 240ms ease;pointer-events:auto}.tacit-overlay__list-inner{display:flex;flex-direction:column;gap:var(--tacit-list-gap);max-height:var(--tacit-list-max-height);overflow-y:auto;padding:12px 6px;gap:initial}.tacit-item{flex:1 1 120px;appearance:none;border:none;background:initial;text-align:center;color:var(--tacit-text-color);cursor:pointer;display:flex;flex-direction:column;justify-content:center;gap:var(--tacit-item-gap);overflow:hidden;overscroll-behavior:none}.tacit-item:hover{background:initial!important;box-shadow:initial!important;text-align:center;color:var(--tacit-text-color-hover);gap:var(--tacit-item-gap-hover)}.tacit-item__combo{font-size:13px;text-transform:uppercase;letter-spacing:.14em;color:var(--tacit-accent-color);display:flex;align-items:center;justify-content:center;gap:6px}.tacit-combo-sep{opacity:.7;font-size:.9em}.tacit-combo-key{display:inline-flex;align-items:center}.tacit-combo-arrow{display:inline-block;font-size:1.15em;letter-spacing:0;transform:translateY(-1px)}.tacit-combo-arrow--up,.tacit-combo-arrow--left{transform:translateY(-1px) rotate(180deg)}.tacit-combo-arrow--right{transform:translateY(-2px)}.tacit-item__title{font-size:18px;font-weight:500}.tacit-item__desc{font-size:13px;color:var(--tacit-text-color);opacity:0;max-height:0;overflow:hidden;overscroll-behavior:none;transition:opacity 180ms ease,max-height 180ms ease}.tacit-item:hover .tacit-item__desc,.tacit-item:focus-visible .tacit-item__desc{opacity:.9;max-height:80px}.tacit-overlay__loading{position:absolute;inset:auto;pointer-events:none;opacity:0}.tacit-overlay.is-loading .tacit-overlay__loading{opacity:1}.tacit-overlay.is-loading[data-loading-position="bottom"] .tacit-overlay__loading{left:0;bottom:0;height:3px;width:100%;background:linear-gradient(90deg,transparent,var(--tacit-symbol-color),transparent);animation:tacit-bar var(--tacit-loading-time) linear forwards}.tacit-overlay.is-loading[data-loading-position="top"] .tacit-overlay__loading{left:0;top:0;height:3px;width:100%;background:linear-gradient(90deg,transparent,var(--tacit-symbol-color),transparent);animation:tacit-bar var(--tacit-loading-time) linear forwards}.tacit-overlay.is-loading[data-loading-position="left"] .tacit-overlay__loading{left:0;top:0;width:3px;height:100%;background:linear-gradient(180deg,transparent,var(--tacit-symbol-color),transparent);animation:tacit-bar-vert var(--tacit-loading-time) linear forwards}.tacit-overlay.is-loading[data-loading-position="right"] .tacit-overlay__loading{right:0;top:0;width:3px;height:100%;background:linear-gradient(180deg,transparent,var(--tacit-symbol-color),transparent);animation:tacit-bar-vert var(--tacit-loading-time) linear forwards}.tacit-overlay.is-loading[data-loading-position="frame"]::after{content:"";position:absolute;inset:0;border:2px solid var(--tacit-symbol-color);opacity:.6;animation:tacit-frame var(--tacit-loading-time) linear forwards}.tacit-overlay.is-flash .tacit-overlay__list{opacity:0}.tacit-overlay.is-flash-only{pointer-events:none}.tacit-overlay.is-flash-only .tacit-overlay__backdrop{opacity:0}.tacit-overlay.is-flash .tacit-symbol--key{animation:tacit-flash var(--tacit-flash-duration,120ms) ease-in-out var(--tacit-flash-count,2)}.tacit-overlay.is-flash-all .tacit-symbol{animation:tacit-flash var(--tacit-flash-duration,120ms) ease-in-out var(--tacit-flash-count,2)}.tacit-overlay.is-flash-invalid .tacit-symbol--invalid{animation:tacit-flash var(--tacit-flash-duration,120ms) ease-in-out 2}@keyframes tacit-flash{0%,100%{opacity:1}50%{opacity:.2}}@keyframes tacit-bar{from{transform:scaleX(0);transform-origin:left}to{transform:scaleX(1);transform-origin:left}}@keyframes tacit-bar-vert{from{transform:scaleY(0);transform-origin:top}to{transform:scaleY(1);transform-origin:top}}@keyframes tacit-frame{from{opacity:0}to{opacity:1}}