:root{--color-halal: #10b981;--color-halal-dark: #059669;--color-halal-bg: rgba(16, 185, 129, .12);--color-halal-border: rgba(16, 185, 129, .3);--color-mushbooh: #f59e0b;--color-mushbooh-dark: #d97706;--color-mushbooh-bg: rgba(245, 158, 11, .12);--color-mushbooh-border: rgba(245, 158, 11, .3);--color-haram: #ef4444;--color-haram-dark: #dc2626;--color-haram-bg: rgba(239, 68, 68, .12);--color-haram-border: rgba(239, 68, 68, .3);--color-primary: #2563eb;--color-primary-hover: #1d4ed8;--color-primary-light: rgba(37, 99, 235, .15);--bg-app: #090d16;--bg-surface: #111827;--bg-surface-elevated: #1a2234;--bg-card: rgba(26, 34, 52, .7);--border-subtle: rgba(255, 255, 255, .08);--border-focus: rgba(37, 99, 235, .5);--text-main: #f8fafc;--text-muted: #94a3b8;--text-dim: #64748b;--glass-blur: blur(16px);--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .2);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .3), 0 2px 4px -2px rgba(0, 0, 0, .2);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .4), 0 4px 6px -4px rgba(0, 0, 0, .3);--shadow-glow-halal: 0 0 20px rgba(16, 185, 129, .25);--shadow-glow-haram: 0 0 20px rgba(239, 68, 68, .25);--shadow-glow-mushbooh: 0 0 20px rgba(245, 158, 11, .25);--font-sans: "Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-mono: "JetBrains Mono", monospace;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 18px;--radius-full: 9999px;--transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--transition-smooth: .25s cubic-bezier(.16, 1, .3, 1)}*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}body{font-family:var(--font-sans);background-color:var(--bg-app);color:var(--text-main);min-height:100vh;line-height:1.5;overflow-x:hidden;display:flex;flex-direction:column}button{font-family:inherit;cursor:pointer;border:none;background:none}input,textarea,select{font-family:inherit}.app-container{max-width:640px;margin:0 auto;width:100%;display:flex;flex-direction:column;min-height:100vh;position:relative;background:var(--bg-app);padding-bottom:80px}.app-header{position:sticky;top:0;z-index:50;background:#0a0f1ad9;backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border-bottom:1px solid var(--border-subtle);padding:12px 18px;display:flex;align-items:center;justify-content:space-between}.brand-wrapper{display:flex;align-items:center;gap:10px}.brand-icon{width:36px;height:36px;background:linear-gradient(135deg,#10b981,#047857);border-radius:10px;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 10px #10b98159;color:#fff}.brand-title{font-size:1.15rem;font-weight:700;letter-spacing:-.02em;color:#fff;display:flex;flex-direction:column;line-height:1.15}.brand-title span.sub{font-size:.72rem;font-weight:500;color:var(--text-muted);letter-spacing:.04em;text-transform:uppercase}.header-actions{display:flex;align-items:center;gap:8px}.lang-selector-btn{display:flex;align-items:center;gap:5px;background:var(--bg-surface);border:1px solid var(--border-subtle);padding:6px 10px;border-radius:var(--radius-full);color:#fff;font-size:.76rem;font-weight:600;cursor:pointer;transition:all var(--transition-fast)}.lang-selector-btn:hover{background:var(--bg-surface-elevated);border-color:#fff3}.lang-dropdown-menu{position:absolute;top:56px;right:18px;z-index:60;background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);padding:6px;display:none;flex-direction:column;min-width:170px;backdrop-filter:blur(12px)}[dir=rtl] .lang-dropdown-menu{right:auto;left:18px}.lang-dropdown-menu.show{display:flex;animation:fadeIn .15s ease}.lang-option-item{display:flex;align-items:center;gap:8px;padding:8px 12px;border-radius:var(--radius-sm);font-size:.82rem;color:var(--text-muted);cursor:pointer;transition:all var(--transition-fast);text-align:left}[dir=rtl] .lang-option-item{text-align:right}.lang-option-item:hover,.lang-option-item.active{background:var(--bg-surface-elevated);color:#fff}.lang-option-item.active{color:#38bdf8;font-weight:700}[dir=rtl]{font-family:Segoe UI,Tahoma,Arial,sans-serif}[dir=rtl] .search-input{padding:14px 44px 14px 16px}[dir=rtl] .search-icon-pos{left:auto;right:14px}[dir=rtl] .warning-callout{border-left:none;border-right:3px solid #f59e0b;border-radius:var(--radius-sm) 0 0 var(--radius-sm)}[dir=rtl] .warning-callout.critical{border-right-color:#ef4444}.offline-pill{font-size:.72rem;padding:3px 8px;border-radius:var(--radius-full);background:#10b98126;color:#34d399;border:1px solid rgba(16,185,129,.3);display:flex;align-items:center;gap:4px;font-weight:600}.offline-pill.is-offline{background:#f59e0b26;color:#fbbf24;border-color:#f59e0b4d}.icon-btn{width:38px;height:38px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--text-muted);background:var(--bg-surface);border:1px solid var(--border-subtle);transition:all var(--transition-fast)}.icon-btn:hover,.icon-btn:active{color:#fff;background:var(--bg-surface-elevated);border-color:#fff3}.disclaimer-banner{background:linear-gradient(90deg,#2563eb1f,#10b9811a);border-bottom:1px solid rgba(37,99,235,.2);padding:8px 16px;display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:.78rem;color:#cbd5e1;cursor:pointer;transition:background var(--transition-fast)}.disclaimer-banner:hover{background:linear-gradient(90deg,#2563eb2e,#10b98126)}.disclaimer-banner .disclaimer-text strong{color:#f1f5f9}.disclaimer-link{color:#60a5fa;font-weight:600;text-decoration:underline;white-space:nowrap}.bottom-nav{position:fixed;bottom:0;left:0;right:0;max-width:640px;margin:0 auto;z-index:50;background:#0a0f1aeb;backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border-top:1px solid var(--border-subtle);display:flex;justify-content:space-around;padding:8px 12px 14px}.nav-tab{display:flex;flex-direction:column;align-items:center;gap:4px;color:var(--text-dim);font-size:.72rem;font-weight:600;transition:all var(--transition-fast);padding:4px 10px;border-radius:12px;flex:1}.nav-tab svg{width:22px;height:22px;stroke-width:2;transition:transform var(--transition-fast)}.nav-tab.active{color:#38bdf8}.nav-tab.active svg{transform:translateY(-2px);color:#38bdf8}.main-content{flex:1;padding:16px;display:flex;flex-direction:column}.scanner-view{display:flex;flex-direction:column;gap:16px}.camera-container{position:relative;width:100%;aspect-ratio:4/3;background:#000;border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-lg);border:1px solid var(--border-subtle)}.camera-video{width:100%;height:100%;object-fit:cover}.camera-overlay{position:absolute;inset:0;pointer-events:none;display:flex;align-items:center;justify-content:center}.viewfinder-box{width:80%;height:65%;border:2px dashed rgba(255,255,255,.4);border-radius:14px;position:relative;box-shadow:0 0 0 9999px #00000073;transition:border-color var(--transition-smooth)}.viewfinder-box.scanning{border-color:#38bdf8;box-shadow:0 0 0 9999px #00000080,0 0 15px #38bdf866}.viewfinder-laser{position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent 0%,#38bdf8 50%,transparent 100%);box-shadow:0 0 8px #38bdf8;opacity:0}.viewfinder-box.scanning .viewfinder-laser{opacity:1;animation:scanLaser 1.8s ease-in-out infinite alternate}@keyframes scanLaser{0%{top:5%}to{top:95%}}.viewfinder-hint{position:absolute;bottom:-32px;left:0;right:0;text-align:center;font-size:.75rem;color:#e2e8f0;text-shadow:0 1px 3px rgba(0,0,0,.8);font-weight:500}.camera-controls-floating{position:absolute;top:12px;right:12px;display:flex;gap:8px;z-index:10}.camera-floating-btn{width:38px;height:38px;border-radius:50%;background:#000000a6;backdrop-filter:blur(8px);color:#fff;border:1px solid rgba(255,255,255,.2);display:flex;align-items:center;justify-content:center}.camera-floating-btn.active{background:#f59e0b;color:#000;border-color:#f59e0b}.scan-action-bar{display:flex;gap:10px;align-items:center}.btn-scan-primary{flex:1;background:linear-gradient(135deg,#2563eb,#1d4ed8);color:#fff;font-weight:700;font-size:.95rem;padding:14px 20px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;gap:10px;box-shadow:0 4px 15px #2563eb59;transition:all var(--transition-fast)}.btn-scan-primary:hover,.btn-scan-primary:active{transform:translateY(-1px);box-shadow:0 6px 20px #2563eb73}.btn-scan-primary:disabled{opacity:.6;pointer-events:none}.scanner-mode-switch{display:flex;background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:4px}.scanner-mode-btn{padding:8px 14px;font-size:.78rem;font-weight:600;color:var(--text-muted);border-radius:var(--radius-sm);transition:all var(--transition-fast)}.scanner-mode-btn.active{background:var(--bg-surface-elevated);color:#fff;box-shadow:var(--shadow-sm)}.scan-progress-box{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:14px 18px;display:flex;flex-direction:column;gap:8px}.progress-header{display:flex;justify-content:space-between;font-size:.82rem;color:var(--text-muted);font-weight:600}.progress-bar-track{width:100%;height:6px;background:#ffffff14;border-radius:999px;overflow:hidden}.progress-bar-fill{height:100%;background:linear-gradient(90deg,#2563eb,#38bdf8);border-radius:999px;transition:width .2s ease}.verdict-card{background:var(--bg-card);backdrop-filter:blur(12px);border-radius:var(--radius-lg);border:1px solid var(--border-subtle);padding:20px;display:flex;flex-direction:column;gap:16px;animation:fadeIn .3s ease;box-shadow:var(--shadow-lg)}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.verdict-card.status-HALAL{border-color:var(--color-halal-border);box-shadow:var(--shadow-glow-halal)}.verdict-card.status-MUSHBOOH{border-color:var(--color-mushbooh-border);box-shadow:var(--shadow-glow-mushbooh)}.verdict-card.status-HARAM{border-color:var(--color-haram-border);box-shadow:var(--shadow-glow-haram)}.verdict-badge-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.badge-pill{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;border-radius:var(--radius-full);font-weight:800;font-size:.95rem;letter-spacing:.03em;text-transform:uppercase}.badge-pill.status-HALAL{background:var(--color-halal-bg);color:var(--color-halal);border:1px solid var(--color-halal-border)}.badge-pill.status-MUSHBOOH{background:var(--color-mushbooh-bg);color:var(--color-mushbooh);border:1px solid var(--color-mushbooh-border)}.badge-pill.status-HARAM{background:var(--color-haram-bg);color:var(--color-haram);border:1px solid var(--color-haram-border)}.badge-pill.status-UNKNOWN{background:#94a3b826;color:#94a3b8;border:1px solid rgba(148,163,184,.3)}.verdict-stats{display:flex;gap:8px;font-size:.8rem}.stat-chip{padding:3px 8px;border-radius:6px;font-weight:700;font-size:.75rem}.stat-chip.halal{background:#10b98133;color:#34d399}.stat-chip.mushbooh{background:#f59e0b33;color:#fbbf24}.stat-chip.haram{background:#ef444433;color:#f87171}.verdict-summary-text{font-size:.92rem;color:#e2e8f0;line-height:1.45}.warning-callout{background:#f59e0b14;border-left:3px solid #f59e0b;padding:10px 14px;border-radius:0 var(--radius-sm) var(--radius-sm) 0;font-size:.82rem;color:#fde68a;line-height:1.4}.warning-callout.critical{background:#ef444414;border-left-color:#ef4444;color:#fecaca}.detected-items-list{display:flex;flex-direction:column;gap:8px}.detected-item-row{display:flex;align-items:center;justify-content:space-between;background:var(--bg-surface);border:1px solid var(--border-subtle);padding:10px 14px;border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast)}.detected-item-row:hover{background:var(--bg-surface-elevated);border-color:#ffffff26;transform:translate(2px)}.item-left{display:flex;align-items:center;gap:12px}.item-code{font-family:var(--font-mono);font-weight:700;font-size:.95rem;color:#fff;min-width:54px}.item-info{display:flex;flex-direction:column}.item-name{font-size:.85rem;font-weight:600;color:#f1f5f9;max-width:240px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.item-origin{font-size:.72rem;color:var(--text-dim)}.item-status-tag{font-size:.72rem;font-weight:700;padding:3px 8px;border-radius:6px;text-transform:uppercase}.item-status-tag.HALAL{background:#10b98126;color:#34d399}.item-status-tag.MUSHBOOH{background:#f59e0b26;color:#fbbf24}.item-status-tag.HARAM{background:#ef444426;color:#f87171}.verdict-footer-disclaimer{font-size:.73rem;color:var(--text-dim);border-top:1px solid var(--border-subtle);padding-top:12px;display:flex;align-items:flex-start;gap:8px;line-height:1.35}.search-view{display:flex;flex-direction:column;gap:14px}.search-input-wrapper{position:relative;display:flex;align-items:center}.search-icon-pos{position:absolute;left:14px;color:var(--text-dim);pointer-events:none}.search-input{width:100%;background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:14px 16px 14px 44px;font-size:.95rem;color:#fff;outline:none;transition:border-color var(--transition-fast)}.search-input:focus{border-color:#38bdf8;box-shadow:0 0 0 3px #38bdf826}.filter-chips-row{display:flex;gap:8px;overflow-x:auto;padding-bottom:4px;scrollbar-width:none}.filter-chips-row::-webkit-scrollbar{display:none}.filter-chip{padding:6px 14px;border-radius:var(--radius-full);font-size:.78rem;font-weight:600;background:var(--bg-surface);color:var(--text-muted);border:1px solid var(--border-subtle);white-space:nowrap;transition:all var(--transition-fast)}.filter-chip.active{background:#2563eb;color:#fff;border-color:#2563eb}.filter-chip.halal.active{background:#059669;border-color:#059669}.filter-chip.mushbooh.active{background:#d97706;border-color:#d97706}.filter-chip.haram.active{background:#dc2626;border-color:#dc2626}.directory-count-label{font-size:.8rem;color:var(--text-dim);font-weight:500}.directory-list{display:flex;flex-direction:column;gap:10px}.paste-view{display:flex;flex-direction:column;gap:16px}.paste-textarea{width:100%;height:160px;background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:14px;font-size:.9rem;color:#fff;resize:vertical;outline:none;line-height:1.5}.paste-textarea:focus{border-color:#38bdf8;box-shadow:0 0 0 3px #38bdf826}.sample-pills-label{font-size:.78rem;color:var(--text-dim);margin-bottom:6px}.sample-pills-row{display:flex;flex-wrap:wrap;gap:6px}.sample-pill{font-size:.75rem;padding:5px 10px;border-radius:var(--radius-sm);background:var(--bg-surface);border:1px solid var(--border-subtle);color:var(--text-muted);cursor:pointer;transition:all var(--transition-fast)}.sample-pill:hover{background:var(--bg-surface-elevated);color:#fff;border-color:#fff3}.history-view{display:flex;flex-direction:column;gap:14px}.history-header-actions{display:flex;justify-content:space-between;align-items:center}.history-card{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:14px 16px;display:flex;flex-direction:column;gap:8px;cursor:pointer;transition:all var(--transition-fast)}.history-card:hover{background:var(--bg-surface-elevated);border-color:#ffffff26}.history-card-top{display:flex;justify-content:space-between;align-items:center}.history-title{font-size:.9rem;font-weight:700;color:#fff}.history-time{font-size:.72rem;color:var(--text-dim)}.history-snippet{font-size:.78rem;color:var(--text-muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.modal-backdrop{position:fixed;inset:0;z-index:100;background:#000000bf;backdrop-filter:blur(8px);display:flex;align-items:flex-end;justify-content:center;animation:fadeIn .2s ease}@media (min-width: 640px){.modal-backdrop{align-items:center;padding:20px}}.modal-sheet{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:24px 24px 0 0;max-width:600px;width:100%;max-height:85vh;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 -10px 40px #0009;animation:slideUp .25s cubic-bezier(.16,1,.3,1)}@media (min-width: 640px){.modal-sheet{border-radius:20px;max-height:80vh}}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.modal-header{padding:18px 20px;border-bottom:1px solid var(--border-subtle);display:flex;align-items:center;justify-content:space-between}.modal-title{font-size:1.1rem;font-weight:700;color:#fff;display:flex;align-items:center;gap:10px}.modal-close-btn{width:32px;height:32px;border-radius:50%;background:#ffffff0f;color:var(--text-muted);display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast)}.modal-close-btn:hover{background:#ffffff26;color:#fff}.modal-body{padding:20px;overflow-y:auto;display:flex;flex-direction:column;gap:16px;line-height:1.5}.detail-section-title{font-size:.8rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-dim);font-weight:700;margin-bottom:6px}.detail-section-content{font-size:.88rem;color:#e2e8f0;background:var(--bg-surface-elevated);padding:12px 14px;border-radius:var(--radius-sm);border:1px solid var(--border-subtle)}.school-ruling-card{padding:10px 12px;background:#00000040;border-radius:var(--radius-sm);margin-top:8px;font-size:.84rem}.school-name{font-weight:700;color:#38bdf8;margin-bottom:2px}.disclaimer-box-prominent{background:#f59e0b1a;border:1px solid rgba(245,158,11,.3);border-radius:var(--radius-md);padding:16px;display:flex;flex-direction:column;gap:10px}.disclaimer-box-prominent h4{color:#fbbf24;font-size:.95rem;font-weight:700;display:flex;align-items:center;gap:8px}.disclaimer-points{font-size:.85rem;color:#f1f5f9;display:flex;flex-direction:column;gap:10px}.disclaimer-point{display:flex;gap:8px;align-items:flex-start}.point-number{background:#f59e0b40;color:#fbbf24;width:22px;height:22px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:800;flex-shrink:0}.setting-item{display:flex;flex-direction:column;gap:8px;padding:12px 0;border-bottom:1px solid var(--border-subtle)}.setting-label{font-weight:600;font-size:.9rem;color:#fff}.setting-desc{font-size:.78rem;color:var(--text-muted)}.setting-select{background:var(--bg-surface-elevated);border:1px solid var(--border-subtle);color:#fff;padding:10px 14px;border-radius:var(--radius-sm);font-size:.88rem;outline:none}.btn-modal-primary{background:linear-gradient(135deg,#10b981,#059669);color:#fff;font-weight:700;padding:14px 20px;border-radius:var(--radius-md);font-size:.95rem;box-shadow:0 4px 15px #10b98159;text-align:center;transition:all var(--transition-fast)}.btn-modal-primary:hover{filter:brightness(1.1)}
