:root{--bg:#c0af8a;--ink:#2a2f38;--moss:#5e6a33;--gold:#e9dd71;--guide-w:300px}*{box-sizing:border-box}html,body{background:var(--bg);height:100%;margin:0;overflow:hidden}#stage{opacity:0;width:100vw;height:100vh;transition:opacity 1.2s;display:block}.ready #stage{opacity:1}.over-jar #stage{cursor:grab}.grabbing #stage{cursor:grabbing}#hands{pointer-events:none;width:100vw;height:100vh;position:fixed;inset:0}#cam{cursor:pointer;color:#f2f0ea;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);opacity:.55;background:#2a2f388c;border:1px solid #2a2f3859;border-radius:50%;place-items:center;width:42px;height:42px;transition:opacity .3s,background .3s,transform .3s;display:grid;position:fixed;bottom:18px;right:18px}#cam:hover{opacity:1}.cam-on #cam{opacity:.9;background:#6e7b3fbf}#cam.loading{animation:1s ease-in-out infinite pulse}@keyframes pulse{50%{opacity:.4;transform:scale(.9)}}#preview{aspect-ratio:16/9;opacity:0;pointer-events:none;cursor:pointer;background:#2a2f38;border:1px solid #f2f0ea40;border-radius:10px;width:208px;transition:opacity .6s,transform .6s;position:fixed;bottom:70px;right:18px;overflow:hidden;transform:translateY(8px);box-shadow:0 6px 24px #2a2f3840}.cam-on.preview-on #preview{opacity:.92;pointer-events:auto;transform:none}#previewCv{width:100%;height:100%;display:block}#camStatus{color:#2a2f38;opacity:0;pointer-events:none;text-align:right;max-width:60vw;font:italic 13px/1.3 Georgia,serif;transition:opacity .6s;position:fixed;bottom:28px;right:70px}#camStatus.show{opacity:.85}#camStatus.error{color:#8a2d2d;opacity:1}#guide{width:var(--guide-w);scrollbar-width:none;color:var(--ink);background:linear-gradient(90deg,#2a2f3812,#2a2f3805 85%,#0000);border-right:1px solid #2a2f381f;flex-direction:column;gap:22px;padding:34px 26px 22px 30px;font:14px/1.45 Georgia,Times New Roman,serif;transition:transform .6s cubic-bezier(.2,.7,.2,1),opacity .6s;display:flex;position:fixed;top:0;bottom:0;left:0;overflow-y:auto}#guide::-webkit-scrollbar{display:none}.guide-off #guide{opacity:0;pointer-events:none;transform:translate(-102%)}#guide h1{letter-spacing:.01em;margin:0;font-size:21px;font-weight:400}#guide .motto{opacity:.6;margin:3px 0 0;font-size:12.5px;font-style:italic}#guide h2{letter-spacing:.16em;text-transform:uppercase;opacity:.55;justify-content:space-between;gap:8px;margin:0 0 12px;font:600 10.5px/1 system-ui,sans-serif;display:flex}#seen{letter-spacing:.06em;text-transform:none;font-size:11px;font-weight:400}#seen.ok{color:var(--moss);opacity:1}.mode{display:none}body:not(.cam-on):not(.touch) .m-mouse,.touch:not(.cam-on) .m-touch,.cam-on .m-hands{display:block}.g{opacity:.72;border-radius:10px;grid-template-columns:38px 1fr;align-items:start;gap:12px;margin:0 -10px 2px -8px;padding:9px 10px 9px 8px;transition:opacity .35s,background .35s;display:grid}.g p{margin:0}.g b{font-weight:600}.g i{opacity:.72;margin-top:2px;font-size:12.5px;line-height:1.4;display:block}.g .ico{fill:none;width:36px;height:36px;stroke:var(--ink);stroke-width:1.35px;stroke-linecap:round;stroke-linejoin:round;transition:stroke .3s,transform .3s}.g .ico use{stroke:inherit}.g.on{opacity:1;background:#5e6a3321}.g.on .ico{stroke:var(--moss);transform:scale(1.06)}.g.flash{animation:.9s ease-out flash}@keyframes flash{0%{opacity:1;background:#e9dd71a6}to{background:0 0}}.note{color:var(--moss);margin-top:3px;font-size:12px;display:none}.note.show{display:block}.switch{opacity:.75;margin:14px 0 0;font-size:12.5px;line-height:1.45}kbd{background:#f2f0ea59;border:1px solid #2a2f384d;border-radius:4px;padding:2px 5px;font:11px/1 ui-monospace,monospace}#guide footer{opacity:.6;flex-wrap:wrap;gap:6px 12px;margin-top:auto;font-size:11.5px;display:flex}#guideBtn{cursor:pointer;width:32px;height:32px;color:var(--ink);opacity:0;pointer-events:none;background:#c0af8acc;border:1px solid #2a2f384d;border-radius:50%;font:16px Georgia,serif;transition:opacity .4s;position:fixed;top:16px;left:16px}.guide-off #guideBtn{opacity:.7;pointer-events:auto}@media (max-width:1100px){:root{--guide-w:262px}#guide{padding:26px 18px 18px 22px;font-size:13px}}@media (max-height:760px){#guide{gap:14px;padding-top:22px}.g{padding-top:6px;padding-bottom:6px}.g i{font-size:12px}}.track{background:#2a2f382e;border-radius:2px;height:2px;margin:9px 6px 2px 0;display:block;position:relative}.track span{background:var(--moss);opacity:.35;border-radius:50%;width:10px;height:10px;margin-left:-5px;transition:opacity .4s;position:absolute;top:-4px;left:50%}.g.on .track span{opacity:1}.rule{opacity:.7;margin:-4px 0 12px;font-size:12.5px;font-style:italic}#guide h3{letter-spacing:.12em;text-transform:uppercase;opacity:.62;align-items:center;gap:7px;margin:12px 0 2px;font:600 10.5px/1 system-ui,sans-serif;display:flex}#guide h3 .shape{fill:none;width:20px;height:20px;stroke:var(--ink);stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round}.m-hands .g{grid-template-columns:30px 1fr;gap:10px}.m-hands .g .ico{width:28px;height:28px}@media (max-height:800px){#guide h3{margin-top:7px}.m-hands .g i{display:none}.m-hands .g.on i{display:block}}.knocks{gap:6px;margin-top:6px;display:flex}.knocks span{border:1px solid #2a2f3873;border-radius:50%;width:7px;height:7px;transition:background .2s}.knocks span.lit{background:var(--moss);border-color:var(--moss)}#guide footer .home{color:inherit;border-bottom:1px solid #2a2f384d;flex-basis:100%;align-self:flex-start;width:max-content;margin-top:6px;text-decoration:none}#guide footer .home:hover{border-color:var(--ink)}#stage{touch-action:none}#guideClose,.touch #guide footer>span{display:none}@media (max-width:759px){#guide{z-index:5;background:#c0af8af7;border-right:0;width:100%;padding:26px 22px 22px}#guideClose{width:40px;height:40px;color:var(--ink);cursor:pointer;background:0 0;border:0;font:28px/1 Georgia,serif;display:block;position:absolute;top:12px;right:12px}#guideBtn{width:40px;height:40px}#cam{width:48px;height:48px}#camStatus{text-align:left;max-width:none;bottom:30px;left:16px;right:76px}#preview{width:150px}.m-hands .g i{display:block}}#preview.portrait{width:120px}@media (max-width:759px){#preview.portrait{width:96px}}#stage{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}
