@charset "UTF-8";
:root{--green:#12812a;--dark-green:#075d1b;--ink:#111714;--muted:#657068;--line:#e3e8e4;--wash:#f4f8f5;--pale:#edf8ef;--radius:22px;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);font-synthesis:none;background:#fff}*{box-sizing:border-box}body{margin:0}a{color:var(--green);text-underline-offset:3px}button,input,select{font:inherit}button,a,input,select,summary{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:wait;opacity:.55}input,select{width:100%;min-width:0;border:1px solid #d7ded8;border-radius:10px;padding:12px 13px;background:#fff;color:var(--ink)}input:focus,select:focus{outline:3px solid #12812a22;border-color:var(--green)}:focus-visible{outline:3px solid #72b57c;outline-offset:4px}label{display:flex;flex-direction:column;gap:7px;font-size:14px;font-weight:600}h1,h2,h3,p{margin-top:0}h1{font-size:42px;line-height:1.13;letter-spacing:-1.7px;margin-bottom:18px}h2{font-size:21px;letter-spacing:-.5px;margin-bottom:14px}p{line-height:1.6}small{font-size:12px;line-height:1.5;color:var(--muted)}[hidden]{display:none!important}.site-header{max-width:1180px;margin:0 auto;padding:32px 32px;display:flex;justify-content:space-between;align-items:center;gap:20px}.brand{display:flex;align-items:center;gap:12px;color:#090e0b;font-weight:760;letter-spacing:-1.3px;font-size:34px;text-decoration:none}.brand svg{width:43px;height:34px;color:var(--green)}nav{display:flex;gap:12px;align-items:center}nav form{margin:0}.button{display:inline-flex;justify-content:center;align-items:center;gap:10px;border:1px solid transparent;background:linear-gradient(180deg,#1b9636,#087522);color:#fff;padding:13px 22px;border-radius:12px;font-size:15px;font-weight:650;line-height:1.4;text-decoration:none;box-shadow:0 2px 3px #0d612810;transition:transform .15s,box-shadow .15s}.button:hover{transform:translateY(-1px);box-shadow:0 4px 12px #075d1b20}.button.ghost{background:white;color:#1d2920;border-color:#d9dedb;box-shadow:none}.text-button{background:none;border:0;color:var(--green);padding:8px 0;font-size:13px;text-decoration:underline;text-underline-offset:3px}.full{width:100%}.hero{text-align:center;padding:63px 24px 0}.hero h1{font-size:clamp(36px,4.3vw,58px);font-weight:750;letter-spacing:-2.5px;margin-bottom:18px}.hero-subtitle{font-size:24px;color:#46524a;font-weight:400;margin-bottom:44px}.upload-cta{padding:23px 42px;border-radius:25px;font-size:29px;gap:19px;letter-spacing:-.6px;box-shadow:0 8px 25px #12812a15}.upload-cta svg{width:38px;height:38px;fill:none;stroke:currentColor;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}.no-account{font-size:18px;color:#5c685f;margin:15px 0 0}.community-stats{max-width:760px;margin:64px auto 44px;display:grid;grid-template-columns:1fr 1fr}.community-stats>div{display:flex;justify-content:center;align-items:center;gap:24px}.community-stats>div+div{border-left:1px solid var(--line)}.community-stats svg{width:52px;height:48px;stroke:var(--green);fill:none;stroke-width:2.8;stroke-linecap:round;stroke-linejoin:round}.community-stats strong{display:block;font-size:48px;letter-spacing:-2px;line-height:1.1;font-weight:730}.community-stats span{display:block;color:#667068;font-size:21px;margin-top:5px}.earnings-card{max-width:920px;margin:0 auto;background:radial-gradient(ellipse at 50% 20%,#fcfefc,var(--pale));border:1px solid #e6f4e8;border-radius:30px;text-align:center;padding:29px 25px 31px}.earnings-card h2{display:flex;justify-content:center;align-items:center;gap:14px;font-size:27px;font-weight:500;margin-bottom:20px}.earnings-card svg{width:39px;height:39px;stroke:var(--green);stroke-width:2.5;fill:none;stroke-linecap:round}.hourly{color:#064e16;font-weight:760;letter-spacing:-3px;font-size:77px;line-height:1.15;margin-bottom:12px}.hourly span{font-size:43px;letter-spacing:-1.5px}.earnings-card p{color:#607365;margin:10px 0 7px;font-size:14px}.empty-hourly{font-size:29px;color:#155a25;font-weight:650;letter-spacing:-.8px;margin-top:24px}.earnings-card small{font-size:12px}.growing{max-width:700px;margin:52px auto 60px;text-align:center;padding:0 25px}.live-dot{display:inline-block;width:7px;height:7px;background:#32964b;border-radius:50%;margin-bottom:12px}.growing h2{font-size:19px;font-weight:600;margin-bottom:9px}.growing p{color:var(--muted);font-size:14px;max-width:530px;margin:0 auto}.trust-line{display:flex;justify-content:center;gap:24px;font-size:12px;color:#748179;margin:24px 0 0;padding:0;list-style:none}.trust-line li::before,.auth-benefits li::before{content:'✓';color:var(--green);margin-right:6px}.site-footer{max-width:1116px;margin:0 auto;padding:28px 24px 30px;border-top:1px solid var(--line);text-align:center;color:var(--muted);font-size:12px}.footer-brand{font-size:16px;font-weight:700;letter-spacing:-.4px;text-decoration:none;color:#27392d}.site-footer p{margin:8px 0 15px}.site-footer div{display:flex;gap:22px;justify-content:center;margin-bottom:14px;flex-wrap:wrap}.site-footer a:not(.footer-brand){color:var(--muted)}.site-footer small{font-size:11px}.page{max-width:1116px;margin:40px auto 72px;padding:0 24px}.narrow{max-width:730px}.back{display:inline-block;font-size:13px;text-decoration:none;color:var(--muted);margin-bottom:32px}.eyebrow{font-size:11px;font-weight:700;letter-spacing:2px;color:var(--green);margin-bottom:15px}.lead{font-size:17px;color:var(--muted);max-width:680px}.panel{padding:28px;border:1px solid var(--line);border-radius:var(--radius);background:#fff}.muted{color:var(--muted);font-size:14px}.stack{display:flex;flex-direction:column;gap:18px}.stack>p{margin-bottom:0}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.check{display:flex;flex-direction:row;align-items:flex-start;gap:10px;font-weight:400;font-size:13px;line-height:1.55}.check input{width:17px;height:17px;margin-top:2px;flex-shrink:0;accent-color:var(--green)}.form-note{font-size:12px;color:var(--muted);line-height:1.6;text-align:center;margin:16px 0 0}.drop-zone{position:relative;display:flex;align-items:center;justify-content:center;text-align:center;min-height:235px;border:1.5px dashed #b7cbbb;border-radius:16px;background:#f7fbf8;cursor:pointer;gap:10px;padding:20px;margin-bottom:20px}.drop-zone:hover,.drop-zone.dragover{border-color:var(--green);background:#eef8f0}.drop-zone input{position:absolute;width:100%;height:100%;inset:0;opacity:0;cursor:pointer}.drop-zone strong{font-size:18px}.drop-zone>span:not(.upload-symbol){font-size:13px;color:var(--muted);font-weight:400}.upload-symbol{display:grid;place-items:center;width:46px;height:46px;background:#e7f2e9;color:var(--green);border-radius:13px;font-size:32px;margin-bottom:8px}.selected-files{display:grid;gap:8px;margin-bottom:20px}.selected-file{display:flex;gap:12px;align-items:center;font-size:13px;padding:9px 12px;background:var(--wash);border-radius:10px;overflow:hidden}.selected-file img{width:36px;height:45px;object-fit:cover;border-radius:4px}.selected-file span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.selected-file small{margin-left:auto;white-space:nowrap}#upload-form>.check{margin-bottom:22px}.supported{padding:24px 5px;font-size:14px}.supported p{color:var(--muted);font-size:13px;margin:9px 0}.notice{background:#f1f6f2;color:#3e5845;border:1px solid #deebe1;border-radius:12px;padding:15px 18px;font-size:13px;line-height:1.6;margin-bottom:20px}.notice.error{background:#fff5f4;color:#a1392c;border-color:#f1d6d1}.notice.success{background:#edf8f0;color:#17682b}.notice a{font-weight:600}.auth-page{max-width:490px;margin-top:50px}.auth-page h1{font-size:31px;letter-spacing:-1px}.auth-page .panel{padding:32px}.auth-page form{margin-top:25px}.auth-links{display:flex;justify-content:space-between;font-size:12px;margin-top:22px}.review-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:24px;align-items:start}.screenshot-panel{text-align:center;background:#f5f7f5}.screenshot-panel img{max-width:100%;max-height:760px;border-radius:12px;box-shadow:0 4px 20px #102b1512}.details-list{font-size:13px;margin-top:15px;display:grid;gap:10px}.detail-row{display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line);padding:8px 0}.detail-row span{color:var(--muted)}.detail-row strong{text-align:right;overflow-wrap:anywhere;max-width:65%}.review-grid .danger{margin-top:20px}.danger{color:#ac4639}.danger-button{background:#a53b30}.page-heading{display:flex;justify-content:space-between;gap:25px;align-items:center;margin-bottom:28px}.page-heading h1{font-size:37px}.page-heading .lead{margin-bottom:0}.dashboard-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:24px;align-items:start}.section-heading{display:flex;justify-content:space-between;gap:10px;align-items:center}.section-heading h2{margin:0}.badge{font-size:10px;text-transform:uppercase;letter-spacing:.6px;font-weight:650;padding:5px 8px;border-radius:6px;background:#eff3f0;color:#66766b;white-space:nowrap}.badge.accepted{background:#e6f5e9;color:#207032}.badge.review{background:#fff5df;color:#8d6914}.badge.failed,.badge.rejected{background:#fff0ec;color:#a9452e}.empty-state{text-align:center;padding:45px 10px}.empty-state h3{font-size:18px;letter-spacing:-.4px}.empty-state p{font-size:13px;color:var(--muted);max-width:280px;margin:0 auto 22px}.empty-icon{display:grid;place-items:center;margin:0 auto 22px;width:55px;height:55px;background:var(--wash);color:var(--green);font-size:27px;border-radius:16px}.report-list{margin-top:20px}.report-row{display:flex;align-items:center;gap:12px;text-decoration:none;color:inherit;padding:17px 0;border-top:1px solid var(--line);font-size:13px}.report-row:hover .report-info strong{color:var(--green)}.report-icon{width:35px;height:40px;display:grid;place-items:center;background:var(--wash);border-radius:8px;color:var(--green);font-weight:650}.report-info{flex:1;min-width:0}.report-info strong,.report-info small{display:block}.report-info small{font-size:11px;margin-top:4px}.data-controls{margin-top:26px}.data-controls details{margin-top:18px}.data-controls form{max-width:440px;padding-top:16px}details>summary{cursor:pointer;font-size:13px;font-weight:600;padding:8px 0}details[open]>summary{margin-bottom:10px}.prose{max-width:780px}.prose h2{margin-top:35px}.prose p{color:#5a675e;font-size:15px;line-height:1.8}.actions{display:flex;gap:12px;flex-wrap:wrap}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:#173e23;color:#fff;padding:14px 20px;border-radius:12px;box-shadow:0 8px 30px #12261933;max-width:90%;z-index:50;font-size:14px}.processing-dot{display:inline-block;width:7px;height:7px;background:var(--green);border-radius:50%;margin-right:8px;animation:pulse 1.5s infinite}@keyframes pulse{50%{opacity:.3}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}@media(min-width:1500px){.hero{padding-top:85px}.community-stats{margin-top:75px}.earnings-card{padding-top:35px;padding-bottom:37px}}@media(max-width:960px){.earnings-card{margin-left:25px;margin-right:25px}.hero h1{font-size:45px}.hero-subtitle{font-size:21px}.dashboard-grid{grid-template-columns:1fr 1fr}.panel{padding:22px}.page-heading{align-items:flex-start}}@media(max-width:680px){.site-header{padding:22px 20px;gap:10px}.brand{font-size:25px;gap:8px;letter-spacing:-1px}.brand svg{width:32px;height:28px}nav{gap:7px}nav .button{font-size:12px;padding:9px 13px;border-radius:9px}nav .text-button{font-size:11px}.hero{padding:46px 21px 0}.hero h1{font-size:38px;line-height:1.12;letter-spacing:-1.7px;max-width:440px;margin-left:auto;margin-right:auto}.hero-subtitle{font-size:17px;max-width:310px;margin:0 auto 31px;line-height:1.6}.upload-cta{font-size:21px;padding:19px 25px;border-radius:20px;gap:13px;letter-spacing:-.3px}.upload-cta svg{width:28px;height:28px}.no-account{font-size:14px;margin-top:13px}.community-stats{margin:44px 20px 30px;gap:0}.community-stats>div{gap:14px}.community-stats svg{width:34px;height:35px}.community-stats strong{font-size:34px;letter-spacing:-1px}.community-stats span{font-size:15px;margin-top:5px}.earnings-card{margin:0 18px;border-radius:23px;padding:25px 18px}.earnings-card h2{font-size:21px;gap:11px;margin-bottom:16px}.earnings-card svg{width:30px;height:30px}.empty-hourly{font-size:23px;max-width:270px;margin:23px auto 0;line-height:1.3}.earnings-card p{font-size:12px;max-width:290px;margin:12px auto}.earnings-card small{font-size:10px}.hourly{font-size:54px;letter-spacing:-2px}.hourly span{font-size:27px;letter-spacing:-1px}.growing{margin:35px auto 40px;padding:0 30px}.growing h2{font-size:17px;line-height:1.4}.growing p{font-size:12px}.trust-line{gap:12px;flex-wrap:wrap;font-size:10px;margin-top:20px}.site-footer{margin:0 20px;padding:24px 4px}.site-footer div{gap:16px}.site-footer small{font-size:10px}.page{margin-top:25px;padding:0 20px;margin-bottom:45px}h1{font-size:32px;letter-spacing:-1.2px}.lead{font-size:15px}.back{margin-bottom:27px}.panel{padding:20px;border-radius:18px}.auth-page .panel{padding:25px}.review-grid,.dashboard-grid{grid-template-columns:1fr}.screenshot-panel img{max-height:340px}.page-heading{display:block}.page-heading h1{font-size:32px}.page-heading>.button{margin-top:20px}.report-row{gap:8px}.badge{font-size:9px}.form-grid{gap:13px}.form-grid label{font-size:12px}.form-grid input,.form-grid select{font-size:14px}.prose p{font-size:14px}.review-grid{gap:18px}.notice{font-size:12px}}@media(max-width:360px){.brand{font-size:21px}.brand svg{width:26px}nav .button{padding:8px 10px}.hero h1{font-size:33px}.upload-cta{font-size:18px}.community-stats>div{gap:9px}.form-grid{grid-template-columns:1fr}}

.inline-upload-results{max-width:650px;margin:25px auto;text-align:left;padding:20px;border:1px solid var(--line);border-radius:18px;background:#fff;font-size:13px}.upload-summary,.upload-item-heading,.upload-item-footer{display:flex;justify-content:space-between;align-items:center;gap:12px}.upload-summary{font-weight:600;margin-bottom:10px}.upload-summary .text-button{white-space:nowrap}.inline-upload-results progress{display:block;width:100%;height:6px;border:0;border-radius:9px;overflow:hidden;background:#edf1ee;accent-color:var(--green)}.inline-upload-results progress::-webkit-progress-bar{background:#edf1ee;border-radius:9px}.inline-upload-results progress::-webkit-progress-value{background:var(--green);border-radius:9px}.inline-upload-results progress::-moz-progress-bar{background:var(--green);border-radius:9px}.upload-queue{max-height:370px;overflow:auto}.upload-item{padding:16px 0;border-bottom:1px solid var(--line)}.upload-item:last-child{border-bottom:0;padding-bottom:0}.upload-file-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.upload-percent{font-size:12px;min-width:33px;text-align:right;color:var(--green);font-variant-numeric:tabular-nums}.upload-item progress{height:4px;margin:9px 0}.upload-item-footer{font-size:11px;color:var(--muted);align-items:flex-start}.upload-item-actions{display:flex;gap:12px;flex-shrink:0}.upload-item-actions .text-button,.upload-view{font-size:11px;padding:0}.upload-item[data-state=failed] .upload-item-footer{color:#a1392c}.upload-storage-warning{font-size:12px;color:#875d16;margin-bottom:12px}.page>.inline-upload-results{max-width:none}.hero .inline-upload-results{margin-bottom:0}

.community-contribution{max-width:1020px;margin:30px auto 42px}.contribution-card{display:flex;justify-content:space-between;gap:30px;padding:26px 30px;border-radius:22px;background:#f0f8f1;border:1px solid #d8eadb;margin-bottom:25px}.contribution-card h2{font-size:42px;color:var(--green);margin:7px 0}.karma-label{font-size:18px;font-weight:500}.contribution-card p{margin:8px 0}.contribution-progress{width:44%;max-width:300px;align-self:center}.contribution-progress progress{width:100%;height:9px;accent-color:var(--green);display:block;margin:10px 0}.contribution-progress small,.contribution-progress p{color:var(--muted);font-size:12px}.leaderboard-panel{padding:28px 32px;border:1px solid var(--line);border-radius:22px}.leaderboard-panel h2{margin:0}.live-label{font-size:12px;color:var(--green)}.live-label .live-dot{display:inline-block;margin:0 5px 0 0;width:6px;height:6px}.leaderboard-list{padding:0;margin:18px 0;list-style:none}.leaderboard-row{display:flex;align-items:center;gap:16px;padding:15px 0;border-bottom:1px solid var(--line)}.leaderboard-row:last-child{border-bottom:0}.leaderboard-rank{width:40px;text-align:center;font-size:23px;color:var(--muted);flex-shrink:0}.leaderboard-person{flex:1;min-width:0}.leaderboard-person strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.leaderboard-person small{display:block;color:var(--muted);font-size:12px;margin-top:5px}.leaderboard-karma{text-align:right;color:var(--green);font-size:22px}.leaderboard-karma small{display:block;font-size:11px;font-weight:400;color:var(--muted)}.leaderboard-more{display:block;margin:14px auto}.leaderboard-more[hidden]{display:none}.leaderboard-panel .form-note{margin-bottom:0}.page .community-contribution{margin-top:20px}.badge.archived{background:#f4edda;color:#8a6418}@media(max-width:1080px){main>.community-contribution{margin-left:25px;margin-right:25px}}@media(max-width:680px){.contribution-card{padding:20px;gap:18px}.contribution-card h2{font-size:32px}.contribution-card .eyebrow{font-size:10px}.contribution-card p{font-size:12px}.leaderboard-panel{padding:22px 19px}.leaderboard-panel h2{font-size:21px}.leaderboard-row{gap:10px}.leaderboard-rank{width:32px}.leaderboard-person strong{font-size:14px}.leaderboard-karma{font-size:19px}}

.platform-logo{display:inline-block;object-fit:contain;vertical-align:-.1em}.uber-logo{width:2.35em;height:.8em;margin:0 .1em}.lyft-logo{width:1.4em;height:1em;vertical-align:-.18em;margin:0 .1em}

.hero-platforms{display:flex;align-items:center;justify-content:center;gap:24px;margin:23px auto 20px}.hero-platforms .uber-logo{width:112px;height:39px;margin:0}.hero-platforms .lyft-logo{width:83px;height:57px;margin:0}.hero-platforms>span{color:#a4aaa7;font-size:25px;font-weight:400}.hero-platforms+.hero-subtitle{font-size:21px}@media(max-width:680px){.hero-platforms{gap:20px;margin:20px auto}.hero-platforms .uber-logo{width:96px;height:33px}.hero-platforms .lyft-logo{width:72px;height:50px}.hero-platforms+.hero-subtitle{font-size:17px}}

.app-navigation{position:sticky;top:0;z-index:25;display:flex;justify-content:center;gap:8px;background:#fffffff5;border-bottom:1px solid var(--line);backdrop-filter:blur(12px);padding:9px 20px}.app-navigation a{display:flex;align-items:center;justify-content:center;gap:9px;min-width:120px;padding:10px 20px;border-radius:12px;font-size:14px;color:var(--muted)}.app-navigation a[aria-current=page]{background:#edf7ef;color:var(--green)}.app-navigation svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.app-navigation .app-upload{color:var(--green)}.chat-page{max-width:960px;margin-top:25px}.chat-heading{display:flex;align-items:center;justify-content:space-between}.chat-heading h1{font-size:30px;margin-bottom:6px}.chat-heading p{font-size:13px;margin:0 0 20px}.chat-messages{height:min(58vh,650px);overflow-y:auto;overscroll-behavior:contain;padding:18px;background:#f5f7f5;border:1px solid var(--line);border-radius:20px}.chat-message{max-width:78%;width:fit-content;padding:13px 16px;margin:12px 0;border-radius:17px;background:#fff;border:1px solid #e8ede8;overflow-wrap:anywhere}.chat-message.mine{margin-left:auto;background:#e5f4e8;border-color:#d5ead8}.chat-message-heading{display:flex;justify-content:space-between;gap:25px;font-size:11px;color:var(--muted);margin-bottom:7px}.chat-message p{margin:0;white-space:pre-wrap;font-size:14px;line-height:1.5}.chat-message img{display:block;max-width:100%;max-height:320px;border-radius:11px;margin-top:9px}.chat-empty{text-align:center;color:var(--muted);padding-top:10vh}.chat-typing{height:25px;font-size:12px;color:var(--muted);padding:5px 12px}.chat-compose{display:flex;align-items:flex-end;gap:10px}.chat-compose textarea{resize:none;min-height:48px;max-height:160px;border:1px solid var(--line);border-radius:15px;padding:14px;font:inherit;flex:1;min-width:0}.chat-compose .button{height:48px;font-size:14px;padding:12px 22px}.chat-image-button{border:0;background:transparent;padding:12px;color:var(--muted);cursor:pointer}.chat-image-button svg{height:24px;width:24px;fill:none;stroke:currentColor;stroke-width:1.6}.chat-attachment{display:flex;align-items:center;gap:15px;padding:10px}.chat-attachment[hidden]{display:none}.chat-attachment img{max-width:100px;max-height:90px;border-radius:10px}.chat-page #chat-feedback{min-height:20px}@media(max-width:680px){:root{--bottom-bar-row:48px;--bottom-bar-top:8px;--bottom-bar-inset:calc(12px + env(safe-area-inset-bottom));--bottom-bar-height:calc(1px + var(--bottom-bar-row) + var(--bottom-bar-top) + var(--bottom-bar-inset))}.signed-in{padding-bottom:calc(var(--bottom-bar-height) + 12px)}.app-navigation{position:fixed;top:auto;bottom:0;left:0;right:0;border-top:1px solid var(--line);border-bottom:0;gap:0;padding:var(--bottom-bar-top) max(12px, env(safe-area-inset-right)) var(--bottom-bar-inset) max(12px, env(safe-area-inset-left))}.app-navigation a{flex:1;flex-direction:column;gap:4px;min-width:0;height:var(--bottom-bar-row);padding:0 4px;font-size:10px;line-height:12px}.app-navigation svg{width:23px;height:23px}.chat-page{padding:0 12px;margin-top:15px;margin-bottom:0}.chat-heading{padding:0 6px}.chat-heading h1{font-size:25px}.chat-messages{height:calc(100dvh - 340px);min-height:220px;padding:10px;border-radius:16px}.chat-message{max-width:88%;padding:11px 13px}.chat-compose{gap:4px}.chat-compose .button{padding:12px 15px}.chat-compose textarea{font-size:16px}.chat-image-button{padding:12px 8px}}

@media(max-width:680px){.signed-in #toast{bottom:calc(var(--bottom-bar-height) + 14px)}}

.leaderboard-rank img{width:29px;height:33px;vertical-align:middle}

.google-auth {
  display: grid;
  justify-items: center;
  gap: 8px;
  margin: 18px auto 22px;
  text-align: center;
}
.google-auth-button {
  display: inline-grid;
  place-items: center;
  min-height: 44px;
  max-width: 100%;
  padding: 0;
  border: 0;
  border-radius: 999px;
  background: transparent;
}
.google-auth-button img {
  display: block;
  width: 180px;
  max-width: 100%;
  height: auto;
}
.google-auth-button:hover {
  box-shadow: 0 2px 8px #1f1f1f24;
}

.notification-switch {
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
  min-height: 48px;
  gap: 16px;
}
.notification-switch + .notification-switch {
  border-top: 1px solid var(--line);
}
.notification-switch input {
  appearance: none;
  width: 42px;
  height: 24px;
  flex: 0 0 42px;
  margin: 0;
  padding: 2px;
  border-radius: 999px;
  background: #d9e0da;
  cursor: pointer;
}
.notification-switch input::before {
  content: "";
  display: block;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: #fff;
}
.notification-switch input:checked {
  background: var(--green);
  border-color: var(--green);
}
.notification-switch input:checked::before {
  transform: translateX(18px);
}
.notification-switch input:disabled {
  opacity: .55;
}

.chat-open-image { display: block; padding: 0; background: transparent; border: 0; border-radius: 12px; }
.chat-image-viewer {
  border: 0;
  border-radius: 18px;
  padding: 12px;
  width: min(94vw, 920px);
  max-height: 96dvh;
}
.chat-image-viewer::backdrop { background: #101712db; }
.chat-image-toolbar { display: flex; justify-content: space-between; gap: 12px; margin-bottom: 12px; }
.chat-image-stage { display: grid; place-items: center; height: min(76dvh, 680px); overflow: hidden; container-type: size; }
.chat-image-stage img { max-width: 100%; max-height: 100%; object-fit: contain; }
.chat-image-stage img.sideways { max-width: 100cqh; max-height: 100cqw; }
@media (max-width: 680px) {
  body.signed-in:not(.account-page-layout) .site-footer { display: none; }
  .account-page-layout .site-footer {
    margin: 0 20px 22px;
    padding: 20px;
    border: 1px solid var(--line);
    border-radius: 18px;
  }
}

.chat-back { display: none; }
.chat-delete-button {
  margin: -5px -4px -5px auto;
  min-width: 44px;
  min-height: 28px;
  padding: 0 6px;
  border: 0;
  border-radius: 6px;
  background: transparent;
  color: #b42318;
  font-size: 12px;
  font-weight: 600;
}
.chat-delete-button:hover { background: #b4231814; }
@media (max-width: 680px) {
  html:has(body.chat-page-layout) { overflow: hidden; }
  body.chat-page-layout {
    height: 100dvh;
    overflow: hidden;
    padding: 0;
  }
  .chat-page-layout .site-header,
  .chat-page-layout .app-navigation { display: none; }
  .chat-page-layout #main,
  .chat-page-layout .chat-page,
  .chat-page-layout #chat-app {
    display: flex;
    flex-direction: column;
    flex: 1;
    min-height: 0;
  }
  .chat-page-layout #main {
    position: fixed;
    inset: var(--chat-viewport-top, 0px) 0 auto;
    width: 100%;
    height: var(--chat-viewport-height, 100dvh);
    overflow: hidden;
  }
  .chat-page-layout .chat-page { margin: 0; padding: 0; max-width: none; }
  .chat-page-layout .chat-heading {
    flex: 0 0 auto;
    align-items: center;
    gap: 12px;
    padding: max(10px, env(safe-area-inset-top)) 14px 10px;
    margin: 0;
    border-bottom: 1px solid var(--line);
  }
  .chat-page-layout .chat-heading h1 { font-size: 20px; letter-spacing: -.4px; margin: 0; }
  .chat-page-layout .chat-heading p { margin: 0; font-size: 12px; }
  .chat-back { display: inline-grid; place-items: center; min-width: 44px; min-height: 44px; font-size: 24px; }
  .chat-page-layout .chat-messages {
    flex: 1 1 0;
    min-height: 0;
    height: auto;
    border: 0;
    border-radius: 0;
  }
  .chat-page-layout .chat-compose {
    flex: 0 0 auto;
    margin: 0;
    padding: var(--bottom-bar-top) max(12px, env(safe-area-inset-right)) var(--bottom-bar-inset) max(12px, env(safe-area-inset-left));
    border-top: 1px solid var(--line);
    background: #fff;
  }
  .chat-page-layout.chat-keyboard-open .chat-compose { padding-bottom: 8px; }
  .chat-page-layout .chat-compose textarea {
    max-height: min(136px, calc(var(--chat-viewport-height, 100dvh) * .26));
    font-size: 16px;
    line-height: 20px;
    padding: 13px 14px;
    overflow-y: auto;
  }
  .chat-page-layout .chat-typing:empty,
  .chat-page-layout #chat-feedback:empty { display: none; }
  .chat-page-layout .chat-attachment,
  .chat-page-layout .chat-typing,
  .chat-page-layout #chat-feedback { margin: 4px 10px; }
}

.account-page-layout .page > h1,
.account-page-layout .page .community-contribution,
.account-page-layout .page .contribution-card,
.account-page-layout .page .data-controls { margin: 0; }
.account-page-layout .page .community-contribution { max-width: none; }
.uploads-action { text-align: center; }
@media (max-width: 680px) {
  .signed-in .site-header { padding-top: max(20px, env(safe-area-inset-top)); }
}

@media (display-mode: standalone) {
  #install-app { display: none; }
}
.install-guide {
  width: min(440px, calc(100% - 32px));
  max-height: min(680px, calc(100dvh - 32px));
  padding: 22px;
  border: 1px solid var(--line);
  border-radius: 20px;
  color: var(--ink);
}
.install-guide::backdrop { background: #1017129c; }
.install-guide-heading { display: flex; align-items: center; gap: 12px; margin-bottom: 18px; }
.install-guide-heading h2 { margin: 0; flex: 1; }
.install-steps { display: grid; gap: 10px; padding: 0; margin: 16px 0; list-style: none; counter-reset: install-step; }
.install-steps li { display: grid; grid-template-columns: 22px 36px 1fr; gap: 8px; align-items: center; padding: 10px; border-radius: 12px; background: var(--wash); font-size: 14px; line-height: 1.45; counter-increment: install-step; }
.install-steps li::before { content: counter(install-step) "."; color: var(--green); font-weight: 700; }
.install-step-icon { display: grid; place-items: center; width: 34px; height: 34px; color: var(--dark-green); }
.install-step-icon svg { width: 22px; height: 22px; }

.register-consent { align-items: center; }
.register-consent input { margin: 0; padding: 0; }

.auth-benefits { margin: 0; padding: 0; list-style: none; line-height: 1.55; }
.auth-benefits li { display: flex; align-items: baseline; }
.auth-benefits li + li { margin-top: 5px; }

.contribution-card h2.karma-negative,
.leaderboard-karma.karma-negative,
#report-karma { color: #b42318; }
.chat-reactions { display: flex; gap: 6px; margin-top: 8px; }
.chat-reactions button,
.chat-reaction-counts { padding: 4px 8px; font-size: 12px; color: var(--muted); }
.chat-reactions button {
  min-height: 32px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
}
.chat-reactions button[aria-pressed="true"] {
  color: var(--dark-green);
  background: var(--pale);
  border-color: var(--green);
}
