:root {
  --bg: #0C0F1A;
  --bg-card: #151929;
  --text: #E0E4F0;
  --text-sec: #8B92A8;
  --text-muted: #3E4560;
  --primary: #7C5CFC;
  --green: #10B981;
  --red: #EF4444;
  --amber: #F59E0B;
  --border: rgba(124,92,252,0.06);
  --radius: 10px;
  --font: 'Inter',system-ui,sans-serif;
  --mono: 'Fira Code',monospace;
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
body{font-family:var(--font);background:var(--bg);color:var(--text);min-height:100vh}

.header{display:flex;align-items:center;justify-content:space-between;padding:8px 16px;background:var(--bg-card);border-bottom:1px solid var(--border)}
.header h1{font-size:.92rem;font-weight:700;color:var(--primary)}
.header-right{display:flex;gap:6px}

.btn{padding:5px 12px;border:1px solid var(--border);border-radius:8px;background:transparent;color:var(--text-sec);font-family:var(--font);font-size:.72rem;cursor:pointer;transition:.2s}
.btn:hover{border-color:var(--primary);color:var(--primary)}
.btn.primary{background:var(--primary);color:#fff;border:none;font-weight:600}
.btn.primary:hover{opacity:.9}

.app{max-width:820px;margin:0 auto;padding:12px}

.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:8px}

.card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:12px;margin-bottom:8px}
.card h2{font-size:.68rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:8px}

.form-group{margin-bottom:6px}
.form-group label{display:block;font-size:.64rem;color:var(--text-sec);margin-bottom:2px}
.input{width:100%;padding:6px 8px;border:1px solid var(--border);border-radius:6px;background:rgba(255,255,255,.02);color:var(--text);font-family:var(--font);font-size:.78rem}
.input:focus{outline:none;border-color:var(--primary)}

.code-editor{width:100%;min-height:250px;border:none;background:rgba(0,0,0,.2);color:var(--text);font-family:var(--mono);font-size:.78rem;line-height:1.7;padding:10px;border-radius:6px;resize:vertical;tab-size:2}
.code-editor:focus{outline:none}

.result{margin-top:10px;padding:10px;border-radius:8px;font-size:.82rem;font-weight:600}
.result.allowed{background:rgba(16,185,129,.08);border:1px solid rgba(16,185,129,.2);color:var(--green)}
.result.blocked{background:rgba(239,68,68,.08);border:1px solid rgba(239,68,68,.2);color:var(--red)}
.result .detail{font-weight:400;font-size:.7rem;color:var(--text-sec);margin-top:4px}

.rule-item{display:flex;align-items:center;gap:8px;padding:5px 0;border-bottom:1px solid var(--border);font-size:.74rem}
.rule-item:last-child{border-bottom:none}
.rule-badge{padding:2px 6px;border-radius:4px;font-size:.6rem;font-weight:600}
.rule-badge.allow{background:rgba(16,185,129,.1);color:var(--green)}
.rule-badge.disallow{background:rgba(239,68,68,.1);color:var(--red)}
.rule-badge.ua{background:rgba(124,92,252,.1);color:var(--primary)}
.rule-path{font-family:var(--mono);font-size:.72rem;color:var(--text-sec)}

@media(max-width:640px){
  .grid-2{grid-template-columns:1fr}
}
