.hw-game{position:absolute;inset:0;z-index:100;overflow:hidden;display:flex;flex-direction:column;padding:64px 18px 22px;color:#f1e8e0;background:radial-gradient(ellipse at 50% 30%,#30283f,#100e1b 75%);font-family:inherit;isolation:isolate}.hw-game *{box-sizing:border-box}.hw-game-skip{position:absolute;top:16px;right:16px;z-index:4;border:1px solid #ffffff38;border-radius:11px;background:#30293d;color:#e6d8ec;padding:8px 14px;font:inherit;cursor:pointer}.hw-game-head{display:block;text-align:center;padding:0;margin:0;border:0;max-width:none}.hw-game-head small{color:var(--game-accent);font:11px Georgia,serif;letter-spacing:.18em}.hw-game-head h2{font-size:clamp(19px,3vw,27px);line-height:1.3;margin:10px 0}.hw-game-head p{font-size:12px;line-height:1.6;color:#c7bdcf;margin:0 auto;max-width:400px}.hw-game-field{position:relative;flex:1;min-height:240px;max-height:650px;width:min(100%,700px);margin:auto;touch-action:none;user-select:none;-webkit-user-select:none}.hw-game-atmosphere{position:absolute;inset:0;background:radial-gradient(ellipse,var(--game-accent),transparent 65%);opacity:.075;pointer-events:none}.hw-game-destination{position:absolute;top:-2%;left:50%;translate:-50% 0;width:55%;height:53%;display:grid;place-items:center;pointer-events:none}.hw-game-destination img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 0 15px #b3b4b329);transition:transform .5s,opacity .5s}.hw-game-job,.hw-game-fragment{background:linear-gradient(130deg,#f2e5cc,#cfc0aa);color:#332735;border:1px solid #fff0d6;padding:15px 18px;text-align:left;border-radius:6px 14px 6px 14px;box-shadow:0 13px 28px #0005}.hw-game-job{position:absolute;left:50%;top:58%;translate:-50% -50%;width:min(75%,350px);min-height:138px;transform:translate(var(--drag-x,0),var(--drag-y,0));transition:box-shadow .2s;cursor:grab}.hw-game-job.held{box-shadow:0 18px 35px #0008}.hw-game-job small,.hw-game-fragment small{display:block;font-size:10px;color:#4d6a55;letter-spacing:.08em}.hw-game-job strong,.hw-game-fragment strong{display:block;font-size:16px;line-height:1.5;margin:7px 0}.hw-game-job i,.hw-game-fragment i{display:block;height:2px;width:90%;background:#5c4a5329;margin-top:8px}.hw-game-job i:last-child,.hw-game-fragment i:last-child{width:55%}.hw-game-controls{display:block;border:0;padding:5px 0 0;text-align:center;margin:0;width:100%;font-family:inherit}.hw-game-status{font-size:12px;color:#dbd0e2;min-height:20px;margin:0 0 8px}.hw-game-progress{width:min(74%,300px);height:4px;background:#ffffff12;border-radius:9px;overflow:hidden;margin:0 auto 13px}.hw-game-progress>i{display:block;width:100%;height:100%;background:var(--game-accent);transform:scaleX(0);transform-origin:left;transition:transform .25s}.hw-game-action{background:#3a2d3d;color:var(--game-accent);border:1px solid color-mix(in srgb,var(--game-accent) 50%,transparent);padding:10px 22px;border-radius:12px;font-family:inherit;font-size:13px;font-weight:700;line-height:1.4;cursor:pointer}.hw-game-controls>small{display:block;font-size:10px;color:#aea0b7;margin-top:12px}.hw-game button:focus-visible{outline:2px solid var(--game-accent);outline-offset:3px}.hw-game-targets{position:absolute;inset:0;pointer-events:none}.hw-game-targets button{position:absolute;width:42px;height:42px;left:calc(9% + var(--target)*27%);bottom:8%;background:#35283c;color:#edd5a6;border:1px solid #d5af7d66;border-radius:50%;font-size:20px;cursor:pointer;pointer-events:auto;transition:transform .25s,box-shadow .25s}.hw-game-targets button.lit{background:#665033;box-shadow:0 0 21px #dba96455;transform:scale(1.12)}.hw-game-bloom .hw-game-targets button{left:calc(5% + var(--target)*24%);color:#d6c3e9;font-size:27px}.hw-game-bloom .hw-game-targets button.lit{background:#4c3b5b;box-shadow:0 0 25px #bfa0df77;transform:rotate(60deg) scale(1.16)}.hw-game-field[data-mode=drag] .hw-game-destination{pointer-events:none;border:1px dashed #c4c0d348;border-radius:50%}.hw-game-field[data-mode=slash]{cursor:crosshair}.hw-game-tool{position:absolute;width:150px;height:150px;object-fit:contain;translate:-45% -70%;rotate:-25deg;pointer-events:none;z-index:3;filter:drop-shadow(0 0 7px #c4e0e080)}.hw-game-cut{position:absolute;height:3px;transform-origin:left center;background:#ffdeb1;box-shadow:0 0 14px #e7a45c;z-index:2;pointer-events:none;animation:hwg-cut .8s ease-out both}.hw-game-fragment{position:absolute;clip-path:polygon(var(--clip-a) var(--clip-c),var(--clip-b) var(--clip-c),var(--clip-b) var(--clip-d),var(--clip-a) var(--clip-d));pointer-events:none;animation:hwg-scatter 1.5s ease-out both;z-index:2}.hw-game-won .hw-game-job{opacity:0;transition:opacity .3s,transform 1.1s;transform:translateY(-170px) scale(.3)}.hw-game-verdict.hw-game-won .hw-game-job{transition:none}.hw-game-won .hw-game-destination img{transform:scale(1.15);filter:drop-shadow(0 0 25px #bdbbba55)}.hw-game-verdict .hw-game-destination{opacity:.28}.hw-game-eclipse .hw-game-destination{pointer-events:auto;cursor:pointer}.hw-game-eclipse .hw-game-destination img{transform:rotate(calc(var(--align,1)*95deg)) scale(calc(1 - var(--align,1)*.25))}.hw-game-arrival.hw-game-won .hw-game-destination{animation:hwg-ship 1.8s ease-in both}.hw-game-gate.hw-game-won .hw-game-job{transform:translateY(-130px) scale(.05)}.hw-game-bats.hw-game-won .hw-game-destination{animation:hwg-flight 1.8s ease-in both}@keyframes hwg-scatter{to{transform:translate(var(--piece-x),var(--piece-y)) rotate(var(--piece-rotation));opacity:0}}@keyframes hwg-cut{to{opacity:.15}}@keyframes hwg-ship{to{transform:translateX(140%) scale(.6);opacity:0}}@keyframes hwg-flight{to{transform:translate(80%,-50%) scale(.6);opacity:0}}.hw-game-still *{animation:none!important;transition:none!important}.hw-game-still.hw-game-won .hw-game-fragment{opacity:.4}.hw-game-still.hw-game-won .hw-game-job{opacity:.3}@media(max-height:680px){.hw-game{padding-top:45px}.hw-game-head h2{font-size:18px;margin:6px 0}.hw-game-field{min-height:170px}.hw-game-job{min-height:100px;padding:9px 12px}.hw-game-controls>small{margin-top:6px}.hw-game-head p{font-size:11px}}

.hw-game-still.hw-game-won .hw-game-fragment{opacity:.75;transform:translate(calc(var(--piece-x)*.22),calc(var(--piece-y)*.22)) rotate(calc(var(--piece-rotation)*.2))}.hw-game-verdict.hw-game-won .hw-game-job{opacity:0!important}

.hw-game-motion{position:absolute;top:16px;left:16px;z-index:4;border:1px solid #ffffff28;border-radius:10px;background:#272331;color:#cfc1da;padding:8px 10px;font-family:inherit;font-size:10px;cursor:pointer}
