@font-face{font-family:Vazirmatn;src:url('/static/fonts/Vazirmatn-Regular.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:Vazirmatn;src:url('/static/fonts/Vazirmatn-SemiBold.ttf') format('truetype');font-weight:600 800;font-display:swap}
:root{--background:oklch(0.105 0.012 265);--foreground:oklch(0.97 0.008 255);--surface:oklch(0.145 0.017 265);--surface-strong:oklch(0.18 0.024 265);--muted:oklch(0.21 0.02 265);--muted-foreground:oklch(0.68 0.025 255);--border:oklch(1 0 0 / 0.1);--brand:oklch(0.61 0.235 258);--brand-foreground:oklch(0.99 0 0);--success:oklch(0.72 0.17 150);--danger:oklch(0.64 0.22 25);--radius:0.75rem;--shadow-soft:0 24px 80px oklch(0 0 0 / 0.3)}
*{box-sizing:border-box;letter-spacing:0} [hidden]{display:none!important}
body{margin:0;background:var(--background);color:var(--foreground);font:400 16px/1.8 Vazirmatn,sans-serif}button,input,textarea,select{font:inherit;color:inherit}button{cursor:pointer;min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--surface-strong);border:1px solid var(--border);border-radius:var(--radius);padding:8px 16px;line-height:1.5;transition:background 180ms,opacity 180ms}button:hover{background:var(--muted)}button:disabled{cursor:wait;opacity:.5}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:2px solid var(--brand);outline-offset:4px}.primary{background:var(--brand);color:var(--brand-foreground);border-color:var(--brand)}.primary:hover{background:color-mix(in oklch,var(--brand) 88%,var(--foreground))}.quiet{background:transparent}.danger-quiet,.error{color:var(--danger)}h1,h2,h3,p{margin:0}h1{font-size:28px;line-height:1.3;font-weight:600}h2{font-size:20px;line-height:1.4;font-weight:600}h3{font-size:16px;font-weight:600}p+p{margin-block-start:12px}.muted{color:var(--muted-foreground)}.small,.eyebrow{font-size:12px}.eyebrow{color:var(--brand);margin-block-end:8px}.shell{max-width:1200px;margin-inline:auto;padding-inline:32px}.topbar{padding-block:24px;display:flex;gap:16px;align-items:center;justify-content:space-between;border-block-end:1px solid var(--border)}.brand{display:flex;align-items:center;gap:12px;font-weight:600}.brand-mark{display:grid;place-items:center;background:var(--brand);color:var(--brand-foreground);border-radius:var(--radius);height:40px;width:40px;font-size:24px}.header-actions{display:flex;gap:12px;align-items:center}.badge{display:inline-flex;align-items:center;gap:8px;font-size:12px;padding:4px 12px;border:1px solid var(--border);border-radius:40px;color:var(--muted-foreground)}.badge.good{color:var(--success)}.badge.problem{color:var(--danger)}.tabs{display:flex;gap:24px;padding-block:12px;border-block-end:1px solid var(--border)}.tabs button{background:transparent;border-color:transparent;border-radius:0;padding-inline:0}.tabs button.selected{color:var(--brand);border-block-end-color:var(--brand)}main{min-height:65vh;padding-block:32px}.page-heading{display:flex;gap:16px;justify-content:space-between;align-items:center;margin-block-end:24px}.page-heading p.muted{margin-block-start:8px;font-size:14px}.metrics{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);margin-block-end:24px}.metrics div{padding:16px 24px;border-inline-end:1px solid var(--border);display:flex;gap:16px;align-items:center;justify-content:space-between}.metrics div:last-child{border:0}.metrics span{font-size:12px}.metrics strong{font-size:24px;font-weight:600}.notice{padding:12px 16px;border:1px solid var(--border);border-inline-start:3px solid var(--brand);background:var(--surface);border-radius:var(--radius);font-size:14px;margin-block-end:24px}.rule-list{display:grid;gap:12px}.panel,.rule-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:24px}.rule-card{display:grid;grid-template-columns:1fr auto;gap:24px;align-items:center}.rule-name{display:flex;align-items:center;gap:12px;margin-block-end:12px}.chips{display:flex;gap:8px;flex-wrap:wrap}.chip{font-size:12px;background:var(--muted);border-radius:var(--radius);padding:4px 12px}.rule-info{margin-block-start:12px;font-size:12px;color:var(--muted-foreground)}.actions{display:flex;gap:8px;flex-wrap:wrap}.empty{min-height:240px;display:grid;place-content:center;text-align:center;gap:12px;background:var(--surface);border:1px dashed var(--border);border-radius:var(--radius);padding:24px}.empty button{justify-self:center;margin-block-start:8px}.skeleton{height:132px;background:var(--surface);border-radius:var(--radius);animation:fade 1.8s infinite alternate}@keyframes fade{to{opacity:.4}}footer{display:flex;justify-content:space-between;gap:16px;color:var(--muted-foreground);font-size:12px;padding-block:20px;border-block-start:1px solid var(--border)}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.settings-side{display:grid;gap:16px;align-content:start}.section-heading{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-block-end:16px}.panel p{margin-block:12px 20px}form{display:grid;gap:16px}label{display:grid;gap:8px;font-size:14px}input,textarea,select{width:100%;padding:12px 16px;border:1px solid var(--border);border-radius:var(--radius);background:var(--background);font-size:16px;line-height:1.7}textarea{resize:vertical;min-height:80px}input[type=checkbox]{width:20px;height:20px;accent-color:var(--brand)}.check{display:flex;align-items:center;gap:12px;min-height:44px}.toggle-row{display:flex;gap:24px}.panel form button{justify-self:start}details summary{cursor:pointer;padding-block:8px;font-size:14px}details label{margin-block-start:12px}.auth-shell{min-height:100vh;display:grid;place-items:center;padding:24px}.auth-card{width:min(100%,420px);padding:32px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius)}.auth-card h1{margin-block:28px 12px}.auth-card form{margin-block-start:24px}.auth-card .primary{width:100%}dialog{color:var(--foreground);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);width:min(980px,calc(100% - 32px));max-height:90vh;padding:24px;box-shadow:var(--shadow-soft)}dialog::backdrop{background:color-mix(in oklch,var(--background) 75%,transparent);backdrop-filter:blur(4px)}.dialog-header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-block-end:16px}.dialog-header button{font-size:24px;min-width:44px;padding:0}.editor-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.editor-fields{display:grid;gap:16px}.editor-messages{background:var(--background);border-radius:var(--radius);padding:20px;align-self:start}#message-list{display:grid;gap:12px}.message-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px}.message-header{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-block-end:12px}.message-header span{font-size:14px}.message-header button{min-width:44px;padding:8px}.message-tools{display:flex;gap:4px}.message-card textarea{min-height:100px}.message-card input[type=file]{font-size:12px;padding:8px}.asset-preview img{max-width:100%;width:120px;height:100px;object-fit:cover;border-radius:var(--radius)}.asset-preview audio,.asset-preview video{max-width:100%;width:100%;margin-block:12px}.asset-preview video{max-height:180px}.asset-preview{font-size:12px;overflow-wrap:anywhere}.add-messages{display:flex;gap:8px;flex-wrap:wrap;margin-block:16px}.add-messages button{font-size:12px;padding-inline:12px}.dialog-footer{display:flex;gap:12px;border-block-start:1px solid var(--border);padding-block-start:16px;position:sticky;inset-block-end:0;background:var(--surface)}#test-dialog{max-width:520px}#test-dialog form{margin-block:20px}.preview{display:grid;gap:12px;padding-block:16px}.bubble{border:1px solid var(--border);border-radius:var(--radius);padding:12px 16px;background:var(--background);white-space:pre-wrap;overflow-wrap:anywhere}.logs{display:grid;gap:12px}.log-item{display:grid;grid-template-columns:1fr auto;gap:16px;padding:20px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius)}.log-item p{font-size:14px}.log-item time{font-size:12px;color:var(--muted-foreground)}#toast{position:fixed;inset-block-end:24px;inset-inline-start:24px;max-width:min(480px,calc(100% - 48px));background:var(--surface-strong);border:1px solid var(--border);border-inline-start:3px solid var(--brand);padding:16px 24px;border-radius:var(--radius);box-shadow:var(--shadow-soft);z-index:20;font-size:14px}
@media(max-width:760px){.shell{padding-inline:16px}.topbar{align-items:flex-start;padding-block:16px;flex-wrap:wrap}.header-actions{width:100%;justify-content:space-between;gap:8px}.tabs{gap:24px}.page-heading{align-items:flex-start}.page-heading h1{font-size:24px}.page-heading>button{white-space:nowrap}.metrics{grid-template-columns:1fr 1fr}.metrics div{padding:12px 16px}.metrics div:nth-child(2){border-inline-end:0}.metrics div:nth-child(-n+2){border-block-end:1px solid var(--border)}.rule-card{grid-template-columns:1fr;gap:16px;padding:20px}.settings-grid,.editor-grid{grid-template-columns:1fr}.settings-grid{gap:16px}.panel{padding:20px}dialog{padding:16px;max-height:94vh}.editor-messages{padding:16px}footer{flex-direction:column;gap:8px}.log-item{grid-template-columns:1fr}.dialog-footer{padding-block-end:8px}.auth-card{padding:24px}main{padding-block:24px}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
