*{box-sizing:border-box}html{min-height:100%;background:#07100f}body{min-width:320px;min-height:100vh;margin:0;color:#f4f1e8;background:#07100f;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Microsoft YaHei,sans-serif;line-height:1.5}button,input{font:inherit}button{color:inherit}a{color:inherit;text-decoration:none}input{width:100%;border:1px solid rgba(244,241,232,.16);border-radius:8px;padding:12px 14px;color:#f4f1e8;background:#ffffff0f;outline:none}input:focus{border-color:#6be7c8b3;box-shadow:0 0 0 3px #6be7c81f}::selection{color:#07100f;background:#d7c68c}:root{--bg: #07100f;--bg-soft: #0c1514;--surface: #111a19;--surface-strong: #172321;--line: rgba(244, 241, 232, .12);--line-strong: rgba(244, 241, 232, .2);--text: #f4f1e8;--muted: #a6b4ad;--muted-strong: #c8d2cb;--accent: #d7c68c;--accent-2: #6be7c8;--danger: #ff8c74;--shadow: 0 24px 80px rgba(0, 0, 0, .28)}.launch-page{position:relative;display:grid;min-height:100vh;place-items:center;overflow:hidden;background:linear-gradient(rgba(244,241,232,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(244,241,232,.03) 1px,transparent 1px),var(--bg);background-size:48px 48px}.launch-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#07100f29,#07100feb)}.launch-content{position:relative;z-index:1;width:min(920px,calc(100vw - 40px));padding:42px 0 54px;text-align:center}.globe-hero{width:min(430px,78vw);height:min(430px,78vw);margin:0 auto 14px}.eyebrow{margin:0 0 10px;color:var(--accent);font-size:.78rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.launch-content h1,.workspace-heading h1,.auth-panel h1,.empty-state h1{margin:0;color:var(--text);font-size:3.8rem;font-weight:700;letter-spacing:0}.launch-subtitle,.workspace-heading p,.muted,.auth-panel p,.recommendation-card p,.detail-section p,.detail-summary{color:var(--muted)}.launch-subtitle{margin:14px auto 32px;font-size:1.08rem}.launch-actions,.auth-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:14px}.entry-button,.primary-button,.ghost-button,.text-button,.icon-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid var(--line-strong);border-radius:8px;cursor:pointer;transition:transform .16s ease,border-color .16s ease,background .16s ease,color .16s ease}.entry-button{min-width:188px;padding:14px 18px;color:#07100f;background:var(--accent);font-weight:700}.entry-button.is-secondary{color:var(--text);background:#6be7c81c;border-color:#6be7c85c}.entry-button:hover,.primary-button:hover,.ghost-button:hover,.text-button:hover,.icon-button:hover{transform:translateY(-1px)}.app-shell{min-height:100vh;background:linear-gradient(rgba(244,241,232,.024) 1px,transparent 1px),linear-gradient(90deg,rgba(244,241,232,.024) 1px,transparent 1px),var(--bg);background-size:52px 52px}.topbar{position:sticky;top:0;z-index:20;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:20px;min-height:68px;padding:0 28px;border-bottom:1px solid var(--line);background:#07100fdb;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.brand,.main-nav,.main-nav a,.topbar-actions{display:flex;align-items:center}.brand{gap:10px;color:var(--text);font-weight:800}.main-nav{gap:8px;padding:5px;border:1px solid var(--line);border-radius:8px;background:#ffffff0a}.main-nav a{gap:7px;min-height:34px;padding:0 12px;border-radius:6px;color:var(--muted);font-size:.92rem}.main-nav a.active{color:var(--text);background:#d7c68c21}.topbar-actions{justify-content:flex-end;gap:10px}.sync-pill{display:inline-flex;align-items:center;min-height:30px;padding:0 10px;border:1px solid var(--line);border-radius:999px;color:var(--muted);font-size:.78rem}.sync-pill.is-live{color:var(--accent-2);border-color:#6be7c85c}.sync-pill.is-error{color:var(--danger);border-color:#ff8c746b}.icon-button{width:38px;height:38px;padding:0;background:#ffffff0d}.app-main{width:min(1440px,calc(100vw - 48px));margin:0 auto;padding:34px 0 56px}.workspace-heading{margin-bottom:24px}.workspace-heading h1{font-size:2.3rem}.workspace-heading p{max-width:720px;margin:10px 0 0}.back-link{display:inline-flex;align-items:center;gap:7px;margin-bottom:18px;color:var(--muted-strong);font-size:.92rem}.back-map-button{width:fit-content;margin-bottom:18px}.map-workspace{display:grid;grid-template-columns:minmax(0,1fr) 420px;gap:18px;align-items:stretch}.map-workspace.has-detail{grid-template-columns:minmax(0,1fr) 390px 360px}.map-surface,.side-panel,.detail-panel,.auth-panel,.recommendation-card{border:1px solid var(--line);border-radius:8px;background:#111a19e0;box-shadow:var(--shadow)}.map-surface{min-height:620px;overflow:hidden}.map-chart-frame{width:100%;height:620px;min-height:inherit}.map-chart{width:100%;height:100%;min-height:inherit}.domestic-map-workspace,.province-map-workspace{grid-template-columns:minmax(0,1fr) clamp(320px,24vw,360px)}.province-map-workspace.has-open-detail{grid-template-columns:minmax(0,1fr) clamp(320px,24vw,360px) 360px}.domestic-map-surface,.province-map-surface{min-height:560px;height:clamp(560px,72vh,820px);overflow:visible}.domestic-map-surface .map-chart-frame,.domestic-map-surface .map-chart,.province-map-surface .map-chart-frame,.province-map-surface .map-chart{height:100%;min-height:560px}.side-panel{min-height:620px;padding:18px;overflow:hidden}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:16px}.stats-grid div{padding:12px;border:1px solid var(--line);border-radius:8px;background:#ffffff0a}.stats-grid span,.recommendation-card dt,.rating-block span{display:block;color:var(--muted);font-size:.78rem}.stats-grid strong{display:block;margin-top:4px;color:var(--text);font-size:1.5rem}.legend-row,.tag-row{display:flex;flex-wrap:wrap;gap:8px}.legend-row{margin-bottom:18px}.legend-row span,.tag-row span,.source-line{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);border-radius:999px;color:var(--muted-strong);background:#ffffff0a;font-size:.78rem}.legend-row span{padding:7px 10px;font-size:.84rem;font-weight:700}.legend-row i{width:11px;height:11px;border-radius:999px}.place-list{max-height:505px;overflow:auto;padding-right:3px}.panel-action-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px;padding-bottom:12px;border-bottom:1px solid var(--line)}.panel-action-row span{color:var(--muted-strong);font-size:.9rem;font-weight:800}.place-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:10px;align-items:center;padding:14px 0;border-top:1px solid var(--line)}.place-row.is-selected{margin:0 -8px;padding-right:8px;padding-left:8px;border-radius:8px;background:#d7c68c14}.province-row{grid-template-columns:minmax(0,1fr) auto}.place-row.is-clickable{margin:0 -8px;padding-right:8px;padding-left:8px;border-radius:8px;cursor:pointer;transition:background .16s ease,border-color .16s ease}.place-row.is-clickable:hover,.place-row.is-clickable:focus-visible{background:#d7c68c14;outline:0}.place-actions{display:inline-flex;align-items:center;justify-content:flex-end;gap:8px}.status-pill{display:inline-flex;align-items:center;min-height:32px;padding:0 11px;border:1px solid color-mix(in srgb,var(--status-color) 54%,transparent);border-radius:999px;color:var(--text);background:color-mix(in srgb,var(--status-color) 16%,transparent);font-size:.82rem;font-weight:800;white-space:nowrap}.place-row:first-child{border-top:0}.place-title{min-width:0;padding:0;border:0;color:var(--text);background:transparent;text-align:left;cursor:pointer}.place-title span{display:block;font-weight:700}.place-title small{display:-webkit-box;margin-top:3px;overflow:hidden;color:var(--muted);font-size:.78rem;-webkit-box-orient:vertical;-webkit-line-clamp:2}.status-selector{display:flex;flex-wrap:wrap;gap:7px}.status-selector.is-compact{max-width:182px;justify-content:flex-end;gap:5px}.status-choice{display:inline-flex;align-items:center;gap:5px;min-height:32px;border:1px solid rgba(244,241,232,.14);border-radius:999px;padding:0 10px;color:var(--muted);background:#ffffff0a;cursor:pointer}.status-selector.is-compact .status-choice{min-height:27px;padding:0 8px;font-size:.76rem}.status-selector.is-emphasis{gap:8px}.status-selector.is-emphasis .status-choice{min-height:38px;padding:0 13px;font-size:.88rem;font-weight:800}.status-selector.is-compact.is-emphasis .status-choice{min-height:32px;padding:0 10px;font-size:.82rem}.status-choice span{width:7px;height:7px;border-radius:999px;background:var(--status-color)}.status-choice.is-active{color:var(--text);border-color:var(--status-color);background:color-mix(in srgb,var(--status-color) 18%,transparent)}.detail-panel{position:relative;min-height:620px;padding:24px;overflow:auto}.panel-close{position:absolute;top:16px;right:16px}.detail-panel h2,.country-list-section h2,.recommendation-section h2,.recommendation-card h3,.detail-section h3{margin:0;letter-spacing:0}.detail-panel h2{padding-right:42px;font-size:1.9rem}.detail-summary{margin:14px 0 18px}.rating-block{display:flex;align-items:center;justify-content:space-between;margin:18px 0;padding:14px;border:1px solid rgba(215,198,140,.26);border-radius:8px;background:#d7c68c14}.rating-block strong{color:var(--accent);font-size:2rem}.detail-section{margin-top:18px;padding-top:18px;border-top:1px solid var(--line)}.detail-section h3{margin-bottom:10px;color:var(--text);font-size:.95rem}.tag-row span{padding:6px 9px}.source-line{margin-top:24px;padding:7px 9px}.ai-meta-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:18px}.ai-meta-grid div{padding:12px;border:1px solid var(--line);border-radius:8px;background:#ffffff0a}.ai-meta-grid span,.ai-action-row span{display:block;color:var(--muted);font-size:.78rem}.ai-meta-grid strong{display:block;margin-top:5px;color:var(--text);font-size:.95rem}.tip-list{display:grid;gap:7px;margin:0;padding-left:18px;color:var(--muted-strong)}.ai-action-row{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:14px}.loading-line{display:flex;align-items:center;gap:8px;margin-top:22px;color:var(--muted)}.map-loading{height:100%;min-height:inherit;justify-content:center}.spin{animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.center-page{display:grid;min-height:calc(100vh - 180px);place-items:center}.auth-panel{width:min(520px,100%);padding:28px}.auth-panel h1{font-size:2rem}.auth-form{display:grid;gap:14px;margin-top:22px}.auth-form label{display:grid;gap:7px;color:var(--muted-strong);font-size:.9rem}.primary-button,.ghost-button{min-height:42px;padding:0 14px;font-weight:700}.primary-button{color:#07100f;background:var(--accent)}.ghost-button{color:var(--text);background:#ffffff0d}.primary-button:disabled,.ghost-button:disabled{cursor:not-allowed;opacity:.48;transform:none}.notice,.form-message{padding:10px 12px;border:1px solid rgba(215,198,140,.26);border-radius:8px;color:var(--accent);background:#d7c68c14}.notice.is-error{color:var(--danger);border-color:#ff8c7457;background:#ff8c7414}.international-layout{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:18px;align-items:start}.international-main{display:grid;gap:22px}.country-input{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px}.country-list-section,.recommendation-section{padding-top:8px}.country-list-section h2,.recommendation-section h2{margin-bottom:12px;font-size:1.15rem}.recommendation-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.recommendation-card{display:grid;gap:16px;min-height:320px;padding:18px}.recommendation-card .score{width:fit-content;margin:0 0 12px;padding:4px 8px;border:1px solid rgba(107,231,200,.3);border-radius:999px;color:var(--accent-2);font-weight:800}.recommendation-card h3{font-size:1.42rem}.recommendation-card p{margin:8px 0 0}.recommendation-card dl{display:grid;gap:10px;margin:0}.recommendation-card dd{margin:3px 0 0;color:var(--text)}.text-button{width:fit-content;min-height:34px;padding:0 10px;color:var(--accent);background:transparent}.text-button:disabled{cursor:not-allowed;opacity:.48;transform:none}.empty-state{display:grid;min-height:360px;place-content:center;gap:20px;text-align:center}.intro-layout{display:grid;grid-template-columns:minmax(0,1fr) clamp(320px,24vw,360px);gap:18px;align-items:stretch}.intro-panel,.intro-status-panel{min-height:360px}.intro-status-panel h2{margin:0 0 16px;color:var(--text);font-size:1.2rem}@media(max-width:1180px){.map-workspace,.map-workspace.has-detail,.province-map-workspace.has-open-detail,.intro-layout,.international-layout,.domestic-map-workspace,.province-map-workspace{grid-template-columns:1fr}.detail-panel{min-height:0}.recommendation-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:760px){.topbar{grid-template-columns:1fr;gap:10px;padding:14px 18px}.main-nav,.topbar-actions{justify-content:flex-start}.app-main{width:min(100% - 28px,1440px)}.launch-content h1{font-size:2.8rem}.workspace-heading h1{font-size:2rem}.stats-grid{grid-template-columns:repeat(2,1fr)}.map-surface,.side-panel{min-height:500px}.map-chart-frame{height:500px}.domestic-map-surface,.province-map-surface{min-height:520px;height:520px}.place-actions{justify-content:flex-start}.place-row{grid-template-columns:1fr}.status-selector.is-compact{max-width:none;justify-content:flex-start}.country-input,.recommendation-grid{grid-template-columns:1fr}}
