:root{--paper:#f6f7fc;--ink:#2c3041;--muted:#707487;--line:#dde0eb;--blue:#5b59b8;--pale:#eeedf7;--yellow:#ffe6a1;background:var(--paper)}
body{background:var(--paper)}.masthead{border-bottom:0}.sticky-m{background:#ffd58e;box-shadow:2px 4px 0 #e8bb7955}.kind-switch{background:#e8e8f5;border-radius:15px;padding:5px}.kind-switch button{border-radius:11px}.kind-switch button[aria-pressed=true]{background:#fff;box-shadow:0 2px 5px #3138530c}.intake{max-width:600px}.intro h1{font-weight:650;line-height:1.15;letter-spacing:-1.8px}.form-section{border:0;padding:26px;margin:18px 0;border-radius:20px;background:white}.form-section:nth-of-type(1){background:#ece8f8}.form-section:nth-of-type(2){background:#e7f1ec}.form-section:nth-of-type(3){background:#fae9e1}.step{background:#fff;color:#6e629f;border:0}.form-section:nth-of-type(2) .step{color:#45745e}.form-section:nth-of-type(3) .step{color:#a56b49}.choose-place{background:#ffffffd9;border:1px solid #d6cfee;border-radius:12px}.location-details{border:0}.location-help{color:#727085}.photo-zone{background:#ffffffad;border:1px dashed #93b3a4;border-radius:15px}.small-button{border-radius:10px;background:#fff;border:1px solid var(--line)}.primary-button{border-radius:13px;background:#5b59b8;box-shadow:0 4px 0 #48469512}.primary-button:hover{background:#4e4ba5}.chips .chip{background:#ffffff8c}.template-options button{border-radius:12px;background:#fbfefb;border-color:#cee0d5}.template-options button[aria-pressed=true]{background:#fff5df;border-color:#d7af60}.meme-mode button{border-radius:10px;background:#dcebe3}.meme-mode button[aria-pressed=true]{border-color:#7a9f8b}.photo-actions .small-button{background:#fff}.form-section textarea{border-color:#e2d5d0;border-radius:12px}.meme-ai{padding:17px;background:#ffffffa6;border-radius:13px;margin-bottom:22px}.meme-ai label{margin:0 0 8px!important;font-size:15px}.meme-ai input{margin-bottom:9px}.meme-ai .maker-note{margin:10px 0 0}.meme-ai-results{display:grid;gap:8px;margin-top:12px}.ai-idea{text-align:left;padding:14px;border:1px solid #c9d7ce;background:#fff;border-radius:9px}.ai-idea strong,.ai-idea small{display:block;line-height:1.5}.ai-idea small{margin-top:5px}.review-shell{max-width:1500px}.review-header{border-color:#dfe0ec}.stats{background:white;border-radius:18px;overflow:hidden;border-color:#e0e1ee}.stat:nth-child(1){background:#eee9fb}.stat:nth-child(2){background:#e6f1ec}.stat:nth-child(3){background:#fff0df}.stat:nth-child(4){background:#f6e6ed}.dashboard-heading{margin-top:35px}.dashboard-heading h1{font-weight:650}.report-card{border-radius:16px;background:white;border-color:#e2e2ed}.meme-grid .report-card{padding:14px}.report-card img{border-radius:9px}.report-card .status-label{background:#efedf9;color:#70678f}.report-modal,.place-dialog{border-radius:22px}.bar-track{accent-color:var(--blue)}.photo-link{color:#5755a6}.privacy-note,.draft-status{line-height:1.7}.sample-toggle{display:flex;align-items:center;gap:9px;font-size:12px;color:var(--muted);margin:18px 0}.sample-toggle input{width:16px;min-height:16px;accent-color:var(--blue)}.evidence-placeholder{display:grid;place-items:center;width:96px;min-height:100px;border-radius:11px;background:#efedf8;color:#7c738d;font-size:12px;text-align:center;padding:12px}.meme-grid .evidence-placeholder{width:100%}#observation-editor{margin:16px 0}#observation-editor label{margin:15px 0}#observation-editor textarea{min-height:95px}.saved-mark{background:#e3f1e9;color:#527a65}.place-dialog{background:#fafbff}.map-label-note{max-width:65ch}@media(max-width:500px){.form-section{padding:21px;margin:14px 0;border-radius:18px}.intake{width:calc(100% - 28px)}.masthead{padding:27px 7px}.intro h1{font-size:36px}.evidence-placeholder{width:76px}.review-shell{padding:0 14px}.stat{padding:20px 15px}.dashboard-heading{gap:12px}}
.review-header{padding-top:24px;padding-bottom:24px}.dashboard-heading{margin:28px 0 20px}.workspace-tabs{margin-top:12px}.workspace-panel{margin-top:25px}
#page-title{font-weight:650;line-height:1.15;letter-spacing:-1.8px}.place-button{background:#ffffffd9;border:1px solid #d6cfee;border-radius:12px}@media(max-width:500px){#page-title{font-size:36px}}
.dashboard-grid.meme-workspace{grid-template-columns:1fr}.meme-workspace .breakdowns{display:none}.meme-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}@media(max-width:1100px){.meme-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:650px){.meme-grid{grid-template-columns:1fr}}

.template-picker{margin:18px 0 24px}.template-picker summary{cursor:pointer;font-size:14px;color:#53665b}.template-picker[open] summary{margin-bottom:12px}

/* A quiet image wall; metadata stays in the detail view. */
.meme-grid{display:block;columns:4;column-gap:14px}.meme-grid .meme-card{position:relative;display:block;break-inside:avoid;padding:0;margin:0 0 14px;border:0;border-radius:12px;overflow:hidden;box-shadow:0 1px 5px #3032480b}.meme-tile{position:relative;display:block;width:100%;padding:0;border:0;background:#f8f7f3;cursor:zoom-in;text-align:inherit}.meme-grid .meme-tile img{display:block;width:100%;height:auto;max-height:none;object-fit:contain;margin:0;border-radius:0}.meme-location{position:absolute;top:10px;left:10px;max-width:calc(100% - 46px);padding:4px 7px;background:#ffffffd9;border-radius:5px;color:#73747b;font-size:10px;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.meme-signal{position:absolute;top:14px;right:13px;width:8px;height:8px;border-radius:50%;background:#c65353;box-shadow:0 0 0 3px #ffffffd9}.signal-reviewed{background:#d4a341}.signal-resolved{background:#61a47f}.signal-duplicate{background:#9296a1}.meme-download{position:absolute;right:10px;bottom:10px;display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:#fffffff0;color:#626579;text-decoration:none;font-size:20px;opacity:0;transition:opacity .15s}.meme-card:hover .meme-download,.meme-card:focus-within .meme-download{opacity:1}.meme-tile:focus-visible{outline:3px solid #817bc8;outline-offset:-3px}.meme-workspace #poster-filters{margin:10px 0 18px}.meme-workspace #poster-filters button{font-size:12px;padding:8px 12px;border-radius:18px}.dashboard-grid.meme-workspace{margin-top:0}@media(max-width:1100px){.meme-grid{columns:3}}@media(max-width:750px){.meme-grid{columns:2;column-gap:10px}.meme-grid .meme-card{margin-bottom:10px}.meme-download{opacity:1;width:28px;height:28px}.meme-location{font-size:9px;padding:3px 5px;top:8px;left:8px}.meme-signal{top:12px;right:11px}}@media(prefers-reduced-motion:reduce){.meme-download{transition:none}}

.local-badge{font-size:10px;color:#88899a;letter-spacing:.3px}.meme-workspace{padding-top:0}#add-submission[aria-label="Create a meme or add a review"]{font-size:25px;text-decoration:none;font-weight:300}
/* Full-screen meme, with only the image and direct controls. */
.meme-viewer{width:100vw;height:100dvh;max-width:none;max-height:none;padding:0;margin:0;border:0;background:#e8e8ed;overflow:hidden}.meme-viewer[open]{display:grid;place-items:center}.meme-viewer>img{width:100%;height:100%;object-fit:contain}.meme-viewer::backdrop{background:#e8e8ed}.meme-viewer-tools{position:absolute;top:max(12px,env(safe-area-inset-top));right:12px;display:flex;align-items:center;gap:8px;padding:5px;background:#fffffff2;border-radius:12px}.viewer-download{font-size:13px;text-decoration:none;padding:12px}.viewer-close{width:44px;height:44px;background:none;border-radius:8px;font-size:24px}.viewer-message{position:absolute;bottom:24px;left:20px;right:20px;text-align:center;background:#fff;padding:12px;font-size:13px;border-radius:8px}.meme-signal{top:0;right:0;width:40px;height:40px;padding:0;border:0;border-radius:0;background:transparent!important;box-shadow:none;z-index:2;cursor:pointer}.meme-signal::before{content:'';display:block;width:8px;height:8px;margin:auto;border-radius:50%;background:#c65353;box-shadow:0 0 0 3px #ffffffd9}.meme-signal.signal-reviewed::before{background:#d4a341}.meme-signal.signal-resolved::before{background:#61a47f}.meme-signal.signal-duplicate::before{background:#9296a1}.meme-signal:disabled{opacity:.5}.meme-viewer-tools .meme-signal{position:relative;inset:auto}.report-card video{width:100px;height:100px;object-fit:contain;border-radius:8px;background:#e8e8ed}.report-modal video{display:block;width:100%;max-height:55vh;margin:16px 0}.work-evidence{margin:18px 0 0}.work-evidence h4{font-size:13px;margin:0 0 12px}.work-upload{font-size:12px}.work-upload input{padding:8px;min-height:44px;font-size:12px}.work-media-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:10px 0}.work-media-tile{position:relative}.work-media-tile img,.work-media-tile video{display:block;width:100%;height:150px;object-fit:contain;border-radius:8px;background:#eaeaf1}.remove-evidence{position:absolute;right:4px;top:4px;width:32px;height:32px;border-radius:50%;background:#fff;font-size:20px}
/* Compact, phone-first intake. */
.intake{max-width:600px}.masthead{padding:22px 0 18px}.masthead .wordmark{font-size:48px}.intake #local-note{padding:6px 10px;margin-bottom:12px;font-size:10px;background:#efedf7}.intake #page-title{font-size:27px;letter-spacing:-.7px;line-height:1.2}.intake .kind-switch{margin:16px 0 12px}.intake .kind-switch button{padding:10px;font-size:13px}.intake .form-section{padding:16px;margin:12px 0;border-radius:15px}.intake .section-heading{gap:8px;margin-bottom:12px}.intake .section-heading h2{font-size:15px;letter-spacing:-.2px}.intake .step{width:21px;height:21px;font-size:11px}.intake .place-button{min-height:46px;padding:10px 12px;font-size:14px}.intake .location-details{display:block;margin-top:10px}.space-options{display:flex;gap:6px;flex-wrap:wrap}.space-options button,.more-spaces{padding:8px 10px;font-size:12px;border:1px solid #d9d2e8;border-radius:7px;background:#ffffff80;min-height:38px}.space-options button[aria-pressed=true]{background:#fff;border-color:#8c7fba;color:#56477a}.more-spaces{margin:6px 0;background:transparent;color:#766c8a}.spot-fields{display:grid;grid-template-columns:70px 1fr;gap:10px;margin-top:8px}.spot-fields label{font-size:11px}.intake .spot-fields input{padding:10px;min-height:42px;font-size:14px}.intake .photo-zone{min-height:0;padding:0;background:none;border:0;display:block}.intake .photo-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.intake .photo-actions button{min-height:44px;font-size:12px;padding:10px;background:#ffffffbf;border:1px solid #c4d9ce}.intake #photo-preview,.intake #video-preview{display:block;width:100%;max-height:190px;object-fit:contain;margin:0 0 12px;border-radius:9px}.intake .photo-caption{font-size:10px;margin-top:9px}.intake #description{min-height:82px;font-size:14px;padding:11px;line-height:1.5}.intake .tag-details{margin-top:10px}.intake .tag-details summary{font-size:11px}.intake .privacy-note{font-size:10px;line-height:1.5;margin-top:12px}.intake .draft-status{font-size:10px;margin-top:8px}.intake footer{padding:22px 0;font-size:10px}.intake .meme-ai{padding:12px;margin-bottom:14px}.intake #meme-create-tools textarea{min-height:66px;font-size:14px}.intake #meme-canvas{max-height:290px;object-fit:contain}.intake .maker-note{font-size:11px;line-height:1.5}.intake .meme-mode{gap:7px}.intake .meme-mode button{padding:9px;font-size:11px;min-height:40px}@media(max-width:500px){.intake{width:calc(100% - 24px)}.intake .form-section{padding:14px}.intake #page-title{font-size:25px}.intake .masthead{padding:18px 0 16px}.intake .location-details{grid-template-columns:1fr}.space-options button{padding:8px 9px;font-size:11px}.intake .privacy-note{max-width:95%}.report-card video{width:76px;height:90px}.work-media-grid{grid-template-columns:1fr 1fr}.work-media-tile img,.work-media-tile video{height:120px}.viewer-download{padding:12px 8px}}
.meme-viewer>img{position:absolute;inset:0;min-width:0;min-height:0;width:100%;height:100%;max-width:none;max-height:none}.intake .masthead{display:flex;align-items:center;justify-content:space-between;padding:18px 0 14px}.intake .masthead .wordmark{font-size:40px}.intake .masthead #local-note{padding:0;margin:0;background:none;font-size:10px;color:var(--muted)}.intake .space-options .more-spaces{margin:0;min-height:38px;padding:8px 9px}.campaign-title{font-size:23px;margin-bottom:16px}.campaign-brief{margin:0 0 20px;padding:13px 15px;background:#f3f1f9;border-radius:10px}.campaign-brief>summary{cursor:pointer;font-size:13px}.campaign-brief[open]>summary{margin-bottom:18px}@media(max-width:520px){.workspace-tabs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:3px;overflow:visible;padding-bottom:12px}.workspace-tabs button{padding:8px 3px;min-height:44px;font-size:10px;line-height:1.4;white-space:normal}.spot-fields{grid-template-columns:80px 1fr}.meme-viewer-tools{gap:2px;right:8px;top:max(8px,env(safe-area-inset-top))}.work-upload input{width:100%}.campaign-editor{padding:15px}.task-row{padding:13px}.campaign-title{font-size:20px}}
@media(max-width:520px){.intake{padding-bottom:90px}.intake #save-button{position:fixed;z-index:10;left:12px;right:12px;bottom:max(10px,env(safe-area-inset-bottom));width:calc(100% - 24px);margin:0;box-shadow:0 5px 28px #33304725}.intake #saved-state .primary-button{position:static}.intake .photo-actions{gap:7px}.intake .more-spaces{font-size:11px}}
.choice-label{display:block;font-size:12px;color:#7b758b;margin-bottom:8px}.choice-buttons{display:flex;gap:6px;flex-wrap:wrap}.choice-button{padding:9px 11px;min-height:40px;border-radius:7px;border:1px solid #ded9e9;background:white;font-size:11px;line-height:1.4}.choice-button[aria-pressed=true]{background:#eae5f5;border-color:#b9aacf;color:#5e4d7e}.task-fields{grid-template-columns:1fr;gap:16px}
.review-header .wordmark{font-size:40px;letter-spacing:.035em}.review-header{padding:18px 0}.workspace-tabs{margin-top:10px;padding-top:4px}.single-campaign{grid-template-columns:1fr}.campaign-groups{margin:20px 0;padding:14px;background:#f4f3f9;border-radius:10px}.campaign-groups>summary,.new-task>summary{font-size:13px;cursor:pointer}.new-task[open]>summary{margin-bottom:15px}.new-task .workspace-field{margin-bottom:12px}

html.meme-open{overflow:hidden}
@media(max-width:520px){.intake input,.intake textarea,.intake .spot-fields input,.intake #description,.intake #meme-create-tools textarea{font-size:16px}}
