/* Layer 3 crawls (Task 21, Crawls mockup §1): the organizer's page (Stops ready, scans per stop, finishers),
   Crawl tools and the Start a crawl / Prize sheets. Prefixed cr- (the app's older crawl styles are crawl-). */
.cr-vh{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.cr-top{padding-bottom:12px}
.cr-top h1{overflow-wrap:anywhere}
.cr-top p.cr-saved{color:var(--green,#2f7a45);font-weight:700}
.cr-when{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:8px;font:800 12px var(--sans,system-ui);letter-spacing:.06em;text-transform:uppercase;color:var(--orange,#ba4b2a)}
.cr-dates{min-width:0;overflow-wrap:anywhere}
.cr-status{font:700 12px var(--sans,system-ui);letter-spacing:0;text-transform:none;padding:3px 10px;border-radius:999px;background:#e4ecf8;color:#2f5f9e}
.cr-status.is-published{background:#e3eedd;color:var(--green,#3f7a4f)}
.cr-status.is-ended{background:#efe6d8;color:var(--muted,#776c61)}
.cr-eyebrow{color:var(--orange,#ba4b2a);overflow-wrap:anywhere}
.cr-card{background:var(--white,#fffdf9);border:1px solid var(--line,#e8e0d5);border-radius:20px;padding:14px 16px;margin:0 0 12px;box-sizing:border-box;max-width:100%}
.cr-card-h{display:block;font:700 16px var(--sans,system-ui);margin-bottom:6px}
.cr-ready-top{display:flex;justify-content:space-between;align-items:baseline;gap:12px;font:700 17px var(--sans,system-ui)}
.cr-ready-n{color:var(--muted,#776c61);font-weight:600;white-space:nowrap}.cr-ready-n b{font:900 26px 'Archivo',var(--sans,system-ui);color:var(--ink,#342a24)}
.cr-bar{display:block;height:8px;border-radius:99px;background:#efe6d8;margin-top:10px;overflow:hidden}.cr-bar>i{display:block;height:100%;border-radius:99px;background:#4a90d9}
.cr-big{font:600 16px var(--sans,system-ui);color:var(--muted,#776c61)}.cr-big b{font:900 30px 'Archivo',var(--sans,system-ui);color:var(--ink,#342a24);margin-right:4px}
.cr-slist{list-style:none;margin:6px 0 0;padding:0}
.cr-slist li{display:flex;align-items:baseline;gap:4px;padding:7px 0;border-top:1px solid var(--line,#e8e0d5);font-size:15px;min-width:0}
.cr-slist li:first-child{border-top:0}
.cr-sname{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600}
.cr-sn{flex:none;color:var(--muted,#776c61);white-space:nowrap}
.cr-row{display:grid;grid-template-columns:40px minmax(0,1fr) auto;gap:12px;align-items:center;background:var(--white,#fffdf9);border:1px solid var(--line,#e8e0d5);border-radius:20px;padding:12px 16px;margin:0 0 14px;color:var(--ink,#342a24);text-decoration:none;min-height:64px;box-sizing:border-box}
.cr-row img{width:40px;height:40px;object-fit:contain}.cr-row b{display:block;font:700 17px var(--sans,system-ui)}.cr-row small{display:block;color:var(--muted,#776c61);font-size:14px;overflow-wrap:anywhere}
.cr-chev{font-size:20px;color:var(--ink,#342a24)}
/* Stops: where each one stands */
.crawl-pill.is-ready{background:#e3eedd;color:var(--green,#3f7a4f)}
.crawl-pill.is-getting{background:#fbefd5;color:#8a6417}
.crawl-pill.is-requested{background:#fbe3d6;color:var(--orange,#ba4b2a)}
/* Crawl tools */
.cr-tools{padding:2px 16px}
.cr-tool{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;width:100%;min-height:64px;padding:12px 0;border:0;border-bottom:1px solid var(--line,#e8e0d5);background:none;text-align:left;font:inherit;color:var(--ink,#342a24);box-sizing:border-box}
.cr-tools>.cr-prize-row{border-bottom:0}
.cr-tool b{display:block;font:700 16px var(--sans,system-ui)}.cr-tool small{display:block;color:var(--muted,#776c61);font-size:14px;line-height:1.35;margin-top:2px}
button.cr-tool{cursor:pointer}
.cr-sw{position:relative;width:51px;height:31px;border-radius:99px;background:#d9cfc2;transition:background .15s;flex:none}
.cr-sw::after{content:'';position:absolute;top:2px;left:2px;width:27px;height:27px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #0003;transition:transform .15s}
.cr-tool[aria-checked="true"] .cr-sw{background:#34a853}.cr-tool[aria-checked="true"] .cr-sw::after{transform:translateX(20px)}
.cr-tool:disabled{opacity:.7}
.cr-locked{cursor:default}
.cr-always{font:700 13px var(--sans,system-ui);font-style:normal;color:var(--muted,#776c61);white-space:nowrap}
.cr-setup{font:700 15px var(--sans,system-ui);color:var(--orange,#ba4b2a);white-space:nowrap}
.cr-hours{padding:4px 0 14px;border-bottom:1px solid var(--line,#e8e0d5)}
.cr-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}
.cr-day{height:40px;min-width:0;padding:0;border-radius:12px;border:1px solid var(--line,#e8e0d5);background:var(--white,#fffdf9);font:700 13px var(--sans,system-ui);color:var(--ink,#342a24)}
.cr-day[aria-pressed="true"]{background:var(--orange,#ba4b2a);border-color:var(--orange,#ba4b2a);color:#fff}
.cr-times{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px;margin-top:10px}
.cr-tf,.cr-field{display:grid;gap:4px;min-width:0;text-align:left;font:600 14px var(--sans,system-ui);color:var(--muted,#776c61);margin:8px 0}
.cr-tf{margin:0}
.cr-save{width:100%;margin-top:12px}
/* One height for every field, the value centred on it: WebKit's date and time values sat low (owner bug). */
.cr-tf input,.cr-field input{box-sizing:border-box;width:100%;min-width:0;height:48px;min-height:48px;margin:0;border-radius:12px;border:1px solid var(--line,#e8e0d5);padding:0 12px;font:500 16px var(--sans,system-ui);color:var(--ink,#342a24);background:var(--white,#fff);line-height:normal}
.cr-tf input[type=time],.cr-field input[type=time],.cr-field input[type=date]{-webkit-appearance:none;appearance:none;display:flex;align-items:center;line-height:46px;padding-top:0;padding-bottom:0;text-align:left}
.cr-tf input::-webkit-date-and-time-value,.cr-field input::-webkit-date-and-time-value{line-height:46px;min-height:0;margin:0;padding:0;text-align:left}
.cr-tf input::-webkit-datetime-edit,.cr-field input::-webkit-datetime-edit{padding:0;line-height:46px}
html.is-app .cr-tf input[type=time],html.is-app .cr-field input[type=time],html.is-app .cr-field input[type=date]{height:48px;min-height:48px;line-height:46px}
html.is-app .cr-tf input::-webkit-date-and-time-value,html.is-app .cr-field input::-webkit-date-and-time-value{line-height:46px}
.cr-err{margin:4px 0 6px;color:#b3261e;font:600 14px var(--sans,system-ui);text-align:left}
/* Sheets */
.cr-sheet{text-align:left}
.cr-back{display:inline-flex;align-items:center;gap:4px;height:36px;padding:0 4px;margin:-6px 0 2px -4px;border:0;background:none;font:700 15px var(--sans,system-ui);color:var(--ink,#342a24)}
.cr-back span{font-size:22px;line-height:1}
.cr-two{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px}
.cr-two .cr-field{margin-bottom:0}
.cr-free{display:grid;gap:2px;margin:14px 0 4px;padding:12px 14px;border-radius:14px;background:#e3eedd;color:#2f5e3b}.cr-free small{font-size:14px}
.cr-next{margin-top:12px}
.cr-seg{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;padding:4px;border-radius:14px;background:#efe6d8;margin:6px 0 10px}
.cr-seg button{height:40px;min-width:0;border:0;border-radius:10px;background:none;font:700 14px var(--sans,system-ui);color:var(--ink,#342a24);padding:0 4px}
.cr-seg button[aria-checked="true"]{background:var(--white,#fff);box-shadow:0 1px 3px #0002}
.cr-seg button:disabled{color:#b2a697}
.cr-note{margin:0 0 10px;padding:12px 14px;border-radius:14px;background:#fbefd5;color:#7a5512;font:600 15px var(--sans,system-ui)}
.cr-need{display:flex;align-items:center;gap:10px}.cr-need input{width:96px;flex:none}.cr-need small{font-size:15px;color:var(--muted,#776c61)}
/* ☰ → Crawls: Start a crawl at the top */
.crawl-start-top{display:grid;grid-template-columns:40px minmax(0,1fr) auto;gap:12px;align-items:center;width:100%;min-height:62px;margin:4px 0 12px;padding:10px 14px;border-radius:18px;border:1px solid var(--line,#e8e0d5);background:var(--white,#fffdf9);text-align:left;font:inherit;color:var(--ink,#342a24);box-sizing:border-box}
.crawl-start-top img{width:40px;height:40px;object-fit:contain}.crawl-start-top b{display:block;font:700 16px var(--sans,system-ui)}.crawl-start-top small{display:block;color:var(--muted,#776c61);font-size:14px}
.cr-sheet .vz-sub{text-align:left;margin-left:0;margin-right:0}
/* Room under the last control so it scrolls clear of the bottom bar */
html.is-app main.crawl-page{padding-bottom:calc(env(safe-area-inset-bottom,0px) + 150px)!important}
/* "Saved!" on crawl screens: at the top, clear of the fields near the bottom */
#toast.toast-top{top:calc(env(safe-area-inset-top,0px) + 14px);bottom:auto!important;transform:translate(-50%,-20px)}
#toast.toast-top.visible{transform:translate(-50%,0)}
.cr-notorg h2{overflow-wrap:anywhere}
/* The digital passport (Task 22, Crawls mockup §3). The Stamped! crawl block (in the visit sheet) and the passport
   screen. --crawl is the crawl's badge colour. */
.vz-crawl{--crawl:#ba4b2a;border-radius:20px;background:color-mix(in srgb,var(--crawl) 9%,var(--white,#fffdf9));border:1.5px solid color-mix(in srgb,var(--crawl) 35%,transparent);padding:14px;display:grid;gap:10px;text-align:left;min-width:0;max-width:100%;box-sizing:border-box}
.vz-cr-h{display:flex;align-items:center;gap:10px;min-width:0}
.vz-cr-h img{width:38px;height:38px;flex:none;object-fit:contain}
.vz-cr-h div{min-width:0}
.vz-cr-h b{display:block;font:800 17px/1.1 'Archivo',var(--sans,system-ui);overflow-wrap:anywhere}
.vz-cr-h small{display:block;color:var(--muted,#776c61);font-size:13px;margin-top:2px}
/* One circle per stop, at most 8 to a row: more stops wrap onto the next row instead of running off the screen. */
.vz-cr-dots{display:grid;grid-template-columns:repeat(var(--cols,8),minmax(0,36px));gap:6px;justify-content:start}
.vz-cr-dots i{aspect-ratio:1;border-radius:50%;border:2px dashed color-mix(in srgb,var(--crawl) 45%,transparent);display:grid;place-items:center;overflow:hidden;box-sizing:border-box;min-width:0}
.vz-cr-dots i.on{border:2px solid var(--crawl);background:var(--white,#fffdf9)}
.vz-cr-dots i img{width:100%;height:100%;object-fit:cover;border-radius:50%}
.vz-cr-dots i.new{box-shadow:0 0 0 3px color-mix(in srgb,var(--crawl) 35%,transparent)}
@media (prefers-reduced-motion:no-preference){.vz-cr-dots i.new{animation:vzPop .6s ease-out}}
.vz-cr-more{font:800 14.5px var(--sans,system-ui);color:var(--crawl)}
.vz-ava.vz-cr-ava{box-shadow:0 0 0 4px var(--paper,#faf7f2),0 0 0 8px var(--crawl,#ba4b2a)}
.cr-yours{display:grid;gap:10px}.cr-yours .cr-row{margin:0}
/* The passport screen */
.cr-passport{padding-bottom:40px}
.cr-pp-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:8px 0 6px}
.cr-pp-top .back-link{margin:0}
.cr-pp-x{width:40px;height:40px;border-radius:50%;border:1px solid var(--line,#e8e0d5);background:var(--white,#fffdf9);font:600 17px var(--sans,system-ui);color:var(--ink,#342a24);display:grid;place-items:center;flex:none}
.cr-pp-head{--crawl:#ba4b2a;display:grid;gap:6px;margin:0 0 16px;min-width:0}
.cr-pp-eyebrow{display:flex;align-items:center;gap:6px;font:800 12.5px var(--sans,system-ui);letter-spacing:.12em;text-transform:uppercase;color:var(--crawl);overflow-wrap:anywhere;min-width:0}
.cr-pp-eyebrow img{width:22px;height:22px;flex:none}
.cr-pp-head h1{font:900 34px/1 'Archivo',var(--sans,system-ui);font-stretch:85%;margin:0}
.cr-pp-sub{color:var(--muted,#776c61);font-size:15px}
.cr-pp-count{display:flex;justify-content:space-between;align-items:baseline;gap:10px;margin-top:6px;flex-wrap:wrap}
.cr-pp-count b{font:800 19px 'Archivo',var(--sans,system-ui)}
.cr-pp-count span{color:var(--crawl);font:700 14px var(--sans,system-ui)}
.cr-stamps{--crawl:#ba4b2a;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px 8px;margin:0 0 18px}
.cr-st{display:grid;justify-items:center;align-content:start;gap:3px;text-align:center;min-width:0}
.cr-ink{width:88px;height:88px;max-width:100%;border-radius:50%;border:3px solid var(--crawl);display:grid;place-items:center;position:relative;background:var(--white,#fffdf9);transform:rotate(-6deg);overflow:hidden;box-sizing:border-box;margin-bottom:4px}
.cr-st:nth-child(2n) .cr-ink{transform:rotate(5deg)}
.cr-ink img{width:100%;height:100%;object-fit:cover}
.cr-ink.empty{border:2px dashed var(--line,#d9cfc2);transform:none;background:transparent;font:900 28px 'Archivo',var(--sans,system-ui);color:var(--muted,#776c61)}
.cr-ink.prize{border:2px dashed #c99a2e;transform:none;background:#fbf1d8;font:900 15px/1.1 'Archivo',var(--sans,system-ui);color:#9a7114}
.cr-st b{font:700 13.5px/1.2 var(--sans,system-ui);overflow-wrap:anywhere;max-width:100%}
.cr-st small{font-size:12px;color:var(--muted,#776c61);overflow-wrap:anywhere;max-width:100%}
.cr-st .cr-time{color:var(--ink,#342a24);font-weight:600}
.cr-st .cr-gone{color:var(--orange,#ba4b2a);font-weight:600}
.cr-st.is-removed .cr-ink{opacity:.6;border-style:dashed}
.cr-dir{background:none;border:0;padding:6px 4px;min-height:32px;font:700 13px var(--sans,system-ui);color:var(--orange,#ba4b2a)}
.cr-rules{display:grid;gap:8px;font-size:14.5px;margin:0;padding:0;list-style:none}
.cr-rules li{display:flex;gap:10px;align-items:flex-start}
.cr-rules li i{flex:none;width:22px;height:22px;border-radius:50%;background:#fbe9e0;color:var(--orange,#ba4b2a);font:800 12px/22px var(--sans,system-ui);text-align:center;font-style:normal}
.cr-pp-h2{font:800 15px var(--sans,system-ui);color:var(--muted,#776c61);margin:4px 0 12px}
/* Get ready on Manage (Layer 3 Task 23, Crawls mockup §2): right under the post box. */
.cr-getready{display:grid;gap:4px;min-width:0}
.cr-gr-head{display:flex;gap:6px;align-items:center;min-width:0}
.cr-gr-head img{width:28px;height:28px;flex:none;object-fit:contain}
.cr-gr-head div{min-width:0}
.cr-gr-head b{display:block;font:800 17px/1.12 var(--display,Archivo,system-ui);color:var(--ink,#2f2622);overflow-wrap:anywhere}
.cr-gr-head small{display:block;color:var(--muted,#7a6c62);font-size:12.5px;line-height:1.3;margin-top:2px}
.cr-gr-steps{list-style:none;margin:2px 0 0;padding:0}
.cr-gr-steps li{display:flex;gap:10px;align-items:center;padding:8px 0;border-top:1px solid var(--line,#ebe2d6);min-width:0}
.cr-gr-steps li:first-child{border-top:0}
.cr-gr-n{flex:none;width:28px;height:28px;border-radius:50%;display:grid;place-items:center;font:800 13px var(--sans,system-ui);background:#fbe9e0;color:var(--orange,#ba4b2a)}
.cr-gr-n.is-ok{background:#e3efe5;color:#3f7a4f}
.cr-gr-t{flex:1;min-width:0}
.cr-gr-t b{display:block;font-size:15.5px;line-height:1.2;color:var(--ink,#2f2622)}
.cr-gr-t small{display:block;color:var(--muted,#7a6c62);font-size:13px;line-height:1.3;margin-top:2px}
.cr-gr-btn{flex:none;min-height:40px;min-width:64px;white-space:nowrap}
.cr-gr-ok{flex:none;font:800 14px var(--sans,system-ui);color:#3f7a4f;background:#e3efe5;border-radius:999px;padding:7px 11px;white-space:nowrap}
.cr-gr-walk{margin:4px 0 0;padding:10px 12px;border-radius:14px;background:color-mix(in srgb,var(--cr,#ba4b2a) 12%,#fffdf9);color:var(--ink,#2f2622);font-size:14.5px;overflow-wrap:anywhere}
.cr-gr-walk b{color:var(--cr,#ba4b2a)}
.cr-gr-tested{text-align:center;display:grid;gap:8px;justify-items:center}
html .cr-getready.is-mini,html.is-app .app-today .cr-getready.is-mini{padding:0}
.cr-gr-mini{display:flex;gap:10px;align-items:center;width:100%;min-height:52px;padding:8px 12px;background:none;border:0;text-align:left;color:var(--ink,#2f2622);font:inherit;min-width:0;cursor:pointer}
.cr-gr-mini img{width:32px;height:32px;flex:none;object-fit:contain}
.cr-gr-mini span{flex:1;min-width:0;line-height:1.3}
.cr-gr-mini b{font:800 14.5px/1.3 var(--sans,system-ui);overflow-wrap:anywhere}
.cr-gr-mini small{font-size:13.5px;line-height:1.3;color:var(--muted,#7a6c62);overflow-wrap:anywhere}
.cr-gr-mini small b{font:inherit;font-weight:700;color:var(--cr,#ba4b2a)}
.cr-gr-mini em{flex:none;font-style:normal;font-size:22px;color:var(--muted,#7a6c62)}
.cr-gr-app{flex:0 1 128px;font:700 12.5px/1.3 var(--sans,system-ui);color:var(--muted,#7a6c62);text-align:right}
.cr-share-web{display:flex;gap:12px;align-items:center;margin-top:16px;padding:12px 14px;border:1px solid var(--line,#ebe2d6);border-radius:16px;background:var(--white,#fffdf9);min-width:0;flex-wrap:wrap}
.cr-share-web img{width:48px;height:48px;flex:none;object-fit:contain}
.cr-share-web span{flex:1 1 160px;min-width:0}
.cr-share-web b{display:block;font-size:16px}
.cr-share-web small{display:block;color:var(--muted,#7a6c62);font-size:13.5px;overflow-wrap:anywhere}
.cr-share-sign small{overflow-wrap:anywhere}
/* Stamp sign missing? (Layer 3 Task 24, Crawls mockup §3). The crawler's code: big, black on white, a wide quiet edge. */
.cr-pp-missing{display:block;margin:18px auto 6px;min-height:44px;padding:0 12px;border:0;background:none;font:600 15px var(--sans,system-ui);color:var(--muted,#776c61);text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.cr-passcode{display:grid;gap:10px;justify-items:center;text-align:center;min-width:0}
.cr-passcode .cr-back{justify-self:start}
.cr-passcode .vz-h{margin:0}.cr-passcode .vz-sub{margin:0;max-width:30ch}
.cr-pc-qr{width:min(300px,100%);aspect-ratio:1;background:#fff;border:2px solid var(--line,#e8e0d5);border-radius:18px;padding:10px;box-sizing:border-box;display:grid;place-items:center}
.cr-pc-qr svg{display:block;width:100%;height:auto}
.cr-pc-qr.is-loading span{color:var(--muted,#776c61);font-size:14.5px}
.cr-pc-who{color:var(--muted,#776c61);font-size:14px;overflow-wrap:anywhere;max-width:100%}
.cr-pc-stale{color:var(--muted,#776c61);font-size:13px}
.cr-passcode .vz-sub,.cr-stand-done .vz-sub{text-align:center}
.cr-pc-err{margin:8px 0 0;color:var(--ink,#342a24);font-size:15px;overflow-wrap:anywhere}
/* Manage → Stamp a crawler: a row inside Get ready (under its heading) while the crawl is on, or its own card. */
.cr-stand{display:grid;gap:4px;min-width:0}
.cr-stand-row{display:flex;gap:10px;align-items:center;flex-wrap:nowrap;min-width:0;margin:6px 0 2px;padding:8px 10px 8px 12px;border-radius:14px;background:color-mix(in srgb,var(--cr,#ba4b2a) 10%,#fffdf9)}
.cr-getready.is-mini .cr-stand-row{margin:10px 10px 0}
.cr-gr-head + .cr-stand-row{margin-top:8px}
html .cr-stand,html.is-app .app-today .cr-stand{padding:0}
.cr-stand-row.is-solo{margin:0;background:none;padding:12px}
.cr-stand-row.is-solo img{width:36px;height:36px;flex:none;object-fit:contain}
.cr-stand-t{flex:1 1 auto;min-width:0}
.cr-stand-t b{display:block;font:800 15.5px/1.2 var(--sans,system-ui);color:var(--ink,#2f2622)}
.cr-stand-t small{display:block;color:var(--muted,#7a6c62);font-size:13px;line-height:1.3;margin-top:2px;overflow-wrap:anywhere}
.cr-stand-btn{flex:none;min-height:44px;white-space:nowrap;margin-left:auto}
/* "Kayla R. got the stamp!" */
.cr-stand-done{display:grid;gap:8px;justify-items:center;text-align:center;min-width:0}
.cr-stand-done .vz-h{margin:4px 0 0;overflow-wrap:anywhere}
.cr-stand-done .vz-sub{margin:0}
.cr-stand-done .vz-row2{width:100%}
.cr-sd-count{margin:0;font:800 16px var(--sans,system-ui);color:var(--cr,#ba4b2a)}
.cr-sd-burst{position:relative;width:90px;height:90px}
.cr-sd-ring{display:grid;place-items:center;width:90px;height:90px;border-radius:50%;border:4px solid #5f9b62;background:#fffdf9;box-sizing:border-box}
.cr-sd-ring img{width:62px;height:62px;object-fit:contain}
.cr-sd-chk{position:absolute;right:-4px;bottom:-2px;width:30px;height:30px;border-radius:50%;background:#5f9b62;color:#fff;display:grid;place-items:center;font:800 16px var(--sans,system-ui);border:3px solid #fffdf9}
/* Crawls near you (Task 25, Crawls mockup §2): a card per crawl with one Ask to join; asked ones say so. */
.cr-near-card{display:grid;gap:10px;margin:0 0 12px;padding:12px;border-radius:20px;border:1px solid var(--line,#e8e0d5);background:var(--white,#fffdf9);box-sizing:border-box;min-width:0}
.cr-near-hero{position:relative;display:grid;gap:3px;padding:14px 84px 14px 14px;border-radius:14px;color:#fff;min-width:0;overflow:hidden}
.cr-near-hero small{font:700 13px var(--sans,system-ui);opacity:.95}
.cr-near-hero b{font:800 24px/1.1 var(--display,var(--sans,system-ui));overflow-wrap:anywhere}
.cr-near-hero span{font-size:13.5px;opacity:.92;overflow-wrap:anywhere}
.cr-near-hero img{position:absolute;right:10px;bottom:8px;width:64px;height:64px;object-fit:contain}
.cr-near-card .cr-ask{width:100%}
.cr-near-row{display:grid;grid-template-columns:46px minmax(0,1fr) auto;gap:12px;align-items:center}
.cr-near-row img{width:46px;height:46px;object-fit:contain}
.cr-near-row b{display:block;font-size:16px;overflow-wrap:anywhere}.cr-near-row small{display:block;color:var(--muted,#776c61);font-size:14px}
.cr-near-cap{margin:0;color:var(--muted,#776c61);font-size:14px}
/* The organizer's "Asked to join" row: No thanks and Add on its second line. */
.crawl-stops .crawl-stop>.crawl-ask-btns{margin-left:60px;display:flex;gap:8px;flex:1 1 auto;justify-content:flex-end;flex-wrap:wrap}
.crawl-ask-btns .btn{min-height:40px}
/* The request sheet a push or Activity opens. */
.cr-eyebrow{display:block;font:800 12px var(--sans,system-ui);letter-spacing:.12em;text-transform:uppercase;color:var(--orange,#ba4b2a);margin:0 40px 12px 0}
.cr-ask-who{display:flex;gap:12px;align-items:center;margin:0 0 16px}
.cr-ask-av{width:62px;height:62px;border-radius:50%;border:1px solid var(--line,#e8e0d5);background:var(--white,#fffdf9);display:grid;place-items:center;flex:none;overflow:hidden}
.cr-ask-av img{width:100%;height:100%;object-fit:cover}
.cr-ask-who b{display:block;font:800 20px/1.15 var(--display,var(--sans,system-ui));overflow-wrap:anywhere}.cr-ask-who small{display:block;color:var(--muted,#776c61);margin-top:4px}
.cr-sheet .cr-center{text-align:center;margin-top:10px}
/* ---- Prizes (Layer 3 Task 26, Crawls mockup §4) ---- */
/* Asked to join at the top of the organizer's page (carry-over from Task 25). */
.cr-asks{margin:0 0 12px}.cr-asks .crawl-stops{margin:0}
.cr-asks .crawl-stop{background:#fbf1d8;border-radius:20px}
/* How it went: two numbers, Pick a winner, each stop's count. */
.cr-howwent{margin:0 0 12px;min-width:0}
.cr-hw-h{font:900 26px/1.1 'Archivo',var(--sans,system-ui);margin:4px 0 10px}
.cr-hw-two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.cr-hw-n{display:grid;gap:2px;padding:14px;margin:0 0 12px}.cr-hw-n b{font:900 30px/1 'Archivo',var(--sans,system-ui)}.cr-hw-n small{font-size:14px;color:var(--muted,#776c61)}
.cr-hw-pick{border:2px dashed #c99a2e;background:#fffaf0}.cr-hw-pick .microcopy{font-size:14px;margin:0 0 10px}
.cr-hw-won{display:flex;gap:12px;align-items:center;background:#fbf1d8;border-color:transparent}.cr-hw-won img{flex:none;object-fit:contain}
.cr-hw-won span{display:grid;gap:2px;min-width:0}.cr-hw-won b{font:800 19px var(--sans,system-ui);overflow-wrap:anywhere}.cr-hw-won small{color:var(--muted,#776c61);font-size:14px}
.cr-hw-list{list-style:none;padding:4px 16px}.cr-hw-list li{justify-content:space-between;align-items:center}
.cr-hw-t{display:grid;min-width:0}.cr-hw-t .cr-sname{overflow-wrap:anywhere;font-weight:700}.cr-hw-t small{color:var(--muted,#776c61);font-size:13px}.cr-hw-c{font-weight:800;flex:none}
/* The prize sheet: a photo row and the official rules note. */
.cr-prize-photo{display:flex;gap:12px;align-items:center;padding:10px 12px;margin:0 0 10px;border:1px solid var(--line,#e8e0d5);border-radius:16px;background:var(--white,#fffdf9);cursor:pointer;min-width:0}
.cr-prize-photo img{flex:none;object-fit:contain}.cr-prize-photo span{display:grid;min-width:0}.cr-prize-photo b{font-size:15px}.cr-prize-photo small{color:var(--muted,#776c61)}
.cr-prize textarea{box-sizing:border-box;width:100%;min-width:0;min-height:72px;margin:0;border-radius:12px;border:1px solid var(--line,#e8e0d5);padding:10px 12px;font:500 16px/1.4 var(--sans,system-ui);color:var(--ink,#342a24);background:var(--white,#fff);resize:vertical}
.cr-rules-note{font-weight:500;font-size:14px;color:var(--ink,#342a24)}
/* Give prize beside Stamp a crawler (one row, so both clear the tab bar); the gold ring on the done sheets. */
.cr-stand-row.is-two{gap:8px}.cr-stand-row.is-two .cr-stand-btn{flex:1 1 0;min-width:0;margin-left:0;padding-inline:10px;white-space:nowrap}
.cr-stand-row.is-two.is-solo img{flex:none}
.cr-sd-ring.is-gold{border-color:#c99a2e;background:#fbf1d8}
.cr-won-sheet{display:grid;gap:8px;justify-items:center;text-align:center;min-width:0}.cr-won-sheet .vz-h{margin:4px 0 0;overflow-wrap:anywhere}.cr-won-sheet .vz-sub{margin:0;text-align:center}.cr-won-sheet .vz-btn{width:100%}
/* You did it! */
.cr-done{--crawl:#ba4b2a;display:grid;gap:10px;justify-items:center;text-align:center;min-width:0}
.cr-done .cr-pp-eyebrow{justify-content:center;padding:0 44px;box-sizing:border-box;width:100%;text-align:center}.cr-done-h{font:900 36px/1 'Archivo',var(--sans,system-ui);margin:2px 0 0}.cr-done .vz-sub{margin:0;text-align:center}
.cr-done-stamps{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;width:100%;max-width:300px}
.cr-done-stamps .cr-ink{width:64px;height:64px;margin:0}.cr-done-stamps .cr-ink img{width:100%;height:100%;object-fit:cover}
.cr-done-stamps .cr-ink:nth-child(2n){transform:rotate(5deg)}
.cr-done-card{display:grid;gap:4px;width:100%;box-sizing:border-box;text-align:left;padding:14px 16px;border-radius:18px;background:#fbf1d8;min-width:0}
.cr-done-card b{font:800 18px var(--sans,system-ui)}.cr-done-card small{font-size:14px;color:var(--muted,#776c61);overflow-wrap:anywhere}
.cr-done-rules{justify-self:start;background:none;border:0;padding:4px 0;color:var(--orange,#ba4b2a);font:700 14px var(--sans,system-ui);cursor:pointer}
.cr-done-get{margin-top:6px}.cr-done .vz-row2{width:100%}
.cr-pp-prize{margin:0 0 16px}.cr-pp-rules{margin:-6px 0 12px}
/* Official rules, in the app. */
.cr-rules-doc{background:var(--white,#fffdf9);border:1px solid var(--line,#e8e0d5);border-radius:18px;padding:4px 16px 14px;min-width:0}
.cr-rules-doc h3{font:800 16px var(--sans,system-ui);margin:14px 0 2px}.cr-rules-doc p{margin:0;font-size:15px;line-height:1.5;overflow-wrap:anywhere}
.cr-rules-apple{margin-top:14px!important;padding:10px 12px;border-radius:12px;background:#fbf1d8;font-weight:600}
