.duck-sim{--ink:#0d0e11;--paper:#f3efe3;--yellow:#ffd22f;--orange:#ff6b2b;--pink:#ff4fa3;--teal:#2de1d1;--lavender:#bba4dc;--card:#fff;background:var(--paper);width:100%;height:100%;min-height:420px;color:var(--ink);-webkit-user-select:none;user-select:none;touch-action:none;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Noto Sans SC,sans-serif;position:relative;overflow:hidden}.duck-sim-root{position:absolute;inset:0}html.dark .duck-sim{--ink:#f3efe3;--paper:#15161a;--card:#22232a}.duck-stage{position:absolute;inset:0}.duck-stage canvas{display:block;width:100%!important;height:100%!important}.duck-overlay{pointer-events:none;position:absolute;inset:0;overflow:hidden}.duck-overlay .sticker{filter:drop-shadow(0 2px #0d0e1159);will-change:transform, opacity;font-size:34px;line-height:1;position:absolute;top:0;left:0}.duck-hud{pointer-events:none;flex-direction:column;justify-content:space-between;padding:12px;display:flex;position:absolute;inset:0}.duck-hud>*{pointer-events:none}.duck-hud button,.duck-hud .pad,.duck-hud .hud-gesture{pointer-events:auto}.hud-top{align-items:flex-start;gap:10px;display:flex}.hud-mood{background:var(--card);border:3px solid var(--ink);letter-spacing:.02em;box-shadow:4px 4px 0 var(--ink);border-radius:999px;align-items:center;gap:8px;padding:6px 14px 6px 8px;font-weight:800;display:inline-flex}.hud-mood .mood-emoji{font-size:22px;line-height:1}.hud-say{background:var(--yellow);color:#0d0e11;min-height:0;box-shadow:4px 4px 0 var(--ink);border:3px solid #0d0e11;border-radius:14px;padding:7px 12px;font-weight:800;transition:opacity .2s;transform:rotate(-1deg)}.hud-say:empty{opacity:0}.hud-stats{letter-spacing:.08em;text-transform:uppercase;opacity:.55;margin-left:auto;font:600 11px/1.2 ui-monospace,SFMono-Regular,Menlo,monospace}.hud-gesture{background:var(--card);border:3px solid var(--ink);width:200px;box-shadow:4px 4px 0 var(--ink);border-radius:14px;position:absolute;top:64px;right:12px;overflow:hidden;transform:rotate(1.5deg)}.hud-gesture video{aspect-ratio:4/3;object-fit:cover;background:#111;width:100%;display:block;transform:scaleX(-1)}.hud-gesture .gesture-name{text-transform:uppercase;letter-spacing:.06em;padding:8px 10px 2px;font-size:13px;font-weight:900}.hud-gesture .gesture-hint{opacity:.8;padding:0 10px 10px;font-size:12px;line-height:1.35}.hud-bottom{align-items:flex-end;gap:12px;display:flex}.pad{border:3px solid var(--ink);background:radial-gradient(circle at 50% 50%, var(--card) 0 40%, color-mix(in srgb, var(--card) 65%, transparent) 41%);width:120px;height:120px;box-shadow:4px 4px 0 var(--ink);border-radius:50%;flex:none;position:relative}.pad .knob{background:var(--yellow);border:3px solid #0d0e11;border-radius:50%;width:46px;height:46px;margin:-23px 0 0 -23px;transition:transform 50ms linear;position:absolute;top:50%;left:50%}.pad.active .knob{background:var(--orange)}.pad .pad-label{white-space:nowrap;letter-spacing:.1em;text-transform:uppercase;opacity:.6;font:700 11px/1 ui-monospace,monospace;position:absolute;bottom:-22px;left:50%;transform:translate(-50%)}.actions{flex-wrap:wrap;gap:8px;max-width:560px;display:flex}.btn{appearance:none;border:3px solid var(--ink);background:var(--card);color:var(--ink);cursor:pointer;box-shadow:3px 3px 0 var(--ink);border-radius:999px;padding:8px 14px;font:800 13px/1 inherit;transition:transform 80ms,box-shadow 80ms}.btn:hover{box-shadow:4px 4px 0 var(--ink);transform:translate(-1px,-1px)}.btn:active{box-shadow:1px 1px 0 var(--ink);transform:translate(2px,2px)}.btn.primary{background:var(--yellow);color:#0d0e11;border-color:#0d0e11}.btn.on{background:var(--teal);color:#0d0e11}.btn kbd{background:var(--ink);color:var(--paper);vertical-align:1px;border-radius:4px;margin-left:4px;padding:2px 4px;font:700 10px/1 ui-monospace,monospace}.duck-sim[data-mode=fallen] .btn:not([data-act=reset]):not([data-act=camera]):not([data-act=sound]){opacity:.45}.colorways{align-self:center;gap:6px;margin-left:auto;display:flex}.btn.more{display:none}.btn.rec.live{color:#fff;background:#ff2d2d;border-color:#0d0e11;animation:1s infinite recpulse}@keyframes recpulse{50%{box-shadow:3px 3px 0 var(--ink), 0 0 0 6px #ff2d2d40}}.rec-card{z-index:9;background:var(--card);width:min(420px,92%);color:var(--ink);border:3px solid var(--ink);box-shadow:6px 6px 0 var(--ink);pointer-events:auto;border-radius:18px;padding:14px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)rotate(-1deg)}.rec-card b{text-transform:uppercase;letter-spacing:-.02em;margin-bottom:10px;font:900 20px/1 Arial Black,Impact,sans-serif;display:block}.rec-card video{border:2px solid var(--ink);background:#000;border-radius:10px;width:100%;max-height:45vh;display:block}.rec-note{opacity:.7;margin:8px 0;font:600 11px/1.4 ui-monospace,monospace}.rec-actions{flex-wrap:wrap;gap:8px;display:flex}.rec-actions .btn{align-items:center;text-decoration:none;display:inline-flex}.chip{border:3px solid var(--ink);background:var(--c);cursor:pointer;width:26px;height:26px;box-shadow:2px 2px 0 var(--ink);border-radius:50%}.chip.on{outline:3px solid var(--ink);outline-offset:2px}.duck-loader{background:var(--paper);z-index:5;text-align:center;place-items:center;transition:opacity .5s;display:grid;position:absolute;inset:0}.duck-loader.done{opacity:0;pointer-events:none}.duck-loader .egg{font-size:72px;animation:1.2s ease-in-out infinite wobble}@keyframes wobble{0%,to{transform:rotate(-8deg)}50%{transform:rotate(8deg)translateY(-6px)}}.duck-loader h2{letter-spacing:-.03em;text-transform:uppercase;margin:12px 0 6px;font:900 28px/1 Arial Black,Impact,sans-serif}.duck-loader .bar{border:3px solid var(--ink);background:var(--card);border-radius:999px;width:260px;height:14px;margin:10px auto;overflow:hidden}.duck-loader .bar i{background:var(--yellow);width:0;height:100%;transition:width .3s;display:block}.duck-loader .step{letter-spacing:.1em;text-transform:uppercase;opacity:.7;font:600 12px/1.4 ui-monospace,monospace}.duck-loader .fine{opacity:.6;max-width:320px;margin-top:14px;font-size:12px}@media (max-width:760px),(pointer:coarse) and (max-height:520px){.duck-hud{padding:8px}.hud-top{flex-wrap:wrap;gap:6px;padding-right:0}.hud-mood{box-shadow:3px 3px 0 var(--ink);padding:4px 10px 4px 6px;font-size:12px}.hud-mood .mood-emoji{font-size:18px}.hud-say{max-width:60vw;box-shadow:3px 3px 0 var(--ink);padding:5px 9px;font-size:12px}.hud-stats{display:none}.hud-gesture{width:104px;top:46px;right:8px;transform:none}.hud-gesture .gesture-name{padding:5px 7px 0;font-size:10px}.hud-gesture .gesture-hint{padding:0 7px 7px;font-size:10px}.hud-gesture .face-line{display:none}.hud-bottom{justify-content:space-between;align-items:flex-end;gap:8px}.pad{width:104px;height:104px;box-shadow:3px 3px 0 var(--ink)}.pad .knob{width:40px;height:40px;margin:-20px 0 0 -20px}.pad .pad-label{display:none}.actions{flex-direction:column-reverse;align-items:flex-end;gap:8px;max-width:none;display:flex}.btn{width:52px;height:52px;box-shadow:3px 3px 0 var(--ink);border-radius:50%;justify-content:center;align-items:center;padding:0;font-size:22px;display:inline-flex}.btn span,.btn kbd{display:none}.btn:before{content:attr(data-icon);line-height:1}.btn[data-act=sound]{font-size:0}.btn[data-act=sound]:before{font-size:22px}.btn.more{font-size:0;display:inline-flex}.btn.more:before{font-size:26px;font-weight:900}.btn.sec,.colorways.sec{display:none}.actions-open .actions{background:var(--card);border:3px solid var(--ink);box-shadow:4px 4px 0 var(--ink);z-index:6;border-radius:18px;flex-flow:wrap;justify-content:flex-start;align-items:center;gap:8px;padding:10px;position:absolute;bottom:8px;left:8px;right:8px}.actions-open .pad{visibility:hidden}.actions-open .btn{border-radius:999px;gap:6px;width:auto;min-width:0;height:44px;padding:0 12px;font-size:13px}.actions-open .btn span{display:inline}.actions-open .btn:before{font-size:16px}.actions-open .btn[data-act=camera]{flex-basis:100%}.actions-open .btn[data-act=camera]:before,.actions-open .btn[data-act=ball]:before,.actions-open .btn[data-act=sound]:before{content:none}.actions-open .btn[data-act=sound]{font-size:18px}.actions-open .rec-card{display:none}.rec-actions .btn{border-radius:999px;width:auto;height:44px;padding:0 14px;font-size:13px}.rec-actions .btn span{display:inline}.rec-actions .btn:before{content:none}.actions-open .btn.sec{display:inline-flex}.actions-open .btn.more:before{content:"✕"}.actions-open .btn.more{order:-1;width:44px;margin-left:auto;padding:0}.actions-open .colorways.sec{flex-basis:100%;justify-content:center;gap:10px;margin:4px 0 0;display:flex}.chip{width:30px;height:30px}.duck-overlay .sticker{font-size:28px}.sim-corner{top:8px;right:8px}.sim-corner .theme-btn{width:30px;height:30px;font-size:13px}.hud-top{padding-right:44px}.sim-corner .lang-select{display:none}.test-panel{max-width:70vw;font-size:9px}}.hud-gesture .face-line{letter-spacing:.04em;opacity:.7;padding:0 10px 10px;font:600 11px/1.3 ui-monospace,monospace}.hud-gesture .face-line:empty{display:none}.test-panel{z-index:8;background:var(--card);border:3px solid var(--ink);max-width:520px;max-height:60%;box-shadow:4px 4px 0 var(--ink);pointer-events:auto;border-radius:12px;margin:0;padding:10px 12px;font:600 11px/1.5 ui-monospace,monospace;position:absolute;top:64px;left:12px;overflow:auto}.test-panel[data-result=pass]{border-color:#1a9c6b}.test-panel[data-result=fail]{border-color:#ff2d2d}.sim-corner{z-index:7;position:absolute;top:12px;right:12px}.sim-corner .i18n-controls{gap:8px;display:inline-flex}.sim-corner .lang-select{appearance:none;border:3px solid var(--ink);background:var(--card);color:var(--ink);box-shadow:3px 3px 0 var(--ink);border-radius:999px;max-width:140px;padding:8px 12px;font:700 12px/1 ui-monospace,monospace}.sim-corner .theme-btn{border:3px solid var(--ink);background:var(--card);cursor:pointer;width:36px;height:36px;box-shadow:3px 3px 0 var(--ink);border-radius:50%}.duck-paused{z-index:8;background:var(--yellow);color:#0d0e11;pointer-events:none;text-align:center;border:3px solid #0d0e11;border-radius:14px;max-width:80%;padding:10px 16px;font:800 14px/1.3 inherit;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)rotate(-2deg);box-shadow:4px 4px #0d0e11}
