:root{--paper:#f6f4ec;--card:#fffdf7;--ink:#2d4038;--muted:#617061;--green:#355b45;--gold:#a08747;--line:#dce1d4;--pale:#edf1e6}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:14px/1.65 -apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif}a{color:var(--green);text-decoration:none}a:hover{text-decoration:underline;text-underline-offset:4px}button,input,select{font:inherit;color:inherit}button{cursor:pointer}button,a,input,select,summary{touch-action:manipulation}:is(button,a,input,select,summary):focus-visible{outline:2px solid #8e9b5c;outline-offset:3px}button{border:1px solid var(--line);border-radius:5px;background:var(--card);padding:7px 11px}button:hover{background:var(--pale)}[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.skip{position:fixed;top:-100px;left:20px;z-index:1500;padding:10px;background:var(--card)}.skip:focus{top:10px}
.slates-shell{max-width:1420px;margin:auto;padding:23px 32px 0}.breadcrumbs{display:flex;gap:10px;align-items:center;color:var(--muted);font-size:12px;margin-bottom:22px}.breadcrumbs>span:not(:last-child){color:#9ca68e}.slates-heading{display:flex;justify-content:space-between;gap:30px;align-items:center;margin:0 0 25px}.eyebrow{font-size:10px;letter-spacing:.17em;color:var(--gold);margin:0 0 7px;font-weight:600}.slates-heading h1{margin:0;font:700 32px/1.45 "Songti SC","Noto Serif SC",serif;letter-spacing:.05em;text-align:left!important}.lead{font-size:14px;color:var(--muted);margin:7px 0 0}.heading-stats{display:flex;gap:29px;flex-shrink:0}.heading-stats>div{display:grid;text-align:center}.heading-stats strong{font:36px/1.2 Georgia,serif;color:#4e6344}.heading-stats span{font-size:12px;color:var(--muted);margin-top:6px}.slates-layout{display:grid;grid-template-columns:minmax(0,1fr) 275px;gap:25px;align-items:start}.slates-main{min-width:0}.guide-tabs{display:flex;gap:25px;border-bottom:1px solid var(--line);padding:0 18px;background:var(--card);border-radius:9px 9px 0 0}.guide-tabs button{border:0;border-bottom:3px solid transparent;border-radius:0;background:none;padding:15px 2px;font-weight:600;color:var(--muted)}.guide-tabs button[aria-selected=true]{border-bottom-color:var(--green);color:var(--green)}.guide-tabs span{font:12px Georgia,serif;color:#7b856d;background:#edf0e3;border-radius:4px;padding:2px 6px;margin-left:5px}.collection-controls{background:var(--card);padding:17px 18px 11px;border:1px solid var(--line);border-top:0}.search-row{display:flex;gap:9px;align-items:center}.search-field{display:flex;align-items:center;gap:9px;flex:1;background:#fff;border:1px solid #d4dccb;border-radius:5px;padding:0 10px}.search-field>span{font-size:23px;color:#798b65}.search-field input{width:100%;min-width:0;background:none;border:0;padding:9px 0;outline:0;font-size:13px}.search-field:focus-within{outline:2px solid #8e9b5c;outline-offset:2px}.search-field input:focus-visible{outline:0}.map-filter-label{max-width:210px}.map-filter-label select{width:100%;min-height:38px;border:1px solid var(--line);background:#fff;border-radius:5px;padding:7px;font-size:13px}.search-row>button{font-size:12px}.region-filters{display:flex;gap:6px;flex-wrap:wrap;margin-top:14px}.region-filters button{font-size:12px;padding:5px 9px;border-color:transparent;background:#f0f2e9;color:#566b4d}.region-filters button[aria-pressed=true]{background:var(--green);color:#fffcec}.region-filters small{font-size:10px;opacity:.75;margin-left:5px}.filter-bottom{display:flex;gap:16px;align-items:center;color:var(--muted);font-size:12px;margin-top:10px}.filter-bottom p{flex:1;margin:0}.filter-bottom label{display:flex;align-items:center;gap:5px;white-space:nowrap}.filter-bottom input,.collect-check input{accent-color:#567748}.filter-bottom button{padding:4px 0;border:0;background:none;font-size:12px;white-space:nowrap;color:var(--green)}.list-legend{display:grid;grid-template-columns:122px minmax(0,1fr) 120px;gap:10px;padding:10px 18px;color:#748067;font-size:11px}.list-legend>span:last-child{text-align:right}.map-group{border:1px solid var(--line);border-radius:6px;margin-bottom:12px;overflow:hidden;background:var(--card)}.map-group-heading{display:flex;gap:12px;align-items:center;padding:10px 16px;background:#eef1e5;border-bottom:1px solid var(--line)}.map-group-heading h3{font:600 15px/1.4 "Songti SC",serif!important;text-align:left!important;margin:0}.map-group-heading .region-name{font-size:11px;color:#5e7154;white-space:nowrap}.map-group-heading a{margin-left:auto;font-size:12px;white-space:nowrap}.map-group-heading small{font-size:11px;color:#6e7d61;white-space:nowrap}.slate-row{display:grid;grid-template-columns:112px minmax(0,1fr) 120px;align-items:center;gap:10px;padding:12px 16px;border-bottom:1px solid #e8ecdf}.slate-row:last-child{border-bottom:0}.slate-row.is-collected{background:#f6f8f0}.collect-check{display:flex;align-items:center;gap:13px;cursor:pointer}.collect-check input{width:16px;height:16px;margin:0}.collect-check span{font:16px Georgia,serif;letter-spacing:.06em;color:#5c6f4a}.is-collected .collect-check span{color:#7e8d70}.point-copy{min-width:0}.point-copy strong{display:block;font-size:13px;font-weight:500}.point-copy small{display:block;font-size:11px;color:#6f7d65;margin-top:2px}.point-copy details{font-size:11px;margin-top:3px;color:#65765a}.point-copy summary{cursor:pointer;width:fit-content}.point-copy details p{word-break:break-word;font-size:12px;line-height:1.8;margin:6px 0}.point-copy details a{display:inline-block;margin:3px 9px 3px 0}.map-locate{display:inline-flex;justify-content:center;align-items:center;gap:7px;padding:7px 10px;border:1px solid #ccd9bd;border-radius:5px;background:#f7f9ef;font-size:12px;white-space:nowrap;justify-self:end}.map-locate:hover{background:#eaf0dc;text-decoration:none}.map-locate>span{font-size:15px}.duplicate-note{display:inline-block;margin-left:8px;font-size:10px;color:#897340}.empty-state{text-align:center;padding:55px 20px;background:var(--card);border:1px dashed var(--line);border-radius:6px}.empty-state p{color:var(--muted)}.empty-state button{color:var(--green)}.slates-aside{display:grid;gap:17px;position:sticky;top:100px}.progress-card,.delivery-card,.guide-card{border:1px solid var(--line);border-radius:8px;padding:19px;background:var(--card)}.progress-card{border-top:3px solid #9f9b60}.card-kicker{display:flex;justify-content:space-between;gap:10px;font-size:12px;color:#596e4c}.card-kicker>span:last-child{font-size:10px;color:#7f8b72}.progress-number{margin:15px 0 10px;display:flex;align-items:baseline;gap:9px}.progress-number strong{font:48px/1 Georgia,serif;color:#3d5b38}.progress-number span{font-size:16px;color:#7d896f}.progress-card progress{width:100%;height:7px;appearance:none;border:0;background:#e3e8d9;border-radius:10px;overflow:hidden}.progress-card progress::-webkit-progress-bar{background:#e3e8d9}.progress-card progress::-webkit-progress-value{background:#8d9c62}.progress-card progress::-moz-progress-bar{background:#8d9c62}.progress-card>p:not(.progress-number){font-size:11px;color:#6d7d60}.next-reward{border-top:1px dashed var(--line);padding-top:13px;margin-top:16px;font-size:12px;color:var(--muted)}.next-reward strong{display:block;font-size:14px;font-weight:600;color:#536940;margin:3px 0}.next-reward small{font-size:11px;display:block;line-height:1.8}.progress-card>button{width:100%;border:0;background:#eef2e4;color:#4c673d;margin-top:14px;font-size:12px;padding:8px}.delivery-card{background:#eef2e4}.delivery-card h2,.guide-card h2{margin:0 0 10px;font:600 19px/1.4 "Songti SC",serif;text-align:left!important}.delivery-card p,.guide-card p{font-size:12px;color:#5e7252;line-height:1.9;margin:10px 0}.primary-link{display:inline-block;border:1px solid #b8c8a3;border-radius:5px;padding:8px 12px;background:#fffdf5;font-size:12px}.small-note{font-size:11px!important}.guide-card ol{padding-left:18px;margin:10px 0;font-size:12px;color:#657859}.guide-card li{margin-bottom:8px}.guide-card>a{font-size:12px}.rewards-intro{padding:25px;background:var(--card);border:1px solid var(--line);border-top:0}.rewards-intro h2{margin:7px 0 12px;font:600 23px/1.4 "Songti SC",serif;text-align:left!important}.rewards-intro>p:not(.eyebrow){font-size:14px;line-height:1.9;max-width:700px;color:#5b7050}.reward-note{font-size:12px;color:#66775a;padding:0 8px}.reward-table-wrap{border:1px solid var(--line);border-radius:6px;overflow:auto;background:var(--card)}.reward-table{border-collapse:collapse;width:100%;font-size:13px}.reward-table :is(th,td){text-align:left;padding:12px 16px;border-bottom:1px solid #e6eadc;white-space:nowrap}.reward-table th{background:#edf1e4;color:#617450;font-size:12px;font-weight:500}.reward-table td:first-child{font:18px Georgia,serif;color:#567047}.reward-table td:first-child small{font:11px system-ui,sans-serif;margin-left:5px;color:#758168}.reward-table .reward-item a{display:inline-flex;gap:10px;align-items:center}.reward-item img{width:25px;height:25px;object-fit:contain;filter:brightness(.55)}.reward-item small{margin-left:8px;color:#748064}.reward-table tbody tr:last-child td{border-bottom:0}.reward-table td:last-child a{font-size:12px}.source-notes{margin-top:22px;border-top:1px solid var(--line);padding:16px 4px;color:#697a5d;font-size:12px}.source-notes summary{cursor:pointer}.source-notes>div{padding:7px 10px}.source-notes p{font-size:12px;line-height:1.9}.source-links{display:flex;gap:15px;flex-wrap:wrap}footer{display:flex;justify-content:space-between;padding:23px 0;color:#829073;font-size:11px;border-top:1px solid var(--line);margin-top:27px}#slate-toast{position:fixed;left:50%;bottom:25px;transform:translateX(-50%);z-index:1500;background:#35583c;color:#fffdf1;padding:10px 17px;border-radius:6px;font-size:13px;pointer-events:none;opacity:0}#slate-toast.visible{opacity:1}
@media(max-width:1100px){.slates-shell{padding:20px 20px 0}.slates-layout{grid-template-columns:minmax(0,1fr) 240px;gap:18px}.heading-stats{gap:20px}.map-filter-label{max-width:160px}.slate-row{grid-template-columns:85px minmax(0,1fr) 110px}.list-legend{grid-template-columns:95px minmax(0,1fr) 110px}.map-group-heading{flex-wrap:wrap;gap:5px 10px}.map-group-heading a{margin-left:auto}.slates-heading h1{font-size:29px}}
@media(max-width:800px){.slates-shell{padding:16px 14px 0}.breadcrumbs{margin-bottom:14px}.slates-heading{align-items:flex-start;gap:16px}.slates-heading h1{font-size:25px}.slates-heading .eyebrow{font-size:9px;max-width:240px;line-height:1.8}.heading-stats{gap:16px}.heading-stats strong{font-size:27px}.heading-stats span{font-size:10px}.lead{font-size:12px}.slates-layout{display:flex;flex-direction:column;gap:18px}.slates-main{width:100%}.slates-aside{position:static;grid-template-columns:1fr 1fr;width:100%}.guide-card{grid-column:1/-1}.search-row{flex-wrap:wrap}.search-field{flex-basis:55%}.map-filter-label{max-width:150px}.slate-row{grid-template-columns:85px minmax(0,1fr) 110px}.list-legend{grid-template-columns:95px minmax(0,1fr) 110px}.reward-table :is(th,td){padding:12px}.slates-heading{margin-bottom:18px}}
@media(max-width:520px){.slates-heading{display:block}.heading-stats{margin-top:15px;gap:32px}.heading-stats>div{display:flex;align-items:baseline;gap:7px}.heading-stats strong{font-size:25px}.heading-stats span{font-size:11px}.slates-heading h1{font-size:26px}.slates-heading .eyebrow{max-width:none;font-size:8px}.guide-tabs{gap:22px;padding:0 13px}.guide-tabs button{padding:13px 0;font-size:13px}.collection-controls{padding:13px 12px 9px}.search-field{flex-basis:100%}.map-filter-label{flex:1;max-width:none}.filter-bottom{gap:10px;flex-wrap:wrap}.filter-bottom>p{flex-basis:100%;font-size:12px}.region-filters{flex-wrap:nowrap;overflow:auto;padding-bottom:5px;scrollbar-width:thin}.region-filters button{white-space:nowrap;flex-shrink:0}.list-legend{grid-template-columns:65px minmax(0,1fr) 88px;padding:9px 12px;font-size:10px}.slate-row{grid-template-columns:55px minmax(0,1fr) 88px;padding:11px 10px;gap:10px}.collect-check{gap:7px}.collect-check span{font-size:14px}.collect-check input{width:15px;height:15px}.map-locate{font-size:11px;padding:7px 6px;gap:3px}.map-group-heading{padding:9px 12px}.map-group-heading h3{font-size:15px!important}.map-group-heading .region-name{font-size:10px}.map-group-heading small{font-size:10px}.map-group-heading a{font-size:11px}.point-copy strong{font-size:12px}.point-copy small{font-size:10px}.point-copy details{font-size:10px}.slates-aside{grid-template-columns:1fr}.guide-card{grid-column:auto}.progress-card{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}.card-kicker{grid-column:1/-1}.progress-number{grid-row:2/4;align-self:center}.progress-card progress{grid-column:2;margin-top:20px}.progress-card>p:not(.progress-number){grid-column:2}.next-reward,.progress-card>button{grid-column:1/-1}.rewards-intro{padding:20px 16px}.rewards-intro h2{font-size:20px}.reward-table{font-size:12px}.reward-table :is(th,td){padding:10px}.reward-item img{display:none}footer{gap:10px;flex-wrap:wrap}.source-links{gap:10px}}

/* Keep the index close to the fold on laptop screens. */
.slates-shell{padding-top:17px}.breadcrumbs{margin-bottom:14px}.slates-heading{margin-bottom:18px}.slates-heading h1{font-size:30px}.guide-tabs button{padding-top:12px;padding-bottom:12px}.collection-controls{padding-top:13px}.region-filters{margin-top:10px}.slate-row{padding-top:10px;padding-bottom:10px}
@media(max-width:520px){.slates-heading h1{font-size:26px}.heading-stats{margin-top:10px}.slates-heading{margin-bottom:14px}}

.mobile-progress{display:none}
@media(max-width:800px){.mobile-progress{display:block;background:#eaf0df;border:1px solid #d8e1ca;border-radius:5px;padding:8px 12px;font-size:12px;color:#4b653f;margin:0 0 14px}.slates-aside .progress-card{display:none}body:has(.slates-shell) .ffrs-global-header .ffrs-database-link{display:none}}

/* Collection points form a compact grid, with at most three per row. */
.slate-list-tip{font-size:11px;color:#75846a;margin:11px 4px}
.slate-point-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch}
.slate-point-grid .slate-row{grid-template-columns:48px minmax(0,1fr);grid-template-rows:auto auto;align-content:center;gap:7px 9px;padding:12px;border:0;border-right:1px solid #e4e9d9;border-bottom:1px solid #e4e9d9;min-height:92px}
.slate-point-grid .slate-row:nth-child(3n){border-right:0}
.slate-point-grid .collect-check{align-self:start;padding-top:1px;gap:7px;grid-row:1/-1}
.slate-point-grid .collect-check span{font-size:14px}
.slate-point-grid .point-copy strong{font-size:12px}
.slate-point-grid .point-copy small{font-size:10px}
.slate-point-grid .map-locate{grid-column:2;justify-self:start;padding:4px 7px;font-size:11px;gap:0;background:#f8faf0;border-color:#d8e1cc}
.slate-point-grid .map-locate>.ffrs-map-icon{margin-right:4px!important;width:12px!important;height:14px!important;flex-basis:12px}
.slate-point-grid .duplicate-note{display:block;margin:3px 0 0;font-size:10px}
@media(min-width:801px) and (max-width:1150px){.slate-point-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.slate-point-grid .slate-row:nth-child(3n){border-right:1px solid #e4e9d9}.slate-point-grid .slate-row:nth-child(2n){border-right:0}}
@media(max-width:600px){.slate-point-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.slate-point-grid .slate-row{grid-template-columns:36px minmax(0,1fr);gap:6px;padding:10px 8px}.slate-point-grid .collect-check{gap:5px;flex-wrap:wrap;align-content:flex-start}.slate-point-grid .slate-row:nth-child(3n){border-right:1px solid #e4e9d9}.slate-point-grid .slate-row:nth-child(2n){border-right:0}.slate-point-grid .point-copy strong{font-size:11px}.slate-point-grid .point-copy small{font-size:9px}.slate-point-grid .map-locate{font-size:10px;padding:5px}}
@media(max-width:360px){.slate-point-grid{grid-template-columns:1fr}.slate-point-grid .slate-row{grid-template-columns:48px minmax(0,1fr) auto;grid-template-rows:auto;min-height:76px}.slate-point-grid .map-locate{grid-column:3}.slate-point-grid .collect-check{grid-row:auto}}
.slate-point-grid:has(>.slate-row:only-child){grid-template-columns:minmax(0,1fr)}
.slate-point-grid:has(>.slate-row:nth-child(2):last-child){grid-template-columns:repeat(2,minmax(0,1fr))}
.slate-point-grid:has(>.slate-row:only-child) .slate-row{grid-template-columns:56px minmax(0,1fr) auto;grid-template-rows:auto;min-height:68px;gap:10px;padding:11px 14px;border:0}
.slate-point-grid:has(>.slate-row:only-child) .collect-check{grid-row:auto;align-self:center;flex-wrap:nowrap}
.slate-point-grid:has(>.slate-row:only-child) .map-locate{grid-column:3;align-self:center}
/* Equal map cards: two cards per row, compact quarter-width point cells. */
#slate-results{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:stretch}
#slate-results .map-group{height:250px;margin:0;display:flex;flex-direction:column;min-width:0}
#slate-results .map-group-heading{min-height:62px;flex-shrink:0;flex-wrap:wrap;gap:4px 9px;padding:9px 12px}
#slate-results .map-group-heading a{margin-left:auto}
#slate-results .slate-point-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;overflow-y:auto;min-height:0;flex:1;scrollbar-width:thin}
#slate-results .slate-point-grid .slate-row{grid-template-columns:38px minmax(0,1fr);grid-template-rows:auto auto;min-height:92px;align-content:start;gap:6px;padding:10px 8px;border:0;border-bottom:1px solid #e4e9d9;border-right:1px solid #e4e9d9}
#slate-results .slate-point-grid .slate-row:nth-child(2n){border-right:0}
#slate-results .slate-point-grid .collect-check{grid-row:1/3;align-self:start;gap:5px;flex-wrap:wrap}
#slate-results .slate-point-grid .map-locate{grid-column:2;justify-self:start;align-self:start}
@media(max-width:1100px){#slate-results{gap:14px}#slate-results .map-group-heading{min-height:76px}#slate-results .slate-point-grid{grid-template-columns:1fr}}
@media(max-width:600px){#slate-results{grid-template-columns:1fr;gap:14px}#slate-results .map-group{height:250px}#slate-results .map-group-heading{min-height:62px}#slate-results .slate-point-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* Each map owns one full row; its pickup cells stay on that row. */
#slate-results{display:flex;flex-direction:column;gap:14px}
#slate-results .map-group{height:auto;min-height:0;margin:0;display:block}
#slate-results .map-group-heading{min-height:0;padding:9px 14px;flex-wrap:wrap}
#slate-results .slate-point-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;padding:12px;overflow:visible;align-content:start}
#slate-results .slate-point-grid .slate-row{min-height:92px;border:1px solid #e1e7d7;border-radius:4px;background:#fffdf7}
#slate-results .slate-point-grid .slate-row:nth-child(2n){border-right:1px solid #e1e7d7}
#slate-results .slate-point-grid .slate-row.is-collected{background:#f0f5e8}
@media(max-width:700px){#slate-results .slate-point-grid{display:flex;overflow-x:auto;gap:10px}#slate-results .slate-point-grid .slate-row{flex:0 0 190px}}

.slate-map-preview{width:min(1250px,96vw);height:min(850px,90vh);max-width:96vw;max-height:90vh;padding:0;border:1px solid #bfcbb3;border-radius:8px;background:#f6f4ec;color:#2d4038;box-shadow:0 20px 80px #10251e55;overflow:hidden}.slate-map-preview::backdrop{background:#15291e88;backdrop-filter:blur(3px)}.slate-map-preview[open]{display:flex;flex-direction:column}.slate-map-preview>header{display:flex;align-items:center;gap:18px;flex-shrink:0;padding:10px 16px;border-bottom:1px solid #dce1d4;background:#fffdf7}.slate-map-preview>header strong{font-size:14px}.slate-map-full{margin-left:auto;font-size:12px}.slate-map-preview>header button{font-size:24px;line-height:1;padding:3px 9px}.slate-map-preview iframe{width:100%;flex:1;min-height:0;border:0;background:#f6f4ec}@media(max-width:600px){.slate-map-preview>header{gap:8px;padding:8px}.slate-map-preview>header strong{font-size:12px}.slate-map-full{font-size:10px}}
