@font-face{font-family:Pretendard Map;src:url(/fonts/map-v1/Pretendard-Regular.map.woff2)format("woff2");font-weight:400;font-display:block}@font-face{font-family:Pretendard Map;src:url(/fonts/map-v1/Pretendard-Bold.map.woff2)format("woff2");font-weight:600 900;font-display:block}:root{--font-sans:"Pretendard Variable", Pretendard, -apple-system, BlinkMacSystemFont, "Apple SD Gothic Neo", "Noto Sans KR", "Malgun Gothic", sans-serif;--text-xs:11px;--text-sm:12px;--text-md:13px;--text-base:14px;--text-lg:15px;--text-xl:18px;--text-2xl:21px;--text-3xl:28px;--radius-sm:4px;--radius-md:8px;--radius-lg:12px;--ease-out:cubic-bezier(.22, 1, .36, 1);--dur-fast:.12s;--dur-base:.2s;--dur-slow:.42s;--back-overhang:60px;--bg:#f8f7f4;--panel:#fff;--ink:#1e2b33;--ink-soft:#5a6870;--ink-mute:#8c979d;--line:#e6e3dc;--line-soft:#efede8;--field:#fff;--field-line:#e0dcd4;--chip:#fff;--chip-line:#d9d5cc;--card-hover:#f2f0eb;--primary:#e0573e;--on-primary:#fff;--secondary:#1e2b33;--focus-ring:var(--secondary);--brand:var(--secondary);--brand-soft:var(--card-hover);--marker:var(--primary);--pin:var(--primary);--pin-ring:#fff;--marker-ink:#fff;--marker-dot:#e0573e;--marker-dot-opacity:.45;--marker-bubble-1:#f6c0b2;--marker-bubble-ring-1:#e8765c;--marker-bubble-ink-1:#7a2a1c;--marker-bubble-2:#e8765c;--marker-bubble-ink-2:#4a1409;--marker-bubble-3:#c9432b;--marker-bubble-ink-3:#fff;--marker-pin:#a52e18;--marker-pin-ink:#fff;--accent-text:#c2452e;--comment-bubble:#fbe9e4;--water:#cfe0e3;--land:#fbfaf6;--land-line:#d3cfc2;--map-label:#56636a;--map-label-sea:#7f9da5;--tip-bg:#1e2b33;--tip-ink:#fff;--danger:#b42318;--shadow:0 8px 28px #1e2b3324;--watch-shadow:-16px 0 44px #1e2b332e}@media (prefers-color-scheme:dark){:root{--bg:#15191c;--panel:#1b2024;--ink:#e8eaec;--ink-soft:#a3abb1;--ink-mute:#727b82;--line:#2b3237;--line-soft:#252b2f;--field:#22282c;--field-line:#30383d;--chip:#22282c;--chip-line:#3a4248;--card-hover:#2b3237;--primary:#f06a4f;--secondary:#e8eaec;--brand:var(--secondary);--brand-soft:var(--card-hover);--pin-ring:#1b2024;--accent-text:#f2846c;--comment-bubble:#34272a;--marker-dot:#f06a4f;--marker-dot-opacity:.5;--marker-bubble-1:#8f4535;--marker-bubble-ring-1:#d9735a;--marker-bubble-ink-1:#ffe1d9;--marker-bubble-2:#b84b33;--marker-bubble-ink-2:#fff;--marker-bubble-3:#f2846c;--marker-bubble-ink-3:#2a0d07;--marker-pin:#ff9a82;--marker-pin-ink:#2a0d07;--water:#0f1316;--land:#262c30;--land-line:#3d454b;--map-label:#9aa3a9;--map-label-sea:#55616a;--tip-bg:#e8eaec;--tip-ink:#15191c;--danger:#f97066;--shadow:0 8px 28px #00000073;--watch-shadow:-16px 0 44px #0000004d}}:root[data-theme=dark]{--bg:#15191c;--panel:#1b2024;--ink:#e8eaec;--ink-soft:#a3abb1;--ink-mute:#727b82;--line:#2b3237;--line-soft:#252b2f;--field:#22282c;--field-line:#30383d;--chip:#22282c;--chip-line:#3a4248;--card-hover:#2b3237;--primary:#f06a4f;--secondary:#e8eaec;--brand:var(--secondary);--brand-soft:var(--card-hover);--pin-ring:#1b2024;--accent-text:#f2846c;--comment-bubble:#34272a;--marker-dot:#f06a4f;--marker-dot-opacity:.5;--marker-bubble-1:#8f4535;--marker-bubble-ring-1:#d9735a;--marker-bubble-ink-1:#ffe1d9;--marker-bubble-2:#b84b33;--marker-bubble-ink-2:#fff;--marker-bubble-3:#f2846c;--marker-bubble-ink-3:#2a0d07;--marker-pin:#ff9a82;--marker-pin-ink:#2a0d07;--water:#0f1316;--land:#262c30;--land-line:#3d454b;--map-label:#9aa3a9;--map-label-sea:#55616a;--tip-bg:#e8eaec;--tip-ink:#15191c;--danger:#f97066;--shadow:0 8px 28px #00000073;--watch-shadow:-16px 0 44px #0000004d}:root[data-theme=light]{--bg:#f8f7f4;--panel:#fff;--ink:#1e2b33;--ink-soft:#5a6870;--ink-mute:#8c979d;--line:#e6e3dc;--line-soft:#efede8;--field:#fff;--field-line:#e0dcd4;--chip:#fff;--chip-line:#d9d5cc;--card-hover:#f2f0eb;--primary:#e0573e;--secondary:#1e2b33;--brand:var(--secondary);--brand-soft:var(--card-hover);--pin-ring:#fff;--accent-text:#c2452e;--comment-bubble:#fbe9e4;--marker-dot:#e0573e;--marker-dot-opacity:.45;--marker-bubble-1:#f6c0b2;--marker-bubble-ring-1:#e8765c;--marker-bubble-ink-1:#7a2a1c;--marker-bubble-2:#e8765c;--marker-bubble-ink-2:#4a1409;--marker-bubble-3:#c9432b;--marker-bubble-ink-3:#fff;--marker-pin:#a52e18;--marker-pin-ink:#fff;--water:#cfe0e3;--land:#fbfaf6;--land-line:#d3cfc2;--map-label:#56636a;--map-label-sea:#7f9da5;--tip-bg:#1e2b33;--tip-ink:#fff;--danger:#b42318;--shadow:0 8px 28px #1e2b3324;--watch-shadow:-16px 0 44px #1e2b332e}.admin{--bg:#eef1f5;--surface:#fff;--surface-2:#f5f7fa;--border:#dbe1ea;--border-strong:#c3ccd9;--ink:#121a2b;--ink-2:#45526b;--ink-3:#77839a;--accent:#0f766e;--accent-soft:#d5ece8;--accent-ink:#0a5852;--good:#15803d;--good-soft:#d9f0e0;--warn:#b45309;--warn-soft:#f7e6cd;--crit:#b91c1c;--crit-soft:#f6d9d9;--grid:#e7ecf3;--shadow:0 1px 2px #121a2b0f, 0 1px 3px #121a2b0a}@media (prefers-color-scheme:dark){.admin{--bg:#0a0f1a;--surface:#121a2a;--surface-2:#0f1725;--border:#22304a;--border-strong:#33455f;--ink:#e7ecf5;--ink-2:#a7b4cb;--ink-3:#6f7d97;--accent:#2dd4bf;--accent-soft:#10312e;--accent-ink:#7cead9;--good:#4ade80;--good-soft:#10281a;--warn:#fbbf24;--warn-soft:#2e2410;--crit:#f87171;--crit-soft:#2e1414;--grid:#1b2740;--shadow:0 1px 2px #0000004d, 0 1px 3px #00000040}}:root[data-theme=dark] .admin{--bg:#0a0f1a;--surface:#121a2a;--surface-2:#0f1725;--border:#22304a;--border-strong:#33455f;--ink:#e7ecf5;--ink-2:#a7b4cb;--ink-3:#6f7d97;--accent:#2dd4bf;--accent-soft:#10312e;--accent-ink:#7cead9;--good:#4ade80;--good-soft:#10281a;--warn:#fbbf24;--warn-soft:#2e2410;--crit:#f87171;--crit-soft:#2e1414;--grid:#1b2740;--shadow:0 1px 2px #0000004d, 0 1px 3px #00000040}:root[data-theme=light] .admin{--bg:#eef1f5;--surface:#fff;--surface-2:#f5f7fa;--border:#dbe1ea;--border-strong:#c3ccd9;--ink:#121a2b;--ink-2:#45526b;--ink-3:#77839a;--accent:#0f766e;--accent-soft:#d5ece8;--accent-ink:#0a5852;--good:#15803d;--good-soft:#d9f0e0;--warn:#b45309;--warn-soft:#f7e6cd;--crit:#b91c1c;--crit-soft:#f6d9d9;--grid:#e7ecf3;--shadow:0 1px 2px #121a2b0f, 0 1px 3px #121a2b0a}*{box-sizing:border-box}html,body{height:100%;margin:0}html{touch-action:pan-x pan-y}body{font-family:var(--font-sans);background:var(--bg);color:var(--ink);overflow:hidden}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:none}button:focus-visible,input:focus-visible,a:focus-visible,.card:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.app{flex-direction:column;height:100vh;display:flex}.topbar{background:var(--panel);border-bottom:1px solid var(--line);flex-shrink:0;align-items:center;gap:20px;height:56px;padding:0 20px;display:flex}.brand{white-space:nowrap;align-items:center;gap:6px;display:flex}.brand svg{flex-shrink:0}.brand-btn{letter-spacing:-.7px;color:var(--ink);cursor:pointer;border-radius:var(--radius-sm);transition:color var(--dur-fast) var(--ease-out);align-items:center;gap:6px;font-size:20px;font-weight:800;display:inline-flex}.brand-btn:hover{opacity:.75}.search{flex:1;max-width:460px;position:relative}.search input{border:1px solid var(--field-line);border-radius:var(--radius-md);background:var(--field);width:100%;height:38px;color:var(--ink);font-size:var(--text-base);padding:0 14px 0 38px}.search input::placeholder{color:var(--ink-mute)}.search input:focus-visible{outline-offset:0}.search .icon{color:var(--ink-mute);pointer-events:none;position:absolute;top:11px;left:12px}.ac{z-index:40;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-md);box-shadow:var(--shadow);max-height:60vh;position:absolute;top:44px;left:0;right:0;overflow:hidden auto}.ac button{width:100%;font-size:var(--text-base);text-align:left;justify-content:space-between;padding:11px 14px;display:flex}.ac button:hover{background:var(--card-hover)}.ac .search-group{font-size:var(--text-sm);color:var(--ink-soft);letter-spacing:.02em;padding:7px 14px 3px;font-weight:600}.ac .sub{color:var(--ink-soft);font-size:var(--text-md);align-items:center;gap:8px;display:inline-flex}.ac .sub .pins{font-variant-numeric:tabular-nums;opacity:.75}.top-spacer{margin-left:auto}.auth-btn{font-size:var(--text-base);color:var(--ink);border-radius:var(--radius-md);white-space:nowrap;transition:background var(--dur-fast) var(--ease-out);align-items:center;gap:4px;padding:7px 10px;font-weight:600;display:inline-flex}.auth-btn:hover{background:var(--card-hover)}.auth-btn:active{background:var(--line-soft)}.auth-btn:disabled{color:var(--ink-mute);cursor:not-allowed}.panel-empty .auth-btn{background:var(--primary);color:var(--on-primary);padding:9px 18px}.panel-empty .auth-btn:hover{background:var(--primary);opacity:.88}.auth-menu{display:inline-block;position:relative}.auth-dropdown{z-index:50;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-md);box-shadow:var(--shadow);flex-direction:column;gap:2px;min-width:180px;padding:6px;display:flex;position:absolute;top:calc(100% + 4px);right:0}.auth-dropdown>button{text-align:left;color:var(--ink);border-radius:var(--radius-md);cursor:pointer;font-size:var(--text-base);background:0 0;border:0;padding:8px 10px}.auth-dropdown>button:hover{background:var(--card-hover)}.auth-edit{flex-direction:column;gap:6px;padding:6px;display:flex}.auth-edit input{border:1px solid var(--line);border-radius:var(--radius-md);font-size:var(--text-base);background:var(--panel);color:var(--ink);padding:6px 8px}.auth-edit-actions{gap:6px;display:flex}.auth-edit-actions button{border:1px solid var(--line);border-radius:var(--radius-md);color:var(--ink);cursor:pointer;background:0 0;flex:1;padding:6px}.auth-error{color:var(--danger);font-size:var(--text-sm);margin:0}.auth-login{display:inline-block;position:relative}.auth-login-menu{min-width:220px}.auth-login-consent{font-size:var(--text-xs);color:var(--ink-soft);margin:0;padding:2px 10px 8px;line-height:1.45}.auth-login-consent a{color:var(--secondary)}.auth-dropdown>button.gsi-btn{border-radius:var(--radius-sm);color:#1f1f1f;width:100%;height:40px;font-size:var(--text-base);letter-spacing:.25px;cursor:pointer;transition:background var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out);background:#fff;border:1px solid #747775;justify-content:center;align-items:center;gap:10px;padding:0 12px;font-weight:500;display:flex}.auth-dropdown>button.gsi-btn:hover{background:#f7f8f8;box-shadow:0 1px 2px #3c40434d}.auth-dropdown>button.gsi-btn svg{flex:none}@media (prefers-color-scheme:dark){.auth-dropdown>button.gsi-btn{color:#e3e3e3;background:#131314;border-color:#8e918f}.auth-dropdown>button.gsi-btn:hover{box-shadow:none;background:#1e1f20}}.onboarding-overlay{z-index:1000;background:#00000073;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.onboarding-card{background:var(--panel,#fff);color:var(--ink,#111);border:1px solid var(--line,#ddd);border-radius:var(--radius-lg);box-shadow:var(--shadow,0 8px 30px #0003);flex-direction:column;gap:12px;width:100%;max-width:360px;padding:24px;display:flex}.onboarding-card h2{font-size:var(--text-xl);margin:0}.onboarding-card p{font-size:var(--text-md);opacity:.75;margin:0}.onboarding-card input{border:1px solid var(--line,#ddd);border-radius:var(--radius-md);font-size:var(--text-lg);padding:10px 12px}.onboarding-save{border-radius:var(--radius-md);background:var(--ink,#111);color:var(--panel,#fff);font-size:var(--text-lg);cursor:pointer;border:0;padding:10px}.body{flex:1;min-height:0;display:flex}.panel-side{background:var(--panel);border-right:1px solid var(--line);flex-direction:column;flex-shrink:0;width:360px;display:flex}.filters{border-bottom:1px solid var(--line);flex-direction:column;gap:12px;padding:18px 18px 0;display:flex}.scope-head{flex-direction:column;gap:4px;display:flex}.scope-title{font-size:var(--text-3xl);letter-spacing:-.8px;overflow-wrap:anywhere;margin:0;font-weight:750;line-height:1.15}.scope-count{font-size:var(--text-md);color:var(--ink-soft);font-variant-numeric:tabular-nums;margin:0}.scope-count b{color:var(--ink);font-weight:700}.label{font-size:var(--text-xs);letter-spacing:1.2px;color:var(--ink-soft);text-transform:uppercase;font-weight:700}.chips{flex-wrap:wrap;gap:7px;display:flex}.chip{border:1px solid var(--line);font-size:var(--text-md);transition:background var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out);border-radius:99px;align-items:center;gap:7px;padding:6px 12px 6px 7px;font-weight:600;display:flex}.chip .avatar{color:#fff;border-radius:50%;place-items:center;width:20px;height:20px;font-size:10px;font-weight:800;display:grid}.chip.on{background:var(--card-hover);border-color:var(--secondary);color:var(--secondary)}.chip:not(.on){opacity:.55}.filter-row{justify-content:space-between;align-items:center;gap:10px;display:flex}.dd{position:relative}.dd-btn{border:1px solid var(--field-line);border-radius:var(--radius-md);font-size:var(--text-md);background:var(--field);white-space:nowrap;align-items:center;gap:8px;padding:8px 12px;font-weight:600;display:flex}.dd-btn svg{color:var(--ink-mute);flex-shrink:0}.dd-btn:hover{background:var(--card-hover)}.dd-panel{z-index:45;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-lg);min-width:220px;box-shadow:var(--shadow);overscroll-behavior:contain;-webkit-overflow-scrolling:touch;max-height:60svh;padding:0 5px 5px;position:absolute;top:42px;left:0;overflow:hidden auto}.dd-head{z-index:1;background:var(--panel);padding:5px 0;position:sticky;top:0}.dd-search{box-sizing:border-box;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--bg);width:100%;color:var(--ink);font-size:var(--text-base);margin-bottom:5px;padding:8px 10px;font-weight:600;display:block}.dd-search::placeholder{color:var(--ink-soft);font-weight:500}.dd-search:focus{border-color:var(--secondary)}.dd-empty{font-size:var(--text-md);color:var(--ink-soft);text-align:center;margin:0;padding:14px 10px}.dd-row{border-radius:var(--radius-md);width:100%;font-size:var(--text-base);text-align:left;align-items:center;gap:9px;padding:9px 10px;font-weight:600;display:flex}.dd-row:hover{background:var(--card-hover)}.dd-row .avatar{color:#fff;border-radius:50%;flex-shrink:0;place-items:center;width:22px;height:22px;font-size:10px;font-weight:800;display:grid}.dd-row .check{border-radius:var(--radius-sm);border:1.5px solid var(--field-line);width:17px;height:17px;color:var(--panel);flex-shrink:0;place-items:center;display:grid}.dd-row.on .check{background:var(--secondary);border-color:var(--secondary)}.dd-row .name{flex:auto;min-width:0}.dd-row .cnt{color:var(--ink-soft);font-size:var(--text-sm);font-variant-numeric:tabular-nums;flex-shrink:0;font-weight:500}.dd-row.dd-all{border-bottom:1px solid var(--line);border-radius:var(--radius-md) 8px 0 0;padding-bottom:13px}.dd-row.dd-all .dd-all-gap{flex-shrink:0;width:22px}.dd-row.dd-all.some .check{background:var(--secondary);border-color:var(--secondary);opacity:.55}.dd-row.dd-all .cnt .sel{color:var(--secondary);font-weight:700}.tabs{white-space:nowrap;scrollbar-width:thin;border-bottom:0;flex-wrap:nowrap;gap:2px;margin:0 -18px;padding:0 12px;display:flex;overflow:auto hidden}.tabs::-webkit-scrollbar{height:3px}.tabs::-webkit-scrollbar-thumb{background:var(--line);border-radius:99px}.tabs::-webkit-scrollbar-track{background:0 0}.tabs button{font-size:var(--text-base);color:var(--ink-soft);transition:color var(--dur-fast) var(--ease-out);border-bottom:2px solid #0000;flex-shrink:0;align-items:center;gap:5px;margin-bottom:-1px;padding:9px 10px 10px;font-weight:600;display:inline-flex}.tabs button:hover{color:var(--ink)}.tabs button.on{color:var(--secondary);border-bottom-color:var(--secondary)}.tabs button .tab-count{font-variant-numeric:tabular-nums;color:var(--accent-text);font-weight:700}.tabs button .tab-badge{background:var(--primary);min-width:18px;height:18px;color:var(--on-primary);font-size:var(--text-xs);font-variant-numeric:tabular-nums;border-radius:999px;justify-content:center;align-items:center;padding:0 5px;font-weight:700;line-height:1;display:inline-flex}.subtabs{gap:14px;padding:10px 12px 0;display:flex}.subtabs button{font-size:var(--text-md);color:var(--ink-mute);cursor:pointer;transition:color var(--dur-fast) var(--ease-out);align-items:center;gap:5px;padding:4px 0;font-weight:500;display:inline-flex}.subtabs button:hover{color:var(--ink-soft)}.subtabs button.on{color:var(--ink);font-weight:700}.subtabs button .subtab-count{font-variant-numeric:tabular-nums;font-weight:inherit}.subtabs button .subtab-dot{background:var(--primary);border-radius:999px;flex-shrink:0;width:6px;height:6px}.activity-comment{border:0;border-bottom:1px solid var(--line-soft);border-radius:var(--radius-md);text-align:left;cursor:pointer;width:100%;transition:background var(--dur-fast) var(--ease-out);background:0 0;padding:12px 8px;display:block}.activity-comment:hover{background:var(--card-hover)}.activity-comment-body{font-size:var(--text-base);color:var(--ink);-webkit-line-clamp:2;overflow-wrap:anywhere;background:var(--comment-bubble);border-radius:var(--radius-lg) var(--radius-lg) var(--radius-lg) var(--radius-sm);border-bottom:7px solid #0000;-webkit-box-orient:vertical;width:fit-content;max-width:100%;margin-bottom:6px;padding:7px 12px 0;font-weight:500;line-height:1.45;display:-webkit-box;overflow:hidden}.activity-comment-meta{font-size:var(--text-sm);color:var(--ink-mute);justify-content:space-between;align-items:center;gap:8px;margin-bottom:2px;display:flex}.activity-comment .activity-comment-author{font-weight:600}.activity-comment .activity-comment-time{color:var(--accent-text);font-variant-numeric:tabular-nums;flex-shrink:0;align-items:center;gap:4px;font-weight:600;display:inline-flex}.activity-comment .activity-comment-video{min-width:0;font-size:var(--text-sm);color:var(--ink-soft);align-items:center;gap:5px;display:flex}.activity-comment-video svg{flex-shrink:0}.activity-comment-video span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.card-region{font-size:var(--text-sm);color:var(--ink-soft);flex-wrap:wrap;align-items:center;gap:4px;font-weight:600;display:flex}.card-region .country-path b{color:var(--ink);font-weight:700}.card-region .target{color:var(--ink-soft);font-weight:600}.rank-row{border-radius:var(--radius-lg);text-align:left;transition:background var(--dur-fast) var(--ease-out);align-items:center;gap:12px;padding:11px 12px;display:flex}.rank-row:hover{background:var(--card-hover)}.rank-num{border-radius:var(--radius-md);width:26px;height:26px;font-size:var(--text-md);color:var(--ink-soft);background:var(--card-hover);font-variant-numeric:tabular-nums;flex-shrink:0;place-items:center;font-weight:800;display:grid}.rank-num.top{background:var(--secondary);color:var(--panel)}.rank-num.is-emoji{font-size:var(--text-lg);font-variant-numeric:normal;font-weight:400}.rank-row-jump{min-width:0;font:inherit;color:inherit;text-align:left;background:0 0;border:none;flex:1;align-items:center;gap:12px;padding:0;display:flex}.rank-info{flex-direction:column;gap:2px;min-width:0;display:flex}.rank-name{font-size:var(--text-base);font-weight:700}.rank-region{font-size:var(--text-sm);color:var(--ink-soft)}.rank-want{font-size:var(--text-md);color:var(--primary);font-variant-numeric:tabular-nums;white-space:nowrap;margin-left:auto;font-weight:700}.want{font-size:var(--text-sm);color:var(--primary);border:1px solid var(--line);cursor:pointer;font-variant-numeric:tabular-nums;white-space:nowrap;border-radius:99px;margin-left:8px;padding:2px 7px;font-weight:700}.want:hover{border-color:var(--primary);background:color-mix(in srgb, var(--primary) 10%, transparent)}.seg{gap:12px;display:flex}.seg button{font-size:var(--text-md);color:var(--ink-mute);white-space:nowrap;transition:color var(--dur-fast) var(--ease-out);padding:6px 0;font-weight:500}.seg button:hover{color:var(--ink-soft)}.seg button.on{color:var(--ink);font-weight:700}.list-meta{border-top:1px solid var(--line);font-size:var(--text-md);color:var(--ink-soft);padding:12px 18px 6px}.list-meta b{color:var(--ink);font-variant-numeric:tabular-nums}.region-scope{border-bottom:1px solid var(--line-soft);justify-content:space-between;align-items:center;gap:8px;margin-top:4px;padding:8px 18px;display:flex}.region-scope-label{font-size:var(--text-sm);color:var(--ink-soft);white-space:nowrap;font-weight:600}.region-scope-actions{gap:6px;display:flex}.region-scope-btn{font-size:var(--text-sm);color:var(--secondary);border-radius:var(--radius-md);border:1px solid var(--line);white-space:nowrap;transition:background var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out);background:0 0;align-items:center;gap:4px;padding:4px 9px;font-weight:600;display:inline-flex}.region-scope-btn:hover{background:var(--card-hover);border-color:var(--secondary)}.cards{flex-direction:column;flex:1;gap:0;padding:0 12px 16px;display:flex;overflow-y:auto}.card{border-radius:var(--radius-md);border:0;border-bottom:1px solid var(--line-soft);text-align:left;transition:background var(--dur-fast) var(--ease-out);gap:12px;padding:12px 8px;display:flex}.card:hover,.card.active{background:var(--card-hover)}.thumb{border-radius:var(--radius-sm);flex-shrink:0;width:108px;height:62px;position:relative;overflow:hidden}.thumb .dur{color:#fff;font-size:var(--text-xs);border-radius:var(--radius-sm);font-variant-numeric:tabular-nums;background:#0a1014c7;padding:1.5px 5px;font-weight:600;position:absolute;bottom:5px;right:5px}.card-info{flex-direction:column;gap:4px;min-width:0;display:flex}.card-title{font-size:var(--text-base);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-weight:650;line-height:1.35;display:-webkit-box;overflow:hidden}.card-sub{font-size:var(--text-sm);color:var(--ink-soft);align-items:center;gap:6px;display:flex}.card-sub .avatar{color:#fff;border-radius:50%;flex-shrink:0;place-items:center;width:15px;height:15px;font-size:8px;font-weight:800;display:grid}.card-places{font-size:var(--text-sm);color:var(--ink-soft);font-weight:600}.reaction-badge{font-size:var(--text-sm);color:var(--ink-soft);font-variant-numeric:tabular-nums;white-space:nowrap;align-items:center;gap:3px;display:inline-flex}.reaction-badge-count{font-weight:700}.panel-empty{text-align:center;color:var(--ink-soft);font-size:var(--text-md);flex-direction:column;flex:1;justify-content:flex-start;align-items:center;gap:12px;padding:40px 24px;display:flex}.reaction-bar{align-items:center;display:inline-flex;position:relative}.reaction-icon{-webkit-user-select:none;user-select:none;--ri-fill:none;--ri-line:var(--ink-mute);--ri-sym:var(--ink-mute);flex-shrink:0;display:block}.reaction-icon .ri-body{fill:var(--ri-fill);stroke:var(--ri-line)}.reaction-icon .ri-sym{stroke:var(--ri-sym)}.reaction-icon .ri-sym-fill{fill:var(--ri-sym)}.reaction-option:hover .reaction-icon,.reaction-option:focus-visible .reaction-icon,.reaction-icon.is-active{--ri-fill:var(--comment-bubble);--ri-line:var(--primary);--ri-sym:var(--primary)}.reaction-option.is-mine .reaction-icon,.reaction-icon.is-selected{--ri-fill:var(--primary);--ri-line:var(--primary);--ri-sym:var(--on-primary)}:root[data-theme=dark] .reaction-option.is-mine .reaction-icon,:root[data-theme=dark] .reaction-icon.is-selected{--ri-sym:var(--panel)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .reaction-option.is-mine .reaction-icon,:root:not([data-theme=light]) .reaction-icon.is-selected{--ri-sym:var(--panel)}}.reaction-trigger{border-radius:var(--radius-md);border:1px solid var(--line);background:var(--panel);min-width:28px;height:28px;color:var(--ink-soft);cursor:pointer;font-size:var(--text-sm);transition:background var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out);justify-content:center;align-items:center;gap:4px;padding:0 7px;line-height:1;display:inline-flex;position:relative}.reaction-trigger:before{content:"";position:absolute;inset:-6px -4px}.reaction-trigger:hover,.reaction-trigger.is-open{background:var(--card-hover)}.reaction-trigger.is-mine .reaction-count{color:var(--accent-text);font-weight:700}.reaction-count{font-variant-numeric:tabular-nums;color:var(--ink-soft)}.reaction-popover{z-index:60;background:var(--panel);border:1px solid var(--chip-line);border-radius:var(--radius-lg);box-shadow:var(--shadow);animation:reaction-pop-in .15s var(--ease-out);gap:2px;padding:6px;display:flex;position:fixed}.reaction-option{border-radius:var(--radius-md);cursor:pointer;min-width:64px;min-height:76px;transition:background var(--dur-fast) var(--ease-out);background:0 0;border:none;flex-direction:column;justify-content:center;align-items:center;gap:3px;padding:8px 6px;line-height:1.1;display:flex}.reaction-option .reaction-icon{transition:transform .12s var(--ease-out)}.reaction-option:hover,.reaction-option:focus-visible{background:var(--card-hover)}.reaction-option:hover .reaction-icon,.reaction-option:focus-visible .reaction-icon{transform:scale(1.15)}.reaction-option-label{color:var(--ink-soft);white-space:nowrap;font-size:11px}.reaction-option.is-mine{background:var(--comment-bubble)}.reaction-option.is-mine .reaction-option-label{color:var(--accent-text);font-weight:600}.reaction-option:disabled{opacity:.6;cursor:default}@keyframes reaction-pop-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}.reaction-popover.is-below{animation-name:reaction-pop-in-below}@keyframes reaction-pop-in-below{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.reaction-popover,.reaction-popover.is-below{animation:.15s linear reaction-fade-in}.reaction-option .reaction-icon{transition:none}.reaction-option:hover .reaction-icon,.reaction-option:focus-visible .reaction-icon{transform:none}}@keyframes reaction-fade-in{0%{opacity:0}to{opacity:1}}.map{background:var(--water);flex:1;min-width:0;position:relative}.map-canvas,#terrain{width:100%;height:100%;position:absolute;inset:0}.markers{position:absolute;inset:0}.marker{z-index:5;transition:opacity .2s;position:absolute;transform:translate(-50%,-100%)}.cluster{flex-direction:column;align-items:center;gap:2px;display:flex;transform:translate(-50%,-50%)}.cluster .bubble{background:var(--primary);min-width:46px;height:46px;color:var(--on-primary);font-weight:800;font-size:var(--text-lg);box-shadow:0 3px 12px color-mix(in srgb, var(--primary) 40%, transparent);font-variant-numeric:tabular-nums;transition:transform var(--dur-fast) var(--ease-out);border:2.5px solid #ffffffd9;border-radius:50%;place-items:center;padding:0 8px;display:grid}.cluster:hover .bubble{transform:scale(1.08)}.cluster .name{font-size:var(--text-sm);color:var(--ink);background:color-mix(in srgb, var(--panel) 82%, transparent);border-radius:var(--radius-md);padding:2px 8px;font-weight:700}.pin{flex-direction:column;align-items:center;gap:3px;display:flex}.pin .head{background:var(--primary);width:30px;height:30px;box-shadow:0 3px 10px color-mix(in srgb, var(--primary) 45%, transparent);transition:transform var(--dur-fast) var(--ease-out);border:2.5px solid #ffffffe6;border-radius:50% 50% 50% 0;place-items:center;display:grid;transform:rotate(-45deg)}.pin .head span{color:var(--marker-ink);font-size:var(--text-xs);font-weight:800;transform:rotate(45deg)}.pin:hover .head{transform:rotate(-45deg)scale(1.12)}.pin.sel .head{background:var(--primary);box-shadow:0 3px 12px color-mix(in srgb, var(--primary) 50%, transparent)}.pin .name{font-size:var(--text-sm);background:color-mix(in srgb, var(--panel) 88%, transparent);border-radius:var(--radius-md);white-space:nowrap;padding:2px 8px;font-weight:700}.map-crumb{z-index:10;background:var(--chip);border:1px solid var(--chip-line);border-radius:var(--radius-md);height:36px;font-size:var(--text-md);align-items:center;gap:4px;padding:0 12px;font-weight:600;display:flex;position:absolute;top:16px;left:16px}.map-crumb button{color:var(--secondary);align-items:center;gap:5px;font-weight:700;display:inline-flex}.map-crumb button:hover{text-decoration:underline}.map-crumb .sep{color:var(--ink-mute);flex-shrink:0}.map-legend{z-index:9;background:var(--chip);border:1px solid var(--chip-line);border-radius:var(--radius-md);height:32px;font-size:var(--text-sm);color:var(--ink-soft);pointer-events:none;align-items:center;gap:10px;padding:0 12px;display:flex;position:absolute;bottom:40px;left:16px}.map-legend-item{align-items:center;gap:5px;display:inline-flex}@media (max-width:640px){.map-legend{display:none}}.maplibregl-ctrl-group{border:1px solid var(--chip-line);background:var(--chip)!important;border-radius:var(--radius-md)!important;box-shadow:none!important}.maplibregl-ctrl-group button{width:34px;height:34px}.maplibregl-ctrl-group button+button{border-top:1px solid var(--chip-line)!important}.maplibregl-ctrl-group button:hover{background-color:var(--card-hover)!important}.maplibregl-ctrl-top-right{top:8px;right:8px}.maplibregl-ctrl-attrib{font-size:var(--text-xs);border-radius:var(--radius-md);background:color-mix(in srgb, var(--chip) 88%, transparent)!important;color:var(--ink-soft)!important}.maplibregl-ctrl-attrib a{color:var(--ink-soft)!important}.maplibregl-ctrl-attrib.maplibregl-compact{min-height:24px;margin:0 8px 8px 0}.maplibregl-ctrl-attrib-button{background-color:#0000}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .maplibregl-ctrl-icon,:root:not([data-theme=light]) .maplibregl-ctrl-attrib-button{filter:invert()}}:root[data-theme=dark] .maplibregl-ctrl-icon,:root[data-theme=dark] .maplibregl-ctrl-attrib-button{filter:invert()}.zoomctl{z-index:10;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-md);box-shadow:var(--shadow);flex-direction:column;display:flex;position:absolute;top:16px;right:16px;overflow:hidden}.zoomctl button{width:38px;height:38px;color:var(--ink-soft);font-size:19px;font-weight:600}.zoomctl button:hover{background:var(--card-hover);color:var(--ink)}.zoomctl button:first-child{border-bottom:1px solid var(--line)}.close{color:var(--ink-soft);border-radius:var(--radius-md);flex-shrink:0;padding:2px 5px;font-size:17px;line-height:1}.close:hover{background:var(--card-hover);color:var(--ink)}.place-list{flex-direction:column;gap:5px;display:flex}.place-row{border-bottom:1px solid var(--line-soft);font-size:var(--text-md);text-align:left;transition:background var(--dur-fast) var(--ease-out);align-items:center;gap:9px;padding:9px 4px;display:flex}.place-row:last-child{border-bottom:none}.place-row:hover{background:var(--card-hover)}.place-row .t{font-variant-numeric:tabular-nums;color:var(--accent-text);font-weight:700;font-size:var(--text-md)}.place-row .nm{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-weight:600;overflow:hidden}.place-row .loc{color:var(--ink-soft);font-size:var(--text-sm);white-space:nowrap}.place-row .dot{box-sizing:border-box;border:2px solid var(--ink-mute);background:0 0;border-radius:50%;justify-self:center;width:10px;height:10px}.place-row.past .t,.place-row.past .nm,.place-row.past .loc{color:var(--ink-mute)}.place-row.past .dot{background:var(--ink-mute)}.place-row.now .nm{color:var(--ink);font-weight:700}.place-row.now .dot{background:var(--primary);border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb, var(--primary) 28%, transparent)}.place-row-jump{min-width:0;font:inherit;color:inherit;text-align:left;background:0 0;border:none;flex:1;grid-template-columns:44px 12px minmax(0,1fr) auto;align-items:center;gap:9px;padding:0;display:grid}.place-row-actions{flex-shrink:0;align-items:center;gap:6px;margin-left:8px;display:flex}.report-btn{opacity:0;color:var(--ink-soft);transition:opacity var(--dur-fast) var(--ease-out), background var(--dur-fast) var(--ease-out);border-radius:999px;padding:5px 6px;line-height:0}.place-row:hover .report-btn,.report-btn:focus-visible{opacity:1}.report-btn:hover{background:var(--card-hover)}.edit-btn{opacity:0;color:var(--ink-soft);transition:opacity var(--dur-fast) var(--ease-out), background var(--dur-fast) var(--ease-out);border-radius:999px;padding:5px 6px;line-height:0}.place-row:hover .edit-btn,.edit-btn:focus-visible{opacity:1}.edit-btn:hover{background:var(--card-hover)}.watch-shell{z-index:30;width:min(85.3333vh,100%);transform:translateX(calc(100% + var(--back-overhang)));transition:transform .42s cubic-bezier(.22,1,.36,1);position:absolute;inset:0 0 0 auto}.watch-shell.watch-in{transform:translate(0)}.watch-shell.watch-mini{aspect-ratio:16/9;z-index:50;width:340px;transition:opacity var(--dur-base) var(--ease-out);position:fixed;inset:auto 16px 16px auto;transform:none}.watch-shell.watch-mini .watch{border-radius:var(--radius-lg);box-shadow:var(--shadow);overflow:hidden}.watch-shell.watch-mini .watch-head,.watch-shell.watch-mini .watch-body,.watch-shell.watch-mini .watch-back-float{display:none}.watch{background:var(--panel);box-shadow:var(--watch-shadow);flex-direction:column;display:flex;position:absolute;inset:0;overflow:hidden auto}.watch-head{border-bottom:1px solid var(--line);flex-wrap:wrap;flex-shrink:0;align-items:flex-start;gap:8px 14px;padding:12px 16px;display:flex}.watch-back-float{z-index:1;border:1px solid var(--chip-line);border-radius:var(--radius-lg);background:var(--chip);width:52px;box-shadow:var(--shadow);flex-direction:column;display:flex;position:absolute;top:50%;left:-26px;transform:translateY(-50%)}.watch-edge-btn{cursor:pointer;width:100%;height:58px;color:var(--ink);font-size:var(--text-xs);transition:background var(--dur-fast) var(--ease-out);background:0 0;border:none;flex-direction:column;justify-content:center;align-items:center;gap:4px;padding:0;font-weight:700;line-height:1;display:flex}.watch-edge-btn:first-child{border-radius:calc(var(--radius-lg) - 1px) calc(var(--radius-lg) - 1px) 0 0}.watch-edge-btn:last-child{border-radius:0 0 calc(var(--radius-lg) - 1px) calc(var(--radius-lg) - 1px);border-top:1px solid var(--chip-line)}.watch-edge-btn:hover{background:var(--card-hover)}.watch-edge-btn:focus-visible{outline:2px solid var(--focus-ring);outline-offset:-3px}.watch-tip{background:var(--tip-bg);color:var(--tip-ink);font-size:var(--text-sm);white-space:nowrap;border-radius:var(--radius-md);pointer-events:none;opacity:0;transition:opacity var(--dur-fast) var(--ease-out) 0s;padding:7px 10px;font-weight:600;line-height:1.3;position:absolute;top:29px;right:calc(100% + 8px);transform:translateY(-50%)}.watch-edge-btn:first-child:hover~.watch-tip{opacity:1;transition-delay:.6s}.watch-edge-btn:first-child:focus-visible~.watch-tip{opacity:1;transition-delay:0s}@media (max-width:640px){.search input{font-size:var(--text-md);padding-right:8px}}@media (max-width:860px){.watch-back-float{border-radius:0 var(--radius-lg) var(--radius-lg) 0;border-left:none;top:32%;left:0}.watch-edge-btn:first-child{border-top-left-radius:0}.watch-edge-btn:last-child{border-bottom-left-radius:0}.watch-tip,.watch-shell .watch-back-float{display:none}.watch-shell .watch-mobile-actions{display:flex}}.watch-mobile-actions{border-bottom:1px solid var(--line);flex-shrink:0;justify-content:space-between;gap:8px;padding:8px 12px;display:none}.watch-shell.watch-mini .watch-mobile-actions{display:none}.watch-mobile-actions .watch-mobile-btn{border:1px solid var(--chip-line);background:var(--chip);min-height:40px;color:var(--ink);font-size:var(--text-md);cursor:pointer;border-radius:999px;align-items:center;gap:6px;padding:0 14px;font-weight:700;display:inline-flex}.watch-mobile-actions .watch-mobile-btn:active{background:var(--card-hover)}.watch-exclude{border-radius:var(--radius-md);border:1px solid var(--line);background:var(--panel);color:var(--ink-soft);font-size:var(--text-md);cursor:pointer;white-space:nowrap;margin-left:auto;padding:6px 10px}.watch-exclude:hover{background:var(--card-hover)}.watch-head-info{flex:1;min-width:0}.watch-title{font-size:var(--text-base);font-weight:700;line-height:1.35}.watch-sub{font-size:var(--text-sm);color:var(--ink-soft);margin-top:3px}.watch-crumb{font-size:var(--text-md);color:var(--ink-soft);background:var(--card-hover);border-radius:var(--radius-md);white-space:nowrap;flex-shrink:0;align-items:center;gap:4px;margin-left:auto;padding:7px 12px;font-weight:600;display:flex}.watch-crumb .sep{color:var(--ink-mute);flex-shrink:0}.watch-video{aspect-ratio:16/9;background:#000;flex:none;width:100%;position:relative;overflow:hidden}.watch-video iframe{border:0;width:100%;height:100%;position:absolute;inset:0}.watch-video-overlay{z-index:2;gap:6px;display:flex;position:absolute;top:8px;right:8px}.watch-video-overlay button{color:#fff;width:30px;height:30px;font-size:var(--text-base);cursor:pointer;transition:background var(--dur-fast) var(--ease-out);background:#0a101499;border:none;border-radius:50%;justify-content:center;align-items:center;line-height:1;display:flex}.watch-video-overlay button:hover{background:#0a1014d9}.watch-video-overlay .watch-mini-restore-btn,.watch-video-overlay .watch-mini-close-btn{display:none}.watch-shell.watch-mini .watch-mini-restore-btn,.watch-shell.watch-mini .watch-mini-close-btn{display:flex}.watch-body{flex-direction:column;flex:auto;padding:0 16px 16px;display:flex}.watch-tabs{flex:none;margin:0;padding:0}.watch-places-wrap{flex-direction:column;display:flex}.watch-place-list{padding-top:12px}.watch-add-place-btn{border-radius:var(--radius-md);border:1px dashed var(--line);color:var(--secondary);font-size:var(--text-md);text-align:center;cursor:pointer;background:0 0;flex-shrink:0;margin-top:10px;padding:9px 12px;font-weight:700}.watch-add-place-btn:hover{background:var(--card-hover);border-color:var(--secondary)}.watch-comments{flex-direction:column;gap:10px;padding-top:12px;display:flex}.watch-comments-note{font-size:var(--text-sm);color:var(--ink-mute);flex-shrink:0;font-weight:500}.watch-comments-empty{font-size:var(--text-md);color:var(--ink-soft);padding:18px 0}.watch-comment-login{font-size:var(--text-md);color:var(--secondary);border-radius:var(--radius-md);border:1px solid var(--line);transition:background var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out);background:0 0;align-self:flex-start;align-items:center;padding:8px 14px;font-weight:600;display:inline-flex}.watch-comment-login:hover{background:var(--card-hover);border-color:var(--secondary)}.watch-comment-form{flex-direction:column;gap:8px;display:flex}.watch-comment-chip-row{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.watch-comment-chip,.watch-comment-chip-attach{border-radius:var(--radius-md);border:1px solid var(--line);background:var(--panel);font-size:var(--text-sm);color:var(--ink);font-variant-numeric:tabular-nums;align-items:center;gap:4px;padding:5px 10px;font-weight:600;display:inline-flex}.watch-comment-chip{border-color:var(--secondary);background:var(--card-hover)}.watch-comment-chip-live{border-color:var(--primary);color:var(--accent-text);background:0 0}.live-dot{background:var(--primary);border-radius:50%;flex-shrink:0;width:8px;height:8px}.watch-comment-chip:hover,.watch-comment-chip-attach:hover{background:var(--card-hover)}.watch-comment-chip-attach{color:var(--ink-soft);cursor:pointer}.watch-comment-chip-attach:disabled,.watch-comment-chip-attach:disabled:hover{cursor:default;opacity:.55;background:var(--panel)}.watch-comment-chip-remove{font-size:var(--text-md);color:var(--ink-soft);border-radius:var(--radius-md);border:1px solid var(--line);background:var(--panel);flex-shrink:0;align-items:center;padding:5px 8px;font-weight:700;display:inline-flex}.watch-comment-chip-remove:hover{background:var(--card-hover);color:var(--ink)}.watch-comment-chip-hint{font-size:var(--text-xs);color:var(--ink-soft)}.watch-comment-form textarea{resize:none;border:1px solid var(--line);border-radius:var(--radius-md);width:100%;min-height:40px;max-height:160px;font:inherit;color:var(--ink);background:var(--bg);padding:9px 12px;overflow-y:auto}.watch-comment-form textarea:disabled{opacity:.6;cursor:not-allowed}.watch-comment-form-footer{justify-content:space-between;align-items:center;gap:8px;display:flex}.watch-comment-counter{font-size:var(--text-xs);color:var(--ink-soft);font-variant-numeric:tabular-nums}.watch-comment-counter-warn{color:var(--primary);font-weight:700}.watch-comment-submit{font-size:var(--text-md);color:var(--on-primary);background:var(--accent-text);border-radius:var(--radius-md);align-self:flex-end;padding:9px 16px;font-weight:700}.watch-comment-submit:disabled{opacity:.5;cursor:not-allowed}.watch-comment-list{border-top:1px solid var(--line);flex-direction:column;gap:10px;padding-top:10px;display:flex}.comment-item{font-size:var(--text-base);flex-direction:column;gap:3px;display:flex}.comment-meta{color:var(--ink-mute);font-size:var(--text-sm);white-space:pre;align-items:center;gap:0;font-weight:500;display:flex}.comment-meta .comment-author{font-weight:600}.comment-row{align-items:flex-start;gap:8px;display:flex}.comment-body{min-width:0;color:var(--ink);word-break:break-word;flex:1;font-weight:500;line-height:1.5}.comment-time-chip{font-size:var(--text-sm);color:var(--accent-text);font-variant-numeric:tabular-nums;align-items:center;gap:4px;margin-left:10px;font-weight:600;display:inline-flex}.comment-time-chip:hover{text-underline-offset:2px;text-decoration:underline}.comment-delete{font-size:var(--text-sm);color:var(--ink-soft);border-radius:var(--radius-md);flex-shrink:0;padding:3px 8px;font-weight:500}.comment-delete:hover{background:var(--card-hover);color:var(--ink)}.comment-body-hidden{color:var(--ink-mute);font-style:italic;font-weight:400}.comment-hidden-tag{background:var(--card-hover);font-size:var(--text-xs);color:var(--ink-soft);border-radius:10px;flex-shrink:0;padding:2px 8px;font-weight:700}.comment-reply-bar{align-items:center;gap:10px;margin-top:2px;display:flex}.comment-reply-count{font-size:var(--text-sm);color:var(--ink-soft);font-variant-numeric:tabular-nums}.comment-reply-btn{font-size:var(--text-sm);color:var(--ink-soft);border-radius:var(--radius-md);flex-shrink:0;padding:3px 8px 3px 0;font-weight:500}.comment-reply-btn:hover{color:var(--ink);text-underline-offset:2px;text-decoration:underline}.comment-reply-form{margin-top:8px}.comment-replies{border-left:2px solid var(--line);flex-direction:column;gap:10px;margin-top:8px;margin-left:20px;padding-left:14px;display:flex}.toast{z-index:30;background:var(--ink);color:var(--bg);font-size:var(--text-md);opacity:0;pointer-events:none;border-radius:99px;padding:10px 18px;font-weight:600;transition:opacity .25s,transform .25s;position:absolute;bottom:18px;left:50%;transform:translate(-50%)translateY(6px)}.toast.show{opacity:1;transform:translate(-50%)translateY(0)}.spot-sheet{z-index:25;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-lg);width:340px;max-height:calc(100% - 32px);box-shadow:var(--shadow);flex-direction:column;display:flex;position:absolute;top:16px;left:16px;overflow:hidden}.spot-sheet-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:10px;padding:14px 14px 10px;display:flex}.spot-sheet-title-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.spot-sheet-title{font-size:var(--text-base);font-weight:800}.spot-sheet-sub{font-size:var(--text-sm);color:var(--ink-soft);margin-top:3px}.spot-sheet-list{flex-direction:column;flex:1;gap:6px;padding:8px;display:flex;overflow-y:auto}.spot-video-card{border-radius:var(--radius-md);border:0;border-bottom:1px solid var(--line-soft);text-align:left;transition:background var(--dur-fast) var(--ease-out);gap:12px;padding:12px 8px;display:flex}.spot-video-card:hover{background:var(--card-hover)}.spot-video-thumb{border-radius:var(--radius-sm);object-fit:cover;background:var(--card-hover);flex-shrink:0;width:108px;height:62px}.spot-video-info{flex-direction:column;gap:4px;min-width:0;display:flex}.spot-video-title{font-size:var(--text-base);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-weight:650;line-height:1.35;display:-webkit-box;overflow:hidden}.spot-video-sub{font-size:var(--text-sm);color:var(--ink-soft);align-items:center;gap:6px;display:flex}.spot-video-time{font-variant-numeric:tabular-nums;color:var(--primary);font-weight:700}.spot-video-place{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.hover-list{z-index:26;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-lg);width:300px;box-shadow:var(--shadow);flex-direction:column;display:flex;position:fixed;overflow:hidden}.hover-list-head{border-bottom:1px solid var(--line);flex-shrink:0;justify-content:space-between;align-items:baseline;gap:8px;padding:10px 12px;display:flex}.hover-list-head-region{min-width:0;font-size:var(--text-sm);color:var(--ink);text-overflow:ellipsis;white-space:nowrap;flex:auto;align-items:center;gap:5px;font-weight:700;display:flex;overflow:hidden}.hover-list-head-count{font-size:var(--text-xs);color:var(--ink-soft);flex-shrink:0;font-weight:600}.hover-list-body{flex-direction:column;flex:auto;gap:4px;min-height:0;padding:6px;display:flex;overflow-y:auto}.hover-list-row{border-radius:var(--radius-md);text-align:left;transition:background var(--dur-fast) var(--ease-out);gap:10px;padding:8px;display:flex}.hover-list-row:hover{background:var(--card-hover)}.hover-list-thumb{border-radius:var(--radius-md);background:var(--card-hover);flex-shrink:0;width:84px;height:48px;position:relative;overflow:hidden}.hover-list-thumb-fallback{position:absolute;inset:0}.hover-list-info{flex-direction:column;justify-content:center;gap:3px;min-width:0;display:flex}.hover-list-title{font-size:var(--text-md);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-weight:650;line-height:1.3;display:-webkit-box;overflow:hidden}.hover-list-sub{font-size:var(--text-xs);color:var(--ink-soft);align-items:center;gap:6px;display:inline-flex}.hover-list-place{font-size:var(--text-xs);color:var(--ink-soft);opacity:.8;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.hover-list-pager{border-top:1px solid var(--line);flex-shrink:0;justify-content:center;align-items:center;gap:14px;padding:6px 10px;display:flex}.hover-list-pager-btn{border-radius:var(--radius-md);width:24px;height:24px;font-size:var(--text-base);color:var(--ink);background:var(--card-hover);transition:opacity var(--dur-fast) var(--ease-out), background var(--dur-fast) var(--ease-out);place-items:center;font-weight:700;display:inline-grid}.hover-list-pager-btn:hover:not(:disabled){background:var(--line)}.hover-list-pager-btn:disabled{opacity:.35}.hover-list-pager-count{font-size:var(--text-sm);color:var(--ink-soft);font-variant-numeric:tabular-nums;font-weight:650}@media (prefers-reduced-motion:reduce){*{transition:none!important}}.sheet-peek,.sheet-backdrop{display:none}.sheet-body{flex-direction:column;flex:auto;min-height:0;display:flex}@media (max-width:860px){.top-note{display:none}.topbar{gap:10px;padding:0 12px}.search{min-width:0;max-width:none}.panel-side{border-right:none;border-top:1px solid var(--line);z-index:60;will-change:transform;border-radius:16px 16px 0 0;width:auto;height:82vh;max-height:82vh;transition:transform .32s cubic-bezier(.22,1,.36,1);position:fixed;inset:auto 0 0;overflow:hidden;box-shadow:0 -8px 30px #0000002e}.panel-side.sheetstate-peek{transform:translateY(calc(82vh - 150px))}.panel-side.sheetstate-closed{transform:translateY(calc(82vh - 52px))}.panel-side.sheetstate-closed .sheet-peek-strip{visibility:hidden}.panel-side.sheetstate-expanded{transform:translateY(0)}.panel-side.sheetstate-hidden{pointer-events:none;transform:translateY(100%)}.sheet-peek{box-sizing:border-box;flex-direction:column;flex-shrink:0;height:150px;display:flex}.sheet-peek-handle{cursor:grab;touch-action:none;text-align:left;background:0 0;border:0;flex-direction:column;flex-shrink:0;align-items:stretch;gap:6px;padding:8px 16px 6px;display:flex}.sheet-grip-bar{background:var(--line);border-radius:99px;align-self:center;width:42px;height:5px}.sheet-peek-row{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.sheet-peek-count{font-size:var(--text-base);color:var(--ink);font-weight:700}.sheet-peek-count b{color:var(--secondary);font-variant-numeric:tabular-nums}.sheet-peek-hint{font-size:var(--text-sm);color:var(--ink-soft);white-space:nowrap}.sheet-peek-strip{touch-action:pan-x;-webkit-overflow-scrolling:touch;scrollbar-width:none;flex:1;align-items:center;gap:8px;padding:0 16px 10px;display:flex;overflow:auto hidden}.sheet-peek-strip::-webkit-scrollbar{display:none}.peek-thumb{aspect-ratio:16/9;border-radius:var(--radius-md);border:1px solid var(--line);background:var(--card-hover);cursor:pointer;flex-shrink:0;height:100%;padding:0;overflow:hidden}.peek-thumb img{object-fit:cover;width:100%;height:100%;display:block}.peek-thumb-fallback{background:linear-gradient(120deg, var(--card-hover), var(--card-hover));width:100%;height:100%;display:block}.sheet-peek-empty{font-size:var(--text-md);color:var(--ink-soft);padding:4px 2px}.sheetstate-expanded .sheet-peek{height:auto}.sheetstate-expanded .sheet-peek-strip{display:none}.sheet-body{flex:1;min-height:0;overflow:hidden}.dd-panel{max-height:calc(82svh - 220px)}.sheet-backdrop{z-index:55;cursor:pointer;background:#00000052;border:0;display:block;position:fixed;inset:0}.watch-shell.watch-mini{bottom:168px}body:has(.panel-side.sheetstate-closed) .watch-shell.watch-mini{bottom:70px}}.placeholder{background:repeating-linear-gradient(45deg, var(--card-hover), var(--card-hover) 10px, var(--line) 10px, var(--line) 20px);border:1px dashed var(--line);color:var(--ink-soft);font-size:var(--text-md);letter-spacing:.3px;text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:6px;padding:12px;font-weight:700;display:flex}.placeholder-meta{font-size:var(--text-sm);color:var(--ink-soft);font-weight:500}.placeholder--map{border-radius:0;position:absolute;inset:0}.placeholder--side{border-radius:var(--radius-lg);flex:1;min-height:0;margin:0 12px 12px}.placeholder--player{min-height:160px}.placeholder--search{border-radius:var(--radius-md);height:38px;font-size:var(--text-md);flex:1}.modal-backdrop{z-index:500;background:#0006;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.modal{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-lg);width:100%;max-width:360px;box-shadow:var(--shadow);flex-direction:column;gap:10px;padding:20px;display:flex}.modal h3{font-size:var(--text-lg);font-weight:700;line-height:1.4}.modal p{font-size:var(--text-md);color:var(--ink-soft)}.modal-radio{font-size:var(--text-base);cursor:pointer;align-items:center;gap:8px;padding:6px 2px;display:flex}.modal textarea{resize:vertical;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--bg);width:100%;color:var(--ink);font:inherit;font-size:var(--text-md);padding:8px 10px}.modal-error{color:var(--primary);font-size:var(--text-md)}.modal-actions{justify-content:flex-end;gap:8px;margin-top:4px;display:flex}.modal-actions button{border-radius:var(--radius-md);border:1px solid var(--line);font-size:var(--text-md);padding:8px 16px;font-weight:600}.modal-actions button:last-child{background:var(--secondary);border-color:var(--secondary);color:var(--panel)}.modal-actions button:hover{background:var(--card-hover)}.modal-actions button:last-child:hover{background:var(--secondary);opacity:.9}.modal-actions button:disabled{opacity:.6;cursor:not-allowed}.admin{max-width:1600px;height:100%;margin:0 auto;padding:24px 28px;overflow:hidden auto}.admin h1{margin-bottom:16px;font-size:18px;font-weight:800}.admin h2{margin-bottom:12px;font-size:15px;font-weight:800}.admin table{border-collapse:collapse;width:100%;font-size:13px}.admin th,.admin td{border-bottom:1px solid var(--line);text-align:left;vertical-align:top;padding:10px 12px}.admin th{letter-spacing:.6px;color:var(--ink-soft);text-transform:uppercase;font-size:11px;font-weight:700}.admin tbody tr:hover{background:var(--card-hover)}.admin a{color:var(--brand);font-variant-numeric:tabular-nums;font-weight:700}.admin a:hover{text-decoration:underline}.admin button{border:1px solid var(--line);border-radius:8px;margin-right:6px;padding:6px 10px;font-size:12.5px;font-weight:600}.admin button:hover{background:var(--card-hover)}.admin button:disabled{opacity:.5;cursor:not-allowed}.admin-section+.admin-section{margin-top:32px}.admin .admin-shell{grid-template-columns:180px 1fr;align-items:start;gap:20px;display:grid}.admin .admin-side{flex-direction:column;gap:6px;display:flex}.admin .admin-navitem{text-align:left;color:var(--ink-soft);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;margin-right:0;padding:8px 12px;font-size:13px;font-weight:600}.admin .admin-navitem:hover{background:var(--card-hover)}.admin .admin-navitem.active{background:var(--brand-soft);color:var(--brand);border-color:var(--brand)}.admin .admin-main{min-width:0}.admin .admin-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;margin-bottom:20px;display:grid}.admin .admin-card{border:1px solid var(--line);background:var(--panel);border-radius:12px;padding:14px 16px}.admin .admin-card h3{margin:0 0 8px;font-size:13px;font-weight:700}.admin .admin-tablewrap{border:1px solid var(--line);border-radius:12px;overflow-x:auto}.admin .admin-tablewrap table{margin:0}.admin .admin-err{color:#c0392b}.admin .mono{font-variant-numeric:tabular-nums;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.admin .num{font-variant-numeric:tabular-nums}.admin .sec-label{text-transform:uppercase;letter-spacing:.08em;color:var(--ink-3);margin:26px 2px 12px;font-size:11.5px;font-weight:640}.admin .sec-label:first-child{margin-top:4px}.admin .grid{gap:14px;display:grid}.admin .grid>*{min-width:0}.admin .g4{grid-template-columns:repeat(4,1fr)}.admin .g3{grid-template-columns:repeat(3,1fr)}.admin .g2{grid-template-columns:repeat(2,1fr)}@media (max-width:900px){.admin .g4{grid-template-columns:repeat(2,1fr)}.admin .g3,.admin .g2{grid-template-columns:1fr}}.admin .card{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:13px;padding:16px 17px;display:block}.admin .card .k{color:var(--ink-3);align-items:center;gap:7px;font-size:12.5px;font-weight:540;display:flex}.admin .card .v{letter-spacing:-.02em;font-variant-numeric:tabular-nums;margin-top:7px;font-size:26px;font-weight:680}.admin .card .v small{color:var(--ink-3);letter-spacing:0;font-size:14px;font-weight:560}.admin .card .foot{margin-top:12px}.admin .delta{font-variant-numeric:tabular-nums;border-radius:6px;padding:1px 6px;font-size:12px;font-weight:600}.admin .delta.up{color:var(--good);background:var(--good-soft)}.admin .delta.dn{color:var(--crit);background:var(--crit-soft)}.admin .delta.flat{color:var(--ink-3);background:var(--surface-2)}.admin .pill{letter-spacing:.01em;border-radius:20px;align-items:center;gap:6px;padding:2px 9px;font-size:11.5px;font-weight:620;display:inline-flex}.admin .pill .led{border-radius:50%;width:7px;height:7px}.admin .pill.good{color:var(--good);background:var(--good-soft)}.admin .pill.good .led{background:var(--good)}.admin .pill.warn{color:var(--warn);background:var(--warn-soft)}.admin .pill.warn .led{background:var(--warn)}.admin .pill.crit{color:var(--crit);background:var(--crit-soft)}.admin .pill.crit .led{background:var(--crit)}.admin .gauge .top{justify-content:space-between;align-items:baseline;display:flex}.admin .gauge .g-v{letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:22px;font-weight:700}.admin .gauge .g-v small{color:var(--ink-3);font-size:13px;font-weight:540}.admin .gauge .cap{color:var(--ink-3);margin-top:8px;font-size:11.5px}.admin .bar{background:var(--surface-2);border:1px solid var(--border);border-radius:20px;height:7px;margin-top:11px;overflow:hidden}.admin .bar>span{border-radius:20px;height:100%;display:block}.admin .bar>span.good{background:var(--good)}.admin .bar>span.warn{background:var(--warn)}.admin .bar>span.crit{background:var(--crit)}.admin .hint{color:var(--ink-3);font-size:11.5px;font-weight:500}.admin .chartcard h3{align-items:center;gap:8px;margin:0;font-size:13.5px;font-weight:620;display:flex}.admin .chartcard .hint{color:var(--ink-3);font-size:11.5px;font-weight:500}.admin .chartcard .legend{color:var(--ink-2);gap:13px;margin-left:auto;font-size:11.5px;display:flex}.admin .chartcard .legend i{vertical-align:-1px;border-radius:3px;width:9px;height:9px;margin-right:5px;display:inline-block}.admin .charthead{align-items:center;gap:8px;margin-bottom:4px;display:flex}.admin .chartbody{min-width:0}.admin .ch-readout{color:var(--ink-3);font-variant-numeric:tabular-nums;flex-wrap:wrap;align-items:baseline;gap:1px;margin:2px 0 8px;font-size:12px;line-height:1.2;display:flex}.admin .ch-readout .now{color:var(--ink);letter-spacing:-.01em;font-size:17px;font-weight:720}.admin .ch-readout .unit{color:var(--ink-3);font-size:11.5px;font-weight:560}.admin .ch-readout .range{color:var(--ink-3);margin-left:6px;font-size:11.5px}.admin .ch-readout .sep{color:var(--ink-3);padding:0 1px;font-weight:400}.admin .ch-frame{grid-template-columns:auto minmax(0,1fr);grid-template-areas:"y plot"".x";column-gap:7px;display:grid}.admin .ch-yaxis{color:var(--ink-3);font-size:10px;font-family:var(--mono,monospace);font-variant-numeric:tabular-nums;text-align:right;flex-direction:column;grid-area:y;justify-content:space-between;min-width:18px;padding:3px 0;display:flex}.admin .ch-plot{grid-area:plot;position:relative}.admin .ch-xaxis{color:var(--ink-3);font-variant-numeric:tabular-nums;grid-area:x;justify-content:space-between;margin-top:3px;font-size:10px;display:flex}.admin .ch-guide{background:var(--ink-3);opacity:.45;pointer-events:none;width:1px;position:absolute;top:0;bottom:0;transform:translate(-.5px)}.admin .ch-tip{background:var(--surface);border:1px solid var(--border-strong);box-shadow:var(--shadow);pointer-events:none;z-index:6;white-space:nowrap;border-radius:8px;padding:5px 8px;font-size:11.5px;line-height:1.35;position:absolute;top:2px;transform:translate(9px)}.admin .ch-tip.flip{transform:translate(calc(-100% - 9px))}.admin .ch-tip-t{color:var(--ink-3);font-variant-numeric:tabular-nums;margin-bottom:2px;font-size:10.5px}.admin .ch-tip-r{color:var(--ink);font-variant-numeric:tabular-nums;align-items:center;gap:5px;display:flex}.admin .ch-tip-r i{border-radius:2px;flex-shrink:0;width:8px;height:8px}.admin .ch-tip-r .ch-tip-l{color:var(--ink-3);margin-right:3px}.admin .ch-tip-r .ch-tip-u{color:var(--ink-3);font-weight:500}.admin .captable{border-collapse:collapse;width:100%;font-size:13px}.admin .captable th,.admin .captable td{border-bottom:1px solid var(--border);text-align:left;padding:10px 14px}.admin .captable th{color:var(--ink-3);text-transform:uppercase;letter-spacing:.05em;font-size:11px;font-weight:640}.admin .captable td.n{font-variant-numeric:tabular-nums;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.admin .captable tr.here td{background:var(--warn-soft)}.admin .note{background:var(--surface-2);border:1px solid var(--border);color:var(--ink-2);border-radius:11px;gap:10px;margin-top:14px;padding:12px 14px;font-size:12.5px;display:flex}.admin .note .i{color:var(--accent)}.admin .admin-navitem .badge{background:var(--crit);color:#fff;font-variant-numeric:tabular-nums;border-radius:20px;margin-left:auto;padding:1px 7px;font-size:11px;font-weight:500}.admin-toggle{border:1px solid var(--line);font-size:var(--text-md);color:var(--ink-soft);white-space:nowrap;transition:background var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out);border-radius:999px;align-items:center;gap:7px;padding:6px 12px;font-weight:700;display:inline-flex}.admin-toggle:hover{background:var(--card-hover)}.admin-toggle-dot{background:var(--line);width:8px;height:8px;transition:background var(--dur-fast) var(--ease-out);border-radius:50%}.admin-toggle.on{border-color:var(--secondary);color:var(--secondary);background:var(--card-hover)}.admin-toggle.on .admin-toggle-dot{background:var(--secondary)}.admin-metrics{font-size:var(--text-md);color:var(--ink-soft);background:var(--card-hover);border-bottom:1px solid var(--line);padding:10px 18px}.admin-metrics b{color:var(--ink);font-variant-numeric:tabular-nums}.admin-metrics .admin-metrics-warning{color:var(--danger);font-weight:600}.admin-metrics .admin-metrics-warning b{color:var(--danger)}.admin-tab-list{flex-direction:column;flex:1;gap:8px;padding:6px 12px 16px;display:flex;overflow-y:auto}.admin-tab-section+.admin-tab-section{margin-top:20px}.admin-tab-section .cards{flex:none;padding:6px 0 0;overflow-y:visible}.admin-row{border-radius:var(--radius-lg);width:100%;font:inherit;color:inherit;cursor:pointer;text-align:left;transition:background var(--dur-fast) var(--ease-out);background:0 0;border:1px solid #0000;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;display:flex}.admin-row:hover{background:var(--card-hover);border-color:var(--line)}.admin-row-static{cursor:default}.admin-row-static:hover{background:0 0;border-color:#0000}.admin-row-main{flex-direction:column;gap:3px;min-width:0;display:flex}.admin-row-title{font-size:var(--text-base);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-weight:650;line-height:1.35;display:-webkit-box;overflow:hidden}.admin-row-sub{font-size:var(--text-sm);color:var(--ink-soft)}.admin-row-badge{font-size:var(--text-sm);color:var(--ink-soft);border:1px solid var(--line);font-variant-numeric:tabular-nums;white-space:nowrap;border-radius:999px;flex-shrink:0;padding:3px 9px;font-weight:700}.admin-row-status-resolved{color:var(--secondary);border-color:var(--secondary)}.admin-row-status-dismissed{color:var(--ink-soft)}.admin-ext{color:var(--ink-soft);font-weight:400;font-size:var(--text-xs)}.admin-row-open-btn{font:inherit;color:inherit;text-align:left;cursor:pointer;background:0 0;border:none;width:100%}.admin-row-lead{align-items:center;gap:10px;min-width:0;display:flex}.admin-row-lead input[type=checkbox]{cursor:pointer;width:16px;height:16px;accent-color:var(--secondary);flex-shrink:0}.admin-row-side{flex-shrink:0;align-items:center;gap:8px;display:flex}.admin-bulk-bar{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:10px;padding:2px 4px 8px;display:flex}.admin-checkbox-label{font-size:var(--text-md);color:var(--ink-soft);cursor:pointer;align-items:center;gap:7px;font-weight:700;display:inline-flex}.admin-checkbox-label input[type=checkbox]{accent-color:var(--secondary);cursor:pointer}.admin-bulk-btn{border-radius:var(--radius-md);border:1px solid var(--primary);color:var(--primary);font-size:var(--text-md);white-space:nowrap;padding:7px 14px;font-weight:700}.admin-bulk-btn:hover:not(:disabled){background:var(--primary);color:var(--on-primary)}.admin-bulk-btn:disabled{opacity:.5;cursor:not-allowed}.admin-row-approve{border-radius:var(--radius-md);border:1px solid var(--secondary);color:var(--secondary);font-size:var(--text-sm);white-space:nowrap;padding:6px 10px;font-weight:700}.admin-row-approve:hover:not(:disabled){background:var(--secondary);color:var(--panel)}.admin-row-approve:disabled{opacity:.5;cursor:not-allowed}.admin-pending-item{flex-direction:column;gap:6px;display:flex}.admin-pending-preview{border-radius:var(--radius-md);background:#000;width:100%;padding-top:56.25%;position:relative;overflow:hidden}.admin-pending-preview iframe{border:0;width:100%;height:100%;position:absolute;inset:0}.admin-row-action{border-radius:var(--radius-md);border:1px solid var(--line);background:var(--panel);color:var(--ink);font-size:var(--text-sm);white-space:nowrap;padding:6px 10px;font-weight:700}.admin-row-action:hover:not(:disabled){background:var(--card-hover)}.admin-row-action:disabled{opacity:.5;cursor:not-allowed}.admin-pagination{font-size:var(--text-md);color:var(--ink-soft);justify-content:center;align-items:center;gap:14px;padding:6px 12px 0;display:flex}.admin-pagination-label{font-variant-numeric:tabular-nums}.metrics-range{flex-direction:column;gap:8px;padding:10px 12px 4px;display:flex}.metrics-date-inputs{align-items:center;gap:6px;display:flex}.metrics-date-inputs input[type=date]{border-radius:var(--radius-md);border:1px solid var(--line);background:var(--panel);min-width:0;color:var(--ink);font-size:var(--text-sm);flex:1;padding:5px 6px;font-family:inherit}.metrics-date-sep{color:var(--ink-soft);font-size:var(--text-sm)}.metrics-summary{font-size:var(--text-md);color:var(--ink-soft);flex-wrap:wrap;gap:4px 14px;padding:6px 12px 8px;display:flex}.metrics-summary b{color:var(--ink);font-variant-numeric:tabular-nums;font-weight:750}.metrics-reaction-kinds{font-size:var(--text-sm);color:var(--ink-soft);flex-wrap:wrap;gap:6px 14px;padding:2px 12px 10px;display:flex}.metrics-reaction-kind b{color:var(--ink);font-variant-numeric:tabular-nums}.metrics-daily-legend{font-size:var(--text-sm);color:var(--ink-soft);gap:14px;padding:0 12px 4px;display:flex}.metrics-daily-legend .dot{border-radius:50%;width:8px;height:8px;margin-right:4px;display:inline-block}.metrics-daily-legend .dot.reaction{background:var(--secondary)}.metrics-daily-legend .dot.comment{background:var(--primary)}.metrics-chart-wrap{padding:0 12px 4px}.metrics-chart{width:100%;height:auto;display:block}.metrics-chart-grid{stroke:var(--line);stroke-width:1px}.metrics-chart-ytick{fill:var(--ink-soft);text-anchor:end;font-variant-numeric:tabular-nums;font-size:8px}.metrics-chart-xtick{fill:var(--ink-soft);text-anchor:middle;font-variant-numeric:tabular-nums;font-size:8px}.metrics-chart-line{fill:none;stroke-width:2px;stroke-linejoin:round;stroke-linecap:round}.metrics-chart-line-reaction{stroke:var(--secondary)}.metrics-chart-line-comment{stroke:var(--primary)}.metrics-chart-dot-reaction{fill:var(--secondary)}.metrics-chart-dot-comment{fill:var(--primary)}.metrics-daily-table-wrap{padding:4px 12px 12px}.metrics-daily-table{border-collapse:collapse;width:100%;font-size:var(--text-sm)}.metrics-daily-table th,.metrics-daily-table td{text-align:right;border-bottom:1px solid var(--line);font-variant-numeric:tabular-nums;white-space:nowrap;padding:5px 6px}.metrics-daily-table th:first-child,.metrics-daily-table td:first-child{text-align:left}.metrics-daily-table th{color:var(--ink-soft);font-weight:700;font-size:var(--text-xs)}.metrics-daily-table td{color:var(--ink)}.comment-board-row{flex-direction:column;align-items:flex-start;gap:6px}.comment-board-row .admin-row-lead{align-items:flex-start}.comment-board-row .admin-row-lead input[type=checkbox]{margin-top:3px}.comment-board-meta{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.comment-board-meta b{color:var(--ink)}.comment-board-reply-badge{margin-left:2px}.admin-row-open-btn:hover .comment-board-video-title{text-decoration:underline;-webkit-text-decoration-color:var(--secondary);text-decoration-color:var(--secondary)}.comment-board-parent{font-size:var(--text-sm);color:var(--ink-soft);-webkit-line-clamp:1;-webkit-box-orient:vertical;padding-left:4px;display:-webkit-box;overflow:hidden}.comment-board-body{-webkit-line-clamp:3;font-weight:500}.comment-board-row .admin-row-side{justify-content:flex-end;align-self:stretch}.comment-board-pagination{font-size:var(--text-md);color:var(--ink-soft);justify-content:center;align-items:center;gap:14px;padding:6px 12px 0;display:flex}.comment-board-page-label{font-variant-numeric:tabular-nums}.edit-panel{z-index:35;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-lg);width:min(340px,100% - 24px);max-height:calc(100% - 24px);box-shadow:var(--shadow);flex-direction:column;gap:12px;padding:16px;display:flex;position:absolute;top:12px;left:12px;overflow-y:auto}.edit-panel-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.edit-panel-head h3{font-size:var(--text-base);font-weight:800}.edit-panel-close{border-radius:var(--radius-md);font-size:var(--text-md);padding:4px 8px}.edit-panel-close:hover{background:var(--card-hover)}.edit-field{font-size:var(--text-sm);color:var(--ink-soft);flex-direction:column;gap:5px;font-weight:700;display:flex}.edit-field input{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--bg);width:100%;color:var(--ink);font:inherit;font-size:var(--text-md);padding:7px 9px}.edit-field-row{gap:6px;display:flex}.edit-field-row input{flex:1;min-width:0}.edit-field-row button{border-radius:var(--radius-md);border:1px solid var(--line);font-size:var(--text-sm);white-space:nowrap;background:var(--panel);color:var(--ink);flex-shrink:0;padding:7px 10px;font-weight:700}.edit-field-row button:hover{background:var(--card-hover)}.edit-field-row button:disabled{opacity:.6;cursor:not-allowed}.edit-search-status{font-size:var(--text-sm);color:var(--ink-soft)}.edit-search-error{color:var(--primary)}.edit-search-ok{color:var(--secondary);font-weight:700}.edit-candidates{flex-direction:column;flex-shrink:0;gap:4px;max-height:170px;padding-left:0;list-style:none;display:flex;overflow-y:auto}.edit-candidates button{text-align:left;border-radius:var(--radius-md);border:1px solid var(--line);background:var(--panel);flex-direction:column;gap:2px;width:100%;padding:7px 9px;display:flex}.edit-candidates button:hover{background:var(--card-hover)}.edit-candidates button:disabled{opacity:.6;cursor:not-allowed}.edit-candidate-name{font-size:var(--text-md);color:var(--ink);font-weight:700}.edit-candidate-sub{font-size:var(--text-xs);color:var(--ink-soft)}.edit-coords{font-size:var(--text-md);font-variant-numeric:tabular-nums;color:var(--ink);font-weight:600}.edit-hint{font-size:var(--text-xs);color:var(--ink-soft);font-weight:500}.edit-panel-error{color:var(--primary);font-size:var(--text-md)}.edit-panel-actions{align-items:center;gap:8px;display:flex}.edit-panel-actions-right{gap:8px;margin-left:auto;display:flex}.edit-panel-actions button{border-radius:var(--radius-md);border:1px solid var(--line);font-size:var(--text-md);background:var(--panel);color:var(--ink);padding:8px 14px;font-weight:700}.edit-panel-actions button:hover{background:var(--card-hover)}.edit-panel-actions button:disabled{opacity:.6;cursor:not-allowed}.edit-panel-save{background:var(--secondary);border-color:var(--secondary);color:var(--panel)}.edit-panel-save:hover{background:var(--secondary);opacity:.9}.edit-panel-delete{color:var(--primary);border-color:var(--primary)}.edit-panel-delete:hover{background:var(--primary);color:var(--on-primary)}.edit-llm{border:1px dashed var(--line);border-radius:var(--radius-md);flex-direction:column;align-items:stretch;gap:8px;padding:10px;display:flex}.edit-llm-window{font-size:var(--text-sm);color:var(--ink);flex-direction:column;gap:6px;font-weight:500;display:flex}.edit-llm-window label{cursor:pointer;justify-content:flex-start;align-items:center;gap:7px;display:flex}.edit-llm-window input[type=radio]{background:0 0;border:none;border-radius:0;flex:none;width:auto;margin:0;padding:0}.edit-llm>button{border-radius:var(--radius-md);border:1px solid var(--line);font-size:var(--text-sm);background:var(--panel);color:var(--ink);align-self:flex-start;padding:7px 10px;font-weight:700}.edit-llm>button:hover{background:var(--card-hover)}.edit-llm>button:disabled{opacity:.6;cursor:not-allowed}.edit-llm-reason{font-size:var(--text-sm);color:var(--ink-soft);background:var(--card-hover);border-radius:var(--radius-md);padding:6px 9px}.legal-links{z-index:5;font-size:var(--text-xs);color:var(--ink-soft);background:color-mix(in srgb, var(--panel) 85%, transparent);border-radius:var(--radius-sm);pointer-events:auto;padding:2px 8px;position:fixed;bottom:4px;left:368px}.legal-links a{color:var(--ink-soft);text-decoration:none}.legal-links a:hover{text-decoration:underline}@media (max-width:860px){.legal-links{left:8px}}.onboarding-card p.onboarding-consent{font-size:var(--text-sm);color:var(--ink-soft);text-align:center;opacity:1;margin-top:12px}.onboarding-consent a{color:var(--secondary);text-decoration:underline}.map-list-btn{z-index:11;background:var(--chip);border:1px solid var(--chip-line);border-radius:var(--radius-md);height:36px;font-size:var(--text-md);color:var(--ink);cursor:pointer;transition:background var(--dur-fast) var(--ease-out);align-items:center;gap:6px;padding:0 12px;font-weight:700;display:none;position:absolute;top:16px;left:16px}.map-list-btn:hover{background:var(--card-hover)}.map-list-btn:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}@media (min-width:861px){.body.split .panel-side{display:none}.body.split .map-list-btn{display:inline-flex}.body.split .map-crumb{left:92px}}.route-stop{cursor:pointer;width:30px;height:41px;font:inherit;color:inherit;background:0 0;border:0;padding:0;display:block}.route-pin-svg{filter:drop-shadow(0 1px 2px #00000047);width:100%;height:100%;position:absolute;inset:0;overflow:visible}.route-pin-halo{fill:var(--pin);stroke:var(--pin);stroke-width:9px;stroke-linejoin:round;opacity:.4;display:none}.route-pin-body{fill:var(--pin);stroke:var(--pin-ring);stroke-width:2px;stroke-linejoin:round}.route-num{text-align:center;height:30px;line-height:30px;font-size:var(--text-sm);color:var(--on-primary);font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:800;position:absolute;top:0;left:0;right:0}.route-label{border-radius:var(--radius-md);background:var(--chip);border:1px solid var(--chip-line);max-width:150px;font-size:var(--text-md);color:var(--ink);white-space:nowrap;text-overflow:ellipsis;padding:3px 8px;font-weight:700;position:absolute;top:3px;left:calc(100% + 4px);overflow:hidden;box-shadow:0 1px 3px #00000024}.route-stop.is-past .route-label{color:var(--ink-soft);font-weight:600}.route-stop.is-next .route-pin-body{fill:var(--chip);stroke:var(--pin)}.route-stop.is-next .route-num{color:var(--accent-text)}.route-stop.is-now{transform-origin:50% 100%}.route-stop.is-now .route-pin-svg,.route-stop.is-now .route-num{transform-origin:50% 100%;transform:scale(1.27)}.route-stop.is-now .route-num{top:-8px}.route-stop.is-now .route-pin-halo{display:block}.route-stop.is-now .route-label{border-color:var(--pin);top:0;left:calc(100% + 10px)}.route-stop:focus-visible .route-label{outline:2px solid var(--focus-ring)}.map-hint{z-index:8;text-align:center;pointer-events:none;-webkit-user-select:none;user-select:none;--hint-halo:color-mix(in srgb, var(--land) 85%, transparent);width:max-content;max-width:calc(100% - 32px);text-shadow:0 0 2px var(--hint-halo), 0 0 6px var(--hint-halo), 0 0 14px var(--hint-halo);opacity:0;visibility:hidden;transition:opacity .2s var(--ease-out), visibility 0s linear .2s;flex-direction:column;align-items:center;gap:4px;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.map-hint[data-visible=true]{opacity:1;visibility:visible;transition:opacity .4s var(--ease-out), visibility 0s}.map-hint-title{letter-spacing:-.02em;color:color-mix(in srgb, var(--ink) 60%, transparent);align-items:center;gap:8px;font-size:26px;font-weight:700;line-height:1.25;display:inline-flex}.map-hint-title svg{filter:drop-shadow(0 0 4px var(--hint-halo));flex-shrink:0}.map-hint-sub{font-size:var(--text-lg);color:color-mix(in srgb, var(--ink-soft) 72%, transparent);font-weight:500}@media (max-width:860px){.map-hint{top:calc(50% - 75px)}.map-hint-title{gap:6px;font-size:20px}.map-hint-title svg{width:20px;height:20px}.map-hint-sub{font-size:var(--text-md)}}@media (prefers-reduced-motion:reduce){.map-hint,.map-hint[data-visible=true]{transition:none}}.noti-wrap{display:inline-flex;position:relative}.noti-bell{border-radius:var(--radius-md);width:36px;height:36px;color:var(--ink);transition:background var(--dur-fast) var(--ease-out);justify-content:center;align-items:center;display:inline-flex;position:relative}.noti-bell:hover{background:var(--card-hover)}.noti-bell:active{background:var(--line-soft)}.noti-badge{background:var(--primary);min-width:16px;height:16px;color:var(--on-primary);text-align:center;box-sizing:border-box;border-radius:8px;padding:0 4px;font-size:10px;font-weight:700;line-height:16px;position:absolute;top:1px;right:0}.noti-pop{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-lg);width:380px;max-height:min(560px,100vh - 80px);box-shadow:var(--shadow);z-index:60;flex-direction:column;display:flex;position:absolute;top:calc(100% + 8px);right:0;overflow:hidden}.noti-close{display:none}.noti-list{flex-direction:column;flex:1;min-height:0;display:flex}.noti-head{justify-content:space-between;align-items:center;padding:14px 16px 8px;display:flex}.noti-title{font-size:var(--text-lg);color:var(--ink);font-weight:700}.noti-readall{font-size:var(--text-sm);color:var(--accent-text);border-radius:var(--radius-sm);padding:4px 6px;font-weight:600}.noti-readall:disabled{color:var(--ink-mute);cursor:default}.noti-filters{flex-shrink:0;gap:6px;padding:4px 16px 10px;display:flex;overflow-x:auto}.noti-chip{font-size:var(--text-sm);color:var(--ink-soft);background:var(--chip);border:1px solid var(--chip-line);white-space:nowrap;border-radius:999px;flex-shrink:0;padding:5px 11px;font-weight:600}.noti-chip-on{background:var(--secondary);color:var(--panel);border-color:var(--secondary)}.noti-scroll{border-top:1px solid var(--line-soft);flex:1;min-height:120px;overflow-y:auto}.noti-empty{text-align:center;font-size:var(--text-base);color:var(--ink-mute);margin:0;padding:48px 16px}.noti-group{font-size:var(--text-xs);color:var(--ink-mute);margin:0;padding:12px 16px 4px;font-weight:700}.noti-pinned{border:1px solid var(--chip-line);background:var(--comment-bubble);border-radius:var(--radius-md);margin:10px 12px 2px;overflow:hidden}.noti-pinned-label{font-size:var(--text-xs);color:var(--accent-text);padding:8px 12px 0;font-weight:700;display:block}.noti-row{text-align:left;width:100%;color:var(--ink);align-items:flex-start;gap:10px;padding:10px 16px;display:flex}.noti-row:hover{background:var(--card-hover)}.noti-pinned .noti-row{padding:6px 12px 10px}.noti-ico{background:var(--line-soft);width:30px;height:30px;color:var(--ink-soft);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.noti-ico-notice{background:var(--comment-bubble);color:var(--accent-text)}.noti-main{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.noti-text{font-size:var(--text-base);color:var(--ink-soft);word-break:keep-all;line-height:1.4}.noti-row-unread .noti-text{color:var(--ink);font-weight:600}.noti-label{font-size:var(--text-xs);color:var(--accent-text);font-weight:700}.noti-quote{border-radius:var(--radius-md);background:var(--comment-bubble);font-size:var(--text-sm);color:var(--ink-soft);word-break:keep-all;margin-top:2px;padding:6px 10px;line-height:1.4}.noti-time{font-size:var(--text-xs);color:var(--ink-mute);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.noti-dot{background:var(--primary);border-radius:50%;flex-shrink:0;width:8px;height:8px;margin-top:6px}.noti-actions{border-top:1px solid var(--line-soft);flex-shrink:0;justify-content:space-between;align-items:center;gap:8px;padding:8px 12px;display:flex}.noti-link{font-size:var(--text-sm);color:var(--accent-text);border-radius:var(--radius-sm);padding:6px 8px;font-weight:600}.noti-link:hover{background:var(--card-hover)}.noti-new{font-size:var(--text-sm);color:var(--on-primary);background:var(--primary);border-radius:var(--radius-md);padding:6px 12px;font-weight:700}.noti-foot{border-top:1px solid var(--line-soft);font-size:var(--text-xs);color:var(--ink-mute);text-align:center;flex-shrink:0;margin:0;padding:10px 16px}@media (max-width:860px){.noti-pop{width:auto;max-height:none;box-shadow:none;z-index:200;border:0;border-radius:0;position:fixed;inset:0}.noti-close{width:36px;height:36px;color:var(--ink);z-index:1;justify-content:center;align-items:center;display:inline-flex;position:absolute;top:8px;right:8px}.noti-head{padding-right:52px}}.slide-shell{z-index:30;width:min(85.3333vh,100%);transform:translateX(calc(100% + var(--back-overhang)));transition:transform .42s cubic-bezier(.22,1,.36,1);position:absolute;inset:0 0 0 auto}.slide-in{transform:translate(0)}.slide-panel{background:var(--panel);color:var(--ink);box-shadow:var(--watch-shadow);flex-direction:column;display:flex;position:absolute;inset:0;overflow:hidden}.slide-handle{z-index:1;border:1px solid var(--chip-line);border-radius:var(--radius-lg);background:var(--chip);width:52px;box-shadow:var(--shadow);flex-direction:column;display:flex;position:absolute;top:50%;left:-26px;transform:translateY(-50%)}.slide-edge-btn{width:100%;height:58px;color:var(--ink);font-size:var(--text-xs);transition:background var(--dur-fast) var(--ease-out);flex-direction:column;justify-content:center;align-items:center;gap:4px;padding:0;font-weight:700;line-height:1;display:flex}.slide-edge-btn:first-child{border-radius:calc(var(--radius-lg) - 1px) calc(var(--radius-lg) - 1px) 0 0}.slide-edge-btn:last-child{border-radius:0 0 calc(var(--radius-lg) - 1px) calc(var(--radius-lg) - 1px);border-top:1px solid var(--chip-line)}.slide-edge-btn:hover{background:var(--card-hover)}.slide-edge-btn:focus-visible{outline:2px solid var(--focus-ring);outline-offset:-3px}@media (prefers-reduced-motion:reduce){.slide-shell{transition:none}}.notice-panel,.notice-ed{flex-direction:column;flex:1;min-height:0;display:flex}.notice-head{border-bottom:1px solid var(--line);flex-wrap:wrap;flex-shrink:0;align-items:center;gap:8px 10px;min-height:60px;padding:10px 28px 10px 44px;display:flex}.notice-head-title{font-size:var(--text-xl);flex-grow:1;font-weight:700}.notice-admin-label{font-size:var(--text-sm);color:var(--ink-soft)}.notice-admin-tag{background:var(--card-hover);font-size:var(--text-sm);color:var(--ink);border-radius:12px;padding:4px 10px;font-weight:700}.notice-new-btn{background:var(--secondary);height:36px;color:var(--panel);font-size:var(--text-md);border-radius:18px;padding:0 14px;font-weight:700}.notice-back{width:36px;height:36px;color:var(--ink);border-radius:18px;justify-content:center;align-items:center;margin-left:-8px;display:inline-flex}.notice-back:hover{background:var(--card-hover)}.notice-scroll{flex:1;min-height:0;padding:24px 56px 28px 60px;overflow-y:auto}.notice-meta{font-size:var(--text-sm);color:var(--accent-text);font-weight:700}.notice-title{letter-spacing:-.4px;margin:6px 0 16px;font-size:24px;font-weight:700;line-height:1.35}.notice-body{font-size:var(--text-lg);white-space:pre-wrap;overflow-wrap:anywhere;margin:0;line-height:1.8}.notice-actions{gap:8px;margin-top:18px;display:flex}.notice-act-btn{border:1px solid var(--chip-line);background:var(--chip);height:34px;font-size:var(--text-md);color:var(--ink);border-radius:17px;padding:0 14px}.notice-act-btn:hover{background:var(--card-hover)}.notice-act-danger{color:var(--danger)}.notice-status{font-size:var(--text-base);color:var(--ink-soft);margin:0}.notice-status-sub{font-size:var(--text-md);color:var(--ink-mute);margin:6px 0 0}.notice-error{font-size:var(--text-md);color:var(--danger);margin:0 0 12px}.notice-past{border-top:1px solid var(--line);margin-top:28px;padding-top:16px}.notice-past-head{font-size:var(--text-md);color:var(--ink-soft);font-weight:700}.notice-past-list{margin:0;padding:0;list-style:none}.notice-past-item{border-bottom:1px solid var(--line-soft)}.notice-past-row{text-align:left;width:100%;font-size:var(--text-base);justify-content:space-between;align-items:baseline;gap:12px;padding:12px 0;display:flex}.notice-past-row:hover{color:var(--accent-text)}.notice-past-title{overflow-wrap:anywhere;min-width:0}.notice-past-date{font-size:var(--text-md);color:var(--ink-soft);flex-shrink:0}.notice-ed-chips{font-size:var(--text-sm);color:var(--ink-soft);flex-wrap:wrap;flex-shrink:0;align-items:center;gap:6px;padding:14px 28px 0 44px;display:flex}.notice-ed-chips-label{color:var(--ink);font-weight:700}.notice-ed-chip{border:1px solid var(--chip-line);max-width:100%;font-size:var(--text-sm);color:var(--ink-soft);text-overflow:ellipsis;white-space:nowrap;border-radius:12px;padding:4px 10px;overflow:hidden}.notice-ed-chip:hover{background:var(--card-hover)}.notice-ed-chip-sched{border-color:var(--marker-bubble-1);color:var(--accent-text)}.notice-ed-chip-on{border-color:var(--ink);color:var(--ink);font-weight:700}.notice-ed-form{flex-direction:column;flex:1;min-height:0;display:flex}.notice-ed-scroll{flex-direction:column;flex:1;gap:16px;min-height:0;padding:18px 28px 18px 44px;display:flex;overflow-y:auto}.notice-ed-field{flex-direction:column;gap:8px;display:flex}.notice-ed-label{font-size:var(--text-base);justify-content:space-between;font-weight:700;display:flex}.notice-ed-count{font-weight:400;font-size:var(--text-sm);color:var(--ink-soft)}.notice-ed-input,.notice-ed-textarea,.notice-ed-dt{border-radius:var(--radius-md);border:1px solid var(--field-line);background:var(--field);width:100%;color:var(--ink);font:inherit}.notice-ed-input{height:42px;font-size:var(--text-lg);padding:0 12px}.notice-ed-textarea{font-size:var(--text-base);resize:vertical;padding:12px;line-height:1.7}.notice-ed-check{font-size:var(--text-base);cursor:pointer;align-items:center;gap:8px;display:flex}.notice-ed-foot{border-top:1px solid var(--line);flex-direction:column;flex-shrink:0;gap:12px;padding:14px 28px 18px 44px;display:flex}.notice-ed-modes{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.notice-ed-mode{border:1px solid var(--chip-line);background:var(--chip);height:36px;color:var(--ink);font-size:var(--text-md);border-radius:18px;padding:0 14px;font-weight:700}.notice-ed-mode-on{border:1.5px solid var(--secondary);background:var(--secondary);color:var(--panel)}.notice-ed-when{flex-wrap:wrap;align-items:center;gap:8px;display:inline-flex}.notice-ed-dt{width:auto;height:36px;font-size:var(--text-md);padding:0 10px}.notice-ed-tz{font-size:var(--text-sm);color:var(--ink-soft)}.notice-ed-error{font-size:var(--text-md);color:var(--danger);margin:0}.notice-ed-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.notice-ed-hint{font-size:var(--text-sm);color:var(--ink-soft);flex:160px}.notice-ed-secondary,.notice-ed-delete{border:1px solid var(--chip-line);background:var(--chip);height:40px;font-size:var(--text-base);color:var(--ink);border-radius:20px;padding:0 16px}.notice-ed-delete{color:var(--danger)}.notice-ed-primary{background:var(--accent-text);height:40px;color:var(--on-primary);font-size:var(--text-base);border-radius:20px;padding:0 20px;font-weight:700}.notice-ed-primary:disabled,.notice-ed-secondary:disabled,.notice-ed-delete:disabled,.notice-act-btn:disabled{opacity:.5;cursor:default}.slide-shell-pip .notice-ed-foot,.slide-shell-pip .notice-scroll{padding-bottom:219.25px}@media (max-width:860px){.slide-handle{border-radius:0 var(--radius-lg) var(--radius-lg) 0;border-left:none;left:0}.slide-edge-btn:first-child{border-top-left-radius:0}.slide-edge-btn:last-child{border-bottom-left-radius:0}.notice-head{padding:10px 16px 10px 64px}.notice-head-title{font-size:17px}.notice-scroll{padding:20px 20px 28px 64px}.notice-title{font-size:var(--text-2xl)}.notice-ed-chips{padding:12px 16px 0 64px}.notice-ed-scroll{padding:16px 16px 16px 64px}.notice-ed-foot{padding:12px 16px 16px 64px}.map:has(.slide-shell-pip) .watch-shell.watch-mini{bottom:16px}}@media (max-width:480px){.topbar{gap:8px}.topbar:has(.auth-menu) .brand-text{display:none}.admin-toggle{padding:6px 9px}.admin-toggle-label{display:none}.auth-btn-label{white-space:nowrap;text-overflow:ellipsis;max-width:72px;display:block;overflow:hidden}}.visit-strip{border-radius:var(--radius-lg);background:var(--comment-bubble);align-items:center;gap:8px;margin:12px 0 4px;padding:8px 8px 8px 10px;display:flex}.visit-strip-info{text-align:left;min-width:0;color:var(--ink);border-radius:var(--radius-md);flex:auto;align-items:center;gap:10px;display:flex}.visit-strip-thumbs{flex-shrink:0;display:flex}.visit-strip-thumb{object-fit:cover;background:var(--line);border:2px solid var(--comment-bubble);border-radius:6px;width:34px;height:34px}.visit-strip-thumb+.visit-strip-thumb{margin-left:-12px}.visit-strip-text{flex-direction:column;gap:2px;min-width:0;display:flex}.visit-strip-main{font-size:var(--text-md);font-weight:700}.visit-strip-sep{display:none}.visit-strip-sub{font-size:var(--text-sm);color:var(--ink-soft)}.visit-strip-write{background:var(--accent-text);height:36px;color:var(--on-primary);font-size:var(--text-md);white-space:nowrap;transition:filter var(--dur-fast) var(--ease-out);border-radius:18px;flex-shrink:0;padding:0 14px;font-weight:700}.visit-strip-write:hover{filter:brightness(.92)}.visit-row-count{font-size:var(--text-sm);color:var(--ink-soft);white-space:nowrap;font-variant-numeric:tabular-nums}.watch-visits{padding-top:12px}.visit-empty{flex-direction:column;align-items:flex-start;gap:10px;padding:14px 0;display:flex}.visit-empty-text{font-size:var(--text-md);color:var(--ink-soft);margin:0;line-height:1.5}.visit-empty-btn{border:1px solid var(--chip-line);background:var(--chip);height:36px;color:var(--ink);font-size:var(--text-md);border-radius:18px;padding:0 14px;font-weight:700}.visit-empty-btn:hover{background:var(--card-hover)}.visit-grid-wrap{flex-direction:column;gap:12px;display:flex}.visit-grid{gap:2px;margin:0;padding:0;list-style:none;display:grid}.visit-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.visit-grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.visit-grid-item{min-width:0}.visit-tile{aspect-ratio:1;background:var(--line);border-radius:0;width:100%;padding:0;display:block;position:relative;overflow:hidden}.visit-tile:focus-visible{outline-offset:-2px}.visit-tile-img{object-fit:cover;width:100%;height:100%;transition:opacity var(--dur-fast) var(--ease-out);display:block}.visit-tile:hover .visit-tile-img{opacity:.88}.visit-tile-badge{border-radius:var(--radius-sm);color:#fff;background:#15191cc7;align-items:center;gap:3px;padding:3px 6px;font-size:10px;font-weight:700;line-height:1;display:inline-flex;position:absolute;bottom:6px;left:6px}.visit-more{border:1px solid var(--chip-line);background:var(--chip);height:36px;color:var(--ink);font-size:var(--text-md);border-radius:18px;align-self:center;padding:0 18px;font-weight:600}.visit-more:hover{background:var(--card-hover)}.visit-more:disabled{opacity:.6;cursor:default}.visit-compose{flex-direction:column;margin:0 -16px;display:flex}.visit-compose-head{border-bottom:1px solid var(--line);align-items:center;gap:4px;min-height:56px;padding:0 12px 0 8px;display:flex}.visit-compose-close{width:44px;height:44px;color:var(--ink);border-radius:50%;justify-content:center;align-items:center;display:flex}.visit-compose-close:hover{background:var(--card-hover)}.visit-compose-title{color:var(--ink);flex:auto;margin:0;font-size:17px;font-weight:700}.visit-compose-submit{background:var(--accent-text);height:36px;color:var(--on-primary);font-size:var(--text-base);border-radius:18px;padding:0 16px;font-weight:700}.visit-compose-submit:disabled{opacity:.45;cursor:not-allowed}.visit-compose-video{background:var(--bg);border-bottom:1px solid var(--line);align-items:center;gap:10px;padding:10px 16px;display:flex}.visit-compose-video-thumb{object-fit:cover;background:var(--line);border-radius:5px;flex-shrink:0;width:80px;height:45px;display:block}.visit-compose-video-info{min-width:0}.visit-compose-video-title{font-size:var(--text-md);color:var(--ink);white-space:nowrap;text-overflow:ellipsis;font-weight:700;line-height:1.35;overflow:hidden}.visit-compose-video-sub{font-size:var(--text-sm);color:var(--ink-soft);margin-top:2px}.visit-compose-why{text-align:right;font-size:var(--text-sm);color:var(--ink-soft);margin:6px 16px 0;line-height:1.4}.visit-compose-notice{border-radius:var(--radius-md);background:var(--comment-bubble);color:var(--ink);font-size:var(--text-md);margin:12px 16px 0;padding:10px 12px;line-height:1.5}.visit-compose-form{flex-direction:column;gap:22px;padding:16px 16px 28px;display:flex}.visit-field{flex-direction:column;min-width:0;display:flex}.visit-label{font-size:var(--text-base);color:var(--ink);margin:0;font-weight:700}.visit-label-row{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.visit-req{color:var(--accent-text)}.visit-opt{font-size:var(--text-sm);color:var(--ink-soft);font-weight:400}.visit-counter{font-size:var(--text-sm);color:var(--ink-soft);font-variant-numeric:tabular-nums}.visit-counter.warn{color:var(--danger);font-weight:700}.visit-hint{font-size:var(--text-sm);color:var(--ink-soft);margin:8px 0 0;line-height:1.5}.visit-hint-warn{color:var(--ink)}.visit-link{color:var(--accent-text);text-underline-offset:2px;font-weight:700;text-decoration:underline}.visit-error{font-size:var(--text-sm);color:var(--danger);margin:6px 0 0;font-weight:600}.visit-form-error{margin:0}.visit-chips{flex-wrap:wrap;gap:6px;margin-top:10px;display:flex}.visit-chip{border:1px solid var(--chip-line);background:var(--chip);min-height:36px;color:var(--ink);font-size:var(--text-md);border-radius:18px;align-items:center;gap:6px;padding:0 12px;display:inline-flex}.visit-chip:hover{background:var(--card-hover)}.visit-chip.on{border-color:var(--secondary);background:var(--secondary);color:var(--panel);font-weight:700}.visit-chip:disabled{opacity:.45;cursor:not-allowed}.visit-chip-t{font-variant-numeric:tabular-nums;color:var(--ink-soft);font-weight:400}.visit-chip.on .visit-chip-t{color:inherit;opacity:.8}.visit-chip-mine{border-radius:var(--radius-sm);background:var(--comment-bubble);color:var(--accent-text);padding:2px 5px;font-size:10px;font-weight:700}.visit-check{border:1px solid var(--line);background:var(--bg);cursor:pointer;font-size:var(--text-base);color:var(--ink);border-radius:10px;align-items:center;gap:10px;padding:12px 14px;font-weight:700;display:flex}.visit-check-box{width:20px;height:20px;accent-color:var(--accent-text);flex-shrink:0;margin:0}.visit-photos{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:10px;display:grid}.visit-photo{aspect-ratio:1;background:var(--line);border-radius:10px;position:relative;overflow:hidden}.visit-photo-img{object-fit:cover;width:100%;height:100%;display:block}.visit-photo-busy{font-size:var(--text-sm);color:var(--ink-soft);background:var(--bg);border:1px solid var(--line);justify-content:center;align-items:center;display:flex}.visit-photo-tag{border-radius:var(--radius-sm);color:#fff;background:#15191cbf;padding:2px 6px;font-size:10px;font-weight:700;position:absolute;top:6px;left:6px}.visit-photo-remove{color:#fff;background:#15191cb3;border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;display:flex;position:absolute;top:4px;right:4px}.visit-photo-remove:hover{background:#15191ce6}.visit-photo-add{aspect-ratio:1;border:1.5px dashed var(--chip-line);background:var(--bg);color:var(--ink-soft);font-size:var(--text-sm);border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:6px;font-weight:600;display:flex}.visit-photo-add:hover{border-color:var(--secondary);color:var(--ink)}.visit-file{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.visit-input,.visit-textarea{border:1px solid var(--field-line);background:var(--field);width:100%;color:var(--ink);font:inherit;font-size:var(--text-base);border-radius:10px;margin-top:8px}.visit-input{height:44px;padding:0 12px}.visit-textarea{resize:vertical;min-height:120px;padding:12px;line-height:1.6}.visit-input:focus-visible,.visit-textarea:focus-visible{outline:2px solid var(--focus-ring);outline-offset:1px}.visit-input[aria-invalid=true],.visit-textarea[aria-invalid=true]{border-color:var(--danger)}@media (max-width:860px){.visit-compose-head{padding-left:60px}}.visit-panel,.place-visits{flex-direction:column;flex:1;min-height:0;display:flex;position:relative}.visit-sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.visit-btn{border:1px solid var(--chip-line);background:var(--chip);height:36px;color:var(--ink);font-size:var(--text-md);border-radius:18px;padding:0 14px;font-weight:700}.visit-btn:hover{background:var(--card-hover)}.visit-status{flex-direction:column;align-items:flex-start;gap:10px;padding:32px 28px 28px 44px;display:flex}.visit-status-text{font-size:var(--text-base);color:var(--ink-soft);margin:0}.visit-status-sub{font-size:var(--text-md);color:var(--ink-mute);margin:0}.visit-head{border-bottom:1px solid var(--line);flex-shrink:0;align-items:center;gap:10px;min-height:60px;padding:10px 20px 10px 44px;display:flex}.visit-avatar,.visit-cmt-avatar{background:var(--comment-bubble);color:var(--accent-text);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-weight:700;display:inline-flex}.visit-avatar{width:32px;height:32px;font-size:var(--text-md)}.visit-head-text{flex:auto;min-width:0}.visit-author{font-size:var(--text-base);overflow-wrap:anywhere;align-items:center;gap:6px;font-weight:700;display:flex}.visit-meta{font-size:var(--text-sm);color:var(--ink-soft);margin-top:2px}.visit-review-tag{background:var(--card-hover);font-size:var(--text-xs);color:var(--ink-soft);border-radius:10px;flex-shrink:0;padding:2px 8px;font-weight:700}.visit-owner-actions{flex-shrink:0;gap:4px;display:flex}.visit-head-btn{height:36px;font-size:var(--text-md);color:var(--ink-soft);border-radius:18px;flex-shrink:0;align-items:center;gap:4px;padding:0 10px;display:inline-flex}.visit-head-btn:hover{background:var(--card-hover);color:var(--ink)}.visit-head-btn:disabled{opacity:.5;cursor:default}.visit-head-danger{color:var(--danger)}.visit-action-error{font-size:var(--text-md);color:var(--danger);margin:0;padding:8px 20px 0 44px}.visit-body{flex:1;min-height:0;padding:20px 24px 28px 44px;overflow-y:auto}.visit-back-row{flex-shrink:0;padding:10px 20px 0 38px}.visit-back{max-width:100%;height:34px;font-size:var(--text-md);color:var(--ink-soft);border-radius:17px;align-items:center;gap:6px;padding:0 12px 0 8px;font-weight:700;display:inline-flex}.visit-back:hover{background:var(--card-hover);color:var(--ink)}.visit-back-label{white-space:nowrap;text-overflow:ellipsis;min-width:0;overflow:hidden}.visit-media{margin-bottom:16px}.visit-main{min-width:0}.visit-photos-wrap{border-radius:var(--radius-lg);background:var(--line-soft);position:relative;overflow:hidden}.visit-photos-gone{aspect-ratio:1;max-height:40vh;font-size:var(--text-sm);color:var(--ink-soft);justify-content:center;align-items:center;display:flex}.visit-carousel{scroll-snap-type:x mandatory;scrollbar-width:none;aspect-ratio:1;max-height:60svh;display:flex;overflow-x:auto}.visit-carousel::-webkit-scrollbar{display:none}.visit-carousel-img{object-fit:contain;scroll-snap-align:start;flex:0 0 100%;width:100%;height:100%;display:block}.visit-carousel-img-ph{background-position:50%;background-repeat:no-repeat;background-size:contain}.visit-photo-count{color:#fff;font-size:var(--text-sm);font-variant-numeric:tabular-nums;background:#15191cb3;border-radius:12px;padding:3px 9px;font-weight:700;position:absolute;top:10px;right:10px}.visit-photo-nav{color:#1e2b33;width:34px;height:34px;box-shadow:var(--shadow);background:#ffffffe0;border-radius:17px;justify-content:center;align-items:center;display:inline-flex;position:absolute;top:50%;transform:translateY(-50%)}.visit-photo-nav:disabled{opacity:0;pointer-events:none}.visit-photo-prev{left:8px}.visit-photo-next{right:8px}.visit-dots{justify-content:center;gap:6px;padding:10px 0 2px;display:flex}.visit-dot{background:var(--chip-line);border-radius:3px;width:6px;height:6px}.visit-dot-on{background:var(--ink)}.visit-place-chip{border:1px solid var(--chip-line);background:var(--bg);max-width:100%;height:32px;color:var(--ink);font-size:var(--text-md);border-radius:16px;align-items:center;gap:6px;padding:0 12px;font-weight:700;display:inline-flex}.visit-place-chip:hover{background:var(--card-hover)}.visit-place-chip-sub{color:var(--ink-soft);font-weight:400}.visit-title{letter-spacing:-.3px;overflow-wrap:anywhere;margin:14px 0 8px;font-size:19px;font-weight:700;line-height:1.4}.visit-body-text{font-size:var(--text-lg);white-space:pre-wrap;overflow-wrap:anywhere;margin:0;line-height:1.7}.visit-video-row{border-radius:var(--radius-lg);border:1px solid var(--line);background:var(--panel);width:100%;min-width:0;max-width:100%;color:var(--ink);text-align:left;margin-top:18px;padding:12px 14px;display:block;overflow:hidden}.visit-video-row:hover{background:var(--card-hover)}.visit-video-title{white-space:nowrap;text-overflow:ellipsis;min-width:0;max-width:100%;font-size:var(--text-base);font-weight:700;line-height:1.35;display:block;overflow:hidden}.visit-video-title-icon{vertical-align:-1px;margin-right:6px;display:inline-block}.visit-video-title-text{display:inline}.visit-video-sub{font-size:var(--text-sm);color:var(--ink-soft);flex-wrap:wrap;align-items:center;gap:4px 8px;margin-top:4px;display:flex}.visit-video-badge{background:var(--comment-bubble);font-size:var(--text-xs);color:var(--accent-text);border-radius:10px;padding:1px 8px;font-weight:700}.visit-comments{border-top:8px solid var(--bg);margin-top:24px;padding-top:16px}.visit-comments-head{font-size:var(--text-base);margin:0 0 12px;font-weight:700}.visit-comments-empty{font-size:var(--text-md);color:var(--ink-mute);margin:0 0 12px}.visit-cmt-list{flex-direction:column;gap:14px;margin:0;padding:0;list-style:none;display:flex}.visit-cmt{gap:10px;display:flex}.visit-cmt-reply{margin-top:2px}.visit-cmt-avatar{width:28px;height:28px;font-size:var(--text-sm);background:var(--line-soft);color:var(--ink)}.visit-cmt-main{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.visit-cmt-meta{font-size:var(--text-sm);color:var(--ink-soft);flex-wrap:wrap;align-items:center;gap:4px;display:flex}.visit-cmt-author{color:var(--ink)}.visit-cmt-body{background:var(--comment-bubble);max-width:100%;font-size:var(--text-base);white-space:pre-wrap;overflow-wrap:anywhere;border-radius:4px 12px 12px;align-self:flex-start;padding:8px 11px;line-height:1.5}.visit-cmt-hidden{background:var(--line-soft);color:var(--ink-mute);font-style:italic}.visit-cmt-actions{gap:2px;display:flex}.visit-cmt-act{height:28px;font-size:var(--text-sm);color:var(--ink-soft);border-radius:14px;padding:0 8px}.visit-cmt-act:hover{background:var(--card-hover);color:var(--ink)}.visit-cmt-list .visit-cmt-list{margin-top:10px}.visit-cmt-form{align-items:center;gap:8px;margin-top:12px;display:flex}.visit-cmt-input{border:1px solid var(--field-line);background:var(--field);min-width:0;height:44px;color:var(--ink);font:inherit;font-size:var(--text-base);border-radius:22px;flex:1;padding:0 14px}.visit-cmt-submit{background:var(--secondary);height:44px;color:var(--panel);font-size:var(--text-base);border-radius:22px;flex-shrink:0;padding:0 16px;font-weight:700}.visit-cmt-submit:disabled{opacity:.45;cursor:default}.visit-cmt-error{font-size:var(--text-md);color:var(--danger);margin:10px 0 0}.watch-comment-error{font-size:var(--text-md);color:var(--danger);margin:6px 0 0}.visit-cmt-login{margin-top:12px}.visit-edit-scroll{flex:1;min-height:0;padding:0 16px 0 44px;overflow-y:auto}.place-visits-head{border-bottom:1px solid var(--line);flex-shrink:0;min-height:60px;padding:12px 20px 10px 44px}.place-visits-title{font-size:var(--text-xl);overflow-wrap:anywhere;font-weight:700}.place-visits-sub{font-size:var(--text-sm);color:var(--ink-soft);margin-top:2px}.place-visits-filters{flex-shrink:0;gap:6px;padding:10px 20px 10px 44px;display:flex}.place-visits-chip{border:1px solid var(--chip-line);background:var(--chip);height:32px;color:var(--ink);font-size:var(--text-sm);border-radius:16px;align-items:center;gap:4px;padding:0 12px;display:inline-flex}.place-visits-chip:hover{background:var(--card-hover)}.place-visits-chip-on{border-color:var(--secondary);background:var(--secondary);color:var(--panel);font-weight:700}.place-visits-chip-on:hover{background:var(--secondary)}.place-visits-scroll{flex:1;min-height:0;padding:0 20px 20px 44px;overflow-y:auto}.place-visits-empty{flex-direction:column;align-items:flex-start;gap:10px;padding:24px 0;display:flex}.place-visits-empty-text{font-size:var(--text-md);color:var(--ink-soft);margin:0;line-height:1.5}.place-visits-loading{padding:24px 0}.place-videos{border-top:1px solid var(--line);margin-top:20px;padding-top:16px}.place-videos-head{font-size:var(--text-base);margin:0 0 8px;font-weight:700}.place-videos-list{margin:0 -10px;padding:0;list-style:none}.place-video-row{border-radius:var(--radius-md);width:100%;min-width:0;max-width:100%;color:var(--ink);text-align:left;padding:9px 10px;display:block;overflow:hidden}.place-video-row:hover{background:var(--card-hover)}.place-video-title{white-space:nowrap;text-overflow:ellipsis;min-width:0;max-width:100%;font-size:var(--text-md);font-weight:700;display:block;overflow:hidden}.place-video-title-icon{vertical-align:-1px;margin-right:6px;display:inline-block}.place-video-title-text{display:inline}.place-video-sub{white-space:nowrap;text-overflow:ellipsis;font-size:var(--text-sm);color:var(--ink-soft);margin-top:3px;padding-left:17px;display:block;overflow:hidden}.place-videos-note{font-size:var(--text-sm);color:var(--ink-mute);margin:12px 0 0}.slide-shell-pip .visit-body,.slide-shell-pip .visit-edit-scroll,.slide-shell-pip .place-visits-scroll{padding-bottom:219.25px}.slide-shell-pill .visit-body,.slide-shell-pill .visit-edit-scroll,.slide-shell-pill .place-visits-scroll{padding-bottom:72px}.watch-shell.watch-collapsed{visibility:hidden;pointer-events:none}.pip-pill{z-index:50;background:var(--secondary);height:44px;color:var(--panel);box-shadow:var(--shadow);font-size:var(--text-base);border-radius:22px;align-items:center;gap:8px;padding:0 18px 0 14px;font-weight:700;display:inline-flex;position:fixed;bottom:16px;right:16px}.pip-pill:hover{filter:brightness(1.08)}.pip-pill:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.pip-pill-icon{font-size:12px;line-height:1}.spot-visits{border-bottom:1px solid var(--line);flex-shrink:0;padding:10px 14px 12px}.spot-visits-head{justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;display:flex}.spot-visits-title{font-size:var(--text-md);font-weight:700}.spot-visits-count{color:var(--ink-soft);font-weight:500}.spot-visits-more{height:28px;font-size:var(--text-sm);color:var(--ink-soft);border-radius:14px;padding:0 8px}.spot-visits-more:hover{background:var(--card-hover);color:var(--ink)}.spot-visits-row{grid-template-columns:repeat(6,minmax(0,1fr));gap:4px;margin:0;padding:0;list-style:none;display:grid}.spot-visits-item{min-width:0}.spot-visits-thumb{aspect-ratio:1;border-radius:var(--radius-sm);background:var(--line-soft);width:100%;padding:0;display:block;overflow:hidden}.spot-visits-img{object-fit:cover;width:100%;height:100%;display:block}.spot-visits-thumb:hover{opacity:.88}@media (max-width:860px){.visit-head{padding:10px 12px 10px 64px}.visit-action-error{padding:8px 12px 0 64px}.visit-status{padding:24px 16px 24px 64px}.visit-body{padding:16px 16px 28px 64px}.slide-shell-pip .visit-body{padding-bottom:219.25px}.slide-shell-pill .visit-body{padding-bottom:72px}.visit-edit-scroll{padding:0 16px 0 64px}.place-visits-head{padding:12px 16px 10px 64px}.place-visits-title{font-size:17px}.place-visits-filters{padding:10px 16px 10px 64px}.place-visits-scroll{padding:0 16px 20px 64px}.visit-back-row{padding:10px 12px 0 58px}}.visit-back-row-flow{margin-left:-8px;padding:0 0 2px}.visit-head-flow{min-height:0;padding:8px 0 10px}.visit-body-flow{flex:none;padding:14px 0 8px;overflow:visible}.visit-status-flow{padding:20px 0}.visit-action-error-flow{padding:8px 0 0}.comment-board-chips{gap:6px;display:flex}.comment-board-chip{border:1px solid var(--line);color:var(--ink);cursor:pointer;background:0 0;border-radius:999px;padding:5px 12px;font-size:13px}.comment-board-chip-on{border-color:var(--secondary);background:var(--secondary);color:var(--panel);font-weight:700}.comment-board-group{margin:10px 0 2px;font-size:13px;font-weight:700}.comment-board-hidden-main{align-items:center;gap:10px;display:flex}.comment-board-thumb{object-fit:cover;background:var(--line-soft);border-radius:6px;flex:none;width:44px;height:44px}.comment-board-hidden-badge{background:color-mix(in srgb, var(--danger) 15%, transparent);color:var(--danger)}.visit-not-open{color:var(--muted,#6b7280);margin:6px 12px 0;font-size:13px}
