:root{font-family:'Noto Sans KR','Malgun Gothic',sans-serif;color:#16415c;background:#e9f8ff;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input{font:inherit}button{cursor:pointer;border:0;border-radius:14px;background:#fff;color:#16415c;padding:13px 18px;font-weight:800;box-shadow:0 3px 0 #17485d20;touch-action:manipulation}button:disabled{opacity:.48;cursor:default}button:focus-visible,input:focus-visible,a:focus-visible{outline:4px solid #f7b72a;outline-offset:3px}button:not(:disabled):active{transform:translateY(2px)}header{height:70px;display:flex;align-items:center;gap:16px;padding:0 25px;background:white}.brand{text-decoration:none;color:#146aa0;font-size:22px;font-weight:800}.badge{font-size:12px;letter-spacing:2px;background:#e4f8fc;padding:7px 10px;border-radius:8px}.small{font-size:14px;padding:10px 12px;background:#eaf5f9}#fullscreen{margin-left:auto}main{height:calc(100dvh - 70px);min-height:420px;position:relative;overflow:hidden;background:#a9e8f4}canvas{display:block;width:100%;height:100%;touch-action:none;cursor:crosshair}.hud{position:absolute;top:18px;left:22px;right:22px;display:flex;gap:12px;pointer-events:none;z-index:1}.hud>div{background:#ffffffef;box-shadow:0 5px 0 #14587518;border-radius:19px;padding:12px 18px}.hud small{font-size:13px;display:block}.hud strong{font-size:25px;display:block}.stage strong span{font-size:16px;color:#7090a2}#stageName{font-size:13px}.tank{margin-left:auto;width:255px}.tank>div{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.tank strong{font-size:16px}.tank progress{width:100%;height:17px;accent-color:#05a8d4}.tank small{margin-top:5px}.mission{position:absolute;top:130px;left:24px;right:24px;display:flex;justify-content:space-between;align-items:center;gap:12px;pointer-events:none}.mission>span{background:#ffffffe8;border-radius:12px;padding:10px 14px;font-weight:700;font-size:15px}.mission button{pointer-events:auto;background:#753dc3;color:white}.toolbar{position:absolute;bottom:0;left:0;right:0;padding:15px 22px max(15px,env(safe-area-inset-bottom));background:#ffffffef;display:flex;gap:12px;align-items:center;flex-wrap:wrap}.toolbar button{background:#e9f5fc}.primary,.toolbar .primary{background:#057cbd;color:white;box-shadow:0 4px 0 #03517c}.help{margin-left:auto;font-size:14px}kbd{font-size:12px;background:#ffffff25;padding:4px;border-radius:4px;margin-left:8px}.weaponTag{position:absolute;bottom:92px;right:24px;background:#ffffffed;border-radius:20px;padding:8px 15px;font-size:14px;font-weight:800}#notice{position:absolute;top:205px;left:50%;transform:translateX(-50%);max-width:90%;text-align:center;background:#163f59ed;color:white;border-radius:14px;padding:12px 20px;pointer-events:none;z-index:4;font-weight:700}#notice:empty{display:none}.overlay{position:absolute;inset:0;display:grid;place-items:center;padding:20px;background:#11486160;backdrop-filter:blur(5px);z-index:5;overflow:auto}.panel{background:white;border:0;border-radius:26px;padding:28px;color:#16415c;box-shadow:0 18px 60px #16415c30;width:min(590px,94vw);max-height:92dvh;overflow:auto}.setup{margin:auto}.eyebrow{font-size:14px;font-weight:800;color:#0989b7}h1{font-size:42px;margin:7px 0;letter-spacing:-2px}h1 span{float:right}p{line-height:1.55;font-size:16px;margin:10px 0 18px;color:#537285}fieldset{padding:0;border:0;margin:18px 0}legend{font-size:17px;font-weight:800;margin-bottom:12px;width:100%}legend small{font-size:13px;font-weight:400;margin-left:8px}#tables{display:grid;grid-template-columns:repeat(8,1fr);gap:7px}#tables input{position:absolute;opacity:0}#tables span{display:block;padding:12px 0;text-align:center;border:2px solid #d9e9f1;border-radius:12px;font-weight:800;background:#f4f9fc}#tables input:checked+span{background:#d9f6ff;border-color:#079acf;color:#0070a5}#tables input:focus-visible+span{outline:3px solid orange}.text{font-size:14px;padding:8px 0;background:transparent;box-shadow:none;color:#0079b2}input[type=range]{width:100%;accent-color:#009ac9}.range{display:flex;justify-content:space-between;font-size:13px;color:#75909e}output{float:right;color:#028ab8}.rules{display:grid;gap:9px;border-radius:16px;background:#f0f9fc;padding:16px;font-size:14px;margin:16px 0}.wide{width:100%;font-size:18px}small{font-size:13px}.share{display:flex;gap:8px;margin:16px 0}.share button{flex:1;background:#edf6fb;font-size:14px}dialog::backdrop{background:#0d355e95;backdrop-filter:blur(4px)}.modalhead{display:flex;justify-content:space-between;gap:10px;align-items:center}.modalhead>b,.modalhead>div>b{font-size:20px}.modalhead button{font-size:14px;background:#eef5f9;padding:10px}.modalhead p{margin:5px 0 0;color:#0780b2;font-weight:800}#question{text-align:center;font-size:48px;margin:22px 0 10px}.reward{text-align:center;color:#0086a9;font-weight:700;margin-top:22px}#feedback{text-align:center;min-height:26px}#answers{display:grid;grid-template-columns:1fr 1fr;gap:12px}#answers button{font-size:30px;color:white;min-height:80px;background:#147fce}#answers button:nth-child(2){background:#8a4cbf}#answers button:nth-child(3){background:#de6640}#answers button:nth-child(4){background:#008b86}#answers .correct{outline:5px solid #97e245;opacity:1}.modalfoot{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:22px 0 14px}#written{max-width:360px;margin:auto}#written label{display:block;text-align:center;margin:12px}#answerInput{width:100%;font-size:30px;text-align:center;border:2px solid #b8d6e5;border-radius:12px;padding:10px}#keypad{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:12px 0}#keypad button{background:#eaf4fb;font-size:21px;padding:11px}#shopDialog{width:min(850px,94vw)}#shopItems{display:grid;grid-template-columns:1fr 1fr;gap:12px}.item{border:2px solid #d9ecf5;border-radius:17px;padding:16px;display:flex;flex-direction:column;gap:8px}.item.locked{background:#f4f6f8;color:#7b8e9b}.item h3{font-size:17px;margin:0}.item p{font-size:14px;margin:0;flex:1}.item button{font-size:14px;background:#e2f5ff}.item small{color:#007bae;font-weight:700}.centered{text-align:center}.celebrate{font-size:60px}.centered h2{font-size:29px}#stats{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:24px 0}#stats>div{border-radius:16px;background:#edf8fc;padding:16px}#stats strong{font-size:28px;display:block;margin-top:6px}#qrDialog img{max-width:100%;height:auto}.fullscreen main{min-height:0}[hidden]{display:none!important}@media(max-width:700px){header{padding:0 12px;gap:8px;height:58px}.brand{font-size:17px}.badge{display:none}.small{font-size:12px;padding:9px}main{height:calc(100dvh - 58px)}.hud{top:10px;left:10px;right:10px;gap:6px;flex-wrap:wrap}.hud>div{padding:9px 11px;border-radius:13px}.hud strong{font-size:20px}.stage{flex:1}.time,.wallet{flex:1}.tank{width:100%;display:flex;gap:10px;align-items:center}.tank>div{margin:0;gap:10px;white-space:nowrap}.tank strong{font-size:14px}.tank small{display:none}.tank progress{flex:1;min-width:45px}.mission{top:165px;left:10px;right:10px;align-items:flex-start}.mission>span{font-size:12px;max-width:55%;padding:8px}.mission button{font-size:13px;padding:10px}.toolbar{padding:10px;gap:8px}.toolbar button{font-size:14px;padding:13px 10px;flex:1;white-space:nowrap}.help{display:none}kbd{display:none}.weaponTag{bottom:88px;right:10px;font-size:12px}#notice{top:232px;font-size:14px;width:max-content}h1{font-size:34px}.panel{padding:23px}#tables{grid-template-columns:repeat(4,1fr)}#shopItems{grid-template-columns:1fr 1fr}.item{padding:12px}}@media(max-height:550px) and (min-width:600px){header{height:46px}main{height:calc(100dvh - 46px);min-height:0}.hud>div{padding:7px 12px}.hud{top:8px}.hud small,#stageName{display:none}.hud strong{font-size:20px}.mission{top:78px}.mission>span{font-size:13px}.mission button{padding:9px}.toolbar{padding:8px 15px}.toolbar button{padding:10px}.weaponTag{bottom:64px}#notice{top:125px}.panel{padding:20px}#question{font-size:34px;margin:10px}#answers button{min-height:54px}.reward{margin:10px}.modalfoot{margin:12px 0}#keypad button{padding:7px}.help{display:none}}

.itemArt{width:100%;height:165px;border-radius:12px;background-color:#f0faff}.gunArt{background-image:url(water-guns.png);background-size:400% 400%;background-repeat:no-repeat;aspect-ratio:1;height:auto;max-width:210px;align-self:center;mix-blend-mode:multiply}.itemEmoji{display:grid;place-items:center;font-size:95px}.item.locked .itemArt{opacity:.65}.weaponTag{bottom:80px;right:22px;z-index:1;pointer-events:none}#shopItems{grid-template-columns:repeat(3,minmax(0,1fr))}.item h3{line-height:1.4}.item p{min-height:45px}@media(max-width:700px){#shopItems{grid-template-columns:repeat(2,minmax(0,1fr))}.itemArt{max-width:170px}.itemEmoji{height:140px;font-size:78px}.weaponTag{bottom:74px;right:10px;font-size:12px}}@media(max-width:370px){#shopItems{grid-template-columns:1fr}}@media(max-height:550px) and (min-width:600px){.weaponTag{bottom:58px}}

#boss{display:grid!important;grid-template-columns:1fr auto;gap:7px 12px;min-width:185px;text-align:left;opacity:1}#boss:disabled{background:#6e7294;color:#fff;cursor:default}#boss:not(:disabled){background:#753dc3;box-shadow:0 0 0 3px #d9c5ff,0 4px 0 #55329a}#bossProgress{grid-column:1/-1;width:100%;height:9px;accent-color:#92e3ff;border:0;border-radius:8px;overflow:hidden}#bossProgress::-webkit-progress-bar{background:#ffffff33}#bossProgress::-webkit-progress-value{background:#92e3ff}#bossCount{white-space:nowrap}.weaponTag{left:50%;right:auto;transform:translateX(-50%);bottom:80px;white-space:nowrap}@media(max-width:700px){#boss{min-width:160px;font-size:13px;gap:6px}.weaponTag{left:50%;right:auto;bottom:74px}.mission>span{max-width:48%}}@media(max-height:550px) and (min-width:600px){.weaponTag{bottom:58px}#boss{gap:3px;padding:7px 12px}}

#result{width:min(780px,96vw)}.records{margin:20px 0;text-align:left;padding-top:16px;border-top:1px solid #d6e8ef}.records h3{margin:0 0 10px}.records p{font-size:14px}.recordScroll{overflow:auto;max-height:230px;margin:12px 0}.records table{border-collapse:collapse;width:100%;font-size:14px;white-space:nowrap}.records th,.records td{padding:10px;text-align:left;border-bottom:1px solid #e0edf3}.records th{background:#edf8fc;position:sticky;top:0}.records caption{text-align:left;font-size:13px;margin-bottom:8px}.records small{font-size:12px}#recordSummary{font-weight:800;color:#087db6}#retryRecord{background:#e4f4ff}
