@font-face{font-family:Vazirmatn;src:url('assets/Vazirmatn.woff2') format('woff2');font-weight:100 900;font-style:normal;font-display:swap}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#dfded8;color:#102d35;font-family:Vazirmatn,sans-serif;font-size:16px}button,input{font:inherit}button{cursor:pointer;border:0;touch-action:manipulation}a{color:inherit;text-decoration:none}svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.symbols{position:absolute;width:0;height:0}.mobile-app{width:100%;max-width:430px;min-height:100svh;margin:auto;background:#faf7ec;position:relative;box-shadow:0 0 80px #24383126;isolation:isolate;overflow:clip}#shared-header{position:absolute;inset:0 0 auto;height:90px;z-index:4;display:flex;align-items:flex-start;justify-content:space-between;padding:24px 16px 0;pointer-events:none}#shared-header button{pointer-events:auto}.points{display:flex;align-items:center;gap:5px;background:#f8ebd3db;border-radius:21px;padding:8px 9px;color:#292b28;min-height:48px}.points img{width:27px;height:31px;object-fit:contain}.points b{display:block;font-size:18px;line-height:1.2;font-weight:850}.points small{display:block;font-size:12px;color:#7d7b70;margin-top:3px}.chevron{font-size:23px;font-family:Vazirmatn;line-height:1;margin-left:2px;color:#657069}.notification{background:#f8ebd3dc;color:#283b37;border-radius:18px;width:43px;height:43px;display:grid;place-items:center;position:relative;margin-top:5px}.notification svg{width:26px;height:26px}.notification i{position:absolute;top:0;right:5px;width:10px;height:10px;background:#f6784b;border:1px solid #fff4df;border-radius:50%}.hero{position:sticky;top:0;width:100%;z-index:0;background:#f9f4e7}.hero-image{display:block;width:100%;height:auto;aspect-ratio:840/570;object-fit:cover}.cards-shell{position:relative;z-index:2;margin-top:-10px;padding:0 11px 101px;background:linear-gradient(transparent,#faf7ec 120px)}.card{border-radius:18px;border:1px solid #fff7;box-shadow:0 4px 13px #3444340b}.journey{background:#fffdf5f5;padding:16px 12px 10px;backdrop-filter:blur(8px)}.card-heading{display:flex;align-items:center;gap:6px}.heading-icon{color:#168b80;display:flex}.heading-icon svg{width:23px;height:23px}h2{font-size:19px;line-height:1.5;margin:0;font-weight:850}.card-heading p{font-size:12px;color:#82827a;margin:2px 0 0}.status{margin-right:auto;font-size:12px;color:#88877e;white-space:nowrap}.status i{display:none}.reward{display:flex;align-items:center;gap:3px;flex-direction:row-reverse;background:#ffc54c;color:#2b311e;padding:8px 9px;border-radius:9px;font-size:21px;white-space:nowrap;font-weight:800;margin-right:3px}.reward small{font-size:12px;font-weight:700}.leaf-currency{width:21px;height:25px;object-fit:contain}.route{display:flex;justify-content:space-between;position:relative;margin:20px 0 16px}.route:before{content:'';position:absolute;right:10%;left:10%;top:20px;border-top:2px dashed #5daf9f}.stop{width:20%;display:flex;flex-direction:column;align-items:center;position:relative;gap:2px;text-align:center}.circle{width:43px;height:43px;border:3px solid #fffdf5;border-radius:50%;display:grid;place-items:center;margin-bottom:2px}.circle svg{width:23px;height:23px}.coral{background:#fa7958;color:white}.mint{background:#d8eee7;color:#157e76}.teal{background:#008f88;color:white}.yellow{background:#ffe4a4;color:#7d795f}.stop b{font-size:14px;font-weight:700}.stop>span{font-size:12px;color:#7f827b;max-width:62px;line-height:1.4}.upload{width:100%;display:flex;align-items:center;gap:10px;text-align:right;background:#dfefe9;color:#133d3f;border-radius:14px;padding:12px 11px;flex-direction:row-reverse}.upload-icon{border:1px dashed #8dc6bd;border-radius:8px;width:49px;height:45px;flex-shrink:0;display:grid;place-items:center;color:#078c83}.upload-icon svg{width:28px;height:28px}.upload>div:nth-child(2){flex:1}.upload b{font-size:16px;line-height:1.5;display:block;font-weight:850}.upload span:not(.plus){font-size:12px;color:#6d7f73;line-height:1.7;display:block}.plus{border-radius:50%;background:#fff9;width:31px;height:31px;flex-shrink:0;display:grid;place-items:center;font-size:23px}.demo-note{font-size:10px;color:#92998e;line-height:1.6;margin:8px 3px 0}#proof-preview{max-width:100%;max-height:170px;border-radius:10px;margin-top:10px}.stats{display:grid;grid-template-columns:1fr 1.15fr;gap:8px;margin:9px 0}.stats .card{padding:13px 12px;position:relative;min-width:0;border-radius:17px;box-shadow:none}.badge{background:#e4f0e6;display:grid;grid-template-columns:1fr 40px;gap:5px}.overline{font-size:13px;color:#657165;line-height:1.6}.badge h2 strong{font-size:20px;white-space:nowrap}.medal{display:flex;align-items:center;justify-content:center}.medal img{width:48px;height:57px;object-fit:contain}.progress{height:10px;border-radius:12px;background:#c3dfd5;grid-column:1/-1;overflow:hidden;margin:4px 0}.progress span{display:block;height:100%;width:82.66%;background:#008c80;border-radius:12px}.text-button{background:none;color:#246a61;text-align:right;padding:0;font-size:12px;font-weight:650;grid-column:1/-1}.progress-numbers{display:none}.streak{background:#ffe9df}.streak .overline{font-size:14px;color:#203c3c;font-weight:750}.streak h2{font-size:16px;color:#e66f4d;margin:4px 0 12px}.flame{float:left;font-size:29px;line-height:1.4;margin-top:5px}.week{display:flex;justify-content:space-between;gap:4px}.week>div{display:flex;flex-direction:column;align-items:center;font-size:12px;color:#8b887e;gap:4px}.week i{height:14px;width:14px;background:#e8d7cd;border-radius:50%;display:grid;place-items:center;font-size:10px;font-style:normal}.week .done{background:#f37955;color:white}.week .current{background:#fff2e8;border:1px dashed #ea957a;color:#e77855}.mission{background:#ffcf57;position:relative;overflow:hidden;min-height:156px;padding:14px 16px;margin-bottom:12px}.mission>div:first-child{position:relative;z-index:2;width:60%;margin-right:auto;text-align:center}.mission .overline{font-size:12px;color:#6c673b}.mission h2{font-size:24px;margin-top:5px;color:#172e26;line-height:1.45;white-space:nowrap}.mission p{font-size:14px;line-height:1.45;margin:6px 0 10px;color:#343f22}.mission-button{background:#fffbee;color:#273a2b;font-size:13px;font-weight:650;border-radius:22px;padding:9px 18px;box-shadow:0 2px 5px #84612016}.mission-visual{position:absolute;right:0;bottom:0;width:57%;height:100%;pointer-events:none}.mission-visual>img{position:absolute;width:115%;height:100%;object-fit:contain;object-position:bottom right;right:-8px;bottom:-9px}.mission-reward{position:absolute;right:18px;top:9px;width:53px;height:57px;border-radius:50%;background:#078e82;border:2px solid #fff9;color:white;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:24px;font-weight:900;line-height:1.1;transform:rotate(5deg)}.mission-reward small{font-size:12px}.bottom-nav{position:fixed;z-index:10;bottom:0;left:50%;transform:translateX(-50%);width:100%;max-width:430px;min-height:73px;padding:6px 12px max(8px,env(safe-area-inset-bottom));display:flex;justify-content:space-around;background:#fffdf3f7;border-radius:23px 23px 0 0;box-shadow:0 -4px 20px #7c816410;backdrop-filter:blur(12px)}.bottom-nav button{display:flex;flex-direction:column;align-items:center;gap:2px;background:none;color:#7a7f73;border-radius:21px;min-width:54px;font-size:12px;padding:8px 6px 5px}.bottom-nav svg{width:25px;height:25px}.bottom-nav button.active{background:#ffeabc;min-width:70px;color:#00857c;font-weight:800}.bottom-nav button.active svg{fill:#008c831c}dialog{border:0;border-radius:23px;max-width:380px;width:90%;padding:30px 24px;background:#fffdf5;color:#153e3b;text-align:center;font-family:Vazirmatn}dialog::backdrop{background:#123e425e;backdrop-filter:blur(6px)}dialog p{font-size:16px;line-height:1.9;color:#63756d}.close{position:absolute;left:13px;top:8px;background:none;color:#728378;font-size:28px}.dialog-icon{color:#008b7d;width:39px;height:39px;margin-bottom:12px}.dialog-ok{background:#008b7d;color:white;padding:10px 22px;border-radius:12px}button:focus-visible{outline:3px solid #d5a937;outline-offset:3px}@media(max-width:370px){header{padding-left:13px;padding-right:13px;padding-top:18px}.points{padding:7px 6px}.points b{font-size:16px}.points img{width:23px}.status{font-size:10px}.reward{padding:7px 6px;font-size:18px}.card-heading h2{font-size:17px}.card-heading p{font-size:11px}.upload b{font-size:14px}.upload{gap:6px}.upload-icon{width:39px}.stats .card{padding:12px 9px}.badge h2 strong{font-size:18px}.streak .overline{font-size:12px}.mission h2{font-size:20px}.stop b{font-size:12px}.bottom-nav button{min-width:48px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero{position:relative}}
/* Monthly travel card — reference mobile composition. */
.calendar-card{padding:12px 10px 9px 15px;mask-image:radial-gradient(circle at 0 35px,transparent 7px,#000 7.7px),radial-gradient(circle at 0 59px,transparent 7px,#000 7.7px),radial-gradient(circle at 0 83px,transparent 7px,#000 7.7px);mask-composite:intersect;-webkit-mask-image:radial-gradient(circle at 0 35px,transparent 7px,#000 7.7px),radial-gradient(circle at 0 59px,transparent 7px,#000 7.7px),radial-gradient(circle at 0 83px,transparent 7px,#000 7.7px);-webkit-mask-composite:source-in;overflow:visible}.calendar-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;margin-bottom:12px}.calendar-title{min-width:0}.calendar-title h2{display:flex;align-items:center;gap:6px;white-space:nowrap;font-size:15px;line-height:1.6;letter-spacing:-.3px}.calendar-title h2 svg{width:22px;height:22px;color:#008f87;flex-shrink:0}.month-navigation{display:flex;align-items:center;gap:0;color:#75776e;min-height:30px}.month-navigation button{background:transparent;color:#173942;font-family:Vazirmatn;width:25px;height:30px;font-size:25px;line-height:1;border-radius:8px}.month-navigation button:hover{background:#e5f2eb}.month-navigation span{font-size:14px;padding-right:6px;white-space:nowrap}.clean-total{border-radius:14px;background:#e1f4ed;display:flex;align-items:center;justify-content:space-between;gap:9px;padding:7px 9px;min-height:49px;flex-shrink:0}.clean-total strong{font-size:14px;font-weight:850;display:block;white-space:nowrap}.clean-total small{font-size:12px;color:#7c8578;display:block;white-space:nowrap}.clean-total svg{width:26px;height:30px;fill:#009f8e;stroke:none}.weekdays,.calendar-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px}.weekdays{margin-bottom:6px}.weekdays span{text-align:center;font-size:10px;color:#6c7069;white-space:nowrap;letter-spacing:-.2px}.calendar-days{row-gap:3px}.calendar-day{display:flex;flex-direction:row;align-items:center;justify-content:space-around;gap:1px;background:transparent;border-radius:13px;padding:3px 1px;color:#253941;min-height:36px;width:100%;transition:background .16s,color .16s,box-shadow .16s}.day-number{font-size:12px;line-height:1.2;display:flex;flex-direction:column;align-items:center;gap:2px}.day-number small{font-size:8px;line-height:1;font-weight:500}.day-picture{display:block;position:relative;width:27px;height:27px;flex-shrink:0}.day-picture img{position:absolute;inset:0;width:100%;height:100%;transition:opacity .16s}.icon-selected{opacity:0}.calendar-day[aria-pressed="true"]{background:#008d85;color:white;box-shadow:inset 0 0 0 1px #00847c}.calendar-day[aria-pressed="true"] .icon-normal{opacity:0}.calendar-day[aria-pressed="true"] .icon-selected{opacity:1}.calendar-day:focus-visible{outline:2px solid #008d85;outline-offset:1px}.calendar-legend{display:flex;justify-content:space-between;align-items:center;gap:4px;margin-top:12px}.calendar-legend>span{display:flex;align-items:center;gap:3px;white-space:nowrap;font-size:11px}.calendar-legend img{width:25px;height:25px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.calendar-empty{grid-column:1/-1;text-align:center;font-size:12px;color:#7a8277;margin:4px 0}.calendar-day:active{transform:scale(.96)}@media(hover:hover){.calendar-day:hover{background:#008d85;color:white;box-shadow:0 2px 5px #006f7520}.calendar-day:hover .icon-normal{opacity:0}.calendar-day:hover .icon-selected{opacity:1}}@media(max-width:370px){.calendar-card{padding-right:8px;padding-left:12px}.calendar-title h2{font-size:12px;gap:3px}.calendar-title h2 svg{width:18px}.clean-total{gap:5px;padding:7px}.clean-total strong{font-size:12px}.clean-total small{font-size:10px}.clean-total svg{width:21px}.calendar-heading{gap:5px}.weekdays span{font-size:9px}.day-picture{width:23px;height:23px}.day-number{font-size:11px}.calendar-days{gap:2px}.calendar-legend{gap:2px}.calendar-legend>span{font-size:10px;gap:2px}.calendar-legend img{width:20px;height:20px}}@media(prefers-reduced-motion:reduce){.calendar-day,.day-picture img{transition:none}}
/* Shared mobile measurements, matched to the 840 px reference content. */
[hidden]{display:none!important}.mobile-app{container-type:inline-size}.hero{height:89.9cqw}.hero-image{height:100%;aspect-ratio:auto;object-fit:fill}.cards-shell{margin-top:calc(-24.37cqw);background:linear-gradient(transparent 0,transparent 25cqw,#faf7ec 39cqw)}#shared-header{padding-top:9.88cqw}.points{background:#f9ebd3;gap:7px;border-radius:20px}.points img{width:25px;height:25px;object-fit:contain}.points .chevron{font-size:25px}.notification{background:#f8ecd8}.mission{height:29.3cqw;min-height:0;padding:10px 13px;border-radius:17px}.mission>div:first-child{position:absolute;top:8px;left:12px;width:58%;margin:0;text-align:center}.mission .overline{font-size:11px;line-height:1.3}.mission h2{font-size:20px;line-height:1.3;margin-top:3px}.mission p{font-size:12px;line-height:1.35;margin:3px 0 6px}.mission-button{font-size:12px;padding:6px 17px;min-height:28px}.mission-visual{width:56%;height:100%}.mission-visual>img{object-fit:contain;width:119%;height:100%;bottom:-4px}.mission-reward{right:14px;top:7px;width:50px;height:54px;font-size:24px}.bottom-nav{padding-top:6px}.bottom-nav img{width:28px;height:28px;object-fit:contain}.bottom-nav svg{height:28px;width:28px}.bottom-nav button.active{min-width:70px}.bottom-nav button{padding:6px 5px;min-width:56px}.bottom-nav button[data-tab="upload"].active{min-width:76px}.bottom-nav button[data-tab="upload"].active img{width:32px;height:30px}body[data-page="upload"] .hero{height:67.86cqw}.upload-shell{position:relative;z-index:2;margin-top:-9.52cqw;padding:0 1.55cqw 100px;background:linear-gradient(transparent 0,transparent 12cqw,#faf7ec 22cqw)}.upload-sheet{background:#fffdf5f7;border:1px solid #fff8;border-radius:21px 21px 0 0;padding:2.14cqw 1.79cqw 1.2cqw;box-shadow:0 4px 15px #4a5b2c0c;backdrop-filter:blur(5px)}#proof-form{display:flex;flex-direction:column;gap:1.43cqw}.password-panel{height:17.26cqw;min-height:68px;border-radius:3.1cqw;background:radial-gradient(ellipse at 30% 30%,#f3f9e5aa,transparent 65%),linear-gradient(110deg,#e7f4e4,#e9f7e6);display:grid;grid-template-columns:1.45fr .98fr 1.2fr;align-items:center;padding:1.19cqw 1.43cqw;gap:5px;position:relative;overflow:hidden}.password-heading{align-self:start;padding-top:1.19cqw}.password-heading h2{font-size:3.1cqw;white-space:nowrap;display:flex;align-items:center;gap:5px;letter-spacing:-.3px}.password-heading h2 img{width:6.43cqw;height:6.43cqw;object-fit:contain}.password-heading p{font-size:2.14cqw;color:#707c6b;margin:0 0 0 2px;text-align:center;white-space:nowrap}.daily-password{position:relative;background:linear-gradient(110deg,#ffd454,#ffca40);border-radius:5cqw;height:9.05cqw;display:grid;place-items:center;margin-top:1.9cqw;box-shadow:inset 0 1px 0 #fff7;color:#092b36}.daily-password strong{font-size:6.4cqw;line-height:1.3;font-weight:950}.password-rays{position:absolute;left:-16px;top:-14px;width:28px;height:25px;color:#ffca40;stroke-width:3.7;transform:rotate(-5deg)}.password-action{align-self:stretch;position:relative;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end;padding-bottom:.65cqw}.password-lock{position:absolute;top:.25cqw;left:0;width:9.52cqw;height:8.57cqw;object-fit:contain}.password-action button{background:#fffdf3e6;border:1px solid #008d85;color:#143439;border-radius:4cqw;display:flex;align-items:center;gap:3px;justify-content:center;padding:3px 5px;font-size:2.02cqw;line-height:1.5;font-weight:800;white-space:nowrap;min-height:6.43cqw}.password-action button img{height:3.57cqw;width:3.57cqw}.password-action button:active{background:#d9efe0}.photo-dropzone{height:25.6cqw;min-height:102px;border:1.5px dashed #93d6ce;background:radial-gradient(ellipse at 30% 60%,#f2fdf99c,transparent 80%),linear-gradient(120deg,#e7f6f2,#effbf4);border-radius:2.14cqw;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:1.2cqw;color:#0a2936;position:relative;overflow:hidden}.camera-disc{width:12.14cqw;height:12.14cqw;min-width:43px;min-height:43px;background:#fff9;border-radius:50%;display:grid;place-items:center;box-shadow:0 5px 10px #4eaa9c0b;margin-top:0}.camera-disc img{width:9.52cqw;height:9.52cqw;object-fit:contain}.photo-dropzone strong{font-size:3.57cqw;font-weight:900;line-height:1.5;margin-top:.5cqw}.photo-dropzone>span:last-of-type{font-size:2.38cqw;line-height:1.65;color:#60766b;margin-top:.15cqw;white-space:nowrap}.photo-dropzone:hover{border-color:#008f85}.photo-dropzone.has-photo{height:auto;min-height:25.6cqw;padding:8px}.photo-dropzone.has-photo .camera-disc{display:none}.photo-dropzone.has-photo>strong{font-size:14px}.photo-dropzone.has-photo>span:last-of-type{font-size:12px;white-space:normal}#selected-photo{width:100%;max-height:200px;object-fit:contain;border-radius:9px;margin-top:7px}.upload-feedback{font-size:12px;line-height:1.7;margin:0 3px;padding:5px 8px;border-radius:8px;color:#116b55;background:#e1f4e9}.upload-feedback.error{color:#aa452b;background:#fff0e7}.example-panel{height:41.43cqw;min-height:165px;border-radius:3.1cqw;background:linear-gradient(105deg,#e4f6ef,#e4f7ee);padding:1.43cqw 1.55cqw .6cqw;display:flex;flex-direction:column}.example-panel h2{display:flex;align-items:center;gap:7px;justify-content:flex-start;font-size:3.21cqw;font-weight:900;line-height:1.45;min-height:4.4cqw;margin-bottom:.65cqw}.example-panel h2 img{width:5.24cqw;height:5.24cqw;flex-shrink:0}.example-photo{width:100%;height:28.93cqw;object-fit:cover;border-radius:2.14cqw;display:block}.example-panel p{font-size:2.14cqw;text-align:center;line-height:1.65;margin:.9cqw 0 0;color:#446860;white-space:nowrap}.transport-panel{min-height:23.21cqw;border-radius:3.1cqw;background:radial-gradient(ellipse at 70% 70%,#f9ecd67a,transparent 75%),linear-gradient(115deg,#fbf4df,#fff5df);padding:1.19cqw 1.43cqw 1.67cqw;display:flex;flex-direction:column;gap:1.55cqw}.transport-panel h2{display:flex;align-items:center;gap:5px;font-size:2.86cqw;line-height:1.45;font-weight:900;letter-spacing:-.2px}.transport-panel h2 img{width:5.0cqw;height:5.0cqw}.transport-choices{display:grid;grid-template-columns:1.12fr .94fr 1.03fr .99fr 1.1fr;gap:.83cqw}.mode-choice{min-height:6.67cqw;border:1px solid #fff9;background:#fffdf9;color:#41494d;padding:0 .9cqw;border-radius:5cqw;display:flex;align-items:center;justify-content:center;gap:.7cqw;font-size:2.02cqw;white-space:nowrap;line-height:1.4}.mode-choice>img:first-child{width:4.4cqw;height:4.4cqw;object-fit:contain;flex-shrink:0}.mode-choice .mode-tick{display:none;width:2.86cqw;height:2.86cqw}.mode-choice.selected{background:linear-gradient(110deg,#008d85,#009b91);color:#fff;border-color:#008b84;font-weight:750;padding:0 .8cqw}.mode-choice.selected .mode-tick{display:block}.mode-choice.selected>img:first-child{background:#e0f3ed;border-radius:50%}.metro-lines{display:grid;grid-template-columns:1.12fr 1.03fr 1.08fr .95fr 1.25fr .91fr;gap:.83cqw}.line-choice{display:flex;align-items:center;justify-content:space-between;gap:4px;min-height:5.71cqw;padding:.6cqw 1.2cqw;background:#fffaf0;border:1px solid #edcf9f;border-radius:5cqw;color:#242e31;font-size:1.9cqw;white-space:nowrap;font-weight:550}.line-choice i{display:block;width:3.57cqw;height:3.57cqw;background:var(--line-color,#00a8a2);border-radius:50%;flex-shrink:0;border:1px solid #fff;font-style:normal}.line-choice.selected{background:linear-gradient(110deg,#008d85,#009b91);border-color:#008f83;color:white;font-weight:750}.line-choice.selected i{background:#fff;color:#008f83;display:grid;place-items:center;font-size:2.5cqw;font-weight:800;width:3.1cqw;height:3.1cqw}.line-choice:last-child{justify-content:center}.mode-choice:active,.line-choice:active{transform:scale(.97)}.submit-proof{background:linear-gradient(110deg,#098f82,#078a7d);color:#fff;display:flex;align-items:center;justify-content:center;gap:10px;border-radius:6cqw;min-height:7.74cqw;font-size:3.1cqw;font-weight:900;margin:.0cqw .5cqw 0}.submit-proof svg{width:18px;height:18px;stroke-width:3}.submit-proof:active{background:#087e72}.submit-proof:disabled{opacity:.6;cursor:wait}.proof-receipt{line-height:1.9;text-align:right}.proof-receipt img{width:100%;max-height:130px;object-fit:contain;border-radius:10px}.mode-choice:focus-visible,.line-choice:focus-visible{outline:2px solid #0a897c;outline-offset:2px}.upload-sheet .photo-dropzone:focus-visible{outline:2px solid #0a897c;outline-offset:2px}@media(max-width:370px){.mission>div:first-child{top:7px;left:8px}.mission h2{font-size:17px}.mission p{font-size:11px;line-height:1.25;margin:2px 0 3px}.mission .overline{font-size:10px}.mission-button{font-size:11px;padding:4px 13px;min-height:23px}.mission-reward{height:44px;width:43px;font-size:20px;right:10px}.mission-reward small{font-size:10px}.bottom-nav button{min-width:48px;font-size:11px}.password-panel{gap:4px}.photo-dropzone>span:last-of-type{font-size:2.35cqw}}@media(prefers-reduced-motion:reduce){.hero{position:relative}}
.password-heading h2{font-size:3.69cqw}.password-heading p{font-size:2.62cqw}.password-action button{font-size:2.5cqw}.photo-dropzone strong{font-size:4.05cqw}.photo-dropzone>span:last-of-type{font-size:2.62cqw}.example-panel h2{font-size:3.81cqw}.example-panel p{font-size:2.5cqw}.transport-panel h2{font-size:3.33cqw}.mode-choice{font-size:2.5cqw}.line-choice{font-size:2.5cqw}.submit-proof{font-size:3.57cqw}.photo-dropzone.dragging{border-color:#008d85;background:#d8f0e3}@media(max-width:370px){.password-heading h2{font-size:3.45cqw}.password-action button{font-size:2.38cqw}.photo-dropzone>span:last-of-type{font-size:2.55cqw}.mode-choice{font-size:2.35cqw}.line-choice{font-size:2.4cqw}}

/* Home hero: original proportions, plus a separately generated lower continuation. */
body[data-page="home"] .hero-image{width:100%;height:auto;aspect-ratio:1522/1033;object-fit:contain;position:relative;z-index:1}
.hero-continuation{position:absolute;top:67.871222cqw;bottom:0;left:0;right:0;overflow:hidden}
.hero-continuation>img{position:absolute;bottom:0;left:0;display:block;width:100%;height:auto;max-width:none}
body[data-page="home"][data-home-art="extended"] .hero-image{height:67.871222cqw;aspect-ratio:auto;object-fit:cover;object-position:top}
body[data-page="home"][data-home-art="extended"] .hero-continuation>img{top:-67.871222cqw;bottom:auto}
body[data-page="upload"] .hero-continuation{display:none}

.calendar-upload{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:48px;margin-top:13px;padding:10px 16px;border:1px solid #b9dbcf;border-radius:15px;background:linear-gradient(110deg,#e0f3e9,#d7eee5);color:#087d73;font-size:15px;line-height:1.5;font-weight:800;box-shadow:0 3px 9px #16866c0d}.calendar-upload svg{width:25px;height:25px}.calendar-upload-plus{display:grid;place-items:center;width:25px;height:25px;border-radius:50%;background:#fffaf1;color:#008b7e;font-size:22px;line-height:1}.calendar-upload:hover{background:#cdebdc}.calendar-upload:active{transform:scale(.99)}.calendar-upload:focus-visible{outline:3px solid #e7b732;outline-offset:3px}
