.dnn-throw,.dnn-throw *{box-sizing:border-box}.dnn-throw{--red:#d71920;--dark:#151515;--paper:#fffdf3;--yellow:#ffd43b;width:100%;max-width:920px;margin:24px auto;color:var(--dark);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans JP",sans-serif;line-height:1.7}.dnn-throw [hidden]{display:none!important}.dnn-throw__breaking{display:flex;overflow:hidden;border-radius:10px 10px 0 0;color:#fff;background:#151515;font-size:13px;font-weight:900}.dnn-throw__breaking span{padding:11px 16px;background:var(--red)}.dnn-throw__breaking b{padding:11px 16px}.dnn-throw__panel{padding:clamp(22px,4vw,46px);border:1px solid #d8d2c2;border-top:0;border-radius:0 0 10px 10px;background:linear-gradient(rgba(20,20,20,.025) 1px,transparent 1px),var(--paper);background-size:100% 28px;box-shadow:0 16px 40px #0002;text-align:center}.dnn-throw__eyebrow{margin:0 0 6px;color:var(--red);font-size:13px;font-weight:900;letter-spacing:.1em}.dnn-throw .dnn-throw__title{margin:0;padding:0;border:0;background:none;font-size:clamp(29px,6vw,50px);font-weight:900;line-height:1.22}.dnn-throw .dnn-throw__title:before,.dnn-throw .dnn-throw__title:after{display:none!important;content:none!important}.dnn-throw__lead{max-width:720px;margin:13px auto 20px}.dnn-throw__hud{display:grid;grid-template-columns:repeat(3,1fr);overflow:hidden;border:3px solid var(--dark);border-bottom:0;border-radius:10px 10px 0 0;color:#fff;background:var(--dark);font-family:Impact,"Arial Black",sans-serif;letter-spacing:.08em}.dnn-throw__hud span{padding:8px 5px;border-right:1px solid #555}.dnn-throw__hud span:last-child{border:0}.dnn-throw__hud strong{color:var(--yellow);font-size:1.15em}.dnn-throw__arena{position:relative;overflow:hidden;min-height:clamp(350px,54vw,500px);border:3px solid var(--dark);border-top:0;background:linear-gradient(180deg,#8fbdcc 0 55%,#323941 55%);isolation:isolate}.dnn-throw__arena:before{position:absolute;inset:0;z-index:-1;background:repeating-linear-gradient(90deg,transparent 0 70px,#fff1 70px 73px),linear-gradient(160deg,transparent 45%,#0002 46% 48%,transparent 49%);content:""}.dnn-throw__message{position:absolute;top:10px;left:50%;z-index:12;min-width:min(84%,540px);padding:7px 16px;transform:translateX(-50%);border:2px solid #fff;border-radius:999px;color:#fff;background:#000d;font-weight:900}.dnn-throw__fighter{position:absolute;bottom:30px;z-index:4;width:190px;height:310px;transform-origin:50% 100%}.dnn-throw__fighter--player{left:13%;transform:scaleX(-1)}.dnn-throw__fighter--enemy{right:13%}.dnn-throw__head{position:absolute;top:18px;left:68px;width:64px;height:72px;border:7px solid #171717;border-radius:45% 45% 40% 40%;background:#c88964;box-shadow:inset 0 14px 0 #232323}.dnn-throw__head:after{position:absolute;top:35px;left:13px;width:29px;height:7px;background:#171717;box-shadow:17px 0 0 -2px #171717;content:""}.dnn-throw__body{position:absolute;top:82px;left:43px;width:105px;height:150px;border:8px solid #171717;border-radius:28px 28px 12px 12px;background:#8e2746;box-shadow:inset 0 -45px 0 #242b3a}.dnn-throw__body:before,.dnn-throw__body:after{position:absolute;top:136px;width:39px;height:90px;border:8px solid #171717;background:#303b50;content:""}.dnn-throw__body:before{left:3px;transform:rotate(5deg)}.dnn-throw__body:after{right:3px;transform:rotate(-5deg)}.dnn-throw__fighter--player .dnn-throw__body{background:#e6e0cb;box-shadow:inset 0 -45px 0 #294e8a}.dnn-throw__arm{position:absolute;top:100px;width:82px;height:35px;border:7px solid #171717;border-radius:18px;background:linear-gradient(90deg,#8e2746 0 58%,#c88964 59%);transform-origin:10px 50%;transition:none}.dnn-throw__arm:after{position:absolute;right:-14px;top:3px;width:24px;height:22px;border:5px solid #171717;border-radius:50%;background:#c88964;content:""}.dnn-throw__arm--left{left:49px;z-index:6;transform:rotate(70deg) scaleX(.72)}.dnn-throw__arm--right{left:83px;z-index:5;transform:rotate(105deg) scaleX(.72)}.dnn-throw__fighter--enemy.is-ready{animation:dnn-throw-breathe .55s steps(2,end) infinite}.dnn-throw__fighter--enemy.is-one{animation:dnn-throw-step .55s steps(3,end) both}.dnn-throw__fighter--enemy.is-one .dnn-throw__arm--left{animation:dnn-arm-one .42s steps(3,end) both}.dnn-throw__fighter--enemy.is-two{animation:dnn-throw-step .55s steps(3,end) both}.dnn-throw__fighter--enemy.is-two .dnn-throw__arm--right{z-index:7;animation:dnn-arm-two .42s steps(3,end) both}.dnn-throw__fighter--enemy.is-both{animation:dnn-throw-step .55s steps(3,end) both}.dnn-throw__fighter--enemy.is-both .dnn-throw__arm--left{animation:dnn-arm-both-left .42s steps(3,end) both}.dnn-throw__fighter--enemy.is-both .dnn-throw__arm--right{z-index:7;animation:dnn-arm-both-right .42s steps(3,end) both}.dnn-throw__fighter--player.is-grabbed{animation:dnn-player-grabbed .42s steps(2,end) 2}.dnn-throw__fighter--player.is-break{filter:drop-shadow(0 0 15px #4ff)}.dnn-throw__grab{position:absolute;top:45%;left:50%;z-index:9;width:18px;height:18px;pointer-events:none}.dnn-throw__grab.is-visible:before{position:absolute;inset:-65px;border:14px solid #fff;background:#ff2a20;clip-path:polygon(50% 0,59% 38%,100% 18%,65% 48%,100% 66%,61% 60%,70% 100%,50% 67%,29% 100%,38% 60%,0 70%,35% 49%,0 26%,41% 39%);content:"";animation:dnn-grab-pop .35s ease-out both}.dnn-throw__grab.is-break:before{background:#36dfff}.dnn-throw__names{position:absolute;right:13px;bottom:7px;left:13px;z-index:6;display:flex;justify-content:space-between;color:#fff;font-weight:900;text-shadow:2px 2px #000}.dnn-throw__cover{position:absolute;inset:0;z-index:20;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px;color:#fff;background:#090d11e8;backdrop-filter:blur(3px)}.dnn-throw__cover strong{font-size:clamp(38px,8vw,68px);font-style:italic;line-height:1.1;text-shadow:4px 4px var(--red)}.dnn-throw__cover span{margin:12px 0 23px;font-weight:800}.dnn-throw__cover button,.dnn-throw__retry,.dnn-throw__share a,.dnn-throw__share button{appearance:none;border:0;border-radius:999px;font:inherit;font-weight:900;cursor:pointer;text-decoration:none}.dnn-throw__cover button{padding:14px 42px;color:#fff;background:var(--red);box-shadow:0 7px #870d12;font-size:clamp(20px,4vw,27px)}.dnn-throw__controls{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px;margin-top:15px}.dnn-throw__controls button{appearance:none;position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:108px;padding:12px;border:3px solid var(--dark);border-radius:12px;background:#fff;box-shadow:0 7px var(--dark);font:inherit;cursor:pointer;touch-action:manipulation}.dnn-throw__controls button:nth-child(2){background:#fff1a9}.dnn-throw__controls small{position:absolute;top:6px;left:8px;padding:1px 6px;border-radius:4px;color:#fff;background:#222;font-size:10px}.dnn-throw__controls strong{font-size:clamp(27px,5vw,38px);line-height:1.1}.dnn-throw__controls span{font-size:11px}.dnn-throw__controls button.is-active{transform:translateY(6px);color:#fff;background:#087cc4;box-shadow:0 1px var(--dark)}.dnn-throw__help{margin:17px 0 0;color:#555;font-size:13px}.dnn-throw__result{margin-top:30px;padding-top:30px;border-top:4px double #222}.dnn-throw__score-label{font-size:13px;font-weight:900;letter-spacing:.2em}.dnn-throw__final{font-size:clamp(70px,18vw,110px);font-weight:900;line-height:1.1}.dnn-throw__final small{font-size:.3em}.dnn-throw__result article{padding:clamp(23px,5vw,40px);border:3px solid #222;background:#fff;text-align:left}.dnn-throw__result article>div{display:inline-block;padding:3px 14px;color:#fff;background:var(--red);font-weight:900}.dnn-throw .dnn-throw__result h2{margin:10px 0 16px;padding:0 0 14px;border:0;border-bottom:2px solid #222;background:none;font-size:clamp(23px,5vw,36px);font-weight:900}.dnn-throw__result article>span{display:inline-block;padding:7px 12px;background:var(--yellow)}.dnn-throw__best{font-weight:800}.dnn-throw__share{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:10px;margin:24px 0}.dnn-throw__share a,.dnn-throw__share button{min-width:150px;padding:12px 20px;color:#fff!important;background:#111}.dnn-throw__share button{background:#4b5563}.dnn-throw__share small{flex-basis:100%;color:#146c2e}.dnn-throw__retry{padding:12px 28px;border:2px solid #222;background:transparent}.dnn-throw button:focus-visible,.dnn-throw a:focus-visible{outline:4px solid #0068ff4d;outline-offset:3px}
@keyframes dnn-throw-breathe{50%{transform:translateY(-4px)}}@keyframes dnn-throw-step{0%{transform:translateX(0)}30%,100%{transform:translateX(-38%)}}@keyframes dnn-arm-one{0%{transform:rotate(70deg) scaleX(.72)}35%{transform:rotate(125deg) scaleX(.9)}100%{transform:translateX(-74px) rotate(178deg) scaleX(1.3)}}@keyframes dnn-arm-two{0%{transform:rotate(105deg) scaleX(.72)}35%{transform:rotate(130deg) scaleX(.9)}100%{transform:translateX(-78px) translateY(15px) rotate(185deg) scaleX(1.3)}}@keyframes dnn-arm-both-left{0%{transform:rotate(70deg) scaleX(.72)}35%{transform:rotate(125deg)}100%{transform:translateX(-76px) translateY(-10px) rotate(174deg) scaleX(1.25)}}@keyframes dnn-arm-both-right{0%{transform:rotate(105deg) scaleX(.72)}35%{transform:rotate(135deg)}100%{transform:translateX(-80px) translateY(20px) rotate(188deg) scaleX(1.25)}}@keyframes dnn-player-grabbed{50%{transform:scaleX(-1) translateX(15%) rotate(-7deg);filter:sepia(1) saturate(6)}}@keyframes dnn-grab-pop{0%{transform:scale(.2);opacity:0}40%{opacity:1}100%{transform:scale(1.2) rotate(25deg);opacity:0}}
/* Reference-based poses: a wide single arm for 1/2, two parallel arms for 1+2. */
.dnn-throw__arm{width:104px;height:39px;border-width:7px;box-shadow:0 0 0 2px #ffffff70,0 5px 8px #0005}
.dnn-throw__arm:after{right:-17px;top:2px;width:30px;height:25px}
.dnn-throw__arm--left{top:92px;left:45px;z-index:7;transform:rotate(72deg) scaleX(.58)}
.dnn-throw__arm--right{top:126px;left:72px;z-index:6;transform:rotate(108deg) scaleX(.58)}
.dnn-throw__fighter--enemy.is-one .dnn-throw__body{transform:rotate(-6deg)}
.dnn-throw__fighter--enemy.is-one .dnn-throw__head{transform:translate(-5px,-2px) rotate(-8deg)}
.dnn-throw__fighter--enemy.is-two .dnn-throw__body{transform:rotate(7deg)}
.dnn-throw__fighter--enemy.is-two .dnn-throw__head{transform:translate(5px,1px) rotate(8deg)}
.dnn-throw__fighter--enemy.is-both .dnn-throw__body{transform:rotate(-2deg)}
@keyframes dnn-arm-one-clear{0%{transform:rotate(72deg) scaleX(.58)}32%{transform:translate(-15px,-8px) rotate(135deg) scaleX(.78)}100%{transform:translate(-105px,-5px) rotate(180deg) scaleX(1.18)}}
@keyframes dnn-arm-two-clear{0%{transform:rotate(108deg) scaleX(.58)}32%{transform:translate(-12px,10px) rotate(145deg) scaleX(.78)}100%{transform:translate(-106px,20px) rotate(180deg) scaleX(1.18)}}
@keyframes dnn-arm-both-left-clear{0%{transform:rotate(72deg) scaleX(.58)}32%{transform:translate(-15px,-5px) rotate(138deg) scaleX(.78)}100%{transform:translate(-104px,-10px) rotate(180deg) scaleX(1.14)}}
@keyframes dnn-arm-both-right-clear{0%{transform:rotate(108deg) scaleX(.58)}32%{transform:translate(-12px,8px) rotate(145deg) scaleX(.78)}100%{transform:translate(-106px,16px) rotate(180deg) scaleX(1.14)}}
.dnn-throw__fighter--enemy.is-one .dnn-throw__arm--left{animation-name:dnn-arm-one-clear}.dnn-throw__fighter--enemy.is-one .dnn-throw__arm--right{z-index:5;transform:rotate(112deg) scaleX(.5)}
.dnn-throw__fighter--enemy.is-two .dnn-throw__arm--right{z-index:8;animation-name:dnn-arm-two-clear}.dnn-throw__fighter--enemy.is-two .dnn-throw__arm--left{z-index:5;transform:rotate(68deg) scaleX(.5)}
.dnn-throw__fighter--enemy.is-both .dnn-throw__arm--left{z-index:8;animation-name:dnn-arm-both-left-clear}.dnn-throw__fighter--enemy.is-both .dnn-throw__arm--right{z-index:9;animation-name:dnn-arm-both-right-clear}
@media(max-width:600px){.dnn-throw{margin:12px auto}.dnn-throw__panel{padding:25px 9px 30px}.dnn-throw__breaking span,.dnn-throw__breaking b{padding:9px 7px;font-size:9px}.dnn-throw__arena{min-height:365px}.dnn-throw__fighter{bottom:25px;transform:scale(.72);transform-origin:50% 100%}.dnn-throw__fighter--player{left:-2%;transform:scaleX(-1) scale(.72)}.dnn-throw__fighter--enemy{right:-2%}.dnn-throw__fighter--enemy.is-ready{animation-name:dnn-throw-breathe-mobile}.dnn-throw__fighter--enemy.is-one,.dnn-throw__fighter--enemy.is-two,.dnn-throw__fighter--enemy.is-both{animation-name:dnn-throw-step-mobile}.dnn-throw__controls{gap:6px}.dnn-throw__controls button{min-height:100px;padding:10px 3px}.dnn-throw__controls small{display:none}.dnn-throw__controls span{font-size:9px}@keyframes dnn-throw-breathe-mobile{50%{transform:scale(.72) translateY(-4px)}}@keyframes dnn-throw-step-mobile{0%{transform:scale(.72) translateX(0)}30%,100%{transform:scale(.72) translateX(-24%)}}}
@media(prefers-reduced-motion:reduce){.dnn-throw__fighter,.dnn-throw__arm,.dnn-throw__grab:before{animation-duration:.01ms!important}}
