.memory-module-loading{--text-primary: #f7f4ee;position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:flex;align-items:center;justify-content:center;gap:20px;background:#35423b;color:#f7f4ee}.memory-module-cancel{padding:10px 16px;color:inherit;background:transparent;border:1px solid #777;border-radius:10px}:root{--radius-lg: 16px;--radius-md: 12px;--radius-sm: 8px;--radius-full: 999px;--sp-half: 4px;--sp-1: 8px;--sp-2: 12px;--sp-3: 16px;--sp-4: 24px;--sp-5: 32px;--ease: cubic-bezier(.2, 0, 0, 1);--dur-fast: .14s;--dur: .18s;--dur-slow: .24s;--dur-spinner: .9s;--text-xs: .75rem;--text-sm: .8125rem;--text-md: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.5rem;--text-2xl: 1.75rem;--weight-semibold: 600;--control-h: 44px;--control-h-sm: 36px;--z-panel: 10;--z-toolbar: 20;--z-card: 30;--z-popover: 40;--z-fullscreen: 45;--z-fullscreen-popover: 47;--z-modal: 50;--z-modal-popover: 55;--z-toast: 60;--scrim: rgba(4, 8, 16, .55);--toolbar-h: 60px;--desktop-overlay-width: min(1120px, calc(100vw - 32px) );--desktop-overlay-edge: max(var(--sp-3), calc((100vw - var(--desktop-overlay-width)) / 2));--desktop-location-clearance: calc(var(--sp-4) + 46px + var(--sp-2));--panel-top: calc(var(--sp-3) + var(--toolbar-h) + var(--sp-3));--map-empty-padding-block-start: calc(var(--toolbar-h) + var(--sp-5) + var(--sp-half));--map-empty-padding-block-end: calc(var(--sp-4) + var(--sp-4));--mobile-edge: 10px;--mobile-toolbar-h: 64px;--mobile-toolbar-bottom: calc(env(safe-area-inset-bottom, 0px) + var(--mobile-edge));--mobile-panel-gap: var(--sp-1);--mobile-panel-bottom: calc(var(--mobile-toolbar-bottom) + var(--mobile-toolbar-h) + var(--mobile-panel-gap));font-family:PingFang SC,HarmonyOS Sans SC,Noto Sans SC,Microsoft YaHei,ui-sans-serif,system-ui,-apple-system,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color-scheme:dark;--canvas: #0b1220;--surface: #141c2e;--surface-muted: rgba(255, 255, 255, .05);--surface-raised: rgba(255, 255, 255, .08);--surface-soft: var(--surface-muted);--text-primary: #edf1f7;--text-secondary: #9aa7bd;--text-tertiary: #7a879e;--text-placeholder: var(--text-tertiary);--text-muted-info: var(--text-secondary);--border-subtle: rgba(255, 255, 255, .1);--border-strong: rgba(255, 255, 255, .18);--brand: #6395f3;--brand-strong: #7ca5f5;--accent: var(--brand);--accent-strong: var(--brand-strong);--brand-soft: rgba(91, 141, 239, .16);--brand-contrast: #0b1220;--focus-ring: rgba(91, 141, 239, .4);--ui-brand: #f47c73;--ui-brand-strong: #e96860;--ui-brand-soft: rgba(244, 124, 115, .16);--ui-brand-contrast: #2b1518;--ui-focus-ring: rgba(244, 124, 115, .4);--ui-selected-bg: rgba(244, 124, 115, .16);--ui-selected-border: #f1aaa3;--ui-selected-text: #f47c73;--map-marker-accent: #2460e4;--accent-teal: #3ec9a7;--accent-teal-soft: rgba(62, 201, 167, .16);--accent-amber: #e8a33d;--accent-amber-soft: rgba(232, 163, 61, .16);--accent-violet: #9d8cff;--accent-violet-soft: rgba(157, 140, 255, .16);--accent-rose: #e5698a;--accent-rose-soft: rgba(229, 105, 138, .16);--feedback-error: var(--accent-rose);--map-marker-neutral-soft: color-mix(in srgb, var(--text-tertiary) 28%, transparent);--media-canvas: #0b1220;--overlay-on-media: rgba(9, 14, 26, .72);--overlay-on-media-strong: rgba(9, 14, 26, .86);--glass-bg: rgba(16, 23, 38, .82);--glass-bg-heavy: rgba(16, 23, 38, .92);--glass-border: rgba(255, 255, 255, .1);--glass-highlight: inset 0 1px 0 rgba(255, 255, 255, .08);--glass-blur: none;--glass-blur-soft: none;--panel-bg: rgba(19, 26, 41, .92);--mobile-nav-bg: rgba(19, 26, 41, .94);--shadow-soft: 0 4px 12px rgba(2, 8, 20, .22);--shadow-panel: 0 24px 60px rgba(2, 8, 20, .5);--shadow-control: 0 8px 24px rgba(2, 8, 20, .35);--shadow-md: var(--shadow-control);--shadow-lg: var(--shadow-panel);--map-surface-line: rgba(255, 255, 255, .035);--map-surface-fill: linear-gradient(135deg, #0b1220 0%, #101a2e 55%, #0d1526 100%);color:var(--text-primary);background:var(--canvas)}:root[data-theme=light]{color-scheme:light;--canvas: #f4f6fa;--surface: #ffffff;--surface-muted: rgba(15, 23, 42, .04);--surface-raised: rgba(15, 23, 42, .07);--text-primary: #111827;--text-secondary: #5b6472;--text-tertiary: #667284;--border-subtle: rgba(15, 23, 42, .08);--border-strong: rgba(15, 23, 42, .16);--brand: #2460e4;--brand-strong: #1d4ed8;--brand-soft: rgba(36, 96, 228, .1);--brand-contrast: #ffffff;--focus-ring: rgba(36, 96, 228, .28);--ui-brand: #d9655d;--ui-brand-strong: #c04f48;--ui-brand-soft: rgba(217, 101, 93, .12);--ui-brand-contrast: #ffffff;--ui-focus-ring: rgba(201, 87, 80, .28);--ui-selected-bg: #fff0ed;--ui-selected-border: #f1aaa3;--ui-selected-text: #a95750;--map-marker-accent: #2460e4;--accent-teal: #0a715f;--accent-teal-soft: rgba(10, 119, 100, .12);--accent-amber: #ab4f09;--accent-amber-soft: rgba(171, 79, 9, .12);--accent-violet: #6a58ca;--accent-violet-soft: rgba(106, 88, 202, .12);--accent-rose: #be3455;--accent-rose-soft: rgba(190, 52, 85, .12);--glass-bg: rgba(255, 255, 255, .86);--glass-bg-heavy: rgba(255, 255, 255, .94);--glass-border: rgba(15, 23, 42, .1);--glass-highlight: inset 0 1px 0 rgba(255, 255, 255, .65);--panel-bg: rgba(255, 255, 255, .94);--mobile-nav-bg: rgba(255, 255, 255, .95);--shadow-panel: 0 18px 50px rgba(15, 23, 42, .14);--shadow-control: 0 6px 20px rgba(15, 23, 42, .1);--shadow-soft: 0 3px 10px rgba(15, 23, 42, .08);--map-surface-line: rgba(17, 24, 39, .04);--map-surface-fill: linear-gradient(135deg, #f8fafc 0%, #edf3f8 52%, #f6f3ec 100%);--scrim: rgba(15, 23, 42, .32)}*{box-sizing:border-box}body{margin:0;min-width:min(320px,100%);min-height:100vh;min-height:100dvh;background:var(--canvas);color:var(--text-primary);line-height:1.6;transition:background-color var(--dur) var(--ease)}::selection{background:var(--brand-soft)}h1,h2,h3{font-weight:700;letter-spacing:-.01em;line-height:1.3}button,input,select,textarea{font:inherit}.floating-toolbar,.address-suggestions,.toolbar-more-panel,.map-location-button,.map-search-message{-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur)}.place-drawer,.floating-card{-webkit-backdrop-filter:var(--glass-blur-soft);backdrop-filter:var(--glass-blur-soft)}button{display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-1);border:1px solid var(--border-strong);border-radius:var(--radius-md);background:var(--surface-muted);color:var(--text-primary);font-weight:500;cursor:pointer;min-height:var(--control-h);padding:0 var(--sp-3);white-space:nowrap;transition:background-color var(--dur) var(--ease),border-color var(--dur) var(--ease),color var(--dur) var(--ease),transform var(--dur) var(--ease),box-shadow var(--dur) var(--ease)}:root[data-theme=light] button{color:var(--text-primary)}:root[data-theme=light] .media-nav{color:#fff}button:hover{border-color:var(--border-strong);background:var(--surface-raised);box-shadow:none;transform:translateY(-1px)}button:active{transform:translateY(0)}button:focus-visible{outline:none;box-shadow:0 0 0 3px var(--focus-ring)}:where(a,summary):focus-visible{outline:2px solid var(--brand);outline-offset:3px}button:disabled{cursor:not-allowed;opacity:.55;transform:none;box-shadow:none}button[aria-busy=true]{animation:busy-pulse var(--dur-slow) var(--ease) 8 alternate}.secondary-button{border-color:var(--border-strong);background:transparent;color:var(--text-primary)}:root[data-theme=light] .secondary-button{color:var(--text-primary)}.secondary-button:hover{background:var(--surface-muted);border-color:var(--border-strong)}.primary-button{border-color:transparent;background:var(--brand);color:var(--brand-contrast);font-weight:600}:root[data-theme=light] .primary-button{color:#fff}.primary-button:hover{border-color:transparent;background:var(--brand-strong);box-shadow:var(--shadow-control)}.danger-button{border-color:transparent;background:var(--accent-rose);color:var(--brand-contrast)}.danger-button:hover{background:var(--accent-rose);filter:brightness(1.08)}.app-shell{position:relative;min-height:100vh;min-height:100dvh;overflow:hidden}.map-surface{min-height:100vh;min-height:100dvh;background:linear-gradient(var(--map-surface-line) 1px,transparent 1px),linear-gradient(90deg,var(--map-surface-line) 1px,transparent 1px),var(--map-surface-fill);background-size:48px 48px,48px 48px,100% 100%}.map-view,.amap-container{width:100%;min-height:100vh;min-height:100dvh}.map-view{position:relative}.map-loading-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-modal);display:grid;place-items:center;min-height:100vh;min-height:100dvh;pointer-events:auto;background:linear-gradient(var(--map-surface-line) 1px,transparent 1px),linear-gradient(90deg,var(--map-surface-line) 1px,transparent 1px),var(--map-surface-fill);background-size:48px 48px,48px 48px,100% 100%;opacity:1;padding:var(--sp-4)}.map-loading-overlay-hidden{visibility:hidden;pointer-events:none;opacity:0}.map-loading-content,.map-loading-error{color:var(--text-secondary);text-align:center}.map-loading-content{display:grid;justify-items:center;gap:var(--sp-2);font-size:var(--text-md)}.map-loading-error{pointer-events:auto;background:color-mix(in srgb,var(--canvas) 92%,transparent);align-content:center;gap:var(--sp-3);padding:var(--sp-4)}.map-loading-error p{margin:0}.app-error-boundary{display:grid;place-items:center;padding:var(--sp-4)}.app-error-content{width:100%;max-width:400px;overflow-wrap:anywhere}.app-error-content h1{margin:0;color:var(--text-primary);font-size:var(--text-lg)}.app-error-content p{margin:0}.amap-container{background:var(--canvas)}.amap-container .amap-logo,.amap-container .amap-copyright{display:none!important;opacity:0!important;visibility:hidden!important;pointer-events:none!important}.map-config-message{display:grid;min-height:100vh;min-height:100dvh;place-content:center;padding:var(--map-empty-padding-block-start) var(--sp-4) var(--map-empty-padding-block-end);color:var(--text-secondary);text-align:center}.map-search-message{position:absolute;top:var(--panel-top);left:50%;z-index:var(--z-toolbar);max-width:min(420px,calc(100vw - 32px));transform:translate(-50%);border:1px solid var(--feedback-error);border-radius:var(--radius-md);background:var(--glass-bg);color:var(--feedback-error);padding:var(--sp-2) var(--sp-3);box-shadow:var(--glass-highlight),var(--shadow-control);animation:panel-in var(--dur-fast) var(--ease)}.map-location-message{top:calc(var(--panel-top) + 50px);display:flex;align-items:flex-start;gap:var(--sp-2)}.map-location-message span{flex:1}.map-location-message button{display:inline-flex;flex:0 0 auto;width:28px;height:28px;align-items:center;justify-content:center;border:0;border-radius:50%;background:transparent;color:currentColor;cursor:pointer}.draft-map-marker{width:32px;height:38px;color:var(--map-marker-accent);transform-origin:50% 100%;animation:peach-pin-drop .45s var(--ease) both;filter:drop-shadow(0 0 1.5px rgba(255,255,255,.8)) drop-shadow(0 8px 16px rgba(2,8,20,.35))}.draft-map-marker-icon{display:block;width:100%;height:100%}.poi-map-marker{width:32px;height:38px;transform-origin:50% 100%;filter:drop-shadow(0 8px 16px rgba(2,8,20,.35));animation:peach-pin-drop .45s var(--ease) both}@keyframes peach-pin-drop{0%{opacity:0;transform:translateY(-14px) scale(.85)}55%{opacity:1;transform:translateY(0) scale(1.04,.94)}75%{transform:translateY(-3px) scale(.99,1.01)}to{opacity:1;transform:translateY(0) scale(1)}}.poi-map-marker.peach-celebrate .poi-map-marker-icon{transform-origin:50% 100%;animation:peach-pin-celebrate .55s var(--ease)}@keyframes peach-pin-celebrate{0%,to{transform:rotate(0)}25%{transform:rotate(-10deg)}55%{transform:rotate(8deg)}80%{transform:rotate(-4deg)}}.poi-map-marker-icon{display:block;width:100%;height:100%}.current-location-marker{position:relative;width:20px;height:20px;border:3px solid #ffffff;border-radius:var(--radius-full);background:var(--map-marker-accent);box-shadow:0 0 0 7px color-mix(in srgb,var(--map-marker-accent) 16%,transparent),0 10px 20px #02081459}.current-location-marker:after{position:absolute;top:-8px;right:-8px;bottom:-8px;left:-8px;display:block;border:1px solid var(--map-marker-accent);border-radius:var(--radius-full);content:"";animation:location-pulse 1.8s var(--ease) 3}.map-center-picker-marker{position:absolute;top:50%;left:50%;z-index:var(--z-card);display:grid;width:48px;height:48px;place-items:center;pointer-events:none;transform:translate(-50%,-50%);color:var(--map-marker-accent);filter:drop-shadow(0 8px 18px rgba(2,8,20,.28))}.map-center-picker-marker:before,.map-center-picker-marker:after{position:absolute;display:block;background:currentColor;content:""}.map-center-picker-marker:before{width:2px;height:48px}.map-center-picker-marker:after{width:48px;height:2px}.map-center-picker-pin{position:absolute;bottom:50%;left:50%;z-index:1;width:22px;height:26px;transform:translate(-50%)}.map-location-button{position:absolute;right:var(--sp-3);bottom:var(--sp-4);z-index:var(--z-toolbar);width:46px;min-width:46px;min-height:46px;border:1px solid var(--glass-border);border-radius:var(--radius-full);background:var(--glass-bg);color:var(--text-primary);padding:0;box-shadow:var(--glass-highlight),var(--shadow-control)}.map-location-button:hover{background:var(--glass-bg-heavy)}.map-location-spinner{transform-origin:center;animation:location-spin var(--dur-spinner) linear infinite}.map-marker-cluster{--cluster-neutral: #667284;--cluster-want: var(--map-marker-accent);--cluster-visited: var(--accent-teal);--cluster-color: var(--cluster-neutral);display:grid;width:42px;height:42px;place-items:center;border:3px solid #ffffff;border-radius:50%;background:var(--cluster-color);color:#fff;font-weight:800;box-shadow:0 0 0 4px color-mix(in srgb,var(--cluster-color) 16%,transparent),0 10px 22px #0208145c}.map-marker-cluster-want{--cluster-color: var(--cluster-want)}.map-marker-cluster-visited{--cluster-color: var(--cluster-visited);color:var(--brand-contrast)}.map-marker-cluster-count{display:grid;width:100%;height:100%;place-items:center;border-radius:50%}.map-marker-cluster-count-large{font-size:10px}.map-marker-cluster-mixed{--cluster-color: var(--text-secondary);padding:4px;background:var(--cluster-ring);color:var(--text-primary)}.map-marker-cluster-mixed .map-marker-cluster-count{background:var(--surface)}.map-viewport-message{display:flex;align-items:center;gap:var(--sp-2)}.map-inline-retry{display:inline-flex;flex:0 0 auto;min-height:32px;align-items:center;gap:var(--sp-1);border:0;background:transparent;color:currentColor;font-weight:700}.auth-retry-button{display:inline-flex;align-items:center;gap:var(--sp-1)}.map-marker-cluster.marker-selected{box-shadow:0 0 0 5px #ff8a7a4d,0 10px 22px #0208145c}.photo-map-marker{--marker-accent: var(--map-marker-accent);--marker-soft: color-mix(in srgb, var(--map-marker-accent) 18%, transparent);display:block;width:52px;height:52px;overflow:hidden;border:3px solid #ffffff;border-radius:var(--radius-full);background:var(--surface);box-shadow:0 0 0 3px var(--marker-accent),0 12px 26px #02081466}.photo-map-marker img{display:block;width:100%;height:100%;object-fit:cover}.pin-map-marker-hitbox{display:grid;width:44px;height:44px;place-items:center;transform:translate(-9px,-9px);cursor:pointer;-webkit-tap-highlight-color:transparent}.pin-map-marker{--marker-accent: var(--map-marker-accent);--marker-soft: color-mix(in srgb, var(--map-marker-accent) 18%, transparent);display:grid;width:26px;height:26px;place-items:center;border:3px solid #ffffff;border-radius:var(--radius-full);background:var(--marker-accent);box-shadow:0 0 0 3px var(--marker-soft),0 8px 18px #02081466}.photo-map-marker-visited,.pin-map-marker-visited{--marker-accent: var(--accent-teal);--marker-soft: var(--accent-teal-soft)}.photo-map-marker-neutral,.pin-map-marker-neutral{--marker-accent: var(--text-tertiary);--marker-soft: var(--map-marker-neutral-soft)}.pin-map-marker-dot{width:7px;height:7px;border-radius:var(--radius-full);background:#fff}.photo-map-marker,.pin-map-marker{transform-origin:center center;transition:transform var(--dur) var(--ease),box-shadow var(--dur) var(--ease)}.photo-map-marker.marker-highlight,.pin-map-marker.marker-highlight{box-shadow:0 0 0 4px var(--marker-accent),0 14px 30px #02081480}.photo-map-marker.marker-selected,.pin-map-marker.marker-selected{--marker-accent: #ff8a7a;--marker-soft: rgba(255, 138, 122, .18);transform:scale(1.16)}.photo-map-marker.marker-selected{border-color:var(--marker-accent);box-shadow:0 12px 26px #02081466}.pin-map-marker.marker-selected{background:var(--marker-accent);box-shadow:0 8px 18px #02081466}@media (max-width: 767px){.photo-map-marker.marker-selected,.pin-map-marker.marker-selected{transform:scale(1.08)}}.photo-map-marker.marker-pop,.pin-map-marker.marker-pop{animation:marker-pop var(--dur-slow) var(--ease)}.map-placeholder{display:grid;min-height:100vh;min-height:100dvh;place-content:center;padding:var(--map-empty-padding-block-start) var(--sp-4) var(--map-empty-padding-block-end);text-align:center}.map-placeholder h1{margin:0;color:var(--text-primary);font-size:clamp(2rem,6vw,4.5rem);font-weight:700;letter-spacing:-.02em}.map-placeholder p{margin:var(--sp-3) 0 0;color:var(--text-secondary);font-size:var(--text-base)}.floating-toolbar{position:absolute;top:var(--sp-3);left:50%;z-index:var(--z-toolbar);display:flex;width:var(--desktop-overlay-width);min-height:var(--toolbar-h);align-items:center;gap:var(--sp-1);transform:translate(-50%);border:1px solid var(--glass-border);border-radius:var(--radius-lg);background:var(--glass-bg);box-shadow:var(--glass-highlight),var(--shadow-panel);padding:var(--sp-1)}.toolbar-brand{display:inline-flex;align-items:center;gap:var(--sp-1);min-height:var(--control-h);border-right:1px solid var(--border-subtle);color:var(--text-primary);font-weight:700;letter-spacing:-.01em;padding:0 var(--sp-3) 0 var(--sp-half);white-space:nowrap}.toolbar-brand-wordmark{display:block;flex:0 0 auto}.toolbar-brand-mark{display:inline-flex;width:30px;height:30px;align-items:center;justify-content:center;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface-muted);color:var(--ui-brand)}:root[data-theme=light] .toolbar-brand-mark{color:var(--ui-brand)}.address-search-group{position:relative;min-width:0}.desktop-toolbar .address-search-group{display:grid;flex:1 1 420px;grid-template-columns:minmax(240px,1fr) auto;align-items:stretch;gap:var(--sp-1)}.address-search-group .toolbar-field{height:100%}.address-search-scope-field{display:inline-flex;align-items:center;min-height:var(--control-h);min-width:154px;gap:var(--sp-1);border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--surface-muted);color:var(--text-secondary);padding:0 var(--sp-2);white-space:nowrap}.address-search-scope-field span{font-size:var(--text-xs);font-weight:700}.address-search-scope-field select,.address-search-scope-field .select-field-bare{min-width:96px;color:var(--text-primary)}.toolbar-field{display:flex;align-items:center;min-width:0;min-height:var(--control-h);border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--surface-muted);color:var(--text-secondary);padding:0 var(--sp-2);transition:background-color var(--dur) var(--ease),border-color var(--dur) var(--ease),box-shadow var(--dur) var(--ease)}.floating-toolbar input,.floating-toolbar select{width:100%;min-width:0;min-height:calc(var(--control-h) - 2px);border:0;background:transparent;color:var(--text-primary);outline:none;padding:0 var(--sp-1)}.floating-toolbar input[type=checkbox]{width:18px;min-width:18px;min-height:18px;accent-color:var(--ui-selected-text);padding:0}.floating-toolbar select{-webkit-appearance:none;-moz-appearance:none;appearance:none}.floating-toolbar input::placeholder{color:var(--text-placeholder)}.toolbar-field:focus-within{border-color:var(--ui-brand);background:var(--surface-raised);box-shadow:0 0 0 3px var(--ui-focus-ring)}.address-suggestions{position:absolute;top:calc(100% + var(--sp-1));right:0;left:0;z-index:var(--z-popover);overflow:hidden;border:1px solid var(--glass-border);border-radius:var(--radius-lg);background:var(--glass-bg-heavy);box-shadow:var(--glass-highlight),var(--shadow-panel);animation:panel-in var(--dur-fast) var(--ease)}.address-suggestion{display:grid;width:100%;min-height:48px;grid-template-columns:22px minmax(0,1fr);align-items:center;gap:var(--sp-1);border:0;border-radius:0;background:transparent;color:var(--text-primary);font-weight:400;padding:var(--sp-1) var(--sp-2);text-align:left;white-space:normal}.address-suggestion+.address-suggestion{border-top:1px solid var(--border-subtle)}.address-search-feedback{display:grid;gap:var(--sp-2);border-top:1px solid var(--border-subtle);color:var(--text-secondary);padding:var(--sp-2)}.address-search-feedback p{margin:0}.address-search-feedback-error{color:var(--feedback-error)}.address-search-feedback-actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-1);font-size:var(--text-sm)}.address-search-feedback-actions button{border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface-raised);color:var(--brand);padding:var(--sp-1) var(--sp-2)}.address-suggestion svg{color:var(--text-tertiary)}.address-suggestion:hover{background:var(--surface-muted);box-shadow:none;transform:none}.address-suggestion-copy{display:grid;min-width:0;gap:var(--sp-half)}.address-suggestion-copy strong,.address-suggestion-copy span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.address-suggestion-copy strong{color:var(--text-primary);font-size:var(--text-md);font-weight:600}.address-suggestion-copy span{color:var(--text-secondary);font-size:var(--text-sm)}.toolbar-button,.icon-button,.theme-toggle-button{min-height:var(--control-h);min-width:var(--control-h);padding:0 var(--sp-2);border-color:var(--border-subtle);background:var(--surface-muted);color:var(--text-primary);font-weight:500}.toolbar-button:hover,.icon-button:hover,.theme-toggle-button:hover{background:var(--surface-raised);border-color:var(--border-strong);box-shadow:none}.toolbar-button:focus-visible,.icon-button:focus-visible,.theme-toggle-button:focus-visible{box-shadow:0 0 0 3px var(--ui-focus-ring)}.export-button{padding:0 var(--sp-2)}.address-search-submit{display:none}.toolbar-filter-toggle{display:inline-flex}.toolbar-menu-anchor{position:relative;display:inline-flex;min-width:0;align-items:stretch}.toolbar-menu-anchor>.toolbar-button,.toolbar-menu-anchor>.icon-button{width:100%}.toolbar-user-button{max-width:170px}.toolbar-user-name{overflow:hidden;max-width:118px;text-overflow:ellipsis;white-space:nowrap}.toolbar-more-panel{position:absolute;top:calc(100% + var(--sp-1));right:var(--sp-1);z-index:var(--z-popover);display:grid;min-width:min(520px,calc(100vw - 32px));gap:var(--sp-1);overflow:hidden;border:1px solid var(--glass-border);border-radius:var(--radius-lg);background:var(--glass-bg-heavy);box-shadow:var(--glass-highlight),var(--shadow-panel);padding:var(--sp-1);animation:panel-in var(--dur-fast) var(--ease)}.toolbar-more-panel{min-width:220px}.toolbar-user-panel{right:0}.toolbar-user-menu{display:grid;gap:var(--sp-1)}.toolbar-user-summary,.toolbar-menu-item{display:flex;width:100%;min-height:var(--control-h);align-items:center;gap:var(--sp-1);border-radius:var(--radius-md);color:var(--text-primary);text-decoration:none}.toolbar-user-summary{border:0;color:var(--text-secondary);font-weight:600;padding:0 var(--sp-2)}.toolbar-user-summary-name{overflow:hidden;min-width:0;text-overflow:ellipsis;white-space:nowrap;color:var(--text-primary);font-size:var(--text-base);line-height:1.3}.toolbar-menu-item{justify-content:flex-start;border:1px solid transparent;background:transparent;font-weight:500;padding:0 var(--sp-2);transition:background-color var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease),outline-color var(--dur-fast) var(--ease)}.toolbar-menu-item:hover{background:var(--surface-raised);box-shadow:none;transform:none}.toolbar-menu-item:active{background:var(--surface-muted);transform:none}.toolbar-menu-item:focus-visible{border-color:transparent;outline:2px solid color-mix(in srgb,var(--ui-brand) 70%,transparent);outline-offset:2px}.toolbar-menu-item-danger{color:var(--accent-rose)}.toolbar-menu-item-danger:hover,.toolbar-menu-item-danger:focus-visible{color:var(--accent-rose)}.toolbar-export-controls{display:grid;grid-template-columns:1fr;gap:var(--sp-1)}.toolbar-more-panel .toolbar-export-controls{grid-template-columns:1fr}.toolbar-layer-menu{display:grid;gap:var(--sp-1);width:min(320px,calc(100vw - 32px));border-top:1px solid var(--border-subtle);padding-top:var(--sp-1)}.toolbar-base-layer-options{display:flex;gap:var(--sp-1);width:100%}.toolbar-menu-section-title,.toolbar-menu-choice{display:flex;align-items:center;min-height:34px;gap:var(--sp-1);padding:0 var(--sp-2)}.toolbar-menu-section-title{color:var(--text-secondary);font-size:var(--text-sm);font-weight:700}.toolbar-menu-choice{color:var(--text-primary);font-size:var(--text-md);min-width:0}.map-view>.map-loading-overlay{position:absolute;min-height:0}.toolbar-menu-choice:has(input:disabled){color:var(--text-tertiary);cursor:not-allowed}.toolbar-base-layer-options .toolbar-menu-choice{flex:1 1 0;min-width:0;white-space:nowrap;justify-content:center;border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--surface-muted)}.toolbar-base-layer-options .toolbar-menu-choice:has(input:checked){border-color:var(--ui-selected-border);background:var(--ui-selected-bg);color:var(--ui-selected-text)}.toolbar-menu-choice input{width:18px;min-width:18px;accent-color:var(--ui-selected-text)}.toolbar-button-active{border-color:var(--ui-selected-border);background:var(--ui-selected-bg);color:var(--ui-selected-text)}.toolbar-button-active:hover{border-color:var(--ui-selected-border);background:var(--ui-selected-bg)}.toolbar-list-button.toolbar-button-active{border-color:transparent;background:var(--brand-soft);color:var(--brand)}.toolbar-list-button.toolbar-button-active:hover{border-color:transparent;background:var(--brand-soft)}.address-suggestion-active,.address-suggestion-active:hover{background:var(--brand-soft);color:var(--text-primary)}.floating-toolbar .address-suggestion-active,.floating-toolbar .address-suggestion-active:hover{background:var(--ui-selected-bg);color:var(--ui-selected-text)}.icon-button,.theme-toggle-button{padding:0}.theme-toggle-compact{padding:0 var(--sp-2)}.primary-toolbar-button{border-color:transparent;background:var(--ui-brand);color:var(--ui-brand-contrast);font-weight:600}:root[data-theme=light] .primary-toolbar-button{color:#fff;background:var(--ui-brand-strong)}.primary-toolbar-button:hover{background:var(--ui-brand-strong);border-color:transparent;box-shadow:var(--shadow-control)}.theme-toggle-labeled{border-color:var(--border-subtle);background:var(--surface-muted);color:var(--text-primary);font-weight:500}.theme-toggle-labeled:hover{background:var(--surface-raised);border-color:var(--border-strong);box-shadow:none}.place-drawer{position:absolute;right:var(--sp-3);top:var(--panel-top);bottom:auto;z-index:var(--z-panel);width:min(360px,calc(100vw - 32px));max-height:calc(100vh - var(--panel-top) - var(--desktop-location-clearance));max-height:calc(100dvh - var(--panel-top) - var(--desktop-location-clearance));overflow:auto;border:1px solid var(--glass-border);border-radius:var(--radius-lg);background:var(--panel-bg);box-shadow:var(--glass-highlight),var(--shadow-control);padding:var(--sp-3);animation:panel-in var(--dur-fast) var(--ease)}.place-drawer-header{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-2);margin-bottom:var(--sp-3)}.place-drawer h2{margin:0;color:var(--text-primary);font-size:var(--text-lg)}.place-drawer-header span{display:block;margin-top:var(--sp-1);color:var(--text-secondary);font-size:var(--text-sm);font-weight:600;overflow-wrap:anywhere}.place-drawer>p{margin:var(--sp-2) 0;color:var(--text-secondary)}.place-list-filter-summary{display:grid;gap:var(--sp-2);margin-bottom:var(--sp-3)}.place-list-filter-section{margin-bottom:var(--sp-3)}.place-list-filter-summary-button{width:100%;border:0;border-radius:0;background:transparent;box-shadow:none;padding:0}.place-list-filter-summary-button:hover{border:0;background:transparent;box-shadow:none;transform:none}.place-list-filter-section-open .form-section-chevron{transform:rotate(180deg)}.place-list-filters{display:grid;grid-template-columns:1fr;gap:var(--sp-2);border-bottom:1px solid var(--border-subtle);padding:var(--sp-2) 0 var(--sp-3)}.place-list-filters label{display:grid;gap:var(--sp-1);color:var(--text-secondary);font-size:var(--text-sm)}.place-list-filter-field{display:flex;align-items:center;gap:var(--sp-1);border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--surface);color:var(--text-secondary);padding:0 var(--sp-2)}.place-list-query-group{position:relative;display:grid;gap:var(--sp-1)}.place-list-query-field{gap:var(--sp-1);background:var(--surface-muted);padding-right:var(--sp-half)}.place-list-query-field:focus-within{border-color:color-mix(in srgb,var(--brand) 72%,var(--border-subtle));background:var(--surface);box-shadow:0 0 0 2px color-mix(in srgb,var(--brand) 16%,transparent)}.place-list-query-field input{flex:1;width:100%;min-width:0;min-height:42px;border:0;background:transparent;color:var(--text-primary);outline:none}.place-drawer-header-actions{display:inline-flex;flex:0 0 auto;gap:var(--sp-1)}.place-list-query-field>svg{flex:0 0 auto}.place-list-status-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:3px;margin-top:var(--sp-2);padding:3px;border-radius:8px;background:var(--surface-muted)}.place-list-status-tabs button{display:flex;align-items:center;justify-content:center;gap:var(--sp-half);min-width:0;min-height:34px;border:0;border-radius:6px;background:transparent;color:var(--text-secondary);padding:var(--sp-half);font-size:var(--text-sm);box-shadow:none;transform:none}.place-list-status-tabs button[aria-pressed=true]{background:var(--surface);color:var(--text-primary);box-shadow:0 1px 3px #00000014}.place-list-result-meta{display:flex;flex-wrap:wrap;justify-content:space-between;gap:var(--sp-1);padding:var(--sp-2) 0;color:var(--text-tertiary);font-size:var(--text-xs)}.place-list-query-action{position:relative;display:inline-flex;flex:0 0 auto;align-items:center;justify-content:center;width:34px;min-width:34px;min-height:34px;border:0;border-radius:var(--radius-sm);background:var(--surface-muted);color:var(--text-tertiary);padding:0;transform:none}.place-list-query-action:hover,.place-list-query-action-active{border:0;background:var(--brand-soft);color:var(--brand);box-shadow:none;transform:none}.place-list-query-count{position:absolute;top:-5px;right:-4px;display:inline-flex;min-width:16px;height:16px;align-items:center;justify-content:center;border-radius:var(--radius-full);background:var(--brand);color:var(--brand-contrast);font-size:10px;font-weight:700;line-height:1;padding:0 3px}.place-list-selected-tags{display:flex;flex-wrap:wrap;gap:var(--sp-1);padding-top:var(--sp-half)}.place-list-selected-tag{display:inline-flex;max-width:100%;align-items:center;gap:var(--sp-half);border:1px solid color-mix(in srgb,var(--brand) 28%,var(--border-subtle));border-radius:var(--radius-full);background:var(--brand-soft);color:var(--brand);font-size:var(--text-xs);font-weight:600;line-height:1.2;padding:var(--sp-half) var(--sp-1) var(--sp-half) var(--sp-2)}.place-list-selected-tag button{display:inline-flex;width:20px;min-width:20px;height:20px;min-height:20px;align-items:center;justify-content:center;border:0;border-radius:var(--radius-full);background:transparent;color:currentColor;padding:0;transform:none}.place-list-selected-tag button:hover{border:0;background:color-mix(in srgb,var(--brand) 12%,transparent);box-shadow:none;transform:none}.place-list-tag-popover{position:relative;display:grid;justify-self:end;width:min(240px,calc(100% - var(--sp-2)));gap:var(--sp-1);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-soft);margin-top:var(--sp-half);padding:var(--sp-2);animation:panel-in var(--dur-fast) var(--ease)}.place-list-tag-popover:before{content:"";position:absolute;top:-5px;right:17px;width:9px;height:9px;border-top:1px solid var(--border-subtle);border-left:1px solid var(--border-subtle);background:var(--surface);transform:rotate(45deg)}.place-list-tag-popover-heading{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-2);color:var(--text-secondary);font-size:var(--text-xs);font-weight:600}.place-list-tag-popover-heading span:last-child{color:var(--text-tertiary);font-weight:500}.place-list-tag-input{background:var(--surface)}.place-list-tag-popover-hint{margin:0;color:var(--text-tertiary);font-size:var(--text-xs)}.place-list-filter-field input,.place-list-filters input,.place-list-filters select{width:100%;min-width:0;min-height:38px;border:0;background:transparent;color:var(--text-primary);outline:none}.place-list-filters input::placeholder{color:var(--text-placeholder)}.place-list-filter-field:focus-within{border-color:var(--brand);background:var(--surface-raised);box-shadow:0 0 0 3px var(--focus-ring)}.place-list-filters .place-list-quick-toggle,.toolbar-layer-menu .place-list-quick-toggle{position:relative;display:inline-flex;width:fit-content;min-height:38px;align-items:center;gap:var(--sp-1);border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--surface);color:var(--text-secondary);cursor:pointer;padding:0 var(--sp-2);transition:background-color var(--dur) var(--ease),border-color var(--dur) var(--ease),color var(--dur) var(--ease)}.place-list-quick-toggle:hover{border-color:var(--border-strong);background:var(--surface-raised)}.place-list-quick-toggle:has(input:checked){border-color:var(--border-subtle);background:var(--surface);color:var(--text-secondary)}.place-list-quick-toggle input{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;width:100%;min-width:0;height:100%;min-height:0;opacity:0;cursor:pointer}.place-list-quick-toggle:has(input:disabled){opacity:.5;cursor:not-allowed}.place-list-quick-toggle input:disabled{cursor:not-allowed}.place-list-toggle-track{position:relative;display:inline-flex;width:30px;height:18px;flex:0 0 auto;border-radius:var(--radius-full);background:var(--border-strong);transition:background-color var(--dur) var(--ease)}.place-list-toggle-thumb{position:absolute;top:2px;left:2px;width:14px;height:14px;border-radius:var(--radius-full);background:#fff;box-shadow:0 1px 3px #0f172a3d;transition:transform var(--dur) var(--ease)}.place-list-quick-toggle input:focus-visible+.place-list-toggle-track{box-shadow:0 0 0 3px var(--focus-ring)}.place-list-quick-toggle input:checked+.place-list-toggle-track{background:var(--brand)}.toolbar-traffic-toggle input:checked+.place-list-toggle-track{background:var(--ui-brand)}.toolbar-traffic-toggle input:focus-visible+.place-list-toggle-track{box-shadow:0 0 0 3px var(--ui-focus-ring)}.place-list-quick-toggle input:checked+.place-list-toggle-track .place-list-toggle-thumb{transform:translate(12px)}.timeline-filter{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-1)}.place-list-date-field{gap:var(--sp-half)}.place-list-date-field .date-field{grid-template-columns:18px minmax(0,1fr) 28px;min-height:42px;border-radius:var(--radius-md);background:var(--surface);box-shadow:none;padding:0 var(--sp-half) 0 var(--sp-2)}.place-list-date-field .date-field:focus-within{border-color:color-mix(in srgb,var(--brand) 72%,var(--border-subtle));background:var(--surface);box-shadow:0 0 0 2px color-mix(in srgb,var(--brand) 16%,transparent)}.place-list-date-field .date-field input{min-height:40px;font-size:var(--text-sm);padding-left:var(--sp-half)}.place-list-date-field .date-field-toggle{min-width:28px;min-height:28px;border-radius:var(--radius-sm)}.filter-chip-list{display:flex;flex-wrap:wrap;gap:var(--sp-1)}.filter-chip{display:inline-flex;align-items:center;max-width:100%;gap:var(--sp-1);border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--surface-muted);color:var(--text-secondary);font-size:var(--text-xs);font-weight:600;line-height:1.2;padding:var(--sp-half) var(--sp-1)}.filter-chip button,.clear-filter-button{border:0;background:transparent;color:var(--text-tertiary);cursor:pointer}.filter-chip button{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:var(--radius-full);padding:0}.filter-chip button:hover,.clear-filter-button:hover{color:var(--text-primary)}.clear-filter-button{justify-self:start;padding:0;font-size:var(--text-xs);font-weight:700}.empty-state{display:grid;gap:var(--sp-2);border:1px dashed var(--border-strong);border-radius:var(--radius-md);background:var(--surface-muted);padding:var(--sp-3)}.empty-state h3{margin:0;color:var(--text-primary);font-size:var(--text-base)}.empty-state p{margin:0;color:var(--text-secondary);line-height:1.6}.place-list-item{display:grid;grid-template-columns:38px minmax(0,1fr) 14px;align-items:center;gap:var(--sp-2);width:100%;border:0;border-top:1px solid var(--border-subtle);border-radius:10px;background:transparent;color:inherit;font-weight:400;cursor:pointer;padding:var(--sp-2) var(--sp-2);text-align:left;white-space:normal;transition:background-color var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease)}.place-list-item+.place-list-item{margin-top:0}.place-list-item-content{min-width:0}.place-list-place-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:8px;background:var(--brand-soft);color:var(--brand);transition:background-color var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease),transform var(--dur-fast) var(--ease)}.place-list-place-icon-visited{background:color-mix(in srgb,var(--status-visited, #20856c) 12%,var(--surface));color:var(--status-visited, #20856c)}.place-list-place-icon-shared{background:var(--surface-muted);color:var(--text-secondary)}.place-list-item-chevron{color:var(--text-tertiary);transition:color var(--dur-fast) var(--ease),transform var(--dur-fast) var(--ease)}.place-list-item h3{overflow-wrap:anywhere}.place-list-item p{display:-webkit-box;overflow:hidden;overflow-wrap:anywhere;-webkit-box-orient:vertical;-webkit-line-clamp:3;margin:var(--sp-1) 0 0;color:var(--text-secondary);font-size:var(--text-sm);line-height:1.5}.place-list-item h3{margin:0;color:var(--text-primary);font-size:var(--text-base)}.place-list-meta{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-1);margin-top:var(--sp-1);color:var(--text-secondary);font-size:var(--text-sm)}.place-list-owner{display:inline-flex;align-items:center;gap:var(--sp-half);min-width:0;overflow-wrap:anywhere;color:var(--text-secondary)}.place-list-item:hover,.place-list-item-active{border-top-color:transparent;background:color-mix(in srgb,var(--brand-soft) 28%,transparent);box-shadow:none;transform:none}.place-list-item:hover{color:var(--text-primary);box-shadow:none;transform:none}.place-list-item:hover .place-list-place-icon,.place-list-item-active .place-list-place-icon{background:color-mix(in srgb,var(--brand-soft) 72%,var(--surface));transform:scale(1.03)}.place-list-item:hover .place-list-item-chevron{color:var(--brand);transform:translate(2px)}.place-list-item-active{background:color-mix(in srgb,var(--brand-soft) 40%,transparent)}.place-list-item-active .place-list-item-chevron{color:var(--brand)}.place-list-item:focus-visible{outline:2px solid var(--brand);outline-offset:2px;box-shadow:none}.place-list-item .status-pill,.place-list-item .visibility-pill{background:transparent;border:0;border-radius:0;padding:0;font-size:var(--text-xs)}.place-list-item .place-list-meta{font-size:var(--text-xs)}.place-list-item svg{flex-shrink:0}.place-list-item:active{box-shadow:none;transform:translateY(0)}@media (prefers-reduced-motion: reduce){.place-list-item,.place-list-place-icon,.place-list-item-chevron{transition:none}}.place-list-skeleton{display:grid;gap:var(--sp-1)}.place-list-skeleton-row{display:grid;gap:var(--sp-1);border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--surface-muted);padding:var(--sp-2)}.place-list-skeleton-row span{display:block;height:12px;overflow:hidden;border-radius:var(--radius-full);background:linear-gradient(90deg,var(--surface-muted),var(--surface-raised),var(--surface-muted));background-size:220% 100%;animation:skeleton-shimmer 1.2s var(--ease) 3}.place-list-skeleton-row span:first-child{width:62%;height:16px}.place-list-skeleton-row span:nth-child(2){width:34%}.place-list-skeleton-row span:nth-child(3){width:82%}.place-list-slow-loading{margin:var(--sp-half) 0 0;color:var(--text-muted-info);font-size:var(--text-sm);text-align:center}.place-list-error{display:grid;gap:var(--sp-2);border:1px solid var(--accent-rose);border-radius:var(--radius-md);background:var(--accent-rose-soft);color:var(--accent-rose);padding:var(--sp-2)}.place-list-error .secondary-button{justify-self:start}.floating-card{position:absolute;left:var(--sp-3);top:var(--panel-top);z-index:var(--z-card);width:min(440px,calc(100vw - 32px));height:auto;max-height:calc(100vh - var(--panel-top) - var(--sp-3));max-height:calc(100dvh - var(--panel-top) - var(--sp-3));overflow-x:hidden;overflow-y:auto;border:1px solid var(--glass-border);border-radius:var(--radius-lg);background:var(--panel-bg);box-shadow:var(--glass-highlight),var(--shadow-control);padding:var(--sp-3);animation:panel-in var(--dur-fast) var(--ease)}.floating-card h2{margin:0 64px var(--sp-2) 0;color:var(--text-primary);font-size:var(--text-lg)}.floating-card p{margin:var(--sp-1) 0 0;color:var(--text-secondary);line-height:1.6;overflow-wrap:anywhere}.card-close{position:absolute;top:var(--sp-2);right:var(--sp-2);min-width:var(--control-h-sm);min-height:var(--control-h-sm);padding:0;border-color:var(--border-subtle);background:var(--surface-muted);color:var(--text-secondary);font-weight:500}.card-close:hover{background:var(--surface-raised);color:var(--text-primary);box-shadow:none}.card-close-mobile{display:none}.floating-card:not(.detail-card)>.card-close-mobile{display:inline-flex;align-items:center;justify-content:center;z-index:1}.auth-page,.auth-loading,.admin-page{position:relative;display:grid;min-height:100vh;min-height:100dvh;place-items:center;background:linear-gradient(var(--map-surface-line) 1px,transparent 1px),linear-gradient(90deg,var(--map-surface-line) 1px,transparent 1px),var(--map-surface-fill);background-size:48px 48px,48px 48px,100% 100%;padding:var(--sp-4)}.auth-page{grid-template-rows:1fr auto;background:linear-gradient(var(--map-surface-line) 1px,transparent 1px),linear-gradient(90deg,var(--map-surface-line) 1px,transparent 1px),linear-gradient(135deg,#09111f,#101a2e 52%,#1b1722);background-size:40px 40px,40px 40px,100% 100%;overflow:hidden;padding:clamp(28px,5vh,64px) var(--sp-4) 24px}.auth-page-registration{overflow-x:hidden;overflow-y:auto}.auth-page:before,.auth-page:after{position:absolute;display:block;border-radius:50%;content:"";filter:blur(44px);pointer-events:none}.auth-page:before{top:-18%;left:-12%;width:min(48vw,700px);aspect-ratio:1;background:radial-gradient(circle,#5b8def47,#5b8def00 68%)}.auth-page:after{right:-12%;bottom:-24%;width:min(52vw,760px);aspect-ratio:1;background:radial-gradient(circle,#ff8a7a3d,#ff8a7a00 68%)}.auth-loading{color:var(--text-secondary)}.brand-peach-mark{display:block;overflow:visible}.brand-peach-body{fill:#ff8a7a}.brand-peach-leaf{fill:#4caf6e}.brand-peach-crease{fill:none;stroke:#e0503c;stroke-linecap:round;stroke-width:3}.brand-peach-mark-animated{transform-origin:50% 100%;animation:brand-peach-breathe var(--dur-slow) var(--ease) 3 alternate}.auth-loading-brand{display:grid;justify-items:center;gap:var(--sp-2);color:var(--text-secondary);font-size:var(--text-md)}.auth-loading .brand-peach-mark-animated,.map-loading-overlay .brand-peach-mark-animated,.panel-peach-loading .brand-peach-mark-animated{animation-iteration-count:infinite}.panel-peach-loading{display:grid;min-height:160px;place-content:center;justify-items:center;gap:var(--sp-2);color:var(--text-secondary);text-align:center}.detail-loading-card .panel-peach-loading{height:100%}.auth-brand-pattern{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.auth-pattern-mark{position:absolute;opacity:.2;filter:saturate(.72)}.auth-pattern-mark-one{top:13%;right:13%;left:auto;transform:scale(.8) rotate(12deg)}.auth-pattern-mark-two{right:auto;bottom:18%;left:10%;transform:scale(1.7) rotate(-10deg)}.auth-pattern-mark-three{top:18%;right:auto;left:18%;transform:rotate(-18deg);opacity:.08}.auth-panel{position:relative;z-index:1;display:grid;align-self:center;width:min(430px,100%);gap:18px;border:1px solid rgb(255 255 255 / 12%);border-radius:32px;background:linear-gradient(145deg,#101828eb,#0c1321db);box-shadow:inset 0 1px #ffffff14,0 28px 64px #02081485;-webkit-backdrop-filter:blur(22px) saturate(1.12);backdrop-filter:blur(22px) saturate(1.12);padding:30px 38px 36px}.auth-brand-mark{display:grid;width:86px;height:86px;justify-self:center;place-items:center;border:0;border-radius:0;background:transparent;color:var(--brand);font-weight:700}.auth-brand-mark .brand-peach-mark{width:76px;height:76px}:root[data-theme=light] .auth-brand-mark{color:var(--brand)}.auth-panel h1{display:grid;justify-items:center;margin:0;color:var(--text-primary);font-size:var(--text-2xl);letter-spacing:0}.auth-wordmark{display:block;width:164px;height:auto;color:var(--text-primary)}.login-form{display:grid;gap:16px}.login-form label{display:grid;gap:var(--sp-1);color:var(--text-secondary);font-size:var(--text-md)}.login-form input{width:100%;min-height:52px;border:1px solid rgb(255 255 255 / 12%);border-radius:14px;background:#1e293bdb;box-shadow:0 10px 22px #0208143d;color:var(--text-primary);font-size:var(--text-base);outline:none;padding:0 var(--sp-2);transition:background-color var(--dur) var(--ease),border-color var(--dur) var(--ease),box-shadow var(--dur) var(--ease)}.login-form input:focus{border-color:var(--brand);background:#253248f5;box-shadow:0 0 0 3px var(--focus-ring)}.login-form input[aria-invalid=true]{border-color:var(--accent-rose);background:var(--accent-rose-soft)}.login-form input[aria-invalid=true]:focus{border-color:var(--accent-rose);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent-rose) 24%,transparent)}.auth-field-error{margin:0;color:var(--accent-rose);font-size:var(--text-sm);line-height:1.4}.auth-error{margin:0;border:1px solid color-mix(in srgb,var(--accent-rose) 44%,transparent);border-radius:var(--radius-md);background:var(--accent-rose-soft);color:var(--accent-rose);padding:var(--sp-2)}.auth-submit{width:100%;min-height:52px;border:0;border-radius:14px;background:linear-gradient(90deg,#2460e4,#477ff3);box-shadow:0 12px 24px #2460e438;color:#fff}.auth-submit:hover:not(:disabled){background:linear-gradient(90deg,#1f55cc,#3b72e7)}.auth-panel-registration{width:min(680px,100%)}.auth-mode-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--sp-half);border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--surface-muted);padding:var(--sp-half)}.auth-mode-tab{min-height:var(--control-h-sm);border:0;border-radius:var(--radius-sm);background:transparent;box-shadow:none;color:var(--text-secondary);padding:0 var(--sp-2)}.auth-mode-tab:hover{background:var(--surface-raised);box-shadow:none;transform:none}.auth-mode-tab-active,.auth-mode-tab-active:hover{background:var(--surface);box-shadow:var(--shadow-soft);color:var(--brand)}.auth-notice,.auth-hint{margin:0;border:1px solid color-mix(in srgb,var(--brand) 32%,transparent);border-radius:var(--radius-md);background:var(--brand-soft);color:var(--text-primary);padding:var(--sp-2)}.auth-clear-credentials{min-height:var(--control-h-sm);border:0;background:transparent;box-shadow:none;color:var(--text-secondary)}.auth-clear-credentials:hover{background:transparent;box-shadow:none;transform:none;color:var(--brand)}.registration-form{grid-template-columns:repeat(2,minmax(0,1fr))}.registration-form>.registration-invite-field,.registration-form>.auth-hint,.registration-form>.auth-error,.registration-form>.auth-submit{grid-column:1 / -1}.auth-slogan{position:relative;z-index:1;align-self:end;margin:22px 0 0;color:var(--text-secondary);font-size:var(--text-sm);letter-spacing:.01em;text-align:center}:root[data-theme=light] .auth-page{background:linear-gradient(var(--map-surface-line) 1px,transparent 1px),linear-gradient(90deg,var(--map-surface-line) 1px,transparent 1px),linear-gradient(135deg,#edf5ff,#f8fbff 48%,#fff5f1)}:root[data-theme=light] .auth-page:before{background:radial-gradient(circle,#6ba4ff6b,#6ba4ff00 68%)}:root[data-theme=light] .auth-page:after{background:radial-gradient(circle,#ff9e8d66,#ff9e8d00 68%)}:root[data-theme=light] .auth-panel{border-color:#ffffffe0;background:linear-gradient(145deg,#ffffffd1,#ffffff94);box-shadow:inset 0 1px #ffffffd9,0 28px 64px #3d53742e}:root[data-theme=light] .login-form input{border-color:#ffffffe0;background:#ffffffad;box-shadow:0 10px 22px #465b7a1a}:root[data-theme=light] .login-form input:focus{background:#ffffffeb}:root[data-theme=light] .auth-slogan{color:#758198}@media (max-width: 640px){.auth-page{padding:24px 16px 18px}.auth-panel{border-radius:26px;padding:26px 24px 30px}.auth-pattern-mark-two{bottom:12%;left:-2%}}.admin-overview-page{gap:var(--sp-4)}.admin-section-header.admin-overview-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--sp-3)}.admin-overview-heading>div{display:grid;gap:var(--sp-half)}.admin-overview-heading h2,.admin-overview-heading p{margin:0}.admin-overview-heading h2{font-size:var(--text-xl)}.admin-overview-heading>div>p:last-child,.admin-overview-refresh-label{color:var(--text-secondary)}.admin-overview-refresh-label{align-self:flex-end;font-size:var(--text-xs)}.admin-overview-heading>.admin-overview-actions{display:flex;align-items:center;flex-wrap:wrap;gap:var(--sp-3)}.admin-overview-actions .admin-overview-refresh-label{align-self:center}.admin-overview-stats-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:var(--sp-3)}.admin-overview-stats-grid .admin-stat-card{display:grid;min-height:154px;align-content:start;gap:var(--sp-1);border-radius:var(--radius-lg);padding:var(--sp-3)}.admin-stat-card-heading{display:flex;align-items:center;gap:var(--sp-1);color:var(--text-secondary);font-size:var(--text-sm);font-weight:650}.admin-stat-icon{display:inline-grid;width:30px;height:30px;place-items:center;border-radius:var(--radius-sm)}.admin-stat-icon-teal{background:var(--accent-teal-soft);color:var(--accent-teal)}.admin-stat-icon-violet{background:var(--accent-violet-soft);color:var(--accent-violet)}.admin-stat-icon-amber{background:var(--accent-amber-soft);color:var(--accent-amber)}.admin-stat-icon-rose{background:var(--accent-rose-soft);color:var(--accent-rose)}.admin-stat-icon-brand{background:var(--brand-soft);color:var(--brand)}.admin-overview-stats-grid .admin-stat-card>strong{margin-top:var(--sp-1);font-size:var(--text-2xl)}.admin-overview-stats-grid .admin-stat-card>small{color:var(--text-secondary);font-size:var(--text-xs)}.admin-stat-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--sp-1);margin-top:var(--sp-half)}.admin-stat-detail{display:grid;gap:var(--sp-half);min-width:0;border-left:2px solid var(--border-subtle);padding-left:var(--sp-1)}.admin-stat-detail span{color:var(--text-tertiary);font-size:.6875rem;white-space:nowrap}.admin-stat-detail strong{color:var(--text-primary);font-size:var(--text-md);line-height:1.1}.admin-data-table-shell.admin-overview-table-shell{display:grid;gap:0}.admin-data-table-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--sp-3);border-bottom:1px solid var(--border-subtle);padding:var(--sp-3) var(--sp-4)}.admin-data-table-header>div{display:grid;gap:var(--sp-half)}.admin-data-table-header h3,.admin-data-table-header p{margin:0}.admin-data-table-header h3{color:var(--text-primary);font-size:var(--text-md)}.admin-data-table-header>div>p:last-child{color:var(--text-secondary);font-size:var(--text-sm)}.admin-table-badge{display:inline-flex;align-items:center;gap:var(--sp-half);min-height:28px;flex:none;border:1px solid var(--border-subtle);border-radius:var(--radius-full);background:var(--surface-muted);color:var(--text-secondary);font-size:var(--text-xs);font-weight:650;padding:0 var(--sp-2)}.guest-policy-card label.registration-toggle{position:relative;display:flex;min-height:60px;align-items:center;justify-content:space-between;gap:var(--sp-3);border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--surface);color:var(--text-primary);cursor:pointer;padding:var(--sp-2)}.guest-policy-card .registration-toggle-control input{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;width:100%;height:100%;min-height:0;margin:0;opacity:0;cursor:pointer}.guest-access-state{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-2);min-height:36px;border-radius:var(--radius-md);padding:0 var(--sp-2)}.guest-access-state strong{font-size:var(--text-sm)}.guest-access-state span{color:var(--text-secondary);font-size:var(--text-xs)}.guest-access-state-enabled{background:var(--accent-teal-soft);color:var(--accent-teal)}.guest-access-state-disabled{background:var(--surface-muted);color:var(--text-secondary)}@media (max-width: 900px){.admin-overview-stats-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width: 640px){.admin-section-header.admin-overview-heading,.admin-data-table-header{align-items:flex-start;flex-direction:column}.admin-overview-refresh-label{align-self:flex-start}.admin-overview-stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-stat-details{grid-template-columns:1fr}.admin-stat-detail{grid-template-columns:1fr auto;align-items:center}}@media (max-width: 420px){.admin-overview-stats-grid{grid-template-columns:1fr}}@media (max-height: 760px){.auth-page{padding-block:18px 14px}.auth-panel{gap:12px;padding-block:22px 26px}.auth-brand-mark{width:68px;height:68px}.auth-brand-mark .brand-peach-mark{width:60px;height:60px}.auth-wordmark{width:148px}.auth-slogan{margin-top:12px}}.first-use-welcome-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-modal);display:grid;place-items:center;background:var(--scrim);padding:var(--sp-3);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.first-use-welcome{position:relative;display:grid;width:min(420px,100%);max-height:calc(100dvh - 32px);gap:var(--sp-3);overflow-y:auto;border:1px solid var(--glass-border);border-radius:var(--radius-lg);background:var(--panel-bg);box-shadow:var(--glass-highlight),var(--shadow-panel);padding:var(--sp-4);text-align:center;animation:panel-in var(--dur-slow) var(--ease)}.first-use-welcome-close{position:absolute;top:var(--sp-2);right:var(--sp-2);width:var(--control-h-sm);min-width:var(--control-h-sm);min-height:var(--control-h-sm);border-radius:var(--radius-full);padding:0}.first-use-welcome-mark{justify-self:center}.first-use-welcome-copy{display:grid;gap:var(--sp-1)}.first-use-welcome-copy h1,.first-use-welcome-copy p{margin:0}.first-use-welcome-copy h1{color:var(--text-primary);font-size:var(--text-2xl)}.first-use-welcome-copy p{color:var(--text-secondary);line-height:1.6}.first-use-welcome-steps{display:grid;gap:var(--sp-1);margin:0;padding:0;list-style:none;text-align:left}.first-use-welcome-steps li{display:grid;min-height:var(--control-h);grid-template-columns:20px minmax(0,1fr);align-items:center;gap:var(--sp-2);border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--surface-muted);color:var(--text-primary);padding:0 var(--sp-2)}.first-use-welcome-steps svg{color:var(--brand-strong)}.first-use-welcome-action{width:100%}.admin-shell{display:grid;grid-template-columns:248px minmax(0,1fr);min-height:100vh;min-height:100dvh;background:var(--canvas);color:var(--text-primary)}.admin-sidebar{position:sticky;top:0;display:grid;align-content:start;min-height:100vh;min-height:100dvh;gap:var(--sp-4);border-right:1px solid var(--border-subtle);background:var(--surface);padding:var(--sp-4)}.admin-brand{display:grid;grid-template-columns:44px minmax(0,1fr);align-items:center;gap:var(--sp-2)}.admin-brand-mark{display:grid;width:44px;height:44px;place-items:center;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface-muted);color:var(--brand);font-weight:700}:root[data-theme=light] .admin-brand-mark{color:var(--brand)}.admin-brand strong,.admin-topbar h1,.admin-section-header h2,.admin-empty-state h2{margin:0;color:var(--text-primary);letter-spacing:0}.admin-brand strong{display:block;font-size:var(--text-base);line-height:1.25}.admin-brand p,.admin-topbar p,.admin-section-header p,.admin-empty-state p{margin:0;color:var(--text-secondary)}.admin-brand p{font-size:var(--text-sm)}.admin-nav{display:grid;gap:var(--sp-1)}.admin-nav-link,.admin-return-link,.admin-return-button{display:inline-flex;align-items:center;min-height:var(--control-h);gap:var(--sp-1);border:1px solid transparent;border-radius:var(--radius-md);color:var(--text-secondary);font-size:var(--text-md);font-weight:600;text-decoration:none;padding:0 var(--sp-2);transition:background-color var(--dur) var(--ease),border-color var(--dur) var(--ease),color var(--dur) var(--ease)}.admin-nav-link:hover,.admin-return-link:hover,.admin-return-button:hover{border-color:var(--border-subtle);background:var(--surface-muted);color:var(--text-primary)}.admin-nav-link-active{border-color:color-mix(in srgb,var(--brand) 34%,transparent);background:var(--brand-soft);color:var(--brand-strong)}.admin-return-link{margin-top:auto}.admin-main{position:relative;min-width:0;overflow:hidden;background:linear-gradient(var(--map-surface-line) 1px,transparent 1px),linear-gradient(90deg,var(--map-surface-line) 1px,transparent 1px),radial-gradient(circle at 82% 12%,var(--brand-soft),transparent 32%),var(--canvas);background-size:48px 48px,48px 48px,100% 100%,100% 100%;padding:var(--sp-4)}.admin-main:before,.admin-main:after{position:absolute;display:block;border:1px dashed color-mix(in srgb,var(--brand) 18%,transparent);border-radius:50%;content:"";pointer-events:none}.admin-main:before{top:-18vh;right:-14vw;width:min(52vw,720px);height:min(26vw,360px);transform:rotate(12deg)}.admin-main:after{bottom:-16vh;left:-20vw;width:min(58vw,820px);height:min(28vw,400px);transform:rotate(-10deg)}.admin-topbar,.admin-content{position:relative;z-index:1}.admin-topbar{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);margin-bottom:var(--sp-4)}.admin-topbar h1{font-size:var(--text-xl);line-height:1.2}.admin-content,.admin-page-section{display:grid;gap:var(--sp-3)}.admin-section-header{display:grid;gap:var(--sp-half)}.admin-section-header-row{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:var(--sp-3)}.admin-section-header h2{font-size:var(--text-lg)}.admin-action-button{align-self:center;justify-self:end}.admin-export-actions{display:flex;gap:var(--sp-2);align-self:center;flex-wrap:wrap}.admin-data-table-shell{overflow:hidden;border:1px solid var(--border-subtle);border-radius:var(--radius-lg);background:var(--surface)}.admin-data-table-scroll{overflow-x:auto}.admin-data-table{width:100%;min-width:560px;border-collapse:collapse;font-size:var(--text-md)}.admin-data-table th,.admin-data-table td{border-bottom:1px solid var(--border-subtle);color:var(--text-primary);padding:var(--sp-2);text-align:left;vertical-align:middle}.admin-data-table th{background:var(--surface-muted);color:var(--text-secondary);font-size:var(--text-xs);font-weight:750}.admin-data-table tbody tr:last-child td{border-bottom:0}.admin-data-table .admin-cell-right{text-align:right}.admin-place-title-button{border:0;border-radius:var(--radius-sm);background:transparent;color:var(--brand);cursor:pointer;font:inherit;font-weight:700;padding:0;text-align:left}.admin-place-title-button:hover{text-decoration:underline;text-underline-offset:3px}.admin-place-title-button:focus-visible{outline:none;box-shadow:0 0 0 3px var(--focus-ring)}.admin-table-loading,.admin-empty-state{display:grid;place-items:center;min-height:144px;gap:var(--sp-half);color:var(--text-secondary);text-align:center;padding:var(--sp-4)}.admin-empty-state h2{font-size:var(--text-lg)}.admin-table-pagination{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-4);border-top:1px solid var(--border-subtle);color:var(--text-secondary);font-size:var(--text-sm);padding:var(--sp-3) var(--sp-4)}.media-backup-sort-button{display:inline-flex;align-items:center;gap:var(--sp-half);border:0;border-radius:var(--radius-sm);background:transparent;color:inherit;cursor:pointer;font:inherit;font-weight:inherit;padding:var(--sp-half)}.media-backup-sort-button:hover,.media-backup-sort-button-active{background:var(--surface-raised);color:var(--text-primary)}.admin-table-pagination-summary{display:flex;align-items:center;gap:var(--sp-3);white-space:nowrap}.admin-table-pagination-actions{display:flex;align-items:center;justify-content:flex-end;gap:16px;flex-wrap:wrap;margin-left:auto}.admin-table-pagination-actions>label{display:flex;align-items:center;gap:8px;white-space:nowrap}.admin-table-pagination-actions .select-field{display:flex;align-items:center;gap:8px;min-width:0}.admin-table-pagination-actions .select-field-trigger{min-width:120px}.admin-check-field{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:36px;min-width:36px;cursor:pointer}.admin-check-field input[type=checkbox]{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;min-height:0;margin:0;opacity:0;cursor:inherit}.admin-check-field-box{display:inline-flex;align-items:center;justify-content:center;flex:none;width:18px;height:18px;border:1px solid var(--border-strong);border-radius:4px;background:var(--surface-muted);color:#fff;pointer-events:none}.admin-check-field-box[data-selected]{background:var(--brand);border-color:var(--brand)}.admin-check-field:hover .admin-check-field-box{border-color:var(--brand)}.admin-check-field input:focus-visible+.admin-check-field-box{outline:2px solid var(--brand);outline-offset:3px}.admin-check-field[data-disabled]{opacity:.5;cursor:not-allowed}.admin-check-field-label{pointer-events:none}.admin-pagination-mobile-summary{display:none}.admin-pagination-controls{display:flex;align-items:center;gap:var(--sp-1)}.admin-pagination-pages{display:flex;align-items:center;gap:var(--sp-half)}.admin-pagination-icon-button,.admin-pagination-page{display:inline-grid;min-width:var(--control-h-sm);height:var(--control-h-sm);place-items:center;border:1px solid transparent;border-radius:var(--radius-sm);background:transparent;color:var(--text-secondary);cursor:pointer}.admin-pagination-icon-button:hover:not(:disabled),.admin-pagination-page:hover:not(:disabled){border-color:var(--border-strong);background:var(--surface-raised);color:var(--text-primary)}.admin-pagination-icon-button:focus-visible,.admin-pagination-page:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.admin-pagination-page-active{border-color:var(--brand);background:var(--brand);color:var(--brand-contrast);font-weight:600}.admin-pagination-icon-button:disabled,.admin-pagination-page:disabled{cursor:not-allowed;opacity:.45}.admin-pagination-ellipsis{display:inline-grid;min-width:var(--control-h-sm);height:var(--control-h-sm);place-items:center}.admin-row-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:var(--sp-1)}.admin-row-actions button{min-height:var(--control-h-sm);border-radius:var(--radius-md);font-size:var(--text-sm);padding:0 var(--sp-2)}.admin-row-actions button:focus-visible{position:relative;z-index:1;border-color:var(--brand);box-shadow:0 0 0 2px var(--surface),0 0 0 5px var(--focus-ring)}.admin-status{display:inline-flex;align-items:center;min-height:28px;border:1px solid color-mix(in srgb,var(--accent-amber) 34%,transparent);border-radius:var(--radius-full);background:var(--accent-amber-soft);color:var(--accent-amber);font-size:var(--text-xs);font-weight:750;line-height:1;padding:0 var(--sp-2)}.admin-status-active{border-color:color-mix(in srgb,var(--accent-teal) 34%,transparent);background:var(--accent-teal-soft);color:var(--accent-teal)}.admin-dialog-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-modal);display:grid;place-items:center;overflow-y:auto;background:var(--scrim);padding:var(--sp-4)}.admin-dialog{display:grid;width:min(560px,100%);max-height:calc(100vh - 48px);max-height:calc(100dvh - 48px);gap:var(--sp-3);overflow-y:auto;border:1px solid var(--border-subtle);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-panel);padding:var(--sp-4)}.admin-dialog-wide{width:min(920px,100%)}.admin-dialog-header{display:grid;gap:var(--sp-half)}.admin-dialog-header h2,.admin-dialog-header p{margin:0}.admin-dialog-header h2{color:var(--text-primary);font-size:var(--text-lg)}.admin-dialog-header p{color:var(--text-secondary)}.admin-place-details{display:grid;gap:var(--sp-3)}.admin-place-system-info{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--sp-2);margin:0;border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--surface-muted);padding:var(--sp-3)}.admin-place-system-info>div{display:grid;gap:var(--sp-half);min-width:0}.admin-place-system-info dt{color:var(--text-secondary);font-size:var(--text-sm)}.admin-place-system-info dd{min-width:0;margin:0;color:var(--text-primary);overflow-wrap:anywhere}.admin-place-system-id{grid-column:1 / -1}.admin-form-grid{display:grid;gap:var(--sp-3)}.admin-form-grid label:not(.admin-radio-option){display:grid;gap:var(--sp-1);color:var(--text-secondary);font-size:var(--text-md);line-height:1.3}.admin-form-grid input,.admin-form-grid select{width:100%;min-height:var(--control-h);border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--surface-muted);color:var(--text-primary);padding:0 var(--sp-2)}.admin-form-grid input:focus,.admin-form-grid select:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px var(--focus-ring)}.admin-inline-control{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--sp-1)}.admin-form-error{margin:0;border:1px solid color-mix(in srgb,var(--accent-rose) 42%,transparent);border-radius:var(--radius-md);background:var(--accent-rose-soft);color:var(--accent-rose);padding:var(--sp-2)}.admin-radio-option{display:flex;align-items:center;gap:var(--sp-2);min-height:var(--control-h);border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--surface-muted);color:var(--text-primary);cursor:pointer;padding:0 var(--sp-2)}.admin-radio-option input{width:auto;min-height:auto;accent-color:var(--brand)}.admin-danger-note{margin:0;border:1px solid color-mix(in srgb,var(--accent-rose) 42%,transparent);border-radius:var(--radius-md);background:var(--accent-rose-soft);color:var(--accent-rose);padding:var(--sp-2)}.admin-password-result{display:block;overflow-x:auto;border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--surface-muted);color:var(--text-primary);font-size:var(--text-base);padding:var(--sp-2)}.admin-dialog-actions{display:flex;justify-content:flex-end;gap:var(--sp-2)}.admin-error-state{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-2);border:1px solid color-mix(in srgb,var(--accent-rose) 34%,transparent);border-radius:var(--radius-md);background:var(--accent-rose-soft);color:var(--accent-rose);padding:var(--sp-2)}.registration-admin-tabs{display:flex;gap:var(--sp-half);overflow-x:auto;border:1px solid var(--border-subtle);border-radius:var(--radius-lg);background:var(--surface-muted);padding:var(--sp-1);scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent}.registration-admin-tab{min-height:var(--control-h-sm);flex:1 1 0;border:0;border-radius:var(--radius-md);background:transparent;box-shadow:none;color:var(--text-secondary);white-space:nowrap;padding:0 var(--sp-2)}.registration-admin-tab:hover{background:var(--surface-raised);box-shadow:none;transform:none}.registration-admin-tab-active,.registration-admin-tab-active:hover{background:var(--surface);box-shadow:var(--shadow-soft);color:var(--brand)}.registration-page-section{width:100%;max-width:1480px;justify-self:center}.registration-admin-panel,.registration-settings-layout,.registration-list-panel{display:grid;gap:var(--sp-3);min-width:0}.registration-settings-layout{width:100%;max-width:none;grid-template-columns:minmax(0,1fr) minmax(280px,360px);align-items:start}.registration-settings-main{display:grid;min-width:0;gap:var(--sp-3)}.registration-settings-card{display:grid;gap:var(--sp-3);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);background:var(--surface);padding:var(--sp-3)}.registration-settings-summary{position:sticky;top:var(--sp-4);display:grid;gap:var(--sp-3);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);background:var(--surface);padding:var(--sp-3)}.registration-settings-summary h3,.registration-settings-summary p,.registration-summary-list{margin:0}.registration-summary-list{display:grid}.registration-summary-list>div{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:var(--sp-2);border-bottom:1px solid var(--border-subtle);padding:var(--sp-2) 0}.registration-summary-list>div:first-child{padding-top:0}.registration-summary-list>div:last-child{border-bottom:0;padding-bottom:0}.registration-summary-list dt{color:var(--text-secondary)}.registration-summary-list dd{max-width:210px;margin:0;color:var(--text-primary);font-weight:650;overflow-wrap:anywhere;text-align:right}.registration-settings-card:first-of-type{grid-template-columns:minmax(0,1fr) auto;align-items:center}.registration-settings-card h3,.registration-panel-toolbar h3,.registration-settings-card p,.registration-panel-toolbar p,.registration-form-preview{margin:0}.registration-card-heading,.registration-panel-toolbar>div{display:grid;gap:var(--sp-half)}.registration-card-heading p,.registration-panel-toolbar p,.registration-settings-card>div>p,.registration-table-note{color:var(--text-secondary)}.registration-settings-state-actions,.registration-panel-actions{display:flex;align-items:center;justify-content:flex-end;gap:var(--sp-2)}.registration-settings-save-bar{position:sticky;bottom:var(--sp-2);z-index:2;border:1px solid var(--border-subtle);border-radius:var(--radius-lg);background:color-mix(in srgb,var(--surface) 92%,transparent);box-shadow:var(--shadow-soft);padding:var(--sp-2);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.registration-settings-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.system-settings-panel{overflow:hidden;border:1px solid var(--border-subtle);border-radius:var(--radius-lg);background:var(--surface)}.system-settings-panel-header{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border-subtle);padding:var(--sp-3)}.system-settings-panel-header h3,.system-settings-panel-header p,.system-settings-group h4{margin:0}.guest-limit-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--sp-2)}.guest-limit-grid fieldset{display:grid;gap:var(--sp-2);min-width:0;border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--surface-muted);padding:var(--sp-2)}.guest-limit-grid legend{color:var(--text-primary);font-size:var(--text-sm);font-weight:650;padding:0 var(--sp-1)}.guest-limit-grid label{display:grid;gap:var(--sp-half);color:var(--text-secondary);font-size:var(--text-xs)}.guest-limit-grid input{width:100%;min-height:var(--control-h-sm);border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--surface);color:var(--text-primary);padding:0 var(--sp-2)}.system-settings-panel-header>div{display:grid;gap:var(--sp-half)}.system-settings-panel-header p{color:var(--text-secondary);font-size:var(--text-sm)}.system-settings-loading{min-height:88px;margin:0;padding:var(--sp-3);color:var(--text-secondary);font-size:var(--text-md);line-height:1.6}.system-settings-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.system-settings-group{display:grid;align-content:start;gap:var(--sp-2);padding:var(--sp-3)}.system-settings-group+.system-settings-group{border-left:1px solid var(--border-subtle)}.system-settings-group h4{color:var(--text-secondary);font-size:var(--text-sm);font-weight:650}.system-settings-group .registration-toggle,.system-number-setting{min-height:58px}.system-number-setting{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--surface-muted);color:var(--text-primary);padding:var(--sp-2)}.system-number-setting>span:first-child,.system-select-setting{font-size:var(--text-md);font-weight:650}.system-number-setting input{width:112px;min-width:0;min-height:var(--control-h-sm);border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--surface);color:var(--text-primary);padding:0 var(--sp-2)}.system-number-setting input:focus{border-color:var(--brand);outline:2px solid var(--focus-ring);outline-offset:1px}.system-select-setting>.select-field{flex:0 0 112px}.system-number-control{display:flex;align-items:center;gap:var(--sp-1);color:var(--text-secondary)}.system-settings-actions{display:flex;min-height:64px;align-items:center;justify-content:space-between;gap:var(--sp-3);border-top:1px solid var(--border-subtle);background:var(--surface-muted);padding:var(--sp-2) var(--sp-3)}.system-settings-actions>span{color:var(--text-secondary);font-size:var(--text-sm)}.admin-form-grid label.registration-toggle,.system-settings-group label.registration-toggle{position:relative;display:flex;min-height:60px;align-items:center;justify-content:space-between;gap:var(--sp-3);border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--surface-muted);color:var(--text-primary);cursor:pointer;padding:var(--sp-2)}.registration-toggle-copy{display:grid;min-width:0;gap:var(--sp-half)}.registration-toggle-label{color:var(--text-primary);font-size:var(--text-md);font-weight:650}.registration-toggle-description{color:var(--text-secondary);font-size:var(--text-sm)}.registration-toggle-control{position:relative;width:44px;height:24px;flex:0 0 44px}.admin-form-grid .registration-toggle-control input,.system-settings-group .registration-toggle-control input{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;width:100%;height:100%;min-height:0;margin:0;opacity:0;cursor:pointer}.registration-toggle-track{position:absolute;top:0;right:0;bottom:0;left:0;border:1px solid var(--border-strong);border-radius:var(--radius-full);background:var(--surface-raised);transition:background-color var(--dur) var(--ease),border-color var(--dur) var(--ease),box-shadow var(--dur) var(--ease)}.registration-toggle-thumb{position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:var(--text-tertiary);box-shadow:var(--shadow-soft);transition:background-color var(--dur) var(--ease),transform var(--dur) var(--ease)}.registration-toggle-control input:checked+.registration-toggle-track{border-color:var(--brand);background:var(--brand)}.registration-toggle-control input:checked+.registration-toggle-track .registration-toggle-thumb{background:var(--brand-contrast);transform:translate(20px)}.registration-toggle-control input:focus-visible+.registration-toggle-track{box-shadow:0 0 0 3px var(--focus-ring)}.registration-toggle-control input:disabled+.registration-toggle-track{opacity:.55}.admin-form-grid label.registration-toggle:has(input:disabled),.system-settings-group label.registration-toggle:has(input:disabled){cursor:not-allowed}.registration-panel-toolbar{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3)}.registration-panel-loading{margin:0;color:var(--text-secondary);padding:var(--sp-3)}.registration-panel-notice{margin:0;border:1px solid color-mix(in srgb,var(--accent-teal) 34%,transparent);border-radius:var(--radius-md);background:var(--accent-teal-soft);color:var(--accent-teal);padding:var(--sp-2)}.registration-schedule-form,.registration-invitation-form{grid-template-columns:repeat(2,minmax(0,1fr))}.registration-inline-options{display:flex;grid-column:1 / -1;align-items:center;gap:var(--sp-3);margin:0;border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--surface-muted);padding:var(--sp-2)}.registration-inline-options legend{color:var(--text-secondary);font-size:var(--text-sm);padding:0 var(--sp-1)}.admin-form-grid .registration-inline-options label{display:flex;align-items:center;gap:var(--sp-1);color:var(--text-primary)}.admin-form-grid .registration-inline-options input{width:auto;min-height:auto;accent-color:var(--brand)}.registration-form-preview{grid-column:1 / -1;border-radius:var(--radius-md);background:var(--surface-muted);color:var(--text-secondary);padding:var(--sp-2)}.registration-table-note{display:block;margin-top:var(--sp-half)}.registration-status-stack{display:grid;justify-items:start;gap:var(--sp-half)}.registration-current-match{color:var(--accent-teal);font-size:var(--text-xs);font-weight:700}.registration-invite-actions{min-width:420px}.registration-invite-code,.registration-revealed-code{display:inline-block;border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--surface-muted);color:var(--text-primary);font-family:ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.04em;padding:var(--sp-1) var(--sp-2)}.registration-revealed-code{overflow-x:auto;font-size:var(--text-lg);text-align:center}.registration-usage-list{display:grid;gap:var(--sp-2)}.registration-usage-item{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-2);border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--surface-muted);color:var(--text-primary);padding:var(--sp-2)}.registration-usage-item span{color:var(--text-secondary);font-size:var(--text-sm)}.admin-filter-bar{display:grid;grid-template-columns:repeat(4,minmax(120px,1fr)) auto;align-items:end;gap:var(--sp-2);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);background:var(--surface);padding:var(--sp-3)}.admin-filter-bar label{display:grid;gap:var(--sp-half);color:var(--text-secondary);font-size:var(--text-sm)}.admin-filter-bar input,.admin-filter-bar select{width:100%;min-height:var(--control-h);border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--surface-muted);color:var(--text-primary);padding:0 var(--sp-2)}.admin-filter-bar input:focus,.admin-filter-bar select:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px var(--focus-ring)}.admin-keyword-filter{min-width:0}.admin-keyword-field{display:grid;min-width:0;min-height:var(--control-h);grid-template-columns:20px minmax(0,1fr) var(--control-h-sm);align-items:center;gap:var(--sp-1);border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--surface-muted);color:var(--text-tertiary);padding:0 var(--sp-1) 0 var(--sp-2)}.admin-keyword-field:focus-within{border-color:var(--brand);box-shadow:0 0 0 3px var(--focus-ring)}.admin-filter-bar .admin-keyword-field input{min-height:calc(var(--control-h) - 2px);border:0;background:transparent;box-shadow:none;padding:0}.admin-filter-bar .admin-keyword-field input:focus{border-color:transparent;box-shadow:none}.admin-keyword-clear{min-width:var(--control-h-sm);min-height:var(--control-h-sm);border:0;border-radius:var(--radius-sm);background:transparent;color:var(--text-tertiary);padding:0}.admin-keyword-clear:hover:not(:disabled){background:var(--surface-raised);color:var(--text-primary);box-shadow:none;transform:none}.media-backup-admin-page .admin-data-table{min-width:980px}.media-backup-admin-mobile-list{display:none}.media-backup-admin-tabs{display:flex;flex-wrap:wrap;gap:var(--sp-1);border-bottom:1px solid var(--border-subtle)}.media-backup-admin-tab{min-height:var(--control-h);border:0;border-bottom:2px solid transparent;border-radius:var(--radius-sm) var(--radius-sm) 0 0;background:transparent;color:var(--text-secondary);cursor:pointer;font:inherit;font-size:var(--text-sm);font-weight:700;padding:0 var(--sp-3)}.media-backup-admin-tab:hover{background:var(--surface-muted);color:var(--text-primary);transform:none}.media-backup-admin-tab-active{border-bottom-color:var(--brand);color:var(--brand)}.media-backup-video-cell,.media-backup-place-cell{display:grid;min-width:0;gap:var(--sp-half)}.media-backup-video-cell>a{display:inline-flex;max-width:360px;align-items:center;gap:var(--sp-1);color:var(--brand);font-size:var(--text-sm);text-decoration:none}.media-backup-video-cell>a:hover{text-decoration:underline;text-underline-offset:3px}.media-backup-video-cell>a span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.media-backup-platform{width:fit-content;border:1px solid currentColor;border-radius:var(--radius-sm);font-size:var(--text-xs);font-weight:750;line-height:1;padding:var(--sp-half) var(--sp-1)}.media-backup-platform-douyin{color:var(--accent-rose)}.media-backup-platform-bilibili{color:var(--accent-violet)}.media-backup-place-cell strong{max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.media-backup-place-cell span{color:var(--text-secondary);font-size:var(--text-xs)}.media-backup-admin-status{display:inline-flex;width:fit-content;min-height:28px;align-items:center;gap:var(--sp-half);border:1px solid color-mix(in srgb,var(--accent-amber) 34%,transparent);border-radius:var(--radius-full);background:var(--accent-amber-soft);color:var(--accent-amber);font-size:var(--text-xs);font-weight:750;line-height:1;padding:0 var(--sp-2)}.media-backup-admin-status-done{border-color:color-mix(in srgb,var(--accent-teal) 34%,transparent);background:var(--accent-teal-soft);color:var(--accent-teal)}.media-backup-admin-status-failed{border-color:color-mix(in srgb,var(--accent-rose) 34%,transparent);background:var(--accent-rose-soft);color:var(--accent-rose)}.media-backup-admin-status-missing{border-color:var(--border-subtle);background:var(--surface-muted);color:var(--text-secondary)}.media-backup-admin-mobile-item{display:grid;gap:var(--sp-2);border-bottom:1px solid var(--border-subtle);padding:var(--sp-3)}.media-backup-admin-mobile-item:last-child{border-bottom:0}.media-backup-admin-mobile-heading,.media-backup-admin-mobile-meta,.media-backup-admin-mobile-actions{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-2)}.media-backup-admin-mobile-url{display:flex;min-width:0;align-items:center;gap:var(--sp-1);color:var(--brand);font-size:var(--text-sm);text-decoration:none}.media-backup-admin-mobile-url span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.media-backup-admin-mobile-meta>div{display:grid;min-width:0;gap:var(--sp-half)}.media-backup-admin-mobile-meta strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.media-backup-admin-mobile-meta span{color:var(--text-secondary);font-size:var(--text-xs)}.media-backup-admin-mobile-size{flex:0 0 auto;text-align:right}.media-backup-admin-mobile-size strong{white-space:nowrap}.media-backup-admin-mobile-actions{justify-content:flex-start}.media-backup-admin-spinner{animation:location-spin var(--dur-spinner) linear infinite}.media-backup-admin-feedback{display:inline-flex;width:fit-content;align-items:center;gap:var(--sp-2);border:1px solid color-mix(in srgb,var(--accent-teal) 34%,transparent);border-radius:var(--radius-md);background:var(--accent-teal-soft);color:var(--accent-teal);font-size:var(--text-sm);padding:var(--sp-2) var(--sp-3)}.media-backup-confirm-copy{margin:0;color:var(--text-secondary);line-height:1.5}@media (max-width: 720px){.media-backups-admin-page .admin-section-header-row{grid-template-columns:1fr}.media-backups-admin-page .admin-export-actions{justify-content:flex-start}.media-backup-admin-tabs{overflow-x:auto;flex-wrap:nowrap;padding-bottom:1px}.media-backup-admin-tab{flex:0 0 auto}.media-backup-admin-desktop-table{display:none}.media-backup-admin-mobile-list{display:block;overflow:hidden;border:1px solid var(--border-subtle);border-radius:var(--radius-lg);background:var(--surface)}}.admin-stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--sp-2)}.admin-stat-card,.admin-role-card{border:1px solid var(--border-subtle);border-radius:var(--radius-lg);background:var(--surface)}.admin-stat-card{display:grid;gap:var(--sp-half);padding:var(--sp-3)}.admin-stat-card span,.admin-stat-card small,.admin-role-card p{color:var(--text-secondary)}.admin-stat-card strong{color:var(--text-primary);font-size:var(--text-2xl);line-height:1.1}.admin-role-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:var(--sp-2)}.admin-role-card{display:grid;align-content:start;gap:var(--sp-3);padding:var(--sp-3)}.admin-role-card header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--sp-2)}.admin-role-card h3,.admin-role-card p{margin:0}.admin-role-card h3{color:var(--text-primary);font-size:var(--text-base);letter-spacing:0}.admin-chip-list{display:flex;flex-wrap:wrap;gap:var(--sp-1)}.admin-chip{display:inline-flex;align-items:center;min-height:28px;border:1px solid var(--border-subtle);border-radius:var(--radius-full);background:var(--surface-muted);color:var(--text-secondary);font-size:var(--text-xs);padding:0 var(--sp-2)}.admin-permission-matrix{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--sp-2)}.admin-permission-matrix fieldset{display:grid;gap:var(--sp-1);min-width:0;border:1px solid var(--border-subtle);border-radius:var(--radius-md);margin:0;padding:var(--sp-2)}.admin-permission-matrix legend{color:var(--text-primary);font-size:var(--text-sm);font-weight:750;padding:0 var(--sp-half)}.admin-checkbox-option{display:flex;align-items:center;gap:var(--sp-1);color:var(--text-secondary);font-size:var(--text-sm)}.admin-checkbox-option input[type=checkbox]{-moz-appearance:none;appearance:none;-webkit-appearance:none;flex:none;width:18px;height:18px;min-height:auto;margin:0;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background-color:var(--surface-muted);background-repeat:no-repeat;background-position:center;background-size:12px;cursor:pointer;transition:background-color var(--dur) var(--ease),border-color var(--dur) var(--ease),box-shadow var(--dur) var(--ease)}.admin-checkbox-option input[type=checkbox]:hover{border-color:var(--brand)}.admin-checkbox-option input[type=checkbox]:checked{border-color:var(--brand);background-color:var(--brand);background-image:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2016%2016'%20fill='none'%20stroke='%23fff'%20stroke-width='2'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpath%20d='M3.5%208.5l3%203%206-6'/%3E%3C/svg%3E")}.admin-checkbox-option input[type=checkbox]:focus-visible{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px var(--focus-ring)}.place-form{display:grid;gap:var(--sp-3);min-width:0}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-2);min-width:0}.place-form label{display:grid;gap:var(--sp-1);color:var(--text-secondary);font-size:var(--text-md);line-height:1.3}.media-first-field{border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--surface-muted);padding:var(--sp-2);transition:border-color var(--dur) var(--ease),background-color var(--dur) var(--ease),box-shadow var(--dur) var(--ease)}.media-drop-active{border-color:var(--brand);background:var(--brand-soft);box-shadow:0 0 0 3px var(--focus-ring)}.form-field-wide{grid-column:1 / -1}.form-inline-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--sp-2);align-items:start;min-width:0}.form-inline-triple{grid-template-columns:minmax(112px,.85fr) minmax(0,1.15fr)}.form-inline-cell{min-width:0}.form-inline-triple .tag-field{grid-column:1 / -1}.form-coordinate-group,.tag-field,.saved-media-panel{min-width:0}.visibility-toggle{display:grid;gap:var(--sp-1);min-width:0;border:0;margin:0;padding:0}.visibility-toggle legend{color:var(--text-secondary);font-size:var(--text-md)}.segmented-control{display:grid;min-height:var(--control-h);grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--sp-half);border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--surface-muted);padding:var(--sp-half)}.segmented-option{display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;font-weight:600;min-width:0;padding:0 var(--sp-1)}.segmented-option input{position:absolute;opacity:0;pointer-events:none}.segmented-option-active{background:var(--brand-soft);color:var(--brand)}.tag-field{position:relative;display:grid;gap:var(--sp-1)}.tag-field-controls{display:grid;grid-template-columns:minmax(0,1fr) var(--control-h);gap:var(--sp-1)}.tag-settings-button{min-width:var(--control-h);min-height:var(--control-h);border-color:var(--border-subtle);background:var(--surface-muted);color:var(--text-secondary);padding:0}.tag-settings-button:hover,.tag-settings-button[aria-expanded=true]{border-color:var(--brand);background:var(--brand-soft);color:var(--brand)}.tag-dropdown,.tag-settings-panel{position:absolute;top:calc(100% + 6px);right:0;left:0;z-index:var(--z-popover);border:1px solid var(--glass-border);border-radius:var(--radius-md);background:var(--glass-bg-heavy);box-shadow:var(--glass-highlight),var(--shadow-panel);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);animation:panel-in var(--dur-fast) var(--ease)}.tag-dropdown{display:flex;flex-wrap:wrap;gap:var(--sp-1);padding:var(--sp-1)}.tag-dropdown-option{min-height:32px;border-color:var(--border-subtle);border-radius:var(--radius-full);background:var(--surface-muted);color:var(--text-secondary);padding:0 var(--sp-2)}.tag-dropdown-option:hover,.tag-dropdown-option-active{border-color:var(--brand);background:var(--surface-raised);box-shadow:none;transform:none}.tag-dropdown-option-selected,.tag-dropdown-option-selected.tag-dropdown-option-active{border-color:var(--brand);background:var(--brand-soft);color:var(--brand)}.tag-settings-panel{padding:var(--sp-2);width:min(100%,320px);max-width:320px;left:auto}.form-section{border-top:1px solid var(--border-subtle);padding-top:var(--sp-1)}.form-section-summary{display:flex;min-height:var(--control-h);align-items:center;justify-content:space-between;gap:var(--sp-2);cursor:pointer;list-style:none;color:var(--text-primary);font-size:var(--text-md);font-weight:600}.form-section-summary::-webkit-details-marker{display:none}.form-section-title{display:inline-flex;min-width:0;align-items:center;gap:var(--sp-1)}.form-section-chevron{flex:0 0 auto;color:var(--text-tertiary);transition:transform var(--dur) var(--ease)}.form-section[open] .form-section-chevron{transform:rotate(180deg)}.form-section-summary-meta{overflow:hidden;color:var(--text-secondary);font-size:var(--text-sm);font-weight:500;text-align:right;text-overflow:ellipsis;white-space:nowrap}.form-section-body{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-2);min-width:0;padding-top:var(--sp-1)}.place-form input,.place-form select,.place-form textarea,.route-manager input,.route-manager select,.route-manager textarea{width:100%;min-width:0;min-height:var(--control-h);font-size:var(--text-base);border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--surface-muted);color:var(--text-primary);outline:none;padding:var(--sp-1) var(--sp-2);transition:background-color var(--dur) var(--ease),border-color var(--dur) var(--ease),box-shadow var(--dur) var(--ease)}.place-form input::placeholder,.place-form textarea::placeholder,.route-manager input::placeholder,.route-manager textarea::placeholder{color:var(--text-placeholder)}.place-form input[aria-invalid=true],.place-form textarea[aria-invalid=true],.route-manager input[aria-invalid=true],.route-manager textarea[aria-invalid=true]{border-color:var(--accent-rose);background:var(--accent-rose-soft)}.place-form textarea,.route-manager textarea{min-height:84px;resize:vertical}.place-form input[type=number],.route-manager input[type=number]{-webkit-appearance:none;-moz-appearance:textfield;appearance:textfield}.place-form input[type=number]::-webkit-outer-spin-button,.place-form input[type=number]::-webkit-inner-spin-button,.route-manager input[type=number]::-webkit-outer-spin-button,.route-manager input[type=number]::-webkit-inner-spin-button{margin:0;-webkit-appearance:none;-moz-appearance:none;appearance:none}.place-form input:focus,.place-form select:focus,.place-form textarea:focus,.route-manager input:focus,.route-manager select:focus,.route-manager textarea:focus{border-color:var(--brand);background:var(--surface-raised);box-shadow:0 0 0 3px var(--focus-ring)}.select-field,.date-field,.time-field{position:relative;display:grid;min-width:0;min-height:var(--control-h);grid-template-columns:minmax(0,1fr) 20px;align-items:center;border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--surface-muted);color:var(--text-secondary);padding:0 var(--sp-2);transition:background-color var(--dur) var(--ease),border-color var(--dur) var(--ease),box-shadow var(--dur) var(--ease)}.date-field,.time-field{grid-template-columns:20px minmax(0,1fr)}.date-field-desktop{grid-template-columns:20px minmax(0,1fr) var(--control-h-sm)}.date-field-toggle{min-width:var(--control-h-sm);min-height:var(--control-h-sm);border:0;border-radius:var(--radius-sm);background:transparent;box-shadow:none;color:var(--text-tertiary);padding:0}.date-field-toggle:hover{background:transparent;box-shadow:none;transform:none;color:var(--text-secondary)}.date-field-caret-open{transform:rotate(90deg)}.select-field:focus-within,.date-field:focus-within,.time-field:focus-within{border-color:var(--brand);background:var(--surface-raised);box-shadow:0 0 0 3px var(--focus-ring)}.select-field select,.date-field input,.time-field input{min-height:calc(var(--control-h) - 2px);border:0;background:transparent;box-shadow:none;padding:0}.select-field select{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding-right:var(--sp-1)}.select-field-trigger{display:inline-flex;min-height:calc(var(--control-h) - 2px);align-items:center;justify-content:space-between;gap:var(--sp-1);grid-column:1 / -1;border:0;border-radius:0;background:transparent;box-shadow:none;color:var(--text-primary);font-weight:400;padding:0}.select-field-trigger:hover{background:transparent;box-shadow:none;transform:none}.select-field-trigger:focus-visible{outline:none;box-shadow:none}.select-field-trigger .select-field-value{overflow:hidden;min-width:0;text-overflow:ellipsis;white-space:nowrap}.select-field-trigger svg{flex:0 0 auto;color:var(--text-tertiary)}.select-field-bare{position:relative;display:flex;min-width:0;flex:1}.select-field-trigger-toolbar{width:100%;min-height:calc(var(--control-h) - 2px);color:var(--text-primary);padding:0 var(--sp-1)}.select-field-bare:has(.select-field-trigger-toolbar):focus-within{border-color:var(--ui-brand);box-shadow:0 0 0 3px var(--ui-focus-ring)}.select-field-bare .select-field-listbox{min-width:max(100%,160px)}.select-field-listbox{position:fixed;top:auto;right:auto;left:auto;z-index:var(--z-popover);display:grid;gap:var(--sp-half);max-height:264px;margin:0;overflow:auto;border:1px solid var(--glass-border);border-radius:var(--radius-md);background:var(--glass-bg-heavy);box-shadow:var(--glass-highlight),var(--shadow-panel);padding:var(--sp-1);list-style:none;-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);animation:panel-in var(--dur-fast) var(--ease);scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent}.select-field-listbox-fullscreen{z-index:var(--z-fullscreen-popover)}.select-field-listbox-modal{z-index:var(--z-modal-popover)}.select-field-option{display:flex;min-height:var(--control-h-sm);align-items:center;border-radius:var(--radius-sm);color:var(--text-primary);cursor:pointer;padding:0 var(--sp-2);font-size:var(--text-md)}.select-field-option-active{background:var(--surface-muted)}.select-field-option[aria-selected=true]{background:var(--brand-soft);color:var(--brand);font-weight:600}.select-field-option[aria-selected=true].select-field-option-active{background:var(--brand-soft)}.select-field-listbox-toolbar .select-field-option[aria-selected=true]{background:var(--ui-selected-bg);color:var(--ui-selected-text)}.select-field-listbox-toolbar .select-field-option[aria-selected=true].select-field-option-active{background:var(--ui-selected-bg)}.date-field input,.time-field input{padding-left:var(--sp-1)}.time-field-invalid,.date-field-invalid{border-color:var(--accent-rose);background:var(--accent-rose-soft)}.place-form .time-field input[aria-invalid=true],.place-form .date-field input[aria-invalid=true]{border:0;background:transparent}.select-field-placeholder{color:var(--text-placeholder)}.admin-filter-bar .select-field select,.admin-form-grid .select-field select{border:0;background:transparent}.admin-filter-bar .select-field select:focus,.admin-form-grid .select-field select:focus{border:0;box-shadow:none}.date-field input::-webkit-calendar-picker-indicator{opacity:0}.date-field-popover{position:fixed;top:auto;right:auto;left:auto;z-index:var(--z-popover);display:grid;gap:var(--sp-1);min-width:248px;max-width:calc(100vw - 16px);border:1px solid var(--glass-border);border-radius:var(--radius-md);background:var(--glass-bg-heavy);box-shadow:var(--glass-highlight),var(--shadow-panel);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);padding:var(--sp-2);animation:panel-in var(--dur-fast) var(--ease)}.date-field-nav{display:grid;grid-template-columns:var(--control-h-sm) minmax(0,1fr) var(--control-h-sm);align-items:center;gap:var(--sp-1)}.date-field-nav button{min-width:var(--control-h-sm);min-height:var(--control-h-sm);border-color:var(--border-subtle);background:var(--surface-muted);color:var(--text-secondary);padding:0}.date-field-month{color:var(--text-primary);font-size:var(--text-md);font-weight:500;text-align:center}.date-field-weekdays,.date-field-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:var(--sp-half)}.date-field-weekdays span{color:var(--text-muted-info);font-size:var(--text-sm);text-align:center;padding:var(--sp-1) 0}.date-field-day{min-height:32px;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--text-primary);font-weight:400;padding:0}.date-field-day:hover{background:var(--surface-raised);box-shadow:none;transform:none}.date-field-day-selected,.date-field-day-selected:hover{background:var(--brand);color:var(--brand-contrast)}.date-field-blank{min-height:32px}.file-dropzone{position:relative;display:grid;min-height:92px;grid-template-columns:40px minmax(0,1fr);align-items:center;gap:var(--sp-2);border:1px dashed var(--border-strong);border-radius:var(--radius-md);background:var(--surface-muted);color:var(--text-secondary);cursor:pointer;padding:var(--sp-2)}.file-dropzone:hover{border-color:var(--brand);background:var(--surface-raised)}.file-dropzone-input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer}.file-dropzone-icon{display:inline-flex;width:40px;height:40px;align-items:center;justify-content:center;border-radius:var(--radius-md);background:var(--brand-soft);color:var(--brand)}.file-dropzone-copy{display:grid;min-width:0;gap:var(--sp-half)}.file-dropzone-copy strong{color:var(--text-primary);font-size:var(--text-md);font-weight:600}.file-dropzone-copy span{color:var(--text-secondary);font-size:var(--text-sm);line-height:1.4}.pending-media-list{display:grid;gap:var(--sp-1);margin:var(--sp-2) 0 0;padding:0;list-style:none}.pending-media-item{display:grid;min-width:0;grid-template-columns:36px minmax(0,1fr) 36px;align-items:center;gap:var(--sp-1);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:var(--surface-muted);padding:var(--sp-1)}.pending-media-icon{display:inline-flex;width:36px;height:36px;align-items:center;justify-content:center;border-radius:var(--radius-sm);background:var(--surface-raised);color:var(--text-secondary)}.pending-media-copy{display:grid;min-width:0;gap:var(--sp-half)}.pending-media-copy strong,.pending-media-copy span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pending-media-copy strong{color:var(--text-primary);font-size:var(--text-md);font-weight:600}.pending-media-copy span{color:var(--text-secondary);font-size:var(--text-xs)}.pending-media-uploading .pending-media-icon{background:var(--brand-soft);color:var(--brand)}.pending-media-uploaded .pending-media-icon{background:var(--accent-teal-soft);color:var(--accent-teal)}.pending-media-failed .pending-media-icon{background:var(--accent-rose-soft);color:var(--accent-rose)}.pending-media-remove{min-width:36px;min-height:36px;border-color:var(--border-subtle);background:transparent;color:var(--text-secondary);padding:0}.pending-media-remove:hover{background:var(--surface-raised);color:var(--accent-rose);box-shadow:none}.form-error{margin:0;border:1px solid var(--accent-rose);border-radius:var(--radius-md);background:var(--accent-rose-soft);color:var(--accent-rose);padding:var(--sp-1) var(--sp-2)}.form-progress{margin:0;border:1px solid var(--brand);border-radius:var(--radius-md);background:var(--brand-soft);color:var(--brand);font-size:var(--text-md);font-weight:600;padding:var(--sp-1) var(--sp-2);display:grid;gap:var(--sp-1)}.form-progress-label{min-width:0;overflow-wrap:anywhere}.form-progress-bar{width:100%;height:8px;accent-color:var(--brand)}.form-submit-button{display:inline-flex;min-width:120px;align-items:center;justify-content:center;gap:var(--sp-1)}.form-submit-button[aria-busy=true]:disabled{background:var(--brand);color:var(--brand-contrast);opacity:1}:root[data-theme=light] .form-submit-button[aria-busy=true]:disabled{color:#fff}.form-submit-spinner{flex:0 0 auto;animation:location-spin var(--dur-spinner) linear infinite}.field-error,.password-field{display:grid;gap:var(--sp-half)}.password-field-control{position:relative;display:flex;align-items:center}.password-field-input{width:100%;min-height:var(--control-h);border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--surface-muted);padding:0 calc(var(--control-h) - var(--sp-1)) 0 var(--sp-2);font-size:var(--text-base);color:var(--text-primary)}.password-field-toggle{position:absolute;right:4px;display:inline-flex;align-items:center;justify-content:center;width:var(--control-h-sm);min-width:var(--control-h-sm);height:var(--control-h-sm);min-height:var(--control-h-sm);padding:0;border:0;border-radius:var(--radius-sm);background:transparent;box-shadow:none;color:var(--text-tertiary);cursor:pointer}.password-field-toggle:hover{background:transparent;box-shadow:none;transform:none;color:var(--text-secondary)}.password-strength{display:flex;align-items:center;gap:var(--sp-1)}.password-strength-bar{height:4px;flex:1;border-radius:var(--radius-full);background:var(--surface-raised)}.password-strength-1{background:linear-gradient(to right,var(--accent-rose) 33%,var(--surface-raised) 33%)}.password-strength-2{background:linear-gradient(to right,var(--accent-amber) 66%,var(--surface-raised) 66%)}.password-strength-3{background:var(--accent-teal)}.password-strength-text{color:var(--text-muted-info);font-size:var(--text-sm);white-space:nowrap}.field-hint{color:var(--text-secondary);font-size:var(--text-sm);line-height:1.4}.field-hint-warning{color:var(--accent-amber)}.field-error{color:var(--accent-rose)}.checkbox-field{display:flex;align-items:center;gap:var(--sp-1);color:var(--text-secondary)}.checkbox-field input[type=checkbox]{width:18px;min-width:18px;height:18px;min-height:18px;margin:0;accent-color:var(--brand)}.common-tag-panel{display:grid;gap:var(--sp-2);border-top:1px solid var(--border-subtle);border-bottom:1px solid var(--border-subtle);padding:var(--sp-2) 0}.form-section-body>.common-tag-panel{border-top:0;padding-top:0}.tag-settings-panel .common-tag-panel{border-top:0;border-bottom:0;padding:0}.common-tag-header{color:var(--text-secondary);font-size:var(--text-md);line-height:1.3}.common-tag-list{display:flex;flex-wrap:wrap;gap:var(--sp-1)}.common-tag{display:inline-flex;overflow:hidden;align-items:stretch;border:1px solid var(--border-subtle);border-radius:var(--radius-full);background:var(--surface-muted);transition:border-color var(--dur) var(--ease),background-color var(--dur) var(--ease)}.common-tag button{min-height:32px;border:0;border-radius:0;background:transparent;color:var(--text-secondary);font-weight:500;padding:0 var(--sp-2)}.common-tag button:hover{background:var(--surface-raised);box-shadow:none;transform:none}.common-tag-selected{border-color:var(--brand);background:var(--brand-soft)}.common-tag-selected button{color:var(--brand)}.common-tag .common-tag-remove{border-left:1px solid var(--border-subtle);color:var(--text-tertiary);padding:0 var(--sp-1)}.common-tag-editor{display:grid;grid-template-columns:minmax(0,1fr) var(--control-h);gap:var(--sp-1)}.common-tag-add-button{min-width:var(--control-h);min-height:var(--control-h);padding:0}.external-video-quick,.external-video-editor{display:grid;gap:var(--sp-1);min-width:0}.external-video-quick>label,.external-video-editor-header{color:var(--text-secondary);font-size:var(--text-md);line-height:1.3}.external-video-quick-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:var(--sp-1);align-items:center;min-width:0}.external-video-quick-row button{width:36px;min-width:36px;height:36px;min-height:36px;padding:0;white-space:nowrap}.external-video-paste-button{min-width:var(--control-h)}.external-video-editor{border-top:1px solid var(--border-subtle);padding-top:var(--sp-2)}.external-video-editor-header{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-2)}.external-video-editor-header span:first-child{color:var(--text-primary);font-weight:600}.external-video-editor-list{display:grid;gap:var(--sp-2)}.external-video-editor-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--sp-1);align-items:end;min-width:0}.saved-media-panel{display:grid;gap:var(--sp-2);border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--surface-muted);padding:var(--sp-2)}.saved-media-header{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-2);color:var(--text-secondary);font-size:var(--text-md);line-height:1.3}.saved-media-header span:first-child{color:var(--text-primary);font-weight:600}.saved-media-grid{display:grid;gap:var(--sp-1)}.saved-media-item{display:grid;grid-template-columns:72px minmax(0,1fr) auto;align-items:center;gap:var(--sp-2);border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--surface-muted);padding:var(--sp-1)}.saved-media-thumb{display:grid;width:72px;height:56px;place-items:center;overflow:hidden;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:var(--surface-raised);color:var(--text-secondary);font-size:var(--text-sm);font-weight:600}.saved-media-thumb img,.saved-media-thumb video{width:100%;height:100%;object-fit:cover}.saved-media-meta{display:grid;min-width:0;gap:var(--sp-half)}.saved-media-meta span{color:var(--text-primary);font-size:var(--text-md);font-weight:600}.saved-media-meta small{overflow:hidden;color:var(--text-secondary);font-size:var(--text-xs);text-overflow:ellipsis;white-space:nowrap}.saved-media-remove{min-height:36px;padding:0 var(--sp-2)}.media-draft-panel{display:grid;min-width:0;gap:var(--sp-2);border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--surface-muted);padding:var(--sp-2)}.media-draft-header{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-2);color:var(--text-secondary);font-size:var(--text-sm);cursor:pointer;list-style:none}.media-draft-header::-webkit-details-marker{display:none}.media-draft-title{display:inline-flex;align-items:center;gap:var(--sp-1)}.media-draft-chevron{transition:transform var(--dur-fast) var(--ease)}.media-draft-panel[open] .media-draft-chevron{transform:rotate(180deg)}.media-draft-header strong{color:var(--text-primary);font-size:var(--text-md)}.media-draft-list{display:grid;gap:var(--sp-1);margin:0;padding:0;list-style:none}.media-draft-item{display:grid;min-width:0;grid-template-columns:44px 72px minmax(0,1fr) auto;align-items:center;gap:var(--sp-2);border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--surface-raised);padding:var(--sp-1);transition:border-color var(--dur-fast) var(--ease),box-shadow var(--dur-fast) var(--ease),opacity var(--dur-fast) var(--ease)}.media-draft-item-dragging{border-color:var(--brand);box-shadow:var(--shadow-md);opacity:.28}.media-draft-item-placeholder{border-style:dashed;background:color-mix(in srgb,var(--brand-soft) 42%,var(--surface-raised))}.media-draft-overlay{position:fixed;z-index:var(--z-modal);pointer-events:none;margin:0;box-shadow:var(--shadow-lg),0 0 0 1px var(--brand);opacity:.96;transform:rotate(.6deg) scale(1.025);transform-origin:center;will-change:top,left,transform}.media-draft-overlay-dropping{opacity:0;transform:rotate(0) scale(.98);transition:top var(--dur-fast) var(--ease),left var(--dur-fast) var(--ease),opacity var(--dur-fast) var(--ease),transform var(--dur-fast) var(--ease)}.media-draft-overlay-handle,.media-draft-overlay-thumb{cursor:grabbing}.media-draft-handle,.media-draft-thumb{position:relative;min-width:44px;min-height:44px;border-color:transparent;background:transparent;padding:0}.media-draft-handle{color:var(--text-secondary);cursor:grab;touch-action:pan-y;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.media-draft-handle:active{cursor:grabbing}.media-draft-thumb{display:grid;width:72px;height:56px;overflow:hidden;place-items:center;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:zoom-in}.media-draft-thumb img,.media-draft-thumb video{width:100%;height:100%;object-fit:cover}.media-draft-zoom{position:absolute;right:3px;bottom:3px;display:grid;width:24px;height:24px;place-items:center;border-radius:50%;background:#141b26b8;color:#fff}.media-draft-copy{display:grid;min-width:0;gap:var(--sp-half)}.media-draft-copy span,.media-draft-copy small{overflow:hidden;color:var(--text-secondary);font-size:var(--text-xs);text-overflow:ellipsis;white-space:nowrap}.media-draft-error{color:var(--accent-rose);white-space:normal}.media-backup-badge{width:fit-content;border:1px solid currentColor;border-radius:var(--radius-sm);padding:var(--sp-half) var(--sp-1)}.media-backup-badge-done{background:var(--accent-teal-soft);color:var(--accent-teal)}.media-backup-badge-pending,.media-backup-badge-downloading{background:var(--accent-amber-soft);color:var(--accent-amber)}.media-backup-badge-failed{background:var(--accent-rose-soft);color:var(--accent-rose)}.media-draft-progress{width:min(240px,100%);height:6px;accent-color:var(--brand)}.media-draft-actions{display:flex;gap:var(--sp-1)}.media-draft-actions button{display:inline-grid;min-width:44px;min-height:44px;place-items:center;padding:0}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);clip-path:inset(50%);white-space:nowrap}.form-actions{display:flex;flex-wrap:wrap;gap:var(--sp-2)}.card-header{position:relative}.card-header h2{overflow-wrap:anywhere}.place-details{display:grid;min-width:0;gap:var(--sp-3)}.place-basic-info-details{border-top:1px solid var(--border-subtle);border-bottom:1px solid var(--border-subtle);overflow:hidden}.place-basic-info-details summary{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:var(--sp-2);cursor:pointer;list-style:none;padding:var(--sp-2) var(--sp-1) var(--sp-2) 0;color:var(--text-primary);font-size:var(--text-sm);font-weight:600}.place-basic-info-details summary::-webkit-details-marker{display:none}.place-basic-info-chevron{display:block;color:var(--text-secondary);transition:transform var(--dur-fast) var(--ease)}.place-basic-info-summary{min-width:0;overflow:hidden;justify-self:end;color:var(--text-secondary);font-size:var(--text-xs);font-weight:400;text-overflow:ellipsis;white-space:nowrap}.place-basic-info-details[open] .place-basic-info-chevron{transform:rotate(90deg)}.place-basic-info-content{display:grid;gap:var(--sp-2);border-top:1px solid var(--border-subtle);padding:var(--sp-2) 0 0}.place-details>[role=tabpanel]{min-width:0}.place-details-tab-panel{display:grid;gap:var(--sp-3)}.place-details-tab-panel[hidden]{display:none}.place-details-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--sp-2)}.place-details-header h2{flex:1;margin-right:0}.card-header-actions{display:flex;flex:0 0 auto;align-items:center;gap:var(--sp-1)}.card-header-actions .card-close{position:static}.place-navigation-button{display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-1);min-height:40px;border:1px solid var(--border-strong);border-radius:var(--radius-md);background:transparent;color:var(--text-primary);padding:var(--sp-1) var(--sp-2);box-shadow:none}.place-navigation-button:hover{background:var(--surface-muted);box-shadow:none}.place-icon-button{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--text-primary);padding:0;box-shadow:none}.place-icon-button:hover{background:var(--surface-muted);box-shadow:none}.place-details-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--sp-half);border-radius:var(--radius-md);background:var(--surface-muted);padding:var(--sp-half)}.place-details-tab{min-width:0;border:0;background:transparent;box-shadow:none;color:var(--text-secondary);padding:var(--sp-1) var(--sp-2)}.place-details-tab:hover{background:var(--surface-raised);box-shadow:none;transform:none}.place-details-tab[aria-selected=true]{background:var(--surface);color:var(--accent-strong);box-shadow:0 1px 4px #0000000f}.floating-card.detail-card:has(.place-details-tab-panel:not([hidden]) .place-routes-section){background:var(--surface)}.place-details:has(.place-details-tab-panel:not([hidden]) .place-routes-section)>.form-actions{padding-top:var(--sp-2);border-top:1px solid var(--border-subtle)}.place-routes-section,.place-route-active-details,.place-route-nodes,.place-route-node-detail{display:grid;min-width:0;gap:var(--sp-2)}.place-routes-heading{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--sp-2)}.place-route-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr));min-width:0;gap:var(--sp-2)}.place-route-actions button{width:100%;min-width:0;white-space:normal;overflow-wrap:anywhere}.place-routes-heading h3,.place-route-nodes h4,.place-route-node-detail h4{margin:0}.place-routes-heading h3{font-size:var(--text-md)}.place-routes-heading>span{color:var(--text-tertiary);font-size:var(--text-xs)}.place-routes-section{gap:var(--sp-3)}.place-route-nodes h4,.place-route-node-detail h4{font-size:var(--text-md)}.place-route-list{display:grid;gap:var(--sp-2)}.place-route-card{overflow:hidden;border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--surface)}.place-route-card-active{border-color:color-mix(in srgb,var(--accent) 25%,var(--border-subtle));background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 3%,var(--surface)),var(--surface) 70%);box-shadow:0 2px 8px #0000000a}.place-route-select{display:grid;width:100%;min-width:0;justify-content:stretch;gap:var(--sp-2);border:0;border-radius:0;background:transparent;box-shadow:none;color:var(--text-secondary);font-size:var(--text-sm);text-align:left;white-space:normal;padding:var(--sp-3)}.place-route-select:hover{background:var(--surface-soft);box-shadow:none;transform:none}.place-route-select strong{min-width:0;color:var(--text-primary);font-size:var(--text-md);overflow-wrap:anywhere}.place-route-title-row{display:flex;min-width:0;align-items:center;gap:var(--sp-2)}.place-route-title-row strong{flex:1;line-height:1.5}.place-route-symbol{display:grid;width:32px;height:32px;flex:0 0 32px;place-items:center;border-radius:var(--radius-sm);background:var(--brand-soft);color:var(--accent-strong)}.place-route-selected-icon{flex:0 0 auto;color:var(--accent-strong)}.place-route-metrics,.place-route-tags{display:flex;min-width:0;flex-wrap:wrap;align-items:center;gap:var(--sp-1) var(--sp-2)}.place-route-metrics{line-height:1.5;gap:var(--sp-2) var(--sp-3);padding:var(--sp-half) 0}.place-route-metrics .place-route-distance{display:grid;gap:var(--sp-half);color:var(--text-primary);font-weight:600;font-size:1.5rem;line-height:1.2;letter-spacing:-.03em;font-variant-numeric:tabular-nums}.place-route-distance small{color:var(--text-tertiary);font-size:var(--text-xs);font-weight:400;letter-spacing:normal}.place-route-metric{display:inline-flex;align-items:center;gap:var(--sp-half);color:var(--text-secondary);font-size:var(--text-xs)}.place-route-metric svg{flex:0 0 auto}.place-route-tags{gap:var(--sp-1)}.place-route-tags>span{border-radius:var(--radius-full);background:var(--surface-soft);color:var(--text-secondary);padding:var(--sp-half) var(--sp-1);font-size:var(--text-xs);font-weight:400;line-height:1.4}.place-route-tags>.place-route-tag-muted{background:transparent;padding-left:0;color:var(--text-tertiary)}.place-route-node-occurrences{display:grid;gap:var(--sp-1);margin:0;padding:0;list-style:none}.place-route-node-list{display:grid;margin:0;padding:0;list-style:none}.place-route-node-list>li{position:relative;min-width:0;padding-bottom:var(--sp-1)}.place-route-node-list>li:not(:last-child):before{position:absolute;top:40px;bottom:-9px;left:25px;width:1px;background:var(--border-subtle);content:""}.place-route-node-list button{position:relative;display:flex;width:100%;align-items:flex-start;justify-content:flex-start;gap:var(--sp-2);border:1px solid transparent;background:transparent;box-shadow:none;padding:var(--sp-1);text-align:left;min-width:0;white-space:normal;overflow-wrap:anywhere}.place-route-node-list button:hover{background:var(--surface-soft);box-shadow:none;transform:none}.place-route-stop-number{display:grid;width:32px;height:32px;flex:0 0 32px;place-items:center;border:1px solid var(--border-subtle);border-radius:var(--radius-full);background:var(--surface);color:var(--text-secondary);font-size:var(--text-xs);font-variant-numeric:tabular-nums}.place-route-stop-copy{display:grid;min-width:0;gap:var(--sp-half);padding-top:var(--sp-half)}.place-route-stop-copy strong{color:var(--text-primary);font-size:var(--text-sm)}.place-route-stop-copy>span{color:var(--text-secondary);font-size:var(--text-xs);font-weight:400}.place-route-node-list button[aria-pressed=true]{border-color:var(--border-subtle);background:var(--surface-soft);color:var(--accent-strong)}.place-route-stop-chevron{flex:0 0 auto;align-self:center;margin-left:auto;color:var(--text-tertiary)}.place-route-node-list button[aria-pressed=true] .place-route-stop-number{border-color:color-mix(in srgb,var(--accent) 30%,var(--border-subtle));color:var(--accent-strong)}.place-route-select:focus-visible,.route-manager-route-select:focus-visible,.place-route-node-list button:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.place-route-node-detail{border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--surface-muted);padding:var(--sp-2)}.place-route-node-detail img{width:100%;height:180px;border-radius:var(--radius-md);object-fit:cover}.place-routes-section .place-route-active-details>p,.place-routes-section .place-route-node-detail p{margin:0;color:var(--text-secondary);font-size:var(--text-sm);line-height:1.6}.place-routes-section .place-route-node-detail{gap:var(--sp-1);border:0;background:var(--surface-soft);padding:var(--sp-3)}.place-routes-section .place-route-node-detail h4{color:var(--text-secondary);font-size:var(--text-xs);font-weight:500}.place-routes-section .place-route-node-occurrences{color:var(--text-secondary);font-size:var(--text-xs)}.place-routes-section .place-route-node-detail>button{justify-self:start}.place-route-disclaimer{margin:0;border-radius:var(--radius-md);background:var(--surface-soft);color:var(--text-secondary);padding:var(--sp-2);font-size:var(--text-sm)}.place-routes-section .place-route-disclaimer{display:grid;grid-template-columns:14px minmax(0,1fr);align-items:start;gap:var(--sp-1);background:transparent;border-top:1px solid var(--border-subtle);border-radius:0;padding:var(--sp-2) 0 0;color:var(--text-tertiary);font-size:var(--text-xs);line-height:1.6}.place-routes-section .place-route-disclaimer svg{margin-top:3px}.place-route-load-error{border:1px solid var(--feedback-error);border-radius:var(--radius-md);color:var(--feedback-error);padding:var(--sp-2)}.route-node-marker{--route-node-color: #334155;display:inline-flex;width:32px;height:32px;min-width:32px;min-height:32px;max-width:32px;max-height:32px;align-items:center;justify-content:center;padding:0;border:1px solid color-mix(in srgb,var(--route-node-color) 34%,transparent);border-radius:var(--radius-full);background:color-mix(in srgb,var(--route-node-color) 12%,#ffffff);color:var(--route-node-color);box-shadow:none;font-size:15px;font-weight:700;line-height:1;letter-spacing:0}:root[data-theme=light] .route-node-marker{color:var(--route-node-color)}.route-node-marker-icon{width:16px;height:16px;pointer-events:none}.route-node-marker-parking{--route-node-color: #2563eb}.route-node-marker-entrance{--route-node-color: #6d28d9}.route-node-marker-trailhead{--route-node-color: #b45309}.route-node-marker-viewpoint{--route-node-color: #047857}.route-node-marker-rest{--route-node-color: #475569}.route-node-marker-supply{--route-node-color: #c2410c}.route-node-marker-warning{--route-node-color: #dc2626}.route-place-marker{display:inline-flex;width:34px;height:34px;align-items:center;justify-content:center;border:3px solid #ffffff;border-radius:var(--radius-full);background:var(--accent-strong);color:var(--brand-contrast);box-shadow:var(--shadow-control);font-size:var(--text-sm);font-weight:800}.route-manager-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-fullscreen);background:var(--scrim)}.route-manager{display:grid;width:100%;height:100vh;height:100dvh;grid-template-columns:minmax(0,1.5fr) minmax(340px,.8fr);overflow:hidden;background:var(--surface)}.route-manager-map-shell,.route-manager-map{min-width:0;min-height:0}.route-manager-map-shell{position:relative;overflow:hidden}.route-manager-map{width:100%;height:100%}.route-manager-map-error{position:absolute;right:var(--sp-3);bottom:var(--sp-3);left:var(--sp-3);margin:0}.route-manager-panel{display:grid;min-width:0;align-content:start;gap:var(--sp-3);overflow:auto;overscroll-behavior:contain;border-left:1px solid var(--border-subtle);padding:var(--sp-4)}.route-manager-header,.route-manager-section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--sp-2)}.route-manager-header h2,.route-manager-header p,.route-manager-section-heading h3,.place-node-editor h3,.place-node-replacements h4{margin:0}.route-manager-header h2{font-size:var(--text-lg)}.route-manager-header .card-close{position:static}.route-manager-section-heading h3,.place-node-editor h3{font-size:var(--text-base)}.route-manager-section-copy{display:contents}.route-manager-section-heading{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:var(--sp-1) var(--sp-2);margin-bottom:var(--sp-3)}.route-manager-section-copy h3{grid-column:1;grid-row:1;min-width:0}.route-manager-section-heading>.primary-button{grid-column:2;grid-row:1}.route-manager-section-copy h3,.route-manager-section-copy p{margin:0}.route-manager-section-copy p{grid-column:1 / -1;grid-row:2;color:var(--text-secondary);font-size:var(--text-sm);line-height:1.6}.place-node-replacements h4{font-size:var(--text-md)}.route-manager-header .eyebrow{color:var(--text-secondary);font-size:var(--text-sm)}.route-manager-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--sp-half);border-radius:var(--radius-md);background:var(--surface-muted);padding:var(--sp-half)}.route-manager-tabs [role=tab]{border:0;border-radius:var(--radius-sm);background:transparent;box-shadow:none;color:var(--text-secondary)}.route-manager-tabs [role=tab]:not([aria-selected=true]):hover{background:var(--surface-raised);box-shadow:none;transform:none;color:var(--text-primary)}.route-manager-tabs [role=tab][aria-selected=true]{background:var(--surface);color:var(--accent-strong);box-shadow:0 1px 4px #0000000f}.route-manager-route-list,.place-node-list{display:grid;gap:var(--sp-2);margin:0;padding:0;list-style:none}.route-manager-route-list li,.place-node-list>li{min-width:0;border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--surface-muted);padding:var(--sp-2);transition:border-color var(--dur) var(--ease),box-shadow var(--dur) var(--ease),background-color var(--dur) var(--ease)}.route-manager-route-list li{cursor:pointer;background:var(--surface)}.place-node-list>li{cursor:pointer}.route-manager-route-list li:hover,.place-node-list>li:hover{background:var(--surface-raised)}.route-manager-route-list li.route-manager-route-card-active{border-color:color-mix(in srgb,var(--accent) 25%,var(--border-subtle));background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 3%,var(--surface)),var(--surface) 70%);box-shadow:0 2px 8px #0000000a}.place-node-card-active{border-color:var(--accent);background:var(--surface-raised);box-shadow:0 0 0 2px var(--focus-ring)}.route-manager-route-select{display:grid;width:100%;min-width:0;justify-content:stretch;gap:var(--sp-1);border:0;border-radius:var(--radius-sm);background:transparent;box-shadow:none;color:var(--text-secondary);text-align:left;white-space:normal;padding:var(--sp-1)}.route-manager-route-select:hover,.place-node-select:hover{background:transparent;box-shadow:none;transform:none}.route-manager-route-select strong{min-width:0;color:var(--text-primary);font-size:var(--text-md);overflow-wrap:anywhere}.route-manager-route-select .place-route-metrics{font-size:var(--text-sm)}.route-manager-route-summary{display:flex;min-width:0;flex-wrap:wrap;align-items:center;gap:var(--sp-1) var(--sp-3)}.route-manager-route-summary .place-route-distance{font-size:var(--text-lg);line-height:1.5;letter-spacing:normal}.route-manager-route-summary .place-route-metrics{padding:0}.place-node-select{display:grid;grid-column:1;grid-row:1;width:100%;min-width:0;gap:var(--sp-half);border:0;border-radius:var(--radius-sm);background:transparent;box-shadow:none;color:var(--text-secondary);justify-content:start;justify-items:start;text-align:left;padding:var(--sp-1)}.place-node-select strong{min-width:0;color:var(--text-primary);font-size:var(--text-md);overflow-wrap:anywhere}.place-node-select span{font-size:var(--text-sm)}.place-node-list>li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--sp-1) var(--sp-2)}.place-node-list>li>div{display:grid;min-width:0;gap:var(--sp-half)}.place-node-list>li>div span,.place-node-list>li>p{color:var(--text-secondary);font-size:var(--text-sm)}.place-node-list>li>p{grid-column:1 / -1;margin:0}.place-node-list>li>.secondary-button{grid-column:2;grid-row:1}.route-manager-card-detail{display:grid;grid-column:1 / -1;gap:var(--sp-half);border-top:1px solid var(--border-subtle);margin:0;padding:var(--sp-2) var(--sp-1) 0;color:var(--text-secondary);font-size:var(--text-sm);line-height:1.45}.route-manager-route-list .route-manager-card-detail{order:1;border-top:0;padding:0 var(--sp-1);gap:var(--sp-half);color:var(--text-tertiary);font-size:var(--text-xs)}.route-manager-card-detail p{margin:0;overflow-wrap:anywhere}.place-node-editor{display:grid;gap:var(--sp-3)}.place-node-editor>label,.place-node-replacements label{display:grid;gap:var(--sp-1);color:var(--text-secondary);font-size:var(--text-md);line-height:1.3}.place-node-editor .coordinate-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--sp-2)}.place-node-editor .coordinate-grid label{display:grid;min-width:0;gap:var(--sp-1)}.place-node-photo-field,.place-node-replacements{display:grid;min-width:0;gap:var(--sp-2)}.place-node-replacements{border:1px solid color-mix(in srgb,var(--accent-amber) 34%,transparent);border-radius:var(--radius-md);background:var(--accent-amber-soft);padding:var(--sp-2)}.route-semantic-node,.route-picked-point{display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-full)}.route-semantic-node{--route-node-color: #334155;width:32px;height:32px;min-width:32px;min-height:32px;max-width:32px;max-height:32px;padding:0;border:1px solid #94a3b8;border:1px solid color-mix(in srgb,var(--route-node-color) 34%,transparent);background:#f8fafc;background:color-mix(in srgb,var(--route-node-color) 12%,#ffffff);color:var(--route-node-color);box-shadow:none;font-size:15px;font-weight:700;line-height:1;letter-spacing:0;transition:box-shadow var(--dur) var(--ease)}:root[data-theme=light] .route-semantic-node{color:var(--route-node-color)}.route-semantic-node-icon{width:16px;height:16px;pointer-events:none}.route-semantic-node:hover,.route-semantic-node:focus-visible{outline:none;background:color-mix(in srgb,var(--route-node-color) 18%,#ffffff);box-shadow:0 0 0 2px #fff,0 0 0 4px var(--route-node-color)}.route-semantic-node-selected{background:color-mix(in srgb,var(--route-node-color) 18%,#ffffff);box-shadow:0 0 0 2px #fff,0 0 0 4px var(--route-node-color)}.route-semantic-node-parking{--route-node-color: #2563eb}.route-semantic-node-entrance{--route-node-color: #6d28d9}.route-semantic-node-trailhead{--route-node-color: #b45309}.route-semantic-node-viewpoint{--route-node-color: #047857}.route-semantic-node-rest{--route-node-color: #475569}.route-semantic-node-supply{--route-node-color: #c2410c}.route-semantic-node-warning{--route-node-color: #dc2626}.route-picked-point{width:22px;height:22px;border:3px solid #ffffff;background:var(--accent);box-shadow:var(--shadow-control)}.route-editor-layout{display:grid;width:100%;height:100%;min-height:0;grid-template-columns:minmax(0,1.5fr) minmax(340px,.8fr);overflow:hidden;background:var(--surface)}.route-editor-layout-external{display:contents}.route-manager>.route-editor-layout{grid-row:1 / -1;grid-column:1 / -1}.route-editor-fields{display:grid;min-width:0;min-height:0;align-content:start;gap:var(--sp-3);overflow:auto;overscroll-behavior:contain;border-left:1px solid var(--border-subtle);padding:var(--sp-4)}.place-node-location-actions{display:flex;flex-wrap:wrap;gap:var(--sp-2)}.place-node-location-actions button{flex:1 1 160px}.route-form-control{width:100%;min-width:0;min-height:var(--control-h);border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--surface-muted);color:var(--text-primary);outline:none;padding:var(--sp-1) var(--sp-2);font-size:var(--text-base);transition:background-color var(--dur) var(--ease),border-color var(--dur) var(--ease),box-shadow var(--dur) var(--ease)}.route-form-control::placeholder{color:var(--text-placeholder)}.route-form-control[aria-invalid=true]{border-color:var(--accent-rose);background:var(--accent-rose-soft)}textarea.route-form-control{min-height:84px;resize:vertical}.route-form-control:focus{border-color:var(--brand);background:var(--surface-raised);box-shadow:0 0 0 3px var(--focus-ring)}.route-editor-fields>label:not(.checkbox-field),.route-editor-option-grid label:not(.checkbox-field),.route-node-ref-editor>label:not(.checkbox-field),.route-node-ref-list label:not(.checkbox-field),.route-node-add-row label:not(.checkbox-field){display:grid;min-width:0;gap:var(--sp-1);color:var(--text-secondary);font-size:var(--text-md);line-height:1.3}.route-editor-heading,.route-editor-track-actions,.route-node-ref-actions,.route-manager-route-actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-2)}.route-editor-heading{align-items:flex-start;justify-content:space-between}.route-editor-heading h3,.route-editor-heading p{margin:0}.route-editor-heading h3{font-size:var(--text-base)}.route-editor-heading p{color:var(--text-secondary);font-size:var(--text-sm)}.route-editor-heading-meta{display:grid;gap:var(--sp-half);margin-top:var(--sp-1)}.route-editor-option-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--sp-2)}.route-editor-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--sp-1) var(--sp-2);border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--surface-muted);padding:var(--sp-2)}.route-editor-metrics strong{grid-column:1 / -1}.route-import-panel{display:grid;min-width:0;gap:var(--sp-2);border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--surface-muted);padding:var(--sp-2)}.route-import-panel>label{display:grid;min-width:0;gap:var(--sp-1)}.route-import-panel>.media-first-field{border:0;background:transparent;padding:0}.route-import-candidates{display:grid;min-width:0;gap:var(--sp-1)}.route-import-candidates label{display:flex;min-width:0;align-items:flex-start;gap:var(--sp-2);overflow-wrap:anywhere}.route-import-candidates input[type=radio]{width:18px;min-width:18px;height:18px;margin:0;accent-color:var(--brand)}.route-node-ref-editor,.route-distance-warnings{display:grid;min-width:0;gap:var(--sp-2);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:var(--sp-2)}.route-node-add-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:var(--sp-2)}.route-node-ref-list{display:grid;gap:var(--sp-2);margin:0;padding:0;list-style:none}.route-node-ref-list>li{display:grid;min-width:0;gap:var(--sp-2);border-radius:var(--radius-md);background:var(--surface-muted);padding:var(--sp-2)}.route-distance-warnings{border-color:color-mix(in srgb,var(--accent-amber) 34%,transparent);background:var(--accent-amber-soft)}.route-distance-warnings ul{margin:0;padding-left:var(--sp-4)}.route-track-vertex{display:block;width:18px;height:18px;border:3px solid #ffffff;border-radius:var(--radius-full);background:var(--accent);box-shadow:0 1px 5px #00000059}.route-track-vertex-start{width:22px;height:22px;cursor:pointer;box-shadow:0 0 0 3px var(--focus-ring),0 1px 5px #00000059}.route-track-vertex-closed{background:var(--accent-teal)}.route-manager-route-list li{display:grid;gap:var(--sp-1)}.route-manager-route-actions{justify-content:flex-end;order:2;gap:var(--sp-1);border-top:1px solid var(--border-subtle);padding-top:var(--sp-2)}.route-manager-section-heading>.primary-button{flex:0 0 auto}.route-manager-route-list li{padding:var(--sp-2)}.poi-rating-row{display:flex;flex-wrap:wrap;gap:var(--sp-2);margin:0;color:var(--text-secondary);font-size:var(--text-sm);font-weight:600}.poi-photo-strip{display:grid;grid-auto-columns:minmax(112px,42%);grid-auto-flow:column;gap:var(--sp-2);overflow-x:auto;padding-bottom:var(--sp-1);scrollbar-width:thin}.poi-photo-button{min-height:0;overflow:hidden;border:0;background:transparent;padding:0}.poi-photo-button:hover{background:transparent;box-shadow:none;transform:translateY(-1px)}.poi-photo-strip img{width:100%;height:96px;object-fit:cover;border-radius:var(--radius-md);background:var(--surface-muted)}.poi-saved-hint{margin:0;color:var(--brand);font-size:var(--text-sm);font-weight:700}.status-row{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-1)}.status-pill{display:inline-flex;min-height:26px;align-items:center;border:0;border-radius:var(--radius-full);background:var(--surface-muted);color:var(--text-secondary);padding:0 var(--sp-2);font-size:var(--text-sm);font-weight:600}.place-details button.status-pill-button{background:var(--surface-muted);color:var(--text-secondary);cursor:pointer}.place-details button.status-pill-button.status-pill-visited{background:var(--accent-teal-soft);color:var(--accent-teal)}.place-details .status-pill-want,.place-details button.status-pill-button.status-pill-want{background:var(--brand-soft);color:var(--brand)}.status-pill-button:disabled{cursor:wait;opacity:.6}.status-pill-unset{position:relative;width:26px;justify-content:center;padding:0}@media (prefers-reduced-motion: no-preference){.place-details button.status-pill-unset:not(:disabled):not(:focus-visible):after{content:"";position:absolute;top:-2px;right:-2px;bottom:-2px;left:-2px;border:1px solid color-mix(in srgb,currentColor 24%,transparent);border-radius:inherit;box-shadow:0 0 0 3px color-mix(in srgb,currentColor 6%,transparent);pointer-events:none;animation:status-unset-breathe 3s ease-in-out infinite}}@keyframes status-unset-breathe{0%,to{opacity:.2;transform:scale(.94)}50%{opacity:.8;transform:scale(1.18)}}.status-pill-visited{background:var(--accent-teal-soft);color:var(--accent-teal)}.status-date{color:var(--text-secondary);font-size:var(--text-sm)}.visibility-pill{display:inline-flex;min-height:24px;align-items:center;gap:var(--sp-half);border-radius:var(--radius-full);background:var(--surface-muted);color:var(--text-secondary);font-size:var(--text-sm);font-weight:600;padding:0 var(--sp-2);white-space:nowrap}.visibility-pill-private{background:var(--accent-violet-soft);color:var(--accent-violet)}.place-description{margin:0}.coordinate-list{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-2);margin:0}.coordinate-list div{border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--surface-muted);padding:var(--sp-2)}.coordinate-wide{grid-column:1 / -1}.coordinate-list dt{color:var(--text-secondary);font-size:var(--text-sm)}.coordinate-list dd{margin:var(--sp-half) 0 0;color:var(--text-primary);font-variant-numeric:tabular-nums}.tag-list{display:flex;flex-wrap:wrap;gap:var(--sp-1)}.tag-list span{display:inline-flex;align-items:center;min-height:26px;border:0;border-radius:var(--radius-full);background:var(--surface-muted);color:var(--text-secondary);padding:var(--sp-half) var(--sp-2);font-size:var(--text-sm);font-weight:500}.tag-list .tag-neutral,.common-tag.tag-neutral:not(.common-tag-selected){background:var(--surface-muted);color:var(--text-secondary)}.common-tag.tag-neutral:not(.common-tag-selected) button{color:inherit}.empty-media{margin:0;color:var(--text-secondary)}.media-preview{display:grid;gap:var(--sp-2)}.media-stage{position:relative}.media-item{position:relative;overflow:hidden;border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--surface-muted)}.media-item img,.media-item video,.media-item iframe{display:block;width:100%;height:220px;min-height:180px;border:0;object-fit:cover}.media-placeholder{display:grid;width:100%;min-height:180px;gap:var(--sp-1);place-items:center;background:var(--surface-muted);color:var(--text-secondary);padding:var(--sp-2);text-align:center}.media-placeholder a{display:inline;color:var(--brand);padding:0;text-decoration:underline}.media-item video,.media-item iframe{background:var(--media-canvas);object-fit:contain}.media-item-douyin{height:220px;min-height:0;background:var(--media-canvas)}.media-preview-douyin-scaled-frame{display:grid;width:100%;height:100%;overflow:hidden;place-items:center;background:var(--media-canvas)}.media-preview-douyin-scaled-shell{position:relative;overflow:hidden;background:var(--media-canvas)}.media-preview-douyin-scaled-shell iframe{position:absolute;top:0;left:0;display:block;max-width:none;max-height:none;min-height:0;object-fit:initial;transform-origin:top left}.media-image-loading{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;pointer-events:none}.media-item a{display:block;color:var(--brand);padding:var(--sp-2);overflow-wrap:anywhere}.media-item>a{display:flex;min-height:60px;align-items:center;padding-right:calc(44px + var(--sp-3))}.media-image-open{position:relative;display:block;width:100%;min-height:180px;overflow:hidden;border:0;border-radius:0;background:transparent;padding:0;color:inherit;cursor:zoom-in}.media-image-open:hover{border-color:transparent;background:transparent;box-shadow:none;transform:none}.media-image-open-icon{position:absolute;right:var(--sp-2);bottom:var(--sp-2);display:grid;width:34px;height:34px;place-items:center;border:1px solid rgba(255,255,255,.18);border-radius:var(--radius-full);background:var(--overlay-on-media);color:#fff;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.media-open-button{position:absolute;top:var(--sp-2);right:var(--sp-2);z-index:2;display:grid;width:44px;min-width:44px;height:44px;min-height:44px;place-items:center;border-color:#ffffff2e;border-radius:var(--radius-full);background:var(--overlay-on-media);color:#fff;padding:0;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.media-open-button:hover{border-color:#ffffff47;background:var(--overlay-on-media-strong);color:#fff;transform:none}.media-backup-toggle{position:absolute;top:var(--sp-2);left:var(--sp-2);z-index:2;display:inline-flex;width:36px;min-width:36px;height:36px;min-height:36px;align-items:center;justify-content:center;border-color:#ffffff2e;border-radius:var(--radius-sm);background:var(--overlay-on-media);color:#fff;padding:0;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.media-backup-toggle:hover{border-color:#ffffff47;background:var(--overlay-on-media-strong);color:#fff;transform:none}.media-nav{position:absolute;top:50%;z-index:1;width:44px;min-width:44px;min-height:44px;padding:0;transform:translateY(-50%);border-color:#ffffff24;background:var(--overlay-on-media);color:#fff;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.media-nav:hover{transform:translateY(-50%);background:var(--overlay-on-media-strong)}.media-nav-prev{left:var(--sp-1)}.media-nav-next{right:var(--sp-1)}.media-strip{display:grid;grid-auto-columns:56px;grid-auto-flow:column;gap:var(--sp-1);overflow-x:auto;padding-bottom:var(--sp-half)}.media-thumb{width:56px;min-width:56px;height:46px;min-height:46px;overflow:hidden;border-color:var(--border-subtle);border-radius:var(--radius-sm);background:var(--surface-muted);color:var(--text-secondary);padding:0;font-size:var(--text-sm)}.media-thumb img{width:100%;height:100%;object-fit:cover}.media-thumb:hover{background:var(--surface-muted);border-color:var(--brand);box-shadow:none;transform:scale(1.03)}.media-thumb-active{border-color:var(--brand);box-shadow:0 0 0 2px var(--focus-ring)}.media-error{margin:0;border-top:1px solid var(--border-subtle);background:var(--accent-rose-soft);color:var(--accent-rose);padding:var(--sp-1) var(--sp-2)}.media-error a{display:inline;padding:0 0 0 var(--sp-1);color:inherit;text-decoration:underline}.media-lightbox-original{display:inline-flex;align-items:center;justify-content:center;color:#fff}.media-lightbox-backup-action,.media-lightbox-backup-status{display:inline-flex;width:48px;height:48px;align-items:center;justify-content:center;color:#ffffffe6}.media-lightbox-backup-status{color:var(--accent-teal)}.media-lightbox-backup-spinner{animation:location-spin var(--dur-spinner) linear infinite}.media-lightbox-backup-alert{position:fixed;z-index:5;top:72px;right:var(--sp-4);display:grid;width:min(420px,calc(100vw - 32px));grid-template-columns:auto minmax(0,1fr) auto;gap:var(--sp-3);align-items:center;border:1px solid color-mix(in srgb,var(--accent-rose) 55%,transparent);border-radius:var(--radius-md);background:#12161cf5;box-shadow:var(--shadow-lg);color:#fff;padding:var(--sp-3)}.media-lightbox-backup-alert-icon{color:var(--accent-rose)}.media-lightbox-backup-alert-copy{display:grid;min-width:0;gap:var(--sp-1)}.media-lightbox-backup-alert-detail{margin:0;color:#ffffffb8;font-size:var(--text-sm);line-height:1.45}.media-lightbox-backup-alert-retry{display:inline-flex;min-height:36px;align-items:center;gap:var(--sp-1);border:1px solid rgba(255,255,255,.22);border-radius:var(--radius-sm);background:#ffffff14;color:#fff;padding:0 var(--sp-3);cursor:pointer}.media-lightbox-backup-alert-retry:hover:not(:disabled){background:#ffffff24}@media (max-width: 640px){.media-lightbox-backup-alert{top:64px;right:var(--sp-3);width:calc(100vw - 24px);grid-template-columns:auto minmax(0,1fr)}.media-lightbox-backup-alert-retry{grid-column:2;justify-self:start}}.media-lightbox-slide{position:relative;display:grid;width:100%;height:100%;min-width:0;min-height:0;place-items:center;padding:16px;box-sizing:border-box}.media-lightbox-slide-inactive{color:#ffffffb8}.media-lightbox-video,.media-lightbox-iframe{display:block;max-width:100%;max-height:100%;min-width:0;min-height:0;border:0;border-radius:var(--radius-md);background:var(--media-canvas)}.media-lightbox-video{object-fit:contain}.media-lightbox-douyin-scaled-frame{overflow:hidden;border-radius:var(--radius-lg);background:var(--media-canvas);box-shadow:0 0 0 1px #ffffff24,var(--shadow-lg)}.media-lightbox-douyin-scaled-frame .media-lightbox-iframe{max-width:none;max-height:none;border-radius:0;transform-origin:top left}.media-lightbox-fallback{display:grid;max-width:480px;gap:var(--sp-3);place-items:center;border:1px solid rgba(255,255,255,.16);border-radius:var(--radius-lg);background:#ffffff0f;color:#fff;padding:var(--sp-5);text-align:center}.media-lightbox-fallback a,.media-lightbox-error a{color:#fff;text-decoration:underline}.media-lightbox-error{position:absolute;right:var(--sp-4);bottom:var(--sp-4);left:var(--sp-4);margin:0;border-radius:var(--radius-md);background:var(--overlay-on-media-strong);color:#fff;padding:var(--sp-2) var(--sp-3);text-align:center}.media-lightbox-thumbnail-image{display:block;width:100%;height:100%;object-fit:cover}.media-lightbox-thumbnail-label{display:grid;width:100%;height:100%;place-items:center;background:var(--media-canvas);color:#ffffffdb;font-size:var(--text-xs);font-weight:var(--weight-semibold)}.yarl__button{min-height:0;border:0;border-radius:0;background:transparent;color:#ffffffe6;font-weight:inherit}.yarl__button:hover{border:0;background:transparent;box-shadow:none;color:#fff;transform:none}:root[data-theme=light] .media-open-button,:root[data-theme=light] .media-backup-toggle,:root[data-theme=light] .yarl__button{color:#fff}.yarl__root{--yarl__color_backdrop: rgba(5, 10, 20, .96);--yarl__color_button: rgba(255, 255, 255, .9);--yarl__color_button_active: #ffffff;--yarl__color_button_disabled: rgba(255, 255, 255, .35);--yarl__thumbnails_thumbnail_border_radius: 8px;--yarl__thumbnails_thumbnail_active_border_color: var(--brand)}.source-list{display:grid;gap:var(--sp-2)}.source-list h3{margin:0;color:var(--text-primary);font-size:var(--text-base)}.source-entry-list{display:grid;gap:var(--sp-2)}.source-entry-card{border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--surface-muted);overflow:hidden}.source-entry-card>summary{display:grid;grid-template-columns:12px minmax(0,1fr);align-items:start;gap:var(--sp-1);list-style:none;padding:var(--sp-2);color:var(--text-primary);cursor:pointer;overflow-wrap:anywhere}.source-entry-card>summary::-webkit-details-marker{display:none}.source-entry-card>summary:before{width:0;height:0;margin-top:.35em;border-top:5px solid transparent;border-bottom:5px solid transparent;border-left:7px solid currentColor;content:"";transition:transform var(--dur-fast) var(--ease)}.source-entry-card[open]>summary:before{transform:rotate(90deg)}.source-entry-summary-text{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}.source-entry-card[open]>summary{border-bottom:1px solid var(--border-subtle)}.source-entry-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--sp-2);padding:var(--sp-2)}.source-entry-fields p{margin:0;color:var(--text-secondary);overflow-wrap:anywhere}.source-entry-fields .source-entry-note{grid-column:1 / -1;white-space:pre-wrap}.source-entry-fields a{color:var(--brand);overflow-wrap:anywhere}.source-entry-status{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-2);color:var(--text-secondary)}@keyframes panel-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes panel-out{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(8px)}}@keyframes marker-pop{0%{transform:scale(1)}45%{transform:scale(1.28)}70%{transform:scale(.94)}to{transform:scale(1)}}@keyframes location-pulse{0%{opacity:.72;transform:scale(.72)}to{opacity:0;transform:scale(1.45)}}@keyframes location-spin{to{transform:rotate(360deg)}}@keyframes card-slide-in-left{0%{opacity:0;transform:translate(-24px)}to{opacity:1;transform:translate(0)}}@keyframes card-slide-out-left{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(-24px)}}@keyframes card-slide-in-up{0%{opacity:0;transform:translateY(32px)}to{opacity:1;transform:translateY(0)}}@keyframes card-slide-out-down{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(32px)}}@keyframes toast-in{0%{opacity:0;transform:translate(24px)}to{opacity:1;transform:translate(0)}}@keyframes toast-out{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(24px)}}@keyframes busy-pulse{0%{opacity:1}to{opacity:.72}}@keyframes brand-peach-breathe{0%{transform:translateY(0) scale(1)}to{transform:translateY(-4px) scale(1.04)}}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes media-fade-in{0%{opacity:0}to{opacity:1}}@keyframes media-fade-out{0%{opacity:1}to{opacity:0}}.floating-card{animation:card-slide-in-left var(--dur-slow) var(--ease)}.floating-card.card-closing{animation:card-slide-out-left var(--dur) var(--ease) forwards;pointer-events:none}.media-skeleton{width:100%;height:220px;min-height:180px;border:0;background:linear-gradient(90deg,var(--surface-muted) 25%,var(--surface-raised) 50%,var(--surface-muted) 75%);background-size:200% 100%;animation:skeleton-shimmer 1.4s ease-in-out 3}.media-item img,.media-item video,.media-item iframe{animation:media-fade-in var(--dur-slow) var(--ease)}.confirm-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-modal);display:grid;place-items:center;padding:var(--sp-3);background:var(--scrim);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:media-fade-in var(--dur-fast) var(--ease)}.confirm-dialog{display:grid;width:min(400px,100%);gap:var(--sp-2);border:1px solid var(--glass-border);border-radius:var(--radius-lg);background:var(--panel-bg);box-shadow:var(--glass-highlight),var(--shadow-panel);padding:var(--sp-3);animation:panel-in var(--dur-fast) var(--ease)}.confirm-dialog h2{margin:0;color:var(--text-primary);font-size:var(--text-lg);overflow-wrap:anywhere}.confirm-dialog p{margin:0;color:var(--text-secondary);line-height:1.6}.nearby-place-warning-list{display:grid;gap:var(--sp-2)}.nearby-place-warning-item{display:grid;gap:var(--sp-half);padding-bottom:var(--sp-2);border-bottom:1px solid var(--border-subtle)}.nearby-place-warning-item:last-child{padding-bottom:0;border-bottom:0}.nearby-place-warning-item strong{color:var(--text-primary)}.nearby-place-warning-link{margin:0;border:0;padding-top:0;padding-inline:0;background:none;font:inherit;color:inherit;text-align:left;cursor:pointer}.nearby-place-warning-link:hover strong,.nearby-place-warning-link:focus-visible strong{color:var(--brand-strong)}.nearby-place-warning-link:focus-visible{outline:2px solid var(--brand-strong);outline-offset:2px;border-radius:4px}.navigation-sheet-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-modal);display:flex;align-items:flex-end;justify-content:center;background:var(--scrim);padding:var(--sp-2) var(--sp-2) calc(var(--sp-2) + env(safe-area-inset-bottom));animation:media-fade-in var(--dur-fast) var(--ease)}.navigation-sheet{display:grid;width:min(480px,100%);gap:var(--sp-2);animation:card-slide-in-up var(--dur-slow) var(--ease)}.navigation-sheet-main,.navigation-sheet-cancel{overflow:hidden;border:1px solid var(--glass-border);border-radius:var(--radius-lg);background:var(--panel-bg);box-shadow:var(--glass-highlight),var(--shadow-panel);-webkit-backdrop-filter:var(--glass-blur-soft);backdrop-filter:var(--glass-blur-soft)}.navigation-sheet-heading{display:grid;gap:var(--sp-half);padding:var(--sp-3);text-align:center}.navigation-sheet-heading h2,.navigation-sheet-heading p{margin:0}.navigation-sheet-heading h2{color:var(--text-primary);font-size:var(--text-md)}.navigation-sheet-heading p{color:var(--text-secondary);font-size:var(--text-sm);overflow-wrap:anywhere}.navigation-sheet-options{display:grid}.navigation-sheet-options a{display:flex;min-height:52px;align-items:center;justify-content:center;border-top:1px solid var(--border-subtle);color:var(--brand);font-size:var(--text-md);text-decoration:none}.navigation-sheet-options a:active{background:var(--surface-muted)}.navigation-sheet-cancel{min-height:52px;border-color:var(--glass-border);color:var(--brand);font-size:var(--text-md);font-weight:600}.confirm-actions{display:flex;justify-content:flex-end;gap:var(--sp-2);margin-top:var(--sp-1)}.change-password-form{display:grid;gap:var(--sp-2)}.change-password-form label{display:grid;gap:var(--sp-1);font-size:var(--text-sm);color:var(--text-secondary)}.change-password-form input{width:100%;min-width:0;min-height:var(--control-h);border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--surface-muted);color:var(--text-primary);outline:none;padding:var(--sp-1) var(--sp-2);transition:background-color var(--dur) var(--ease),border-color var(--dur) var(--ease),box-shadow var(--dur) var(--ease)}.change-password-form input:focus{border-color:var(--brand);background:var(--surface-raised);box-shadow:0 0 0 3px var(--focus-ring)}.confirm-overlay-closing,.admin-dialog-backdrop-closing{animation:media-fade-out var(--dur) var(--ease) forwards}.confirm-dialog-closing,.select-field-listbox-closing,.date-field-popover-closing,.address-suggestions-closing,.admin-dialog-closing,.toolbar-panel-closing{animation:panel-out var(--dur) var(--ease) forwards;pointer-events:none}.toast-stack{position:fixed;top:calc(16px + env(safe-area-inset-top,0px));right:16px;z-index:var(--z-toast);display:grid;gap:var(--sp-1);width:min(360px,calc(100vw - 32px));pointer-events:none}.toast{display:grid;grid-template-columns:22px minmax(0,1fr) 28px;align-items:start;gap:var(--sp-2);border:1px solid var(--glass-border);border-left:3px solid var(--brand);border-radius:var(--radius-md);background:var(--glass-bg-heavy);color:var(--text-primary);padding:var(--sp-2) var(--sp-3);box-shadow:var(--glass-highlight),var(--shadow-panel);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);pointer-events:auto;animation:toast-in var(--dur) var(--ease)}.toast.toast-closing{animation:toast-out var(--dur) var(--ease) forwards}.toast-success{border-left-color:var(--accent-teal)}.toast-success .toast-icon{color:var(--accent-teal)}.toast-error{border-left-color:var(--accent-rose)}.toast-error .toast-icon{color:var(--accent-rose)}.toast-icon{display:grid;place-items:center;margin-top:1px}.toast-body{display:grid;gap:var(--sp-half);min-width:0}.toast-title{font-size:var(--text-md);font-weight:600;line-height:1.35}.toast-message{color:var(--text-secondary);font-size:var(--text-sm);line-height:1.4;overflow-wrap:anywhere}.toast-close{width:36px;height:36px;min-width:36px;min-height:36px;border-color:transparent;background:transparent;color:var(--text-secondary);padding:0}.toast-close:hover{background:var(--surface-raised);color:var(--text-primary);box-shadow:none}@media (max-width: 767px){.toast-stack{top:calc(12px + env(safe-area-inset-top,0px));right:10px;left:10px;width:auto}}.floating-toolbar,.map-search-message{animation:none}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.brand-peach-mark-animated{animation-name:none}}.place-drawer,.floating-card,.address-suggestions,.media-strip{scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent}@media (min-width: 768px) and (max-width: 1023px){.admin-shell{grid-template-columns:1fr;grid-template-rows:auto 1fr}.admin-sidebar{position:static;min-height:auto;gap:var(--sp-2);border-right:0;border-bottom:1px solid var(--border-subtle);padding:var(--sp-3)}.admin-brand{grid-template-columns:36px minmax(0,1fr)}.admin-brand-mark{width:36px;height:36px}.admin-nav{display:flex;gap:var(--sp-1);overflow-x:auto;padding-bottom:var(--sp-half)}.admin-nav-link{flex:0 0 auto;min-height:var(--control-h);white-space:nowrap}.admin-return-link,.admin-return-button{width:fit-content;min-height:var(--control-h-sm);margin-top:0}.admin-main{padding:var(--sp-3)}.registration-settings-layout{grid-template-columns:1fr}.registration-settings-summary{position:static;order:-1}.registration-settings-save-bar{position:static}.admin-filter-bar{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-filter-bar>.primary-button{width:100%}.toolbar-brand{justify-content:center;border-right:0;padding:0}.toolbar-brand>span:not(.toolbar-brand-mark){display:none}}@media (max-width: 767px){.auth-panel-registration{width:min(430px,100%)}.registration-form{grid-template-columns:1fr}.registration-form>*{grid-column:1}.admin-shell{grid-template-columns:1fr;grid-template-rows:auto 1fr}.admin-sidebar{position:static;min-height:auto;gap:var(--sp-2);border-right:0;border-bottom:1px solid var(--border-subtle);padding:var(--sp-2)}.admin-brand{grid-template-columns:36px minmax(0,1fr)}.admin-brand-mark{width:36px;height:36px}.admin-nav{display:flex;gap:var(--sp-1);overflow-x:auto;padding-bottom:var(--sp-half)}.admin-nav-link{flex:0 0 auto;min-height:var(--control-h-sm);white-space:nowrap}.admin-return-link{width:fit-content;min-height:var(--control-h);margin-top:0}.admin-main{padding:var(--sp-3)}.admin-topbar{align-items:flex-start;margin-bottom:var(--sp-3)}.admin-section-header-row{grid-template-columns:1fr;align-items:stretch}.admin-action-button{width:100%;justify-self:stretch}.registration-admin-tab{flex:0 0 auto}.registration-settings-layout{grid-template-columns:1fr}.registration-settings-summary{position:static;order:-1}.registration-settings-save-bar{position:static}.registration-settings-card:first-of-type,.registration-settings-grid,.registration-schedule-form,.registration-invitation-form{grid-template-columns:1fr}.registration-settings-state-actions,.registration-panel-toolbar{align-items:stretch;flex-direction:column}.registration-settings-state-actions button,.registration-panel-toolbar button,.registration-settings-save-bar button{width:100%}.system-settings-columns,.guest-limit-grid{grid-template-columns:1fr}.system-settings-group+.system-settings-group{border-top:1px solid var(--border-subtle);border-left:0}.system-settings-actions{align-items:stretch;flex-direction:column}.system-settings-actions button{width:100%}.registration-inline-options,.registration-usage-item{align-items:flex-start;flex-direction:column}.admin-data-table{min-width:520px}.admin-dialog-backdrop{align-items:start;padding:var(--sp-2)}.admin-dialog{max-height:calc(100dvh - 24px);padding:var(--sp-3)}.admin-filter-bar,.admin-stats-grid,.admin-permission-matrix,.admin-inline-control,.admin-dialog-actions{grid-template-columns:1fr}.admin-inline-control,.admin-dialog-actions{display:grid}.admin-dialog-actions button{width:100%}.admin-table-pagination{gap:var(--sp-2);padding:var(--sp-3)}.admin-pagination-pages{display:none}.admin-pagination-mobile-summary{display:inline}.admin-table-pagination-summary{gap:var(--sp-2)}.floating-toolbar{display:grid;top:auto;right:var(--sp-3);bottom:var(--mobile-toolbar-bottom);left:var(--sp-3);width:auto;min-height:var(--mobile-toolbar-h);grid-template-columns:repeat(3,minmax(0,1fr));overflow:visible;border-width:1px;border-radius:var(--sp-4);background:var(--mobile-nav-bg);padding:var(--sp-half);transform:none;-webkit-backdrop-filter:var(--glass-blur-soft);backdrop-filter:var(--glass-blur-soft)}.mobile-map-layout .map-loading-error{z-index:var(--z-panel)}.mobile-toolbar-no-create{grid-template-columns:repeat(2,minmax(0,1fr))}.toolbar-brand,.address-search-group{display:none}.mobile-address-search{position:fixed;top:calc(var(--sp-2) + env(safe-area-inset-top,0px));right:var(--sp-3);left:var(--sp-3);z-index:var(--z-popover);display:grid;grid-template-columns:minmax(0,1fr) auto;max-height:min(50vh,calc(100vh - var(--mobile-panel-bottom) - var(--mobile-edge) - env(safe-area-inset-top,0px)));max-height:min(50dvh,calc(100dvh - var(--mobile-panel-bottom) - var(--mobile-edge) - env(safe-area-inset-top,0px)));gap:var(--sp-half);overflow:visible;border:1px solid var(--glass-border);border-radius:var(--radius-full);background:var(--panel-bg);box-shadow:var(--glass-highlight),var(--shadow-panel);padding:var(--sp-half);-webkit-backdrop-filter:var(--glass-blur-soft);backdrop-filter:var(--glass-blur-soft);animation:panel-in var(--dur-fast) var(--ease)}.mobile-address-search .toolbar-field{height:auto;min-height:calc(var(--control-h) + var(--sp-half));border:0;background:transparent;box-shadow:none;padding:0 var(--sp-1)}.mobile-address-search .toolbar-field:focus-within{background:transparent;box-shadow:inset 0 0 0 2px var(--ui-brand)}.mobile-address-search .toolbar-field>svg{color:var(--ui-brand);flex:0 0 auto}.mobile-address-search input{font-size:var(--text-lg)}.mobile-address-search .address-search-scope-field{min-width:0;min-height:44px;align-self:center;gap:0;border:0;border-radius:var(--radius-full);background:var(--ui-brand-soft);color:var(--ui-brand);padding:0}.mobile-address-search .address-search-scope-field>span{display:none}.mobile-address-search .select-field-trigger-toolbar{min-height:44px;color:var(--ui-brand);font-size:var(--text-sm);font-weight:600;padding:0 var(--sp-2)}.address-search-submit{display:inline-flex;min-width:76px;padding:0 var(--sp-2)}.toolbar-list-button{order:1}.toolbar-create-button{order:2}.toolbar-menu-anchor{position:static;order:3;display:flex;min-width:0}.toolbar-menu-anchor>.toolbar-button,.toolbar-menu-anchor>.icon-button{min-height:56px;flex-direction:column;gap:var(--sp-half);font-size:var(--text-xs);line-height:1.1}.mobile-toolbar>.toolbar-button,.mobile-toolbar>.icon-button,.mobile-toolbar .toolbar-menu-anchor>.icon-button{border-color:transparent;border-radius:var(--radius-md);background:transparent;box-shadow:none}.mobile-toolbar>.toolbar-button:hover,.mobile-toolbar>.icon-button:hover,.mobile-toolbar .toolbar-menu-anchor>.icon-button:hover{border-color:transparent;background:color-mix(in srgb,var(--surface-raised) 72%,transparent);box-shadow:none}.mobile-toolbar .toolbar-button-active,.mobile-toolbar .toolbar-button-active:hover{border-color:transparent;background:var(--ui-selected-bg);color:var(--ui-selected-text)}.mobile-toolbar .toolbar-list-button.toolbar-button-active,.mobile-toolbar .toolbar-list-button.toolbar-button-active:hover{background:var(--brand-soft);color:var(--brand)}.mobile-toolbar .toolbar-more-button.toolbar-button-active,.mobile-toolbar .toolbar-more-button.toolbar-button-active:hover{background:var(--ui-selected-bg);color:var(--ui-selected-text)}.mobile-toolbar>.toolbar-button:focus-visible,.mobile-toolbar>.icon-button:focus-visible,.mobile-toolbar .toolbar-menu-anchor>.icon-button:focus-visible{box-shadow:0 0 0 3px var(--ui-focus-ring)}.floating-toolbar-more-open .toolbar-more-panel{position:fixed;top:auto;right:var(--mobile-edge);bottom:var(--mobile-panel-bottom);left:var(--mobile-edge);z-index:var(--z-popover);display:grid;min-width:0;max-height:min(50vh,calc(100vh - var(--mobile-panel-bottom) - var(--mobile-edge)));max-height:min(50dvh,calc(100dvh - var(--mobile-panel-bottom) - var(--mobile-edge)));gap:var(--sp-1);overflow:auto;border:1px solid var(--glass-border);border-radius:var(--radius-lg);background:var(--glass-bg-heavy);box-shadow:var(--glass-highlight),var(--shadow-panel);padding:var(--sp-1);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur)}.floating-toolbar-more-open .mobile-more-sheet{display:grid;top:auto;right:var(--mobile-edge);bottom:var(--mobile-panel-bottom);left:var(--mobile-edge);width:auto;min-width:0;max-height:min(64vh,calc(100vh - var(--mobile-panel-bottom) - var(--mobile-edge)));max-height:min(64dvh,calc(100dvh - var(--mobile-panel-bottom) - var(--mobile-edge)));gap:0;overflow:auto;overscroll-behavior:contain;scrollbar-width:none;border-radius:24px;background:var(--panel-bg);padding:0}.floating-toolbar-more-open .mobile-more-sheet::-webkit-scrollbar{display:none}.mobile-more-section{display:grid;gap:var(--sp-1);padding:var(--sp-2) var(--sp-3);border-top:1px solid var(--border-subtle)}.mobile-more-sheet>.mobile-more-section:first-child{border-top:0}.mobile-more-section-heading{color:var(--text-secondary);font-size:var(--text-sm);font-weight:700}.mobile-more-section-heading-row{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-2)}.mobile-more-section-heading-row .toolbar-traffic-toggle{display:inline-flex;min-height:32px;flex:0 0 auto;align-items:center;gap:var(--sp-1);font-size:var(--text-sm);line-height:1;padding:0 var(--sp-1)}.mobile-more-sheet .toolbar-export-controls,.mobile-more-sheet .toolbar-layer-menu{width:auto;border-top:0;padding-top:0}.mobile-more-sheet .toolbar-menu-section-title{display:none}.mobile-more-sheet .toolbar-base-layer-options{gap:var(--sp-half)}.mobile-more-sheet .toolbar-base-layer-options .toolbar-menu-choice,.mobile-more-sheet .toolbar-menu-choice{min-height:40px;padding:0 var(--sp-1);font-size:var(--text-sm)}.mobile-more-sheet .toolbar-user-menu{gap:var(--sp-half)}.mobile-more-sheet .toolbar-user-summary,.mobile-more-sheet .toolbar-menu-item{min-height:42px;border:1px solid transparent;border-radius:var(--radius-md);background:transparent;padding:0 var(--sp-2)}.mobile-more-sheet .toolbar-user-summary{min-height:50px;border-bottom:1px solid var(--border-subtle);border-radius:0;padding:0}.mobile-more-sheet .toolbar-menu-item{border-top:1px solid transparent}.mobile-more-sheet .toolbar-menu-item:hover{background:var(--surface-muted);color:var(--text-primary)}.mobile-more-sheet .toolbar-menu-item-danger,.mobile-more-sheet .toolbar-menu-item-danger:hover,.mobile-more-sheet .toolbar-menu-item-danger:focus-visible{color:var(--accent-rose)}.mobile-more-account-section{padding-bottom:calc(var(--sp-3) + env(safe-area-inset-bottom,0px))}.floating-toolbar button{width:100%;padding:0 var(--sp-1)}.floating-toolbar>.toolbar-button,.floating-toolbar>.icon-button{min-height:56px;flex-direction:column;gap:var(--sp-half);font-size:var(--text-xs);line-height:1.1}.mobile-toolbar>.toolbar-create-button{position:relative;width:56px;min-width:56px;min-height:56px;justify-self:center;border-radius:var(--radius-full);background:var(--ui-brand);color:var(--ui-brand-contrast);padding:0;box-shadow:0 6px 16px color-mix(in srgb,var(--ui-brand) 30%,transparent)}.mobile-toolbar>.toolbar-create-button:hover{border-color:transparent;background:var(--ui-brand-strong);color:var(--ui-brand-contrast)}.toolbar-create-draft-dot{position:absolute;top:6px;right:6px;width:10px;height:10px;border:2px solid var(--ui-brand);border-radius:var(--radius-full);background:var(--accent-amber);box-shadow:0 1px 4px color-mix(in srgb,var(--canvas) 36%,transparent)}.floating-toolbar>.toolbar-button svg,.floating-toolbar>.icon-button svg,.toolbar-menu-anchor>.icon-button svg{flex:0 0 auto}.floating-toolbar .address-search-submit{width:auto}.address-suggestions{position:absolute;top:calc(100% + var(--sp-1));right:0;left:0;grid-column:1 / -1;max-height:28vh;max-height:28dvh;overflow:auto;margin-top:0}.place-drawer{right:var(--mobile-edge);left:var(--mobile-edge);top:auto;bottom:var(--mobile-panel-bottom);width:auto;max-height:min(50vh,calc(100vh - var(--mobile-panel-bottom) - var(--mobile-edge)));max-height:min(50dvh,calc(100dvh - var(--mobile-panel-bottom) - var(--mobile-edge)));padding:var(--sp-3)}.timeline-filter{grid-template-columns:1fr}.mobile-map-panel-open .map-location-button{display:none}.map-location-button{right:var(--mobile-edge);top:auto;bottom:var(--mobile-panel-bottom)}.map-location-message{top:74px}.floating-card{left:10px;bottom:var(--mobile-panel-bottom);top:10px;width:calc(100vw - 20px);max-height:calc(100vh - var(--mobile-panel-bottom) - var(--mobile-edge));max-height:calc(100dvh - var(--mobile-panel-bottom) - var(--mobile-edge))}.floating-card.create-card{top:auto;bottom:var(--mobile-panel-bottom);height:min(58vh,calc(100vh - var(--mobile-panel-bottom) - var(--mobile-edge)));height:min(58dvh,calc(100dvh - var(--mobile-panel-bottom) - var(--mobile-edge)));max-height:min(58vh,calc(100vh - var(--mobile-panel-bottom) - var(--mobile-edge)));max-height:min(58dvh,calc(100dvh - var(--mobile-panel-bottom) - var(--mobile-edge)))}.floating-card.mobile-edit-card{top:auto;bottom:var(--mobile-panel-bottom);height:auto;max-height:min(58vh,calc(100vh - var(--mobile-panel-bottom) - var(--mobile-edge)));max-height:min(58dvh,calc(100dvh - var(--mobile-panel-bottom) - var(--mobile-edge)))}.floating-card.mobile-edit-card .place-form{gap:var(--sp-2)}.mobile-create-card-hidden,.mobile-map-pick-form-hidden{display:none}.mobile-point-picker-panel{position:absolute;right:var(--mobile-edge);bottom:var(--mobile-panel-bottom);left:var(--mobile-edge);z-index:var(--z-card);display:grid;grid-template-columns:minmax(0,1fr);max-height:min(30vh,calc(100vh - var(--mobile-panel-bottom) - var(--mobile-edge)));max-height:min(30dvh,calc(100dvh - var(--mobile-panel-bottom) - var(--mobile-edge)));gap:var(--sp-2);overflow:hidden;border:1px solid var(--glass-border);border-radius:var(--radius-lg);background:var(--glass-bg-heavy);padding:var(--sp-2);box-shadow:var(--glass-highlight),var(--shadow-panel);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur)}.mobile-point-picker-copy{display:grid;min-width:0;gap:var(--sp-half)}.mobile-point-picker-copy strong{color:var(--text-primary);font-size:var(--text-sm)}.mobile-point-picker-copy span{overflow:hidden;color:var(--text-secondary);font-size:var(--text-xs);text-overflow:ellipsis;white-space:nowrap}.mobile-point-picker-actions{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:var(--sp-1)}.mobile-point-picker-actions button{min-width:0;justify-content:center}.card-close-mobile{display:inline-flex;align-items:center;justify-content:center;z-index:1}.floating-card.detail-card{top:auto;bottom:0;left:0;width:100vw;height:45vh;height:45dvh;max-height:45vh;max-height:45dvh;border-right:0;border-bottom:0;border-left:0;border-radius:var(--radius-lg) var(--radius-lg) 0 0;padding:calc(var(--sp-3) + 12px) var(--sp-3) var(--sp-3);transition:height var(--dur-slow) var(--ease),max-height var(--dur-slow) var(--ease);will-change:height,max-height}.floating-card.detail-card.mobile-detail-card-dragging{transition:none}.floating-card.detail-card.mobile-detail-card-compact{height:45vh;height:45dvh;max-height:45vh;max-height:45dvh}.floating-card.detail-card.mobile-detail-card-expanded{height:88vh;height:88dvh;max-height:88vh;max-height:88dvh}.mobile-detail-grabber{position:absolute;top:0;left:50%;z-index:2;display:flex;align-items:center;justify-content:center;width:64px;height:24px;min-height:24px;padding:0;transform:translate(-50%);border:0;background:transparent;box-shadow:none;cursor:pointer;touch-action:none}.mobile-detail-grabber-static{pointer-events:none}.mobile-detail-grabber:hover{background:transparent;box-shadow:none;transform:translate(-50%)}.mobile-detail-grabber:after{position:absolute;top:50%;left:50%;width:100%;height:44px;content:"";transform:translate(-50%,-50%)}.mobile-detail-grabber-bar{width:36px;height:4px;border-radius:var(--radius-full);background:var(--border-strong)}.place-details-tab,.place-route-actions button,.place-route-node-list button{min-height:44px}.route-manager{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(38dvh,46dvh) minmax(0,1fr)}.route-manager.route-manager-mobile-picking{position:relative;grid-template-rows:minmax(0,1fr)}.route-manager-mobile-picking .route-manager-panel,.route-manager-mobile-picking .place-node-editor{display:none}.route-manager-point-picker{position:absolute;right:var(--sp-3);bottom:calc(env(safe-area-inset-bottom,0px) + var(--sp-3));left:var(--sp-3);z-index:var(--z-card);display:grid;gap:var(--sp-2);border:1px solid var(--glass-border);border-radius:var(--radius-lg);background:var(--glass-bg-heavy);padding:var(--sp-2);box-shadow:var(--glass-highlight),var(--shadow-panel);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur)}.route-manager-panel{overflow-x:hidden;border-top:1px solid var(--border-subtle);border-left:0;padding:var(--sp-3)}.route-manager button,.route-manager input,.route-manager select{min-height:44px}.route-manager button.route-semantic-node{width:32px;height:32px;min-width:32px;min-height:32px;max-width:32px;max-height:32px}.place-node-editor .coordinate-grid{grid-template-columns:1fr}.route-editor-layout{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(38dvh,46dvh) minmax(0,1fr)}.route-editor-fields{overflow-x:hidden;border-top:1px solid var(--border-subtle);border-left:0;padding:var(--sp-3)}.route-import-panel{overflow-x:hidden}.route-editor-option-grid,.route-node-add-row{grid-template-columns:1fr}.route-manager-route-actions button,.route-editor-track-actions button,.route-node-ref-actions button{flex:1 1 44px}.floating-card{animation:card-slide-in-up var(--dur-slow) var(--ease)}.floating-card.card-closing{animation:card-slide-out-down var(--dur) var(--ease) forwards}.form-grid,.form-section-body,.coordinate-list,.form-inline-pair{grid-template-columns:1fr}.common-tag-editor{grid-template-columns:minmax(0,1fr) var(--control-h)}.external-video-quick-row{grid-template-columns:minmax(0,1fr) 44px 44px}.external-video-editor-row{grid-template-columns:1fr}.external-video-quick-row button{width:44px;min-width:44px;height:44px;min-height:44px}.external-video-editor-row button{width:100%}.source-entry-fields{grid-template-columns:1fr}.source-entry-status{align-items:stretch;flex-direction:column}.source-entry-status button{width:100%}.saved-media-item{grid-template-columns:64px minmax(0,1fr)}.saved-media-thumb{width:64px;height:52px}.saved-media-remove{grid-column:1 / -1;width:100%}.media-draft-item{grid-template-columns:44px 64px minmax(0,1fr);gap:var(--sp-1)}.media-draft-thumb{width:64px;height:52px}.media-draft-actions{grid-column:1 / -1;justify-content:flex-end}.media-item img,.media-item video,.media-item iframe{height:200px}.media-item-douyin{height:200px}.filter-chip button,.pending-media-remove,.toast-close{position:relative}.filter-chip button:after,.pending-media-remove:after,.toast-close:after,.media-nav:after{content:"";position:absolute;top:50%;left:50%;width:max(100%,44px);height:max(100%,44px);transform:translate(-50%,-50%)}}.media-draft-drop-target{outline:2px solid color-mix(in srgb,var(--brand) 55%,transparent);outline-offset:3px;transform:translateY(2px);transition:outline-color var(--dur-fast),transform var(--dur-fast)}.guest-management-page{gap:var(--sp-3)}.guest-management-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--sp-3)}.guest-management-heading>div{display:grid;gap:var(--sp-half)}.guest-management-heading h2,.guest-management-heading p{margin:0}.guest-management-heading h2{font-size:var(--text-xl)}.guest-management-heading>div>p:last-child{color:var(--text-secondary)}.admin-eyebrow{color:var(--brand);font-size:var(--text-xs);font-weight:700;letter-spacing:.08em;text-transform:uppercase}.guest-status-dot{width:7px;height:7px;border-radius:50%;background:currentColor;box-shadow:0 0 0 3px color-mix(in srgb,currentColor 18%,transparent)}.guest-management-panel{box-shadow:var(--shadow-soft)}.guest-management-hero{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:var(--sp-3);border-bottom:1px solid var(--border-subtle);background:radial-gradient(circle at 9% 0%,var(--brand-soft),transparent 38%),var(--surface);padding:var(--sp-4) var(--sp-4)}.guest-management-hero h3,.guest-management-hero p{margin:0}.guest-management-hero h3{font-size:var(--text-lg)}.guest-management-hero p{margin-top:var(--sp-half);color:var(--text-secondary);font-size:var(--text-sm)}.guest-management-hero-icon,.guest-card-icon{display:inline-grid;place-items:center;border-radius:var(--radius-md)}.guest-management-hero-icon{width:48px;height:48px;background:var(--brand-soft);color:var(--brand)}.guest-management-hero-meta{display:grid;justify-items:end;gap:var(--sp-half);color:var(--text-primary)}.guest-hero-meta-label{color:var(--text-tertiary);font-size:var(--text-xs)}.guest-management-body{display:grid;gap:var(--sp-4);padding:var(--sp-4)}.guest-policy-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--sp-3)}.guest-policy-card{display:grid;align-content:start;gap:var(--sp-3);min-width:0;border:1px solid var(--border-subtle);border-radius:var(--radius-lg);background:var(--surface-muted);padding:var(--sp-3)}.guest-card-heading,.guest-limit-title-row{display:flex;align-items:center;gap:var(--sp-2)}.guest-card-heading h4,.guest-card-heading p,.guest-limit-heading h4,.guest-limit-heading p{margin:0}.guest-card-heading h4,.guest-limit-heading h4{color:var(--text-primary);font-size:var(--text-md)}.guest-card-heading p,.guest-limit-heading p{margin-top:3px;color:var(--text-secondary);font-size:var(--text-xs)}.guest-card-icon{width:34px;height:34px;flex:0 0 34px}.guest-card-icon-teal{background:var(--accent-teal-soft);color:var(--accent-teal)}.guest-card-icon-violet{background:var(--accent-violet-soft);color:var(--accent-violet)}.guest-card-icon-amber{background:var(--accent-amber-soft);color:var(--accent-amber)}.guest-boundary-list{display:grid;gap:var(--sp-1);margin:0;padding-left:20px;color:var(--text-secondary);font-size:var(--text-sm)}.guest-boundary-list li::marker{color:var(--accent-violet)}.guest-limit-section{display:grid;gap:var(--sp-3)}.guest-limit-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--sp-3)}.guest-reset-button{min-height:var(--control-h-sm);white-space:nowrap}.guest-limit-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--sp-3)}.guest-limit-card{display:grid;gap:var(--sp-2);min-width:0;border:1px solid var(--border-subtle);border-top:3px solid var(--guest-limit-accent);border-radius:var(--radius-lg);background:var(--surface-muted);padding:var(--sp-3)}.guest-limit-card-teal{--guest-limit-accent: var(--accent-teal)}.guest-limit-card-violet{--guest-limit-accent: var(--accent-violet)}.guest-limit-card-amber{--guest-limit-accent: var(--accent-amber)}.guest-limit-card-rose{--guest-limit-accent: var(--accent-rose)}.guest-limit-card legend{display:flex;align-items:baseline;justify-content:space-between;gap:var(--sp-2);width:100%;padding:0}.guest-limit-card-title{display:inline-flex;align-items:center;gap:var(--sp-1);color:var(--text-primary);font-size:var(--text-md);font-weight:700}.guest-limit-card-icon{color:var(--guest-limit-accent)}.guest-limit-card-description{color:var(--text-tertiary);font-size:var(--text-xs);font-weight:400}.guest-limit-summary{margin:0;color:var(--text-secondary);font-size:var(--text-xs)}.guest-limit-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--sp-2)}.guest-limit-fields label{display:grid;gap:var(--sp-half);min-width:0;color:var(--text-secondary);font-size:var(--text-xs)}.guest-limit-fields input{width:100%;min-width:0;min-height:var(--control-h-sm);border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--surface);color:var(--text-primary);padding:0 var(--sp-2)}.guest-limit-fields input:focus-visible{border-color:var(--brand);box-shadow:0 0 0 3px var(--focus-ring);outline:0}.guest-input-with-unit{position:relative;display:flex;align-items:center}.guest-input-with-unit input{padding-right:34px}.guest-input-with-unit em{position:absolute;right:10px;color:var(--text-tertiary);font-size:var(--text-xs);font-style:normal;pointer-events:none}.guest-management-loading{margin:0;color:var(--text-secondary);padding:var(--sp-5) var(--sp-4)}.guest-management-actions{min-height:70px;padding:var(--sp-2) var(--sp-4)}.guest-feedback{border-radius:var(--radius-sm);padding:var(--sp-1) var(--sp-2)}.guest-feedback-success{background:var(--accent-teal-soft);color:var(--accent-teal)}.guest-feedback-error{background:var(--accent-rose-soft);color:var(--accent-rose)}.guest-feedback-info{background:var(--brand-soft);color:var(--brand)}@media (max-width: 900px){.guest-policy-grid,.guest-limit-grid{grid-template-columns:1fr}.guest-limit-fields{grid-template-columns:repeat(3,minmax(100px,1fr))}}@media (max-width: 640px){.guest-management-heading,.guest-management-hero,.guest-limit-heading{align-items:flex-start;flex-direction:column}.guest-management-heading>.admin-status{align-self:flex-start}.guest-management-hero{grid-template-columns:auto minmax(0,1fr)}.guest-management-hero-meta{grid-column:2;justify-items:start}.guest-management-body{padding:var(--sp-3)}.guest-limit-fields{grid-template-columns:1fr}.guest-limit-card legend{align-items:flex-start;flex-direction:column}.guest-reset-button,.guest-management-actions button{width:100%}.guest-management-actions{align-items:stretch;flex-direction:column}}.source-management-filters{display:grid;grid-template-columns:minmax(220px,2fr) minmax(110px,.8fr) minmax(120px,1fr) minmax(150px,1fr) minmax(140px,1fr);gap:12px;margin:16px 0}.source-management-page{gap:16px;width:100%;min-width:0}.source-mobile-sort,.source-management-list .source-mobile-backup-meta{display:none}.source-action-label{position:relative;display:inline-flex;align-items:center;justify-content:center}.source-action-spinner{position:absolute;left:calc(50% - 8px);top:calc(50% - 8px);animation:location-spin var(--dur-spinner) linear infinite}.source-management-list .admin-table-updating{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.source-page-heading{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px}.source-page-heading h2,.source-page-heading p{margin:0}.source-page-heading p{margin-top:4px}.source-heading-actions,.source-heading-backups{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.source-filter-area{display:grid;gap:8px}.source-filter-area .source-management-filters{margin:0}.source-filter-chips:empty{display:none}.source-control-area{display:grid;gap:4px}.source-bulk-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.source-page-feedback{display:flex;flex-wrap:wrap;align-items:center;gap:6px 16px;padding:10px 12px;border:1px solid var(--border-subtle);border-radius:8px;font-size:13px;color:var(--text-secondary)}.source-page-feedback p{margin:0}.source-page-feedback .source-task-summary{padding:0;background:transparent}.source-page-feedback .source-selection-scope{padding:0}.source-capability-details summary{cursor:pointer}.source-capability-details p{margin-top:6px}.source-reference-pagination{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-right:auto}.source-reference-hint{color:var(--text-secondary);font-size:13px}.source-task-history summary{cursor:pointer;padding:10px 0;color:var(--text-secondary)}.source-filter-chips{display:flex;flex-wrap:wrap;gap:8px}.source-task-history{position:relative;margin-top:8px;border-top:1px solid var(--border-strong)}.source-task-history>summary{padding-right:110px;min-height:44px}.source-batch-refresh{position:absolute;right:0;top:5px}.source-task-summary{display:flex;flex-wrap:wrap;gap:12px;align-items:center;padding:10px;border-radius:8px;background:var(--surface)}.source-metadata-text{color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.source-link-line{display:flex;gap:8px;min-width:0;align-items:center}.source-link-line a{min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.source-identity-line{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px}.source-identity-line strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.source-identity-line>span{color:var(--text-secondary);font-size:12px}.source-metadata-line{display:flex;gap:12px;min-width:0}.source-metadata-line>span{min-width:0;flex:1}.source-metadata-line:empty{display:none}.source-place-titles{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}.source-copy-button{border:0;background:transparent;color:var(--accent);cursor:pointer;white-space:nowrap;min-height:24px;height:24px;padding:0 4px}.source-management-list .source-metadata-button{min-height:24px}.source-management-filters label{display:grid;grid-template-rows:auto var(--control-h);gap:5px;min-width:0}.source-management-filters input{width:100%;min-width:0;height:var(--control-h);padding:9px;border:1px solid var(--border-strong);border-radius:8px;background:var(--surface);color:inherit}.source-management-toolbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;margin:0}.source-metadata-button{display:block;border:0;padding:0;background:transparent;color:var(--text-primary);text-align:left;cursor:pointer;overflow-wrap:anywhere;text-decoration:underline;text-underline-offset:3px;font:inherit}.source-metadata-button:hover{color:var(--accent)}.source-selection-scope{padding:4px 0;margin:0;font-size:13px}.source-reference-editor{display:grid;gap:12px}.source-reference-editor label{display:grid;gap:6px}.source-reference-editor input,.source-reference-editor textarea{width:100%;box-sizing:border-box;border:1px solid var(--border-strong);border-radius:8px;padding:10px;background:var(--surface);color:inherit;font:inherit}.source-reference-editor p,.source-media-actions a{overflow-wrap:anywhere}.source-edit-conflict{border:1px solid var(--border-strong);padding:12px;border-radius:8px}.source-edit-conflict dd{margin:4px 0 12px;white-space:pre-wrap;overflow-wrap:anywhere}.source-media-actions{display:grid;gap:8px;padding:10px 0;border-top:1px solid var(--border-strong)}.source-batch-panel{display:grid;gap:12px;margin:18px 0}.source-batch-heading{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px}.source-batch-heading h3{margin:0}.source-batch-card,.source-batch-entries article{border:1px solid var(--border-strong);border-radius:10px;padding:12px;min-width:0;overflow-wrap:anywhere}.source-batch-card progress{width:100%;height:10px;accent-color:var(--accent)}.source-batch-card progress.source-progress-cancelled{accent-color:var(--text-secondary)}.source-batch-card progress.source-progress-error{accent-color:#b83b37}.admin-table-updating{padding:8px 12px;margin:0;color:var(--text-secondary);background:var(--surface)}.source-batch-card p{margin:8px 0}.source-batch-counts{display:flex;flex-wrap:wrap;gap:8px 16px;margin:8px 0}.source-batch-filters{display:flex;flex-wrap:wrap;gap:12px;margin:12px 0}.source-batch-filters>*{flex:1;min-width:140px}.source-batch-entries{display:grid;gap:8px;margin:12px 0}.source-batch-entries small{display:block;color:var(--text-secondary);margin-top:5px}.source-management-list th:first-child label{display:flex;gap:6px;align-items:center}.source-management-list .admin-data-table-scroll{container-type:inline-size;overflow-x:clip;width:1360px}.source-management-list .admin-data-table{--source-table-width:max(1360px,100cqw);width:100%;table-layout:fixed;min-width:1360px}.source-management-list .source-selection-column{width:100px;white-space:nowrap}.source-management-list .source-identity-column{width:calc(var(--source-table-width) * .2 + 128px)}.source-management-list .source-places-column{width:calc(var(--source-table-width) * .2 - 72px)}.source-management-list .source-check-column{width:calc(var(--source-table-width) * .2 - 102px)}.source-management-list .source-backup-column{width:calc(var(--source-table-width) * .15 - 94px)}.source-management-list .source-size-column{width:calc(var(--source-table-width) * .1 - 46px)}.source-management-list .source-time-column{width:calc(var(--source-table-width) * .15 - 78px)}.source-management-list .source-actions-column{width:164px}.source-management-list th,.source-management-list td{box-sizing:border-box;padding:8px 10px}.source-management-list td{vertical-align:top;overflow-wrap:anywhere}.source-management-list .source-size-column{white-space:nowrap}.source-management-list .source-time-column{font-size:12px}.source-backup-status,.source-management-list .source-backup-column .source-backup-status{display:inline-flex;align-items:center;width:max-content;max-width:100%;padding:2px 8px;border-radius:999px;font-weight:650;line-height:18px}.source-backup-status-done{color:#8bd6ad;background:#34d39924}.source-backup-status-partial{color:#f0ca7a;background:#f59e0b26}.source-backup-status-progress{color:#93c5fd;background:#3b82f629}.source-backup-status-failed{color:#ff9a93;background:#ef444426}.source-backup-status-missing,.source-backup-status-na{color:var(--text-secondary);background:var(--surface-muted)}[data-theme=light] .source-backup-status-done{color:#28794d;background:#10b9811f}[data-theme=light] .source-backup-status-partial{color:#806015;background:#f59e0b24}[data-theme=light] .source-backup-status-progress{color:#1d4ed8;background:#3b82f61f}[data-theme=light] .source-backup-status-failed{color:#b83b37;background:#ef44441f}.source-management-list .source-row-actions{display:grid;grid-template-columns:repeat(2,70px);grid-template-rows:36px 36px;gap:4px;align-items:start;justify-content:start}.source-management-list .source-row-actions button{width:100%;height:36px;padding:0 4px;font-size:13px;white-space:nowrap}.source-row-actions .source-action-check{grid-area:1 / 1}.source-row-actions .source-action-backup,.source-row-actions .source-action-preview{grid-area:1 / 2}.source-row-actions .source-action-edit{grid-area:2 / 1}.source-row-actions .source-detail-button{grid-area:2 / 2}.source-management-list .source-actions-maintenance{grid-template-rows:36px}.source-actions-maintenance .source-action-edit,.source-actions-maintenance .source-detail-button{grid-row:1}.source-record-inspection{display:flex;flex-wrap:wrap;align-items:center;gap:12px;padding:10px 12px;border:1px solid var(--border-strong);border-radius:8px;color:var(--text-secondary)}.source-inspection-link{justify-self:start;border:0;background:transparent;color:var(--text-secondary);padding:0;font:inherit;text-decoration:underline;cursor:pointer}.source-record-hint{color:var(--text-secondary);font-size:12px}.source-management-list .admin-table-pagination{flex-wrap:wrap}.source-management-list .admin-table-pagination .select-field{min-width:140px}.source-management-list small{display:block;margin-top:3px;font-size:12px;color:var(--text-secondary)}.source-management-list .source-management-source{display:grid;gap:3px;min-width:0;overflow-wrap:anywhere}.source-sort-button{display:inline-flex;align-items:center;gap:4px;border:0;padding:6px 2px;background:transparent;color:inherit;font:inherit;cursor:pointer;white-space:nowrap}.source-sort-button:hover,.source-sort-active{color:var(--accent)}.source-sort-button:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}.source-sort-button:disabled{opacity:.5;cursor:wait}.source-management-source a,.source-reference-list a{color:var(--text-primary);text-decoration:underline;text-underline-offset:3px}.source-check-state-unavailable strong{color:#ff9a93}.source-check-state-suspected strong{color:#f0ca7a}.source-check-state-available strong{color:#8bd6ad}[data-theme=light] .source-check-state-unavailable strong{color:#b83b37}[data-theme=light] .source-check-state-suspected strong{color:#806015}[data-theme=light] .source-check-state-available strong{color:#28794d}.source-reference-list{display:grid;gap:12px;max-height:55vh;overflow:auto;padding:4px}.source-reference-list article{display:grid;gap:8px;border:1px solid var(--border-strong);border-radius:10px;padding:12px;overflow-wrap:anywhere}.source-reference-list p{margin:0;white-space:pre-wrap}@media (min-width:781px){.source-management-list tbody tr{height:96px}.source-management-list td{vertical-align:middle;line-height:20px}.source-management-list td>div{max-height:80px;overflow:hidden}.source-management-list .source-metadata-line{display:none}.source-management-list .source-identity-line{flex-wrap:nowrap}.source-management-list .source-identity-line strong{min-width:0}.source-management-list .source-identity-line>span{flex-shrink:0}.source-management-list .source-place-titles{-webkit-line-clamp:1}.source-reference-summary{display:flex;align-items:center;gap:8px;white-space:nowrap}.source-reference-summary small{margin:0}.source-check-description,.source-management-list .source-backup-column span{display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}}@media (min-width:1600px){.source-management-list .admin-data-table-scroll{width:100%}}@container (min-width:1600px){.source-management-list tbody tr{height:72px}.source-management-list td>div{max-height:56px}.source-management-list .source-identity-column{width:calc(var(--source-table-width) * .35 - 260px)}.source-management-list .source-places-column{width:calc(var(--source-table-width) * .25 - 90px)}.source-management-list .source-check-column{width:calc(var(--source-table-width) * .2 - 120px)}.source-management-list .source-backup-column{width:calc(var(--source-table-width) * .1 - 30px)}.source-management-list .source-size-column{width:100px}.source-management-list .source-time-column{width:calc(var(--source-table-width) * .1 - 12px)}.source-management-list .source-actions-column{width:312px}.source-management-list .source-row-actions{grid-template-columns:repeat(4,70px);grid-template-rows:36px}.source-row-actions .source-action-edit{grid-area:1 / 3}.source-row-actions .source-detail-button{grid-area:1 / 4}.source-actions-maintenance .source-action-edit{grid-column:1}.source-actions-maintenance .source-detail-button{grid-column:2}}@media (max-width: 1100px){.source-management-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.source-management-filters label:first-child{grid-column:1 / -1}}@media (max-width: 780px){.source-management-list{--source-card-inset:12px;border:0;background:transparent;overflow:visible}.source-extra-info{display:none}.source-copy-button{min-height:44px;height:44px}.source-management-list .source-metadata-button{min-height:44px}.source-management-list .admin-data-table{min-width:0;width:100%}.source-management-list .admin-data-table-scroll{overflow:visible}.source-management-list .admin-data-table-scroll{width:auto}.source-management-list thead{display:block;margin-bottom:10px;padding:6px 0;border:1px solid var(--border-strong);border-radius:14px;background:var(--surface)}.source-management-list thead tr{display:flex;align-items:center;gap:12px;border:0;padding:0 var(--source-card-inset)}.source-management-list thead th{display:none;background:transparent;border:0}.source-management-list thead th:first-child{display:block;flex:0 0 auto;padding:0}.source-management-list thead th.source-identity-column{display:block;flex:1;min-width:0;padding:0}.source-desktop-sort{display:none}.source-mobile-sort{display:flex;justify-content:flex-end;align-items:center;gap:6px}.source-mobile-sort .select-field-bare{width:132px;min-width:0}.source-mobile-sort .select-field-trigger{min-height:44px;height:44px;font-size:13px}.source-sort-direction{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;min-height:44px;border:1px solid var(--border-strong);border-radius:10px;background:var(--surface);color:var(--text-primary);cursor:pointer}.source-management-list .source-selection-column{width:auto;min-width:0}.source-management-list td.source-selection-column{align-self:start}.source-management-list tbody{display:grid;gap:12px}.source-management-list tbody tr{display:grid;grid-template-columns:24px minmax(0,1fr) minmax(0,1fr);gap:10px 8px;padding:14px var(--source-card-inset) 12px;border:1px solid var(--border-strong);border-radius:14px;background:var(--surface)}.source-management-list td{display:block;border:0;padding:0;min-width:0}.source-management-list td.source-identity-column,.source-management-list td.source-check-column,.source-management-list td.source-backup-column,.source-management-list td.source-size-column,.source-management-list td.source-time-column,.source-management-list td.source-actions-column,.source-management-list td.source-places-column,.source-management-list th.source-identity-column,.source-management-list th.source-check-column,.source-management-list th.source-backup-column,.source-management-list th.source-size-column,.source-management-list th.source-time-column{width:auto}.source-management-list td.source-selection-column{grid-column:1;grid-row:1;padding-top:1px}.source-management-list td.source-selection-column .admin-check-field{width:24px;min-width:24px;justify-content:flex-start}.source-management-list td.source-identity-column{grid-column:2 / -1}.source-management-list td.source-places-column{grid-column:2 / -1;display:flex;align-items:baseline;gap:6px;color:var(--text-secondary);font-size:12px}.source-management-list td.source-places-column:before{content:"收藏于";flex-shrink:0}.source-management-list .source-place-titles{-webkit-line-clamp:1;font-weight:500}.source-management-list .source-reference-summary{display:flex;gap:6px;align-items:center}.source-management-list .source-reference-summary:empty{display:none}.source-management-list td.source-check-column{grid-column:2}.source-management-list td.source-backup-column{grid-column:3}.source-management-list td.source-check-column,.source-management-list td.source-backup-column{padding:9px 10px;border-radius:10px;background:var(--surface-muted);font-size:13px}.source-management-list td.source-check-column:before,.source-management-list td.source-backup-column:before{content:attr(data-label);display:block;margin-bottom:5px;color:var(--text-secondary);font-size:11px}.source-management-list .source-check-description{display:block;margin-top:5px;font-size:11px;line-height:1.6;white-space:normal;overflow-wrap:anywhere}.source-management-list .source-backup-summary>small{display:block;margin-top:5px;color:var(--text-secondary);font-size:11px;line-height:1.6}.source-management-list td.source-size-column,.source-management-list td.source-time-column{display:none}.source-management-list td.source-actions-column{grid-column:1 / -1;padding-top:10px;border-top:1px solid var(--border-strong)}.source-management-list td[colspan]{grid-column:1 / -1}.source-management-list .source-management-source{max-width:100%}.source-management-list .source-identity-line{gap:4px 8px}.source-management-list .source-identity-line strong{font-size:14px}.source-management-list .source-identity-line>span{font-size:11px}.source-management-list .source-link-line{gap:6px;margin-top:2px;font-size:12px}.source-management-list .source-metadata-line{gap:8px;font-size:11px}.source-management-list .admin-row-actions{flex-wrap:wrap}.source-management-list .source-row-actions{display:grid;grid-template-columns:none;grid-template-rows:auto;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:6px}.source-management-list .source-row-actions button{grid-area:auto;width:100%;min-height:44px;height:44px;padding:0 2px;font-size:12px}.admin-table-pagination{flex-wrap:wrap}.admin-table-pagination-actions{width:100%;margin-left:0;justify-content:space-between;gap:8px}.admin-table-pagination-actions>label{width:auto;flex:0 1 auto}.admin-table-pagination-actions .select-field{width:120px}.source-management-list .admin-table-pagination .select-field,.source-management-list .source-time-column{min-width:0}}.media-source-status{position:absolute;bottom:12px;left:12px;max-width:calc(100% - 80px);margin:0;border-radius:8px;padding:6px 10px;background:#000000b8;color:#fff;font-size:12px;pointer-events:none}.media-lightbox-source-status{position:fixed;bottom:20px;left:50%;transform:translate(-50%);max-width:85vw;padding:6px 12px;border-radius:8px;background:#000000b8;color:#fff;font-size:12px;pointer-events:none}
