#mission-badge[hidden]{display:none}.mission-dialog{position:fixed;inset:0;margin:auto;width:min(620px,94vw);max-height:85vh;overflow:auto;padding:24px;border:2px solid #d5e5ca;border-radius:20px;background:#fffdf6;color:#203514;box-shadow:0 20px 80px #0004;font-family:Nunito,system-ui}.mission-dialog::backdrop{background:#10231099}.mission-dialog h2{margin:0 35px 10px 0}.mission-dialog h3{margin:16px 0 6px}.mission-dialog p{font-size:.85rem;line-height:1.5;color:#687965}.mission-close{position:absolute;right:12px;top:10px;border:0;background:transparent;font-size:30px;cursor:pointer}.mission-dialog ul{padding:0;list-style:none;display:grid;gap:8px;margin:12px 0}.mission-dialog li{display:grid;grid-template-columns:1fr auto;gap:5px;padding:10px;border:1px solid #d5e5ca;border-radius:10px;background:white}.mission-dialog li.complete{background:#eff9e7}.mission-dialog progress{grid-column:1/-1;width:100%;height:8px;accent-color:#65a30d}.mission-toasts{position:fixed;right:16px;top:90px;z-index:2147483647;display:grid;gap:8px;max-width:min(350px,90vw);pointer-events:none}.mission-toasts div{background:#fffbe7;color:#203514;border:2px solid #8bb95f;border-radius:12px;padding:14px;box-shadow:0 8px 25px #0003;font:800 14px Nunito,system-ui}@media(max-width:500px){#mission-badge{padding:6px;font-size:11px}.mission-dialog{padding:16px}}

.mission-signup{display:inline-block;padding:12px 18px;background:#f97316;color:#fff;border-radius:999px;font-weight:900;text-decoration:none}

.mission-dialog{width:min(550px,calc(100vw - 28px));max-height:calc(100dvh - 36px);padding:0;border:1px solid #dfebd5;border-radius:24px;background:#fff;box-shadow:0 24px 100px #10231055;scrollbar-width:thin;box-sizing:border-box}
.mission-dialog::backdrop{background:#10201988;backdrop-filter:blur(4px)}
.mission-heading{display:flex;align-items:center;gap:12px;padding:22px 22px 16px;background:linear-gradient(135deg,#f3f9eb,#fffdf2)}
.mission-emblem{display:grid;place-items:center;flex:none;width:46px;height:46px;border-radius:15px;background:#e6f1d6;color:#56851c;font-size:29px}
.mission-heading h2{margin:0;font-size:1.4rem;line-height:1.2;color:#264415}
.mission-heading p{margin:5px 0 0;font-size:.8rem;line-height:1.4}
.mission-heading>div:nth-child(2){flex:1;min-width:0}
.mission-dialog .mission-close{position:static;flex:none;width:32px;height:32px;display:grid;place-items:center;border-radius:50%;background:#fff;color:#71816b;font:400 24px/1 system-ui;align-self:flex-start}
.mission-close:hover{background:#eaf1e4;color:#264415}
.mission-tabs{display:flex;gap:5px;margin:16px 22px 0;padding:5px;border-radius:13px;background:#f1f4ee}
.mission-tabs button{display:flex;align-items:center;justify-content:center;gap:9px;flex:1;min-height:39px;border:0;border-radius:9px;background:transparent;color:#75816c;font:800 .85rem Nunito,system-ui;cursor:pointer}
.mission-tabs button[aria-selected=true]{background:#fff;color:#365e1d;box-shadow:0 2px 7px #1b361514}
.mission-tabs button span{padding:2px 7px;border-radius:6px;background:#eaf0e4;font-size:.7rem}
.mission-tabs button[aria-selected=true] span{background:#dcedc7;color:#426f21}
.mission-panel{padding:16px 22px 0}
.mission-reward{display:grid;grid-template-columns:1fr auto;gap:14px;padding:15px 17px 12px;border-radius:14px;border:1px solid #f7dfb5;background:linear-gradient(110deg,#fff7e6,#fffdf6)}
.mission-reward small{display:block;font-size:.7rem;font-weight:800;color:#8b784f}
.mission-reward strong{display:block;margin-top:4px;color:#d18719;font:900 24px/1.2 Nunito,system-ui}
.mission-reward strong span{font-size:13px;font-weight:800}
.mission-summary{text-align:right;display:grid;align-content:center;gap:3px}
.mission-summary b{color:#375f23;font-size:18px}
.mission-summary span{color:#7d886f;font-size:10px}
.mission-overall{grid-column:1/-1;height:5px;border-radius:5px;background:#f2e5cd;overflow:hidden}
.mission-overall i{display:block;height:100%;background:#e6a136;border-radius:5px}
.mission-dialog .mission-reset{margin:10px 1px;font-size:10px;color:#8a9581}
.mission-dialog .mission-list{margin:0;padding:0;gap:6px;max-height:min(390px,45dvh);overflow-y:auto;scrollbar-width:thin}
.mission-dialog .mission-list li{display:flex;align-items:center;gap:11px;min-height:48px;padding:8px 12px;border:1px solid #e6ecdf;border-radius:11px;box-sizing:border-box;background:#fff}
.mission-dialog .mission-list li.complete{background:#f4f9ee;border-color:#dfebd2}
.mission-icon{display:grid;place-items:center;flex:none;width:31px;height:31px;border-radius:9px;background:#f3f5f0;color:#889978;font-size:16px}
.complete .mission-icon{background:#e1efce;color:#649032}
.mission-task{flex:1;min-width:0;display:grid;gap:7px}
.mission-task>span{font-size:12px;font-weight:800;line-height:1.25;color:#405535;overflow-wrap:anywhere}
.complete .mission-task>span{color:#728763}
.mission-meter{height:4px;border-radius:6px;background:#edf1e7;overflow:hidden}
.mission-meter i{display:block;height:100%;background:#a3bb7a;border-radius:6px;transition:width .25s}
.complete .mission-meter i{background:#86ac53}
.mission-count{flex:none;min-width:40px;text-align:right;font:900 13px Nunito,system-ui;color:#44662e}
.mission-count small{font-size:10px;font-weight:700;color:#9aa48e}
.complete .mission-count{font-size:10px;padding:4px 7px;min-width:0;border-radius:6px;background:#e9f2dc;color:#658b3d}
.mission-bonus{margin:15px 22px 20px;padding:12px 14px;background:#f5f7f1;border:1px solid #e4ebda;border-radius:12px}
.mission-bonus-title{display:flex;align-items:center;gap:10px}
.mission-bonus-title>span{color:#a1b47e;font-size:22px}
.mission-bonus-title div{flex:1;min-width:0;overflow-wrap:anywhere}
.mission-bonus-title b{display:block;font-size:12px;color:#425f31}
.mission-bonus-title small{display:block;margin-top:2px;font-size:10px;color:#87937a}
.mission-bonus-title strong{font-size:13px;color:#a88435}
.mission-days{display:flex;gap:6px;margin-top:10px}
.mission-days span{flex:1;text-align:center;padding:5px 0;border-radius:6px;border:1px solid #e0e8d6;background:#fff;color:#a4ae98;font:800 11px Nunito,system-ui}
.mission-days .done{background:#e2efcf;color:#649033;border-color:#d4e4bf}
.mission-dialog:has(.mission-signup){padding:24px;background:linear-gradient(150deg,#f5faee,#fffdf6)}
.mission-dialog:has(.mission-signup)>.mission-close{position:absolute;right:12px;top:12px}
.mission-dialog:has(.mission-signup) li{font-size:13px;padding:10px}
.mission-dialog button:focus-visible,.mission-dialog a:focus-visible{outline:3px solid #b4d794;outline-offset:3px}
@media(max-width:500px){.mission-heading{padding:17px 15px 12px;gap:9px}.mission-heading h2{font-size:1.2rem}.mission-emblem{width:37px;height:37px;border-radius:12px;font-size:23px}.mission-tabs{margin:12px 15px 0}.mission-tabs button{font-size:.78rem}.mission-panel{padding:12px 15px 0}.mission-bonus{margin:12px 15px 15px}.mission-dialog .mission-list{max-height:42dvh}.mission-task>span{font-size:11px}.mission-dialog .mission-list li{padding:8px 9px;gap:8px}.mission-reward{padding:12px}.mission-dialog:has(.mission-signup){padding:20px}}

.mission-days .missed{background:#fff0f0;color:#dc2626;border-color:#fecaca}.mission-dialog .mission-week-note{font-size:10px;margin:8px 0 0;line-height:1.35}

#mission-badge.mission-badge-complete{background:#eaf5df;border-color:#94bd64;color:#456e26}

.mission-prize{white-space:nowrap;font-size:10px;color:#bd8724;margin-left:4px}

.mobile-public-links .mobile-mission-btn{display:flex;align-items:center;gap:8px;text-align:left;border:0;border-radius:10px;padding:12px 16px;background:#f0f6e9;color:var(--green-d);font:800 .9rem Nunito,system-ui;cursor:pointer}.mobile-public-links .mobile-mission-btn[hidden]{display:none}.mobile-public-links .mobile-mission-btn.mission-badge-complete{background:#eaf5df;color:#456e26}

@media(max-width:500px){
  .mission-dialog{max-width:calc(100vw - 20px);width:calc(100vw - 20px);max-height:calc(100vh - 20px);max-height:calc(100dvh - 20px);border-radius:18px;overflow-wrap:anywhere}
  .mission-tabs button{min-width:0;flex-wrap:wrap;gap:4px;padding:7px 5px}
  .mission-reward{grid-template-columns:minmax(0,1fr) auto;gap:10px}
  .mission-dialog .mission-list{max-height:none;overflow:visible}
  .mission-dialog .mission-list li{display:grid;grid-template-columns:31px minmax(0,1fr) auto}
  .mission-count{min-width:0;max-width:80px;overflow-wrap:anywhere}
  .mission-bonus-title{flex-wrap:wrap;gap:8px}
  .mission-bonus-title strong{flex-basis:100%;text-align:right}
  .mission-days{gap:3px}
  .mission-days span{min-width:0;font-size:10px}
  .mission-dialog:has(.mission-signup) h2{margin-right:24px}
  .mission-signup{box-sizing:border-box;max-width:100%;text-align:center}
}
