/* LocalView reference geometry: 118x94 covers, 12px gaps, 672/1024 column breaks. */
body:has(.regional-page){overflow:hidden}main:has(.regional-page){min-height:0;padding:0}.regional-page{--local-pink:#ff4d88;--local-deep:#d6266b;--local-soft:#ff7aa8;height:calc(100dvh - 60px);max-width:1400px;margin:0 auto;display:flex;flex-direction:column;overflow:hidden;background:#0a0a0c;color:#fff;font-family:-apple-system,system-ui,'PingFang SC','Helvetica Neue',sans-serif}.regional-page button,.local-dialog button{cursor:pointer;font:inherit}.local-hero{position:relative;flex-shrink:0;overflow:hidden;padding:14px 16px 16px;min-height:77px}.local-aura{position:absolute;inset:0;background:linear-gradient(to bottom left,var(--local-pink) 0%,var(--local-deep) 40%,#2a0d1c 82%,#0a0a0c 100%)}.local-decoration{position:absolute;right:30px;bottom:-36px;opacity:.13;transform:rotate(15deg);pointer-events:none}.local-decoration svg{width:160px;height:160px}.local-top{position:relative;display:flex;align-items:flex-start;gap:10px;z-index:1}.local-back{width:30px;height:30px;flex:0 0 30px;display:flex;align-items:center;justify-content:center;margin:-2px 0 0 -6px;color:white}.local-back svg{width:22px;height:22px}.local-mood{flex:1;min-width:0}.local-mood h1{margin:0;font-size:20px;line-height:1.6;font-weight:900;color:white;text-shadow:0 2px 10px #0006;overflow-wrap:anywhere}.local-mood p{font-size:11.5px;line-height:1.6;color:#ffffffc7;margin:3px 0 0;overflow-wrap:anywhere}.local-region{position:relative;flex:0 0 auto;display:inline-flex;align-items:center;gap:4px;font-size:12px!important;font-weight:600!important;color:white;background:#00000052;backdrop-filter:blur(8px);border:1px solid #ffffff38;border-radius:999px;padding:6px 11px;max-width:45%;line-height:1.4}.local-region span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.local-region svg{width:13px;height:13px;flex-shrink:0}.local-region b{opacity:.85;font-size:12px;margin-left:2px}.local-region.filtered{border-color:var(--local-soft);box-shadow:0 0 10px color-mix(in srgb,var(--local-pink) 65%,transparent)}.local-scroll{flex:1;min-height:0;overflow-y:auto;padding:2px 12px 24px;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.local-card{display:flex;gap:12px;padding:12px 0;border-bottom:1px solid #ffffff0f;min-width:0;color:white}.local-card:focus-visible,.regional-page button:focus-visible,.local-dialog button:focus-visible{outline:2px solid var(--local-soft);outline-offset:2px}.local-cover{position:relative;width:118px;height:94px;flex:0 0 118px;border-radius:10px;overflow:hidden;background:#14141a}.local-image{position:relative;display:block;width:100%;height:100%;background:#14141a;overflow:hidden}.local-image img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:1}.local-image-fallback{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;color:#7d7d92}.local-image-fallback svg{width:24px;height:24px}.local-image-fallback small{font-size:10px}.local-badge{position:absolute;left:6px;bottom:6px;z-index:2;font-size:10px;font-weight:800;color:white;border-radius:6px;padding:2px 7px;box-shadow:0 2px 6px #0005;background:var(--local-deep);max-width:68px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.local-count{position:absolute;right:5px;bottom:5px;z-index:2;font-size:11px;color:white;background:#0009;border-radius:5px;padding:2px 6px}.local-card-main{min-width:0;flex:1;display:flex;flex-direction:column}.local-card-main h2{margin:0;font-size:15px;line-height:1.4;font-weight:600;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}.local-meta{display:flex;align-items:center;gap:6px;margin-top:auto;color:#6b7280;font-size:11px;line-height:15px;min-width:0}.local-meta span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.local-meta i{width:2px;height:2px;border-radius:50%;background:currentColor;flex-shrink:0}.local-card-main p{margin:7px 0 0;color:#94a3b8;font-size:12.5px;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}.local-load{text-align:center;padding:20px;color:#6b7280;font-size:12px}.local-load button{background:none;border:0;color:var(--local-soft);padding:10px 24px}.local-empty{text-align:center;color:#94a3b8;padding:90px 20px;font-size:14px}.local-empty>svg{width:38px;height:38px;color:#6b7280}.local-empty h2{font-size:16px;font-weight:500;margin:8px 0}.local-empty p{margin:8px 0 14px}.local-reset{display:inline-block;border:0;border-radius:18px;background:var(--local-pink);color:white;padding:8px 18px}.local-return{display:inline-flex;align-items:center;gap:8px;padding:16px}.local-return svg{width:20px;height:20px}.local-disabled{overflow:auto}.local-dialog{padding:0;border:0;color:white;max-width:none;max-height:none;background:none;overflow:visible}.local-dialog::backdrop{background:#00000094}.local-dialog button{border:0}.local-region-dialog{margin:auto auto 0;width:100%;--sheet-bg:#14141a}.local-region-sheet{width:100%;max-height:72dvh;background:var(--sheet-bg);border-radius:18px 18px 0 0;overflow:hidden;color:white}.local-region-sheet header{height:52px;display:flex;align-items:center;justify-content:space-between;padding:0 18px;border-bottom:1px solid #ffffff0f}.local-region-sheet h2{font-size:16px;font-weight:400;margin:0}.local-region-sheet header button{background:none;color:var(--local-soft);padding:8px 0}.local-nation{width:100%;height:44px;border-bottom:1px solid #ffffff0f!important;background:none;color:white;text-align:left;padding:0 18px}.local-nation.active{color:var(--local-soft)}.local-region-columns{display:grid;grid-template-columns:44% 56%;height:min(430px,58dvh)}.local-provinces,.local-cities{overflow-y:auto;overscroll-behavior:contain}.local-provinces{background:#0a0a0c}.local-provinces button,.local-cities button{width:100%;min-height:44px;display:flex;align-items:center;justify-content:space-between;gap:8px;border-bottom:1px solid #ffffff0f;background:none;color:#94a3b8;padding:8px 14px;text-align:left;font-size:14px}.local-provinces button.active,.local-cities button.active{background:#14141a;color:var(--local-soft);font-weight:600}.local-region-columns small{color:#6b7280}.local-detail-head{height:52px;display:flex;align-items:center;padding:0 18px;border-bottom:1px solid #ffffff0f;gap:12px;flex-shrink:0}.local-detail-head h1{font-size:17px;margin:0}.local-article{max-width:800px;margin:auto;padding:16px 4px 40px}.local-article h2{font-size:23px;line-height:1.5;overflow-wrap:anywhere}.local-article .local-meta{margin:12px 0}.local-intro{color:#94a3b8;line-height:1.7;white-space:pre-wrap;overflow-wrap:anywhere}.local-body{font-size:15px;line-height:1.9;white-space:pre-wrap;overflow-wrap:anywhere;margin-top:24px}.local-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.local-gallery button{padding:0;border:0;border-radius:10px;overflow:hidden;background:none;aspect-ratio:1.5}.local-gallery:has(button:only-child){grid-template-columns:1fr}.local-gallery-dialog{width:min(960px,calc(100vw - 24px));margin:auto}.local-lightbox{background:#0a0a0c;border-radius:12px;overflow:hidden}.local-lightbox header,.local-lightbox footer{display:flex;justify-content:space-between;align-items:center;padding:12px 18px}.local-lightbox button{background:none;color:#fff;padding:8px 12px}.local-lightbox button:disabled{opacity:.3;cursor:default}.local-lightbox>.local-image{height:65dvh}.local-lightbox .local-image img{object-fit:contain}.local-sr{position:absolute;clip-path:inset(50%);width:1px;height:1px;overflow:hidden}
@media(min-width:672px){.regional-page{border-left:1px solid #ffffff0f;border-right:1px solid #ffffff0f}.local-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 22px;align-content:start}.local-region-dialog{width:min(560px,calc(100vw - 64px));margin:auto}.local-region-sheet{border-radius:18px;max-height:min(680px,calc(100dvh - 64px));box-shadow:0 20px 60px #0007}.local-region-columns{height:min(430px,calc(100dvh - 210px))}.local-top>.local-back{display:none}}
@media(min-width:672px) and (max-width:1023px){.local-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){.regional-page{height:calc(100dvh - 60px - env(safe-area-inset-bottom));}.local-hero{padding-top:calc(env(safe-area-inset-top,0px) + 14px)}}
/* Detail composition follows the reference poster / editorial copy / unlock panel. */
.local-detail{position:relative;max-width:920px}.local-detail>.local-scroll{padding:0 0 28px}.local-detail-floating{position:absolute;inset:10px 12px auto;display:flex;align-items:center;justify-content:space-between;z-index:5;pointer-events:none}.local-detail-floating>*{pointer-events:auto}.local-detail-floating .local-back{margin:0;border-radius:50%;background:#0006;backdrop-filter:blur(6px);width:34px;height:34px}.local-detail-floating button{height:34px;padding:0 12px;border:0;border-radius:999px;color:white;background:#0006;backdrop-filter:blur(6px);font-size:12px;font-weight:600}.local-sticky{position:absolute;top:0;left:0;right:0;height:48px;padding:6px 12px;background:#0a0a0ce6;backdrop-filter:blur(12px);border-bottom:1px solid #ffffff0f;z-index:6;display:flex;align-items:center;gap:16px;opacity:0;pointer-events:none;transform:translateY(-6px);transition:.22s}.local-sticky b{font-size:16px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.local-scrolled .local-sticky{opacity:1;pointer-events:auto;transform:none}.local-scrolled .local-detail-floating{opacity:0;pointer-events:none}.local-scrolled .local-detail-floating>*{pointer-events:none}.local-poster{position:relative}.local-poster-track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}.local-poster-track::-webkit-scrollbar{display:none}.local-poster-slide{position:relative;flex:0 0 100%;height:clamp(300px,84vw,440px);padding:0;border:0;scroll-snap-align:start;background:#14141a;cursor:zoom-in!important}.local-poster-fade{position:absolute;left:0;right:0;bottom:0;height:180px;pointer-events:none;background:linear-gradient(180deg,transparent,#0a0a0c59 55%,#0a0a0c)}.local-poster-info{position:absolute;left:16px;right:16px;bottom:14px;pointer-events:none}.local-detail-badge{display:inline-block;font-size:10px;font-weight:800;background:var(--local-deep);border-radius:6px;padding:2px 8px}.local-poster-info h1{margin:9px 0 0;font-size:21px;font-weight:800;line-height:1.35;text-shadow:0 2px 12px #000a;overflow-wrap:anywhere}.local-poster-info>div{margin-top:8px;font-size:12px;color:#ffffffd1;padding-right:58px}.local-poster-index{position:absolute;right:12px;bottom:14px;font-size:11px;font-weight:600;background:#0004;border-radius:999px;padding:3px 10px;color:white}.local-thumbnails{display:flex;gap:9px;overflow-x:auto;padding:12px 16px 4px;scrollbar-width:none}.local-thumbnails button{width:90px;height:60px;flex:0 0 90px;padding:0;overflow:hidden;border:2px solid transparent;border-radius:8px;background:#14141a}.local-thumbnails button.active{border-color:var(--local-pink);box-shadow:0 0 10px -2px var(--local-deep)}.local-detail .local-article{width:calc(100% - 32px);max-width:700px;padding:0;margin:0 auto}.local-detail .local-intro{margin:14px 0 0;padding:12px;border-left:3px solid var(--local-pink);border-radius:0 8px 8px 0;background:color-mix(in srgb,var(--local-pink) 8%,transparent);font-size:14px;line-height:1.7}.local-description{margin-top:22px}.local-description h2{font-size:16px;margin:0}.local-description .local-body{margin:10px 0 0;color:#94a3b8;font-size:15px;line-height:1.85}.local-unlock{margin-top:22px;padding:28px 18px;text-align:center;border:1px solid color-mix(in srgb,var(--local-pink) 22%,transparent);border-radius:14px;background:linear-gradient(160deg,color-mix(in srgb,var(--local-pink) 12%,transparent),color-mix(in srgb,var(--local-pink) 2.5%,transparent))}.local-unlock-icon{width:50px;height:50px;margin:0 auto 12px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:color-mix(in srgb,var(--local-pink) 14%,transparent);color:var(--local-soft)}.local-unlock-icon svg{width:27px;height:27px}.local-unlock h2{margin:0;font-size:18px}.local-unlock p{margin:8px auto 18px;max-width:320px;color:#94a3b8;font-size:13px;line-height:1.6}.local-unlock>button{width:100%;min-height:44px;border:0;border-radius:22px;background:linear-gradient(135deg,var(--local-pink),var(--local-deep));color:white;font-size:14px;font-weight:800}.local-unlock>small{display:block;color:#94a3b8;font-size:11px;margin-top:12px;line-height:1.6}.local-unlock button:disabled{opacity:.55}.local-paid-content{text-align:left;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.8;font-size:14px}.local-coin-dialog{margin:auto;width:calc(100vw - 48px);max-width:320px}.local-coin-box{background:#14141a;border-radius:14px;padding:24px 20px 20px;text-align:center;box-shadow:0 20px 48px #0006}.local-coin-box h2{font-size:17px;font-weight:700;margin:0}.local-coin-box p{font-size:13px;line-height:1.5;margin:12px 0;color:#94a3b8}.local-coin-box>small{display:block;font-size:12px;margin-top:4px;color:#6b7280}.local-coin-actions{display:flex;gap:12px;margin-top:18px}.local-coin-actions button,.local-coin-actions a{flex:1;min-height:42px;border-radius:21px;font-size:15px;font-weight:600;display:flex;align-items:center;justify-content:center}.local-coin-actions [data-coin-cancel]{background:transparent;border:1px solid #ffffff0f;color:#94a3b8}.local-coin-actions [data-coin-confirm],.local-coin-confirm{border:none;background:linear-gradient(135deg,#ffe300,#ffb700);color:#3a2600}.local-coin-actions button:disabled{opacity:.55}
@media(min-width:672px){.local-poster-slide{height:440px}.local-detail .local-article{max-width:none}}
@media(prefers-reduced-motion:reduce){.local-sticky{transition:none}.local-poster-track{scroll-behavior:auto}}

.local-poster-fade{z-index:2}.local-poster-info{z-index:3}.local-poster-index{z-index:4}

.local-sticky{visibility:hidden}.local-scrolled .local-sticky{visibility:visible}.local-scrolled .local-detail-floating{visibility:hidden}
