.firewall,.request-log{gap:20px;min-width:0;display:grid}.firewall-rules{padding:0}.firewall-rules-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;display:flex}.firewall-rules-head .panel-title{margin:0}.firewall-list{margin:0;padding:0;list-style:none}.firewall-list li{border-bottom:1px solid var(--line);align-items:center;gap:12px;padding:12px 16px;display:flex}.firewall-list li:last-child{border-bottom:0}.firewall-rule-main{flex:1;gap:2px;min-width:0;display:grid}.firewall-rule-main .muted{overflow-wrap:anywhere;font-size:.85rem}.firewall-rule-actions{align-items:center;gap:4px;display:flex}.firewall-default{background:var(--mist)}.firewall-empty{margin:0;padding:0 16px 14px;font-size:.9rem}.dot-half{background:linear-gradient(90deg, var(--live) 50%, var(--idle) 50%)}.chip-danger{background:var(--stop-bg);color:var(--stop);border-color:#0000}.firewall-test{gap:10px;padding:16px 20px;display:grid}.firewall-test .panel-title{margin:0}.firewall-test-form{flex-wrap:wrap;align-items:flex-end;gap:10px;display:flex}.firewall-test-form .field{flex:180px}.firewall-rate{flex-wrap:wrap;align-items:flex-end;gap:10px;display:flex}.firewall-rate .field{flex:140px}.firewall-rate .hint{flex-basis:100%;margin:0}.firewall-own{justify-self:start}.firewall-chips{flex-wrap:wrap;gap:6px;display:flex}.firewall-chips .chip{cursor:pointer;align-items:center;gap:4px;display:inline-flex}.firewall-country-add{align-items:center;gap:8px;display:flex}.firewall-country-add .select{flex:1}.firewall-own-warning{justify-items:start;gap:8px;display:grid}.request-log-bar{flex-wrap:wrap;justify-content:space-between;gap:10px;display:flex}.request-log-table td{vertical-align:top}.request-log-table tbody tr{cursor:pointer}.request-path{overflow-wrap:anywhere;min-width:200px}.request-more{margin-top:4px;font-size:.8rem;display:block}.request-log-more{justify-self:center}@media (max-width:640px){.firewall-list li{flex-wrap:wrap}.firewall-rule-main{flex-basis:calc(100% - 24px)}}.firewall-attribution{margin:0;font-size:.8rem}.firewall-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.firewall-bar-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.firewall-top{grid-template-columns:minmax(240px,300px) minmax(0,1fr);gap:16px;display:grid}.firewall-status{flex-direction:column;justify-content:space-between;padding:0;display:flex}.firewall-status-main{text-align:center;justify-items:center;gap:4px;padding:32px 20px 24px;display:grid}.firewall-shield{color:var(--series-1);margin-bottom:6px}.firewall-shield-stop{color:var(--stop)}.firewall-status-rows{border-top:1px solid var(--line);margin:0}.firewall-status-rows>div{border-bottom:1px solid var(--line);justify-content:space-between;gap:12px;padding:11px 20px;font-size:.9rem;display:flex}.firewall-status-rows>div:last-child{border-bottom:0}.firewall-status-rows dt{white-space:nowrap;font-weight:500}.firewall-status-rows dd{margin:0}.firewall-chart{min-width:0;padding:0}.firewall-legend{border-bottom:1px solid var(--line);flex-wrap:wrap;gap:6px;padding:12px 14px;display:flex}.firewall-legend-item{height:32px;color:var(--ink);background:0 0;border:1px solid #0000;border-radius:999px;align-items:center;gap:7px;padding:0 12px;font-size:.9rem;display:inline-flex}.firewall-legend-item:hover:not(:disabled){background:var(--mist)}.firewall-legend-item[aria-pressed=true]{border-color:var(--ink);background:var(--paper)}.firewall-legend-item:disabled{color:var(--graphite);cursor:default}.firewall-legend-dot{background:var(--line-color);border-radius:50%;width:8px;height:8px}.firewall-legend-label{color:var(--graphite);align-self:center;margin-right:6px;font-size:.8rem}.firewall-chart-body{min-height:248px;padding:8px 12px 4px;display:grid}.firewall-chart-body .chart-empty{place-self:center}.firewall-grid{gap:16px;display:grid}.firewall-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.firewall-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.firewall-card{min-width:0}.firewall-card-title{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;align-items:center;gap:6px;padding:0;display:inline-flex}.firewall-card-title:disabled{cursor:default}.firewall-card-title .icon{color:var(--graphite)}.firewall-card .top-title,.firewall-dialog-head{align-items:center;gap:6px;display:flex}.firewall-card-unit{color:var(--graphite);margin-left:auto;font-size:.8rem;font-weight:400}.top-addresses:before{content:" · "}@media (max-width:640px){.top-addresses{font-size:.8rem;display:block}.top-addresses:before{content:none}}.firewall-item{border-radius:6px;grid-template-columns:minmax(0,1fr) 84px 56px 32px;align-items:center;gap:10px;min-height:40px;padding:6px 4px 6px 12px;font-size:.9rem;display:grid}.firewall-item:hover{background:var(--mist)}.firewall-flag{margin-right:8px}.firewall-count{justify-content:flex-end;align-items:center;height:26px;padding-right:8px;display:flex;position:relative}.firewall-count-bar{background:var(--line);border-radius:4px;position:absolute;top:0;bottom:0;left:0}.firewall-count .num{position:relative}.firewall-menu-space{width:32px}.top-name.mono{font-family:var(--mono,ui-monospace, SFMono-Regular, Menlo, monospace);font-size:.85rem}.dialog.firewall-dialog{flex-direction:column;width:min(720px,100vw - 32px);max-height:min(80vh,760px);padding:0;display:none}.dialog.firewall-dialog[open]{display:flex}.firewall-dialog-head{border-bottom:1px solid var(--line);padding:16px 20px}.firewall-dialog-head h2{margin:0;font-size:1rem}.firewall-dialog-search{margin:12px 12px 4px}.firewall-dialog-list{flex:1;overflow-y:auto}.firewall-dialog-foot{border-top:1px solid var(--line);padding:12px;display:grid}.firewall-events li{align-items:baseline}@media (max-width:900px){.firewall-top,.firewall-grid-2,.firewall-grid-3{grid-template-columns:minmax(0,1fr)}}.request-boggo td{color:var(--graphite)}.firewall-more{gap:12px;display:grid}.firewall-more>summary{cursor:pointer;color:var(--graphite);font-size:.9rem}.firewall-more[open]>summary{margin-bottom:4px}.firewall-chips label.chip{cursor:pointer}.firewall-filter{margin:0}.firewall-filter .chip{cursor:pointer;align-items:center;gap:6px;display:inline-flex}.firewall-bots{gap:16px;scroll-margin-top:16px;display:grid}.firewall-section-title{letter-spacing:-.01em;margin:16px 0 0;font-size:1.35rem;font-weight:600}.firewall-settings{padding:0}.firewall-setting{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 24px;padding:18px 20px;display:flex}.firewall-setting+.firewall-setting{border-top:1px solid var(--line)}.firewall-setting-text{flex:280px;gap:4px;min-width:0;display:grid}.firewall-setting-text h3{align-items:center;gap:6px;margin:0;font-size:.95rem;font-weight:600;display:inline-flex}.firewall-setting-text p{margin:0;font-size:.9rem}.firewall-setting .select{min-width:200px}.firewall-setting .select select{width:100%}.firewall-settings-foot{border-top:1px solid var(--line);margin:0;padding:12px 20px;font-size:.9rem}.firewall-danger{border-color:var(--stop)}.firewall-danger-action{align-items:center;gap:10px;display:inline-flex}.project-picker{text-align:center;justify-items:center;width:min(440px,100%);margin:12vh auto 0;display:grid}.project-picker-icon{border:1px solid var(--line);background:var(--paper);border-radius:10px;place-items:center;width:40px;height:40px;display:grid}.project-picker h1{margin:16px 0 4px;font-size:1.05rem;font-weight:600}.project-picker>.muted{margin:0 0 24px;font-size:.9rem}.project-picker-search{border:1px solid var(--line);background:var(--paper);width:100%;font:inherit;color:var(--ink);border-radius:8px;padding:10px 12px;font-size:.92rem}.project-picker-search:hover{border-color:var(--graphite)}.project-picker-search:focus{outline:2px solid var(--ink);outline-offset:1px;border-color:var(--ink)}.project-picker-list{text-align:left;gap:2px;width:100%;margin:12px 0 0;padding:0;list-style:none;display:grid}.project-picker-list a{color:var(--ink);border-radius:8px;align-items:center;gap:10px;padding:7px 10px;font-size:.92rem;text-decoration:none;display:flex}.project-picker-list a:hover,.project-picker-list a:focus-visible{background:var(--soft)}.project-picker-list .srv-icon{border-radius:6px;width:24px;height:24px}.project-picker-plus{width:24px;height:24px;color:var(--graphite);place-items:center;display:grid}.project-picker-none{padding:7px 10px;font-size:.88rem}
.login{background:var(--paper);grid-template-columns:minmax(0,1fr) minmax(0,1fr);min-height:100vh;display:grid}.login-pane{flex-direction:column;gap:32px;min-height:100vh;padding:36px 48px;display:flex}.login-card{gap:24px;width:min(380px,100%);margin:auto;display:grid}.login-brand{color:#1a1a1a;align-items:flex-end;gap:8px;display:flex}.login-form{gap:16px;display:grid}.login-form h1{letter-spacing:-.02em;font-size:2rem;line-height:1.15}.login-visual{background:#e8eaed;border-radius:20px;margin:16px 16px 16px 0;position:relative;overflow:hidden}.login-visual-img{object-fit:cover}.login-visual:after{content:"";pointer-events:none;background:linear-gradient(#fff0 45%,#ffffffd9);position:absolute;inset:0}.login-visual-text{z-index:1;color:#1a1a1a;gap:20px;padding:48px;display:grid;position:absolute;bottom:0;left:0;right:0}.login-tagline{letter-spacing:-.025em;max-width:13ch;font-size:clamp(2rem,3.2vw,2.9rem);font-weight:600;line-height:1.1}.login-points{color:#2b2f30;gap:8px;margin:0;padding:0;font-size:.95rem;list-style:none;display:grid}.login-points li{align-items:center;gap:10px;display:flex}.login-points .icon{color:var(--accent)}@media (max-width:960px){.login{grid-template-columns:1fr}.login-visual{display:none}.login-pane{padding:24px 20px}}.login-form .muted{font-size:.92rem}.login-form strong{color:var(--ink);overflow-wrap:anywhere;font-weight:600}.login-form .field input{padding:11px 14px;font-size:1rem}.login-links{flex-wrap:wrap;justify-content:space-between;gap:12px;display:flex}.login-foot{flex-wrap:wrap;align-items:center;gap:6px 20px;font-size:.82rem;display:flex}.login-legal{gap:16px;display:flex}.login-legal a{color:var(--graphite);text-decoration:none}.login-legal a:hover{color:var(--ink);text-underline-offset:3px;text-decoration:underline}.login-divider{color:var(--graphite);align-items:center;gap:12px;margin:4px 0 0;font-size:.85rem;display:flex}.login-divider:before,.login-divider:after{content:"";background:var(--line);flex:1;height:1px}.login-providers{gap:10px;display:grid}.login-provider{border:1px solid var(--line);background:var(--paper);height:44px;color:var(--ink);border-radius:8px;justify-content:center;align-items:center;gap:10px;font-weight:500;text-decoration:none;display:flex}.login-provider:hover{border-color:var(--graphite);background:var(--soft)}.login-provider:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.login-provider.is-disabled{pointer-events:none;opacity:.5}.login-provider-hint{text-align:center;margin:-4px 0 0}.code-boxes{grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;display:grid}.code-box{aspect-ratio:1/1.1;border:1px solid var(--line);background:var(--paper);width:100%;font-family:var(--font-mono), ui-monospace, monospace;text-align:center;color:var(--ink);caret-color:var(--accent);border-radius:10px;padding:0;font-size:1.5rem}.code-box:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-bg);outline:none}.code-box:disabled{background:var(--soft);color:var(--graphite)}.login-checking{align-items:center;gap:8px;margin:0;display:inline-flex}.toast-region{z-index:100;pointer-events:none;justify-content:center;padding:0 16px;display:flex;position:fixed;top:16px;left:0;right:0}.toast{pointer-events:auto;border:1px solid var(--line);background:var(--paper);width:min(440px,100%);color:var(--ink);border-radius:0;grid-template-columns:auto 1fr auto;align-items:start;gap:10px;padding:12px 10px 15px 14px;animation:.18s ease-out toast-in;display:grid;position:relative;overflow:hidden;box-shadow:0 12px 40px #0000001f}.toast p{margin:0;font-size:.9rem;line-height:1.45}.toast-error .toast-icon{color:var(--stop);margin-top:1px}.toast-close{width:24px;height:24px;color:var(--graphite);cursor:pointer;background:0 0;border:0;border-radius:0;place-items:center;padding:0;display:grid}.toast-close:hover{background:var(--mist);color:var(--ink)}.toast-timer{background:var(--ink);transform-origin:0;height:3px;animation:5s linear forwards toast-timer;position:absolute;bottom:0;left:0;right:0}.toast-error .toast-timer{background:var(--stop)}.toast:hover .toast-timer,.toast:focus-within .toast-timer{animation-play-state:paused}.toast.is-leaving{animation:.16s ease-in forwards toast-out}@keyframes toast-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}@keyframes toast-out{to{opacity:0;transform:translateY(-8px)}}@keyframes toast-timer{0%{transform:scaleX(1)}to{transform:scaleX(0)}}

