/* Marketplace styled with the original caytien.site light green palette. */
.task-market{padding:0 6px 35px;color:var(--ink)}
.market-tabs{display:flex;gap:10px;margin-bottom:19px}
.market-tabs button{height:38px;padding:0 18px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--muted);font-size:12px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;gap:6px}
.market-tabs button.active{border-color:#9edab5;background:#eaf8ef;color:var(--green-dark);box-shadow:0 8px 24px rgba(36,151,83,.1)}
.market-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.market-grid.has-active-task{margin-top:42px}
.market-card{padding:15px;border:1px solid var(--line);border-top:2px solid var(--green);border-radius:17px;background:#fff;box-shadow:0 12px 32px rgba(23,60,39,.06);transition:.2s}
.market-card:hover{border-color:#a9dcbc;transform:translateY(-2px);box-shadow:0 16px 38px rgba(23,60,39,.1)}
.market-card header{display:flex;align-items:center;gap:11px;margin-bottom:10px}
.market-code{width:38px;height:38px;display:grid;place-items:center;flex:none;border:1px solid #cbe9d6;border-radius:10px;background:#eaf8ef;color:var(--green-dark);font-size:12px;font-weight:800}
.market-card h2{min-width:0;flex:1;margin:0;color:var(--ink);font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hot-pill{padding:4px 8px;border-radius:18px;background:#e8f2ff;color:#3977b6;font-size:8px;font-weight:800;box-shadow:none;display:inline-flex;align-items:center;justify-content:center;gap:4px}
.market-info{padding:11px 12px;border:1px solid var(--line);border-radius:11px;background:var(--soft);display:flex;justify-content:space-between;align-items:center;color:var(--muted)}
.market-info>div{display:flex;align-items:baseline;gap:7px}
.market-info b{color:var(--green-dark);font-size:17px}
.market-info small,.market-info>span{font-size:8px}
.market-info strong{margin-left:5px;color:#7052c4;font-size:9px}
.market-progress{height:6px;margin:10px 0 11px;overflow:hidden;border-radius:10px;background:#e5eee8}
.market-progress i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#32b66a,#67ce8e);box-shadow:0 0 10px rgba(50,182,106,.25)}
.market-action{width:100%;min-height:40px;border:0;border-radius:10px;background:linear-gradient(135deg,#31bd6d,#168b4b);color:#fff;display:flex;align-items:center;justify-content:center;gap:6px;font-size:11px;font-weight:800;box-shadow:0 8px 18px rgba(30,142,75,.18);cursor:pointer}
.market-action:hover{filter:brightness(.96)}
.market-action:disabled{background:#c7d1ca;box-shadow:none;filter:none;opacity:.7;cursor:not-allowed}
.active-mission{position:relative;display:grid;grid-template-columns:auto 1fr auto auto;align-items:center;gap:15px;padding:22px;border:1px solid #b9e2c8;border-radius:17px;background:radial-gradient(circle at 15% 0,rgba(50,182,106,.13),transparent 40%),#fff;box-shadow:0 12px 32px rgba(23,60,39,.07)}
.mission-pulse{width:54px;height:54px;display:grid;place-items:center;border-radius:15px;background:#e8f8ee;color:var(--green-dark);font-size:22px}
.active-mission small,.active-mission>strong,.market-history>div:first-child>span,.market-history-list>div>strong{color:var(--green-dark)}
.active-mission h2{margin:2px 0;color:var(--ink);font-size:17px}
.active-mission p,.mission-time,.challenge-hero p,.market-history>p,.market-history-list>div>span{color:var(--muted)}
.active-mission p{margin:0;font-size:9px}
.active-mission>strong{font-size:18px}
.active-mission .market-action{width:auto;padding:0 18px}
.mission-actions{display:flex;align-items:stretch;gap:7px;flex-wrap:wrap}
.mission-actions form{display:flex;margin:0}
.mission-actions button,.mission-actions .market-test{min-height:40px;padding:0 13px;border-radius:10px;background:#fff;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:800;cursor:pointer}
.market-cancel{border:1px solid #efc4c4;color:var(--red)}
.market-cancel:hover{background:#fff1f1}
.market-test{border:1px solid #b9d4f0;color:#3977b6}
.market-test:hover{background:#edf5ff}
.mission-time{position:absolute;right:17px;bottom:-25px;font-size:8px}
.challenge-panel{padding:1px}
.challenge-hero{display:flex;align-items:center;gap:18px;padding:30px;border:1px solid #cbe5d4;border-radius:17px;background:radial-gradient(circle at top left,rgba(50,182,106,.13),transparent 45%),#fff}
.challenge-hero>span{width:60px;height:60px;display:grid;place-items:center;border-radius:17px;background:#eaf8ef;color:var(--green-dark);font-size:25px}
.challenge-hero>div{flex:1}
.challenge-hero small,.challenge-hero>b{color:var(--green-dark)}
.challenge-hero h2{margin:3px 0;color:var(--ink);font-size:19px}
.challenge-hero p{margin:0;font-size:10px}
.challenge-hero>b{font-size:24px}
.market-history{margin-top:40px;padding:17px;border:1px solid var(--line);border-radius:14px;background:#fff}
.market-history>div:first-child{display:flex;justify-content:space-between;align-items:center}
.market-history h2{margin:0;color:var(--ink);font-size:13px}
.market-history-list{margin-top:10px}
.market-history-list>div{display:grid;grid-template-columns:60px 1fr 100px auto;align-items:center;gap:10px;padding:9px 0;border-top:1px solid var(--line);font-size:9px}
.market-empty{grid-column:1/-1;padding:70px;border:1px dashed #c8d6cd;border-radius:15px;color:var(--muted);text-align:center}
@media(max-width:1080px){.market-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:720px){.market-grid{grid-template-columns:1fr}.active-mission{grid-template-columns:auto 1fr}.active-mission>strong{grid-column:1/2}.mission-actions{grid-column:1/-1}.active-mission .market-action{width:auto}.market-history-list>div{grid-template-columns:45px 1fr auto}.market-history-list .badge{display:none}}
@media(max-width:480px){.market-card{padding:12px}.market-tabs button{flex:1}.market-info strong{display:none}.active-mission{padding:16px}.active-mission p{display:none}}

/* One-time reward confirmation popup. */
.reward-modal{position:fixed;inset:0;z-index:260;display:grid;place-items:center;padding:20px;opacity:0;visibility:hidden;transition:.22s}
.reward-modal.show{opacity:1;visibility:visible}
.reward-backdrop{position:absolute;inset:0;background:rgba(9,22,14,.7);backdrop-filter:blur(6px)}
.reward-dialog{position:relative;width:min(430px,100%);padding:36px;text-align:center;border:1px solid #c6e7d2;border-radius:25px;background:#fff;box-shadow:0 35px 100px rgba(0,0,0,.3);transform:translateY(18px) scale(.96);transition:.25s}
.reward-modal.show .reward-dialog{transform:none}
.reward-close{position:absolute;right:15px;top:15px;width:34px;height:34px;display:grid;place-items:center;border:0;border-radius:10px;background:#f1f4f2;color:#647068}
.reward-coins{width:72px;height:72px;display:grid;place-items:center;margin:0 auto 18px;border-radius:24px;background:linear-gradient(145deg,#e5faec,#c9f1d7);color:var(--green-dark);font-size:34px;font-weight:800;box-shadow:0 12px 30px rgba(38,173,93,.18)}
.reward-dialog h2{margin:8px 0 2px;color:var(--ink);font-size:23px}
.reward-popup-amount{margin:14px 0 4px;color:var(--green-dark);font-size:38px;font-weight:800;letter-spacing:-1px}
.reward-dialog p{margin:0 0 22px;color:var(--muted);font-size:11px}
@media(max-width:480px){.reward-dialog{padding:31px 22px}.reward-popup-amount{font-size:33px}}
