@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700;900&display=swap');
:root{--green:#123b2e;--paper:#f2f0e6;--lime:#d3f568;--ink:#173a2e}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:'Noto Sans JP',sans-serif}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer;font:inherit}header{max-width:1200px;margin:auto;padding:28px 40px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #163a2e30}.brand{text-decoration:none;color:inherit;font-size:40px;font-weight:900;letter-spacing:-4px;display:flex;align-items:center;gap:16px}.brand span{font:700 10px/1.7 monospace;letter-spacing:1.5px}.sound{border:1px solid #173a2e50;border-radius:30px;background:none;padding:10px 17px;font:11px monospace}main{max-width:1120px;margin:auto;padding:34px 0}.eyebrow{font:11px monospace;letter-spacing:1.5px;display:flex;align-items:center;gap:9px}.dot{width:7px;height:7px;border-radius:50%;background:#56945c}.hero{display:grid;grid-template-columns:1fr 1fr;gap:65px;align-items:center;padding:37px 0 44px}.serial{font-size:13px;font-weight:700;letter-spacing:3px;margin:0 0 22px}h1{font-size:clamp(80px,9vw,128px);font-weight:900;line-height:1.05;letter-spacing:-8px;margin:0}h1 span{color:var(--paper);-webkit-text-stroke:2px var(--green)}.lead{font-size:14px;line-height:2;margin:25px 0 20px}.tags{display:flex;gap:8px}.tags span{font-size:10px;border:1px solid #173a2e40;padding:5px 9px;border-radius:4px}.instructions{display:flex;gap:14px;align-items:center;margin-top:28px;font:12px monospace}.instructions span{font-size:11px;font-weight:400;margin-left:5px}.instructions i{font-style:normal}.machine{background:var(--green);padding:12px;transform:rotate(2deg);box-shadow:10px 12px 0 #173a2e15}.frame-top,.frame-bottom{display:flex;justify-content:space-between;color:var(--paper);font:9px monospace;letter-spacing:1px;padding:4px 2px 14px}.frame-bottom{padding:14px 2px 4px}.photo-stage{position:relative;overflow:hidden;aspect-ratio:1.14;background:#123b2e}.photo-stage img{width:100%;height:100%;object-fit:cover;object-position:center 30%;transform:scale(1.06);filter:saturate(.7)}.scan{position:absolute;inset:0;background:repeating-linear-gradient(0deg,transparent,transparent 3px,#123b2e0d 4px);pointer-events:none}.target{position:absolute;left:61%;top:27%;width:24%;height:29%;border:1px solid var(--lime);border-radius:50%;box-shadow:0 0 0 10px #d3f56818}.target:after{content:'+';color:var(--lime);position:absolute;inset:0;display:grid;place-items:center;font-size:30px;font-weight:100}.annotation{position:absolute;right:5%;top:10%;color:var(--lime);font-size:11px;text-shadow:0 1px 4px #000}.annotation small{font:7px monospace}.shout{position:absolute;left:5%;bottom:12%;font-size:48px;font-weight:900;color:var(--lime);transform:rotate(-8deg);text-shadow:3px 3px var(--green)}.photo-caption{position:absolute;bottom:0;left:0;right:0;padding:6px;background:#123b2ebb;color:#fff;font-size:8px}.console{background:var(--green);color:var(--paper);padding:28px 32px;display:grid;grid-template-columns:1fr 310px;gap:40px;align-items:center;border-radius:4px}.label{font-size:14px;font-weight:700;display:flex;align-items:center;gap:12px}.label>span{font:9px monospace;color:#b6c5ae;letter-spacing:1px}.label strong{margin-left:auto;font:32px monospace;color:var(--lime)}small{font-size:12px}.meter{height:13px;background:#ffffff16;position:relative;margin:12px 0;overflow:hidden}.meter>div{height:100%;width:0;background:var(--lime)}.meter>i{position:absolute;right:4%;top:0;height:100%;border-left:2px solid white}.power p{font-size:10px;color:#c5d3bd;margin:0}.fire{border:0;border-radius:2px;background:var(--lime);color:var(--green);padding:20px;font-weight:900;touch-action:none;user-select:none;box-shadow:0 5px 0 #8ea24b}.fire span{font-size:23px;display:block;letter-spacing:2px}.fire b{display:block;font:9px monospace;letter-spacing:2px;margin-top:8px}.fire:active{transform:translateY(4px);box-shadow:none}.fire:disabled{opacity:.65;cursor:wait}.flight{margin-top:36px;border:1px solid #173a2e30}.flight-heading{display:flex;justify-content:space-between;padding:15px 20px;font:9px monospace;letter-spacing:1px}.flight-heading span+span{font-size:9px;letter-spacing:0}.sky{height:150px;position:relative;overflow:hidden;background-image:linear-gradient(#173a2e09 1px,transparent 1px),linear-gradient(90deg,#173a2e09 1px,transparent 1px);background-size:25px 25px}.ground{position:absolute;bottom:25px;width:100%;border-bottom:1px solid #173a2e60}.marker{position:absolute;bottom:7px;font-size:9px;color:#526e60}.m1{left:5%}.m2{left:43%}.m3{right:5%}.projectile{position:absolute;left:4%;bottom:26px;width:33px;height:33px;background:var(--green);color:var(--lime);display:grid;place-items:center;border-radius:50%;font-weight:900}.result{display:flex;justify-content:space-between;align-items:center;padding:18px 24px;border-top:1px solid #173a2e30}.result>span{font-size:13px;font-weight:700}.result strong{font:36px monospace}.stats{display:flex;gap:60px;padding:27px 0;align-items:center}.stats div{display:flex;flex-direction:column;gap:8px}.stats div>span{font-size:9px;color:#5c7265}.stats b{font:27px monospace}.stats p{margin-left:auto;font-size:12px;line-height:1.8;font-weight:700}footer{max-width:1120px;margin:0 auto;padding:22px 0 28px;border-top:1px solid #173a2e30;display:flex;justify-content:space-between;font:9px/1.8 monospace;color:#627466}.charging img{animation:shake .1s infinite}.charging .target{box-shadow:0 0 25px #d3f568}.boom{animation:shake .12s 4}@keyframes shake{0%,100%{translate:0}25%{translate:3px -2px}75%{translate:-3px 2px}}button:focus-visible,a:focus-visible{outline:3px solid #ec794a;outline-offset:5px}@media(max-width:800px){header{padding:20px 24px}main{padding:25px 24px}.hero{gap:25px}h1{font-size:84px}.console{grid-template-columns:1fr 230px;gap:22px;padding:24px}.instructions{font-size:10px;gap:5px}footer{margin:0 24px}}@media(max-width:600px){.eyebrow{font-size:8px;letter-spacing:.5px}.hero{grid-template-columns:1fr;padding-top:26px}.intro{position:relative}h1{font-size:90px}h1 br{display:none}.serial{font-size:11px;margin-bottom:15px}.lead{font-size:12px;margin:18px 0}.instructions{margin-top:20px;gap:12px}.machine{margin:10px 3px}.console{grid-template-columns:1fr;gap:22px;padding:22px}.fire{padding:18px}.flight-heading{padding:12px;font-size:8px}.flight-heading span+span{display:none}.result{padding:15px;gap:15px}.result>span{font-size:11px}.result strong{font-size:27px;white-space:nowrap}.stats{gap:22px}.stats p{font-size:10px}.stats div>span{max-width:105px;line-height:1.6}footer{font-size:7px;gap:15px}.brand{font-size:32px}.brand span{font-size:8px}}@media(prefers-reduced-motion:reduce){.charging img,.boom{animation:none}}

.explosion{position:absolute;bottom:42px;width:0;height:0;z-index:5;pointer-events:none}.explosion span{position:absolute;display:block;left:0;top:0}.blast-fire,.blast-glow,.blast-ring,.blast-smoke{width:var(--blast-size);height:var(--blast-size);border-radius:50%;transform:translate(-50%,-50%)}.blast-fire{background:radial-gradient(circle,#fff8c4 0 12%,#ffd64c 28%,#ff731b 49%,#e23e17 65%,transparent 72%);animation:fireball .85s ease-out forwards;filter:drop-shadow(0 0 12px #ff9d29)}.blast-glow{background:#ffd57d;filter:blur(20px);animation:fireball .55s ease-out forwards}.blast-ring{border:5px solid #ffae37;animation:shockwave .9s ease-out forwards}.blast-smoke{background:radial-gradient(circle,#4d453ca0,transparent 68%);animation:smoke 1.7s ease-out forwards}.blast-word{white-space:nowrap;font-weight:900;font-size:clamp(20px,4vw,42px);color:#fff2ac;text-shadow:2px 2px #702512,-2px -2px #702512,3px 4px #702512;animation:blastword 1.7s ease-out forwards;transform:translate(-70%,-100%) rotate(-8deg)}.blast-spark{position:absolute;width:7px;height:7px;background:#ffb32c;border-radius:2px;box-shadow:0 0 8px #ff751b;animation:spark 1.1s ease-out forwards}.impact-shake{animation:impactshake .4s ease-out}
@keyframes fireball{0%{opacity:1;transform:translate(-50%,-50%) scale(.15)}35%{opacity:1;transform:translate(-50%,-50%) scale(1)}100%{opacity:0;transform:translate(-50%,-60%) scale(1.3)}}
@keyframes shockwave{0%{opacity:1;transform:translate(-50%,-50%) scale(.1,.1)}100%{opacity:0;transform:translate(-50%,-50%) scale(2.6,.75)}}
@keyframes smoke{0%{opacity:0;transform:translate(-50%,-50%) scale(.5)}35%{opacity:.8}100%{opacity:0;transform:translate(-50%,-110%) scale(1.8)}}
@keyframes spark{0%{opacity:1;transform:translate(0,0)}100%{opacity:0;transform:translate(var(--dx),var(--dy)) rotate(var(--turn))}}
@keyframes blastword{0%{opacity:0;scale:.5}15%,65%{opacity:1;scale:1}100%{opacity:0;scale:1.1}}
@keyframes impactshake{0%,100%{translate:0}20%{translate:-7px 4px}40%{translate:6px -3px}60%{translate:-4px 2px}80%{translate:2px -1px}}
@media(prefers-reduced-motion:reduce){.impact-shake{animation:none}.explosion .blast-fire,.explosion .blast-word{animation:none;opacity:1}.explosion .blast-glow,.explosion .blast-ring,.explosion .blast-smoke,.blast-spark{display:none}.explosion .blast-fire{opacity:.65}}
.pattoya-brand{display:inline-block;color:var(--green);font:900 19px/1.8 "Noto Sans JP",sans-serif;text-decoration:none;letter-spacing:-.5px;margin-bottom:5px}.pattoya-brand small{font-size:10px;font-weight:500;letter-spacing:1px;margin-left:5px}.pattoya-brand:hover{text-decoration:underline;text-underline-offset:4px}
