:root{--bg:linear-gradient(160deg,#e8f4fd,#fef9ef 50%,#e6f7ee);--surface:rgba(255,255,255,0.7);--surface-solid:#ffffff;--border:rgba(0,0,0,0.08);--accent:#f5c518;--accent-yellow:#f5c518;--accent-hover:#e6b200;--accent-pink:#e84393;--mint:#00b894;--text:#2d3436;--text-light:#636e72;--danger:#d63031;--radius-sm:10px;--radius-md:16px;--radius-lg:24px;--shadow:0 4px 20px rgba(0,0,0,0.06);--shadow-lg:0 8px 40px rgba(0,0,0,0.1);--font:"Outfit",sans-serif}[data-theme=dark]{--bg:linear-gradient(160deg,#1a1a2e,#16213e 50%,#1a1a2e);--surface:rgba(22,33,62,0.9);--surface-solid:#0f3460;--border:rgba(255,255,255,0.15);--accent:#f9ca24;--accent-yellow:#f9ca24;--accent-hover:#ff9f43;--mint:#55efc4;--text:#ffffff;--text-light:#e0e0e0;--danger:#ff7675;--shadow:0 8px 32px rgba(0,0,0,0.4);--shadow-lg:0 12px 48px rgba(0,0,0,0.6)}[data-theme=dark] a:not(.btn-warning):not(.btn-info):not(.badge),[data-theme=dark] div,[data-theme=dark] h1,[data-theme=dark] h2,[data-theme=dark] h3,[data-theme=dark] h4,[data-theme=dark] h5,[data-theme=dark] h6,[data-theme=dark] label,[data-theme=dark] li,[data-theme=dark] p,[data-theme=dark] small,[data-theme=dark] span,[data-theme=dark] td,[data-theme=dark] th{color:#ffffff!important}[data-theme=dark] .text-body,[data-theme=dark] .text-body-secondary,[data-theme=dark] .text-dark,[data-theme=dark] .text-muted,[data-theme=dark] .text-secondary{color:#e0e0e0!important}[data-theme=dark] .opacity-50,[data-theme=dark] .opacity-75{opacity:1!important}[data-theme=dark] .nav-link,[data-theme=dark] .navbar-nav .nav-link{color:#ffffff!important}[data-theme=dark] .nav-link:hover:not(.nav-active){background:rgba(255,255,255,.08)!important;color:#f9ca24!important}.nav-active{background:#f5c518!important;font-weight:600!important}.nav-active,.nav-active i{color:#1a1a2e!important}[data-theme=dark] .nav-active,[data-theme=dark] .nav-link.nav-active{background:#f5c518!important;color:#1a1a2e!important}[data-theme=dark] .nav-active i{color:#1a1a2e!important}.nav-link:hover:not(.nav-active){background:rgba(0,0,0,.04);transition:background .2s ease}[data-theme=dark] .form-check-label,[data-theme=dark] .form-label{color:#ffffff!important}[data-theme=dark] .form-control{background:#16213e!important;color:#ffffff!important;border-color:rgba(255,255,255,.2)!important}[data-theme=dark] .form-control::placeholder{color:rgba(255,255,255,.5)!important}[data-theme=dark] .input-group-text{background:#16213e!important}[data-theme=dark] .form-select,[data-theme=dark] .input-group-text{color:#ffffff!important;border-color:rgba(255,255,255,.2)!important}[data-theme=dark] .form-select{background-color:#16213e!important;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23ffffff' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e")!important}[data-theme=dark] .form-select option{background:#16213e;color:#ffffff}[data-theme=dark] .accordion-button{background:var(--surface-solid)!important;color:#ffffff!important}[data-theme=dark] .accordion-button:after{filter:invert(1)!important}[data-theme=dark] .accordion-button:not(.collapsed){background:#0a1628!important;color:#f9ca24!important}[data-theme=dark] .accordion-body{background:var(--surface-solid)!important;color:#e0e0e0!important}[data-theme=dark] .accordion-item{background:var(--surface-solid)!important;border-color:var(--border)!important}[data-theme=dark] .card{background:var(--surface-solid)!important;color:#ffffff!important}[data-theme=dark] .card-body,[data-theme=dark] .card-footer,[data-theme=dark] .card-header{color:#ffffff!important}[data-theme=dark] footer{background:rgba(15,52,96,.8)!important;border-color:var(--border)!important}[data-theme=dark] .badge.bg-warning,[data-theme=dark] .btn-warning{color:#1a1a2e!important}[data-theme=dark] .btn-outline-secondary{color:#ffffff!important;border-color:rgba(255,255,255,.4)!important}[data-theme=dark] .btn-outline-secondary:hover{background:rgba(255,255,255,.15)!important}[data-theme=dark] .btn-outline-info{color:#81ecec!important;border-color:#81ecec!important}[data-theme=dark] .navbar-toggler-icon{filter:invert(1)!important}[data-theme=dark] .table,[data-theme=dark] .table-responsive,[data-theme=dark] table{--bs-table-bg:transparent!important;--bs-table-color:#ffffff!important;--bs-table-border-color:rgba(255,255,255,0.1)!important;--bs-table-striped-bg:rgba(255,255,255,0.03)!important;--bs-table-striped-color:#ffffff!important;--bs-table-hover-bg:rgba(245,197,24,0.08)!important;--bs-table-hover-color:#ffffff!important;background:transparent!important;color:#ffffff!important}[data-theme=dark] .table td,[data-theme=dark] .table th,[data-theme=dark] table td,[data-theme=dark] table th{color:#ffffff!important;border-color:rgba(255,255,255,.08)!important;background:transparent!important}[data-theme=dark] .table thead tr,[data-theme=dark] table thead tr{border-bottom:2px solid rgba(255,255,255,.12)!important}[data-theme=dark] .badge.bg-light,[data-theme=dark] .badge.border,[data-theme=dark] .btn-light,[data-theme=dark] .btn-light:hover{background:rgba(255,255,255,.1)!important;color:#ffffff!important;border-color:rgba(255,255,255,.2)!important}[data-theme=dark] .btn.border{background:rgba(255,255,255,.06)!important;color:#ffffff!important;border-color:rgba(255,255,255,.15)!important}[data-theme=dark] .btn-outline-warning{color:#f5c518!important;border-color:#f5c518!important}[data-theme=dark] .btn-outline-warning:hover{background:rgba(245,197,24,.15)!important;color:#f5c518!important}body{background:var(--bg)!important;color:var(--text);min-height:100vh;transition:background .3s ease,color .3s ease}.accordion-button,.badge,.btn,.form-control,.modal-body,.modal-title,.nav-link,body{font-family:var(--font)!important}@keyframes badgePulse{0%,to{transform:scale(1)}50%{transform:scale(1.15)}}@keyframes cardFlip{0%{transform:rotateY(0deg)}50%{transform:rotateY(90deg)}to{transform:rotateY(0deg)}}@keyframes shake{0%,to{transform:translateX(0)}25%{transform:translateX(-2px)}75%{transform:translateX(2px)}}@keyframes popIn{0%{transform:scale(.85);opacity:0}to{transform:scale(1);opacity:1}}@keyframes fadeSlideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.card{border:none!important;transition:transform .3s cubic-bezier(.34,1.56,.64,1),box-shadow .3s ease,background .3s ease;border-radius:var(--radius-md)!important;background:var(--surface-solid)!important;color:var(--text)!important}.card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)!important}.badge.bg-danger{animation:badgePulse 2s ease-in-out infinite}.card-scene{width:100%;max-width:500px;height:300px;perspective:1000px;margin:0 auto}.flashcard{width:100%;height:100%;position:relative;transition:transform .6s;transform-style:preserve-3d;cursor:pointer}.flashcard.is-flipped{transform:rotateY(180deg)}.card-face{position:absolute;width:100%;height:100%;-webkit-backface-visibility:hidden;backface-visibility:hidden;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem;border-radius:var(--radius-lg);box-shadow:var(--shadow);text-align:center;border:1px solid var(--border)}.card-back,.card-face{background:var(--surface-solid)}.card-back{transform:rotateY(180deg);border:2px solid var(--accent)}.side-nav-btn{background:var(--surface-solid);border:1px solid var(--border);color:var(--text);width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .15s;box-shadow:0 2px 8px rgba(0,0,0,.08)}.side-nav-btn:hover{background:var(--accent);border-color:var(--accent);transform:scale(1.1)}.side-nav-btn:disabled{opacity:.3;cursor:not-allowed;transform:none}.pwa-overlay{position:fixed;inset:0;z-index:1050;background:rgba(0,0,0,.6);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;padding:1rem}.pwa-popup{background:var(--surface-solid);border-radius:var(--radius-lg);padding:2rem;text-align:center;box-shadow:var(--shadow-lg);max-width:360px;width:100%;animation:popIn .3s ease forwards;color:var(--text);border:1px solid var(--border)}.glass{background:var(--surface)!important;-webkit-backdrop-filter:blur(12px)!important;backdrop-filter:blur(12px)!important;border:1px solid var(--border)!important}.text-gradient{background:linear-gradient(135deg,var(--text) 0,var(--text-light) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.btn-warning{background:var(--accent-yellow)!important;border-color:var(--accent-yellow)!important;color:#1a1a2e!important;font-weight:700!important}.btn-warning:hover{background:var(--accent-hover)!important;border-color:var(--accent-hover)!important}.lb-row{display:flex;align-items:center;gap:1rem;padding:.75rem 1rem;background:var(--surface);border-radius:var(--radius-md);margin-bottom:.5rem;border:1px solid var(--border);transition:transform .15s,background .3s}.lb-row:hover{transform:scale(1.02)}.lb-row.top-3{border-color:var(--accent-yellow);box-shadow:0 0 15px rgba(245,197,24,.1)}.lb-row.top-3,.stat-pill{background:var(--surface)}.stat-pill{border:1px solid var(--border);border-radius:var(--radius-lg);padding:1rem;text-align:center;transition:all .2s;color:var(--text)}.stat-pill:hover{background:var(--surface-solid);transform:translateY(-2px);box-shadow:var(--shadow)}.form-control{background:var(--surface-solid)!important;color:var(--text)!important;border:1px solid var(--border)!important}.form-control:focus{border-color:var(--accent)!important;box-shadow:0 0 0 .25rem rgba(245,197,24,.25)!important}.modal-content{background:var(--surface-solid)!important;color:var(--text)!important;border:1px solid var(--border)!important;border-radius:var(--radius-lg)!important}.alert-box-warning{background:#fff3cd!important;border:1px solid #ffecb5!important;border-radius:12px;padding:12px 16px}.alert-box-warning,.alert-box-warning i,.alert-box-warning strong{color:#664d03!important}.alert-box-danger{background:#f8d7da!important;border:1px solid #f5c2c7!important;border-radius:12px;padding:12px 16px}.alert-box-danger,.alert-box-danger i,.alert-box-danger strong{color:#842029!important}.alert-box-secondary{background:#e2e3e5!important;border:1px solid #d3d6d8!important;border-radius:12px;padding:12px 16px}.alert-box-secondary,.alert-box-secondary i,.alert-box-secondary strong{color:#41464b!important}[data-theme=dark] .alert-box-warning{background:#7a5e00!important;color:#fff!important;border:1px solid #9e7a00!important}[data-theme=dark] .alert-box-warning i,[data-theme=dark] .alert-box-warning strong{color:#ffd740!important}[data-theme=dark] .alert-box-danger{background:#6b1520!important;color:#fff!important;border:1px solid #8b1d2a!important}[data-theme=dark] .alert-box-danger i,[data-theme=dark] .alert-box-danger strong{color:#ff8a8a!important}[data-theme=dark] .alert-box-secondary{background:#2a2f36!important;color:#d0d0d0!important;border:1px solid #3a3f46!important}[data-theme=dark] .alert-box-secondary i,[data-theme=dark] .alert-box-secondary strong{color:#e0e0e0!important}.mobile-bottom-nav{position:fixed;bottom:0;left:0;right:0;z-index:1050;display:flex;justify-content:space-around;align-items:stretch;height:64px;padding-bottom:env(safe-area-inset-bottom,0);background:var(--surface-solid);border-top:1px solid var(--border);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);box-shadow:0 -2px 16px rgba(0,0,0,.08)}[data-theme=dark] .mobile-bottom-nav{background:rgba(22,33,62,.95);border-top-color:rgba(255,255,255,.06);box-shadow:0 -2px 16px rgba(0,0,0,.3)}.mobile-bottom-nav-item{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1 1;gap:2px;padding:6px 4px;text-decoration:none;color:var(--text-light);font-size:.62rem;font-weight:500;letter-spacing:.02em;transition:color .2s,transform .15s;position:relative}.mobile-bottom-nav-item i{font-size:1.25rem;transition:transform .2s}.mobile-bottom-nav-item:hover{color:var(--accent);text-decoration:none}.mobile-bottom-nav-item.active{color:var(--accent);font-weight:700}.mobile-bottom-nav-item.active i{transform:scale(1.15)}.mobile-bottom-nav-item.active:after{content:"";position:absolute;bottom:4px;left:50%;transform:translateX(-50%);width:5px;height:5px;border-radius:50%;background:var(--accent);box-shadow:0 0 6px rgba(245,197,24,.5)}@media (max-width:767.98px){body{padding-bottom:calc(64px + env(safe-area-inset-bottom, 0px))}footer{margin-bottom:0!important;padding-bottom:.5rem!important}}