.missions-view{background:#e7eef7;min-height:100%;color:#3d4d6a}
.missions-view[hidden]{display:none}
.ms-top{display:flex;align-items:center;justify-content:space-between;padding:8px 10px;background:linear-gradient(#f7f5fc,#bfd9f2)}.ms-top h1{margin:0;font-size:20px}
.ms-back{border:0;background:none;padding:0;cursor:pointer}.ms-back img{width:40px;height:40px}
.ms-tabs{display:flex;margin:8px}.ms-tab{flex:1;height:40px;border-style:solid;border-width:8px 8px 10px;border-color:transparent;background:none;font-weight:bold;color:#5d6f8c;cursor:pointer;padding:0}
.ms-tab.left{border-image:url('/assets/missions/nav_btn_white_left.png') 10 10 20 fill / 8px 8px 10px stretch}.ms-tab.right{border-image:url('/assets/missions/nav_btn_white_right.png') 10 10 25 fill / 8px 8px 10px stretch}
.ms-tab.left.on{border-image-source:url('/assets/missions/nav_btn_blue_left.png')}.ms-tab.right.on{border-image-source:url('/assets/missions/nav_btn_blue_right.png')}.ms-tab.on{color:#fff}
.ms-list{display:grid;gap:8px;padding:0 10px 80px}
.ms-row{display:grid;grid-template-columns:1fr auto auto;gap:8px;align-items:center;padding:8px 10px;background:#fff;border:2px solid #d5deec;border-radius:10px}
.ms-left b{display:block;font-size:13px;margin-bottom:5px}
.ms-bar{position:relative;width:160px;height:22px;background:center/100% 100% no-repeat}.ms-bar i{position:absolute;left:2px;top:2px;bottom:2px;max-width:calc(100% - 4px);background:center/100% 100% no-repeat;border-radius:9px}.ms-bar span{position:absolute;inset:0;text-align:center;line-height:22px;font-size:11px;font-weight:bold;color:#fff;text-shadow:0 0 2px #333}
.ms-awards{display:flex;gap:3px}.ms-award{position:relative;width:38px;height:38px;border-radius:6px;background:#eef2f8}.ms-award img{width:100%;height:100%;object-fit:contain}.ms-award b{position:absolute;right:1px;bottom:-2px;font-size:10px;color:#fff;text-shadow:0 0 2px #000,0 0 2px #000}
.ms-btn{min-width:64px;height:38px;border:0;border-radius:10px;background:linear-gradient(#ffe39a,#f6b94a);font-weight:bold;color:#5b3a10;cursor:pointer}.ms-btn.go{background:linear-gradient(#bfe0fa,#5f9be0);color:#16345a}.ms-btn:disabled{background:#d7dde6;color:#7a8699;cursor:default}.ms-btn.done{background:#bfe6c4;color:#2c7a39}
.ms-note{font-size:11px;color:#6c7a93;margin:6px 2px}.ms-note.err{color:#c0392b;text-align:center;font-weight:bold}
.ms-home-btn{display:grid;justify-items:center;border:0;background:none;padding:0;cursor:pointer}.ms-home-btn img{width:56px;height:56px;object-fit:contain}.ms-home-btn small{font-size:10px;font-weight:bold;color:#fff;text-shadow:0 0 3px #000}
/* AchievementItem / DailyMission rows from the prefab (668×109): 9gongge17 row, pub_bar_bg1 + pub_bar1 progress, 76 px awards,
   blue_btn_60_60 (138×60) or the mission_awarded stamp. Everything sliced, nothing stretched. */
.ms-row{background:none;border:10px solid transparent;border-image:url('/assets/missions/9gongge17.png') 20 fill / 10px stretch;border-radius:0;padding:4px 6px;min-height:58px;grid-template-columns:minmax(0,1fr) auto 86px}
.ms-left b{font-size:13px;line-height:1.2;margin-bottom:6px}
.ms-bar{width:min(190px,100%);height:18px;background:none;box-sizing:border-box;border:6px solid transparent;border-image:url('/assets/missions/pub_bar_bg1.png') 10 fill / 6px stretch}
.ms-bar i{left:-4px;top:-4px;bottom:-4px;max-width:calc(100% + 8px);background:none;border-radius:7px;overflow:hidden}
.ms-bar i u{position:absolute;left:0;top:0;bottom:0;width:190px;border:5px solid transparent;border-image:url('/assets/missions/pub_bar1.png') 8 fill / 5px stretch;box-sizing:border-box}
.ms-bar span{inset:-6px;line-height:18px;color:#fff;text-shadow:0 0 2px #24406e,0 0 2px #24406e}
.ms-awards{gap:4px}.ms-award{width:46px;height:46px;background:#f2f5fa;box-shadow:inset 0 0 0 1px #d9e0ec}.ms-award b{right:2px;bottom:0}
.ms-btn{width:86px;min-width:0;height:38px;border:8px solid transparent;border-image:url('/assets/missions/blue_btn_60_60.png') 20 fill / 8px stretch;border-radius:0;background:none;color:#fff;text-shadow:0 1px 2px #1f4c8a;padding:0;font-size:14px}
.ms-btn.go{border-image-source:url('/assets/missions/white_btn_60_60.png');background:none;color:#3f64b0;text-shadow:none}
.ms-btn:disabled{background:none;color:#fff;filter:grayscale(1);opacity:.75}
.ms-btn.done{border:0;border-image:none;background:none;filter:none;opacity:1;height:46px;display:grid;place-items:center}.ms-btn.done img{height:46px;width:auto}
.ms-tab{height:44px}

/* 078: tab corners retain their original proportions. */
.ms-tab{box-sizing:border-box;border-width:8px 10px;padding:0}
.ms-tab.left,.ms-tab.right{border-image-slice:12 14 12 14 fill;border-image-width:8px 10px}

/* Keep the progress width independent of the decorative frame. */
.ms-bar{border:0;border-image:none}
.ms-bar:before{content:"";position:absolute;inset:0;box-sizing:border-box;border:6px solid transparent;border-image:url('/assets/missions/pub_bar_bg1.png') 10 fill stretch}
.ms-bar i{left:2px;top:2px;bottom:2px;max-width:calc(100% - 4px);border-radius:6px}
.ms-bar i u{width:100%;border-width:4px;border-image-width:4px}
.ms-bar span{inset:0}
