@font-face{font-family:Inter;src:url("/assets/inter-latin-wght-normal-NRMW37G5.woff2") format("woff2");font-weight:100 900;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;src:url("/assets/inter-latin-ext-wght-normal-HA22NDSG.woff2") format("woff2");font-weight:100 900;font-display:swap;unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Bricolage;src:url("/assets/bricolage-grotesque-latin-wght-normal-HY2A4V5R.woff2") format("woff2");font-weight:200 800;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Bricolage;src:url("/assets/bricolage-grotesque-latin-ext-wght-normal-EMW626ZA.woff2") format("woff2");font-weight:200 800;font-display:swap;unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}:root{--radius: 10px;--background: #f6f4ef;--foreground: #161412;--card: #fdfcf8;--primary: #c53412;--primary-foreground: #ffffff;--muted: #ebe9e5;--muted-foreground: #5e5850;--accent: #ffe7df;--accent-foreground: #8c1e01;--destructive: #bb053e;--destructive-soft: #fbe4ea;--success: #256b53;--success-soft: #e3f0e9;--warning: #8a5a00;--warning-soft: #fbefd5;--border: #dbd9d3;--ink: #14110f;--shadow: 0 1px 2px rgba(20, 17, 15, .06), 0 10px 30px rgba(20, 17, 15, .12);color-scheme:light}@media(prefers-color-scheme:dark){:root{--background: #14110f;--foreground: #f6f4ef;--card: #1e1a17;--primary: #ff5a3c;--primary-foreground: #14110f;--muted: #2a2521;--muted-foreground: #b8b0a6;--accent: #3a1d14;--accent-foreground: #ffb39e;--destructive: #ff5d7f;--destructive-soft: #2e1219;--success: #6fcf9f;--success-soft: #16291f;--warning: #f0b95c;--warning-soft: #2e2311;--border: #3a322c;--shadow: 0 1px 2px rgba(0, 0, 0, .3), 0 10px 30px rgba(0, 0, 0, .45);color-scheme:dark}}*{box-sizing:border-box}html,body{margin:0;height:100%}body{background:var(--background);color:var(--foreground);font:14px/1.45 Inter,system-ui,-apple-system,Segoe UI,sans-serif;-webkit-font-smoothing:antialiased}input,button,select,textarea{font:inherit;color:inherit}button{cursor:pointer}button:disabled{cursor:default;opacity:.45}:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.hidden{display:none!important}.display{font-family:Bricolage,Inter,system-ui,sans-serif;letter-spacing:-.01em}.muted{color:var(--muted-foreground)}.small{font-size:12px}.tabular{font-variant-numeric:tabular-nums}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:38px;padding:0 16px;border-radius:var(--radius);border:1px solid var(--border);background:var(--card);font-weight:600;white-space:nowrap}.btn:hover:not(:disabled){background:var(--muted)}.btn.primary{background:var(--primary);color:var(--primary-foreground);border-color:transparent}.btn.primary:hover:not(:disabled){background:var(--primary);filter:brightness(1.06)}.btn.danger{color:var(--destructive)}.btn.danger-solid{background:var(--destructive);color:#fff;border-color:transparent}.btn.ghost{border-color:transparent;background:transparent}.btn.sm{height:32px;padding:0 12px;font-size:13px}.icon-btn{display:inline-grid;place-items:center;width:34px;height:34px;border-radius:9px;border:1px solid transparent;background:transparent}.icon-btn:hover:not(:disabled){background:var(--muted)}svg.i{width:18px;height:18px;flex:none;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.field{display:grid;gap:6px}.label{font-size:12px;font-weight:600;color:var(--muted-foreground)}.input{height:40px;width:100%;border:1px solid var(--border);border-radius:var(--radius);background:var(--card);padding:0 12px;-webkit-user-select:text;user-select:text}.input:focus{outline:2px solid color-mix(in srgb,var(--primary) 40%,transparent);border-color:var(--primary)}.check{display:flex;align-items:flex-start;gap:10px;cursor:pointer}.check input{margin-top:2px;accent-color:var(--primary);width:16px;height:16px}.notice{border-radius:var(--radius);padding:10px 12px;font-size:13px}.notice.warning{background:var(--warning-soft);color:var(--warning)}.notice.danger{background:var(--destructive-soft);color:var(--destructive)}.notice.success{background:var(--success-soft);color:var(--success)}.card{background:var(--card);border:1px solid var(--border);border-radius:14px}.logo{display:inline-flex;align-items:center;gap:8px;font-weight:700}.logo img{height:22px;width:auto}@media(prefers-color-scheme:dark){.logo img{filter:invert(1)}}.dot{width:8px;height:8px;border-radius:99px;background:var(--muted-foreground);flex:none}.dot.online{background:var(--success)}.dot.connecting,.dot.away{background:var(--warning)}.dot.offline,.dot.blocked{background:var(--destructive)}.overlay{position:fixed;inset:0;background:#14110f80;display:grid;place-items:center;padding:16px;z-index:50}.dialog{width:min(460px,100%);max-height:calc(100vh - 32px);overflow:auto;background:var(--card);border-radius:16px;box-shadow:var(--shadow);padding:20px;display:grid;gap:14px}.dialog h2{margin:0;font-size:18px}.row{display:flex;align-items:center;gap:8px}.spacer{flex:1}.invisible{visibility:hidden!important}.toast.danger{background:var(--destructive);color:#fff}.toast{position:fixed;left:50%;bottom:20px;transform:translate(-50%);background:var(--foreground);color:var(--background);padding:9px 14px;border-radius:10px;font-size:13px;z-index:60;box-shadow:var(--shadow)}:root{--header-h: 56px;--gutter: 16px;--info: #24527a;--info-soft: #e3edf6}@media(prefers-color-scheme:dark){:root{--info: #8ec1ef;--info-soft: #14222f}}body{min-height:100%;height:auto}#app{min-height:100vh;min-height:100dvh}a{color:var(--primary)}.btn{text-decoration:none;color:var(--foreground)}.btn.primary,.btn.danger-solid{color:var(--primary-foreground)}.btn.danger-solid{color:#fff}.btn[aria-busy=true]{cursor:progress}.btn.wide-btn{width:100%;height:44px}.mono,code{font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:.92em}.break{word-break:break-word}.input[aria-invalid=true]{border-color:var(--destructive)}.input:disabled{opacity:.6}.textarea{height:auto;min-height:40px;padding:9px 12px;resize:vertical;line-height:1.45;field-sizing:content;max-height:60vh}.notice.info{background:var(--info-soft);color:var(--info)}.row-start{display:flex;align-items:flex-start;gap:8px;margin:0}.row-start svg.i{margin-top:1px}.toast.success{background:var(--success);color:#fff}.toast{max-width:calc(100vw - 32px);bottom:max(20px,env(safe-area-inset-bottom));text-align:center}.error-line{color:var(--destructive);margin:0;min-height:1.45em}.hide-phone{display:inline}@media(max-width:639px){.hide-phone{display:none!important}}a.logo{color:var(--foreground);text-decoration:none}.logo .display{font-size:17px}.segmented{display:inline-flex;padding:3px;gap:2px;border-radius:10px;background:var(--muted);flex:none}.segment{border:0;background:transparent;height:28px;padding:0 10px;border-radius:8px;font-size:12.5px;font-weight:600;color:var(--muted-foreground);white-space:nowrap}.segment[aria-pressed=true]{background:var(--card);color:var(--foreground);box-shadow:0 1px 2px #14110f1f}.dialog{gap:12px}.dialog.wide{width:min(640px,100%)}.dialog p{margin:0}.dialog-text{color:var(--muted-foreground)}.dialog-actions{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap;margin-top:4px}.secret{display:flex;align-items:center;gap:8px;padding:10px 10px 10px 14px;border:1px dashed var(--border);border-radius:var(--radius);background:var(--background)}.secret-value{flex:1;min-width:0;font-size:15px;font-weight:600;letter-spacing:.02em;word-break:break-all;-webkit-user-select:all;user-select:all}.spinner{display:inline-block;width:14px;height:14px;border-radius:99px;border:2px solid var(--border);border-top-color:var(--primary);animation:spin .8s linear infinite;flex:none}@keyframes spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.spinner{animation-duration:3s}}.site{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column}.site-top{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:12px;height:var(--header-h);padding:0 max(var(--gutter),env(safe-area-inset-right)) 0 max(var(--gutter),env(safe-area-inset-left));background:color-mix(in srgb,var(--background) 92%,transparent);-webkit-backdrop-filter:saturate(1.4) blur(10px);backdrop-filter:saturate(1.4) blur(10px);border-bottom:1px solid var(--border)}.site-main{flex:1;width:100%;max-width:520px;margin:0 auto;padding:clamp(24px,8vh,72px) var(--gutter) 40px;display:grid;gap:16px;align-content:start}.center-card{flex:1;display:grid;place-items:start center;padding:clamp(24px,8vh,72px) var(--gutter) 40px}.narrow-card{width:min(460px,100%);padding:24px;display:grid;gap:12px;justify-items:start}.narrow-card h1,.narrow-card p{margin:0}.connect-card,.auth-card{padding:24px;display:grid;gap:12px}.connect-card h1,.auth-card h1{margin:0;font-size:26px;line-height:1.15}.connect-card>p,.auth-card>p{margin:0}.state-icon{display:inline-grid;place-items:center;width:44px;height:44px;border-radius:12px;background:var(--accent);color:var(--accent-foreground)}.state-icon svg.i{width:22px;height:22px}.connect-form{display:grid;gap:6px;margin-top:4px}.connect-form .label+.input,.connect-row+.label{margin-top:0}.connect-row+.label{margin-top:8px}.connect-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.address-input::placeholder{font-size:17px;font-weight:500;letter-spacing:0}.address-input{height:50px;font-size:22px;letter-spacing:.05em;font-weight:600}.connect-btn{height:50px;padding:0 22px;font-size:15px}.consent{margin:4px 0 0;line-height:1.5}.consent a{font-weight:600;text-decoration:none}.consent a:hover{text-decoration:underline}.download-hint{display:flex;align-items:center;gap:12px;padding:14px 16px;border:1px dashed var(--border);border-radius:14px}.download-icon{display:inline-grid;place-items:center;width:36px;height:36px;border-radius:10px;background:var(--muted);flex:none}.download-text{display:grid;gap:2px;flex:1;min-width:0}.waiting-text{display:flex;align-items:center;gap:10px;font-weight:600}#password-box{gap:6px}#password-box .row .input{flex:1;min-width:0}@media(max-width:420px){.connect-row{grid-template-columns:1fr}.connect-btn{width:100%}#password-box .row{flex-wrap:wrap}#password-box .row .btn{width:100%}}body.viewer-mode{-webkit-user-select:none;user-select:none;overflow:hidden;height:100%}body.viewer-mode #app{display:contents}.legal-main{width:100%;max-width:760px;margin:0 auto;padding:24px var(--gutter) 64px}.back-link{display:inline-flex;align-items:center;gap:6px;color:var(--muted-foreground);text-decoration:none;font-weight:600;font-size:13px;margin-bottom:18px}.back-link:hover{color:var(--foreground)}.legal-doc{font-size:15.5px;line-height:1.7;overflow-wrap:break-word}.legal-doc h1{font-size:clamp(26px,5vw,34px);line-height:1.15;margin:0 0 8px}.legal-doc h2{font-family:Bricolage,Inter,system-ui,sans-serif;font-size:20px;line-height:1.3;margin:32px 0 8px}.legal-doc h3,.legal-doc h4{font-size:16px;margin:24px 0 6px}.legal-doc p,.legal-doc ul,.legal-doc ol,.legal-doc blockquote{margin:0 0 14px}.legal-doc ul,.legal-doc ol{padding-left:22px}.legal-doc li+li{margin-top:6px}.legal-doc blockquote{padding:8px 14px;border-left:3px solid var(--border);color:var(--muted-foreground)}.legal-doc hr{border:0;border-top:1px solid var(--border);margin:24px 0}.legal-meta{margin:0 0 20px}.table-scroll{overflow-x:auto;margin:0 0 16px;border:1px solid var(--border);border-radius:12px}.legal-doc table{border-collapse:collapse;width:100%;font-size:14px;line-height:1.5}.legal-doc th,.legal-doc td{text-align:left;vertical-align:top;padding:9px 12px;border-bottom:1px solid var(--border);min-width:140px}.legal-doc tr:last-child td{border-bottom:0}.legal-doc th{background:var(--muted);font-weight:600}.admin{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column}.admin-top{position:sticky;top:0;z-index:30;display:flex;align-items:center;gap:10px;height:var(--header-h);padding:0 max(var(--gutter),env(safe-area-inset-right)) 0 max(var(--gutter),env(safe-area-inset-left));background:color-mix(in srgb,var(--background) 92%,transparent);-webkit-backdrop-filter:saturate(1.4) blur(10px);backdrop-filter:saturate(1.4) blur(10px);border-bottom:1px solid var(--border)}.admin-tag{font-size:12px;font-weight:600;color:var(--muted-foreground);padding:3px 8px;border-radius:99px;background:var(--muted)}.admin-name{max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-body{flex:1;display:grid;grid-template-columns:220px minmax(0,1fr);align-content:start;width:100%;max-width:1400px;margin:0 auto}.admin-nav{position:sticky;top:var(--header-h);align-self:start;display:grid;gap:2px;padding:16px 12px;max-height:calc(100vh - var(--header-h));overflow-y:auto}.nav-item{display:flex;align-items:center;gap:10px;height:38px;padding:0 12px;border-radius:9px;color:var(--muted-foreground);text-decoration:none;font-weight:600;white-space:nowrap}.nav-item:hover{background:var(--muted);color:var(--foreground)}.nav-item.active{background:var(--accent);color:var(--accent-foreground)}.admin-main{padding:24px 24px 48px;min-width:0;display:grid;gap:16px;align-content:start;outline:none}@media(max-width:1023px){.admin-body{grid-template-columns:minmax(0,1fr)}.admin-nav{top:var(--header-h);z-index:25;display:flex;gap:4px;max-height:none;padding:8px var(--gutter);overflow-x:auto;overflow-y:hidden;scrollbar-width:none;background:color-mix(in srgb,var(--background) 94%,transparent);-webkit-backdrop-filter:saturate(1.4) blur(10px);backdrop-filter:saturate(1.4) blur(10px);border-bottom:1px solid var(--border)}.admin-nav::-webkit-scrollbar{display:none}.nav-item{height:34px;padding:0 12px;flex:none}.admin-main{padding:18px var(--gutter) 40px}}@media(max-width:639px){.nav-item svg.i{display:none}.admin-top{gap:6px}.admin-tag{display:none}}.section-head{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap}.section-title{flex:1;min-width:220px}.section-title h1{margin:0;font-size:26px;line-height:1.2}.section-title p{margin:4px 0 0;max-width:70ch}.section-actions{display:flex;gap:8px;align-items:center}.group-title{margin:8px 0 -4px;font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--muted-foreground)}.card-title{margin:0;font-size:16px}.stats-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:12px}.stat{padding:14px 16px;display:grid;gap:4px;min-height:92px;align-content:start}.stat-value{font-size:30px;line-height:1.1}.stat.accent .stat-value{color:var(--primary)}@media(max-width:639px){.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.setting-card,.form-card{padding:16px 18px;display:grid;gap:14px}.setting-row{display:flex;align-items:center;gap:16px}.setting-text{flex:1;min-width:0;display:grid;gap:3px}.setting-text .notice{margin-top:6px}.switch{position:relative;display:inline-flex;width:44px;height:26px;flex:none}.switch-placeholder{display:inline-block;width:44px;height:26px;border-radius:99px;background:var(--muted);flex:none}.switch-input{position:absolute;inset:0;margin:0;opacity:0;cursor:pointer;z-index:1}.switch-input:disabled{cursor:default}.switch-track{width:100%;height:100%;border-radius:99px;background:var(--border);transition:background .15s ease;position:relative}.switch-track:after{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:99px;background:#fff;box-shadow:0 1px 2px #00000040;transition:transform .15s ease}.switch-input:checked+.switch-track{background:var(--primary)}.switch-input:checked+.switch-track:after{transform:translate(18px)}.switch-input:focus-visible+.switch-track{outline:2px solid var(--primary);outline-offset:2px}.switch-input:disabled+.switch-track{opacity:.55}.list{display:grid;gap:12px;scroll-margin-top:calc(var(--header-h) + 60px)}.list-tools{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.search{position:relative;display:flex;align-items:center;flex:1 1 260px;max-width:420px}.search svg.i{position:absolute;left:11px;color:var(--muted-foreground);pointer-events:none}.search-input{padding-left:36px}.list-body{min-height:160px;transition:opacity .15s ease}.list-body.loading{opacity:.55}.list-foot{min-height:32px}.empty{display:grid;place-items:center;min-height:160px;padding:24px;text-align:center;color:var(--muted-foreground);border:1px dashed var(--border);border-radius:14px}.pager{display:flex;align-items:center;gap:8px}.pager-pos{min-width:90px;text-align:center}.filter-check{align-items:center;font-size:13px;font-weight:600;white-space:nowrap}.filter-check input{margin-top:0}table.data{width:100%;border-collapse:separate;border-spacing:0;background:var(--card);border:1px solid var(--border);border-radius:14px}table.data th{text-align:left;font-size:12px;font-weight:600;color:var(--muted-foreground);padding:10px 14px;border-bottom:1px solid var(--border);white-space:nowrap}table.data td{padding:11px 14px;border-bottom:1px solid var(--border);vertical-align:middle}table.data tbody tr:last-child td{border-bottom:0}table.data tbody tr:hover td{background:color-mix(in srgb,var(--muted) 45%,transparent)}table.data tr.dim td{color:var(--muted-foreground)}table.data .col-actions,table.data .col-toggle{width:1%;white-space:nowrap;text-align:right}table.data .col-toggle{text-align:center}.cell-stack{display:grid;gap:2px;min-width:0}.clamp{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;max-width:36ch}.key-hint{white-space:nowrap}.badges{display:flex;gap:4px;flex-wrap:wrap}.badge{display:inline-flex;align-items:center;height:22px;padding:0 8px;border-radius:99px;font-size:12px;font-weight:600;white-space:nowrap;background:var(--muted);color:var(--foreground);justify-self:start}.badge.success{background:var(--success-soft);color:var(--success)}.badge.danger{background:var(--destructive-soft);color:var(--destructive)}.badge.warning{background:var(--warning-soft);color:var(--warning)}.badge.accent{background:var(--accent);color:var(--accent-foreground)}.badge.muted{color:var(--muted-foreground)}.row-menu-wrap{position:relative;display:inline-block}.row-menu{position:absolute;right:0;top:calc(100% + 4px);z-index:40;min-width:190px;padding:6px;display:grid;gap:2px;background:var(--card);border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow);text-align:left}.row-menu.up{top:auto;bottom:calc(100% + 4px)}.row-menu-item{display:flex;align-items:center;gap:10px;height:36px;padding:0 10px;border:0;border-radius:8px;background:transparent;white-space:nowrap;font-weight:500}.row-menu-item:hover,.row-menu-item:focus-visible{background:var(--muted)}.row-menu-item.danger{color:var(--destructive)}@media(max-width:719px){table.data,table.data tbody,table.data tr,table.data td{display:block;width:100%}table.data{border:0;background:transparent}table.data thead{display:none}table.data tbody{display:grid;gap:10px}table.data tr{position:relative;background:var(--card);border:1px solid var(--border);border-radius:14px;padding:6px 0}table.data tbody tr:hover td{background:transparent}table.data td{display:grid;grid-template-columns:minmax(96px,34%) minmax(0,1fr);gap:10px;align-items:start;padding:6px 14px;border:0}table.data td:before{content:attr(data-label);font-size:12px;font-weight:600;color:var(--muted-foreground);padding-top:1px}table.data td.col-main{grid-template-columns:minmax(0,1fr);padding-right:52px}table.data td.col-main:before{display:none}table.data td.col-actions{position:absolute;top:6px;right:6px;width:auto;padding:0;display:block}table.data td.col-actions:before{display:none}table.data td.col-toggle{text-align:left;width:100%;align-items:center}.pager-label{display:none}}.text-list{display:grid;gap:10px}.text-row{display:grid;gap:8px;padding:12px 14px;background:var(--card);border:1px solid var(--border);border-radius:14px}.text-row.changed{border-color:color-mix(in srgb,var(--primary) 35%,var(--border))}.text-head{display:flex;align-items:center;gap:8px;min-width:0}.text-key{font-size:12px;color:var(--muted-foreground);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text-foot{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.default-line{flex:1 1 240px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text-foot .spacer{flex:1 0 0}.field .input{width:100%}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}@media(max-width:719px){.form-grid{grid-template-columns:minmax(0,1fr)}}.form-actions{display:flex;gap:8px;flex-wrap:wrap}.auth-form{display:grid;gap:12px}.legal-pickers{display:flex;gap:8px;flex-wrap:wrap}.legal-version{margin:-4px 0 0}.legal-body{min-height:320px;font-size:13px;field-sizing:fixed}.action-bar{position:sticky;bottom:0;z-index:10;display:flex;align-items:center;gap:8px;margin:0 -8px;padding:12px 8px max(12px,env(safe-area-inset-bottom));background:color-mix(in srgb,var(--background) 94%,transparent);-webkit-backdrop-filter:saturate(1.4) blur(10px);backdrop-filter:saturate(1.4) blur(10px);border-top:1px solid var(--border)}.copy-buffer{position:fixed;top:0;left:-9999px;width:1px;height:1px;opacity:0}.form-card p,.setting-card p{margin:0}@media(max-width:639px){.search{max-width:none;flex-basis:100%}}
