:root{color-scheme:dark;font-family:Georgia,Malgun Gothic,serif;color:#fff2cf;background:#102827}*{box-sizing:border-box;letter-spacing:0}html,body{margin:0;width:100%;min-height:100%}button{font:inherit;cursor:pointer}button svg{width:20px;height:20px;vertical-align:middle}button:focus-visible{outline:3px solid #2cffe6;outline-offset:4px}button:disabled{opacity:.4;cursor:default}.hidden{display:none!important}.duel-intro{position:absolute;top:0;right:0;bottom:0;left:0;z-index:40;display:flex;overflow:hidden;background:#091c23}.duel-portrait{width:50%;height:100%;background-image:url(/assets/pirate-cover.png);background-size:auto 100%;position:relative;animation:duel-enter .35s ease-out}.duel-portrait.red{background-position:left center;border-right:3px solid #e4bd69}.duel-portrait.blue{background-position:right center}.duel-portrait span{position:absolute;bottom:18%;left:0;width:100%;text-align:center;font:700 24px Georgia,serif;text-shadow:0 3px 5px #000}#duelWord{position:absolute;top:40%;left:0;width:100%;text-align:center;font:italic 900 64px Arial,sans-serif;color:#fff0ba;text-shadow:3px 4px #1c302e,0 0 22px #ed8b40}#skipIntro{position:absolute;bottom:5%;right:4%;padding:10px 16px;color:#fff;background:#142c28;border:1px solid #d3b46d;border-radius:4px}.arcade-callout{position:absolute;top:17%;left:0;width:100%;text-align:center;z-index:32;pointer-events:none;font:italic 900 42px Arial,sans-serif;color:#b4fff2;text-shadow:3px 3px #17382f,-2px -2px #17382f,0 0 18px #ff805e;animation:duel-enter .2s ease-out}@keyframes duel-enter{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@media(max-width:480px){#duelWord{font-size:36px}.duel-portrait span{font-size:16px}.arcade-callout{font-size:28px}}@media(prefers-reduced-motion:reduce){.duel-portrait,.arcade-callout{animation:none}}#app{width:100%;min-height:100dvh;display:flex;flex-direction:column;align-items:center;padding:12px 16px}.scanlines,.hint,.brand-mark,.turn-card{display:none}.hud-top{width:min(100%,1380px);height:48px;display:flex;align-items:center}.mode-switch{order:2;display:flex;margin-left:auto;border:1px solid #9f8e60;border-radius:4px;padding:3px;flex-shrink:0}.mode-switch button{border:0;border-radius:2px;color:#bcd0c8;background:transparent;padding:7px 12px;font:700 12px Malgun Gothic,sans-serif}.mode-switch button[aria-pressed=true]{background:#d6b66d;color:#142b26}.item-bar{display:flex;align-items:center;justify-content:center;gap:14px;padding:4px 12px 10px;min-height:66px}.item-bar strong{font-size:12px;color:#d6b66d}#itemSlots{display:grid;grid-template-columns:repeat(3,100px);gap:8px}#itemSlots button{height:46px;border:1px solid #829583;border-radius:4px;color:#e9efdc;background:#203d35;display:flex;align-items:center;justify-content:center;gap:7px;font:12px Malgun Gothic,sans-serif}#itemSlots button[aria-pressed=true]{border:2px solid #2effda;color:#2effda;background:#24574b;box-shadow:0 0 12px #2effda30}.item-mode #game{max-height:calc(100dvh - 214px)}@media(max-width:600px){.hud-top{flex-wrap:wrap;height:78px;gap:6px;align-content:center}.mode-switch{margin:0}.brand{width:100%}.item-bar{gap:6px;flex-wrap:wrap}.item-bar strong{width:100%;text-align:center}#itemSlots{grid-template-columns:repeat(3,96px)}}.brand strong{font-size:22px}.brand small{margin-left:16px;font:11px Arial,sans-serif;color:#92bdb4}.brand>div{display:flex;align-items:center}.stage-wrap{position:relative;width:min(100%,1380px);margin:auto 0}#game{width:100%;aspect-ratio:8 / 5;max-height:calc(100dvh - 144px)}#game canvas{display:block;touch-action:none}.scoreboard{position:absolute;top:1.6%;left:16%;width:68%;z-index:15;display:grid;grid-template-columns:1fr 1.35fr 1fr;gap:8%;pointer-events:none}.score-panel,.round-lamp{min-width:0;height:42px;display:flex;align-items:center;justify-content:center;gap:10px;background:#142625f2;border:2px solid #bd9655;outline:2px solid #152526;box-shadow:inset 0 0 0 2px #4c5648,0 4px 8px #0007;border-radius:4px}.score-panel span{font-size:12px;font-weight:700}.score-panel strong{font:700 26px Arial,sans-serif}.score-panel:before{content:"";flex-shrink:0;width:23px;height:23px;border-radius:50%;background:radial-gradient(circle at 32% 24%,#697983,#172129 45%,#04080b 85%);border:1px solid #728481;box-shadow:0 3px 3px #0009}.score-panel.white:before{background:radial-gradient(circle at 32% 24%,#fff,#f2ead6 45%,#b5ab8b)}.round-lamp{font-size:15px;font-weight:700;color:#a7fff0;text-align:center;padding:0 4px}.hud-bottom{width:min(100%,920px);min-height:60px;display:flex;align-items:center;justify-content:center;gap:12px}.button-row{display:flex;gap:8px}.hud-bottom button{border:1px solid #ae8c50;border-radius:4px;background:#193b37;color:#f9e7bb;min-height:42px;padding:0 16px;font:700 13px Malgun Gothic,sans-serif}.hud-bottom button:hover:enabled{background:#28554b}#startBtn{background:#d6b66d;color:#142b26}.shot-stats{font:11px Arial,sans-serif;color:#a2b6aa;display:flex;gap:10px}.shot-stats b{color:#3df7dc}.power-meter{width:200px;height:26px;padding:4px;background:#081a18;border:2px solid #bd9655;border-radius:6px}.power-meter span{display:block;height:100%;width:0;background:repeating-linear-gradient(90deg,#23ead9 0,#23ead9 14px,#10665b 14px,#10665b 16px);box-shadow:0 0 10px #2cead866}.win-banner{position:absolute;top:38%;left:50%;transform:translate(-50%);z-index:30;padding:24px 40px;background:#142c28f5;border:2px solid #d3b46d;text-align:center;border-radius:4px}.win-banner span{display:block;color:#61ffe6;font-size:12px}.win-banner strong{display:block;margin-top:8px;font-size:32px;white-space:nowrap}.intro-screen{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:grid;place-items:center;background:#102827}.intro-screen img{position:absolute;width:100%;height:100%;object-fit:cover}.intro-vignette{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#071c2920,transparent 65%,#071c2950)}.intro-copy{position:relative;align-self:start;margin-top:9dvh;text-align:center;text-shadow:0 2px 4px #092a40,0 4px 18px #092a4099}.intro-kicker{color:#ffdf94;font:700 13px Arial,sans-serif}.intro-copy h1{font-size:86px;margin:12px 0;color:#fff2cf}.intro-copy p{font-size:18px;margin:0 0 28px}.intro-copy button{padding:16px 32px;background:#e3c47a;color:#142b26;border:2px solid #fbdf9c;border-radius:4px;font-weight:700;font-size:18px;box-shadow:0 5px #54492e}@media(max-width:800px){#app{padding:8px 0}.hud-top{padding:0 16px}.brand strong{font-size:18px}.brand small{font-size:10px}.scoreboard{left:12%;width:76%;gap:4%}.score-panel,.round-lamp{height:32px;gap:5px}.score-panel strong{font-size:20px}.score-panel:before{width:18px;height:18px}.round-lamp{font-size:12px}.hud-bottom{flex-wrap:wrap;padding:12px;gap:8px}.shot-stats{display:none}.power-meter{width:160px}}@media(max-width:480px){#app{justify-content:center}.hud-top{position:absolute;top:8px}.stage-wrap{margin:48px 0 8px}.brand small{margin-left:10px}.scoreboard{top:-36px;left:4%;width:92%;gap:4%}.score-panel span{font-size:11px}.hud-bottom{max-width:360px}.power-meter{width:100%;height:22px;order:-1}.hud-bottom button{min-height:44px;padding:0 18px}.intro-copy h1{font-size:64px}.intro-copy p{font-size:15px}.intro-screen img{object-fit:contain;background:#102827}.intro-copy{align-self:stretch;margin:0;width:100%;padding-top:36px}.intro-copy button{position:absolute;bottom:9dvh;left:50%;transform:translate(-50%);white-space:nowrap}}@media(max-height:500px)and (min-width:600px){#app{padding:0}.hud-top{display:none}#game{max-height:calc(100dvh - 52px)}.hud-bottom{min-height:52px;padding:4px}.intro-copy{margin-top:16px}.intro-copy h1{font-size:48px;margin:6px 0}.intro-copy p{margin-bottom:12px;font-size:15px}.intro-copy button{padding:10px 24px;font-size:15px}}
