.hands{position:relative;display:flex;flex-direction:column;align-items:stretch;gap:10px;width:100%;height:100%;min-height:0;direction:ltr;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.hands .hs-hint{flex:none;text-align:center;font-size:15px;line-height:1.25;font-weight:800;color:var(--ink-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:opacity var(--t2) var(--ease),color var(--t2) ease}.hands .hs-hint .hs-hi{display:inline-block}.hands.touched .hs-hint,.hands.locked .hs-hint,.hands.demo .hs-hint{opacity:0}.hands.picking .hs-hint,.hands.remind .hs-hint{opacity:1;color:var(--ink)}.hands.remind .hs-hint .hs-hi{animation:hsHop var(--t4) var(--pop) 2}.hands.locked.picking .hs-hint,.hands.locked.remind .hs-hint{opacity:0}.hands .hs-bar{flex:none;display:flex;gap:10px;justify-content:center;align-items:stretch}.hands .hs-btn{min-height:52px;min-width:64px;padding:0 18px;border-radius:18px;background:#fff;color:var(--ink);font-family:var(--display);font-weight:600;font-size:22px;box-shadow:0 0 0 2px var(--line),0 5px 0 var(--lip);touch-action:manipulation;transition:transform var(--t1) var(--ease),box-shadow var(--t1) var(--ease),opacity var(--t1) ease}.hands .hs-btn:active{transform:translateY(5px);box-shadow:0 0 0 2px var(--line),0 0 0 var(--lip)}.hands .hs-btn[disabled]{opacity:.38}.hands .hs-reset{font-size:18px}.hands .hs-submit{position:relative;overflow:hidden;flex:1 1 auto;max-width:340px;min-height:52px;font-size:22px;touch-action:manipulation;transition:transform var(--t1) var(--ease),box-shadow var(--t1) var(--ease),background-color var(--t2) ease,color var(--t2) ease,opacity var(--t2) ease,filter var(--t2) ease}.hands .hs-submit[disabled]{pointer-events:auto;opacity:.4;filter:saturate(.4)}.hands.demo .hs-bar{visibility:hidden}.hands.locked .hs-submit[disabled]{opacity:1;filter:none;background:var(--paper-2);color:var(--ink-2);box-shadow:0 0 0 2px var(--line)}.hands.sent .hs-submit[disabled]{background:var(--mint);color:#fff;box-shadow:0 4px 0 var(--mint-lip)}.hands.locked .hs-btn{opacity:.25}.hands.locked .hs-board,.hands.locked .hs-row,.hands.locked .hs-keys{filter:saturate(.55);opacity:.88;transition:opacity var(--t3) ease,filter var(--t3) ease}.hs-submit .hs-rail{display:none;position:absolute;left:14%;right:14%;bottom:7px;height:3px;border-radius:3px;background:rgba(255,255,255,.35);overflow:hidden}.hs-submit .hs-rail i{display:block;width:34%;height:100%;border-radius:3px;background:#fff}.hands.sent .hs-rail{display:block}.hands.sent .hs-rail i{animation:hsRail 1.4s var(--ease) infinite}@keyframes hsRail{0%{transform:translate(-100%)}to{transform:translate(300%)}}.hands .squish{animation:squish var(--t4) var(--pop)}.hands .shake{animation:shake var(--t4) var(--ease)}.hands .pop{animation:popIn var(--t4) var(--pop)}.hands .nudge{animation:pulse var(--t3) var(--ease) 2}@keyframes hsHop{0%,to{transform:none}45%{transform:translateY(-5px) scale(1.14)}}.hs-slots .hs-row{flex:none;display:flex;justify-content:center;gap:10px;padding:4px 0}.hs-slot{flex:0 1 66px;min-width:44px;height:76px;border-radius:18px;display:flex;align-items:center;justify-content:center;background:var(--paper-2);border:3px dashed #D9C3A0;font-family:var(--display);font-weight:600;font-size:40px;line-height:1;color:var(--ink);transition:transform var(--t2) var(--ease),box-shadow var(--t2) var(--ease),background-color var(--t2) ease,border-color var(--t2) ease;touch-action:none}.hs-slot.next{border-color:var(--sun);background:#fff6e0}.hs-slot.filled{background:#fff;border:3px solid var(--ink);box-shadow:0 5px 0 var(--ink)}.hs-slot.hot{border-color:var(--sun);border-style:solid;background:#fff3d6;transform:scale(1.07);box-shadow:0 0 0 5px rgba(255,176,32,.35),0 0 24px rgba(255,176,32,.8)}.hs-slot.filled.hot{box-shadow:0 5px 0 var(--ink),0 0 0 5px rgba(255,176,32,.35),0 0 24px rgba(255,176,32,.8)}.hs-slot.lifting .hs-tok{opacity:.2}.hs-slot .hs-tok{display:block;max-width:100%;overflow:hidden}.hs-slot .hs-tok:empty{display:none}.hs-slot.filled .hs-tok{animation:popIn var(--t3) var(--pop) backwards}.hs-slot.right{border-color:var(--mint);box-shadow:0 5px 0 var(--mint-lip);background:#e6faf1}.hs-slot.wrong{border-color:var(--tomato);box-shadow:0 5px 0 var(--tomato-lip);background:#ffece8}.hs-slots .hs-keys{flex:1 1 auto;min-height:0;display:flex;flex-wrap:wrap;justify-content:center;align-content:flex-start;gap:10px;padding:14px 3px 7px;overflow:hidden}.hs-key,.hs-lift{width:60px;height:60px;border-radius:18px;display:flex;align-items:center;justify-content:center;background:#fff;color:var(--ink);font-family:var(--display);font-weight:600;font-size:32px;line-height:1;box-shadow:0 0 0 2px var(--line),0 5px 0 var(--lip)}.hs-key{touch-action:none;cursor:grab;transition:transform var(--t1) var(--ease),box-shadow var(--t1) var(--ease),opacity var(--t2) ease,filter var(--t2) ease}.hs-key:active{transform:translateY(5px);box-shadow:0 0 0 2px var(--line),0 0 0 var(--lip)}.hs-key.used,.hs-key[disabled]{opacity:.26;filter:grayscale(1);transform:scale(.9);box-shadow:0 0 0 2px var(--line);cursor:default}.hs-key.lifting{opacity:.35}.hs-keys[data-n="10"] .hs-key,.hs-keys[data-n="9"] .hs-key{width:54px;height:54px;font-size:28px}.hands.grabbing,.hands.grabbing .hs-key{cursor:grabbing}.hs-lift{position:fixed;left:0;top:0;z-index:9999;pointer-events:none;box-shadow:0 0 0 2px var(--ink),0 14px 24px rgba(30,35,64,.28);will-change:transform}.hs-lift .hs-tok{display:block;transform:scale(1.1);transition:transform var(--t2) var(--pop)}.hs-lift.snapping .hs-tok{transform:scale(.96)}.hs-key img.emoji,.hs-slot img.emoji,.hs-lift img.emoji{pointer-events:none}.hs-sticks .hs-top{flex:none;display:flex;justify-content:center;align-items:center;gap:8px;flex-wrap:wrap}.hs-chip{display:inline-flex;align-items:center;gap:6px;height:36px;padding:0 14px;border-radius:999px;background:var(--sun);color:var(--ink);box-shadow:0 3px 0 var(--sun-lip);font-weight:800;font-size:16px;white-space:nowrap}.hs-count{display:inline-flex;align-items:center;gap:4px;height:36px;padding:0 14px;border-radius:999px;background:#fff;color:var(--ink-2);box-shadow:0 0 0 2px var(--line);font-weight:800;font-size:16px;white-space:nowrap;transition:background-color var(--t2) ease,color var(--t2) ease,box-shadow var(--t2) ease}.hs-count b{font-family:var(--display);font-size:19px;color:var(--ink)}.hs-count.full{background:var(--mint);color:#fff;box-shadow:0 0 0 2px var(--mint)}.hs-count.full b{color:#fff}.hs-board{position:relative;flex:1 1 auto;min-height:90px}.hs-board .hs-svg{position:absolute;left:0;top:0;width:100%;height:100%;overflow:visible;touch-action:none;cursor:default}.hands.can-grab .hs-board .hs-svg{cursor:grab}.hands.can-place .hs-board .hs-svg{cursor:pointer}.hands.grabbing .hs-board .hs-svg{cursor:grabbing}.hands.locked .hs-board .hs-svg,.hands.demo .hs-board .hs-svg{cursor:default}.hs-plate{fill:#2b2f4a}.hs-tray rect{fill:#fff;stroke:#d9c3a0;stroke-width:1.6;stroke-dasharray:4 4;transition:fill var(--t2) ease,stroke var(--t2) ease}.hs-tray.hot rect{fill:#fff3d6;stroke:var(--sun);stroke-dasharray:none}.hs-tray-label{font-family:var(--body);font-weight:800;font-size:11px;fill:#b49a72;opacity:0;transition:opacity var(--t2) ease;pointer-events:none}.hs-tray.empty .hs-tray-label{opacity:1}.hs-wood{stroke:#f2c27a;stroke-width:7;stroke-linecap:round;transition:stroke var(--t1) ease}.hs-head{fill:#f0503f}.hs-halo{stroke:#ffc93c;stroke-width:17;stroke-linecap:round;opacity:0;transition:opacity var(--t2) var(--ease)}.hs-sq{transform-box:fill-box;transform-origin:50% 50%;transition:transform var(--t2) var(--ease)}.hs-sq.squish{animation:squish var(--t4) var(--pop)}.hs-sq.nudge{animation:hsHop var(--t3) var(--pop) 2}.hs-stick.hover .hs-halo{opacity:.38}.hs-stick.picked .hs-wood{stroke:#ffd99a}.hs-stick.picked .hs-halo{opacity:.85}.hs-stick.lifted .hs-sq{transform:scale(1.16)}.hs-stick.lifted .hs-wood{stroke:#ffe7b8}.hs-stick.lifted .hs-halo{stroke:#fff;opacity:.3;transition:opacity var(--t1) ease}.hs-stick.lifted.snap .hs-halo{stroke:#ffc93c;opacity:.95}.hs-ghost .hs-dash{stroke:rgba(255,255,255,.34);stroke-width:4;stroke-dasharray:3 4;stroke-linecap:round}.hs-ghost .hs-glow{stroke:#ffc93c;stroke-width:28;stroke-linecap:round;opacity:0;transition:opacity var(--t1) ease}.hs-ghost.hot .hs-glow{opacity:.92}.hs-ghost.hot .hs-dash{stroke:#fff;stroke-dasharray:none;stroke-width:5}.hs-sticks .hs-ghosts{animation:hsFade var(--t2) var(--ease) backwards}.hs-ghost .hs-gin{transform-box:fill-box;transform-origin:50% 50%}.hs-ghost.mark .hs-gin{animation:hsGhostIn var(--t3) var(--pop) backwards}@keyframes hsFade{0%{opacity:0}to{opacity:1}}@keyframes hsGhostIn{0%{opacity:0;transform:scale(.5)}to{opacity:1;transform:none}}.hands.solving{pointer-events:none}.hs-finger{position:absolute;left:0;top:0;z-index:6;pointer-events:none;opacity:0;transition:opacity var(--t1) ease;will-change:transform}.hs-finger.on{opacity:1;transition-duration:var(--t3)}.hs-finger .hs-rot{display:block;width:0;height:0;transform-origin:0 0}.hs-finger span{display:block;width:46px;font-size:46px;line-height:1;transform:translate(-42%,-6%);transform-origin:42% 6%;filter:drop-shadow(0 6px 6px rgba(30,35,64,.3));transition:transform var(--t1) var(--pop)}.hs-finger.press span{transform:translate(-42%,-6%) scale(.84)}.hands.solved .hs-count{background:var(--mint);color:#fff;box-shadow:0 0 0 2px var(--mint)}@media (max-height: 520px){.hands{gap:7px}.hands .hs-hint{font-size:13px;line-height:16px}.hs-slot{height:58px;font-size:32px;border-radius:14px}.hs-key,.hs-lift{width:50px;height:50px;font-size:26px;border-radius:14px}.hs-keys[data-n="10"] .hs-key,.hs-keys[data-n="9"] .hs-key{width:46px;height:46px;font-size:24px}.hs-slots .hs-keys{gap:8px;padding-top:10px}.hands .hs-btn,.hands .hs-submit{min-height:46px;font-size:19px}.hs-chip,.hs-count{height:32px;font-size:14px}.hs-board{min-height:70px}}@media (max-height: 360px){.hands{gap:6px}.hands .hs-hint{font-size:12px;line-height:14px}.hs-slot{height:52px}.hs-slots .hs-keys{padding-top:6px}}@media (max-width: 370px){.hs-slots .hs-row{gap:7px}.hs-key{width:54px;height:54px}}.hs-view{display:inline-flex;flex-direction:column;align-items:center;gap:.3em;direction:ltr;max-width:100%}.hs-view .hs-eq{display:block;height:1.6em;width:auto;max-width:100%}.hs-view .hs-chip{height:auto;padding:.2em .7em;font-size:.36em}.hs-slots-view .hs-row{display:flex;gap:.16em}.hs-slots-view .hs-slot{flex:none;width:1.15em;min-width:0;height:1.35em;font-size:1em;border-radius:.22em;border-width:.045em}.hs-slots-view .hs-slot .hs-tok{font-size:.78em}.hs-slots-view .hs-slot.filled,.hs-slots-view .hs-slot.right,.hs-slots-view .hs-slot.wrong{box-shadow:0 .06em 0 var(--ink)}.hs-slots-view .hs-slot.right{box-shadow:0 .06em 0 var(--mint-lip)}.hs-slots-view .hs-slot.wrong{box-shadow:0 .06em 0 var(--tomato-lip)}.hs-slots-view .hs-keys{display:flex;flex-wrap:wrap;justify-content:center;gap:.2em;font-size:.62em}.hs-slots-view .hs-key{width:1.2em;height:1.2em;font-size:1em;border-radius:.3em;box-shadow:0 0 0 .05em var(--line),0 .08em 0 var(--lip);cursor:default}.hs-slots-view .hs-key .hs-tok{font-size:.78em}.hs-view .hs-eq.has-tray{height:2.5em}.hs-vtray{fill:#fff;stroke:#d9c3a0;stroke-width:1.6;stroke-dasharray:4 4}.hs-spotline{stroke:rgba(30,35,64,.2);stroke-width:4;stroke-dasharray:3 4;stroke-linecap:round}.hs-eq .new .hs-wood{stroke:#fff4cf}.hs-eq .hs-newglow{stroke:#ffc93c;stroke-width:15;stroke-linecap:round}.hs-eq .hs-gone{stroke:#ff8a7a;stroke-width:3.4;stroke-dasharray:2.5 4.5;stroke-linecap:round}.hs-compare{display:flex;flex-direction:column;gap:10px;align-items:stretch;font-size:40px;direction:ltr}.hs-cmp-row{display:flex;align-items:center;gap:12px}.hs-cmp-label{flex:none;width:76px;font-family:var(--body);font-size:15px;font-weight:800;color:var(--ink-3);text-align:right}.hs-cmp-row .hs-view,.hs-cmp-row .hs-eq{flex:0 1 auto;min-width:0}.hs-cmp-row>.hs-eq{height:1.3em;width:auto;max-width:100%}.hs-cmp-row.ok .hs-cmp-label{color:var(--mint-lip)}.hs-cmp-row.bad .hs-cmp-label{color:var(--tomato-lip)}@media (prefers-reduced-motion: reduce){.hs-lift .hs-tok,.hs-finger span,.hs-sq{transition:none}.hands.sent .hs-rail i{animation:none;transform:translate(100%)}.hands.remind .hs-hint .hs-hi,.hs-sq.nudge,.hs-ghost.mark .hs-gin,.hs-sticks .hs-ghosts{animation:none}}
