:root{--color-primary:#4f46e5;--color-primary-hover:#4338ca;--content-width:90%;--max-content-width:1400px;--color-pink:#d35368;--color-bg:#fff;--color-bg-white:#fff;--color-surface:#f8fafc;--color-surface-hover:#f1f5f9;--color-bg-soft:#fafafa;--color-text:#0f172a;--color-text-secondary:#475569;--color-text-muted:#64748b;--color-border:#e2e8f0;--color-code-bg:#0f172a;--color-grad1:#ec4899;--color-grad2:#8b5cf6;--color-success:#16a34a;--color-danger:#dc2626;--font-sans:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono:"SFMono-Regular", Consolas, "Liberation Mono", Menlo, monospace;--navbar-height:64px;--container-width:1200px;--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--shadow-sm:0 1px 2px #0000000d;--shadow-md:0 4px 12px #00000014;font-family:var(--font-sans);color:var(--color-text);background:var(--color-bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-weight:400;line-height:1.5}:root[data-theme=dark]{--color-bg:#0c0e13;--color-bg-white:#10151e;--color-surface:#1e293b;--color-surface-hover:#334155;--color-bg-soft:#151a23;--color-text:#f8fafc;--color-text-secondary:#cbd5e1;--color-text-muted:#94a3b8;--color-border:#334155;--color-code-bg:#020617;--color-success:#4ade80;--color-danger:#f87171;--shadow-sm:0 1px 2px #00000040;--shadow-md:0 4px 12px #00000059}.container{width:var(--content-width);max-width:var(--max-content-width);margin:0 auto}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:radial-gradient(circle at 10% 30%, #f472b62e, transparent 32%), radial-gradient(circle at 50% 0%, #6366f10d, transparent 35%), radial-gradient(circle at 90% 40%, #7c3aed2e, transparent 32%), radial-gradient(circle at 50% 100%, #6366f117, transparent 35%), var(--color-bg);min-width:320px;min-height:100vh;color:var(--color-text);background-attachment:fixed;margin:0;overflow-x:hidden}button,input,textarea,select{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}#root{min-height:100vh}main{min-height:calc(100vh - var(--navbar-height))}h1,h2,h3,h4,h5,h6,p{margin:0}h1,h2,h3,h4,h5,h6{color:var(--color-text);line-height:1.2}p{color:var(--color-text-secondary)}code,pre{font-family:var(--font-mono)}:focus-visible{outline:2px solid var(--color-primary);outline-offset:3px}button,a{-webkit-tap-highlight-color:transparent}button:disabled{cursor:not-allowed;opacity:.5}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.route-loader{min-height:calc(100vh - var(--navbar-height));color:var(--color-text-secondary);align-content:center;place-items:center;gap:12px;font-size:.85rem;display:grid}.route-loader-spinner{border:3px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;width:28px;height:28px;animation:.8s linear infinite route-loader-spin}@keyframes route-loader-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.route-loader-spinner{animation:none}}.app-error-page,.not-found-page{min-height:calc(100vh - var(--navbar-height));place-items:center;padding:48px 20px;display:grid}.app-error-card,.not-found-card{text-align:center;background:var(--color-surface);border:1px solid var(--color-border);width:min(100%,620px);box-shadow:var(--shadow-card);border-radius:20px;padding:40px}.app-error-card h1,.not-found-card h1{margin:10px 0 12px}.app-error-card p:not(.section-label),.not-found-card p:not(.section-label){margin-bottom:24px}.app-error-card button,.not-found-actions a{border-radius:10px;justify-content:center;align-items:center;min-height:42px;padding:0 18px;font-weight:700;text-decoration:none;display:inline-flex}.app-error-card button{background:var(--color-primary);color:#fff;cursor:pointer;border:0}.not-found-actions{flex-wrap:wrap;justify-content:center;gap:12px;display:flex}.navbar{width:100%;height:var(--navbar-height);z-index:100;background:var(--color-bg-white);border-bottom:1px solid var(--color-border);position:sticky;top:0}.navbar-container{width:var(--content-width);max-width:var(--max-content-width);align-items:center;height:100%;margin:0 auto;display:flex}.navbar-logo{color:var(--color-text);letter-spacing:-.5px;flex-shrink:0;font-size:1.4rem;font-weight:700}.navbar-logo span{color:var(--color-primary)}.navbar-nav{align-items:center;gap:24px;margin-left:48px;display:flex}.nav-link{color:var(--color-text-secondary);padding:8px 4px;font-size:.95rem;font-weight:500;transition:color .2s,opacity .2s;position:relative}.nav-link:hover{color:var(--color-text)}.nav-link.active{color:var(--color-primary)}.navbar-actions{align-items:center;gap:10px;margin-left:auto;display:flex}.navbar-actions button{color:var(--color-text-secondary);background:0 0;border:0;transition:color .2s,background .2s}.navbar-language-toggle{box-sizing:border-box;width:110px;height:36px;color:var(--color-text-secondary);cursor:pointer;border-radius:8px;outline:none;justify-content:space-between;align-items:center;padding:0 10px;font-size:.78rem;font-weight:600;transition:transform .2s,background-color .2s,border-color .2s;display:flex;border:1.5px solid var(--color-primary)!important;background:var(--color-surface)!important}.navbar-language-toggle:hover{transform:translateY(-1px)}.language-option{white-space:nowrap;transition:color .2s}.navbar-language-toggle.bangla .bangla-option,.navbar-language-toggle.english .english-option{color:var(--color-primary);font-weight:750}.language-switch{background:color-mix(in srgb, var(--color-primary) 20%, var(--color-surface));pointer-events:none;border-radius:999px;flex-shrink:0;width:27px;height:16px;position:relative}.language-dot{background:var(--color-primary);border-radius:50%;width:10px;height:10px;transition:transform .25s;position:absolute;top:3px;left:3px}.navbar-language-toggle.bangla .language-dot{transform:translate(0)}.navbar-language-toggle.english .language-dot{transform:translate(11px)}.navbar-login{border-radius:var(--radius-md);cursor:pointer;padding:6px 14px;font-weight:600;transition:background .2s,border-color .2s,transform .2s;border:1px solid var(--color-primary)!important;background:var(--color-primary)!important;color:#fff!important}.navbar-login:hover{transform:translateY(-1px);background:var(--color-primary-hover)!important;border-color:var(--color-primary-hover)!important;color:#fff!important}.navbar-user-name{color:var(--color-text);white-space:nowrap;background:0 0;border:0;padding:6px 4px;font-size:.88rem;font-weight:600;text-decoration:none;transition:color .2s}.navbar-user-name:hover{color:var(--color-primary)}.navbar-admin-link{border:1px solid var(--color-border);border-radius:var(--radius-md);min-height:34px;color:var(--color-text-secondary);white-space:nowrap;background:0 0;justify-content:center;align-items:center;padding:6px 12px;font-size:.82rem;font-weight:700;text-decoration:none;transition:color .2s,background-color .2s,border-color .2s,transform .2s;display:inline-flex}.navbar-admin-link:hover{border-color:var(--color-primary);color:var(--color-primary);transform:translateY(-1px)}.navbar-admin-link.active{color:var(--color-primary)}.navbar-theme{width:33px;height:33px;color:var(--color-primary);cursor:pointer;background:0 0;border-radius:50%;place-items:center;font-size:1rem;transition:background-color .2s,color .2s,border-color .2s,transform .2s;display:grid;border:1px solid var(--color-border)!important}.navbar-theme:hover{background:var(--color-surface);transform:translateY(-1px);border-color:var(--color-primary)!important;color:var(--color-primary)!important}@media (width<=900px){.navbar-container{width:92%}.navbar-nav{margin-left:32px}.navbar-actions{gap:8px}}@media (width<=640px){.navbar{height:58px}.navbar-container{width:92%;max-width:none}.navbar-logo{font-size:1.05rem}.navbar-nav{margin-left:20px}.nav-link{padding:6px 2px;font-size:.75rem}.navbar-actions{gap:6px}.navbar-language-toggle{border-radius:7px;width:82px;height:32px;padding:0 7px;font-size:.62rem}.language-switch{width:21px;height:12px}.language-dot{width:8px;height:8px;top:2px;left:2px}.navbar-language-toggle.english .language-dot{transform:translate(9px)}.navbar-user-name{padding:6px 3px;font-size:.68rem}.navbar-admin-link{min-height:32px;padding:5px 9px;font-size:.68rem}.navbar-login{padding:6px 10px;font-size:.68rem}.navbar-theme{width:30px;height:30px;font-size:.8rem}}@media (width<=480px){.navbar{height:54px}.navbar-container{width:92%}.navbar-logo{font-size:.98rem}.navbar-nav{margin-left:14px}.nav-link{font-size:.68rem}.navbar-actions{gap:5px}.navbar-language-toggle{width:70px;height:29px;padding:0 6px;font-size:.55rem}.language-switch{width:18px;height:10px}.language-dot{width:7px;height:7px;top:1.5px;left:2px}.navbar-language-toggle.english .language-dot{transform:translate(8px)}.navbar-user-name{padding:5px 2px;font-size:.58rem}.navbar-admin-link{min-height:29px;padding:5px 7px;font-size:.58rem}.navbar-login{padding:6px 8px;font-size:.58rem}.navbar-theme{width:28px;height:28px;font-size:.75rem}}@media (width<=360px){.navbar-container{width:94%}.navbar-nav{margin-left:10px}.navbar-actions{gap:4px}.navbar-language-toggle{width:62px}.navbar-user-name{padding:5px 2px}.navbar-admin-link{padding:4px 6px}.navbar-login{padding:5px 7px}.navbar-theme{width:27px;height:27px}}.navbar-search{border:1px solid var(--color-border);background:var(--color-surface);border-radius:9px;align-items:center;gap:7px;width:min(280px,24vw);height:36px;margin-left:28px;padding:0 11px;transition:border-color .2s,background .2s;display:flex}.navbar-search:focus-within{border-color:var(--color-primary);background:var(--color-bg-white)}.navbar-search span{color:var(--color-text-muted);font-size:1.2rem;transform:rotate(-20deg)}.navbar-search input{width:100%;min-width:0;color:var(--color-text);background:0 0;border:0;outline:0;font-size:.84rem}.navbar-search input::placeholder{color:var(--color-text-muted)}@media (width<=900px){.navbar-search{width:190px;margin-left:18px}}@media (width<=640px){.navbar-search{order:4;width:100%;margin:8px 0 0}.navbar-container{flex-wrap:wrap;height:auto;padding:10px 0}.navbar{height:auto;min-height:58px}}
