html,body{width:100%;height:100%}input::-ms-clear,input::-ms-reveal{display:none}*,*:before,*:after{box-sizing:border-box}html{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;-ms-overflow-style:scrollbar;-webkit-tap-highlight-color:rgba(0,0,0,0)}@-ms-viewport{width:device-width}body{margin:0}[tabindex="-1"]:focus{outline:none}hr{box-sizing:content-box;height:0;overflow:visible}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5em;font-weight:500}p{margin-top:0;margin-bottom:1em}abbr[title],abbr[data-original-title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted;border-bottom:0;cursor:help}address{margin-bottom:1em;font-style:normal;line-height:inherit}input[type=text],input[type=password],input[type=number],textarea{-webkit-appearance:none}ol,ul,dl{margin-top:0;margin-bottom:1em}ol ol,ul ul,ol ul,ul ol{margin-bottom:0}dt{font-weight:500}dd{margin-bottom:.5em;margin-left:0}blockquote{margin:0 0 1em}dfn{font-style:italic}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}pre,code,kbd,samp{font-size:1em;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,Courier,monospace}pre{margin-top:0;margin-bottom:1em;overflow:auto}figure{margin:0 0 1em}img{vertical-align:middle;border-style:none}a,area,button,[role=button],input:not([type=range]),label,select,summary,textarea{touch-action:manipulation}table{border-collapse:collapse}caption{padding-top:.75em;padding-bottom:.3em;text-align:left;caption-side:bottom}input,button,select,optgroup,textarea{margin:0;color:inherit;font-size:inherit;font-family:inherit;line-height:inherit}button,input{overflow:visible}button,select{text-transform:none}button,html [type=button],[type=reset],[type=submit]{-webkit-appearance:button}button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{padding:0;border-style:none}input[type=radio],input[type=checkbox]{box-sizing:border-box;padding:0}input[type=date],input[type=time],input[type=datetime-local],input[type=month]{-webkit-appearance:listbox}textarea{overflow:auto;resize:vertical}fieldset{min-width:0;margin:0;padding:0;border:0}legend{display:block;width:100%;max-width:100%;margin-bottom:.5em;padding:0;color:inherit;font-size:1.5em;line-height:inherit;white-space:normal}progress{vertical-align:baseline}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:none}[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}summary{display:list-item}template{display:none}[hidden]{display:none!important}mark{padding:.2em;background-color:#feffe6}:root{--paper: #f5f0e6;--paper-deep: #efe8d9;--card: #fffdf8;--ink: #233229;--ink-soft: #5d6a62;--pine: #1f3d33;--pine-2: #1f5c4a;--pine-soft: rgba(31, 92, 74, .1);--vermilion: #c4553b;--gold: #b98a2f;--line: #d9d2c3;--shadow-soft: 0 8px 24px rgba(35, 50, 41, .08);--shadow-deep: 0 24px 60px rgba(35, 50, 41, .16);--font-display: "STZhongsong", "Songti SC", "Noto Serif SC", "SimSun", serif;--font-body: "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans SC", sans-serif}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;color:var(--ink);font-family:var(--font-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--paper);background-image:radial-gradient(circle at 10% -8%,rgba(196,85,59,.09),transparent 40%),radial-gradient(circle at 92% -4%,rgba(31,92,74,.11),transparent 36%),radial-gradient(rgba(35,50,41,.055) 1px,transparent 1px);background-size:auto,auto,24px 24px}button,select,input{font-family:inherit}.app-shell{min-height:100%;display:flex;flex-direction:column;padding:18px 24px 22px;max-width:1680px;margin:0 auto}.masthead{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:2px 4px 0;margin-bottom:14px;animation:rise-in .5s ease both}.brand-block{display:flex;align-items:center;gap:14px;min-width:0}.brand-mark{color:var(--pine);display:flex;align-items:center;justify-content:center;width:56px;height:56px;border:1px solid rgba(31,61,51,.22);border-radius:50%;background:#fffdf8b8;box-shadow:var(--shadow-soft)}.compass-mark{animation:compass-in .9s cubic-bezier(.2,.8,.2,1) both}.brand-copy{display:flex;flex-direction:column;gap:2px;min-width:0}.brand-eyebrow{font-size:9px;font-weight:600;letter-spacing:.4em;color:var(--vermilion);white-space:nowrap}.brand-copy h1{margin:0;font-family:var(--font-display);font-size:29px;font-weight:700;letter-spacing:.14em;line-height:1.15;color:var(--pine);white-space:nowrap}.header-toolbar{display:flex;align-items:center;justify-content:flex-end;gap:14px;flex:1;min-width:0}.layer-toolbar{display:flex;align-items:center;flex:1;min-width:0;min-height:52px;padding:8px 12px;overflow:hidden;border:1px solid var(--line);border-radius:16px;background:#fffdf8c7;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:var(--shadow-soft);animation:rise-in .5s .04s ease both}.destination-controls{display:flex;align-items:center;justify-content:flex-end;gap:12px;flex-shrink:0;flex-wrap:wrap}.control-group{display:flex;align-items:center;gap:9px}.control-caption{font-size:10px;font-weight:600;letter-spacing:.2em;color:var(--ink-soft);white-space:nowrap}.toolbar-picker{display:flex;align-items:center;gap:6px;height:38px;padding-left:12px;padding-right:4px;border-radius:999px;border:1px solid var(--line);background:var(--card);box-shadow:inset 0 1px #ffffffb3;transition:border-color .18s ease,box-shadow .18s ease}.toolbar-picker:focus-within{border-color:#1f5c4a8c;box-shadow:0 0 0 3px #1f5c4a1a}.map-type-picker{padding-left:14px}.city-select{min-width:132px}.map-type-select{min-width:92px}.city-select .ant-select-selector,.map-type-select .ant-select-selector{background:transparent!important;border:none!important;box-shadow:none!important;padding-inline:2px 6px!important}.city-select .ant-select-selection-item,.map-type-select .ant-select-selection-item{font-weight:600;color:var(--pine)}.city-select .ant-select-arrow,.map-type-select .ant-select-arrow{color:var(--pine-2)}.hub-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;height:38px;padding:0 16px;border-radius:999px;border:1px solid rgba(185,138,47,.44);background:#fffdf8cc;color:#7d5a12;font-size:12px;font-weight:600;letter-spacing:.08em;cursor:pointer;box-shadow:inset 0 1px #ffffffb3;transition:background .18s ease,color .18s ease,border-color .18s ease,transform .18s ease,box-shadow .18s ease}.hub-button svg{color:var(--gold);transition:color .18s ease,transform .25s ease}.hub-button:hover{background:var(--pine);border-color:var(--pine);color:#f8f3e7;transform:translateY(-1px);box-shadow:0 8px 18px #1f3d3338}.hub-button:hover svg{color:#e8c879;transform:rotate(24deg)}.hub-button:active{transform:translateY(0)}.hub-button.is-compact{width:100%;height:42px}.layer-filters{position:relative;display:flex;align-items:center;flex:1;min-width:0}.layer-chip-row{display:flex;align-items:center;flex-wrap:nowrap;gap:5px;width:100%;min-width:0;overflow:hidden}.layer-chip-row .filter-chip{flex:1 0 auto;justify-content:center}.layer-chip-row.is-measuring{position:absolute;top:50%;left:0;width:max-content;height:28px;overflow:visible;visibility:hidden;pointer-events:none;transform:translateY(-50%)}.chip-divider{flex:0 0 1px;width:1px;height:20px;margin:0 2px;background:var(--line)}.layer-compact-select{width:100%}.layer-compact-select .ant-select-selector{min-height:36px!important;padding:1px 10px!important;border-color:var(--line)!important;border-radius:999px!important;background:var(--card)!important}.layer-compact-select.ant-select-focused .ant-select-selector{border-color:#1f5c4a8c!important;box-shadow:0 0 0 3px #1f5c4a1a!important}.layer-compact-select .ant-select-selection-overflow{gap:3px}.layer-compact-select .ant-select-selection-item{border-radius:999px;background:var(--pine-soft);font-size:11.5px}.layer-compact-select .ant-select-selection-placeholder{font-size:12px;color:var(--ink-soft)}.filter-chip{display:inline-flex;align-items:center;flex-shrink:0;gap:6px;height:29px;padding:0 10px;border-radius:999px;border:1px solid var(--line);background:var(--card);color:#4c5952;font-size:12px;letter-spacing:.02em;white-space:nowrap;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .16s ease,color .16s ease,border-color .16s ease,transform .16s ease,box-shadow .16s ease}.filter-chip:hover{border-color:#1f5c4a8c;transform:translateY(-1px);box-shadow:0 4px 10px #23322914}.filter-chip.is-checked{border-color:var(--pine-2);background:var(--pine-soft);color:var(--pine);font-weight:600;box-shadow:inset 0 0 0 1px #1f5c4a2e}.filter-chip.is-special.is-checked{border-color:var(--gold);background:#b98a2f21;color:#7d5a12;box-shadow:inset 0 0 0 1px #b98a2f33}.chip-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0;box-shadow:0 0 0 2px #fffdf8e6}.chip-special-mark{font-size:7px;color:var(--gold);line-height:1}.layer-toolbar .filter-chip{height:36px;padding:0 10px;font-size:13px}.map-stage{flex:1;min-height:0;display:flex}.map-frame{position:relative;flex:1;height:clamp(520px,calc(100vh - 115px),920px);border-radius:24px;overflow:hidden;border:1px solid rgba(31,61,51,.2);background:#e8e4d7;box-shadow:var(--shadow-deep);animation:rise-in .6s .12s ease both}.map-frame:after{content:"";position:absolute;top:10px;right:10px;bottom:10px;left:10px;border:1px solid rgba(255,253,248,.46);border-radius:16px;pointer-events:none;z-index:2}.map-canvas{width:100%;height:100%}.map-stamp{position:absolute;right:18px;bottom:18px;z-index:5;display:flex;align-items:center;gap:7px;padding:8px 13px;border-radius:999px;border:1px solid rgba(31,61,51,.14);background:#fffdf8e6;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 6px 18px #23322924;font-size:11.5px;letter-spacing:.06em;color:var(--pine);pointer-events:none}.map-stamp-dot{width:6px;height:6px;border-radius:50%;background:var(--vermilion);animation:breathe 2.4s ease-in-out infinite}.map-stamp-divider{opacity:.35}.tian-label-icon{width:auto!important;height:auto!important}.mobile-bar{display:none}.ant-modal .ant-modal-content{background:var(--card);border-radius:18px;box-shadow:0 30px 70px #2332293d}.ant-modal .ant-modal-header{background:transparent;border-bottom:1px dashed var(--line);padding-bottom:12px;margin-bottom:16px}.ant-modal .ant-modal-title{font-family:var(--font-display);letter-spacing:.08em;color:var(--pine)}.ant-modal .ant-modal-close{top:18px;color:var(--ink-soft)}.ant-modal .ant-modal-close:hover{background:#1f5c4a14;color:var(--pine)}.ant-select-dropdown{border:1px solid var(--line);box-shadow:0 16px 36px #23322929}.ant-select-item-option-selected{font-weight:600}.ant-picker{border-radius:9px}.booking-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:14px}.booking-head .panel-intro{flex:1;min-width:0;margin-bottom:0}.booking-toolbar{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:10px;flex-shrink:0}.booking-location{width:230px}.booking-date-type{width:132px}.booking-hint{margin-left:auto;font-size:11.5px;letter-spacing:.08em;color:var(--ink-soft)}.booking-table .ant-table{font-size:12.5px}.booking-table .ant-table-thead>tr>th{font-weight:600;letter-spacing:.06em}.booking-table .ant-table-cell{vertical-align:top}.booking-table .ant-table-cell .date-tags{display:flex;flex-wrap:wrap;justify-content:center;gap:3px}.booking-table pre{margin:0;white-space:pre-wrap;font-family:inherit;font-size:12.5px;line-height:1.5}.booking-empty{color:var(--ink-soft)}.date-tag{display:inline-flex;align-items:center;padding:2px 7px;border-radius:999px;border:1px solid #cfe3d5;background:#eaf3ea;color:#2f6b4d;font-size:11px;line-height:1.4;white-space:nowrap}.fourd-panel{display:flex;flex-direction:column;gap:16px}.fourd-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px}.fourd-kicker{font-size:9px;font-weight:700;letter-spacing:.34em;color:var(--vermilion)}.fourd-copy h3{margin:7px 0 5px;font-family:var(--font-display);font-size:26px;letter-spacing:.1em;color:var(--pine)}.fourd-copy p{margin:0;color:var(--ink-soft);font-size:12.5px}.fourd-stats{display:flex;gap:8px;flex-shrink:0}.fourd-stat{display:flex;align-items:baseline;gap:5px;padding:8px 12px;border:1px solid var(--line);border-radius:12px;background:#fffdf8b8}.fourd-stat strong{font-family:var(--font-display);font-size:21px;line-height:1;color:var(--pine-2)}.fourd-stat span{font-size:10px;color:var(--ink-soft)}.fourd-grid{column-count:2;column-gap:14px}.fourd-location{display:block;width:100%;margin-bottom:14px;overflow:hidden;break-inside:avoid;border:1px solid var(--line);border-radius:16px;background:#fffdf8a8;box-shadow:var(--shadow-soft)}.fourd-location-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 16px;border-bottom:1px solid rgba(31,61,51,.09);background:radial-gradient(circle at 100% 0,rgba(185,138,47,.1),transparent 45%),#1f5c4a0d}.fourd-location-kicker{font-size:8px;font-weight:700;letter-spacing:.28em;color:var(--gold)}.fourd-location-head h4{margin:3px 0 0;font-family:var(--font-display);font-size:19px;letter-spacing:.08em;color:var(--pine)}.fourd-location-count{flex-shrink:0;padding:3px 9px;border-radius:999px;background:var(--card);color:var(--ink-soft);font-size:10.5px}.fourd-venues{display:flex;flex-direction:column;gap:12px;padding:12px 16px 14px}.fourd-venue-name{padding-bottom:5px;border-bottom:1px dashed var(--line);color:var(--pine-2);font-size:12px;font-weight:700;letter-spacing:.04em}.fourd-shows{display:flex;flex-direction:column;gap:5px;margin-top:7px}.fourd-show{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:6px 9px;border:1px solid rgba(31,61,51,.08);border-radius:8px;background:var(--card)}.fourd-show-name{min-width:0;color:var(--ink);font-size:12px;line-height:1.4;word-break:break-word}.fourd-show-meta{flex-shrink:0;color:var(--ink-soft);font-size:10px;white-space:nowrap}.fourd-note{margin:0;color:var(--ink-soft);font-size:10px;letter-spacing:.02em}.hub-page{min-height:100vh;padding:20px clamp(16px,4vw,48px) 48px}.hub-back-button{flex-shrink:0;height:38px;padding:0 18px;border:1px solid var(--line);border-radius:999px;background:var(--card);color:var(--pine);font-size:12.5px;font-weight:600;letter-spacing:.08em;cursor:pointer;box-shadow:var(--shadow-soft);transition:background .18s ease,color .18s ease,border-color .18s ease,transform .18s ease}.hub-back-button:hover{border-color:var(--pine);background:var(--pine);color:#f8f3e7;transform:translateY(-1px)}.hub-page-main{max-width:1680px;margin:0 auto;padding:18px clamp(18px,3vw,34px) 34px;border:1px solid var(--line);border-radius:24px;background:#fffdf8d1;box-shadow:var(--shadow-deep);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.hub-page-tabs .ant-tabs-extra-content{display:flex;align-items:center}.hub-page-tabs .ant-tabs-nav{margin-top:0;margin-bottom:20px}.beijing-hub-tabs .ant-tabs-nav{margin-bottom:20px}.beijing-hub-tabs .ant-tabs-nav:before{border-bottom-color:var(--line)}.beijing-hub-tabs .ant-tabs-tab{padding:10px 4px 13px;font-size:14px;letter-spacing:.08em}.beijing-hub-tabs .ant-tabs-tab+.ant-tabs-tab{margin-left:26px}.beijing-hub-tabs .ant-tabs-tab-btn{color:var(--ink-soft)}.beijing-hub-tabs .ant-tabs-tab-active .ant-tabs-tab-btn{color:var(--pine);font-weight:600}.beijing-hub-tabs .ant-tabs-ink-bar{height:3px;border-radius:3px;background:var(--pine)}.panel-intro{margin-bottom:14px}.panel-intro h3{margin:0 0 4px;font-family:var(--font-display);font-size:20px;letter-spacing:.06em;color:var(--pine)}.panel-intro p{margin:0;font-size:12px;letter-spacing:.03em;color:var(--ink-soft)}.annual-compare{display:flex;flex-direction:column;gap:14px}.annual-region-bar{display:flex;align-items:flex-start;gap:14px;flex-wrap:wrap}.annual-region-main{display:flex;flex-direction:column;gap:6px;flex:1;min-width:0}.annual-region-topline{display:flex;align-items:center;flex-wrap:wrap;gap:5px}.annual-region-label{margin-right:2px;color:var(--ink-soft);font-size:10px;font-weight:600;letter-spacing:.14em;white-space:nowrap}.annual-subregion-row{display:flex;align-items:center;flex-wrap:wrap;gap:5px;padding:6px 0 2px 34px;border-top:1px dashed rgba(31,61,51,.1)}.annual-subregion-label{margin-right:2px;color:var(--ink-soft);font-size:9.5px;font-weight:600;letter-spacing:.08em;white-space:nowrap}.region-chip{height:26px;padding:0 9px;border:1px solid var(--line);border-radius:999px;background:var(--card);color:var(--ink-soft);font-size:11px;line-height:1;white-space:nowrap;cursor:pointer;transition:background .16s ease,border-color .16s ease,color .16s ease,transform .16s ease}.region-chip:hover{border-color:#1f5c4a80;color:var(--pine);transform:translateY(-1px)}.region-chip.is-active{border-color:var(--pine);background:var(--pine);color:#f8f3e7;box-shadow:0 4px 10px #1f3d332e}.region-province{font-weight:600}.region-province.is-open:not(.is-active){border-color:#1f5c4a80;background:#1f5c4a14;color:var(--pine)}.region-chip-count{display:inline-flex;align-items:center;justify-content:center;min-width:15px;height:15px;margin-left:3px;border-radius:999px;background:#ffffff3d;font-size:8.5px;font-style:normal;font-weight:700;line-height:1}.region-select-all{border-style:dashed}.annual-region-tools{display:flex;align-items:center;gap:9px;flex-shrink:0}.annual-region-select-mobile{display:none}.annual-search{width:220px;border-radius:999px;background:var(--card)}.annual-search .ant-input{background:transparent}.annual-plan-stats{display:grid;grid-template-columns:repeat(var(--plan-count, 3),minmax(0,1fr));gap:10px}.annual-plan-stat{--stat-accent: var(--pine-2);position:relative;display:flex;align-items:baseline;gap:8px;padding:11px 16px 11px 19px;overflow:hidden;border:1px solid var(--line);border-radius:14px;background:#fffdf8b8;color:inherit;text-decoration:none;cursor:pointer;transition:border-color .18s ease,transform .18s ease,box-shadow .18s ease,background .18s ease}.annual-plan-stat:hover,.annual-plan-stat:focus-visible{border-color:var(--stat-accent);background:var(--card);outline:none;transform:translateY(-2px);box-shadow:0 10px 22px #2332291f}.annual-plan-stat:before{content:"";position:absolute;inset:0 auto 0 0;width:3px;background:var(--stat-accent)}.annual-plan-stat.is-ordinary{--stat-accent: #2f6da3}.annual-plan-stat.is-union{--stat-accent: #6f5aa8}.annual-plan-stat.is-premium{--stat-accent: var(--gold)}.annual-plan-stat.is-vip{--stat-accent: var(--vermilion)}.annual-plan-stat-name{font-size:12.5px;font-weight:600;color:var(--ink)}.annual-plan-stat strong{margin-left:auto;font-family:var(--font-display);font-size:24px;line-height:1;color:var(--stat-accent)}.annual-plan-stat-unit{font-size:10.5px;color:var(--ink-soft)}.annual-plan-stat-arrow{margin-left:2px;color:var(--stat-accent);font-size:12px;opacity:.68;transition:opacity .18s ease,transform .18s ease}.annual-plan-stat:hover .annual-plan-stat-arrow{opacity:1;transform:translate(1px,-1px)}.annual-compare-note{margin:0;font-size:10.5px;line-height:1.7;letter-spacing:.02em;color:var(--ink-soft)}.annual-compare-grid{display:grid;grid-template-columns:repeat(var(--column-count, 4),minmax(0,1fr));gap:12px}.annual-view-toggle{flex-shrink:0}.annual-view-toggle .ant-segmented-item-label{padding:0 10px;font-size:11.5px;letter-spacing:.04em}.annual-table-wrap{max-height:58vh;overflow:auto;border:1px solid var(--line);border-radius:14px;background:#fffdf89e;scrollbar-width:thin;scrollbar-color:rgba(31,61,51,.24) transparent}.annual-table-wrap::-webkit-scrollbar{width:6px;height:6px}.annual-table-wrap::-webkit-scrollbar-thumb{border-radius:999px;background:#1f3d3333}.annual-table{width:100%;border-collapse:separate;border-spacing:0;background:#fffdf89e}.annual-table tbody tr{background:var(--row-tint, transparent)}.annual-table th,.annual-table td{padding:7px 10px;border-bottom:1px solid rgba(31,61,51,.08);font-size:12px;line-height:1.45;text-align:left}.annual-table thead th{position:sticky;top:0;z-index:3;background:var(--paper-deep);color:var(--ink);font-size:11.5px;font-weight:600;letter-spacing:.04em;white-space:nowrap}.annual-table-region-head,.annual-table-region-cell{position:sticky;left:0;z-index:2;width:96px;min-width:96px;background:var(--card);vertical-align:middle}.annual-table-region-head{z-index:5;background:var(--paper-deep)}.annual-table-region-cell{border-right:1px solid rgba(31,61,51,.08);background:var(--region-tint, var(--card));color:var(--pine);font-weight:600;text-align:center}.annual-table-name-head,.annual-table-name-cell{width:240px;min-width:240px}.annual-table-name-cell{line-height:1.5}.annual-table-name{font-weight:500;color:var(--ink)}.annual-table-name-button{display:flex;align-items:center;gap:6px;width:100%;padding:0;border:0;background:none;color:inherit;font:inherit;text-align:left;cursor:pointer}.annual-table-name-button:hover .annual-table-name{color:var(--pine-2);text-decoration:underline;text-underline-offset:2px}.annual-table-name-button:focus-visible{border-radius:4px;outline:2px solid rgba(31,92,74,.35);outline-offset:2px}.annual-table-diff{display:inline-block;margin-left:6px;padding:1px 6px;border:1px solid rgba(196,85,59,.28);border-radius:999px;background:#c4553b14;color:var(--vermilion);font-size:9px;line-height:1.5;white-space:nowrap}.annual-table-plan-head,.annual-table-plan-cell{width:104px;min-width:104px;text-align:center!important}.annual-table-plan-head.is-ordinary{color:#2f6da3}.annual-table-plan-head.is-union{color:#6f5aa8}.annual-table-plan-head.is-premium{color:var(--gold)}.annual-table-plan-head.is-vip{color:var(--vermilion)}.annual-table tbody tr:hover>td{background:#1f5c4a0b}.annual-table tbody tr:hover>.annual-table-region-cell{background:var(--region-tint, var(--paper-deep))}.annual-table-check{color:var(--pine-2);font-size:13px}.annual-table-benefit{display:inline-flex;align-items:center;gap:4px;padding:1px 7px;border:1px solid transparent;border-radius:999px;font-size:10px;line-height:1.6;white-space:nowrap}.annual-table-benefit.is-free{border-color:#b9dcc8;background:#eaf5ee;color:#2f6b4d}.annual-table-benefit.is-half{border-color:#e8d3a3;background:#faf2df;color:#7d5a12}.annual-table-benefit.is-unknown{border-color:var(--line);background:var(--paper-deep);color:var(--ink-soft)}.annual-column{--column-accent: var(--pine-2);--column-tint: rgba(31, 92, 74, .07);display:flex;flex-direction:column;min-width:0;overflow:hidden;border:1px solid var(--line);border-top:3px solid var(--column-accent);border-radius:14px;background:#fffdf89e}.annual-column.is-ordinary{--column-accent: #2f6da3;--column-tint: rgba(47, 109, 163, .07)}.annual-column.is-union{--column-accent: #6f5aa8;--column-tint: rgba(111, 90, 168, .07)}.annual-column.is-premium{--column-accent: var(--gold);--column-tint: rgba(185, 138, 47, .08)}.annual-column.is-vip{--column-accent: var(--vermilion);--column-tint: rgba(196, 85, 59, .07)}.annual-column-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:11px 13px;border-bottom:1px solid rgba(31,61,51,.09);background:var(--column-tint)}.annual-column-title{display:flex;flex-direction:column;gap:2px;min-width:0}.annual-column-label{font-family:var(--font-display);font-size:16px;letter-spacing:.06em;color:var(--column-accent);white-space:nowrap}.annual-column-hint{font-size:9px;letter-spacing:.04em;color:var(--ink-soft);white-space:nowrap}.annual-column-count{display:grid;flex-shrink:0;place-items:center;min-width:30px;height:30px;padding:0 6px;border:1px solid rgba(31,61,51,.12);border-radius:999px;background:#fffdf8cc;color:var(--column-accent);font-size:11px;font-weight:700}.annual-list{display:flex;flex-direction:column;gap:6px;max-height:58vh;min-height:220px;padding:8px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:rgba(31,61,51,.24) transparent}.annual-list::-webkit-scrollbar{width:5px}.annual-list::-webkit-scrollbar-thumb{border-radius:999px;background:#1f3d3333}.annual-item{flex-shrink:0;padding:9px 10px;border:1px solid rgba(31,61,51,.1);border-radius:10px;background:var(--card);cursor:default;transition:border-color .16s ease,transform .16s ease,box-shadow .16s ease}.annual-item:hover,.annual-item:focus-visible{border-color:var(--column-accent);outline:none;transform:translateY(-1px);box-shadow:0 6px 14px #2332291a}.annual-item-top{display:flex;align-items:flex-start;justify-content:space-between;gap:7px}.annual-item-name{font-size:12.5px;font-weight:600;line-height:1.45;color:var(--ink);word-break:break-word}.annual-item-region{flex-shrink:0;max-width:92px;overflow:hidden;padding:2px 6px;border-radius:999px;background:var(--paper-deep);color:var(--ink-soft);font-size:9px;line-height:1.4;text-overflow:ellipsis;white-space:nowrap}.annual-item-meta{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin-top:6px}.annual-item-price{font-size:11.5px;font-weight:700;color:var(--column-accent)}.annual-benefit{display:inline-flex;align-items:center;gap:3px;padding:1px 6px;border:1px solid transparent;border-radius:999px;font-size:9px;line-height:1.5;white-space:nowrap}.annual-benefit strong{font-size:9px;font-weight:700}.annual-benefit.is-free{border-color:#b9dcc8;background:#eaf5ee;color:#2f6b4d}.annual-benefit.is-half{border-color:#e8d3a3;background:#faf2df;color:#7d5a12}.annual-benefit.is-unknown{border-color:var(--line);background:var(--paper-deep);color:var(--ink-soft)}.annual-choice-badge{padding:1px 6px;border:1px solid rgba(47,109,163,.28);border-radius:999px;background:#2f6da314;color:#2f6da3;font-size:9px;line-height:1.5;white-space:nowrap}.annual-benefit-list{display:flex;flex-wrap:wrap;gap:4px;width:100%;margin-top:1px}.annual-benefit-plan{--plan-accent: var(--pine-2);display:inline-flex;align-items:baseline;gap:3px;padding:1px 5px;border-radius:5px;background:#1f3d330f;font-size:9px;white-space:nowrap}.annual-benefit-plan.is-ordinary{--plan-accent: #2f6da3}.annual-benefit-plan.is-union{--plan-accent: #6f5aa8}.annual-benefit-plan.is-premium{--plan-accent: var(--gold)}.annual-benefit-plan.is-vip{--plan-accent: var(--vermilion)}.annual-benefit-plan em{color:var(--plan-accent);font-style:normal;font-weight:700}.annual-benefit-plan b{color:var(--ink);font-weight:600}.annual-share-badge,.annual-diff-badge{padding:1px 6px;border-radius:999px;font-size:9px;line-height:1.5;white-space:nowrap}.annual-share-badge{border:1px solid rgba(185,138,47,.35);background:#b98a2f1a;color:#7d5a12}.annual-diff-badge{border:1px solid rgba(196,85,59,.3);background:#c4553b14;color:var(--vermilion)}.annual-empty{padding:26px 12px;color:var(--ink-soft);font-size:11.5px;text-align:center}.annual-popover .ant-popover-inner{width:min(400px,calc(100vw - 24px));max-width:calc(100vw - 24px);border:1px solid var(--line);border-radius:14px;background:var(--card);box-shadow:0 18px 40px #2332292e}.annual-detail-title{display:flex;flex-direction:column;gap:2px}.annual-detail-title strong{font-size:13px;color:var(--ink)}.annual-detail-title span{font-size:10px;font-weight:400;color:var(--ink-soft)}.annual-detail{display:flex;flex-direction:column;gap:10px;max-height:320px;overflow-y:auto}.annual-detail-plan{--detail-accent: var(--pine-2);padding-left:9px;border-left:3px solid var(--detail-accent)}.annual-detail-plan.is-ordinary{--detail-accent: #2f6da3}.annual-detail-plan.is-union{--detail-accent: #6f5aa8}.annual-detail-plan.is-premium{--detail-accent: var(--gold)}.annual-detail-plan.is-vip{--detail-accent: var(--vermilion)}.annual-detail-head{display:flex;align-items:baseline;gap:8px;font-size:11.5px}.annual-detail-benefits{display:flex;align-items:center;flex-wrap:wrap;gap:5px;margin-top:4px}.annual-detail-plan-name{font-weight:700;color:var(--detail-accent)}.annual-detail-price{color:var(--ink)}.annual-detail-quota{margin-left:auto;color:var(--ink-soft)}.annual-detail-plan p{max-height:140px;margin:4px 0 0;overflow-y:auto;color:var(--ink-soft);font-size:11px;line-height:1.7;white-space:pre-wrap}.mobile-filter-content{display:flex;flex-direction:column;gap:20px;padding:2px}.mobile-filter-section{display:flex;flex-direction:column;gap:9px}.mobile-filter-label{font-size:11px;font-weight:600;letter-spacing:.14em;color:var(--ink-soft)}.mobile-filter-modal .toolbar-picker{width:100%}.mobile-filter-modal .city-select,.mobile-filter-modal .map-type-select{flex:1;min-width:0}.mobile-filter-modal .layer-filters{width:100%}.mobile-done{width:100%;margin-top:22px;padding:12px 18px;border:none;border-radius:999px;background:var(--pine);color:#f8f3e7;font-size:14px;font-weight:600;letter-spacing:.14em;cursor:pointer;box-shadow:0 10px 24px #1f3d333d;transition:background .18s ease,transform .18s ease}.mobile-done:hover{background:var(--pine-2);transform:translateY(-1px)}@keyframes rise-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes compass-in{0%{opacity:0;transform:rotate(-90deg) scale(.7)}to{opacity:1;transform:rotate(0) scale(1)}}@keyframes breathe{0%,to{opacity:1;transform:scale(1)}50%{opacity:.35;transform:scale(.75)}}@media (max-width: 1500px){.brand-copy h1{font-size:26px}.control-caption{display:none}.destination-controls{gap:8px}.layer-toolbar{padding:8px 10px}}@media (max-width: 1200px){.annual-compare-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.annual-list{max-height:480px}}@media (max-width: 1024px){body{background-image:radial-gradient(circle at 10% -8%,rgba(196,85,59,.08),transparent 40%),radial-gradient(circle at 92% -4%,rgba(31,92,74,.1),transparent 36%)}.app-shell{padding:0}.masthead{display:none}.mobile-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 14px;background:#f5f0e6eb;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid rgba(31,61,51,.12);box-shadow:0 4px 16px #23322914;position:relative;z-index:10}.mobile-brand{display:flex;align-items:center;gap:9px;color:var(--pine);min-width:0}.mobile-brand-copy{display:flex;flex-direction:column;gap:1px;min-width:0}.mobile-brand-copy strong{font-family:var(--font-display);font-size:16px;letter-spacing:.12em;line-height:1.1;white-space:nowrap}.mobile-brand-copy span{font-size:10px;color:var(--ink-soft);letter-spacing:.03em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.filter-trigger{display:inline-flex;align-items:center;gap:6px;padding:9px 16px;border:none;border-radius:999px;background:var(--pine);color:#f8f3e7;font-size:13px;font-weight:600;letter-spacing:.08em;cursor:pointer;box-shadow:0 6px 16px #1f3d333d;flex-shrink:0}.map-stage{padding:8px}.map-frame{height:calc(100vh - 68px);min-height:420px;border-radius:18px}.map-frame:after{top:6px;right:6px;bottom:6px;left:6px;border-radius:13px}.map-stamp{right:12px;bottom:12px;padding:6px 10px;font-size:10.5px}}@media (max-width: 900px){.fourd-grid{column-count:1}}@media (max-width: 1024px){.booking-head{flex-direction:column;align-items:stretch;gap:12px}.booking-toolbar{justify-content:flex-start}}@media (max-width: 768px){.map-frame{height:calc(100vh - 64px)}.booking-toolbar>.ant-select,.booking-toolbar>.ant-picker{width:100%}.booking-hint{margin-left:0}.booking-table pre{font-size:12px}.ant-modal .ant-modal-content{padding:18px 16px}.fourd-head{flex-direction:column;align-items:flex-start;gap:12px}.fourd-stats{width:100%}.fourd-stat{flex:1;justify-content:center}.fourd-grid{column-count:1}.fourd-copy h3{font-size:23px}.annual-region-bar{flex-direction:column;align-items:stretch;gap:10px}.annual-region-main{display:none}.annual-region-select-mobile{display:block;flex:1 1 100%;width:100%}.annual-region-select-mobile .ant-select-selector{border-radius:999px!important}.annual-region-tools{flex-wrap:wrap}.annual-search{flex:1 1 100%;width:100%}.annual-plan-stats,.annual-compare-grid{grid-template-columns:1fr}.annual-list{max-height:420px}.beijing-hub-tabs .ant-tabs-tab{padding:9px 2px 12px;font-size:12px;letter-spacing:.02em}.beijing-hub-tabs .ant-tabs-tab+.ant-tabs-tab{margin-left:12px}.hub-page{padding:12px 10px 24px}.hub-back-button{height:32px;padding:0 10px;font-size:11px}.hub-page-main{padding:14px 12px 22px;border-radius:18px}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}
