:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;font-family:system-ui,sans-serif}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}:root:not([data-theme]){--color-bg:#fafafa;--color-text:#171717;--color-text-muted:#525252;--color-text-subtle:#737373;--color-border-muted:#d4d4d4}@media (prefers-color-scheme:dark){:root:not([data-theme]){--color-bg:#0a0a0a;--color-text:#ededed;--color-text-muted:#a3a3a3;--color-text-subtle:#737373;--color-border-muted:#525252}}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--color-bg:#fafafa;--color-text:#171717;--color-text-muted:#525252;--color-text-subtle:#737373;--color-border-muted:#d4d4d4}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--color-bg:#0a0a0a;--color-text:#ededed;--color-text-muted:#a3a3a3;--color-text-subtle:#737373;--color-border-muted:#525252}*,:before,:after{box-sizing:border-box}body{background:var(--color-bg);color:var(--color-text);margin:0;transition:background-color .2s,color .2s}.app{background:var(--color-bg);flex-direction:column;justify-content:center;align-items:center;min-height:100dvh;padding:0 1.5rem;display:flex}.app-title{color:var(--color-text);margin:0 0 .5rem;font-size:28px;font-weight:700}.app-lead{color:var(--color-text-muted);margin:0 0 1.5rem;font-size:.875rem}.app-tags{color:var(--color-text-subtle);flex-direction:row;align-items:center;gap:.25rem;font-size:.875rem;display:flex}.app-tags-sep{color:var(--color-border-muted)}.theme-toggle{border:1px solid var(--color-border-muted);font:inherit;color:var(--color-text);background:color-mix(in oklab, var(--color-bg) 92%, var(--color-text) 8%);cursor:pointer;border-radius:8px;padding:.5rem .75rem;font-size:.8125rem;position:fixed;top:1rem;right:1rem}.theme-toggle:hover{background:color-mix(in oklab, var(--color-bg) 85%, var(--color-text) 15%)}.vis-list{border:1px solid var(--color-border-muted);background:color-mix(in oklab, var(--color-bg) 97%, var(--color-text) 3%);border-radius:10px}.vis-item{border-bottom:1px solid var(--color-border-muted);height:56px;color:var(--color-text);align-items:center;gap:.75rem;padding:0 1rem;font-size:.875rem;display:flex}.vis-item-id{min-width:3rem;color:var(--color-text-muted);font-variant-numeric:tabular-nums;flex-shrink:0;font-size:.75rem}.vis-item-extra{color:var(--color-text-muted);margin-top:4px;font-size:.75rem;line-height:1.5;display:block}.vis-footer{color:var(--color-text-muted);justify-content:center;align-items:center;gap:.5rem;padding:.875rem;font-size:.8125rem;display:flex}.vis-end{color:var(--color-text-subtle)}.vis-spinner{border:2px solid var(--color-border-muted);border-top-color:var(--color-text-muted);border-radius:50%;width:14px;height:14px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.app{justify-content:flex-start;padding-top:3rem}.shell{width:100%;max-width:560px}.tabbar{border-bottom:1px solid var(--color-border-muted);gap:.25rem;margin-bottom:1rem;display:flex}.tab-btn{font:inherit;color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;padding:.5rem .875rem;font-size:.875rem}.tab-btn.active{color:var(--color-text);border-bottom-color:var(--color-text)}.shell-main{padding-bottom:3rem}.panel{border:1px solid var(--color-border-muted);background:color-mix(in oklab, var(--color-bg) 97%, var(--color-text) 3%);border-radius:10px;width:100%;margin-bottom:1rem;padding:1rem}.panel-title{margin:0 0 .5rem;font-size:1rem;font-weight:600}.label{color:var(--color-text-muted);margin:.75rem 0 .25rem;font-size:.8125rem;display:block}.field{border:1px solid var(--color-border-muted);width:100%;font:inherit;color:var(--color-text);background:var(--color-bg);resize:vertical;border-radius:8px;margin-top:.25rem;padding:.5rem .625rem;font-size:.875rem}.field.mono{font-family:ui-monospace,monospace}.btn{border:1px solid var(--color-border-muted);font:inherit;color:var(--color-text);background:var(--color-bg);cursor:pointer;border-radius:8px;margin-top:.75rem;margin-right:.5rem;padding:.5rem 1rem;font-size:.875rem}.btn.primary{background:var(--color-text);color:var(--color-bg);border-color:var(--color-text)}.btn.danger{color:#fff;background:#c0392b;border-color:#c0392b}.btn.small{margin-top:.375rem;padding:.25rem .625rem;font-size:.75rem}.btn:disabled{opacity:.5;cursor:not-allowed}.hint{color:var(--color-text-muted);font-size:.8125rem;line-height:1.6}.error-text{color:#c0392b;font-size:.8125rem}.divider{color:var(--color-text-subtle);align-items:center;gap:.75rem;margin:1rem 0;font-size:.75rem;display:flex}.divider:before,.divider:after{content:"";border-top:1px solid var(--color-border-muted);flex:1}.row{align-items:center;gap:.5rem;display:flex}.check-row{color:var(--color-text-muted);align-items:center;gap:.5rem;margin-top:.5rem;font-size:.8125rem;display:flex}.confirm-box{border:1px solid #c0392b;border-radius:8px;margin-top:.75rem;padding:.75rem}.confirm-text{color:#c0392b;margin:0;font-size:.875rem;font-weight:600}.map-wrap{width:100%;position:relative}.map-canvas{border:1px solid var(--color-border-muted);border-radius:10px;width:100%;height:56vh;min-height:340px;overflow:hidden}.map-fallback{border:1px solid var(--color-border-muted);border-radius:10px;flex-direction:column;justify-content:center;align-items:center;height:40vh;display:flex}.map-legend{border:1px solid var(--color-border-muted);background:color-mix(in oklab, var(--color-bg) 92%, transparent);color:var(--color-text);border-radius:8px;flex-direction:column;gap:.375rem;padding:.5rem .75rem;font-size:.75rem;display:flex;position:absolute;top:.625rem;right:.625rem}.map-legend-item{cursor:pointer;align-items:center;gap:.375rem;display:flex}.map-dot{border-radius:50%;width:10px;height:10px;display:inline-block}.map-dot-message{background:#2563eb}.map-dot-activity{background:#ea580c}.feed-page{width:100%}.note-list{border:1px solid var(--color-border-muted);background:color-mix(in oklab, var(--color-bg) 97%, var(--color-text) 3%);border-radius:10px}.note{border-bottom:1px solid var(--color-border-muted);padding:.75rem 1rem}.note-meta{color:var(--color-text-muted);gap:.75rem;font-size:.75rem;display:flex}.note-author{font-family:ui-monospace,monospace}.note-geo{color:var(--color-text-subtle)}.note-content{white-space:pre-wrap;word-break:break-word;margin-top:.25rem;font-size:.875rem;line-height:1.6}.chain-registration{flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:.5rem;font-size:.75rem;display:flex}.chain-state{border:1px solid var(--color-border-muted);color:var(--color-text-muted);border-radius:999px;padding:.15rem .45rem}.chain-state.verified{color:#238636;border-color:#238636}.chain-registration .btn{margin:0}.chain-link{color:var(--color-text);text-decoration:underline}.attach-list{flex-wrap:wrap;gap:.5rem;margin-top:.5rem;display:flex}.attach-item{flex-direction:column;align-items:flex-start;display:flex}.attach-thumb{object-fit:cover;border:1px solid var(--color-border-muted);border-radius:8px;width:96px;height:96px}.note-images{flex-wrap:wrap;gap:.5rem;margin-top:.5rem;display:flex}.note-image{border:1px solid var(--color-border-muted);border-radius:8px;max-width:100%;max-height:320px}.banner-new{border:1px solid var(--color-border-muted);background:var(--color-bg-accent,#2563eb);color:#fff;cursor:pointer;border-radius:8px;width:100%;margin:.5rem 0;padding:.5rem;font-size:.875rem;display:block}.banner-new:hover{opacity:.9}.avatar-preview{object-fit:cover;border:1px solid var(--color-border-muted);border-radius:50%;flex-shrink:0;width:64px;height:64px}.avatar-empty{color:var(--color-text-muted);background:var(--color-bg-muted);justify-content:center;align-items:center;font-size:.7rem;display:flex}.chat-list{flex-direction:column;gap:.4rem;min-height:200px;max-height:46vh;padding:.5rem 0;display:flex;overflow-y:auto}.chat-msg{flex-direction:column;align-items:flex-start;max-width:80%;display:flex}.chat-msg.mine{align-self:flex-end;align-items:flex-end}.chat-bubble{background:var(--color-bg-muted);white-space:pre-wrap;word-break:break-word;border-radius:12px;padding:.45rem .7rem;font-size:.875rem;line-height:1.5}.chat-msg.mine .chat-bubble{background:var(--color-bg-accent,#2563eb);color:#fff}.translation-actions{align-items:center;gap:8px;margin-top:5px;display:flex}.translation-button{color:var(--accent,#7c6cf2);font:inherit;cursor:pointer;background:0 0;border:0;padding:0;font-size:12px}.translation-button:disabled{cursor:default;opacity:.65}.translation-error{color:var(--danger,#dc5b67);font-size:12px}.chat-time{color:var(--color-text-muted);margin-top:.1rem;font-size:.65rem}
