@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--radius-sm:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.relative{position:relative}.isolate{isolation:isolate}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.table{display:table}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.border{border-style:var(--tw-border-style);border-width:1px}.break-all{word-break:break-all}}:root{--bg:#0b0b0c;--surface:#141417;--surface-2:#17171b;--surface-hover:#1d1d22;--border:#2a2a30;--border-soft:#202024;--text:#eaeaec;--text-muted:#9596a0;--text-dim:#63646e;--primary:#dc3545;--primary-hover:#e9495a;--primary-soft:#dc35451f;--success:#3fb950;--warning:#d6a32a;--mono:ui-monospace,"JetBrains Mono","SFMono-Regular",Menlo,Consolas,"Liberation Mono",monospace;--radius:10px;--radius-sm:7px}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;scrollbar-gutter:stable}@supports not (scrollbar-gutter:stable){html{overflow-y:scroll}}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-size:14.5px;line-height:1.55;overflow-x:hidden}a{color:inherit;text-decoration:none}::selection{background:var(--primary);color:#fff}code,kbd{font-family:var(--mono)}.container{max-width:1280px;margin:0 auto;padding:0 22px 50px;overflow-x:hidden}.header{background:var(--surface);border:1px solid var(--border-soft);border-top:2px solid var(--primary);border-radius:0 0 var(--radius) var(--radius);z-index:100;margin-bottom:22px;padding:14px 18px;position:sticky;top:0}.header-inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;display:flex}.logo{font-family:var(--mono);white-space:nowrap;color:var(--text);letter-spacing:-.5px;font-size:1.32rem;font-weight:700}.logo:before{content:"~/ ";color:var(--text-dim);font-weight:400}.logo-sub{font-family:var(--mono);color:var(--text-dim);letter-spacing:0;margin-top:2px;font-size:.72rem;font-weight:400}.nav{flex-wrap:wrap;flex:1;justify-content:center;gap:2px;display:flex}.nav a{font-family:var(--mono);color:var(--text-muted);letter-spacing:.3px;text-transform:lowercase;border-radius:6px;padding:6px 11px;font-size:12px;font-weight:500;transition:all .12s}.nav a:hover{background:var(--surface-hover);color:var(--text)}.nav a.active{color:var(--primary);background:var(--primary-soft)}.btn{border-radius:var(--radius-sm);background:var(--primary);color:#fff;border:1px solid var(--primary);cursor:pointer;font-size:12.5px;font-weight:600;font-family:var(--mono);letter-spacing:.2px;white-space:nowrap;text-align:center;justify-content:center;align-items:center;gap:6px;padding:8px 15px;line-height:1.1;transition:all .12s;display:inline-flex}.btn:hover{background:var(--primary-hover);border-color:var(--primary-hover)}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-sm{padding:5px 11px;font-size:11.5px}.btn-ghost{color:var(--text-muted);border-color:var(--border);background:0 0}.btn-ghost:hover{background:var(--surface-hover);color:var(--text);border-color:var(--border)}.card{background:var(--surface);border:1px solid var(--border-soft);border-radius:var(--radius);margin-bottom:16px;padding:20px}.seg{border:1px solid var(--border);border-radius:var(--radius-sm);font-family:var(--mono);display:inline-flex;overflow:hidden}.seg button{color:var(--text-muted);cursor:pointer;font-size:12px;font-family:var(--mono);background:0 0;border:none;padding:7px 14px;transition:all .12s}.seg button.on{background:var(--primary-soft);color:var(--primary)}.seg button:not(.on):hover{background:var(--surface-hover);color:var(--text)}.svc-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px;display:grid}.svc-card{background:var(--surface-2);border:1px solid var(--border-soft);border-radius:var(--radius);flex-direction:column;gap:10px;padding:15px;transition:all .13s;display:flex}.svc-card:hover{border-color:var(--border);background:var(--surface-hover)}.svc-card-top{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.svc-card-name{font-size:15px;font-weight:700;line-height:1.3}.svc-card-host{font-family:var(--mono);color:#7fb0ff;word-break:break-all;font-size:12px}.svc-card-host:hover{text-decoration:underline}.svc-card-flag{font-family:var(--mono);color:var(--text-dim);text-transform:uppercase;align-items:center;gap:7px;font-size:11px;display:flex}.svc-card-flag img{box-shadow:0 0 0 1px var(--border);border-radius:2px}.svc-card-desc{color:var(--text-muted);-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;font-size:13px;line-height:1.5;display:-webkit-box;overflow:hidden}.svc-chips{flex-wrap:wrap;gap:5px;display:flex}.chip{font-family:var(--mono);background:var(--bg);border:1px solid var(--border-soft);color:var(--text-muted);white-space:nowrap;border-radius:5px;padding:3px 8px;font-size:10.5px}.chip b{color:var(--text);font-weight:600}.svc-card-foot{border-top:1px dashed var(--border-soft);justify-content:space-between;align-items:center;margin-top:auto;padding-top:6px;display:flex}.svc-card-date{font-family:var(--mono);color:var(--text-dim);font-size:11px}.filter-bar{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:14px;display:flex}.filter-search{min-width:180px;max-width:340px;font-family:var(--mono);flex:220px;font-size:13px}.filter-select{width:auto;min-width:120px;font-family:var(--mono);padding:8px 30px 8px 11px;font-size:12px}.filter-count{font-family:var(--mono);color:var(--text-dim);white-space:nowrap;margin-left:auto;font-size:11.5px}.row-link{cursor:pointer}.cell-tags{flex-wrap:wrap;gap:4px;display:flex}.svc-detail-head{justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:12px;display:flex}.svc-detail-crumb{font-family:var(--mono);color:var(--text-dim);margin-bottom:6px;font-size:12px}.svc-detail-crumb a{color:var(--text-muted)}.svc-detail-crumb a:hover{color:var(--primary)}.svc-detail-name{font-size:24px;font-weight:700;line-height:1.2}.svc-detail-desc{color:var(--text-muted);max-width:760px;margin-bottom:16px;font-size:14.5px;line-height:1.65}.svc-detail-actions{flex-wrap:wrap;gap:8px;margin-bottom:20px;display:flex}.spec-grid{background:var(--border-soft);border:1px solid var(--border-soft);border-radius:var(--radius);grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:1px;margin-bottom:18px;display:grid;overflow:hidden}.spec-item{background:var(--surface-2);padding:11px 14px}.spec-item dt{font-family:var(--mono);text-transform:uppercase;letter-spacing:.5px;color:var(--text-dim);margin-bottom:4px;font-size:10.5px}.spec-item dd{color:var(--text);font-size:13.5px}.spec-item dd a{color:#7fb0ff;font-family:var(--mono);word-break:break-all;font-size:12.5px}.spec-country{align-items:center;gap:8px;display:flex}.spec-country img{box-shadow:0 0 0 1px var(--border);border-radius:2px}.tag-block{margin-bottom:14px}.tag-block-label{font-family:var(--mono);text-transform:uppercase;letter-spacing:.5px;color:var(--text-dim);margin-bottom:7px;font-size:10.5px}.tag-input{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:text;flex-wrap:wrap;align-items:center;gap:6px;min-height:42px;padding:7px 9px;display:flex}.tag-input:focus-within{border-color:var(--primary)}.tag-input input{background:0 0;border:none;flex:1;min-width:110px;padding:3px;font-size:14px}.tag-input input:focus{border:none;outline:none}.tag-input-chip{font-family:var(--mono);background:var(--primary-soft);color:#ff8a96;border:1px solid #dc35454d;border-radius:5px;align-items:center;gap:6px;padding:3px 5px 3px 9px;font-size:12px;display:inline-flex}.tag-input-chip button{color:inherit;cursor:pointer;opacity:.7;background:0 0;border:none;padding:0 2px;font-size:14px;line-height:1}.tag-input-chip button:hover{opacity:1}.attr-fields{flex-direction:column;gap:14px;display:flex}.attr-group-label{font-family:var(--mono);text-transform:uppercase;letter-spacing:.5px;color:var(--text-dim);margin-bottom:7px;font-size:10.5px}.attr-toggles{flex-wrap:wrap;gap:6px;display:flex}.attr-toggle{font-family:var(--mono);background:var(--bg);border:1px solid var(--border);color:var(--text-muted);cursor:pointer;border-radius:6px;padding:6px 11px;font-size:12px;transition:all .12s}.attr-toggle:hover{color:var(--text);border-color:#3a3a42}.attr-toggle.on{background:var(--primary-soft);color:#ff8a96;border-color:#dc354566;font-weight:600}.chip-attr{background:var(--primary-soft);color:#ff8a96;border-color:#dc354547}.status-pill{font-family:var(--mono);white-space:nowrap;text-transform:uppercase;letter-spacing:.3px;border:1px solid #0000;border-radius:5px;align-items:center;gap:4px;padding:3px 9px;font-size:11px;font-weight:600;display:inline-flex}.status-pill.s1{color:#e6b53e;background:#d6a32a1f;border-color:#d6a32a4d}.status-pill.s2{color:#56d364;background:#3fb9501f;border-color:#3fb9504d}.status-pill.s3{color:#d8a93d;background:#c48d1e1f;border-color:#c48d1e4d}.status-pill.s4{color:#a9aab4;background:#9596a01a;border-color:#9596a040}.status-pill.s5{color:#ff6b7a;background:#dc35451f;border-color:#dc354552}.table-wrapper{-webkit-overflow-scrolling:touch;border:1px solid var(--border-soft);border-radius:var(--radius);width:100%;overflow-x:auto}.table{border-collapse:separate;border-spacing:0;width:100%;min-width:820px;font-size:13px}.table thead th{background:var(--bg);text-align:left;color:var(--text-dim);border-bottom:1px solid var(--border);font-weight:600;font-family:var(--mono);text-transform:uppercase;letter-spacing:.5px;white-space:normal;cursor:pointer;-webkit-user-select:none;user-select:none;padding:11px 13px;font-size:10.5px}.table thead th:hover{color:var(--text)}.table tbody td{border-bottom:1px solid var(--border-soft);color:var(--text);vertical-align:middle;overflow-wrap:break-word;padding:10px 13px;font-size:13px;line-height:1.5}.table tbody tr{transition:background .1s}.table tbody tr:hover{background:var(--surface-hover)}.table tbody tr:last-child td{border-bottom:none}.table tbody td a{word-break:break-all;color:#7fb0ff;font-family:var(--mono);font-size:12.5px}.table tbody td a:hover{text-decoration:underline}.table tbody td img{max-width:100%;height:auto;box-shadow:0 0 0 1px var(--border);border-radius:2px}.sort-ind{color:var(--primary);margin-left:5px;font-size:9px}.expandable-text{position:relative}.expand-toggle{color:var(--primary);cursor:pointer;-webkit-user-select:none;user-select:none;font-size:11px;font-weight:600;font-family:var(--mono);margin-left:5px}.expand-toggle:hover{text-decoration:underline}.banner-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:10px;margin-bottom:16px;display:grid}.banner{background:var(--surface);border:1px dashed var(--border);border-radius:var(--radius-sm);justify-content:center;align-items:center;min-height:70px;transition:all .12s;display:flex;overflow:hidden}.banner:hover{border-color:var(--primary)}.banner img{max-width:100%;height:auto}.banner a{font-family:var(--mono);color:var(--text-dim);font-size:12px}.info-bar{background:var(--surface);border:1px solid var(--border-soft);border-left:2px solid var(--primary);border-radius:var(--radius);margin-bottom:16px;padding:16px 18px}.info-bar-inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.info-logo{align-items:center;gap:12px;display:flex}.info-logo img{border-radius:8px;width:46px;height:auto}.info-logo-text{font-family:var(--mono);color:var(--text);font-size:16px;font-weight:700}.info-logo-sub{color:var(--text-muted);font-size:12px}.info-stats{color:var(--text-muted);gap:10px;font-size:11px;display:flex}.info-stats-item{text-align:left;font-family:var(--mono)}.info-stats-item>div{color:var(--text-dim);text-transform:uppercase;letter-spacing:.5px;font-size:10px}.info-stats-item strong{color:var(--text);font-size:18px;font-weight:700;display:block}.info-status{flex-wrap:wrap;align-items:center;gap:6px;font-size:11px;display:flex}.status-badge{white-space:nowrap;background:var(--bg);border:1px solid var(--border-soft);font-family:var(--mono);border-radius:5px;align-items:center;gap:5px;padding:4px 9px;font-size:11px;display:inline-flex}.status-sep{display:none}.status-desc{color:var(--text-dim);font-size:11px;font-weight:400}.form-group{margin-bottom:14px}.form-group label{color:var(--text-muted);font-size:12px;font-weight:600;font-family:var(--mono);text-transform:uppercase;letter-spacing:.3px;margin-bottom:6px;display:block}input,textarea,select{background:var(--bg);width:100%;color:var(--text);border:1px solid var(--border);border-radius:var(--radius-sm);padding:10px 13px;font-family:inherit;font-size:14px;transition:all .13s}input:hover,textarea:hover,select:hover{border-color:#3a3a42}input:focus,textarea:focus,select:focus{border-color:var(--primary);background:var(--surface);outline:none}input::placeholder,textarea::placeholder{color:var(--text-dim)}select{appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%239596a0' d='M6 9L1 4h10z'/%3E%3C/svg%3E");background-position:right 11px center;background-repeat:no-repeat;padding-right:34px}.comment{background:var(--surface-2);border-radius:var(--radius);border:1px solid var(--border-soft);border-left:2px solid var(--primary);margin-bottom:10px;padding:14px 15px}.comment-meta{font-family:var(--mono);color:var(--text-dim);margin-bottom:6px;font-size:11.5px}.comment-body{word-wrap:break-word;font-size:14px;line-height:1.6}.secondary-nav{text-align:center;border-top:1px solid var(--border-soft);font-size:13px;font-family:var(--mono);margin-top:24px;padding:20px 0}.secondary-nav a{color:var(--text-muted);margin:0 12px;transition:all .12s}.secondary-nav a:hover{color:var(--primary)}.table-controls{color:var(--text-muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:0 0 14px;font-size:13px;display:flex}.table-controls label{font-family:var(--mono);align-items:center;gap:8px;font-size:12px;display:inline-flex}.table-controls input{width:auto;min-width:240px}.table-controls select{width:auto;min-width:72px}.pager{font-family:var(--mono);flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:6px;padding:16px 0 2px;display:flex}.pager button{border-radius:var(--radius-sm);color:var(--text-muted);background:var(--surface);border:1px solid var(--border);cursor:pointer;min-width:38px;padding:7px 12px;font-weight:600;transition:all .12s}.pager button:hover:not(:disabled){background:var(--surface-hover);color:var(--text);border-color:var(--primary)}.pager button:disabled{opacity:.35;cursor:not-allowed}.pager span{color:var(--text-dim);font-size:12px}.alert-ok{color:#7ee090;border-radius:var(--radius-sm);background:#3fb9501a;border:1px solid #3fb9504d;margin-bottom:14px;padding:11px 13px;font-size:14px}.alert-err{color:#ff9aa4;border-radius:var(--radius-sm);background:#dc35451a;border:1px solid #dc35454d;margin-bottom:14px;padding:11px 13px;font-size:14px}@media (max-width:768px){.container{padding:0 12px 30px}.header{border-radius:0 0 var(--radius) var(--radius);flex-direction:column}.header-inner{flex-direction:column;align-items:stretch}.nav{flex-wrap:nowrap;justify-content:flex-start;width:100%;overflow-x:auto}.nav a{flex:none}.banner-grid{grid-template-columns:1fr}.info-bar-inner{flex-direction:column;align-items:flex-start}.svc-grid{grid-template-columns:1fr}.filter-search{flex:100%;max-width:none}.filter-select{flex:calc(50% - 4px);min-width:0}.filter-count{text-align:right;flex:100%;margin-left:0}.svc-detail-head{flex-direction:column}.svc-detail-name{font-size:20px}.spec-grid{grid-template-columns:1fr 1fr}.svc-detail-actions .btn{flex:auto}}@media (max-width:420px){.spec-grid{grid-template-columns:1fr}.filter-select{flex:100%}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}
