/* ミッション画面(assets/missions.js)。文字の大きさは設定の「標準/大/特大」(--ts)に合わせる */
.mission-screen{position:fixed;left:0;top:0;right:0;bottom:0;z-index:700;background:rgba(6,12,9,.78);display:flex;align-items:center;justify-content:center;padding:10px;}
.mission-screen.hidden{display:none;}
.mission-card{width:min(560px,100%);max-height:100%;display:flex;flex-direction:column;background:linear-gradient(#17291f,#101d16);border:1px solid #35574a;border-radius:14px;box-shadow:0 10px 40px rgba(0,0,0,.55);color:#e8f1ea;overflow:hidden;}
.mission-head{display:flex;align-items:center;gap:8px;padding:10px 12px 8px;border-bottom:1px solid #27413a;}
.mission-head h2{margin:0;font-size:calc(17px * var(--ts,1));letter-spacing:.04em;flex:none;}
.mission-help{flex:none;width:calc(24px * var(--ts,1));height:calc(24px * var(--ts,1));border-radius:50%;border:1px solid #5f8c78;background:#1f3a2e;color:#cfe8da;font-size:calc(13px * var(--ts,1));line-height:1;cursor:pointer;padding:0;}
.mission-medals{margin-left:auto;display:inline-flex;align-items:center;gap:5px;padding:3px 10px 3px 5px;border-radius:999px;background:#0b1510;border:1px solid #6b5a22;font-size:calc(15px * var(--ts,1));color:#ffe28a;}
.mission-medals img{width:calc(24px * var(--ts,1));height:calc(24px * var(--ts,1));display:block;}
.mission-close{flex:none;width:calc(32px * var(--ts,1));height:calc(32px * var(--ts,1));border-radius:8px;border:1px solid #4b6e5f;background:#1f3a2e;color:#e8f1ea;font-size:calc(15px * var(--ts,1));cursor:pointer;padding:0;}
.mission-tabs{display:flex;gap:4px;padding:8px 10px 0;}
.mission-tabs button{position:relative;flex:1;min-width:0;height:calc(40px * var(--ts,1));border:1px solid #35574a;border-bottom:none;border-radius:9px 9px 0 0;background:#14241c;color:#9fc2b0;font-size:calc(13px * var(--ts,1));cursor:pointer;padding:0 4px;}
.mission-tabs button.on{background:#1f3a2e;color:#fff;font-weight:700;border-color:#5f8c78;}
.mission-tab-dot,.mission-dot{position:absolute;right:6px;top:5px;width:9px;height:9px;border-radius:50%;background:#ff5a4a;box-shadow:0 0 0 2px #14241c;}
.mission-tab-dot.hidden,.mission-dot.hidden{display:none;}
.mission-list{overflow-y:auto;-webkit-overflow-scrolling:touch;padding:10px;display:flex;flex-direction:column;gap:7px;background:#1f3a2e22;border-top:1px solid #35574a;min-height:120px;}
.mission-row{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:10px;background:#0f1a14;border:1px solid #27413a;}
.mission-row.ready{border-color:#d6aa3a;background:linear-gradient(#1b2a14,#121c0e);box-shadow:0 0 0 1px #d6aa3a55 inset;}
.mission-row.claimed{opacity:.55;}
.mission-main{flex:1;min-width:0;}
.mission-title{font-size:calc(13.5px * var(--ts,1));line-height:1.35;margin-bottom:5px;word-break:break-all;}
.mission-bar{position:relative;height:calc(15px * var(--ts,1));border-radius:8px;background:#0a110d;border:1px solid #2c4a3c;overflow:hidden;}
.mission-bar i{position:absolute;left:0;top:0;bottom:0;background:linear-gradient(#5cc58a,#3a9a68);border-radius:8px;}
.mission-row.ready .mission-bar i{background:linear-gradient(#ffd966,#e0a82a);}
.mission-bar span{position:absolute;left:0;right:0;top:0;bottom:0;display:flex;align-items:center;justify-content:center;font-size:calc(10.5px * var(--ts,1));color:#fff;text-shadow:0 1px 2px #000;}
.mission-side{flex:none;display:flex;flex-direction:column;align-items:flex-end;gap:5px;}
.mission-reward{display:inline-flex;align-items:center;gap:3px;font-size:calc(13px * var(--ts,1));color:#ffe28a;font-weight:700;}
.mission-reward img{width:calc(20px * var(--ts,1));height:calc(20px * var(--ts,1));display:block;}
.mission-btn{min-width:calc(86px * var(--ts,1));height:calc(32px * var(--ts,1));padding:0 8px;border-radius:8px;border:1px solid #3d5c4e;background:#17261e;color:#8fb5a2;font-size:calc(11.5px * var(--ts,1));cursor:default;}
.mission-btn.ready{background:linear-gradient(#ffd966,#e0a82a);border-color:#a87a10;color:#2d1d02;font-weight:700;cursor:pointer;}
.mission-btn:disabled{opacity:.9;}
/* ダンジョン内の下のボタン(ミッション) */
.bottom-nav #missionBtn{position:relative;}
.bottom-nav #missionBtn .mission-dot{right:3px;top:3px;}
/* トリメダル交換所(assets/medal-shop.js)。ミッションの画面の部品をそのまま使い、足りない分だけ */
.shop-kind{font-size:calc(10.5px * var(--ts,1));color:#9fc2b0;border:1px solid #3d5c4e;border-radius:6px;padding:0 5px;margin-left:4px;font-weight:400;}
.shop-desc{font-size:calc(11.5px * var(--ts,1));color:#b9d3c6;line-height:1.4;margin-bottom:4px;}
.shop-stock{font-size:calc(11px * var(--ts,1));color:#9fc2b0;}
.shop-empty{text-align:center;color:#9fc2b0;padding:18px 0;}
.shop-product{cursor:pointer;}
.shop-product .shop-swatch{flex:none;width:calc(30px * var(--ts,1));height:calc(30px * var(--ts,1));border-radius:7px;}
.shop-product .shop-swatch.item-icon{display:inline-flex;align-items:center;justify-content:center;background:#0b1510;border:1px solid #35574a;}
.shop-product .shop-swatch.item-icon svg{width:70%;height:70%;}
.shop-product .shop-swatch.item-icon{width:calc(34px * var(--ts,1)) !important;height:calc(34px * var(--ts,1)) !important;border-radius:8px !important;}
.shop-product .shop-swatch.item-icon svg{width:calc(22px * var(--ts,1));height:calc(22px * var(--ts,1));}
