:root{--bg: #0a0a0a;--fg: #00ff41;--fg-dim: #00cc33;--fg-bright: #33ff66;--border: #00ff4144;--glow: 0 0 5px #00ff41, 0 0 10px #00ff4180;--glow-strong:0 0 8px #00ff41, 0 0 20px #00ff41aa, 0 0 40px #00ff4144;--bg-card: #0a0a0a;--fg-subtle: #00ff4115;--fg-hover: #00ff410d;--fg-shadow: #00ff4130;--font-mono: "Share Tech Mono", "VT323", "Courier New", monospace;--header-h: 155px;--modal-row-h: 19px;--modal-title-h: 22px;--modal-max-rows: 4}[data-theme=light]{--bg: #f0f0f0;--bg-card: #f0f0f0;--fg: #1a1a1a;--fg-dim: #555555;--fg-bright: #000000;--border: #1a1a1a33;--glow: none;--glow-strong:none;--fg-subtle: #1a1a1a10;--fg-hover: #1a1a1a08;--fg-shadow: #1a1a1a20}[data-theme=light-1]{--bg: #faf5e6;--bg-card: #faf5e6;--fg: #3b2e1a;--fg-dim: #7a6b55;--fg-bright: #1a1005;--border: #3b2e1a33;--glow: none;--glow-strong:none;--fg-subtle: #3b2e1a10;--fg-hover: #3b2e1a08;--fg-shadow: #3b2e1a20}[data-theme=light-2]{--bg: #e8f0f8;--bg-card: #e8f0f8;--fg: #1a2a3a;--fg-dim: #556b7a;--fg-bright: #0a1520;--border: #1a2a3a33;--glow: none;--glow-strong:none;--fg-subtle: #1a2a3a10;--fg-hover: #1a2a3a08;--fg-shadow: #1a2a3a20}[data-theme=dark]{--bg: #0a0a0a;--bg-card: #0a0a0a;--fg: #cccccc;--fg-dim: #888888;--fg-bright: #ffffff;--border: #cccccc33;--glow: none;--glow-strong:none;--fg-subtle: #cccccc12;--fg-hover: #cccccc08;--fg-shadow: #cccccc20}[data-theme=dark-1]{--bg: #0a0a14;--bg-card: #0a0a14;--fg: #6688cc;--fg-dim: #4466aa;--fg-bright: #88aaee;--border: #6688cc33;--glow: 0 0 5px #6688cc, 0 0 10px #6688cc80;--glow-strong:0 0 8px #6688cc, 0 0 20px #6688ccaa, 0 0 40px #6688cc44;--fg-subtle: #6688cc12;--fg-hover: #6688cc08;--fg-shadow: #6688cc20}[data-theme=dark-2]{--bg: #0a0a0a;--bg-card: #0a0a0a;--fg: #cc4444;--fg-dim: #993333;--fg-bright: #ff6666;--border: #cc444433;--glow: 0 0 5px #cc4444, 0 0 10px #cc444480;--glow-strong:0 0 8px #cc4444, 0 0 20px #cc4444aa, 0 0 40px #cc444444;--fg-subtle: #cc444412;--fg-hover: #cc444408;--fg-shadow: #cc444420}[data-theme=matrix-1]{--bg: #0f1a0f;--bg-card: #0f1a0f;--fg: #00ff41;--fg-dim: #00cc33;--fg-bright: #33ff66;--border: #00ff4144;--glow: 0 0 5px #00ff41, 0 0 10px #00ff4180;--glow-strong:0 0 8px #00ff41, 0 0 20px #00ff41aa, 0 0 40px #00ff4144;--fg-subtle: #00ff4115;--fg-hover: #00ff410d;--fg-shadow: #00ff4130}[data-theme=anderson]{--bg: #0a0a0a;--bg-card: #0a0a0a;--fg: #ff8c00;--fg-dim: #cc7000;--fg-bright: #ffaa33;--border: #ff8c0044;--glow: 0 0 5px #ff8c00, 0 0 10px #ff8c0080;--glow-strong:0 0 8px #ff8c00, 0 0 20px #ff8c00aa, 0 0 40px #ff8c0044;--fg-subtle: #ff8c0015;--fg-hover: #ff8c000d;--fg-shadow: #ff8c0030}[data-theme="1"]{--bg: #1a1005;--bg-card: #1a1005;--fg: #ff8c00;--fg-dim: #cc7000;--fg-bright: #ffaa33;--border: #ff8c0044;--glow: 0 0 5px #ff8c00, 0 0 10px #ff8c0080;--glow-strong:0 0 8px #ff8c00, 0 0 20px #ff8c00aa, 0 0 40px #ff8c0044;--fg-subtle: #ff8c0015;--fg-hover: #ff8c000d;--fg-shadow: #ff8c0030}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%;background:var(--bg);color:var(--fg);font-family:var(--font-mono);font-size:15px;line-height:1.6;overflow:hidden}body.scanlines-off #root:after{display:none}#root:after{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:9999;background:repeating-linear-gradient(0deg,rgba(0,0,0,.15) 0px,rgba(0,0,0,.15) 1px,transparent 1px,transparent 3px)}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:var(--fg-dim);border-radius:3px}h1,h2,h3,h4{font-weight:400;text-shadow:var(--glow)}a{color:var(--fg);text-decoration:none}a:hover{text-shadow:var(--glow)}@keyframes blink{0%,49%{opacity:1}50%,to{opacity:0}}.cursor-blink:after{content:"█";animation:blink 1s step-end infinite;margin-left:2px}body.cursor-blink-off .cursor-blink:after{animation:none;opacity:0}button{font-family:var(--font-mono);font-size:14px;color:var(--fg);background:transparent;border:1px solid var(--fg-dim);padding:6px 16px;cursor:pointer;text-transform:uppercase;transition:all .15s}button:hover{background:var(--fg-subtle);box-shadow:var(--glow);border-color:var(--fg)}input,select,textarea{font-family:var(--font-mono);font-size:14px;color:var(--fg);background:var(--bg-card);border:1px solid var(--border);padding:6px 10px;outline:none;transition:border-color .15s}input:focus,select:focus,textarea:focus{border-color:var(--fg);box-shadow:var(--glow)}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:8px 12px;border-bottom:1px solid var(--border)}th{color:var(--fg-bright);text-transform:uppercase;font-size:12px;letter-spacing:1px}tr:hover td{background:var(--fg-hover)}.app-layout{display:grid;grid-template-rows:var(--header-h) 1fr;grid-template-columns:1fr;grid-template-areas:"header" "content";height:100vh}.app-header{grid-area:header}.app-content{grid-area:content;overflow-y:auto;padding:4px 9px 24px}.modal-card{display:flex;flex-direction:column;justify-content:flex-start;border:1px solid var(--border);padding:6px 8px;flex:0 0 auto;gap:3px}.modal-card .modal-title{font-size:12px;color:var(--fg);letter-spacing:3px;padding-bottom:5px;margin-bottom:1px;position:relative;height:var(--modal-title-h);flex-shrink:0}.modal-card .modal-title:after{content:"";display:block;position:absolute;bottom:0;left:0;width:100%;height:1px;background:var(--border)}.modal-card .modal-row{display:flex;align-items:center;gap:8px;height:var(--modal-row-h);flex-shrink:0}.modal-card .modal-label{color:var(--fg-dim);font-size:12px;letter-spacing:1px;width:38px;flex-shrink:0}.modal-card .modal-link{cursor:pointer;transition:color .15s}.modal-card .modal-link:hover .modal-label{color:var(--accent)}.modal-card .modal-value{color:var(--fg);font-size:14px;letter-spacing:1px}.app-header{display:flex;align-items:stretch;justify-content:flex-start;gap:15px;padding:8px 9px;border-bottom:none;background:var(--bg-card)}.modal-logo{align-items:center;justify-content:center;padding:2px 19px;width:auto;flex-shrink:0}.header-ascii{white-space:pre;font-size:14px;line-height:1.1;color:var(--fg);text-shadow:var(--glow);margin:0;max-height:calc(var(--header-h) - 20px);overflow:hidden;animation:logo-float 4s ease-in-out infinite,vhs-scanline 19.5s infinite}@keyframes logo-float{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}@keyframes vhs-scanline{0%,94%{clip-path:none;opacity:1;transform:translate(0);filter:none}95%{clip-path:inset(0 0 100% 0);opacity:.9;transform:translate(2px);filter:brightness(1.4)}95.5%{clip-path:inset(0 0 80% 0);opacity:.7;transform:translate(-3px);filter:brightness(1.6) hue-rotate(20deg)}96%{clip-path:inset(0 0 60% 0);opacity:.5;transform:translate(2px);filter:brightness(1.8)}96.5%{clip-path:inset(0 0 40% 0);opacity:.6;transform:translate(-2px);filter:brightness(1.5) hue-rotate(-15deg)}97%{clip-path:inset(0 0 20% 0);opacity:.8;transform:translate(1px);filter:brightness(1.3)}97.5%{clip-path:inset(0 0 0% 0);opacity:.9;transform:translate(-1px);filter:brightness(1.1)}98%,to{clip-path:none;opacity:1;transform:translate(0);filter:none}}.header-version{font-size:13px;color:var(--fg-dim);letter-spacing:2px;text-align:center;width:100%;margin-top:4px}.header-right{display:flex;align-items:stretch;gap:15px;font-size:15px}.status-dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:6px}.status-dot.online{background:var(--fg);box-shadow:var(--glow)}.status-dot.offline{background:#f33;box-shadow:0 0 6px #f33}.status-row-api{display:flex;align-items:center;gap:6px}.page-title{font-size:18px;margin-bottom:0;padding-bottom:8px}.loading-text{color:var(--fg-dim)}.error-text{color:#f55;text-shadow:0 0 8px #ff555580}.clickable-row{cursor:pointer;transition:background .1s}.clickable-row:hover td{background:var(--fg-subtle)}.zone-table{width:auto;border:1px solid var(--border);border-collapse:collapse}.zone-table th,.zone-table td{border-top:1px solid var(--border);border-bottom:1px solid var(--border);line-height:1.2;padding:3px}.zone-col-num{width:28px;min-width:28px;max-width:28px;text-align:center;color:var(--fg-dim);padding:2px 4px}.zone-col-check{width:36px;min-width:36px;max-width:36px;text-align:center;font-family:var(--font-mono);font-size:12px;letter-spacing:0;cursor:pointer;padding:2px;white-space:nowrap}.zone-col-sep{border-left:1px solid var(--border)}.zone-col-zone{padding:2px 56px 2px 16px;max-width:360px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.zone-col-ns{padding:2px 6px 2px 16px;max-width:480px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sortable-th{cursor:pointer;-webkit-user-select:none;user-select:none}.sortable-th:hover{color:var(--accent)}.back-btn{background:transparent;border:1px solid var(--fg-dim);color:var(--fg-dim);font-family:var(--font-mono);font-size:13px;padding:4px 12px;cursor:pointer;margin-bottom:16px;letter-spacing:1px}.back-btn:hover{border-color:var(--fg);color:var(--fg);box-shadow:var(--glow)}.detail-split{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:start}.panel-title{font-size:13px;color:var(--fg-dim);margin-bottom:12px;letter-spacing:2px}.panel-header-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:4px}.panel-header-row .panel-title{margin-bottom:0}.export-btn{font-family:var(--font-mono);font-size:13px;letter-spacing:2px;color:var(--accent);background:transparent;border:none;padding:0;cursor:pointer;white-space:nowrap;transition:opacity .2s}.export-btn:hover{opacity:.7}.export-btn:disabled{cursor:not-allowed;opacity:.3}.export-dropdown-wrap{position:relative}.bind-output{background:var(--bg);border:1px solid var(--border);padding:14px;font-size:12px;color:var(--fg-dim);overflow-x:auto;white-space:pre;line-height:1.5;max-height:calc(100vh - 260px);overflow-y:auto;cursor:text;-webkit-user-select:text;user-select:text}.zone-search-input{font-family:var(--font-mono);font-size:12px;color:var(--fg);background:var(--bg);border:1px solid var(--border);padding:6px 8px;width:100%;box-sizing:border-box;resize:vertical;line-height:1.5;letter-spacing:1px;caret-color:var(--fg)}.zone-search-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 6px var(--fg-shadow)}.zone-search-input::placeholder{color:var(--fg-dim);opacity:.5}.zone-search-box{position:relative;display:inline-block;width:calc(var(--header-content-w, 100%) / 2)}.zone-search-box:after{content:"█";position:absolute;left:10px;top:8px;color:var(--fg);animation:blink 1s step-end infinite;pointer-events:none;font-family:var(--font-mono);font-size:12px}.zone-search-box.has-text:after{display:none}body.cursor-blink-off .zone-search-box:after{animation:none;opacity:0}.export-page-input{margin-bottom:20px;max-width:100%}.export-page-input .panel-title{margin-bottom:8px}.export-action-row{display:flex;align-items:center;justify-content:flex-start;gap:16px;margin-top:8px}.export-search-btn{font-family:var(--font-mono);font-size:13px;letter-spacing:2px;color:var(--fg-bright);background:transparent;border:1px solid var(--fg-dim);padding:6px 16px;cursor:pointer;transition:background .15s;text-shadow:var(--glow)}.export-search-btn:hover:not(:disabled){background:var(--fg-subtle)}.export-search-btn:disabled{opacity:.3;cursor:not-allowed}.export-creating{font-family:var(--font-mono);font-size:13px;color:var(--fg-dim);margin-left:10px}.spinner-anim:after{content:"|";animation:spin-chars .6s steps(4,end) infinite;font-weight:700}@keyframes spin-chars{0%{content:"|"}25%{content:"/"}50%{content:"—"}75%{content:"\\"}}.export-zone-count{font-size:11px;color:var(--fg-dim);letter-spacing:1px}.modal-login{width:144px}.modal-login .login-inline-error{justify-content:flex-start;padding-left:46px;margin-top:0}.modal-login .login-error-text{font-size:11px;color:#f44;letter-spacing:1px;text-shadow:0 0 6px #ff444488;animation:error-flash .3s ease-out}@keyframes error-flash{0%{opacity:0;transform:scale(1.1)}to{opacity:1;transform:scale(1)}}.modal-login .login-action-row{justify-content:flex-start;margin-top:4px;padding-left:46px}.modal-login .logout-action-row{justify-content:flex-start;padding-left:46px;margin-top:48px}.user-name{font-size:12px;color:var(--fg);letter-spacing:1px}.login-input{flex:1;background:var(--bg);border:1px solid var(--fg);color:var(--fg);font-family:var(--font-mono);font-size:12px;padding:1px 6px;outline:none;height:15px;min-width:0}.login-input:focus{border-color:var(--fg);box-shadow:var(--glow)}.login-custom-ctx{flex:1;width:100px;background:var(--bg);border:1px solid var(--fg);color:var(--fg);font-family:var(--font-mono);font-size:12px;padding:3px 8px;outline:none;box-shadow:var(--glow)}.login-custom-ctx::placeholder{color:var(--fg-dim)}.login-btn{background:transparent;border:none;color:var(--fg);font-family:var(--font-mono);font-size:11px;padding:0;cursor:pointer;letter-spacing:2px}.login-btn:hover:not(:disabled){text-decoration:underline}.login-btn:disabled{opacity:.5;cursor:not-allowed}.logout-btn{background:transparent;border:none;color:#f66;font-family:var(--font-mono);font-size:11px;padding:0;cursor:pointer;letter-spacing:1px;text-decoration:none}.logout-btn:hover{text-decoration:underline;background:transparent;box-shadow:0 0 8px #ff666680;border-color:#f66}.error-toggle-btn{background:none;border:none;color:#f55;font-family:inherit;font-size:inherit;cursor:pointer;padding:0;font-weight:700}.error-toggle-btn:hover{background:transparent;box-shadow:0 0 8px #ff555580;border-color:#f55}.modal-zones,.modal-domains,.modal-certificates{white-space:nowrap}.modal-zones .modal-label,.modal-domains .modal-label,.modal-certificates .modal-label{width:auto}.modal-options{width:175px;min-width:175px;max-width:175px}.modal-options .modal-label{width:70px}.opts-toggle{font-family:var(--font-mono);font-size:14px;background:transparent;border:none;padding:0;cursor:pointer;letter-spacing:1px;transition:color .1s,text-shadow .1s}.opts-toggle-on{color:var(--fg);text-shadow:0 0 6px var(--fg)}.opts-toggle-off{color:var(--fg-dim);opacity:.4;text-shadow:none}.opts-toggle:hover{color:var(--fg);text-shadow:0 0 8px var(--fg);opacity:1}.lang-toggle{display:flex;gap:4px}.modal-themes{width:auto}.modal-themes .modal-row{gap:6px;white-space:nowrap}.modal-themes .modal-label-wide{width:auto;font-size:13px;cursor:pointer}.modal-themes .theme-active{color:var(--fg);text-shadow:0 0 6px var(--fg)}.modal-themes .theme-inactive{color:var(--fg-dim);opacity:.4;text-shadow:none}.login-input:-webkit-autofill,.login-input:-webkit-autofill:hover,.login-input:-webkit-autofill:focus{-webkit-box-shadow:0 0 0 1000px var(--bg) inset;-webkit-text-fill-color:var(--fg);caret-color:var(--fg)}
