@font-face{font-family:Manrope;src:url('/assets/manrope.ttf') format('truetype');font-weight:200 800;font-display:swap}
:root{--paper:#eef1f2;--white:#fff;--ink:#121b25;--muted:#606d7b;--line:#d8dfe3;--green:#1858e8;--lime:#c9f77a;--coral:#f26145;--shadow:0 25px 65px rgba(17,29,43,.12);font-family:Manrope,'SF Pro Display',Arial,sans-serif;background:var(--paper);color:var(--ink)}
html{scroll-behavior:smooth}body{background:radial-gradient(circle at 95% 0%,#dce7ff 0,transparent 34%),var(--paper)}button,input,select,textarea{font:inherit}button{transition:transform .2s ease,box-shadow .2s ease,background .2s ease}button:active{transform:scale(.98)}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #5b8aff;outline-offset:3px}
.app-shell{max-width:1280px}.site-header{height:78px;padding:12px clamp(20px,4.7vw,60px);border-bottom:1px solid var(--line);background:#ffffffb8;backdrop-filter:blur(22px)}.brand{gap:12px;letter-spacing:.05em;font-size:12px}.brand small{letter-spacing:.16em;margin-top:4px}.brand-mark{border-radius:5px;background:#111923;width:44px;height:44px;font-weight:600}.top-status{border-radius:5px;background:#f5f7f8;border-color:var(--line);color:var(--ink)!important}
main{padding:0 clamp(20px,4.7vw,60px) 135px}.eyebrow{color:var(--green);letter-spacing:.19em;font-size:10px;font-weight:800}.hero{min-height:440px;border-radius:0;background:#071016;box-shadow:none;display:block}.hero:before{background:linear-gradient(90deg,rgba(4,11,18,.88) 0%,rgba(4,11,18,.60) 48%,rgba(4,11,18,.10) 100%),url('/assets/yanji-wall.jpg') center 46%/cover}.hero:after{content:'';position:absolute;inset:0;border:1px solid #ffffff42;pointer-events:none}.hero-content{padding:32px clamp(28px,5vw,64px) 40px;max-width:690px;height:440px;display:flex;flex-direction:column;justify-content:end}.hero-line{position:absolute;left:clamp(28px,5vw,64px);right:clamp(28px,5vw,64px);top:30px;display:flex;justify-content:space-between;gap:10px;color:#cce0e0;font-size:10px;letter-spacing:.15em;font-weight:800}.hero .eyebrow{color:#c9f77a;margin-bottom:18px}.hero h1{font-family:Manrope,'SF Pro Display',sans-serif;font-size:clamp(47px,6.3vw,83px);font-weight:750;line-height:.98;letter-spacing:-.075em;margin:0 0 18px}.hero h1 em{font-style:normal;color:#c9f77a}.hero p:not(.eyebrow){font-size:15px;max-width:380px;color:#e1e7ec}.hero-actions{display:flex;align-items:center;gap:24px;margin-top:24px}.hero-actions button{background:#c9f77a;border:0;border-radius:4px;padding:14px 18px;color:#101a1f;font-weight:800;font-size:13px;min-height:48px}.hero-actions button span{margin-left:22px}.hero-actions>span{color:#d7e2e9;font-size:10px;letter-spacing:.18em}.hero-side{position:absolute;right:35px;bottom:34px;color:#ffffffcf;font-size:90px;line-height:.96;font-family:'PingFang SC','Noto Sans CJK SC','Microsoft YaHei',sans-serif;font-weight:900;letter-spacing:-.12em;text-align:right;opacity:.85}.hero>.photo-credit{position:absolute;right:15px;top:auto;bottom:12px;color:#e6ecee;text-decoration:none;background:#071016aa;padding:4px 7px;z-index:2;font-size:9px}
.mode-switch{gap:0;margin:20px 0 54px;border:1px solid var(--line);background:#fff}.mode-switch button{border:0;border-radius:0;box-shadow:none;min-height:82px;padding:17px 22px;border-right:1px solid var(--line);font-size:15px;font-weight:800;background:#fff}.mode-switch button:last-child{border-right:0}.mode-switch button.active{background:#111923;color:#fff}.mode-switch button b{font-size:11px;color:var(--green);margin-right:13px}.mode-switch button.active b{color:var(--lime)}.mode-switch span{font-size:11px;opacity:.7;margin:5px 0 0 30px}
.section-head{align-items:end;margin-bottom:19px}.section-head h2,.page-title{font-family:Manrope,'SF Pro Display',sans-serif;font-weight:780;letter-spacing:-.055em}.section-head h2{font-size:clamp(28px,3.8vw,43px)}.section-head .eyebrow{margin-bottom:7px}.section-head button,.text-link{color:var(--green)}.section-index{font-size:11px;color:var(--muted);letter-spacing:.12em;font-weight:800}
.quick-grid{gap:10px;margin-bottom:48px}.quick-card{border:1px solid var(--line);border-radius:0;min-height:182px;padding:22px;background:#fff;box-shadow:none}.quick-card:hover,.catalog-card:hover,.item-card:hover{box-shadow:0 16px 35px #12203315;transform:translateY(-2px)}.quick-card.emphasis{background:var(--lime);border-color:var(--lime)}.quick-card strong{font-size:22px}.quick-card small{font-size:12px;margin-top:7px}.quick-icon{border-radius:3px;background:#e7edff;color:var(--green);width:36px;height:36px}.quick-card.emphasis .quick-icon{background:#111923;color:var(--lime)}
.feature{border-radius:0;background:#111923;min-height:310px;margin-bottom:60px}.feature-copy{padding:clamp(26px,4vw,50px)}.feature .eyebrow{color:var(--lime)!important}.feature h3{font-family:Manrope,sans-serif;font-weight:750;letter-spacing:-.055em;font-size:clamp(27px,3.5vw,42px)}.feature p{color:#c4cfd7;font-size:13px}.feature img{object-position:center 55%}.light-button{border-radius:4px;color:#111923;background:var(--lime)}
.mini-grid{gap:12px}.item-card,.info-card,.scenario-card,.route-card{border-radius:0;border:1px solid var(--line);box-shadow:none}.item-card{min-height:150px}.item-card h3,.scenario-card h3{letter-spacing:-.035em;font-size:19px}.arrow{color:var(--green)}.pill{border-radius:3px;background:#e8edff;color:var(--green);letter-spacing:.07em}.pill.locked{background:#f9e6e3;color:#ba4e35}.page-top{padding:33px 0 22px}.back{color:var(--green);font-size:12px;margin-bottom:30px}.page-title{font-size:clamp(42px,5.4vw,65px);max-width:780px}.intro{color:var(--muted);font-size:15px}.search{border-radius:0;border:1px solid var(--line);background:#fff;margin-bottom:18px}.card-grid{gap:13px;margin-bottom:25px}
.photo-catalog{border:1px solid var(--line);padding:0;display:flex;min-height:375px;gap:0;overflow:hidden;background:#fff}.catalog-hit{display:flex;flex-direction:column;width:100%;flex:1;text-align:left;border:0;background:none;padding:0;color:var(--ink)}.image-wrap{height:190px;width:100%;position:relative;overflow:hidden;background:#dce4e8}.image-wrap img{width:100%;height:100%;object-fit:cover}.image-wrap .photo-credit{position:absolute;bottom:7px;left:8px;right:8px;max-width:max-content;color:#fff;background:#08111ab8;padding:5px 7px;text-decoration:none;font-size:9px;line-height:1.2}.image-placeholder{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:9px;background:linear-gradient(140deg,#dfe5e8,#cdd8e6);color:#647482}.image-placeholder span{font-size:10px;letter-spacing:.18em;font-weight:900}.image-placeholder small{text-align:center;max-width:180px;font-size:11px}.catalog-body{display:flex;flex-direction:column;gap:7px;padding:18px;width:100%}.photo-catalog .label{font-size:10px;color:var(--green);letter-spacing:.12em}.photo-catalog strong{font-size:21px;letter-spacing:-.04em}.photo-catalog .zh{font-size:16px;color:#1f3444}.photo-catalog small{font-size:12px;line-height:1.4;margin-top:2px}.card-comment{background:#f5f7fa;color:var(--green);border:0;border-top:1px solid var(--line);height:46px;text-align:left;padding:0 18px;font-size:11px;font-weight:800}.catalog-card.lock{background:#fff}.catalog-card.lock .image-placeholder{opacity:.7}
.editorial-place{display:flex;flex-direction:column;overflow:hidden;padding:0;gap:0;border:1px solid var(--line);background:#fff;min-height:300px}.editorial-place>img{width:100%;height:180px;object-fit:cover}.editorial-place-body{padding:20px;width:100%;position:relative}.editorial-place-body .arrow{position:absolute;right:18px;bottom:18px}.editorial-place h3{font-size:20px}.editorial-place .zh-inline{margin-bottom:0}.home-footnote{margin-top:38px}
.food-venue{margin-top:33px;display:grid;grid-template-columns:1fr 1fr;background:#111923;color:#fff}.food-venue img{height:270px;width:100%;object-fit:cover}.food-venue>div{padding:35px;display:flex;flex-direction:column;align-items:start;justify-content:center}.food-venue .eyebrow{color:var(--lime)}.food-venue h2{font-size:26px;line-height:1.1;letter-spacing:-.045em;margin:0}.food-venue p:not(.eyebrow){font-size:13px;line-height:1.5;color:#ccd4da}.food-venue .primary{background:var(--lime);color:#111923}
.detail-hero{height:330px;position:relative;margin:0 0 18px;overflow:hidden;background:#17202a}.detail-hero .image-wrap{height:100%}.detail-hero:after{content:'';position:absolute;inset:30% 0 0;background:linear-gradient(transparent,#06111b88);pointer-events:none}.detail-hero>span{position:absolute;bottom:21px;right:27px;color:#fff;font-family:'PingFang SC','Noto Sans CJK SC','Microsoft YaHei',sans-serif;font-size:clamp(27px,5vw,55px);font-weight:700;z-index:1}.detail-hero .photo-credit{z-index:2}.detail-layout{gap:14px}.detail-panel{border-radius:0;border:1px solid var(--line);box-shadow:none}.detail-panel p{color:#45525f}.detail-zh{color:#111923;font-family:'PingFang SC','Noto Sans CJK SC','Microsoft YaHei',sans-serif;font-weight:650}.address-box{border-radius:0;background:#e8edff;border-left:4px solid var(--green)}.address-box .detail-zh{color:#142a53}.meta-item strong{color:var(--green)}.side-panel .info-card{border-radius:0}.source-link{color:var(--green)}.primary,.secondary{border-radius:4px}.primary{background:var(--green)}.secondary{background:#e7edff;color:var(--green)}.phrase-box{border-radius:0;background:#111923}.phrase-box .eyebrow{color:var(--lime)}.phrase-box button{background:var(--lime);color:#111923;border-radius:4px}.now-box{border-radius:0;background:#e7edff}.fallback{border-radius:0}.sticky-help{border-radius:4px;background:#f26145}.scenario-card{border-radius:0}.route-card,.download-status,.source-list a,.paywall{border-radius:0}.download-status{background:#e7edff}.paywall{background:#111923}.paywall h2{font-family:Manrope,sans-serif;font-weight:800}.notice{background:#fff3ee;border-left-color:var(--coral)}
.community-panel{margin:35px 0 0;padding:28px;border:1px solid var(--line);background:#fff}.community-heading{display:flex;align-items:end;justify-content:space-between;gap:20px}.community-heading h2{font-size:clamp(24px,3vw,34px);letter-spacing:-.055em;line-height:1.07;margin:0}.community-heading .eyebrow{margin-bottom:8px}.community-count{font-size:11px;white-space:nowrap;color:var(--muted);font-weight:800}.community-disclaimer{font-size:12px;color:var(--muted);max-width:600px;line-height:1.5;margin:16px 0 22px}.review-list{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.empty-reviews{grid-column:1/-1;background:#f3f6f7;padding:28px;text-align:center;color:#5b6c7b;font-size:13px}.empty-reviews span{display:block;font-size:30px;color:var(--green);margin-bottom:6px}.empty-reviews p{max-width:470px;margin:auto;line-height:1.5}.review-card{border:1px solid var(--line);padding:17px;min-width:0}.review-card p{font-size:13px;line-height:1.5;overflow-wrap:anywhere}.review-card img{width:100%;max-height:260px;object-fit:cover;margin:12px 0}.review-card small{font-size:10px;color:var(--muted)}.review-meta{display:flex;flex-direction:column;gap:4px}.review-meta strong{font-size:13px}.review-meta span{font-size:11px;color:var(--green)}.review-cta{margin-top:17px;background:#111923;color:#fff;border:0;border-radius:4px;min-height:52px;padding:12px 19px;font-size:13px;font-weight:800}
.review-dialog{border:0;border-radius:0;padding:30px;width:min(94vw,540px);max-height:min(92vh,900px);overflow:auto;color:var(--ink);box-shadow:0 30px 90px #080f1c88}.review-dialog::backdrop{background:#07121cbd}.review-dialog h2{font-size:31px;line-height:1.05;letter-spacing:-.05em;margin:0 0 10px}.review-intro{font-size:12px;color:var(--muted);line-height:1.5;margin:0 0 22px}.review-dialog form{display:grid;gap:15px}.review-dialog label{display:grid;gap:6px;font-size:12px;font-weight:800}.review-dialog input:not([type=checkbox]),.review-dialog select,.review-dialog textarea{border:1px solid var(--line);background:#f7f9fa;padding:11px;width:100%;border-radius:2px;font-size:14px;color:var(--ink)}.review-dialog textarea{min-height:100px;resize:vertical}.review-dialog .review-consent{display:flex;align-items:start;gap:10px;font-size:11px;line-height:1.5;color:#526170;font-weight:600}.review-consent input{margin-top:3px}.review-dialog .primary{width:100%;min-height:52px}.review-dialog #review-form-status{margin:0;font-size:12px;line-height:1.4;color:var(--green)}.dialog-close{background:#e8edf1;color:var(--ink);border-radius:3px}.phrase-dialog{background:#fff;border-radius:0}.phrase-dialog::backdrop{background:#07121cdb}.dialog-zh{color:#111923}.bottom-nav{max-width:1280px;background:#111923f2;border-top:0;padding:7px 12px calc(7px + env(safe-area-inset-bottom))}.bottom-nav button{color:#acbac8;border-radius:3px;min-width:64px;min-height:57px}.bottom-nav button.active{background:var(--lime);color:#111923}.bottom-nav small{font-size:10px}.bottom-nav span{font-size:21px}
.moderation-list{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.moderation-card{border:1px solid var(--line);background:#fff;padding:19px;min-width:0}.moderation-card p:not(.eyebrow){font-size:13px;line-height:1.5;overflow-wrap:anywhere}.moderation-card img{width:100%;max-height:340px;object-fit:cover}.moderation-card .inline-actions{margin-top:18px}
.feature,.food-venue{position:relative}.feature>.photo-credit,.food-venue>.photo-credit{position:absolute;right:8px;bottom:8px;background:#071016ba;color:#fff;padding:5px 7px;font-size:9px;line-height:1.25;text-decoration:none;z-index:1}
@media(max-width:760px){.site-header{height:66px}.hero{min-height:400px}.hero:before{background:linear-gradient(0deg,rgba(4,11,18,.93) 0%,rgba(4,11,18,.48) 70%,rgba(4,11,18,.18) 100%),url('/assets/yanji-wall.jpg') 54% center/cover}.hero-content{height:400px;padding:25px}.hero-line{left:25px;right:25px;top:22px}.hero h1{font-size:clamp(43px,11vw,61px)}.hero-side{font-size:63px;right:20px;bottom:50px;opacity:.55}.hero>.photo-credit{bottom:7px}.mode-switch{margin:14px 0 38px}.mode-switch button{padding:14px 11px;min-height:80px;font-size:12px}.mode-switch button b{display:block;margin:0 0 4px}.mode-switch span{margin:5px 0 0;font-size:10px}.quick-grid{grid-template-columns:repeat(2,1fr);gap:8px}.quick-card{min-height:140px;padding:15px}.quick-card:first-child{grid-column:1/-1;min-height:116px;flex-direction:row;align-items:end}.quick-card strong{font-size:18px}.quick-card:first-child strong{font-size:21px}.quick-card small{font-size:11px}.feature{grid-template-columns:1fr 35%;min-height:220px;margin-bottom:44px}.feature-copy{padding:22px}.feature h3{font-size:26px}.feature p{font-size:11px}.mini-grid{grid-template-columns:1fr 1fr}.editorial-place>img{height:135px}.editorial-place{min-height:250px}.editorial-place-body{padding:14px}.editorial-place h3{font-size:16px}.editorial-place .zh-inline{font-size:12px}.card-grid{grid-template-columns:repeat(2,1fr);gap:9px}.photo-catalog{min-height:320px}.photo-catalog .image-wrap{height:135px}.catalog-body{padding:13px}.photo-catalog strong{font-size:17px}.photo-catalog .zh{font-size:14px}.photo-catalog small{font-size:11px}.card-comment{padding:0 13px;font-size:10px}.detail-hero{height:260px}.detail-layout{grid-template-columns:1fr}.side-panel{grid-template-columns:1fr 1fr}.community-panel{padding:19px}.review-list,.moderation-list{grid-template-columns:1fr}.food-venue{grid-template-columns:1fr}.food-venue img{height:210px}.food-venue>div{padding:23px}.hero-actions>span{display:none}}
@media(max-width:450px){main{padding-left:16px;padding-right:16px}.site-header{padding-left:16px;padding-right:16px}.brand{font-size:10px}.brand-mark{width:41px;height:41px}.top-status{font-size:10px;padding:9px}.hero h1{font-size:43px}.hero p:not(.eyebrow){font-size:13px;max-width:260px}.feature{grid-template-columns:1fr 34%}.feature h3{font-size:22px}.feature p{margin-bottom:12px}.feature .light-button{font-size:11px;padding:10px}.mini-grid{grid-template-columns:1fr 1fr}.item-card{padding:15px;min-height:140px}.item-card h3{font-size:16px}.item-card p{font-size:11px}.section-head button{font-size:11px}.page-title{font-size:40px}.detail-hero{height:230px}.detail-hero>span{font-size:27px}.side-panel{grid-template-columns:1fr}.community-heading{align-items:start;flex-direction:column;gap:7px}.review-cta{width:100%}.photo-catalog{min-height:310px}.photo-catalog .image-wrap{height:126px}}
.review-report-button{display:block;border:0;background:transparent;color:#9b3628;font:inherit;font-size:13px;text-decoration:underline;text-underline-offset:3px;padding:12px 0;margin-top:6px;min-height:44px;text-align:left}.review-report-button:disabled{color:#62605c;text-decoration:none}
