/* Radicle HK Collection v2. All art independent: map and transparent stamp WebPs. */
.hk-collection{font-family:Georgia,"Noto Serif TC",serif;color:#213f3a;min-width:0}
.hk-collection *{box-sizing:border-box}
.hk-v2{max-width:680px;margin:0 auto}
.hk-v2-top{display:flex;align-items:end;justify-content:space-between;gap:8px;margin:0 0 10px}
.hk-v2-kicker{display:block;font:700 9px/1.5 system-ui,sans-serif;letter-spacing:1.2px;color:#8e977c;text-transform:uppercase}
.hk-v2-top h3{margin:2px 0 0;font-size:clamp(19px,5vw,27px);font-weight:600}
.hk-v2-count{flex-shrink:0;font:11px system-ui,sans-serif;color:#777e73;background:#f6f1e7;padding:7px;border-radius:20px}
.hk-v2-map{position:relative;isolation:isolate;aspect-ratio:1.84;overflow:hidden;border-radius:13px;background:#b7ddd8;box-shadow:0 3px 18px #3b666124}
.hk-v2-map-art{width:100%;height:100%;object-fit:cover;display:block}
.hk-v2-marker{position:absolute;z-index:2;transform:translate(-50%,-50%);display:flex;gap:5px;align-items:center;min-height:27px;border:1px solid #ffffffee;border-radius:20px;background:#fffaf0dc;color:#234c46;font:600 10px/1.1 system-ui,sans-serif;padding:4px 7px 4px 5px;max-width:36%;box-shadow:0 1px 6px #31494265;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px)}
.hk-v2-marker .hk-v2-dot{display:block;flex:0 0 12px;height:12px;border-radius:100%;background:#8d987a;border:2px solid white;box-shadow:0 0 0 1px #4e6d50}
.hk-v2-marker.hk-v2-coral .hk-v2-dot{background:#d57569}.hk-v2-marker.hk-v2-amber .hk-v2-dot{background:#e4af52}.hk-v2-marker.hk-v2-blue .hk-v2-dot{background:#539fb7}.hk-v2-marker.hk-v2-violet .hk-v2-dot{background:#9986ad}
.hk-v2-marker.is-active{border:2px solid #ba6456;background:#fffbf1;color:#95483d;box-shadow:0 0 0 2px #fff8ea66,0 3px 12px #31504b66}
.hk-v2-marker.is-active .hk-v2-dot{background:#c35f4d}
.hk-v2-hint{font:11px system-ui,sans-serif;color:#7f897f;margin:7px 0 9px;text-align:center}
.hk-v2-region-tabs{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;padding:1px 1px 9px;scroll-snap-type:x proximity}
.hk-v2-region-tabs::-webkit-scrollbar{display:none}
.hk-v2-tab{flex:none;border:1px solid #d5d7c6;border-radius:17px;background:#f5f1e7;color:#667c6b;font:600 11px system-ui,sans-serif;padding:7px 11px;scroll-snap-align:start}
.hk-v2-tab.is-active{background:#bd6c5c;border-color:#bd6c5c;color:#fffdfa}
.hk-v2-panel{border-top:1px solid #e6dcc9;padding:12px 0 18px}
.hk-v2-region-head{display:flex;justify-content:space-between;gap:8px;align-items:start;margin-bottom:13px}
.hk-v2-region-head h3{margin:2px 0 5px;font-size:clamp(20px,5vw,27px)}
.hk-v2-note{font:12px/1.45 system-ui,sans-serif;color:#75877d;margin:0}
.hk-v2-region-count{border-radius:18px;background:#f2e5d7;color:#a35d50;padding:6px 9px;font:700 12px system-ui,sans-serif;white-space:nowrap}
.hk-v2-stamp-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 9px}
.hk-v2-stamp{appearance:none;position:relative;min-width:0;border:0;padding:0 0 5px;background:none;text-align:left;color:inherit;cursor:pointer;transition:transform .15s}
.hk-v2-stamp:hover{transform:translateY(-2px)}
.hk-v2-stamp:focus-visible,.hk-v2-tab:focus-visible,.hk-v2-marker:focus-visible{outline:3px solid #cd8576;outline-offset:3px}
.hk-v2-stamp-art{display:block;width:100%;aspect-ratio:4/5;object-fit:contain;filter:drop-shadow(0 2px 4px #443e3230)}
.hk-v2-stamp.locked .hk-v2-stamp-art{filter:grayscale(1) sepia(.08) opacity(.66) drop-shadow(0 2px 2px #443e3218)}
.hk-v2-stamp.is-selected .hk-v2-stamp-art{filter:drop-shadow(0 0 0.35rem #c57d5b)}
.hk-v2-stamp.locked.is-selected .hk-v2-stamp-art{filter:grayscale(1) opacity(.80) drop-shadow(0 0 0.3rem #c57d5b)}
.hk-v2-stamp-title{display:block;text-align:center;font:600 12px/1.15 Georgia,serif;margin-top:0;min-height:14px}
.hk-v2-stamp-counter{display:block;text-align:center;font:10px/1.3 system-ui,sans-serif;color:#899184;margin-top:3px}
.hk-v2-stamp-status{position:absolute;top:5%;right:9%;border-radius:100px;background:#ba6656;color:#fff;padding:4px;min-width:20px;min-height:20px;display:grid;place-items:center;font:700 10px system-ui,sans-serif;border:1px solid #fff7e4}
.hk-v2-stamp.locked .hk-v2-stamp-status{background:#989590}.hk-v2-stamp.coming-soon .hk-v2-stamp-status{font-size:7px;padding:4px}
.hk-v2-detail{background:#f4f1e6;border:1px solid #e9dfce;padding:11px 13px;border-radius:12px;margin:14px 0 0;color:#546c5b;min-height:65px}
.hk-v2-detail strong{font-size:14px;color:#344d44}.hk-v2-detail p{margin:4px 0;font:12px/1.4 system-ui,sans-serif}.hk-v2-detail small{font:700 10px system-ui,sans-serif;color:#aa6b59}
@media(max-width:420px){.hk-v2-marker{font-size:8px;min-height:23px;padding:3px 5px;gap:3px;max-width:31%}.hk-v2-marker-title{white-space:normal}.hk-v2-marker .hk-v2-dot{flex-basis:10px;height:10px}.hk-v2-stamp-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px 5px}.hk-v2-stamp-title{font-size:11px}.hk-v2-region-head h3{font-size:21px}.hk-v2-hint{font-size:10px}}
@media(max-width:330px){.hk-v2-marker .hk-v2-marker-title{display:none}.hk-v2-marker{border-radius:50%}.hk-v2-stamp-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(prefers-reduced-motion:reduce){.hk-v2-stamp{transition:none}}

.hk-v2-stamp-pending{display:grid;place-items:center;border:5px dotted #e8d7b7;border-radius:6px;background:#f8efdb;color:#bea282;font-size:40px;min-height:100px}

/* Approved simplified achievements page: bilingual map controls, region-name hero. */
.hk-v2-map{aspect-ratio:1.84}
.hk-v2-marker{font-size:9px;max-width:35%;padding:3px 6px;min-height:30px;line-height:1.12;text-align:left}
.hk-v2-marker-title{display:flex;flex-direction:column;gap:1px;min-width:0}
.hk-v2-map-zh{font-size:11px;font-weight:750;color:#2a554d;white-space:nowrap}
.hk-v2-map-en{font-size:8px;font-weight:600;line-height:1.07;white-space:normal}
.hk-v2-marker.is-active .hk-v2-map-zh{color:#95483d}
.hk-v2-region-tabs{margin-top:6px;padding-bottom:8px}
.hk-v2-tab{display:flex;flex-direction:column;gap:2px;padding:6px 9px;min-height:37px;justify-content:center;text-align:center}
.hk-v2-tab-zh{font-size:11px;font-weight:750;line-height:1.1}
.hk-v2-tab-en{font-size:9px;font-weight:550;line-height:1.1}
.hk-v2-panel{padding-top:10px}
.hk-v2-region-head{align-items:center;margin-bottom:11px}
.hk-v2-region-head .hk-v2-region-name{font-size:clamp(19px,5.2vw,26px);line-height:1.2;margin:1px 0}
.hk-v2-region-count{font-size:11px}
@media(max-width:420px){
 .hk-v2-marker{font-size:8px;padding:3px 4px;gap:3px;max-width:32%;min-height:28px}
 .hk-v2-marker .hk-v2-dot{flex-basis:8px;height:8px}
 .hk-v2-map-zh{font-size:9px}
 .hk-v2-map-en{font-size:7px}
}
@media(max-width:330px){
 .hk-v2-marker .hk-v2-marker-title{display:flex}
 .hk-v2-marker{border-radius:13px;padding:3px;max-width:34%;}
 .hk-v2-marker .hk-v2-dot{display:none}
 .hk-v2-map-zh{font-size:8px}
 .hk-v2-map-en{font-size:6.5px}
}

/* Keep achievement artwork visible above the fold on narrow devices. */
@media (max-width:420px){.hk-v2-region-tabs{margin-top:4px}.hk-v2-region-head{margin-bottom:7px}.hk-v2-stamp-grid{gap:6px 5px}}
/* Larger stamps: exactly two per row on mobile and desktop. */
.hk-v2-stamp-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 12px}
.hk-v2-stamp-title{font-size:13px}
@media(max-width:420px){.hk-v2-stamp-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 9px}.hk-v2-stamp-title{font-size:12px}}
@media(max-width:330px){.hk-v2-stamp-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 7px}}
