.daily-challenge{box-sizing:border-box;max-width:1160px;margin:0 auto 16px;padding:18px 24px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 28px;align-items:center;border:1px solid #bbe7cc;border-radius:22px;background:linear-gradient(110deg,#eaffef,#fff8d9);box-shadow:0 7px 20px #124e2a14;color:#113d2a;font-family:system-ui,-apple-system,"Segoe UI",sans-serif}
.daily-challenge h2{margin:0 0 3px;font-size:clamp(1.15rem,2vw,1.55rem);line-height:1.15;color:#06482d}.daily-challenge p{margin:0}.daily-challenge .daily-description{font-size:1rem;line-height:1.35}.daily-challenge .daily-reward{font-size:1.08rem;font-weight:900;color:#0a7847}.daily-challenge .daily-progress{display:flex;align-items:center;gap:12px;font-weight:800}.daily-challenge progress{width:min(190px,32vw);height:12px;accent-color:#11894c}.daily-challenge .daily-streak{font-size:.88rem;color:#335947}.daily-challenge .daily-action{grid-column:2;grid-row:1/4;align-self:center;min-height:44px;padding:12px 22px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:#13864d;color:#fff;font-weight:850;text-decoration:none;white-space:nowrap}.daily-challenge .daily-history{grid-column:1/3;font-size:.78rem;color:#456052}.daily-challenge .daily-history summary{width:max-content;cursor:pointer;text-decoration:underline}.daily-challenge .daily-history-list{margin-top:4px}
.daily-challenge :is(a,summary):focus-visible,.daily-celebration button:focus-visible{outline:3px solid #f59a19;outline-offset:3px}
.daily-celebration{position:fixed;z-index:80;right:16px;bottom:16px;max-width:min(440px,calc(100vw - 32px));padding:14px;display:flex;align-items:center;gap:10px;border:2px solid #91e4ad;border-radius:20px;background:#fffdf5;color:#123f2d;box-shadow:0 12px 35px #143d3160;font-family:system-ui,-apple-system,"Segoe UI",sans-serif;animation:daily-in .2s ease-out}.daily-celebration img{width:52px;height:52px;object-fit:contain}.daily-celebration strong{font-size:1.05rem}.daily-celebration p{margin:3px 0;font-weight:850}.daily-celebration small{display:block}.daily-celebration button{border:0;border-radius:99px;padding:9px;background:#13864d;color:#fff;font-weight:800;cursor:pointer}.daily-celebration .daily-close{align-self:flex-start;padding:3px 8px;background:#e6f5e9;color:#15492f}
@media(max-width:700px){.daily-challenge{margin:0 10px 10px;padding:14px;grid-template-columns:minmax(0,1fr) auto;gap:7px 10px}.daily-challenge h2{font-size:1.12rem}.daily-challenge .daily-description{font-size:.9rem}.daily-challenge .daily-action{grid-column:1/3;grid-row:auto;justify-self:center;width:max-content;padding:10px 20px}.daily-challenge .daily-history{grid-column:1/3}.daily-challenge progress{width:min(150px,36vw)}.daily-celebration{left:10px;right:10px;bottom:10px;max-width:none}.daily-celebration img{width:42px;height:42px}}
@media(max-width:360px){.daily-challenge{padding:12px}.daily-challenge .daily-reward{font-size:.92rem}.daily-challenge .daily-progress{gap:6px}.daily-challenge progress{width:96px}.daily-celebration small{display:none}}
@media(prefers-reduced-motion:reduce){.daily-celebration{animation:none}}@keyframes daily-in{from{transform:translateY(10px);opacity:0}to{transform:none;opacity:1}}

/* V79 city panorama: one full-width section row, with centered live challenge content. */
.home-page #home-view .daily-challenge{position:relative;isolation:isolate;box-sizing:border-box;width:100%;max-width:none;height:360px;min-height:360px;overflow:hidden;display:grid;place-items:center;margin:0;padding:0;border:0;border-radius:0;box-shadow:none;background:linear-gradient(135deg,#a3d4f7,#ffe6ae);text-align:center;color:#143628}
.daily-challenge-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:-2}
.daily-challenge:before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse 36% 78% at 50% 51%,rgba(255,250,222,.84),rgba(255,249,224,.5) 68%,transparent 100%);pointer-events:none}
.daily-challenge-content{width:min(100%,650px);box-sizing:border-box;padding:10px 16px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;text-shadow:0 1px 0 #fff9}
.daily-challenge h2{margin:0;display:flex;flex-direction:column;align-items:center;line-height:.96;font-weight:1000;letter-spacing:-.035em;text-transform:uppercase}
.daily-challenge h2 span:first-child{font-size:clamp(1.65rem,3.15vw,2.8rem);color:#08713e}
.daily-challenge h2 span:last-child{font-size:clamp(2.45rem,4.65vw,4.25rem);color:#f17a00;text-shadow:0 3px 0 #fff7}
.daily-challenge .daily-reward{display:inline-flex;align-items:center;justify-content:center;min-width:185px;padding:5px 17px;border-radius:999px;background:#fffdf4;color:#252729;font-size:1.18rem;font-weight:950;box-shadow:0 5px 15px #61502a2a}
.daily-challenge .daily-description{margin:0;font-size:1.02rem;font-weight:750;line-height:1.25;color:#222e2b}
.daily-challenge .daily-progress{display:flex;align-items:center;justify-content:center;width:min(100%,350px);gap:10px;font-weight:950;font-size:.95rem}
.daily-challenge progress{width:100%;height:15px;accent-color:#00ad62;filter:drop-shadow(0 1px 2px #fff9)}
.daily-challenge .daily-action{grid-column:auto;grid-row:auto;min-height:45px;box-sizing:border-box;padding:10px 32px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:linear-gradient(180deg,#18b66a,#008c4e);color:#fff;font-size:1.06rem;font-weight:950;text-decoration:none;box-shadow:0 5px 10px #09552e43;white-space:nowrap;text-shadow:none}
.daily-challenge .daily-streak{margin:0;font-size:.81rem;font-weight:750;color:#173c2c}
.daily-challenge .daily-history{grid-column:auto;margin:0;font-size:.72rem;color:#284b3b}.daily-challenge .daily-history summary{width:max-content;cursor:pointer;margin:auto;text-decoration:underline}.daily-challenge .daily-history-list{margin:3px 0 0;background:#fff9;border-radius:12px;padding:2px 8px}
@media(max-width:700px){.home-page #home-view .daily-challenge{height:220px;min-height:220px}.daily-challenge:before{background:radial-gradient(ellipse 70% 86% at 50% 48%,rgba(255,251,229,.92),rgba(255,250,230,.58) 74%,transparent 100%)}.daily-challenge-content{gap:3px;padding:6px 8px}.daily-challenge h2 span:first-child{font-size:1.35rem}.daily-challenge h2 span:last-child{font-size:1.95rem}.daily-challenge .daily-reward{font-size:.87rem;min-width:0;padding:2px 12px}.daily-challenge .daily-description{font-size:.77rem;max-width:285px}.daily-challenge .daily-progress{width:min(100%,250px);gap:7px;font-size:.76rem}.daily-challenge progress{height:10px}.daily-challenge .daily-action{min-height:34px;font-size:.82rem;padding:6px 20px}.daily-challenge .daily-streak{font-size:.69rem}.daily-challenge .daily-history{font-size:.62rem}}
@media(max-width:360px){.daily-challenge-content{gap:2px}.daily-challenge h2 span:first-child{font-size:1.2rem}.daily-challenge h2 span:last-child{font-size:1.75rem}.daily-challenge .daily-description{font-size:.7rem}}

/* Compact card: tuck the panorama behind the rounded top corners of row one. */
.home-page #home-view .daily-challenge{height:180px;min-height:180px;margin-bottom:-12px;z-index:0}
.home-page #home-view .feature-grid{position:relative;z-index:1}
.daily-challenge-content{gap:3px;padding:4px 14px}
.daily-challenge h2 span:first-child{font-size:clamp(1.18rem,2.1vw,1.55rem)}
.daily-challenge h2 span:last-child{font-size:clamp(1.7rem,3vw,2.25rem)}
.daily-challenge .daily-reward{min-width:0;padding:2px 12px;font-size:.95rem}
.daily-challenge .daily-description{font-size:.84rem}
.daily-challenge .daily-progress{width:min(100%,310px);font-size:.8rem}
.daily-challenge progress{height:11px}
.daily-challenge .daily-action{min-height:37px;padding:7px 24px;font-size:.92rem}
.daily-challenge .daily-streak,.daily-challenge .daily-history{position:absolute;bottom:15px;margin:0;color:#fff;text-shadow:0 1px 4px #142c29,0 0 5px #142c29;background:rgba(7,44,45,.43);border-radius:999px;padding:3px 9px}
.daily-challenge .daily-streak{left:max(14px,calc((100vw - 1110px)/2))}
.daily-challenge .daily-history{right:max(14px,calc((100vw - 1110px)/2))}
.daily-challenge .daily-history summary{color:#fff}
.daily-challenge .daily-history-list{position:absolute;right:0;bottom:calc(100% + 3px);min-width:140px;margin:0;padding:7px;background:#fff;color:#234534;text-shadow:none;box-shadow:0 3px 12px #142c2950}
@media(max-width:700px){.home-page #home-view .daily-challenge{height:147px;min-height:147px;margin-bottom:-10px}.daily-challenge-content{gap:3px;padding:4px 8px 14px;transform:translateY(-6px)}.daily-challenge h2{flex-direction:row;gap:.25em;white-space:nowrap}.daily-challenge h2 span:first-child,.daily-challenge h2 span:last-child{font-size:clamp(.94rem,4.6vw,1.15rem)}.daily-challenge .daily-reward{font-size:.79rem;padding:1px 10px}.daily-challenge .daily-description{font-size:.73rem;line-height:1.12;max-width:calc(100vw - 20px)}.daily-challenge .daily-progress{width:min(100%,235px);font-size:.72rem}.daily-challenge progress{height:9px}.daily-challenge .daily-action{min-height:32px;padding:5px 19px;font-size:.78rem}.daily-challenge .daily-streak,.daily-challenge .daily-history{bottom:11px;font-size:.57rem;padding:2px 5px}.daily-challenge .daily-streak{left:5px}.daily-challenge .daily-history{right:5px}}

/* Split title and action area; row one begins after the banner. */
.home-page #home-view .daily-challenge{margin-bottom:0;z-index:auto}
.home-page #home-view .feature-grid{z-index:auto}
.daily-challenge-content{width:min(100%,1200px);height:100%;display:grid;grid-template-columns:minmax(0,42%) minmax(0,58%);gap:0;align-items:center;justify-items:center;padding:7px 30px;transform:none}
.daily-challenge h2{grid-column:1;display:flex;flex-direction:column;gap:2px;white-space:normal;text-align:center}
.daily-challenge h2 span:first-child{font-size:clamp(1.6rem,2.4vw,2.15rem)}
.daily-challenge h2 span:last-child{font-size:clamp(2.25rem,3.4vw,3.1rem)}
.daily-challenge-details{grid-column:2;min-width:0;width:min(100%,430px);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px}
.daily-challenge .daily-reward{font-size:1rem;padding:3px 13px}
.daily-challenge .daily-description{font-size:.88rem}
.daily-challenge .daily-progress{width:min(100%,300px)}
.daily-challenge .daily-action{min-height:38px;font-size:.94rem}
.daily-challenge .daily-streak,.daily-challenge .daily-history{bottom:8px}
@media(min-width:1024px){.home-page #home-view .feature-box:nth-child(-n+2){border-radius:0 0 22px 22px!important}}
@media(max-width:1023px){.home-page #home-view .feature-box:first-child{border-radius:0 0 22px 22px!important}}
@media(max-width:700px){.home-page #home-view .daily-challenge{margin-bottom:0}.daily-challenge-content{grid-template-columns:minmax(0,37%) minmax(0,63%);padding:4px 8px 15px;transform:none}.daily-challenge h2{flex-direction:column;gap:1px}.daily-challenge h2 span:first-child{font-size:clamp(.79rem,3.9vw,.99rem)}.daily-challenge h2 span:last-child{font-size:clamp(1.07rem,5.2vw,1.35rem)}.daily-challenge-details{gap:3px;width:100%}.daily-challenge .daily-reward{font-size:.78rem;padding:1px 8px}.daily-challenge .daily-description{font-size:.7rem;line-height:1.12;max-width:100%}.daily-challenge .daily-progress{width:min(100%,180px);font-size:.68rem}.daily-challenge progress{height:9px}.daily-challenge .daily-action{min-height:33px;font-size:.78rem;padding:6px 14px}.daily-challenge .daily-streak,.daily-challenge .daily-history{bottom:5px;font-size:.57rem}}

/* Keep each supporting line with its own column. */
.daily-challenge-heading{grid-column:1;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px}
.daily-challenge .daily-streak{position:static;left:auto;bottom:auto;width:max-content;max-width:100%;margin:0;text-align:center}
.daily-challenge .daily-history{position:relative;right:auto;bottom:auto;width:max-content;max-width:100%;margin:1px 0 0;text-align:center}
.daily-challenge .daily-history-list{right:0;bottom:calc(100% + 4px)}
.daily-challenge .daily-reward{color:#08713e}
.daily-challenge .daily-description{color:#075b35;text-shadow:0 1px 2px #fff}
.daily-challenge .daily-action{background:linear-gradient(180deg,#ffe66b,#ffc933);color:#183c2a;box-shadow:0 4px 10px #6a4b1650}
.daily-challenge .daily-progress{min-width:0;flex-wrap:nowrap}
.daily-challenge progress{flex:1 1 auto;width:auto;min-width:0}
.daily-challenge .daily-progress-text{flex:none;white-space:nowrap}
@media(max-width:700px){.daily-challenge-heading{gap:5px}.daily-challenge .daily-streak{font-size:.57rem;padding:2px 4px}.daily-challenge .daily-history{font-size:.57rem;padding:2px 5px}.daily-challenge .daily-progress{width:min(100%,180px);gap:5px}.daily-challenge .daily-action{min-height:33px}}
