/* PLUS 4.1: a self-contained mission-only layer. Ordinary game CSS/JS stays unchanged. */
#sm-root{position:fixed;z-index:900;inset:0;background:#081526;overflow:auto;display:none;overscroll-behavior:contain;padding:env(safe-area-inset-top) 0 env(safe-area-inset-bottom);color:#f5f3e9;font-family:-apple-system,BlinkMacSystemFont,"Noto Sans KR",sans-serif}
#sm-root.open{display:block}body.sm-open{overflow:hidden}
.sm-wrap{max-width:560px;min-height:100%;margin:auto;background:radial-gradient(ellipse at top,#254361,#091726 55%);padding:16px 16px 38px}
.sm-nav{display:flex;align-items:center;gap:10px;margin:2px 0 18px}.sm-brand{flex:1}.sm-brand strong{font-family:Georgia,"Noto Serif KR",serif;color:#ffe4a5;font-size:20px;display:block}.sm-brand small{color:#a8bfce;font-size:11px;letter-spacing:1px}.sm-iconbtn{background:#1c314a;border:1px solid #527083;border-radius:12px;color:#fff;padding:10px;min-width:44px;min-height:44px;font-size:16px}
.sm-card{background:linear-gradient(160deg,#182c44,#102236);border:1px solid #526a7b86;border-radius:18px;padding:17px;margin:12px 0;box-shadow:0 8px 28px #0003}.sm-card h2,.sm-card h3{margin:0 0 12px;color:#fff1ca}.sm-card h2{font-size:20px}.sm-card h3{font-size:16px}.sm-card p{font-size:13px;color:#d5e0e7;line-height:1.65}
.sm-banner{border-radius:20px;padding:22px 18px;background:linear-gradient(125deg,#364870b5,#755c5e88),url('scene/6.svg') center/cover;position:relative}.sm-banner:before{content:'🐱 🦊 🐺';position:absolute;top:14px;right:14px;font-size:25px}.sm-banner h1{font-size:27px;margin:44px 0 9px;color:#fff0bb;text-shadow:0 2px 13px #000}.sm-banner p{font-size:13px;line-height:1.65;margin:0 0 8px}.sm-banner .sm-mini{font-size:10px;letter-spacing:2px;color:#ffe2a6}
.sm-btn{background:linear-gradient(125deg,#ffe39f,#dcb46d);border:1px solid #fde5ab;color:#182538;border-radius:13px;padding:12px 15px;font-size:14px;font-weight:850;min-height:46px;cursor:pointer}.sm-btn:disabled{opacity:.48;cursor:not-allowed}.sm-btn.secondary{background:#25405c;border-color:#526a84;color:#f9f5ed}.sm-btn.ghost{background:#15293c;color:#dedfe3;border:1px solid #465c70}.sm-btn.danger{background:#492730;color:#ffd6d6;border-color:#a55760}.sm-btn.full{width:100%}.sm-row{display:flex;gap:10px;align-items:center}.sm-row>*{min-width:0}.sm-row .sm-fill{flex:1}.sm-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.sm-stack{display:grid;gap:10px}.sm-inp,.sm-select,.sm-textarea{background:#0c1b2d;color:#fff;border:1px solid #526479;border-radius:11px;padding:12px;min-height:45px;font:inherit;font-size:14px;width:100%}.sm-textarea{min-height:76px;resize:vertical}.sm-label{display:block;margin-bottom:5px;font-size:12px;color:#decb9e;font-weight:750}.sm-muted{font-size:12px;color:#aabdca;line-height:1.5}.sm-note{background:#102b40;border:1px solid #4e7181;border-radius:12px;padding:11px 13px;font-size:12px;line-height:1.6;color:#c4e4e3}.sm-warning{border-color:#a8734d;background:#3d2b23;color:#ffe2bb}.sm-tags{display:flex;flex-wrap:wrap;gap:7px}.sm-tag{font-size:11px;border:1px solid #67819a;border-radius:999px;padding:5px 9px;color:#e6eff5;background:#213954}.sm-tag.gold{background:#57412a;color:#ffeab2;border-color:#ca9d57}.sm-line{height:1px;background:#4b607170;margin:15px 0}
.sm-chat{display:grid;gap:8px;max-height:240px;overflow-y:auto;padding:4px 0}.sm-msg{background:#14253a;border:1px solid #36475b;border-radius:12px;padding:9px 11px}.sm-msg.mine{background:#273f4a}.sm-msg strong{display:block;font-size:11px;color:#f3d38b;margin-bottom:3px}.sm-msg span{font-size:13px;overflow-wrap:anywhere}.sm-chatbox{display:flex;gap:7px;margin-top:10px}.sm-chatbox input{flex:1}.sm-chatbox button{min-width:66px}
.sm-player{display:flex;justify-content:space-between;align-items:center;gap:8px;border-bottom:1px solid #3a53656e;padding:10px 0;font-size:13px}.sm-player:last-child{border:0}.sm-num{font-size:23px;font-weight:850;color:#fff0b5}.sm-timer{font-variant-numeric:tabular-nums;font-size:23px;color:#ffe0a3;font-weight:900}.sm-timer.urgent{color:#ff8c86;animation:smPulse .9s infinite alternate}@keyframes smPulse{to{opacity:.5}}
.sm-question{background:linear-gradient(#07162aae,#07162ade),url('scene/4.svg') center/cover;border:1px solid #65738d;border-radius:19px;padding:23px 17px;text-align:center}.sm-question h2{font-size:20px;line-height:1.55;color:#fff2ce;margin:15px 0}.sm-answer{width:100%;border-radius:13px;padding:13px 14px;color:#f7efe3;background:#182b43;border:1px solid #60758e;text-align:left;font-size:14px;cursor:pointer;display:flex;align-items:center;gap:10px;min-height:50px}.sm-answer b{border:1px solid #8aa1b3;border-radius:7px;min-width:25px;height:25px;display:grid;place-items:center}.sm-answer:disabled{opacity:.45}.sm-answer:hover{background:#304966}
.sm-shop{display:grid;grid-template-columns:repeat(2,1fr);gap:9px}.sm-product{border:1px solid #466579;border-radius:12px;background:#172b42;padding:13px}.sm-product strong{display:block;font-size:13px;margin:8px 0 3px}.sm-product p{font-size:11px;margin:0 0 9px;min-height:35px}.sm-product .sm-btn{font-size:11px;min-height:36px;padding:7px;width:100%}
.sm-overlay{position:fixed;inset:0;background:#000b;z-index:920;display:flex;align-items:flex-end;justify-content:center}.sm-sheet{width:min(560px,100%);max-height:90dvh;overflow:auto;background:#12263d;border-radius:22px 22px 0 0;padding:20px 18px max(20px,env(safe-area-inset-bottom));border:1px solid #5c7182}
.sm-ranking{display:flex;justify-content:space-between;gap:8px;align-items:center;border-bottom:1px solid #39526c;padding:11px 0;font-size:13px}.sm-ranking:first-child{color:#ffdf84;font-weight:bold}.sm-result-face{height:125px;display:flex;gap:15px;align-items:center;justify-content:center}.sm-result-face img{height:110px;width:110px;object-fit:contain;filter:drop-shadow(0 6px 9px #000a)}.sm-result-face.joy img{animation:smJump .48s ease-in-out infinite alternate}.sm-result-face.low img{animation:smWiggle .9s ease-in-out infinite alternate}@keyframes smJump{to{transform:translateY(-15px) rotate(7deg)}}@keyframes smWiggle{to{transform:rotate(-7deg)}}
.sm-detail{border-bottom:1px solid #456074;padding:13px 0;font-size:13px;line-height:1.65}.sm-detail summary{cursor:pointer;font-weight:750;color:#ffe7aa}.sm-detail p{font-size:12px;line-height:1.7}.sm-rainbow{font-size:38px;text-align:center;animation:smFloat 1.5s infinite alternate}@keyframes smFloat{to{transform:translateY(-6px)}}
.sm-error{color:#ffc2bb;font-size:13px}.sm-success{color:#9ce9c3;font-size:12px}.sm-center{text-align:center}.sm-spaced{margin-top:15px}.sm-badge{color:#defff4;background:#1e5956;padding:4px 8px;border-radius:8px;font-size:11px;font-weight:bold}
@media(max-width:370px){.sm-wrap{padding:12px 12px 30px}.sm-banner h1{font-size:24px}.sm-grid{gap:6px}}
