.kbd-combo{white-space:nowrap;vertical-align:baseline;align-items:center;gap:3px;margin:0 2px;display:inline-flex}.kbd-combo kbd{border:2px solid var(--line);background:var(--paper);min-width:26px;box-shadow:0 2px 0 var(--line);color:var(--ink);font-family:var(--font-display);text-align:center;border-radius:8px;padding:1px 7px;font-size:.85em;font-weight:600;line-height:1.5;display:inline-block}.kbd-plus{color:var(--ink-3);font-size:.8em}.kb-sheet{cursor:default;outline:none}.kb-sheet:focus-visible{border-color:var(--leaf);box-shadow:0 0 0 4px var(--mint)}.kb-sheet .wb-cell{cursor:default}.kb-sheet .wb-cell[data-picked]:after{display:none}.kb-sheet .wb-cell[data-clip]{outline:2.5px dashed var(--leaf-edge);outline-offset:-4px}.kb[data-solved] .wb-cell[data-picked],.kb[data-solved] .wb-cell[data-selected]{background:color-mix(in srgb, var(--leaf) 22%, var(--mint))}.kb-status{min-height:30px;color:var(--ink-2);text-align:center;margin:0;font-size:15px}.kb-pad{grid-template-columns:repeat(auto-fill,minmax(74px,1fr));gap:6px;display:grid}.kb-pad .wb-key{min-width:0;font-family:var(--font-display);padding:0 6px;font-size:15px;font-weight:600}.kb-mod[aria-pressed=true]{background:var(--leaf);border-color:var(--leaf-edge);box-shadow:0 3px 0 var(--leaf-edge);color:#fff}.kb-reset{color:var(--ink-2);grid-column:span 2}@media (hover:hover) and (pointer:fine){.kb-pad{opacity:.75}}.lf,.pv{gap:12px;min-width:0;display:grid}.lf-table{border-collapse:collapse;width:100%;min-width:max-content;font-size:15px}.lf-table th,.lf-table td{border-top:2px solid var(--line);border-left:2px solid var(--line);text-align:left;white-space:nowrap;padding:9px 12px}.lf-table thead th{background:var(--tile);color:var(--ink-2);font-family:var(--font-display);border-top:0;font-weight:600}.lf-table [data-num]{text-align:right;font-variant-numeric:tabular-nums}.lf-table .lf-rowhead{background:var(--tile);width:38px;color:var(--ink-3);font-family:var(--font-display);text-align:center;border-left:0;font-size:13px;font-weight:600}.lf-head{align-items:center;gap:6px;display:inline-flex}.lf-arrow{border:2px solid var(--line);background:var(--paper);width:26px;height:26px;color:var(--ink-2);border-radius:8px;place-items:center;display:grid}.lf-arrow[data-on],.lf-arrow[aria-expanded=true]{border-color:var(--leaf);background:var(--mint);color:var(--leaf-deep)}.lf-menu{border:3px solid var(--leaf);background:var(--paper);box-shadow:0 6px 0 var(--mint-edge);animation:lf-in .18s var(--ease);border-radius:18px;gap:10px;padding:14px;display:grid}@keyframes lf-in{0%{opacity:0;transform:translateY(-6px)}}.lf-sort,.lf-actions{flex-wrap:wrap;gap:8px;display:flex}.lf-sort .btn{align-items:center;gap:6px;display:inline-flex}.lf-actions{justify-content:flex-end}.lf-cond{grid-template-columns:auto 1fr;gap:8px;display:grid}.lf-cond select,.lf-cond input{border:2.5px solid var(--line);background:var(--paper);height:44px;color:var(--ink);font:inherit;border-radius:12px;padding:0 10px;font-size:16px}.lf-values{gap:2px;max-height:220px;display:grid;overflow-y:auto}.lf-values label{cursor:pointer;border-radius:10px;align-items:center;gap:10px;min-height:40px;padding:0 6px;display:flex}.lf-values label:hover{background:var(--tile)}.lf-values input{width:20px;height:20px;accent-color:var(--leaf)}.lf-foot{color:var(--ink-2);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;font-size:14px;display:flex}.lf[data-solved] .lf-table tbody td{background:color-mix(in srgb, var(--leaf) 12%, var(--paper))}.pv-builder{border:3px solid var(--line);background:var(--tile);border-radius:18px;gap:12px;padding:14px;display:grid}@media (min-width:760px){.pv-builder{grid-template-columns:1fr 1.4fr}}.pv-title{color:var(--ink-3);font-family:var(--font-display);margin:0 0 6px;font-size:13px;font-weight:600}.pv-chips{flex-wrap:wrap;gap:8px;display:flex}.pv-chip{border:2.5px solid var(--line);background:var(--paper);min-height:40px;box-shadow:0 3px 0 var(--line);color:var(--ink);font-family:var(--font-display);border-radius:999px;align-items:center;padding:0 14px;font-size:15px;font-weight:600;display:inline-flex}.pv-chip[data-used]{border-color:var(--mint-edge);background:var(--mint);box-shadow:0 3px 0 var(--mint-edge);color:var(--leaf-deep)}.pv-chip[aria-pressed=true]{border-color:var(--leaf-edge);background:var(--leaf);box-shadow:0 3px 0 var(--leaf-edge);color:#fff}.pv-place{color:var(--ink-2);animation:lf-in .16s var(--ease);gap:8px;margin-top:10px;font-size:14px;display:grid}.pv-place-buttons{grid-template-columns:repeat(3,1fr);gap:6px;display:grid}.pv-to{min-height:44px;padding:0 6px}.pv-areas{gap:8px;display:grid}.pv-area{border:2.5px dashed var(--line);background:var(--paper);border-radius:14px;grid-template-columns:78px 1fr;align-items:center;min-height:56px;padding:6px 10px;display:grid;position:relative}.pv-area .pv-title{margin:0}.pv-area[data-target]{border-color:var(--leaf);background:var(--mint);cursor:pointer}.pv-area[data-filled]{border-style:solid;border-color:var(--mint-edge)}.pv-empty{color:var(--ink-3);font-size:13px}.pv-slot{align-items:center;gap:4px;min-width:0;display:flex}.pv-slot .pv-chip{text-overflow:ellipsis;white-space:nowrap;min-width:0;min-height:36px;padding:0 10px;font-size:13px;overflow:hidden}.pv-remove{width:26px;height:26px;color:var(--ink-3);border-radius:999px;flex:none;place-items:center;display:grid}.pv-aggs{z-index:2;border:3px solid var(--leaf);background:var(--paper);min-width:140px;box-shadow:0 6px 0 var(--mint-edge);border-radius:14px;padding:6px;display:grid;position:absolute;top:calc(100% - 6px);right:0}.pv-aggopt{min-height:40px;font-family:var(--font-display);text-align:left;border-radius:10px;padding:0 10px;font-weight:600}.pv-aggopt[aria-checked=true]{background:var(--mint);color:var(--leaf-deep)}.pv-result{border:3px solid var(--line);background:var(--paper);border-radius:18px;overflow-x:auto}.pv-placeholder{color:var(--ink-3);text-align:center;margin:0;padding:22px}.pv-table{border-collapse:collapse;width:100%;min-width:max-content;font-size:15px}.pv-table th,.pv-table td{border-top:2px solid var(--line);text-align:left;white-space:nowrap;padding:9px 14px}.pv-table thead th{background:var(--mint);color:var(--leaf-deep);font-family:var(--font-display);border-top:0;font-weight:700}.pv-table td,.pv-table [data-num]{text-align:right;font-variant-numeric:tabular-nums}.pv-total th,.pv-total td{border-top:3px solid var(--mint-edge);font-family:var(--font-display);font-weight:700}.pv[data-solved] .pv-result{border-color:var(--leaf)}
