:root{--bg: #0a0e0a;--bg-2: #0d130d;--panel: #0f150f;--panel-2: #121a12;--border: #1c2b1c;--border-bright: #2f4a2f;--neon: #39ff14;--neon-dim: #2bc40f;--neon-soft: rgba(57, 255, 20, .12);--neon-glow: rgba(57, 255, 20, .35);--text: #c8f7c0;--text-dim: #7fae78;--text-muted: #4d6b49;--danger: #ff3b3b;--warn: #ffcc00;--info: #00e5ff;--mono: "JetBrains Mono", "Fira Code", "SF Mono", "Consolas", ui-monospace, monospace;--radius: 8px}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--text);font-family:var(--mono);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased;background-image:radial-gradient(circle at 20% 0%,rgba(57,255,20,.05),transparent 40%),radial-gradient(circle at 100% 100%,rgba(57,255,20,.04),transparent 45%)}body:after{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;background:repeating-linear-gradient(to bottom,#0000,#0000 2px,#00000026 3px);opacity:.35;z-index:9999;mix-blend-mode:multiply}a{color:var(--neon);text-decoration:none}a:hover{text-shadow:0 0 8px var(--neon-glow)}h1,h2,h3{font-weight:700;letter-spacing:.5px}::selection{background:var(--neon);color:#000}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:var(--bg-2)}::-webkit-scrollbar-thumb{background:var(--border-bright);border-radius:6px}::-webkit-scrollbar-thumb:hover{background:var(--neon-dim)}input,textarea,select,button{font-family:var(--mono);font-size:14px}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}.field>label{color:var(--text-dim);font-size:12px;text-transform:uppercase;letter-spacing:1px}.input,.textarea,.select{width:100%;background:var(--bg-2);border:1px solid var(--border-bright);color:var(--text);padding:10px 12px;border-radius:var(--radius);outline:none;transition:border-color .15s,box-shadow .15s}.input:focus,.textarea:focus,.select:focus{border-color:var(--neon);box-shadow:0 0 0 2px var(--neon-soft),0 0 12px var(--neon-soft)}.textarea{resize:vertical;min-height:120px;line-height:1.6}.btn{display:inline-flex;align-items:center;gap:8px;background:var(--neon-soft);border:1px solid var(--neon-dim);color:var(--neon);padding:9px 16px;border-radius:var(--radius);cursor:pointer;font-weight:600;letter-spacing:.5px;transition:all .15s}.btn:hover{background:var(--neon);color:#000;box-shadow:0 0 16px var(--neon-glow)}.btn:active{transform:translateY(1px)}.btn.ghost{background:transparent;border-color:var(--border-bright);color:var(--text-dim)}.btn.ghost:hover{color:var(--neon);border-color:var(--neon-dim);background:var(--neon-soft);box-shadow:none}.btn.danger{border-color:var(--danger);color:var(--danger);background:#ff3b3b1a}.btn.danger:hover{background:var(--danger);color:#000;box-shadow:0 0 16px #ff3b3b66}.btn:disabled{opacity:.4;cursor:not-allowed}.btn-row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.checkbox{display:inline-flex;align-items:center;gap:8px;cursor:pointer;-webkit-user-select:none;user-select:none;color:var(--text-dim)}.checkbox input{accent-color:var(--neon);width:16px;height:16px}.mono-out{background:#060906;border:1px solid var(--border);border-radius:var(--radius);padding:12px;white-space:pre-wrap;word-break:break-word;color:var(--neon);min-height:44px}.pill{display:inline-block;padding:2px 8px;border-radius:999px;border:1px solid var(--border-bright);color:var(--text-dim);font-size:11px;text-transform:uppercase;letter-spacing:1px}.hint{color:var(--text-muted);font-size:12px}.error-text{color:var(--danger)}table.data{width:100%;border-collapse:collapse}table.data th,table.data td{text-align:left;padding:8px 10px;border-bottom:1px solid var(--border)}table.data th{color:var(--text-dim);font-size:12px;text-transform:uppercase;letter-spacing:1px}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:16px}@media (max-width: 720px){.grid-2{grid-template-columns:1fr}}.login-wrap{position:relative;height:100%;display:grid;place-items:center;overflow:hidden}.login-grid-bg{position:absolute;top:-50%;right:-50%;bottom:-50%;left:-50%;background-image:linear-gradient(var(--border) 1px,transparent 1px),linear-gradient(90deg,var(--border) 1px,transparent 1px);background-size:40px 40px;transform:perspective(400px) rotateX(60deg);opacity:.25;-webkit-mask-image:radial-gradient(circle at center,#000 20%,transparent 70%);mask-image:radial-gradient(circle at center,#000 20%,transparent 70%)}.login-card{position:relative;z-index:1;width:min(400px,92vw);background:linear-gradient(180deg,var(--panel),var(--bg-2));border:1px solid var(--border-bright);border-radius:12px;padding:34px 30px;box-shadow:0 0 40px #39ff1414,inset 0 0 0 1px #0006}.login-logo{display:flex;align-items:center;gap:12px;color:var(--neon);font-size:26px;font-weight:800;letter-spacing:2px;text-shadow:0 0 14px var(--neon-glow)}.login-logo .accent{color:var(--text);text-shadow:none}.login-sub{color:var(--text-muted);margin:8px 0 24px;font-size:13px}.login-btn{width:100%;justify-content:center;margin-top:6px;padding:12px}.login-error{background:#ff3b3b1a;border:1px solid var(--danger);color:var(--danger);padding:8px 12px;border-radius:var(--radius);margin-bottom:14px;font-size:13px}.login-foot{margin-top:22px;text-align:center;color:var(--text-muted);font-size:11px;letter-spacing:1px}.spin{animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.app-shell{display:grid;grid-template-columns:270px 1fr;height:100%}.sidebar{background:var(--panel);border-right:1px solid var(--border);display:flex;flex-direction:column;height:100%;overflow:hidden}.sidebar-head{padding:16px 18px;border-bottom:1px solid var(--border)}.brand{display:flex;align-items:center;gap:10px;color:var(--neon);font-weight:800;font-size:18px;letter-spacing:1.5px;text-shadow:0 0 12px var(--neon-glow);cursor:pointer}.brand .accent{color:var(--text);text-shadow:none}.sidebar-search{padding:12px 14px;border-bottom:1px solid var(--border)}.sidebar-list{overflow-y:auto;flex:1;padding:8px 0 20px}.cat-label{color:var(--text-muted);font-size:10px;letter-spacing:1.5px;text-transform:uppercase;padding:12px 18px 6px}.nav-item{display:flex;align-items:center;gap:10px;padding:7px 18px;color:var(--text-dim);cursor:pointer;border-left:2px solid transparent;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nav-item:hover{background:var(--neon-soft);color:var(--text)}.nav-item.active{color:var(--neon);border-left-color:var(--neon);background:var(--neon-soft)}.nav-item svg{flex-shrink:0}.star-btn{margin-left:auto;color:var(--text-muted);display:inline-flex}.star-btn.on{color:var(--warn)}.main{overflow-y:auto;height:100%}.topbar{position:sticky;top:0;z-index:5;display:flex;align-items:center;gap:14px;padding:12px 22px;background:#0a0e0ad9;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--border)}.topbar .crumbs{color:var(--text-dim);font-size:13px}.topbar .crumbs b{color:var(--neon)}.topbar .spacer{flex:1}.user-chip{color:var(--text-dim);font-size:12px;display:flex;align-items:center;gap:8px}.content{padding:26px 28px 80px;max-width:960px}.home-hero{margin-bottom:24px}.home-hero h1{font-size:28px;color:var(--neon);text-shadow:0 0 16px var(--neon-glow);margin:0 0 6px}.home-hero p{color:var(--text-dim);margin:0}.tool-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:14px}.tool-card{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:16px;cursor:pointer;transition:all .15s;position:relative;overflow:hidden}.tool-card:hover{border-color:var(--neon-dim);transform:translateY(-2px);box-shadow:0 6px 20px #0006,0 0 0 1px var(--neon-soft)}.tool-card .ic{color:var(--neon);margin-bottom:10px}.tool-card h3{margin:0 0 4px;font-size:14px;color:var(--text)}.tool-card p{margin:0;color:var(--text-muted);font-size:12px;line-height:1.45}.tool-card .card-star{position:absolute;top:12px;right:12px;color:var(--text-muted)}.tool-card .card-star.on{color:var(--warn)}.section-title{color:var(--text-dim);font-size:12px;letter-spacing:2px;text-transform:uppercase;margin:26px 0 12px;display:flex;align-items:center;gap:10px}.section-title:after{content:"";flex:1;height:1px;background:var(--border)}.tool-page h1{font-size:22px;color:var(--neon);margin:0 0 4px;text-shadow:0 0 12px var(--neon-glow)}.tool-page .desc{color:var(--text-dim);margin:0 0 22px;font-size:13px}.panel{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:18px;margin-bottom:16px}.copy-inline{cursor:pointer;color:var(--text-muted);border:1px solid var(--border-bright);background:transparent;border-radius:6px;padding:4px 8px;display:inline-flex;align-items:center;gap:6px}.copy-inline:hover{color:var(--neon);border-color:var(--neon-dim)}.out-row{display:flex;align-items:center;gap:10px}.out-row .mono-out{flex:1}.not-found{padding:60px 20px;text-align:center;color:var(--text-dim)}input[type=range]{accent-color:var(--neon);width:100%}.mobile-toggle{display:none}@media (max-width: 860px){.app-shell{grid-template-columns:1fr}.sidebar{position:fixed;z-index:30;width:270px;transform:translate(-100%);transition:transform .2s}.sidebar.open{transform:translate(0)}.mobile-toggle{display:inline-flex}}
