:root { --content-ink:#153c35; --content-teal:#176f62; --content-muted:#72857c; }
/* City exploration uses the available viewport instead of a centred, capped SVG stage. */
.world-stage:has(.is-city-explorer) { height:calc(100dvh - 78px); min-height:580px; }
.map-explorer.is-city-explorer { inset:40px 0 0; padding:0 8px; display:block; }
.level-nav { top:4px; }
.is-city-explorer .detail-stage { height:100%; }
.is-city-explorer .guilin-detail-map { padding:0; }
.is-city-explorer .city-category-bar { top:0; width:100%; gap:6px; padding:4px; overflow:visible; justify-content:center; }
.city-category-options { display:flex;align-items:center;gap:6px;min-width:0;overflow-x:auto;scrollbar-width:none;touch-action:none;overscroll-behavior-x:contain;cursor:grab; }
.city-category-options:active { cursor:grabbing; }
.city-category-options.has-more-left,.travel-roster.has-more-left { -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 var(--horizontal-fade-width,34px),#000 100%);mask-image:linear-gradient(90deg,transparent 0,#000 var(--horizontal-fade-width,34px),#000 100%); }
.city-category-options.has-more-right,.travel-roster.has-more-right { -webkit-mask-image:linear-gradient(90deg,#000 0,#000 calc(100% - var(--horizontal-fade-width,34px)),transparent 100%);mask-image:linear-gradient(90deg,#000 0,#000 calc(100% - var(--horizontal-fade-width,34px)),transparent 100%); }
.city-category-options.has-more-left.has-more-right,.travel-roster.has-more-left.has-more-right { -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 var(--horizontal-fade-width,34px),#000 calc(100% - var(--horizontal-fade-width,34px)),transparent 100%);mask-image:linear-gradient(90deg,transparent 0,#000 var(--horizontal-fade-width,34px),#000 calc(100% - var(--horizontal-fade-width,34px)),transparent 100%); }
.city-category-options::-webkit-scrollbar { display:none; }
.city-category-options .city-category { flex-shrink:0; }
.is-city-explorer .city-live-map { inset:46px 0 22px; }
.is-city-explorer .guilin-detail-map:has(.city-content-tools) .city-route-summary { --route-summary-expanded-left:0px; top:46px; left:0; }
.is-city-explorer .guilin-detail-map:has(.city-content-tools) .city-route-summary.is-collapsed { left:-8px; }
.is-city-explorer .city-map-status { top:46px; }
.is-city-explorer .has-map-warning:has(.city-content-tools) .city-route-summary { top:94px; }
.is-editing-place .city-route-summary { display:none; }
.account-menu { position:relative; }
.account-menu summary { list-style:none; cursor:pointer; display:flex; align-items:center; gap:8px; }
.account-menu summary::-webkit-details-marker { display:none; }
.account-menu .avatar-button { display:grid;place-items:center; }
.account-avatar { display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#176f62;color:white; }
.account-dropdown { position:absolute; z-index:100; right:0; top:calc(100% + 10px); min-width:210px; padding:14px; border:1px solid #dce5dc;border-radius:14px;background:white;box-shadow:0 12px 36px #153c3525;color:#153c35;font-size:13px; }
.account-dropdown a { display:block;color:#176f62;padding:8px;text-decoration:none; }
.account-dropdown [hidden] { display:none!important; }
.account-dropdown button { display:block;width:100%;margin-top:7px;border:0;border-radius:8px;padding:10px;color:#176f62;background:#edf3ed;cursor:pointer;text-align:left; }
.account-dropdown button.danger { color:#a33f2d;background:#fff0eb; }
.account-dropdown p { margin:8px;font-size:12px; }
.header-add-place { flex-shrink:0;white-space:nowrap;border:1px solid #dce8df;border-radius:18px;padding:8px 12px;color:#176f62;background:#f1f7f3;font-size:12px;cursor:pointer; }
.header-add-place:hover { background:#176f62;color:white; }
.header-notifications { position:relative;flex-shrink:0; }
.header-notification-button { position:relative;display:grid;place-items:center;width:34px;height:34px;padding:0;border:1px solid #dce8df;border-radius:50%;color:#176f62;background:#f7faf8;font-size:16px;cursor:pointer; }
.header-notification-button:hover,.header-notification-button[aria-expanded="true"] { color:white;background:#176f62; }
.header-notification-button svg { display:block;width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round; }
.header-notification-badge { position:absolute;right:-7px;top:-7px;min-width:18px;height:18px;padding:0 4px;display:grid;place-items:center;border:1px solid white;border-radius:999px;color:white;background:#c24e37;font-size:10px;font-weight:800;line-height:1; }
.header-notification-badge[hidden] { display:none; }
.header-notification-panel { position:absolute;z-index:950;left:50%;right:auto;top:calc(100% + 10px);width:min(175px,calc(100vw - 24px));max-height:min(68dvh,520px);overflow:auto;padding:14px;border:1px solid #dce5dc;border-radius:14px;background:white;box-shadow:0 16px 42px #153c3530;color:#153c35;font-size:12px;transform:translateX(-50%); }
.header-notification-panel[hidden] { display:none; }
.header-notification-panel>strong { display:block;margin-bottom:8px;font-size:14px; }
.notification-item { padding:10px 2px;border-top:1px solid #e5ebe6; }
.notification-item.is-unread { padding-left:10px;border-left:3px solid #b68a30; }
.notification-item strong,.notification-item p,.notification-item small { display:block;margin:0; }
.notification-item p { margin:5px 0;line-height:1.55; }
.notification-item small { color:#72857c; }
.notification-action { display:inline-flex;margin-top:8px;padding:5px 9px;border:1px solid #cfe2da;border-radius:999px;color:#176f62;background:#f1f7f3;font-size:11px;font-weight:700;text-decoration:none; }
.field-error,#submit-feedback { color:#b04733;background:#fff0eb;padding:10px;border-radius:8px;line-height:1.6; }
.studio-page [aria-invalid="true"] { border:2px solid #b04733; }
.map-editor-dialog { width:min(960px,calc(100vw - 24px)); height:92dvh; max-height:calc(100dvh - 20px); padding:0;border:1px solid #dce5dc;border-radius:18px;overflow:hidden;background:#f7f9f5; }
.map-editor-dialog::backdrop { background:#18362d52; }
.map-editor-dialog[open] { display:flex;flex-direction:column; }
.map-editor-actions { flex:0 0 auto;display:flex;justify-content:flex-end;gap:8px;padding:12px 18px;border-top:1px solid #dce5dc;background:#fff; }
.map-editor-actions button { flex:none;min-height:44px;padding:10px 16px;border:1px solid #dce5dc;border-radius:12px;background:#edf4ef;color:#176f62;font:inherit;font-size:14px;cursor:pointer; }
.map-editor-actions .map-editor-submit { border-color:#176f62;background:#176f62;color:#fff; }
.map-editor-actions button:disabled { opacity:.55;cursor:wait; }
.map-editor-dialog iframe { display:block;flex:1 1 0;min-height:0;width:100%;height:0;border:0; }
.submission-list-row { display:flex;align-items:center;gap:8px;margin:8px 0;min-width:0; }
.submission-list-row .post-list-item { flex:1;min-width:0;margin:0;overflow-wrap:anywhere; }
.studio-page .submission-list-submit { flex:none;min-height:44px;padding:10px 12px;font-size:13px; }
.studio-embedded .studio-main { margin:12px auto;padding:0 14px; }
.studio-embedded .studio-header>a,.studio-embedded .studio-header>strong,.studio-embedded .studio-main>.eyebrow,.studio-embedded .studio-main>h1,.studio-embedded .studio-intro,.studio-embedded .studio-footer,.studio-embedded .studio-columns>aside,.studio-embedded #workspace>nav { display:none; }
.studio-embedded .studio-header { padding:8px 16px;justify-content:flex-end; }
.studio-embedded .studio-columns { display:block; }
.studio-embedded .studio-card { margin:10px 0; }
.studio-page { margin:0; touch-action:pan-x pan-y; color:var(--content-ink); background:#f7f9f5; font-family:system-ui,"Microsoft YaHei",sans-serif; }
.studio-page *,.content-dialog * { box-sizing:border-box; }
.studio-page [hidden],.content-dialog [hidden] { display:none!important; }
.studio-header { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:16px; padding:22px max(24px,calc((100vw - 1160px)/2)); background:white; border-bottom:1px solid #e3e9e1; }
.studio-header a,.studio-page a,.content-dialog a { color:var(--content-teal); text-underline-offset:4px; }
.studio-main { width:100%; max-width:1160px; margin:48px auto; padding:0 24px; overflow-x:clip; }
.eyebrow { color:#a17d32; font-size:12px; letter-spacing:2px; }
.studio-main h1 { font-size:clamp(24px,4vw,36px); font-weight:650; }
.studio-intro,.field-help,.studio-footer { color:var(--content-muted); line-height:1.7; font-size:13px; }
.studio-card { min-width:0; max-width:100%; overflow-x:hidden; background:white; border:1px solid #e0e7df; border-radius:20px; padding:24px; margin:20px 0; box-shadow:0 10px 35px #243a2708; }
.studio-columns { display:grid; grid-template-columns:1fr; gap:24px; align-items:start; }
.submission-grid { display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:start; }
.submission-grid>.studio-card { margin-top:20px; }
.review-queue-card>.submission-grid>section { min-width:0;padding:14px;border:1px solid #e0e8e1;border-radius:14px;background:#f9fbf8; }
.review-queue-card>.submission-grid h3 { margin-top:0; }
.studio-page h2,.content-dialog h2 { font-size:20px; margin:0 0 20px; }
.studio-page h3,.content-dialog h3 { font-size:13px; margin:18px 0 6px; color:var(--content-muted); }
.studio-page label,.content-dialog label { display:flex; flex-direction:column; gap:8px; font-size:13px; margin:16px 0; }
.studio-page form,.studio-page label { min-width:0; max-width:100%; }
.field-title { display:flex;align-items:center;justify-content:space-between;gap:12px; }
.field-title b { color:#b68a30;font-size:15px;line-height:1; }
.member-card { max-width:650px; }
.studio-page input,.studio-page textarea,.studio-page select,.content-dialog input,.content-dialog textarea,.content-dialog select { width:100%; min-width:0; max-width:100%; box-sizing:border-box; border:1px solid #d9e2d9; border-radius:10px; padding:12px; font:inherit; color:inherit; background:#fcfdfb; }
.studio-page .auth-name-editor { height:44px; min-height:44px; overflow:hidden; resize:none; line-height:18px; white-space:pre-wrap; }
.studio-page textarea { resize:vertical; }
.studio-date-field { width:100%; min-width:0; max-width:100%; overflow:hidden; contain:inline-size; }
.studio-page .studio-date-field input[type="date"] { display:block; flex:0 1 auto; width:100%; min-width:0; max-width:100%; inline-size:100%; min-inline-size:0; max-inline-size:100%; -webkit-appearance:none; appearance:none; }
.studio-page .studio-date-field input[type="date"]::-webkit-date-and-time-value { min-width:0; text-align:left; }
.studio-page input:focus,.studio-page textarea:focus,.studio-page select:focus { outline:2px solid #69a799; outline-offset:2px; }
.studio-page button,.content-dialog button,.city-content-tools button,.city-pick-bar button { border:0; border-radius:12px; padding:12px 18px; background:var(--content-teal); color:white; font:inherit; font-size:13px; cursor:pointer; }
.studio-page button.secondary,.content-dialog button.secondary { background:#edf3ed; color:var(--content-teal); }
.studio-page button.danger,.content-dialog button.danger { border:1px solid #efc7bd; background:#fff0eb; color:#a33f2d; }
.studio-page button.danger:hover:not(:disabled) { background:#f8ddd5; }
.studio-page button:disabled { opacity:.48; cursor:not-allowed; }
.studio-actions { display:flex; align-items:center; flex-wrap:wrap; gap:10px; }
.studio-actions .studio-return-link { display:inline-flex;align-items:center;border-radius:12px;padding:12px 18px;background:#edf3ed;color:var(--content-teal);font-size:13px;text-decoration:none; }
.studio-insights { margin-top:24px; }
.insights-summary { display:flex; flex-wrap:wrap; gap:10px; margin:16px 0; }
.insights-summary span { min-width:150px; padding:14px; border:1px solid #dce8df; border-radius:13px; color:var(--content-muted); background:#f5f8f5; font-size:12px; }
.insights-summary strong { display:block; margin-top:4px; color:var(--content-ink); font-size:24px; }
.insights-grid { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.insights-grid>section,.insights-feedback { padding:18px; border:1px solid #dce8df; border-radius:15px; background:#fbfcfb; }
.insights-grid h3,.insights-feedback h3 { margin:0 0 12px; }
.insights-grid ol { display:grid; gap:7px; margin:0; padding-left:22px; }
.insights-grid li { padding:5px 0; color:var(--content-muted); font-size:12px; }
.insights-grid li b { color:var(--content-ink); }
.insights-feedback { margin-top:16px; }
.insight-feedback-item { display:grid; gap:5px; padding:12px 0; border-top:1px solid #e4ebe6; }
.insight-feedback-item:first-child { border-top:0; }
.insight-feedback-item small { color:var(--content-muted); }
.insight-feedback-item p { margin:0; white-space:pre-wrap; line-height:1.6; }
@media(max-width:700px){.insights-grid{grid-template-columns:1fr}.insights-summary span{flex:1}}
.studio-return-link:hover { background:#e2ece2; }
.studio-return-link:focus-visible { outline:2px solid #69a799;outline-offset:2px; }
.form-row { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.tag-editor { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:10px; align-items:end; }
.tag-editor label { margin-bottom:0; }
.tag-editor button { margin-bottom:0; white-space:nowrap; }
.food-place-fields { margin:2px 0; }
.food-place-fields label { margin-top:8px; }
.optional-place-fields { margin:16px 0; padding:12px 14px; border:1px solid #dce7df; border-radius:12px; background:#f8faf7; }
.optional-place-fields summary { color:var(--content-teal); font-size:13px; cursor:pointer; }
.linear-service-fields { margin:18px 0; padding:16px; border:1px solid #cfe1db; border-radius:14px; background:#f4f8f6; }
.linear-service-fields>.studio-warning { margin-top:0; }
.linear-service-fields .studio-actions { margin-top:10px; }
.route-duration-group { margin:16px 0; font-size:13px; }
.route-duration-group>span { display:block; margin-bottom:8px; }
.route-duration-fields { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.route-duration-fields label { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:10px; margin:0; }
.route-duration-fields small { color:var(--content-muted); white-space:nowrap; }
.studio-page fieldset { border:0; margin:0; padding:0; min-width:0; }
.editor-heading { display:flex; gap:12px; justify-content:space-between; align-items:baseline; }
#editor-status { color:var(--content-muted); font-size:12px; }
.editor-bottom-status { margin:10px 0 0; color:var(--content-muted); font-size:12px; text-align:right; }
.post-list-item { width:100%; text-align:left; margin:4px 0; background:#f2f6f1!important; color:var(--content-ink)!important; overflow-wrap:anywhere; }
.studio-warning { background:#fff5dc; color:#896422; border-radius:8px; padding:12px; line-height:1.7; font-size:13px; }
.studio-page .checkbox-label { flex-direction:row; align-items:center; }
.checkbox-label input { width:auto; }
.photo-field { display:flex; flex-direction:column; gap:10px; margin:16px 0 0; font-size:13px; }
.photo-grid { display:flex;gap:12px;max-width:100%;margin:0;padding:2px 0 8px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x proximity;overscroll-behavior-inline:contain;scrollbar-width:thin; }
.photo-slot { position:relative;display:grid;place-items:center;flex:0 0 120px;width:120px;aspect-ratio:1;padding:0!important;overflow:hidden;scroll-snap-align:start;border:1px solid #cad8cf!important;border-radius:12px!important;color:var(--content-teal)!important;background:#f4f8f4!important;box-shadow:none!important; }
.photo-slot--add { border-style:dashed!important; font-size:32px!important; font-weight:300!important; cursor:pointer; }
.photo-slot--add:hover { border-color:#76a99d!important; background:#eef6f1!important; }
.photo-slot--preview { overflow:hidden; }
.photo-slot img { width:100%; height:100%; object-fit:cover; border-radius:inherit; }
.photo-slot-remove { position:absolute; top:5px; right:5px; z-index:2; display:grid; place-items:center; width:26px; height:26px; padding:0!important; border:2px solid #fff!important; border-radius:50%!important; color:#fff!important; background:rgba(22,45,39,.86)!important; box-shadow:0 2px 8px rgba(22,45,39,.22)!important; font-size:17px!important; line-height:1!important; cursor:pointer; }
.photo-slot-remove:hover { background:#943f31!important; }
.photo-slot-index { position:absolute; left:6px; bottom:6px; z-index:1; display:grid; place-items:center; min-width:24px; height:24px; padding:0 6px; border:1px solid rgba(255,255,255,.9); border-radius:999px; color:#fff; background:rgba(22,45,39,.78); box-sizing:border-box; font-size:11px; font-weight:800; }
.photo-input-hidden { position:fixed!important; width:1px!important; height:1px!important; opacity:0!important; pointer-events:none!important; }
.photo-help { margin-top:10px; }
.photo-location-suggestion { margin:4px 0 0; padding:12px 14px; border:1px solid #d7e3db; border-radius:12px; background:#f2f7f3; }
.photo-location-suggestion p { margin:0; color:#36564d; font-size:13px; line-height:1.65; }
.photo-location-suggestion .studio-actions { margin-top:10px; }
.photo-location-suggestion .studio-actions button { padding:8px 12px; font-size:12px; }
.place-photo { max-height:280px; width:100%; object-fit:contain; border-radius:12px; background:#f5f7f3; margin:14px 0; }
.place-photo-gallery { display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:10px; margin:14px 0; }
.place-photo-gallery .place-photo { height:220px; max-height:none; margin:0; object-fit:cover; }
.place-photo-button { display:block;width:100%;min-width:0;padding:0!important;overflow:hidden;border:0!important;border-radius:12px!important;background:transparent!important;box-shadow:none!important;cursor:zoom-in; }
.place-photo-button:focus-visible { outline:3px solid #d1a542;outline-offset:3px; }
.place-photo-lightbox { width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;padding:0;overflow:hidden;border:0;color:#fff;background:rgba(7,20,17,.95); }
.place-photo-lightbox::backdrop { background:rgba(7,20,17,.95); }
.place-photo-lightbox figure { display:grid;place-items:center;width:100%;height:100%;margin:0;padding:58px 76px 64px; }
.place-photo-lightbox img { display:block;max-width:100%;max-height:calc(100dvh - 122px);object-fit:contain; }
.place-photo-lightbox button { position:absolute;z-index:2;display:grid;place-items:center;width:48px;height:48px;padding:0;border:0;border-radius:50%;color:#fff;background:rgba(255,255,255,.16);font:inherit;font-size:34px;cursor:pointer; }
.place-photo-lightbox button:hover,.place-photo-lightbox button:focus-visible { background:rgba(255,255,255,.28);outline:2px solid rgba(255,255,255,.8);outline-offset:2px; }
.place-photo-lightbox button:disabled { opacity:.28;cursor:default; }
.place-photo-lightbox-close { top:max(16px,env(safe-area-inset-top,0px));right:max(16px,env(safe-area-inset-right,0px)); }
.place-photo-lightbox-step { top:50%;translate:0 -50%; }
.place-photo-lightbox-prev { left:max(16px,env(safe-area-inset-left,0px)); }
.place-photo-lightbox-next { right:max(16px,env(safe-area-inset-right,0px)); }
.place-photo-lightbox-position { position:absolute;left:50%;bottom:max(18px,env(safe-area-inset-bottom,0px));translate:-50% 0;padding:6px 12px;border-radius:999px;background:rgba(0,0,0,.5);font-size:12px; }
.submission-detail-dialog { width:min(680px,calc(100vw - 28px)); }
.submission-detail-dialog[open] { display:flex;flex-direction:column;max-height:min(85dvh,760px);overflow:hidden;padding-bottom:0; }
#submission-detail { flex:1 1 auto;min-height:0;overflow-y:auto;padding-right:4px;overscroll-behavior:contain; }
.submission-detail-dialog h2 { padding-right:0; }
.submission-detail-dialog h3 { margin:18px 0 5px; font-size:14px; }
.submission-detail-dialog p { overflow-wrap:anywhere; }
.submission-detail-actions { position:relative;z-index:1;flex:0 0 auto;justify-content:flex-end;margin:0 -30px;padding:14px 30px 20px;border-top:1px solid #e2eae4;background:#fff; }
.submission-detail-actions .field-error { flex:0 0 100%;min-height:0;margin:0 0 2px; }
.creator-xianggui-shell { position:fixed; z-index:110; right:0; bottom:92px; width:106px; height:106px; filter:drop-shadow(0 10px 13px rgba(24,53,44,.2)); transition:right .2s ease,width .2s ease,height .2s ease,opacity .18s ease,transform .18s ease; }
.creator-xianggui-shell.is-user-positioned { right:auto; bottom:auto; transition:opacity .18s ease,filter .18s ease; }
.creator-xianggui-shell.is-dragging { z-index:1200; filter:drop-shadow(0 16px 20px rgba(24,53,44,.32)); transition:none; }
.creator-xianggui-shell[data-xianggui-mode="dragging"] { width:140px; height:140px; }
.creator-xianggui-shell[data-xianggui-mode="dragging"] .creator-xianggui-toggle,.creator-xianggui-shell[data-xianggui-mode="dragging"] .creator-xianggui-bubble { display:none!important; }
.creator-xianggui-shell[data-xianggui-edge="left"][data-xianggui-mode="hidden"] .creator-xianggui-launcher img { transform:translateX(-8px) scaleX(-1); }
.creator-xianggui-shell[data-xianggui-edge="left"][data-xianggui-mode="selected"] .creator-xianggui-launcher img { transform:scaleX(-1); }
.creator-xianggui-shell[hidden],.studio-embedded .creator-xianggui-shell { display:none!important; }
.creator-xianggui-shell[data-xianggui-mode="idle"] { right:max(14px, env(safe-area-inset-right, 0px)); width:108px; height:129px; }
.creator-xianggui-shell[data-xianggui-mode^="transition"] { right:7px; width:118px; height:118px; pointer-events:none; }
.creator-xianggui-shell.is-active { opacity:0; transform:translateY(12px) scale(.88); pointer-events:none; }
.creator-xianggui-launcher { display:grid!important; place-items:center; width:100%; height:100%; padding:0!important; border:0!important; background:transparent!important; box-shadow:none!important; }
.creator-xianggui-launcher img { display:block; width:100%; height:100%; object-fit:contain; transform-origin:50% 88%; }
.creator-xianggui-shell[data-xianggui-mode="idle"] .creator-xianggui-launcher img { width:108px; height:108px; animation:creator-xianggui-idle 3.4s ease-in-out infinite; }
.creator-xianggui-toggle { position:absolute; z-index:2; top:-7px; left:50%; display:none!important; place-items:center; width:22px; height:22px; min-height:0!important; padding:0!important; border:1px solid rgba(23,111,98,.3)!important; border-radius:50%!important; color:var(--content-teal)!important; background:rgba(255,255,255,.95)!important; font-size:15px!important; line-height:1!important; translate:-50% 0; }
.creator-xianggui-shell[data-xianggui-mode="idle"][data-xianggui-edge="left"] .creator-xianggui-toggle,.creator-xianggui-shell[data-xianggui-mode="idle"][data-xianggui-edge="right"] .creator-xianggui-toggle { display:grid!important; }
.creator-xianggui-bubble { position:absolute; right:calc(100% - 20px); bottom:72%; width:max-content; max-width:220px; margin:0; padding:8px 10px; border:1px solid rgba(23,111,98,.15); border-radius:11px 11px 3px 11px; color:#36564d; background:rgba(255,255,255,.96); box-shadow:0 8px 22px rgba(24,53,44,.14); font-size:10px; font-weight:700; line-height:1.45; opacity:0; transform:translateY(5px); pointer-events:none; transition:opacity .16s ease,transform .16s ease; }
.creator-xianggui-shell[data-xianggui-mode="selected"] .creator-xianggui-bubble { opacity:1; transform:translateY(0); }
.creator-xianggui-shell[data-xianggui-edge="left"] .creator-xianggui-bubble { right:auto; left:calc(100% - 20px); border-radius:11px 11px 11px 3px; direction:ltr; text-align:left; unicode-bidi:isolate; }
.creator-xianggui-panel { position:fixed; z-index:120; right:18px; bottom:84px; display:grid; grid-template-rows:auto minmax(150px,1fr) auto auto auto; width:min(390px,calc(100vw - 36px)); height:min(480px,calc(100dvh - 190px)); overflow:hidden; border:1px solid #d7e3db; border-radius:20px; color:var(--content-ink); background:rgba(252,253,250,.98); box-shadow:0 22px 65px rgba(20,53,44,.24); }
.creator-xianggui-panel[hidden],.studio-embedded .creator-xianggui-panel { display:none!important; }
.creator-xianggui-panel>header { display:grid; grid-template-columns:56px minmax(0,1fr) auto; align-items:center; gap:10px; padding:14px 16px; border-bottom:1px solid #e1e8e2; background:#f5f9f5; }
.creator-xianggui-panel>header img { width:56px; height:56px; object-fit:contain; }
.creator-xianggui-panel>header span,.creator-xianggui-panel>header strong { display:block; }
.creator-xianggui-panel>header span { color:#a17d32; font-size:11px; }
.creator-xianggui-panel>header strong { margin-top:3px; font-size:14px; }
.creator-xianggui-panel>header button { width:34px; height:34px; min-height:0; padding:0; border-radius:50%; color:var(--content-teal); background:#eaf2ed; font-size:20px; }
.creator-xianggui-message-window { position:relative; min-height:0; overflow:hidden; }
.creator-xianggui-messages { display:flex; flex-direction:column; gap:10px; height:100%; min-height:0; overflow:auto; padding:16px; }
.creator-xianggui-latest { position:absolute; z-index:2; left:50%; bottom:10px; translate:-50% 0; display:grid!important; place-items:center; width:32px; min-width:32px!important; height:32px; min-height:32px!important; padding:0!important; border:1px solid rgba(23,111,98,.2)!important; border-radius:50%!important; color:#fff!important; background:var(--content-teal)!important; box-shadow:0 6px 18px rgba(20,55,44,.24); font-size:17px!important; line-height:1; }
.creator-xianggui-latest[hidden] { display:none!important; }
.creator-xianggui-latest:not([data-unread="0"])::after { content:attr(data-unread); position:absolute; top:-6px; right:-8px; display:grid; place-items:center; min-width:17px; height:17px; padding:0 4px; border:2px solid #fff; border-radius:999px; color:#fff; background:#b68a30; box-sizing:border-box; font-size:8px; font-weight:800; line-height:1; }
.creator-xianggui-message { max-width:88%; margin:0; padding:10px 12px; border-radius:14px 14px 14px 4px; background:#edf4ef; font-size:12px; line-height:1.65; white-space:pre-wrap; }
.creator-xianggui-message.is-user { align-self:flex-end; border-radius:14px 14px 4px 14px; color:white; background:var(--content-teal); }
.creator-xianggui-message.is-warning { color:#824b24; background:#fff2d9; }
.creator-xianggui-shortcuts { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:7px; min-width:0; padding:0 14px 10px; }
.creator-xianggui-shortcuts button { width:100%; min-width:0; padding:8px 7px; border:1px solid #d6e2da; color:var(--content-teal); background:#f1f6f2; font-size:11px; white-space:nowrap; }
#creator-xianggui-form { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:8px; padding:12px 14px; border-top:1px solid #e1e8e2; }
#creator-xianggui-form textarea { min-height:56px; margin:0; padding:10px 11px; resize:none; font-size:13px; line-height:1.5; }
#creator-xianggui-form button { align-self:center; min-width:58px; min-height:42px; padding:0 14px; font-size:12px; }
.creator-xianggui-disclaimer { margin:0; padding:0 14px 12px; color:var(--content-muted); font-size:10px; line-height:1.5; }
@keyframes creator-xianggui-idle { 0%,100%{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-5px) rotate(1deg)} }
@media(max-width:700px){
  .creator-xianggui-shell { right:0; bottom:76px; width:90px; height:90px; }
  .creator-xianggui-shell[data-xianggui-mode="idle"] { right:max(8px, env(safe-area-inset-right, 0px)); width:94px; height:113px; }
  .creator-xianggui-shell[data-xianggui-mode^="transition"] { right:0; width:101px; height:101px; }
  .creator-xianggui-shell[data-xianggui-mode="dragging"] { width:119px; height:119px; }
  .creator-xianggui-shell[data-xianggui-mode="idle"] .creator-xianggui-launcher img { width:94px; height:94px; }
  .creator-xianggui-panel { left:8px; right:8px; bottom:64px; width:auto; height:min(58dvh,480px); border-radius:18px; }
  .creator-xianggui-shortcuts { gap:5px; padding-inline:10px; }
  .creator-xianggui-shortcuts button { padding-inline:4px; font-size:10px; }
  #creator-xianggui-form { gap:6px; padding:8px 10px 10px; }
  #creator-xianggui-form textarea { height:42px; min-height:42px; max-height:42px; padding:6px 8px; overflow:auto; font-size:16px; line-height:1.25; }
  #creator-xianggui-form textarea::placeholder { font-size:13px; }
  #creator-xianggui-form button { min-width:48px; width:auto; height:42px; min-height:42px; align-self:start; padding:0 9px; font-size:10px; }
}
@media(prefers-reduced-motion:reduce){.creator-xianggui-shell,.creator-xianggui-launcher img,.creator-xianggui-bubble{animation:none;transition:none}}
.studio-footer { margin-top:32px; }
.studio-back-to-top { position:fixed; z-index:20; right:max(14px, env(safe-area-inset-right, 0px)); bottom:28px; display:grid; place-items:center; width:44px; height:44px; padding:0!important; border-radius:50%!important; box-shadow:0 10px 28px rgba(21,60,53,.2); font-size:21px!important; }
.studio-back-to-top[hidden],.studio-embedded .studio-back-to-top { display:none!important; }
.studio-back-to-top:focus-visible { outline:2px solid #69a799; outline-offset:3px; }
#studio-message { min-height:24px; line-height:1.6; color:var(--content-teal); }
#studio-message:empty { display:none; }
#studio-message.is-error,#review-error { color:#b04733; }
.studio-page button:disabled,.studio-page fieldset:disabled { opacity:.6; cursor:not-allowed; }
.route-workspace { margin-top:0; }
.route-builder { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:18px; margin:18px 0; }
.route-builder>section { min-width:0; padding:14px; border:1px solid #e0e8e1; border-radius:14px; background:#f9fbf8; }
.route-builder h3 { margin-top:0; }
.route-topology-control { margin:0 0 16px!important; padding-bottom:14px; border-bottom:1px solid #e0e8e1; }
.route-preview-card { grid-column:1 / -1; }
.route-preview-heading { display:flex; align-items:baseline; justify-content:space-between; gap:12px; }
.route-preview-heading h3 { margin-bottom:8px; }
.route-preview-heading span { color:var(--content-muted); font-size:11px; }
.route-preview-map { display:block; width:100%; height:clamp(190px,28vw,280px); border:1px solid #dce8df; border-radius:14px; background:linear-gradient(145deg,#f4f8f4,#edf5f1); }
.route-preview-grid { stroke:#dce9e2; stroke-width:1; stroke-dasharray:3 9; }
.route-preview-water { fill:none; stroke:#d1e8e7; stroke-width:24; stroke-linecap:round; opacity:.72; }
.route-preview-water-line { fill:none; stroke:#acd3d3; stroke-width:2; stroke-linecap:round; opacity:.8; }
.route-preview-path { fill:none; stroke:#16806e; stroke-width:5; stroke-linecap:round; stroke-linejoin:round; }
.route-preview-path.is-loop { stroke:#b68a30; }
.route-preview-service { fill:none; stroke:#2d7f91; stroke-width:8; stroke-linecap:round; stroke-linejoin:round; }
.route-preview-pin circle { fill:#fff; stroke:#16806e; stroke-width:4; }
.route-preview-pin.is-loop circle { stroke:#b68a30; }
.route-preview-pin text { fill:#143f35; font-size:12px; font-weight:750; text-anchor:middle; dominant-baseline:central; }
.route-preview-endpoint circle { fill:#e7f3f5; stroke:#2d7f91; stroke-width:3; }
.route-preview-endpoint text { fill:#245f6c; font-size:8px; font-weight:800; text-anchor:middle; dominant-baseline:central; }
.route-preview-empty { fill:#80938b; font-size:14px; text-anchor:middle; }
.route-place-catalogue { display:grid; gap:7px; max-height:330px; overflow:auto; padding-right:4px; }
.studio-page .route-place-option { width:100%; padding:10px 12px; border:1px solid #dce8df; color:var(--content-teal); background:white; text-align:left; }
.studio-page .route-place-option:hover:not(:disabled) { color:white; background:var(--content-teal); }
.route-author-stops { display:grid; gap:7px; margin:0; padding:0; list-style:none; }
.route-author-stops li { display:grid; grid-template-columns:14px 28px minmax(0,1fr) auto; align-items:center; gap:8px; min-height:48px; padding:8px; border:1px solid #dce8df; border-radius:11px; background:white; transition:border-color .16s,box-shadow .16s,opacity .16s,transform .16s; }
.route-author-stops li[draggable="true"] { cursor:grab; }
.route-author-stops li.is-dragging { opacity:.45; cursor:grabbing; }
.route-author-stops li.is-drop-target { border-color:#69a799; box-shadow:0 0 0 2px #69a79933; transform:translateY(-1px); }
.route-author-drag { color:#91a49d; font-size:13px; letter-spacing:-4px; user-select:none; }
.route-author-stops li>div:not(.route-author-actions) { display:grid; min-width:0; }
.route-author-stops strong,.route-author-stops small { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.route-author-stops small { color:var(--content-muted); font-size:11px; }
.route-author-index { display:grid; place-items:center; width:26px; height:26px; border-radius:50%; color:white; background:#b68a30; font-size:11px; font-weight:700; }
.route-author-actions { display:flex; gap:4px; }
.studio-page .route-author-actions button { min-width:28px; min-height:28px; padding:0; border-radius:8px; color:var(--content-teal); background:#edf3ed; }
.route-author-empty { display:block!important; color:var(--content-muted); text-align:center; }
.route-author-return { color:#896422; border-color:#eadbb5!important; background:#fffaf0!important; }
.route-author-index.is-return { color:#b68a30; border:1px solid #d9bd7d; background:white; font-size:15px; }
.is-saving .studio-main button,
.is-saving .content-dialog button { pointer-events:none; opacity:.65; }
.content-dialog { border:1px solid #dbe5dc; border-radius:20px; padding:30px; max-width:560px; width:calc(100% - 32px); max-height:85vh; overflow:auto; color:var(--content-ink); background:white; box-shadow:0 20px 100px #153c352a; font-family:system-ui,"Microsoft YaHei",sans-serif; }
.content-dialog::backdrop { background:#18362d52; }
.content-dialog .dialog-close { float:right; padding:3px 12px; font-size:26px; background:#edf3ed; color:var(--content-teal); }
.content-dialog p { white-space:pre-wrap; overflow-wrap:anywhere; line-height:1.75; font-size:14px; }
.place-detail-dialog[open] { display:flex;flex-direction:column;max-height:min(85dvh,760px);overflow:hidden;padding-bottom:0; }
.place-detail-content { flex:1 1 auto;min-height:0;overflow-y:auto;padding-right:4px;overscroll-behavior:contain; }
.place-detail-actions { position:relative;z-index:1;flex:0 0 auto;justify-content:flex-end;margin:0 -30px;padding:14px 30px 20px;border-top:1px solid #e2eae4;background:#fff; }
.content-report-dialog { width:min(520px,calc(100% - 32px)); }
.content-report-dialog h2 { margin-bottom:8px; }
.content-report-actions { justify-content:flex-end; }
.content-report-status { min-height:0;margin:8px 0;color:var(--content-muted); }
.content-report-status a { display:inline-block;margin-left:6px;font-weight:800; }
.password-required-dialog{max-width:520px}.password-required-dialog form{display:grid;gap:2px}.password-required-dialog .field-error{min-height:20px;margin:2px 0;color:#a33f2d}.password-required-dialog .eyebrow{margin:0 0 7px;color:#a17d32;font-size:12px;letter-spacing:2px}
.place-detail-eyebrow { margin:2px 0 7px!important; color:#a8781c; font-weight:700; font-size:12px!important; }
.place-detail-kind { margin:-12px 0 16px; color:var(--content-muted); }
.place-recommendation-summary { margin-top:24px; border-top:1px solid #e1e8e2; padding-top:20px; }
.place-recommendation-summary>strong { font-size:17px; }
.recommendation-window { margin:12px 0 8px; min-height:130px; overflow:hidden; border-radius:14px; background:#f5f8f5; }
.recommendation-slide { min-height:130px; padding:16px 18px; transform:translateY(10px); opacity:0; transition:transform .38s ease,opacity .38s ease; }
.recommendation-slide.is-entering { transform:translateY(0); opacity:1; }
.recommendation-byline { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.recommendation-byline a { font-weight:700; text-decoration:none; }
.recommendation-byline small { color:var(--content-muted); }
.creator-profile-link,.recommend-place-link { display:inline-block; margin:6px 14px 0 0; font-size:13px; font-weight:700; }
.creator-main { max-width:980px; margin:0 auto; padding:52px 28px 80px; }
.creator-hero { display:flex; align-items:center; gap:22px; }
.creator-hero h1 { margin:4px 0 8px; font-size:32px; }
.creator-avatar { display:grid; place-items:center; width:72px; height:72px; flex:0 0 72px; border-radius:50%; background:var(--content-teal); color:white; font-size:25px; font-weight:800; }
.creator-avatar.has-image { background-position:center; background-size:cover; color:transparent; }
.creator-recommendations { margin-top:38px; }
.creator-recommendations>h2 { font-size:22px; }
#creator-list { display:grid; gap:18px; }
.creator-recommendation-card { padding:24px; border:1px solid #dfe7df; border-radius:18px; background:white; box-shadow:0 12px 36px #254f4312; }
.creator-recommendation-heading { display:flex; align-items:center; justify-content:space-between; gap:16px; }
.creator-recommendation-heading h3 { margin:0; color:var(--content-ink); font-size:19px; }
.creator-recommendation-card h4 { margin:18px 0 6px; }
.creator-recommendation-card p { white-space:pre-wrap; line-height:1.75; overflow-wrap:anywhere; }
@media (prefers-reduced-motion:reduce) {.recommendation-slide { transition:none; transform:none; opacity:1; }}
@media (max-width:600px) {
  .place-photo-lightbox figure { padding:58px 12px 86px; }
  .place-photo-lightbox img { max-height:calc(100dvh - 144px); }
  .place-photo-lightbox-step { top:auto;bottom:max(18px,env(safe-area-inset-bottom,0px));translate:0; }
  .creator-main { padding:28px 16px 60px; }
  .creator-hero { align-items:flex-start; padding:20px; }
  .creator-avatar { width:54px; height:54px; flex-basis:54px; font-size:19px; }
  .creator-hero h1 { font-size:25px; }
  .creator-recommendation-heading { align-items:flex-start; flex-direction:column; }
}
#review-detail>a { display:block; margin:12px 0; }
.city-content-tools { position:relative;display:flex;align-items:center;gap:4px;flex:0 0 138px;width:138px;height:36px;box-sizing:border-box;padding:0 7px;border:1px solid #e3e9e1;background:#f5f8f5;border-radius:13px; }
.city-content-tools svg { width:14px;height:14px;flex-shrink:0;fill:none;stroke:#6a8377;stroke-width:1.5; }
.city-content-tools input { width:100%;min-width:0;border:0;outline:0;background:transparent;padding:0;font:inherit;font-size:10px;line-height:1.2;color:#183c35;appearance:none;-webkit-appearance:none; }
.city-content-tools input::placeholder { font-size:10px; }
.city-content-tools input::-webkit-search-decoration,
.city-content-tools input::-webkit-search-cancel-button,
.city-content-tools input::-webkit-search-results-button,
.city-content-tools input::-webkit-search-results-decoration { display:none; }
.city-content-tools input:focus-visible { outline:2px solid #78b2a3; border-radius:8px; }
.city-content-tools button { padding:8px 12px; white-space:nowrap; }
.city-search-results { position:absolute;z-index:650;top:44px;right:12px;width:min(340px,calc(100% - 24px));max-height:240px;overflow:auto;padding:8px;background:white;border:1px solid #dce5dc;border-radius:12px;box-shadow:0 12px 28px #153c3520; }
.city-search-results[hidden] { display:none; }
.city-search-results button { display:block; width:100%; text-align:left; margin:3px 0; padding:10px;border:0;border-radius:8px;color:#183c35; background:#f1f6ef;cursor:pointer; }
.city-search-result strong,.city-search-result small { display:block; }
.city-search-result small { margin-top:3px;color:#71847b;font-size:11px;font-weight:400; }
.city-search-group-title { margin:4px 6px!important;padding:4px 2px!important;color:#8a6b2e!important;font-size:11px!important;font-weight:750;letter-spacing:.08em; }
.city-search-results p { padding:8px; font-size:13px; color:#617669; }
.city-pick-bar { position:absolute; z-index:660; bottom:45px; left:18px; right:18px; background:#fffbea; border:1px solid #d9c68d; border-radius:14px; padding:14px; display:flex; align-items:center; gap:12px; flex-wrap:wrap; font-size:13px; }
.city-pick-bar[hidden] { display:none; }
.is-city-explorer .city-pick-bar { left:12px;right:12px;bottom:32px;padding:10px;gap:8px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));font-size:12px; }
.is-city-explorer .city-pick-bar[hidden] { display:none; }
.city-pick-bar>span { grid-column:1 / -1; }
.is-city-explorer .city-pick-bar button { min-width:0;padding:8px 10px;white-space:nowrap; }
.city-pick-address-form { flex:1 0 100%; display:grid; gap:6px; }
.city-pick-address-form label { font-weight:750; color:#24483f; }
.city-pick-address-row { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:8px; }
.city-pick-address-row input { min-width:0; border:1px solid #bfd1ca; border-radius:10px; padding:10px 12px; background:#fff; color:#183b33; font:inherit; }
.city-pick-address-row input:focus { outline:2px solid rgba(23,111,98,.25); border-color:#176f62; }
.city-pick-address-status { color:#6d7f78; line-height:1.5; }
.city-address-results { max-height:210px;overflow:auto;padding:7px;border:1px solid #dce5dc;border-radius:10px;background:white;box-shadow:0 8px 22px #153c3517; }
.city-address-results[hidden] { display:none; }
.city-address-results button { display:block;width:100%;margin:3px 0;padding:9px 10px!important;border-radius:8px!important;color:#183c35!important;background:#f1f6ef!important;text-align:left; }
.city-address-results>p:not(.city-search-group-title) { margin:4px;padding:7px;color:#617669;font-size:12px; }
.city-pick-bar button:disabled { opacity:.46; cursor:not-allowed; }
.is-city-explorer .city-pick-address-form { grid-column:1 / -1; }
.is-city-explorer .city-pick-address-row { grid-template-columns:minmax(0,1fr) auto; }
.city-poi.is-search-hidden,.city-route-stop.is-search-hidden,.city-service-endpoint.is-search-hidden { display:none!important; }
.city-poi-popup button { border:0; color:#176f62; background:#edf3ed; border-radius:7px; padding:6px 10px; cursor:pointer; }
.city-content-notice { font-size:11px; color:#8b6e37; flex-basis:100%; }
@media(max-width:700px) {
  input,textarea,select { font-size:16px!important; }
  .map-editor-dialog[open] { position:fixed; inset:calc(var(--editor-viewport-top, 0px) + 6px) 6px auto; width:calc(100vw - 12px); height:calc(var(--editor-viewport-height, 100dvh) - 12px); max-height:none; margin:0 auto; }
  .studio-main { margin:28px auto; padding:0 16px; }
  .studio-columns { grid-template-columns:1fr; gap:0; }
  .submission-grid { grid-template-columns:1fr;gap:0; }
  .studio-workspace-tabs { align-items:stretch; }
  .studio-workspace-tabs>button,.studio-workspace-tabs>.studio-return-link { flex:1 1 calc(50% - 8px);justify-content:center;text-align:center; }
  .route-builder { grid-template-columns:1fr; }
  .studio-card { padding:18px; }
  .form-row { grid-template-columns:1fr; gap:0; }
  .tag-editor { grid-template-columns:1fr; gap:10px; }
  .studio-header { padding:18px 16px; font-size:13px; }
  .studio-columns>aside { max-height:none; overflow:visible; }
  .is-city-explorer .city-category-bar { gap:4px;padding:3px 4px; }
  .city-content-tools { flex-basis:126px;width:126px;height:32px;padding:0 6px; }
  .city-content-tools input { font-size:16px!important; }
  .city-content-tools input::placeholder { font-size:9px; }
  .page-shell { padding-top:var(--site-header-height,78px); }
  .topbar { position:fixed;inset:0 0 auto;z-index:900;height:78px; }
  .topbar:has(.header-add-place) { padding-inline:14px;display:grid;grid-template-columns:1fr auto;grid-template-rows:44px 26px;gap:0;align-content:center; }
  .topbar:has(.header-add-place) .top-actions { gap:8px; }
  .topbar:has(.header-add-place)>nav { grid-row:2;grid-column:1 / -1;justify-content:center;gap:24px; }
  .topbar:has(.header-add-place)>nav a { font-size:10px; }
  .topbar:has(.header-add-place)>nav a::after { bottom:-4px; }
  .header-add-place { padding:7px 9px;font-size:11px; }
  .studio-back-to-top { right:max(12px, env(safe-area-inset-right, 0px));bottom:16px;width:40px;height:40px; }
  .studio-main > #auth-section { margin-top:12px; }
}
.place-verification-summary{display:grid;gap:7px;padding:14px;margin-top:18px;border:1px solid #dce7df;border-radius:14px;background:#f4f8f4;color:#254d43}.place-verification-summary>small{color:#6e827c}.place-verification-summary>p{margin:0;line-height:1.6;overflow-wrap:anywhere}.place-verification-summary[data-state="changed"],.place-verification-summary[data-state="expired"],.place-verification-summary[data-state="issue"]{border-color:#e3cf9e;background:#fffaf0}
.route-favorite-slot{display:contents}.favorite-status{font-size:12px;color:#a33f2d}
.favorite-star.favorite-toggle{display:inline-grid;place-items:center;width:32px;height:32px;min-width:32px;min-height:32px;padding:5px;border:0;border-radius:50%;background:#f4f8f4;color:#647e74;cursor:pointer;box-shadow:none;touch-action:manipulation;-webkit-tap-highlight-color:transparent}
.favorite-star svg{display:block;width:22px;height:22px;overflow:visible;pointer-events:none}.favorite-star path{fill:none;stroke:currentColor;stroke-width:1.8;stroke-linejoin:round}.favorite-star[aria-pressed="true"]{color:#bb8a22;background:#fff5dc}.favorite-star[aria-pressed="true"] path{fill:currentColor}.favorite-star:focus-visible{outline:2px solid #176f62;outline-offset:2px}.favorite-star:disabled{opacity:.55;cursor:wait}
.city-route-card.has-favorite .route-card-kicker,.city-route-card.has-favorite>strong{padding-right:30px}.city-route-card>.route-favorite-slot>.favorite-star{position:absolute;top:7px;right:7px}
.city-poi-popup .leaflet-popup-content>div.has-favorite{position:relative;min-height:32px}.city-poi-popup .has-favorite>strong{display:block;padding-right:35px}.city-live-map .city-poi-popup .has-favorite>.favorite-star{position:absolute;top:0;right:0;padding:5px;border-radius:50%;background:#f4f8f4;color:#647e74}.city-live-map .city-poi-popup .has-favorite>.favorite-star[aria-pressed="true"]{color:#bb8a22;background:#fff5dc}.favorite-star+.favorite-status{position:absolute;z-index:5;top:42px;right:7px;max-width:200px;padding:7px;background:#fff;border:1px solid #ecd4cb;border-radius:8px}.place-detail-actions>.favorite-toggle[aria-pressed="true"]{color:#176f62;border-color:#176f62;background:#e2f2e9}
.trip-feedback-dialog{width:min(94vw,620px);max-width:620px;padding:0;border:1px solid #dbe5df;border-radius:22px;background:#fff;color:#153b34;overflow:hidden}.trip-feedback-dialog::backdrop{background:rgba(20,48,42,.4)}.trip-feedback-dialog form{display:flex;flex-direction:column;max-height:86vh;max-height:86dvh}.trip-feedback-content{padding:24px;overflow-y:auto;overscroll-behavior:contain;min-height:0}.trip-feedback-dialog h2{margin:0 0 12px;font-size:22px}.trip-feedback-note{color:#6e827c;font-size:13px;line-height:1.7}.trip-feedback-content>label{display:grid;gap:8px;margin-top:16px;font-size:14px}.trip-feedback-dialog select,.trip-feedback-dialog textarea{width:100%;min-width:0;padding:10px 12px;border:1px solid #dbe5df;border-radius:12px;background:#fff;color:inherit;font:inherit;font-size:16px}.trip-feedback-dialog textarea{resize:vertical}.trip-feedback-reasons{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:16px 0;padding:14px;border:1px solid #dbe5df;border-radius:12px;font-size:13px}.trip-feedback-reasons label{display:flex;flex-direction:row;gap:8px;align-items:center;margin:0}.trip-feedback-reasons input{flex:none;width:18px;height:18px;min-height:18px;padding:0;margin:0}.trip-feedback-result{min-height:22px;font-size:13px;line-height:1.7;overflow-wrap:anywhere}.trip-feedback-actions{display:flex;flex-shrink:0;justify-content:flex-end;flex-wrap:wrap;gap:10px;padding:16px 24px;border-top:1px solid #dbe5df;background:#fff}.trip-feedback-actions button{padding:10px 16px;border:1px solid #167b6d;border-radius:12px;background:#167b6d;color:#fff;font:inherit;font-size:14px;cursor:pointer}.trip-feedback-actions .secondary{color:#167b6d;background:#edf4ef}.trip-feedback-actions button:disabled{opacity:.55;cursor:wait}@media(max-width:560px){.trip-feedback-content{padding:18px}.trip-feedback-actions{padding:12px 18px}.trip-feedback-reasons{grid-template-columns:1fr}}
