@import"https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,100..1000; 1,9..40,100..1000&family=Playfair+Display:ital,wght@0,400..900; 1,400..900&display=swap";.update-banner{position:relative;width:100%;background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-accent) 100%);color:#fff;padding:12px var(--spacing-lg);display:flex;justify-content:space-between;align-items:center;z-index:10;box-shadow:0 -2px 10px #00000026;animation:slideInUp .3s ease-out;flex-shrink:0}.update-button{padding:6px 16px;background:#fff;color:var(--color-primary);border:none;border-radius:var(--radius-md);font-weight:600;cursor:pointer;transition:all var(--transition-fast)}.update-button:hover{transform:scale(1.05);box-shadow:0 2px 8px #0003}@keyframes slideInUp{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}.language-switcher-btn{position:fixed;bottom:calc(var(--spacing-lg) * 2 + 36px);right:var(--spacing-lg);display:inline-flex;align-items:center;gap:var(--spacing-sm);padding:.7rem 1.1rem;border-radius:var(--radius-full);background:linear-gradient(135deg,var(--color-primary),var(--color-primary-light));color:#fff;font-weight:600;font-size:.9rem;box-shadow:var(--shadow-lg);z-index:1000;transition:transform var(--transition-base),box-shadow var(--transition-base)}.language-switcher-btn:hover{transform:translateY(-2px);box-shadow:var(--shadow-xl);background:linear-gradient(135deg,var(--color-accent),var(--color-primary))}.language-switcher-btn:active{transform:translateY(0)}.pwa-install-btn{position:fixed;bottom:var(--spacing-lg);right:var(--spacing-lg);display:inline-flex;align-items:center;gap:var(--spacing-sm);padding:.75rem 1.25rem;border-radius:var(--radius-full);background:linear-gradient(135deg,var(--color-primary),var(--color-primary-light));color:#fff;font-weight:600;font-size:.95rem;box-shadow:var(--shadow-lg);z-index:1000;transition:transform var(--transition-base),box-shadow var(--transition-base)}.pwa-install-btn:hover{transform:translateY(-2px);box-shadow:var(--shadow-xl);background:linear-gradient(135deg,var(--color-accent),var(--color-primary))}.pwa-install-btn:active{transform:translateY(0)}.fpl-card{display:flex;flex-direction:column;align-items:center;gap:16px;background:var(--color-surface);border:.5px solid rgba(69,29,92,.15);border-radius:var(--radius-xl);padding:2rem 2.5rem;box-shadow:var(--shadow-lg);animation:fadeIn .3s ease-out}.fpl-ring{width:48px;height:48px;border-radius:50%;border:3px solid rgba(69,29,92,.15);border-top-color:var(--color-primary);border-right-color:var(--color-accent);animation:fpl-spin .85s linear infinite}@keyframes fpl-spin{to{transform:rotate(360deg)}}.fpl-dots{display:flex;gap:6px}.fpl-dot{width:6px;height:6px;border-radius:50%;background:var(--color-primary);animation:fpl-bounce 1.2s ease-in-out infinite}.fpl-dot:nth-child(2){animation-delay:.2s;background:var(--color-primary-lighter)}.fpl-dot:nth-child(3){animation-delay:.4s;background:var(--color-accent)}@keyframes fpl-bounce{0%,80%,to{transform:scale(.6);opacity:.4}40%{transform:scale(1);opacity:1}}.auth-page{position:relative;min-height:100vh;display:flex;align-items:center;justify-content:center;overflow:hidden;background:linear-gradient(135deg,#0f0a14,#1a1325,#251d33)}.auth-background{position:absolute;inset:0;overflow:hidden;z-index:0}.gradient-orb{position:absolute;border-radius:50%;filter:blur(120px);opacity:1;animation:float 14s ease-in-out infinite;will-change:transform}.orb-1{width:clamp(280px,40vw,500px);height:clamp(280px,40vw,500px);background:radial-gradient(circle,#451D5C 0%,transparent 90%);top:-20vh;left:-10vw}.orb-2{width:clamp(240px,30vw,400px);height:clamp(240px,30vw,400px);background:radial-gradient(circle,#E94560 0%,transparent 85%);bottom:-5vh;right:-10vw;animation-delay:7s}.orb-3{width:clamp(200px,25vw,350px);height:clamp(200px,25vw,350px);background:radial-gradient(circle,#2DD881 0%,transparent 80%);bottom:5vh;left:25vw;animation-delay:14s}.grid-pattern{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);background-size:65px 65px;opacity:.5;pointer-events:none}@keyframes float{0%,to{transform:translate(0) scale(1)}50%{transform:translate(40px,-40px) scale(1.05)}}.auth-container{position:relative;z-index:1;width:100%;max-width:1200px;margin:0 auto;padding:var(--spacing-xl);display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-3xl);align-items:center}.auth-form-container{animation:fadeIn .8s ease-out .3s both}.auth-form-wrapper{background:#fffffff2;backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.2);border-radius:var(--radius-xl);padding:var(--spacing-2xl);box-shadow:var(--shadow-xl)}.form-header{margin-bottom:var(--spacing-2xl)}.form-title{font-size:2.25rem;color:var(--color-primary-dark);margin-bottom:var(--spacing-sm)}.form-subtitle{color:var(--color-text-secondary);font-size:1rem}.auth-form{display:flex;flex-direction:column;gap:var(--spacing-lg)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-lg)}.form-group{display:flex;flex-direction:column;gap:var(--spacing-sm)}.form-label{font-weight:600;font-size:.875rem;color:var(--color-primary-dark);letter-spacing:.02em}.input-wrapper{position:relative;display:flex;align-items:center}.input-icon{position:absolute;left:var(--spacing-md);color:var(--color-text-muted);pointer-events:none}.form-err-container{display:flex;align-items:flex-start;line-height:1.3;margin-top:var(--spacing-xs)}.form-err-icon{color:var(--color-error);margin-right:.2rem;flex-shrink:0}.form-err-txt{color:var(--color-error);font-size:.9rem}.form-input,.form-select{width:100%;padding:.875rem var(--spacing-md) .875rem calc(var(--spacing-md) * 3);border:2px solid var(--color-border);border-radius:var(--radius-md);font-size:1rem;background:#fff;transition:all var(--transition-base)}.form-select{cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg width='12' height='8' viewBox='0 0 12 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1L6 6L11 1' stroke='%23666' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--spacing-md) center;padding-right:calc(var(--spacing-md) * 3)}.form-input:hover,.form-select:hover{border-color:var(--color-primary-light)}.form-input:focus,.form-select:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px #451d5c1a}.form-input:disabled,.form-select:disabled{background:var(--color-surface-alt);cursor:not-allowed}.form-select option{background-color:#fff;color:var(--color-primary-dark);font-family:inherit;font-size:1rem}.input-toggle{position:absolute;right:var(--spacing-md);padding:var(--spacing-sm);background:none;color:var(--color-text-muted);cursor:pointer;transition:color var(--transition-fast)}.input-toggle:hover{color:var(--color-primary)}.form-actions{display:flex;justify-content:flex-end;align-items:center}.form-checkbox{margin:var(--spacing-md) 0}.checkbox-label{display:flex;align-items:center;gap:var(--spacing-sm);font-size:.875rem;color:var(--color-text-secondary);cursor:pointer;user-select:none}.checkbox-label input[type=checkbox]{width:18px;height:18px;cursor:pointer;accent-color:var(--color-primary)}.link-text{font-size:.875rem;color:var(--color-primary);font-weight:500}.link-text:hover{color:var(--color-primary-light);text-decoration:underline}.link-primary{color:var(--color-primary);font-weight:600}.link-primary:hover{color:var(--color-primary-light);text-decoration:underline}.btn-primary{display:flex;align-items:center;justify-content:center;gap:var(--spacing-sm);padding:1rem var(--spacing-xl);background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-light) 100%);color:#fff;border:none;border-radius:var(--radius-md);font-weight:600;font-size:1rem;cursor:pointer;transition:all var(--transition-base);box-shadow:0 4px 16px #451d5c4d}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 8px 24px #451d5c66}.btn-primary:active{transform:translateY(0)}.btn-primary:disabled{opacity:.6;cursor:not-allowed;transform:none}.btn-full{width:100%}.form-footer{margin-top:var(--spacing-xl);padding-top:var(--spacing-xl);border-top:1px solid var(--color-border);text-align:center}.footer-text{font-size:.9375rem;color:var(--color-text-secondary)}@media(max-width:1024px){.auth-container{grid-template-columns:1fr;gap:var(--spacing-2xl)}.auth-branding{text-align:center}.branding-content{max-width:600px;margin:0 auto}.logo-mark{display:flex;justify-content:center}}@media(max-width:768px){.gradient-orb{filter:blur(70px)}.auth-container{padding:var(--spacing-lg);margin-top:var(--spacing-3xl)}.auth-form-wrapper{padding:var(--spacing-xl)}.brand-title{font-size:2.5rem}.form-title{font-size:1.875rem}.form-row{grid-template-columns:1fr}.features-list{align-items:center}}@media(max-width:1024px){.feature-card:hover{transform:none}}.auth-branding{color:#fff;animation:fadeIn .8s ease-out}.branding-content{max-width:500px}.logo-mark{margin-bottom:var(--spacing-xl);animation:slideInRight .6s ease-out}.logo-circle{width:80px;height:80px;border-radius:50%;background:linear-gradient(135deg,#451d5c,#e94560);padding:4px;display:flex;align-items:center;justify-content:center;animation:pulse 3s ease-in-out infinite}.logo-inner{width:100%;height:100%;border-radius:50%;background:#0f0a14cc;backdrop-filter:blur(10px);border:2px solid rgba(255,255,255,.1)}.brand-title{font-size:3.5rem;font-weight:900;line-height:1.1;margin-bottom:var(--spacing-md);animation:fadeIn .8s ease-out .2s both}.brand-text{display:block;color:#ffffffe6}.brand-highlight{display:block;background:linear-gradient(135deg,#e94560,#ff6b83);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.brand-tagline{font-size:1.125rem;color:#ffffffb3;margin-bottom:var(--spacing-2xl);line-height:1.7;animation:fadeIn .8s ease-out .4s both}.features-grid{display:flex;flex-direction:column;gap:.625rem;margin-top:var(--spacing-2xl);animation:fadeIn .8s ease-out .6s both}.feature-card{display:flex;justify-content:start;align-items:center;gap:.875rem;padding:1.65rem 1.2rem;background:#ffffff0a;border:1px solid rgba(255,255,255,.08);border-radius:var(--radius-lg);transition:background var(--transition-base),border-color var(--transition-base),transform var(--transition-fast)}.feature-card:hover{background:#451d5c38;border-color:#7a3d984d;transform:translate(4px)}.feature-card__icon{width:48px;height:48px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;flex-shrink:0}.feature-card__icon--purple{background:#7a3d9833;border:1px solid rgba(122,61,152,.3);color:#c084f5}.feature-card__icon--accent{background:#e945601f;border:1px solid rgba(233,69,96,.25);color:#ff6b83}.feature-card__icon--green{background:#2dd8811a;border:1px solid rgba(45,216,129,.22);color:#2dd881}.feature-card__icon--yellow{background:#ffb8001a;border:1px solid rgba(255,184,0,.22);color:var(--color-warning)}.feature-card__title{font-size:.9rem;font-weight:600;color:#ffffffe6;margin-bottom:.15rem;line-height:1.3;text-align:start}.feature-card__sub{font-size:.85rem;color:#ffffff6b;line-height:1.45;text-align:start}.db{display:flex;min-height:100vh;background:var(--color-background)}.db-main{flex:1;margin-left:var(--sidebar-width);display:flex;flex-direction:column;min-height:100vh}@media(max-width:1024px){.db-main{margin-left:0}}.db-sidebar{width:var(--sidebar-width);height:100vh;flex-shrink:0;background:var(--color-surface);border-right:1px solid var(--color-border);display:flex;flex-direction:column;position:fixed;inset:0 auto 0 0;z-index:200;transition:transform .28s cubic-bezier(.4,0,.2,1);overflow:hidden;will-change:transform}.db-sidebar__head{padding:1.375rem 1.375rem 1rem;border-bottom:1px solid var(--color-border);display:flex;align-items:center;justify-content:space-between}.db-logo{display:flex;align-items:center;gap:.625rem}.db-logo__mark{width:34px;height:34px;border-radius:9px;background:var(--color-primary);display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px #451d5c4d}.db-logo__dot{width:13px;height:13px;border-radius:50%;background:#fff}.db-logo__text{font-family:var(--font-display);font-size:1.3rem;font-weight:900;color:var(--color-primary);letter-spacing:-.02em}.db-sidebar__close{display:none;padding:.35rem;background:none;border:none;color:var(--color-text-secondary);cursor:pointer;border-radius:var(--radius-sm)}.db-sidebar__close:hover{background:var(--color-surface-alt)}.db-sidebar__status{padding:.625rem 1.375rem;border-bottom:1px solid var(--color-border)}.db-net{display:inline-flex;align-items:center;gap:.35rem;padding:.2rem .65rem;border-radius:var(--radius-full);font-size:.7rem;font-weight:700;letter-spacing:.03em}.db-net--on{background:#2dd8811a;color:#1a9c5b;border:1px solid rgba(45,216,129,.25)}.db-net--off{background:#ff47571a;color:var(--color-error);border:1px solid rgba(255,71,87,.2)}.db-nav{flex:1;padding:.75rem .875rem;display:flex;flex-direction:column;gap:.2rem;overflow-y:auto}.db-nav__item{position:relative;display:flex;align-items:center;gap:.65rem;padding:.7rem .875rem;border-radius:var(--radius-md);background:none;border:none;color:var(--color-text-secondary);font-size:.9rem;font-weight:500;cursor:pointer;width:100%;text-align:left;transition:all var(--transition-base)}.db-nav__item:hover{background:var(--color-surface-alt);color:var(--color-text)}.db-nav__item--active{background:#451d5c14;color:var(--color-primary);font-weight:600}.db-nav__item--active:hover{background:#451d5c1f}.db-nav__bar{position:absolute;left:0;top:50%;transform:translateY(-50%);width:3px;height:55%;border-radius:0 2px 2px 0;background:var(--color-primary)}.db-sidebar__foot{padding:.875rem 1.125rem;border-top:1px solid var(--color-border);display:flex;flex-direction:column;gap:.625rem}.db-user{display:flex;align-items:center;gap:.65rem;padding:.65rem .75rem;background:var(--color-surface-alt);border-radius:var(--radius-md)}.db-user__avatar{width:38px;height:38px;border-radius:50%;flex-shrink:0;background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-accent) 100%);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:.95rem}.db-user__info{flex:1;min-width:0}.db-user__name{font-size:.85rem;font-weight:600;color:var(--color-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.db-user__email{font-size:.72rem;color:var(--color-text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.db-user--clickable{border:none;width:100%;text-align:left;cursor:pointer;transition:background var(--transition-base)}.db-user--clickable:hover{background:var(--color-border)}.db-logout{display:flex;align-items:center;justify-content:center;gap:.45rem;width:100%;padding:.55rem;background:none;border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-secondary);font-size:.85rem;font-weight:500;cursor:pointer;transition:all var(--transition-base)}.db-logout:hover{background:#ff475714;border-color:var(--color-error);color:var(--color-error)}.db-backdrop{display:none;position:fixed;inset:0;background:#00000073;z-index:150;backdrop-filter:blur(2px);transition:opacity .2s ease}.db-topbar{position:sticky;top:0;z-index:100;display:flex;align-items:center;gap:1.25rem;padding:1.125rem 1.875rem;background:#fafafaeb;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--color-border);animation:fadeIn .5s ease-out}.db-topbar__ham{display:none;padding:.35rem;background:none;border:none;color:var(--color-text);cursor:pointer;border-radius:var(--radius-sm);flex-shrink:0}.db-topbar__greet{flex:1;min-width:0}.db-topbar__greet h1{font-family:var(--font-display);font-size:1.45rem;font-weight:700;color:var(--color-text);line-height:1.2;margin-bottom:.1rem;align-items:center;gap:.25rem;flex-wrap:nowrap}.db-topbar__name{color:var(--color-primary);max-width:120px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.db-topbar__greet p{font-size:.85rem;color:var(--color-text-muted);margin:0}.db-search{display:flex;align-items:center;gap:.45rem;padding:.5rem .9rem;background:var(--color-surface);border:1.5px solid var(--color-border);border-radius:var(--radius-full);flex:0 1 260px;max-width:320px;transition:all var(--transition-slow)}.db-search:focus-within{transform:scaleX(1.02);border-color:var(--color-primary);box-shadow:0 0 0 3px #451d5c14}.db-search svg{color:var(--color-text-muted);flex-shrink:0}.db-search input{border:none;background:none;font-size:.875rem;color:var(--color-text);width:100%}.db-search input::placeholder{color:var(--color-text-muted)}.db-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.875rem;padding:1.125rem 1.875rem;background:var(--color-surface);border-bottom:1px solid var(--color-border);animation:fadeIn .5s ease-out .1s both}.db-stat{display:flex;align-items:center;gap:.7rem;min-width:0;padding:.875rem 1.125rem;background:var(--color-background);border:1px solid var(--color-border);border-radius:var(--radius-lg);transition:all var(--transition-base)}.db-stat:hover{border-color:var(--color-primary);transform:translateY(-2px);box-shadow:var(--shadow-sm)}.db-stat__icon{width:38px;height:38px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;flex-shrink:0}.db-stat__icon--primary{background:#451d5c1a;color:var(--color-primary)}.db-stat__icon--success{background:#2dd8811a;color:#1a9c5b}.db-stat__icon--accent{background:#e945601a;color:var(--color-accent)}.db-stat__icon--warning{background:#ffb8001a;color:#b37f00}.db-stat__val{font-family:var(--font-display);font-size:1.45rem;font-weight:700;color:var(--color-text);line-height:1;margin-bottom:.1rem}.db-stat__label{font-size:.72rem;color:var(--color-text-muted);font-weight:500}@media(max-width:1024px){.db-sidebar{width:min(85%,320px);transform:translate(-100%);box-shadow:var(--shadow-xl)}.db-sidebar--open{transform:translate(0)}.db-sidebar__close{display:flex;align-items:center;justify-content:center}.db-sidebar__close:active{transform:scale(.95)}.db-backdrop{display:block}.db-topbar__ham{display:flex}.db-topbar{padding:1rem 1.25rem}}@media(max-width:768px){.db-topbar{flex-wrap:wrap;gap:.625rem}.db-nav__item{padding:.9rem 1rem}.db-topbar__ham{order:1}.db-topbar__greet{order:2;min-width:40%}.db-search{order:3;min-width:45%}}@media(max-width:480px){.db-topbar{padding:.75rem 1rem}.db-topbar__greet{min-width:35%}.db-topbar__greet h1{font-size:1.2rem}.db-topbar__greet p{font-size:.75rem}.db-search{min-width:95%}.db-stat{padding:.75rem .9rem}.db-stat__val{font-size:1.2rem}.db-stat__label{font-size:.7rem}}.pf-overlay{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);background:#fafafa8c}.pf-card{width:min(420px,calc(100vw - 2rem));background:var(--color-surface);border:1px solid rgba(69,29,92,.12);border-radius:var(--radius-xl);padding:1.5rem;box-shadow:var(--shadow-lg);animation:pf-pop .2s ease}.pf-avatar{width:52px;height:52px;border-radius:50%;background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-accent) 100%);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1.1rem;margin-bottom:1rem}.pf-title{margin:0;font-size:1rem;font-weight:700;color:var(--color-text)}.pf-subtitle{margin:.35rem 0 1.25rem;font-size:.8rem;color:var(--color-text-muted)}.pf-field{display:flex;flex-direction:column;gap:.4rem;margin-bottom:1rem}.pf-field label{font-size:.78rem;font-weight:600;color:var(--color-text-secondary)}.pf-field input{padding:.65rem .85rem;border:2px solid var(--color-border);border-radius:var(--radius-md);font-size:.875rem;color:var(--color-text);background:var(--color-background);transition:border-color var(--transition-base)}.pf-field input:focus{outline:none;border-color:var(--color-primary)}.pf-field--readonly .pf-readonly-val{font-size:.875rem;color:var(--color-text-muted);padding:.65rem .85rem;background:var(--color-surface-alt);border-radius:var(--radius-md)}.pf-actions{display:flex;justify-content:flex-end;gap:.75rem;margin-top:.5rem}.pf-btn{padding:.65rem 1rem;border-radius:var(--radius-md);font-size:.875rem;font-weight:600;cursor:pointer;transition:all var(--transition-base)}.pf-btn--secondary{background:transparent;border:1px solid var(--color-border);color:var(--color-text-secondary)}.pf-btn--secondary:hover{background:var(--color-surface-alt)}.pf-btn--primary{border:none;background:var(--color-primary);color:#fff}.pf-btn--primary:hover:not(:disabled){background:var(--color-primary-light)}.pf-btn--primary:disabled{opacity:.6;cursor:not-allowed}.pf-location{display:flex;align-items:center;gap:.7rem;padding:.75rem .85rem;background:var(--color-surface-alt);border-radius:var(--radius-md);margin-bottom:1rem}.pf-location__icon{width:32px;height:32px;border-radius:50%;background:#451d5c1a;color:var(--color-primary);display:flex;align-items:center;justify-content:center;flex-shrink:0}.pf-location__info{flex:1;min-width:0;display:flex;flex-direction:column}.pf-location__place{font-size:.85rem;font-weight:600;color:var(--color-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pf-location__block{font-size:.72rem;color:var(--color-text-muted)}.pf-location__badge{display:flex;align-items:center;gap:.25rem;font-size:.65rem;font-weight:700;color:#1a9c5b;background:#2dd8811f;padding:.2rem .5rem;border-radius:var(--radius-full);flex-shrink:0}@keyframes pf-pop{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}.pf-security-row{display:flex;align-items:center;justify-content:space-between;padding:.75rem .85rem;margin-bottom:1rem;background:var(--color-surface-alt);border-radius:var(--radius-md);cursor:pointer;transition:background var(--transition-base),transform var(--transition-base)}.pf-security-row:hover{background:#451d5c14}.pf-security-row:active{transform:scale(.99)}.pf-security__left{display:flex;align-items:center;gap:.7rem}.pf-security__icon{width:32px;height:32px;border-radius:50%;background:#451d5c1a;color:var(--color-primary);display:flex;align-items:center;justify-content:center}.pf-security__title{font-size:.85rem;font-weight:600;color:var(--color-text)}.pf-security__arrow{color:var(--color-text-muted);transition:transform var(--transition-base)}.pf-security-row:hover .pf-security__arrow{transform:translate(2px,-2px)}.cp-overlay{position:fixed;inset:0;z-index:10000;display:flex;align-items:center;justify-content:center;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);background:#fafafa8c}.cp-card{width:min(420px,calc(100vw - 2rem));background:var(--color-surface);border:1px solid rgba(69,29,92,.12);border-radius:var(--radius-xl);padding:1.5rem;box-shadow:var(--shadow-lg);animation:cp-pop .2s ease;position:relative}.cp-close{position:absolute;top:1rem;right:1rem;width:32px;height:32px;border-radius:50%;border:none;background:var(--color-surface-alt);color:var(--color-text-muted);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all var(--transition-base)}.cp-close:hover{background:#451d5c1a;color:var(--color-primary)}.cp-avatar{width:52px;height:52px;border-radius:50%;background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-accent) 100%);color:#fff;display:flex;align-items:center;justify-content:center;margin-bottom:1rem}.cp-title{margin:0;font-size:1rem;font-weight:700;color:var(--color-text)}.cp-subtitle{margin:.35rem 0 1.25rem;font-size:.8rem;color:var(--color-text-muted)}.cp-form{display:flex;flex-direction:column}.cp-field{display:flex;flex-direction:column;gap:.4rem;margin-bottom:1rem}.cp-field label{font-size:.78rem;font-weight:600;color:var(--color-text-secondary)}.cp-input-wrapper{display:flex;align-items:center;gap:.6rem;padding:0 .85rem;border:2px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-background);transition:border-color var(--transition-base)}.cp-input-wrapper:focus-within{border-color:var(--color-primary)}.cp-input-wrapper svg{color:var(--color-text-muted);flex-shrink:0}.cp-input-wrapper input{flex:1;border:none;outline:none;padding:.65rem 0;font-size:.875rem;background:transparent;color:var(--color-text)}.cp-input-wrapper button{border:none;background:transparent;color:var(--color-text-muted);display:flex;cursor:pointer}.cp-input-wrapper button:hover{color:var(--color-primary)}.cp-error{display:flex;align-items:center;gap:.35rem;color:#dc2626;font-size:.75rem;margin-top:.2rem}.cp-actions{display:flex;justify-content:flex-end;gap:.75rem;margin-top:.5rem}.cp-btn{padding:.65rem 1rem;border-radius:var(--radius-md);font-size:.875rem;font-weight:600;cursor:pointer;transition:all var(--transition-base)}.cp-btn--secondary{background:transparent;border:1px solid var(--color-border);color:var(--color-text-secondary)}.cp-btn--secondary:hover{background:var(--color-surface-alt)}.cp-btn--primary{border:none;background:var(--color-primary);color:#fff}.cp-btn--primary:hover:not(:disabled){background:var(--color-primary-light)}.cp-btn--primary:disabled{opacity:.6;cursor:not-allowed}@keyframes cp-pop{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}.cc{max-width:400px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden;cursor:pointer;display:flex;flex-direction:column;transition:all .26s cubic-bezier(.4,0,.2,1)}.cc:hover{transform:translateY(-5px);box-shadow:var(--shadow-lg);border-color:var(--color-primary-light)}.cc:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.cc__thumb{position:relative;width:100%;padding-top:54%;background:linear-gradient(135deg,var(--color-primary-dark),var(--color-primary));overflow:hidden;flex-shrink:0}.cc__thumb img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .38s ease}.cc:hover .cc__thumb img{transform:scale(1.04)}.cc__thumb-fallback{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#ffffff59}.cc__thumb-scrim{position:absolute;inset:0;background:linear-gradient(to bottom,transparent 38%,rgba(10,4,16,.55) 100%)}.cc__level{position:absolute;top:.7rem;left:.7rem;padding:.18rem .55rem;border-radius:var(--radius-full);font-size:.65rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.cc__level--beginner{background:#2dd881e6;color:#fff}.cc__level--intermediate{background:#ffb800e6;color:#1a1200}.cc__level--advanced{background:#e94560e6;color:#fff}.cc__pip{position:absolute;display:inline-flex;align-items:center;gap:.25rem;padding:.18rem .5rem;border-radius:var(--radius-full);font-size:.65rem;font-weight:700;letter-spacing:.02em;backdrop-filter:blur(8px)}.cc__pip--offline{top:.7rem;right:.7rem;background:#0a0410a6;color:#ffffffe6}.cc__pip--assigned{bottom:.7rem;left:.7rem;background:var(--color-primary);color:#fff}.cc__body{padding:1rem 1.125rem;display:flex;flex-direction:column;flex:1}.cc__row{display:flex;align-items:center;justify-content:space-between;margin-bottom:.45rem}.cc__cat{font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--color-primary)}.cc__rating{display:flex;align-items:center;gap:.25rem;font-size:.72rem;font-weight:700;color:#b37f00}.cc__title{font-family:var(--font-display);font-size:.975rem;font-weight:700;color:var(--color-text);line-height:1.35;margin-bottom:.45rem;line-clamp:2;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.cc__instructor{font-size:.75rem;color:var(--color-text-muted);margin:-.15rem 0 .6rem;line-height:1.4;font-weight:500}.cc__instructor:before{content:"by ";opacity:.7}.cc__desc{font-size:.8rem;color:var(--color-text-secondary);line-height:1.6;margin-bottom:.8rem;flex:1;line-clamp:2;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.cc__meta{display:flex;flex-wrap:wrap;gap:.6rem;margin-bottom:.8rem;padding-top:.75rem;border-top:1px solid var(--color-border)}.cc__meta span{display:flex;align-items:center;gap:.28rem;font-size:.72rem;color:var(--color-text-muted)}.cc__meta svg{color:var(--color-primary);opacity:.7}.cc__prog{margin-bottom:.8rem}.cc__prog-row{display:flex;justify-content:space-between;font-size:.72rem;font-weight:600;color:var(--color-text-secondary);margin-bottom:.35rem}.cc__prog-pct{color:var(--color-primary)}.cc__prog-track{height:5px;background:var(--color-surface-alt);border-radius:var(--radius-full);overflow:hidden}.cc__prog-fill{height:100%;background:linear-gradient(90deg,var(--color-primary),var(--color-accent));border-radius:var(--radius-full);transition:width var(--transition-slow)}.cc__cta{display:flex;align-items:center;justify-content:center;gap:.35rem;width:100%;padding:.6rem;background:var(--color-primary);color:#fff;border:none;border-radius:var(--radius-md);font-size:.85rem;font-weight:600;cursor:pointer;margin-top:auto;transition:all var(--transition-base)}.cc__cta:hover{background:var(--color-primary-light);transform:translateY(-1px)}.cc__cta--outline{background:none;border:1.5px solid var(--color-primary);color:var(--color-primary)}.cc__cta--outline:hover{background:var(--color-primary);color:#fff}.sh{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:1.125rem}.sh__left{display:flex;align-items:center;gap:.75rem}.sh__icon{width:38px;height:38px;border-radius:var(--radius-md);background:var(--color-primary);display:flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0}.sh__title{font-family:var(--font-display);font-size:1.3rem;font-weight:700;color:var(--color-text);margin:0}.sh__sub{font-size:.78rem;color:var(--color-text-muted);margin:.125rem 0 0}.sh__action{display:flex;align-items:center}.db-body{padding:1.875rem;display:flex;flex-direction:column;gap:2.75rem}.db-section{animation:fadeIn .5s ease-out both}.db-section:nth-child(1){animation-delay:.1s}.db-section:nth-child(2){animation-delay:.2s}.db-section:nth-child(3){animation-delay:.3s}.db-grid{display:grid;gap:1.125rem;justify-content:center}.db-grid--2{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.db-grid--4{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}@media(max-width:1024px){.db-body{padding:1.25rem;gap:2rem}}@media(max-width:768px){.sh{flex-direction:column;align-items:flex-start;gap:.625rem}}.fpl-overlay{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);background:#fafafa8c}.fpe-card{display:flex;flex-direction:column;align-items:center;gap:16px;background:var(--color-surface);border:.5px solid rgba(69,29,92,.15);border-radius:var(--radius-xl);padding:2rem 2.5rem;box-shadow:var(--shadow-lg);animation:fpe-pop .4s cubic-bezier(.175,.885,.32,1.275)}.fpe-icon-circle{width:48px;height:48px;border-radius:50%;background:#ef44441a;display:flex;align-items:center;justify-content:center;margin-bottom:4px}.fpe-icon{color:#ef4444}.fpl-message{font-size:.9375rem;font-weight:500;color:var(--color-primary);margin:0}.fpl-sub{font-size:.8125rem;color:var(--color-text-muted);margin:-8px 0 0}.fpe-retry-btn{padding:.6rem 1.2rem;border-radius:var(--radius-lg);border:none;background:var(--color-primary);color:#fff;font-size:.875rem;font-weight:600;cursor:pointer;transition:transform .1s ease,opacity .2s ease}.fpe-retry-btn:hover{opacity:.9;transform:translateY(-1px)}.fpe-retry-btn:active{transform:translateY(0)}@keyframes fpe-pop{0%{transform:scale(.9);opacity:0}to{transform:scale(1);opacity:1}}.cd-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;gap:1rem;color:var(--color-text-secondary)}.cd{min-height:100vh;background:var(--color-background)}.cd-hero{position:relative;padding:3rem 2rem 2.5rem;overflow:hidden}.cd-hero__bg{position:absolute;inset:0;background-size:cover;background-position:center;filter:blur(2px) brightness(.28) saturate(.5);transform:scale(1.04)}.cd-hero__veil{position:absolute;inset:0;background:linear-gradient(135deg,#1c0725f7,#451d5ce6 55%,#e9456033)}.cd-hero__inner{position:relative;z-index:1;max-width:1320px;margin:0 auto}.cd-back{display:inline-flex;align-items:center;gap:.35rem;padding:.55rem 1rem .55rem .65rem;background:#ffffff1a;border:1px solid rgba(255,255,255,.15);border-radius:var(--radius-full);color:#ffffffd1;font-size:.85rem;font-weight:500;cursor:pointer;margin-bottom:1.625rem;backdrop-filter:blur(8px);transition:all var(--transition-base)}.cd-back:hover{background:#ffffff2e;color:#fff}.cd-chips{display:flex;flex-wrap:wrap;gap:.45rem;margin-bottom:.875rem}.cd-chip{display:inline-flex;align-items:center;gap:.25rem;padding:.18rem .6rem;border-radius:var(--radius-full);font-size:.65rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.cd-chip--cat{background:#e9456038;color:#ff9bae;border:1px solid rgba(233,69,96,.3)}.cd-chip--lvl{background:#ffffff1a;color:#ffffffd1;border:1px solid rgba(255,255,255,.15)}.cd-chip--off{background:#2dd8812e;color:#7fffca;border:1px solid rgba(45,216,129,.3)}.cd-hero__title{font-family:var(--font-display);font-size:2.2rem;font-weight:900;color:#fff;line-height:1.15;margin-bottom:.9rem;letter-spacing:-.02em}.cd-hero__desc{font-size:.975rem;color:#ffffffb8;line-height:1.72;margin-bottom:1.375rem;max-width:85%}.cd-hero__stats{display:flex;flex-wrap:wrap;align-items:center;gap:.45rem;margin-bottom:1.375rem;font-size:.85rem;color:#ffffffc7}.cd-hero__stats span{display:flex;align-items:center;gap:.35rem}.cd-hero__stats svg{opacity:.72}.cdot{width:3px;height:3px;background:#ffffff4d;border-radius:50%}.cd-instructor{display:flex;align-items:center;gap:.7rem}.cd-instructor__av{width:40px;height:40px;border-radius:50%;flex-shrink:0;background:linear-gradient(135deg,var(--color-accent),#ff9bae);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:1rem}.cd-instructor__name{font-size:.9375rem;font-weight:600;color:#fff}.cd-instructor__title{font-size:.8rem;color:#ffffff94}.cd-body{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,380px);gap:2rem;padding:2rem;max-width:1320px;margin:0 auto;align-items:start}.cd-left{display:flex;flex-direction:column;gap:1.375rem;min-width:0}.cd-prog{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:1.25rem 1.375rem;border-left:4px solid var(--color-primary)}.cd-prog__row{display:flex;justify-content:space-between;align-items:center;margin-bottom:.55rem}.cd-prog__lbl{font-size:.875rem;font-weight:600;color:var(--color-text-secondary)}.cd-prog__pct{font-size:1rem;font-weight:700;color:var(--color-primary)}.cd-prog__track{height:8px;background:var(--color-surface-alt);border-radius:var(--radius-full);overflow:hidden;margin-bottom:.55rem}.cd-prog__fill{height:100%;background:linear-gradient(90deg,var(--color-primary),var(--color-accent));border-radius:var(--radius-full);transition:width .7s cubic-bezier(.4,0,.2,1)}.cd-prog__detail{font-size:.78rem;color:var(--color-text-muted);margin-bottom:.875rem}.cd-continue{display:flex;align-items:center;gap:.45rem;width:100%;padding:.7rem 1rem;background:var(--color-primary);color:#fff;border:none;border-radius:var(--radius-md);font-size:.875rem;font-weight:600;cursor:pointer;transition:all var(--transition-base);white-space:nowrap;text-overflow:ellipsis}.cd-continue:hover{background:var(--color-primary-light);transform:translateY(-1px);box-shadow:var(--shadow-md)}.cd-mods{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden}.cd-mods__head{display:flex;align-items:center;justify-content:space-between;padding:1.125rem 1.375rem;border-bottom:1px solid var(--color-border)}.cd-mods__title{font-family:var(--font-display);font-size:1.2rem;font-weight:700;color:var(--color-text);margin:0}.cd-mods__ctrls{display:flex;align-items:center;gap:.35rem;font-size:.78rem;color:var(--color-text-muted)}.cd-mods__ctrl{background:none;border:none;color:var(--color-primary);font-size:.78rem;font-weight:600;cursor:pointer;padding:0;transition:color var(--transition-fast)}.cd-mods__ctrl:hover{color:var(--color-primary-light)}.cd-mods__list{display:flex;flex-direction:column}.mod{border-bottom:1px solid var(--color-border);transition:background .2s ease}.mod--open{background:#451d5c08}.mod:last-child{border-bottom:none}.mod__head{display:flex;align-items:center;justify-content:space-between;gap:.875rem;padding:1.05rem 1.375rem;background:none;border:none;width:100%;cursor:pointer;text-align:left;transition:background var(--transition-fast)}.mod__head:hover{background:#451d5c08}.mod--open .mod__head{background:#451d5c0d;border-bottom:1px solid var(--color-border)}.mod__left{display:flex;align-items:center;gap:.875rem;flex:1;min-width:0}.mod__num{width:30px;height:30px;border-radius:50%;flex-shrink:0;background:var(--color-surface-alt);border:1.5px solid var(--color-border);display:flex;align-items:center;justify-content:center;font-size:.8rem;font-weight:700;color:var(--color-text-secondary)}.mod__num--done{background:#2dd8811a;border-color:#2dd88166;color:#1a9c5b}.mod__info{flex:1;min-width:0}.mod__title{display:block;font-size:.9375rem;font-weight:600;color:var(--color-text);margin-bottom:.15rem;line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mod__meta{display:flex;align-items:center;gap:.35rem;font-size:.72rem;color:var(--color-text-muted)}.dot{width:3px;height:3px;background:var(--color-text-muted);opacity:.5;border-radius:50%;flex-shrink:0}.mod__done-txt{color:var(--color-primary);font-weight:600}.mod__right{display:flex;align-items:center;gap:.65rem;flex-shrink:0}.mod__mini{width:56px;height:4px;background:var(--color-surface-alt);border-radius:var(--radius-full);overflow:hidden;border:1px solid var(--color-border)}.mod__mini-fill{height:100%;background:linear-gradient(90deg,var(--color-primary),var(--color-accent));border-radius:var(--radius-full);transition:width .5s ease}.mod__chevron{color:var(--color-text-muted);transition:transform .25s ease;flex-shrink:0}.mod__chevron--open{transform:rotate(180deg)}.mod__body{padding:.7rem 1.375rem 1.125rem;background:var(--color-background);display:flex;flex-direction:column;gap:.35rem;animation:fadeIn .18s ease-out}.mod__desc{font-size:.78rem;color:var(--color-text-muted);line-height:1.65;margin-bottom:.75rem;padding-left:.2rem}.unit{display:flex;align-items:center;padding:.7rem .9rem;gap:.9rem;border-radius:var(--radius-md);cursor:pointer;background:var(--color-surface);border:1px solid transparent;transition:all .18s ease}.unit:hover:not(.unit--locked){background:#451d5c0a;border-color:var(--color-border);transform:translate(3px)}.unit--done{opacity:.72}.unit--done:hover{opacity:1}.unit--locked{cursor:default;opacity:.5}.unit__icon{width:30px;height:30px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;flex-shrink:0}.unit__icon--video{background:#451d5c1a;color:var(--color-primary)}.unit__icon--pdf{background:#ffb8001a;color:#b37f00}.unit__icon--quiz{background:#e945601a;color:var(--color-accent)}.unit__info{flex:1;min-width:0}.unit__title{font-size:.85rem;font-weight:500;color:var(--color-text);display:block;margin-bottom:.1rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.unit__meta{display:flex;align-items:center;gap:.45rem;font-size:.7rem;color:var(--color-text-muted)}.unit__type{text-transform:capitalize;font-weight:500}.unit__free{background:#2dd88121;color:#1a9c5b;border:1px solid rgba(45,216,129,.3);padding:.08rem .38rem;border-radius:var(--radius-full);font-size:.63rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.unit__status{flex-shrink:0}.unit__check{color:#1a9c5b}.unit__lock,.unit__arrow{color:var(--color-text-muted)}.unit:hover:not(.unit--locked) .unit__arrow{color:var(--color-primary)}.unit__dl{display:flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:var(--radius-sm);background:none;border:1px solid var(--color-border);color:var(--color-text-muted);cursor:pointer;flex-shrink:0;transition:all var(--transition-base);margin-right:.25rem}.unit__dl:hover:not(:disabled){border-color:var(--color-primary);color:var(--color-primary);background:#451d5c0f}.unit__dl:disabled{cursor:default;opacity:.85}.unit__dl--done{color:#1a9c5b}.unit__dl--downloading{border:none;font-size:.72rem}.unit__download-progress{margin-top:.45rem;display:flex;flex-direction:column;gap:.3rem}.unit__download-track{width:100%;height:4px;overflow:hidden;border-radius:var(--radius-full);background:var(--color-surface-alt)}.unit__download-fill{height:100%;border-radius:var(--radius-full);background:linear-gradient(90deg,var(--color-primary),var(--color-accent));transition:width .25s ease}.unit__download-text{font-size:.7rem;font-weight:600;color:var(--color-primary)}.cd-panel{position:sticky;top:1.5rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);overflow:hidden;box-shadow:var(--shadow-lg)}.cd-panel__thumb{position:relative;width:100%;padding-top:56.25%;background:var(--color-primary-dark);overflow:hidden}.cd-panel__thumb img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.cd-panel__play{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#00000052;cursor:pointer;transition:background var(--transition-base)}.cd-panel__thumb:hover .cd-panel__play{background:#451d5c85}.cd-panel__body{padding:1.125rem;display:flex;flex-direction:column;gap:.7rem}.cd-panel__enrolled{display:inline-flex;align-items:center;gap:.35rem;padding:.3rem .7rem;background:#2dd8811a;color:#1a9c5b;border:1px solid rgba(45,216,129,.25);border-radius:var(--radius-full);font-size:.78rem;font-weight:700;width:fit-content}.cd-panel__primary{display:flex;align-items:center;justify-content:center;gap:.45rem;width:100%;padding:.825rem;background:linear-gradient(135deg,var(--color-primary),#5D2879);color:#fff;border:none;border-radius:var(--radius-md);font-size:.925rem;font-weight:700;cursor:pointer;box-shadow:0 4px 14px #451d5c52;transition:all var(--transition-base)}.cd-panel__primary:hover{transform:translateY(-2px);box-shadow:0 8px 20px #451d5c61}.cd-panel__secondary{display:flex;align-items:center;justify-content:center;gap:.45rem;width:100%;padding:.7rem;background:none;border:1.5px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-secondary);font-size:.85rem;font-weight:600;cursor:pointer;transition:all var(--transition-base)}.cd-panel__secondary:hover:not(:disabled){border-color:var(--color-primary);color:var(--color-primary);background:#451d5c0a}.cd-panel__secondary:disabled{opacity:.6;cursor:not-allowed}.cd-panel__off-note{display:flex;align-items:center;gap:.45rem;padding:.575rem .8rem;background:var(--color-surface-alt);border-radius:var(--radius-md);font-size:.78rem;color:var(--color-text-muted)}.cd-panel__facts{display:flex;flex-direction:column;gap:.55rem;padding:.875rem 0;border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border)}.cd-panel__fact{display:flex;align-items:center;gap:.55rem;font-size:.78rem;color:var(--color-text-secondary)}.cd-panel__fact svg{color:var(--color-primary);opacity:.7;flex-shrink:0}.cd-panel__updated{font-size:.7rem;color:var(--color-text-muted);text-align:center}@media(max-width:1024px){.cd-body{grid-template-columns:1fr;padding:1.25rem;gap:1.25rem}.cd-panel{position:static;max-width:100%;order:-1}.cd-hero{padding:2.5rem 1.5rem}.cd-hero__title{font-size:2rem}}@media(max-width:768px){.cd-hero{padding:2rem 1.25rem}.cd-hero__title{font-size:1.75rem}.cd-hero__desc{max-width:100%;font-size:.9375rem}.cd-hero__stats{gap:.75rem;font-size:.8rem}.cd-hero__stats .cdot{display:none}.cd-hero__stats span{background:#ffffff1a;padding:.2rem .5rem;border-radius:4px}.cd-body{padding:1rem;gap:1.25rem}.mod__body{padding:.625rem 1rem 1rem}.mod__head{padding:.9rem 1rem}.mod__title{font-size:.875rem}.mod__num{width:26px;height:26px;font-size:.75rem}.cd-mods__head{padding:1rem}.cd-panel{max-height:none}.unit{padding:.75rem}.unit__title{font-size:.8rem}.cd-hero__inner{max-width:100%}}@media(max-width:480px){.cd-hero{padding:1.5rem 1rem}.cd-hero__title{font-size:1.5rem;line-height:1.2}.cd-hero__desc{font-size:.875rem;line-height:1.5;margin-bottom:1rem}.cd-chips{margin-bottom:1.25rem}.cd-back{width:100%;justify-content:center;margin-bottom:1.25rem}.cd-prog{padding:1rem}.cd-mods__head{flex-direction:column;align-items:flex-start;gap:.5rem}.cd-mods__ctrls{width:100%;justify-content:flex-start}.mod__meta{flex-wrap:wrap;row-gap:.2rem}.mod__mini{display:none}}.vp{position:relative;width:100%;height:100%;background:#000;overflow:hidden;isolation:isolate}.vp--controls{cursor:default}.vp__video-layer{position:absolute;inset:0;display:flex;justify-content:center;z-index:1}.vp__video{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain}.vp__play-overlay{position:absolute;top:0;left:0;right:0;bottom:5rem;z-index:5;display:flex;align-items:center;justify-content:center;cursor:pointer;pointer-events:all}.vp__play-btn{width:70px;height:70px;border-radius:50%;background:#451d5cd9;display:flex;align-items:center;justify-content:center;margin-top:5rem;border:2px solid rgba(255,255,255,.25);box-shadow:0 8px 32px #00000080;transition:all var(--transition-base)}.vp__play-overlay:hover .vp__play-btn{background:var(--color-primary);transform:scale(1.08);box-shadow:0 12px 40px #451d5c99}.vp-controls{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-end;background:none;padding:1.5rem 1.25rem .875rem;opacity:0;pointer-events:none;transition:opacity .3s ease;z-index:10}.vp-controls--visible{opacity:1}.vp-progress{position:relative;height:5px;background:#ffffff2e;border-radius:var(--radius-full);margin-bottom:.875rem;cursor:pointer;transition:height .25s ease}.vp-progress:hover{height:7px}.vp-progress:hover .vp-progress__fill{background:var(--color-primary-lighter)}.vp-progress__buffered{position:absolute;inset:0 auto 0 0;background:#ffffff40;border-radius:var(--radius-full);pointer-events:none}.vp-progress__fill{position:absolute;inset:0 auto 0 0;background:var(--color-accent);border-radius:var(--radius-full);pointer-events:none;transition:width .1s linear}.vp-progress__fill:after{content:"";position:absolute;right:-5px;top:50%;width:12px;height:12px;background:#fff;border-radius:50%;transform:translateY(-50%);box-shadow:0 2px 6px #0006;opacity:0;transition:opacity var(--transition-fast)}.vp-progress:hover .vp-progress__fill:after{opacity:1}.vp-progress__slider{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer;-webkit-appearance:none;appearance:none;background:transparent}.vp-progress__slider::-webkit-slider-thumb{-webkit-appearance:none;width:18px;height:18px;background:#fff;border-radius:50%;cursor:pointer}.vp-progress__slider::-moz-range-thumb{width:18px;height:18px;background:#fff;border-radius:50%;cursor:pointer;border:none}.vp-ctrl-bar{display:flex;align-items:center;justify-content:space-between;gap:1rem}.vp-ctrl-left,.vp-ctrl-right{display:flex;align-items:center;gap:.5rem}.vp-ctrl-btn{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:none;border:none;color:#ffffffd9;cursor:pointer;border-radius:var(--radius-md);transition:all var(--transition-fast);flex-shrink:0}.vp-ctrl-btn:hover{color:#fff;background:#ffffff1a;transform:scale(1.1)}.vp-ctrl-btn:disabled{opacity:.3;cursor:not-allowed;transform:none}.vp-ctrl-btn--play{width:42px;height:42px}.vp-ctrl-volume{display:flex;align-items:center;gap:.25rem}.vp-volume-slider{width:72px;height:4px;-webkit-appearance:none;appearance:none;background:#fff3;border-radius:var(--radius-full);cursor:pointer;outline:none}.vp-volume-slider::-webkit-slider-thumb{-webkit-appearance:none;width:12px;height:12px;background:#fff;border-radius:50%;cursor:pointer}.vp-volume-slider::-moz-range-thumb{width:12px;height:12px;background:#fff;border-radius:50%;cursor:pointer;border:none}.vp-time{font-size:.8rem;font-weight:600;color:#fffc;min-width:90px;white-space:nowrap}.vp-progress,.vp-ctrl-bar{pointer-events:all}@media(max-width:768px){.vp-ctrl-volume{display:none}.vp-time{min-width:auto}.vp-ctrl-bar{gap:.5rem}}.ms{display:flex;flex-direction:column;overflow-y:auto;width:340px;background:var(--color-surface);border-left:1px solid var(--color-border);transition:width .5s cubic-bezier(.4,0,.2,1)}.ms__head{padding:1.125rem 1.25rem .875rem;border-bottom:1px solid var(--color-border);background:var(--color-surface);position:relative}.ms__course-title{font-family:var(--font-display);font-size:.95rem;font-weight:700;color:var(--color-text);line-height:1.3;margin-bottom:.625rem;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.ms__prog-row{display:flex;align-items:center;gap:.625rem}.ms__prog-track{flex:1;height:5px;background:var(--color-surface-alt);border-radius:var(--radius-full);overflow:hidden}.ms__prog-fill{height:100%;background:linear-gradient(90deg,var(--color-primary),var(--color-accent));border-radius:var(--radius-full);transition:width .6s ease}.ms__prog-txt{font-size:.72rem;font-weight:700;color:var(--color-primary);white-space:nowrap}.ms__modules{flex:1;overflow-y:auto;padding:.5rem 0}.ms__mobile-heading{display:none}.ms-mod{border-bottom:1px solid var(--color-border)}.ms-mod:last-child{border-bottom:none}.ms-mod__head{display:flex;align-items:center;justify-content:space-between;gap:.625rem;padding:.8rem 1.125rem;background:none;border:none;width:100%;cursor:pointer;text-align:left;transition:background var(--transition-fast)}.ms-mod__head:hover{background:#451d5c0a}.ms-mod--open .ms-mod__head{background:#451d5c0f}.ms-mod__head-left{display:flex;align-items:center;gap:.625rem;flex:1;min-width:0}.ms-mod__num{width:26px;height:26px;border-radius:50%;flex-shrink:0;background:var(--color-surface-alt);border:1.5px solid var(--color-border);display:flex;align-items:center;justify-content:center;font-size:.72rem;font-weight:700;color:var(--color-text-secondary)}.ms-mod__num--done{background:#2dd8811a;border-color:#2dd88166;color:#1a9c5b}.ms-mod__info{flex:1;min-width:0}.ms-mod__title{display:block;font-size:.85rem;font-weight:600;color:var(--color-text);margin-bottom:.1rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ms-mod__meta{font-size:.68rem;color:var(--color-text-muted)}.ms-mod__head-right{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.ms-mod__head-rt-txt{font-size:.62rem;font-weight:700;color:var(--color-primary-light);white-space:nowrap}.ms-mod__chevron{color:var(--color-text-muted);transition:transform .22s ease}.ms-mod__chevron--open{transform:rotate(180deg)}.ms-mod__units{display:flex;flex-direction:column;background:#451d5c06;border-top:1px solid var(--color-border);animation:fadeIn .15s ease-out}.ms-unit{display:flex;align-items:center;gap:.625rem;padding:.625rem 1.125rem .625rem 1.375rem;cursor:pointer;border-left:2px solid transparent;transition:all var(--transition-fast)}.ms-unit:hover:not(.ms-unit--locked){background:#451d5c0d}.ms-unit--active{background:#451d5c1a!important;border-left-color:var(--color-accent)}.ms-unit--done{opacity:.7}.ms-unit--done:hover{opacity:1}.ms-unit--locked{cursor:default;opacity:.45}.ms-unit__icon{width:28px;height:28px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;flex-shrink:0}.ms-unit__icon--video{background:#451d5c1f;color:var(--color-primary)}.ms-unit__icon--pdf{background:#ffb8001a;color:#b37f00}.ms-unit__icon--quiz{background:#e945601a;color:var(--color-accent)}.ms-unit--active .ms-unit__icon--video{background:#e9456026;color:var(--color-accent)}.ms-unit--done .ms-unit__icon{background:#2dd8811a;color:#1a9c5b}.ms-unit__playing{display:flex;align-items:flex-end;justify-content:center;gap:2px;width:100%;height:14px}.ms-unit__playing span{width:3px;background:var(--color-accent);border-radius:2px;animation:playbar 1s ease-in-out infinite}.ms-unit__playing span:nth-child(2){animation-delay:.15s}.ms-unit__playing span:nth-child(3){animation-delay:.3s}@keyframes playbar{0%,to{height:4px}50%{height:12px}}.ms-unit__info{flex:1;min-width:0}.ms-unit__title{display:block;font-size:.8rem;font-weight:500;color:var(--color-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:.1rem}.ms-unit--active .ms-unit__title{font-weight:600;color:var(--color-text)}.ms-unit__meta{display:flex;align-items:center;gap:.4rem;font-size:.67rem;color:var(--color-text-muted)}.ms-unit__type{text-transform:capitalize;font-weight:500}.ms-unit__dl-icon{color:var(--color-success);opacity:.8}.ms__course-title,.ms__prog-row,.ms-mod__info,.ms-unit__info{transition:opacity .45s ease,transform .45s ease}.ms-unit{min-height:48px}.mp-nav-btn{min-height:56px}.ms__modules::-webkit-scrollbar{width:6px}.ms__modules::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:10px}.ms-unit--active{box-shadow:inset 2px 0 0 var(--color-accent)}@media(max-width:1024px){.ms{width:100%}.ms__head{display:none}.ms__head{padding:1.125rem 1.25rem 0rem;border-bottom:none;background-color:var(--color-primary-lighter)}.ms__mobile-heading{position:sticky;top:0;z-index:2;display:block;font-size:.75rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-muted);padding:.75rem 1.75rem;border-bottom:1px solid var(--color-border);background:var(--color-surface)}.ms__prog-row{display:none}}@media(max-width:768px){.ms-mod__head{padding:.75rem 1rem}}.mp{display:grid;grid-template-columns:1fr 340px;transition:grid-template-columns .5s cubic-bezier(.4,0,.2,1);min-height:100vh}.mp-main{display:flex;flex-direction:column;min-width:0;overflow:visible;background-color:var(--color-surface)}.mp-small-nav{display:none}.mp-breadcrumb{display:flex;align-items:center;flex-wrap:wrap;gap:.25rem;padding:.75rem 1.375rem;background:var(--color-primary);border-bottom:1px solid rgba(255,255,255,.06)}.mp-bc-btn{display:inline-flex;align-items:center;gap:.3rem;background:none;border:none;color:#ffffffb3;font-size:.75rem;font-weight:500;cursor:pointer;padding:.2rem .35rem;border-radius:var(--radius-sm);transition:color var(--transition-fast)}.mp-bc-btn:hover{text-decoration:underline;color:#ffffffd9}.mp-bc-sep{color:#ffffff80}.mp-bc-module{font-size:.75rem;font-weight:500;color:#ffffff80}.mp-bc-current{font-size:.75rem;font-weight:600;color:#ffffffd9;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:280px}.mp-complete-overlay{position:absolute;inset:0;background:#000000bf;display:flex;align-items:center;justify-content:center;animation:fadeIn .4s ease-out;backdrop-filter:blur(4px);z-index:10}.mp-complete-card{background:linear-gradient(135deg,#1c0725f2,#451d5ce6);border:1px solid rgba(69,29,92,.5);border-radius:var(--radius-xl);padding:2.5rem 2rem;text-align:center;display:flex;flex-direction:column;align-items:center;gap:1rem;max-width:360px;box-shadow:0 24px 64px #0009}.mp-complete-card svg{color:#2dd881}.mp-complete-card h3{font-family:var(--font-display);font-size:1.5rem;color:#fff;margin:0}.mp-complete-card p{font-size:.875rem;color:#ffffffa6;margin:0}.mp-complete-card{animation:popIn .25s ease}@keyframes popIn{0%{transform:scale(.9);opacity:0}}.mp-complete-btn{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:var(--color-primary);color:#fff;border:none;border-radius:var(--radius-md);font-size:.875rem;font-weight:700;cursor:pointer;transition:all var(--transition-base);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.mp-complete-btn:hover{background:var(--color-primary-light)}.mp-stage-wrapper{display:flex;align-items:center;justify-content:center;width:100%;min-height:45vh;max-height:82vh;aspect-ratio:16 / 9;overflow:hidden;background:#0a0612;color:#ffffffd9}.mp-content-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;height:100%;background:linear-gradient(135deg,#0f0820,#1a0d33);color:#ffffffd9}.mp-content-loading p{font-size:.9rem;color:#fff9;max-width:400px;margin-top:.5rem}.mp-content-fallback{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;height:100%;aspect-ratio:16 / 9;background:linear-gradient(135deg,#0f0820,#1a0d33);color:#ffffffd9;text-align:center;padding:2rem;gap:1rem}.mp-content-fallback__icon{width:80px;height:80px;border-radius:50%;background:#451d5c66;display:flex;align-items:center;justify-content:center;color:var(--color-accent);border:1.5px solid rgba(69,29,92,.5)}.mp-content-fallback h3{font-family:var(--font-display);font-size:1.375rem;color:#fff;margin:0}.mp-content-fallback p{font-size:.9rem;color:#fff9;max-width:400px;margin:0}.mp-non-video__btn{padding:.75rem 1.75rem;background:var(--color-primary);color:#fff;border:none;border-radius:var(--radius-md);font-size:.9rem;font-weight:700;cursor:pointer;transition:all var(--transition-base);box-shadow:0 4px 16px #451d5c66}.mp-non-video__btn:hover{background:var(--color-primary-light);transform:translateY(-2px)}.mp-info{display:flex;justify-content:space-between;align-items:flex-start;gap:1.5rem;padding:1.375rem 1.75rem;background:var(--color-surface);border-bottom:2px solid var(--color-border)}.mp-info__main{flex:1;min-width:0}.mp-info__type{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:.625rem}.mp-type-chip{display:inline-flex;align-items:center;gap:.3rem;padding:.2rem .6rem;border-radius:var(--radius-full);font-size:.67rem;font-weight:700;text-transform:capitalize;letter-spacing:.04em}.mp-type-chip--video,.mp-type-chip--audio{background:#451d5c1f;color:var(--color-primary);border:1px solid rgba(69,29,92,.2)}.mp-type-chip--pdf,.mp-type-chip--text{background:#ffb8001a;color:#b37f00;border:1px solid rgba(255,184,0,.2)}.mp-type-chip--quiz{background:#e945601a;color:var(--color-accent);border:1px solid rgba(233,69,96,.2)}.mp-info__done{display:inline-flex;align-items:center;gap:.3rem;font-size:.7rem;font-weight:600;color:#1a9c5b}.mp-info__offline{display:inline-flex;align-items:center;gap:.3rem;font-size:.7rem;font-weight:600;color:var(--color-text-muted)}.mp-info__title{font-family:var(--font-display);font-size:1.5rem;font-weight:700;color:var(--color-text);line-height:1.25;margin-bottom:.5rem}.mp-info__desc{font-size:.9rem;color:var(--color-text-secondary);line-height:1.7;margin-bottom:1rem}.mp-course-prog{width:100%}.mp-course-prog__row{display:flex;justify-content:space-between;align-items:center;font-size:.75rem;font-weight:500;color:var(--color-text-muted);margin-bottom:.35rem}.mp-course-prog__row span{display:flex;align-items:center;gap:.3rem}.mp-course-prog__row svg{color:var(--color-primary);opacity:.7}.mp-course-prog__track{height:6px;background:var(--color-surface-alt);border-radius:var(--radius-full);overflow:hidden}.mp-course-prog__fill{height:100%;background:linear-gradient(90deg,var(--color-primary),var(--color-accent));border-radius:var(--radius-full);transition:width .6s ease}.mp-info__actions{flex-shrink:0;padding-top:.25rem}.mp-dl-btn{display:inline-flex;align-items:center;gap:.45rem;padding:.625rem 1.125rem;background:none;border:1.5px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-secondary);font-size:.85rem;font-weight:600;cursor:pointer;transition:all var(--transition-base);white-space:nowrap}.mp-dl-btn:hover:not(:disabled){border-color:var(--color-primary);color:var(--color-primary);background:#451d5c0d}.mp-dl-btn:disabled{opacity:.6;cursor:not-allowed}.mp-nav{display:grid;grid-template-columns:1fr 1fr;gap:2px;background:var(--color-border);border-bottom:2px solid var(--color-border);overflow:hidden}.mp-nav__prev,.mp-nav__next{background:var(--color-surface)}.mp-nav-btn{display:flex;align-items:center;gap:.75rem;width:100%;padding:1rem 1.375rem;background:none;border:none;cursor:pointer;text-align:left;transition:background var(--transition-fast);color:var(--color-text)}.mp-nav-btn:hover:not(:disabled){background:var(--color-surface-alt)}.mp-nav-btn:disabled{opacity:.5;cursor:not-allowed}.mp-nav-btn--next{justify-content:flex-end;text-align:right}.mp-nav-btn__label{display:block;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-muted);margin-bottom:.2rem}.mp-nav-btn__title{display:block;font-size:.875rem;font-weight:600;color:var(--color-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:260px}.mp-nav-btn svg{color:var(--color-primary);flex-shrink:0}@media(max-width:1024px){.mp{grid-template-columns:1fr}.mp-stage-wrapper{min-height:55vh;max-height:none;aspect-ratio:auto}}@media(max-width:768px){.mp-bc-current{max-width:160px}.mp-info{flex-direction:column;padding:1rem 1.125rem;gap:.875rem}.mp-info__main{width:100%}.mp-info__actions{width:65%}.mp-dl-btn{width:100%;justify-content:center}.mp-nav{grid-template-columns:1fr;gap:1px}.mp-nav-btn--next{border-left:none}.mp-nav-btn__title{max-width:100%}.mp-info__title{font-size:1.25rem}.mp-info__desc{font-size:.85rem}.mp-complete-card{padding:1.75rem 1.25rem}.mp-stage-wrapper{min-height:65vh;max-height:none;aspect-ratio:auto}}@media(max-width:480px){.mp-breadcrumb{display:none}.mp-small-nav{display:flex;padding:1rem 1.375rem;background:var(--color-primary)}.mp-small-nav-back-btn{display:inline-flex;align-items:center;gap:.35rem;padding:.5rem 1rem;background:#ffffff14;border:1px solid rgba(255,255,255,.12);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-radius:var(--radius-md);color:#fff;font-size:.85rem;font-weight:500;cursor:pointer;transition:all .2s ease}.mp-small-nav-back-btn:hover{background:#ffffff26;transform:translate(-3px)}.mp-stage-wrapper{height:75vh;min-height:unset;max-height:unset;aspect-ratio:auto}}.qp{position:relative;display:flex;flex-direction:column;width:100%;height:100%;background:linear-gradient(135deg,#0f0820,#1a0d33);color:#ffffffe6;overflow:hidden}.qp-start-sec{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;height:100%;color:#ffffffd9;text-align:center;padding:2rem;gap:1rem}.qp-start-sec__icon{width:80px;height:80px;border-radius:50%;background:#451d5c66;display:flex;align-items:center;justify-content:center;color:var(--color-primary-lighter);border:1.5px solid rgba(69,29,92,.5)}.qp-start-sec h3{font-family:var(--font-display);font-size:1.375rem;color:#fff;margin:0}.qp-start-sec p{font-size:.9rem;color:#fff9;margin:0;overflow-wrap:anywhere}.qp-start-sec__btn{padding:.75rem 1.75rem;background:var(--color-primary);color:#fff;border:none;border-radius:var(--radius-md);font-size:.9rem;font-weight:700;cursor:pointer;transition:all var(--transition-base);box-shadow:0 4px 16px #451d5c66}.qp-start-sec__btn:hover{background:var(--color-primary-light);transform:translateY(-2px)}.qp-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.5rem;border-bottom:1px solid rgba(255,255,255,.07);gap:1rem;flex-wrap:wrap}.qp-header__left{display:flex;align-items:center;gap:.75rem}.qp-header__title{font-size:.85rem;font-weight:600;color:#ffffffa6}.qp-header__review-badge{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;padding:.2rem .6rem;border-radius:20px;background:#ffb8001f;color:#f0a500;border:1px solid rgba(255,184,0,.2)}.qp-dots{display:flex;gap:.4rem;flex-wrap:wrap}.qp-dot{width:10px;height:10px;border-radius:50%;border:none;cursor:pointer;background:#ffffff26;transition:all .2s ease;padding:0;flex-shrink:0}.qp-dot--current{background:#ffffff80;transform:scale(1.3)}.qp-dot--answered{background:#ffffff59}.qp-dot--correct{background:#2dd881}.qp-dot--wrong{background:#e94560}.qp-body{flex:1;overflow-y:auto;padding:1.75rem 2rem}.qp-question__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.5rem}.qp-question__num{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#ffffff59}.qp-question__text{font-size:1.1rem;font-weight:600;color:#ffffffeb;line-height:1.55;margin:0 0 1.5rem}.qp-question__pts{font-size:.7rem;font-weight:600;color:#ffffff4d;background:#ffffff0f;padding:.15rem .5rem;border-radius:20px}.qp-options{display:flex;flex-direction:column;gap:.6rem}.qp-option{display:flex;align-items:center;gap:.875rem;width:100%;padding:.875rem 1rem;background:#ffffff0a;border:1.5px solid rgba(255,255,255,.08);border-radius:10px;color:#fffc;font-size:.92rem;text-align:left;cursor:pointer;transition:all .18s ease}.qp-option:hover:not(:disabled){background:#ffffff12;border-color:#ffffff2e;color:#fff}.qp-option--selected{background:#451d5c40!important;border-color:#783ca099!important;color:#fff!important}.qp-option--correct{background:#2dd8811a!important;border-color:#2dd88166!important;color:#2dd881!important}.qp-option--wrong{background:#e945601a!important;border-color:#e9456066!important;color:#e94560!important}.qp-option:disabled{cursor:default}.qp-option__marker{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;background:#ffffff14;flex-shrink:0;font-size:.75rem;font-weight:700}.qp-option--correct .qp-option__marker{background:#2dd88126}.qp-option--wrong .qp-option__marker{background:#e9456026}.qp-option--selected .qp-option__marker{background:#783ca040}.qp-option__letter{color:#ffffff80}.qp-option__text{flex:1;line-height:1.4}.qp-explanation{margin-top:1rem;padding:.875rem 1rem;border-radius:8px;font-size:.875rem;line-height:1.55}.qp-explanation--correct{background:#2dd88114;border:1px solid rgba(45,216,129,.2);color:#fffc}.qp-explanation--wrong{background:#e9456014;border:1px solid rgba(233,69,96,.2);color:#fffc}.qp-explanation strong{display:block;margin-bottom:.25rem;font-weight:700}.qp-explanation--correct strong{color:#2dd881}.qp-explanation--wrong strong{color:#e94560}.qp-footer{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 2rem;border-top:1px solid rgba(255,255,255,.07);background:#0003}.qp-footer__center{flex:1;text-align:center}.qp-footer__answered{font-size:.78rem;color:#fff6;font-weight:500}.qp-btn{display:inline-flex;align-items:center;gap:.4rem;padding:.625rem 1.25rem;border-radius:8px;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .18s ease;border:none;white-space:nowrap}.qp-btn:disabled{opacity:.4;cursor:not-allowed}.qp-btn--primary{background:#451d5c;color:#fff;border:1.5px solid rgba(120,60,160,.5)}.qp-btn--primary:hover:not(:disabled){background:#5a2878}.qp-btn--secondary{background:#ffffff0f;color:#fffc;border:1.5px solid rgba(255,255,255,.12)}.qp-btn--secondary:hover:not(:disabled){background:#ffffff1a}.qp-btn--ghost{background:none;color:#ffffff80;border:1.5px solid transparent}.qp-btn--ghost:hover:not(:disabled){color:#fffc;border-color:#ffffff1f}.qp--result{align-items:center;justify-content:center;padding:3rem 2rem}.qp-result{display:flex;flex-direction:column;align-items:center;gap:1.25rem;max-width:380px;width:100%;text-align:center}.qp-result__icon{width:72px;height:72px;border-radius:50%;display:flex;align-items:center;justify-content:center}.qp-result__icon--pass{background:#2dd8811f;color:#2dd881;border:1.5px solid rgba(45,216,129,.3)}.qp-result__icon--fail{background:#e945601f;color:#e94560;border:1.5px solid rgba(233,69,96,.3)}.qp-result__title{font-size:1.5rem;font-weight:700;color:#fff;margin:0}.qp-result__score-ring{position:relative;width:140px;height:140px}.qp-ring{width:100%;height:100%;transform:rotate(-90deg)}.qp-ring__bg{fill:none;stroke:#ffffff14;stroke-width:8}.qp-ring__fill{fill:none;stroke-width:8;stroke-linecap:round;transition:stroke-dashoffset .8s ease}.qp-ring__fill--pass{stroke:#2dd881}.qp-ring__fill--fail{stroke:#e94560}.qp-ring__label{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.15rem}.qp-ring__pct{font-size:1.75rem;font-weight:700;color:#fff;line-height:1}.qp-ring__sub{font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:#fff6}.qp-result__detail{font-size:.85rem;color:#ffffff80;margin:0}.qp-result__actions{display:flex;flex-direction:column;gap:.625rem;width:100%}.qp-result__actions .qp-btn{width:100%;justify-content:center;padding:.875rem}.qp--loading{align-items:center;justify-content:center;gap:1rem;min-height:320px;color:#ffffff80;font-size:.9rem}.qp-options__hint{font-size:.72rem;color:#ffffff59;margin:0 0 .5rem;font-style:italic}.qp-option--check{align-items:flex-start;gap:.75rem}.qp-checkbox{width:18px;height:18px;border-radius:4px;border:1.5px solid rgba(255,255,255,.2);display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:1px;transition:all .15s ease;background:transparent;color:#fff}.qp-checkbox--on{background:#451d5c;border-color:#783ca099}.qp-text-input{display:flex;flex-direction:column;gap:.5rem}.qp-input,.qp-textarea{width:100%;background:#ffffff0d;border:1.5px solid rgba(255,255,255,.1);border-radius:8px;padding:.75rem 1rem;color:#ffffffe6;font-size:.9rem;outline:none;resize:vertical;transition:border-color .18s ease;font-family:inherit}.qp-input:focus,.qp-textarea:focus{border-color:#783ca080}.qp-input:disabled,.qp-textarea:disabled{opacity:.6;cursor:default}.qp-manual-note{display:flex;align-items:center;gap:.4rem;font-size:.78rem;color:#ffb800b3;margin-top:.5rem}.qp-media-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;padding:2rem;border:1.5px dashed rgba(255,255,255,.1);border-radius:10px;color:#ffffff80;font-size:.9rem;text-align:center}.qp-media-note{font-size:.78rem;color:#ffffff4d}.qp-result__icon--pending{background:#ffb8001f;color:#f0a500;border:1.5px solid rgba(255,184,0,.3)}.qp-ring__fill--pending{stroke:#f0a500}@media(max-width:600px){.qp-body{padding:1.25rem 1rem}.qp-footer{padding:.875rem 1rem}.qp-question__text{font-size:1rem}}.qp-audio{display:flex;flex-direction:column;align-items:center;gap:1rem;padding:2rem;border:1.5px dashed rgba(255,255,255,.15);border-radius:10px;width:100%;height:100%}.qp-audio__mic-btn{width:72px;height:72px;border-radius:50%;border:2px solid rgba(120,60,160,.5);background:#451d5c66;font-size:28px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.qp-audio__mic-btn:hover:not(:disabled){background:#5a287880}.qp-audio__mic-btn--rec{background:#e9456026;border-color:#e9456080;animation:qp-pulse 1.4s infinite}@keyframes qp-pulse{0%,to{box-shadow:0 0 #e9456059}50%{box-shadow:0 0 0 12px #e9456000}}.qp-audio__label{font-size:.85rem;color:#fff9}.qp-audio__sub{font-size:.72rem;color:#ffffff4d;text-align:center}.qp-audio__timer{font-size:1.4rem;font-weight:700;color:#e94560;letter-spacing:.04em;font-variant-numeric:tabular-nums}.qp-audio__wave{display:flex;align-items:center;gap:3px;height:32px}.qp-audio__bar{width:3px;border-radius:2px;background:#e94560b3;height:20px;animation:qp-wave .9s ease-in-out infinite alternate}@keyframes qp-wave{to{height:4px}}.qp-audio__player{width:100%;border-radius:8px}.qp-audio__actions{display:flex;gap:.5rem;width:100%}.qp-audio__actions .qp-btn{flex:1;justify-content:center}.qp-audio__perm-err{font-size:.82rem;color:#e94560;text-align:center;line-height:1.5;padding:.625rem .875rem;background:#e9456014;border:1px solid rgba(233,69,96,.2);border-radius:8px;width:100%}.qp-audio--empty{opacity:.4}.qp-video{display:flex;flex-direction:column;align-items:center;gap:1rem;padding:1.5rem;border:1.5px dashed rgba(255,255,255,.15);border-radius:12px;width:100%}.qp-video__cam-btn{width:72px;height:72px;border-radius:50%;border:2px solid rgba(120,60,160,.5);background:#451d5c66;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.qp-video__cam-btn:hover{background:#5a287899;transform:scale(1.05)}.qp-video__label{font-size:.85rem;color:#fff9}.qp-video__sub{font-size:.72rem;color:#ffffff4d;text-align:center}.qp-video__thumb{position:relative;width:35%;overflow:hidden;border-radius:12px;border:1px solid rgba(255,255,255,.1);background:#000}.qp-video__thumb-video{width:100%;height:100%;object-fit:cover;filter:brightness(.7);border-radius:10px}.qp-video__thumb-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;cursor:pointer;background:#0003;transition:background .2s ease}.qp-video__thumb-play-btn{width:54px;height:54px;border-radius:50%;background:#451d5ce6;display:flex;align-items:center;justify-content:center;border:1.5px solid rgba(255,255,255,.3);box-shadow:0 8px 24px #00000080;transition:all .2s ease;padding-left:4px}.qp-video__thumb-overlay:hover .qp-video__thumb-play-btn{background:var(--color-primary);transform:scale(1.08);box-shadow:0 12px 40px #451d5c99}@media(max-width:1024px){.qp-video__thumb{width:50%}}@media(max-width:768px){.qp-video__thumb{width:65%}}@media(max-width:480px){.qp-video__thumb{width:90%}}.vrm-backdrop{position:fixed;inset:0;background:#000000e0;display:flex;align-items:flex-end;justify-content:center;z-index:1000;backdrop-filter:blur(6px);animation:vrm-fade-in .2s ease}@keyframes vrm-fade-in{0%{opacity:0}}.vrm{position:relative;width:100%;max-width:480px;background:#110820;border-radius:20px 20px 0 0;border-top:1px solid rgba(255,255,255,.08);overflow:hidden;animation:vrm-slide-up .28s cubic-bezier(.34,1.2,.64,1)}@keyframes vrm-slide-up{0%{transform:translateY(40px);opacity:0}}.vrm__close{position:absolute;top:12px;right:12px;z-index:10;width:32px;height:32px;border-radius:50%;background:#00000080;border:1px solid rgba(255,255,255,.1);color:#ffffffb3;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all var(--transition-fast)}.vrm__close:hover{background:#000000bf;color:#fff}.vrm__viewport{width:100%;aspect-ratio:9 / 14;background:#000;position:relative;overflow:hidden}.vrm__live{width:100%;height:100%;object-fit:contain;display:block;transform:scaleX(-1)}.vrm__preview{width:100%;height:100%;object-fit:contain;display:block}.vrm__loading{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#0a0612;color:#fff6}.vrm__perm-err{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;text-align:center;padding:2rem;font-size:.875rem;color:#e94560;background:#e945600f;line-height:1.6}.vrm__rec-badge{position:absolute;top:3%;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:5px;background:#0000008c;border-radius:20px;padding:.4rem 1rem;font-size:11px;font-weight:700;color:#e94560;border:1.5px solid #e94560;backdrop-filter:blur(4px);pointer-events:none;z-index:5}.vrm__rec-dot{width:7px;height:7px;border-radius:50%;background:#e94560;animation:vrm-blink .9s infinite;flex-shrink:0}@keyframes vrm-blink{0%,to{opacity:1}50%{opacity:.15}}.vrm__timer{position:absolute;top:3%;left:2%;font-size:12px;font-weight:700;color:#fffc;background:#00000080;padding:3px 9px;border-radius:20px;font-variant-numeric:tabular-nums;backdrop-filter:blur(4px)}.vrm__time-warning{position:absolute;bottom:12px;left:50%;transform:translate(-50%);font-size:11px;font-weight:600;color:#e94560;background:#e945601f;border:1px solid rgba(233,69,96,.25);padding:4px 12px;border-radius:20px;white-space:nowrap;animation:vrm-fade-in .2s ease}.vrm__actions{display:flex;flex-direction:row;align-items:center;justify-content:center;padding:1.25rem 1.5rem 1.75rem}.vrm__actions--recording{display:flex;flex-direction:row;align-items:center;justify-content:space-between;padding:1.25rem 2rem;width:100%}.vrm__spacer{width:40px}.vrm__flip-btn{width:40px;height:40px;border-radius:50%;background:#ffffff1a;border:1px solid rgba(255,255,255,.1);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .2s}.vrm__flip-btn:hover{background:#fff3}.vrm__live--user{transform:scaleX(-1)}.vrm__live--environment{transform:scaleX(1)}.vrm__stop-ring{width:68px;height:68px;border-radius:50%;border:3px solid rgba(233,69,96,.45);background:none;display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0;flex-shrink:0;animation:vrm-pulse-ring 3s infinite cubic-bezier(.215,.61,.355,1)}@keyframes vrm-pulse-ring{0%{transform:scale(1);box-shadow:0 0 #e9456066}50%{transform:scale(1.05);box-shadow:0 0 0 15px #e9456000}to{transform:scale(1);box-shadow:0 0 #e9456000}}.vrm__stop-ring:hover:not(:disabled){border-color:#e94560bf;transform:scale(1.05)}.vrm__stop-ring:disabled{opacity:.35;cursor:not-allowed}.vrm__stop-square{width:24px;height:24px;border-radius:4px;background:#e94560;animation:vrm-breathe-square 3s infinite ease-in-out}@keyframes vrm-breathe-square{0%,to{transform:scale(1);border-radius:6px}50%{transform:scale(.92);border-radius:4px}}.vrm__stop-ring:hover:not(:disabled) .vrm__stop-square{transform:scale(1.08)}.vrm__stop-ring:disabled{animation:none;opacity:.3}.vrm__actions--preview{flex-direction:row;gap:.75rem;padding-top:1rem}.vrm__btn{flex:1;display:flex;align-items:center;justify-content:center;gap:.4rem;padding:.75rem 0;border-radius:var(--radius-md);font-size:.875rem;font-weight:700;cursor:pointer;border:none;transition:all var(--transition-base)}.vrm__btn--ghost{background:#ffffff0f;color:#ffffffb3;border:1px solid rgba(255,255,255,.1)}.vrm__btn--ghost:hover{background:#ffffff1a;color:#fff}.vrm__btn--primary{background:var(--color-primary);color:#fff}.vrm__btn--primary:hover{background:var(--color-primary-lighter)}@media(min-width:480px){.vrm-backdrop{align-items:center}.vrm{border-radius:20px}}@media(min-width:768px){.vrm-backdrop{align-items:center;justify-content:center}.vrm{width:90vw;height:90vh;max-width:1200px;max-height:900px;border-radius:20px;display:flex;flex-direction:column}.vrm__viewport{flex:1;aspect-ratio:unset}}.vrm__live,.vrm__preview{width:100%;height:100%;object-fit:contain}@media(min-width:768px){.vrm__actions--recording{padding:1rem}.vrm__actions--preview{padding:1rem;justify-content:center}.vrm__btn{max-width:200px}}.tp{width:100%;height:100%;display:flex;flex-direction:column;padding:1.5rem .1rem 1.5rem 1.5rem;background:var(--color-background);border:1px solid var(--color-border);overflow:hidden}.tp__body{flex:1;overflow-y:auto;padding-right:.8rem}.tp--center{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;height:100%;gap:.75rem;border:none;color:var(--color-text-muted);background:linear-gradient(135deg,#0f0820,#1a0d33)}.tp__body.prose{font-size:1rem;line-height:1.8;color:var(--color-text-secondary)}.tp__body.prose h1,.tp__body.prose h2,.tp__body.prose h3,.tp__body.prose h4{color:var(--color-text-primary);font-weight:700;margin:1.5em 0 .5em;line-height:1.3}.tp__body.prose h1{font-size:1.5rem}.tp__body.prose h2{font-size:1.25rem}.tp__body.prose h3{font-size:1.1rem}.tp__body.prose p{margin:0 0 1em}.tp__body.prose ul,.tp__body.prose ol{margin:0 0 1em 1.5rem}.tp__body.prose li{margin-bottom:.35em}.tp__body.prose a{color:var(--color-accent);text-decoration:underline;text-underline-offset:3px}.tp__body.prose a:hover{color:var(--color-primary)}.tp__body.prose blockquote{border-left:3px solid var(--color-accent);padding-left:1rem;color:var(--color-text-muted);font-style:italic;margin:1.25em 0}.tp__body.prose code{font-family:monospace;background:var(--color-hover);padding:.15em .4em;border-radius:var(--radius-sm);font-size:.9em}.tp__body.prose pre{background:var(--color-hover);padding:1rem 1.25rem;border-radius:var(--radius-md);overflow-x:auto;margin:1em 0}.tp__body.prose pre code{background:none;padding:0}.tp__body.prose img{max-width:100%;border-radius:var(--radius-md);margin:1em 0}.tp__body.prose hr{border:none;border-top:1px solid var(--color-border);margin:2em 0}.ap{position:relative;width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2rem;background:linear-gradient(135deg,#0f0820,#1a0d33 60%,#0a0612);color:var(--color-text);overflow:hidden;padding:2rem}.ap:before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 60% 55% at 50% 42%,rgba(69,29,92,.35) 0%,transparent 70%);pointer-events:none}.ap__visual{position:relative;width:160px;height:160px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.ap__rings{position:absolute;inset:0;display:flex;align-items:center;justify-content:center}.ap__ring{position:absolute;border-radius:50%;border:2px solid var(--color-primary-lighter);opacity:.5;transition:opacity .4s ease}.ap__ring--1{width:11rem;height:11rem}.ap__ring--2{width:8.5rem;height:8.5rem}.ap__ring--3{width:6rem;height:6rem}.ap__ring--active{opacity:.45}.ap__ring--1.ap__ring--active{animation:ap-pulse 2.4s ease-in-out infinite}.ap__ring--2.ap__ring--active{animation:ap-pulse 2.4s ease-in-out .35s infinite}.ap__ring--3.ap__ring--active{animation:ap-pulse 2.4s ease-in-out .7s infinite}@keyframes ap-pulse{0%,to{transform:scale(1);opacity:.45}50%{transform:scale(1.1);opacity:.15}}.ap__play-btn{position:relative;z-index:1;width:72px;height:72px;border-radius:50%;background:var(--color-primary);border:2px solid rgba(255,255,255,.15);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 0 0 8px #451d5c40,0 12px 32px #00000080;transition:all var(--transition-base)}.ap__play-btn:hover{background:var(--color-primary-lighter);transform:scale(1.07);box-shadow:0 0 0 12px #451d5c33,0 16px 40px #0000008c}.ap__title{font-size:1.125rem;font-weight:700;color:#ffffffe6;text-align:center;max-width:min(480px,80%);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin:0;position:relative}.ap__progress-wrap{display:flex;align-items:center;gap:.75rem;width:min(520px,88%);position:relative}.ap__time{font-size:.75rem;font-weight:600;color:#ffffff80;min-width:38px;white-space:nowrap;font-variant-numeric:tabular-nums}.ap__time--right{text-align:right}.ap__progress{position:relative;flex:1;height:5px;background:#ffffff1f;border-radius:var(--radius-full);cursor:pointer;transition:height .2s ease}.ap__progress:hover{height:7px}.ap__progress-buf{position:absolute;inset:0 auto 0 0;background:#ffffff2e;border-radius:var(--radius-full);pointer-events:none}.ap__progress-fill{position:absolute;inset:0 auto 0 0;background:var(--color-accent);border-radius:var(--radius-full);pointer-events:none;transition:width .1s linear}.ap__progress:hover .ap__progress-fill:after{content:"";position:absolute;right:-5px;top:50%;width:12px;height:12px;background:#fff;border-radius:50%;transform:translateY(-50%);box-shadow:0 2px 6px #0006}.ap__progress-slider{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}.ap__controls{display:flex;align-items:center;justify-content:center;gap:.75rem;position:relative}.ap__ctrl-btn{width:38px;height:38px;display:flex;align-items:center;justify-content:center;background:#ffffff0f;border:1px solid rgba(255,255,255,.1);color:#ffffffb3;cursor:pointer;border-radius:var(--radius-md);transition:all var(--transition-fast)}.ap__ctrl-btn:hover{color:#fff;background:#ffffff1f;border-color:#fff3}.ap__ctrl-btn:disabled{opacity:.25;cursor:not-allowed}.ap__volume{display:flex;align-items:center;gap:.35rem}.ap__volume-slider{width:80px;height:4px;-webkit-appearance:none;appearance:none;border-radius:var(--radius-full);cursor:pointer;outline:none}.ap__volume-slider::-webkit-slider-thumb{-webkit-appearance:none;width:13px;height:13px;background:#fff;border-radius:50%;cursor:pointer;box-shadow:0 1px 4px #00000059}.ap__volume-slider::-moz-range-thumb{width:13px;height:13px;background:#fff;border-radius:50%;border:none;cursor:pointer}@media(max-width:768px){.ap{gap:1.25rem;padding:1.25rem}.ap__visual,.ap__ring--1{width:120px;height:120px}.ap__ring--2{width:92px;height:92px}.ap__ring--3{width:66px;height:66px}.ap__play-btn{width:58px;height:58px}.ap__volume-slider{width:56px}.ap__title{font-size:.95rem}}.nf{position:relative;min-height:100vh;display:flex;align-items:center;justify-content:center;text-align:center;padding:var(--spacing-xl) var(--spacing-lg);overflow:hidden;background-color:var(--color-background)}.nf:before,.nf:after{content:"";position:absolute;width:35vw;height:35vw;border-radius:50%;z-index:0;filter:blur(100px);opacity:.12}.nf:before{top:-5%;right:-5%;background:var(--color-accent)}.nf:after{bottom:-5%;left:-5%;background:var(--color-primary)}.nf-content{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;background:#ffffffa6;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.8);box-shadow:var(--shadow-xl);padding:4rem 2rem;border-radius:var(--radius-xl);max-width:520px;width:100%;animation:fadeIn .6s ease-out}.nf-icon{width:76px;height:76px;border-radius:var(--radius-lg);background:#e945601a;border:1.5px solid rgba(233,69,96,.2);display:flex;align-items:center;justify-content:center;color:var(--color-accent);margin-bottom:1.5rem}.nf-eyebrow{font-size:.75rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:var(--color-accent);margin-bottom:.75rem}.nf-title{font-family:var(--font-display);font-size:clamp(2.2rem,6vw,3rem);font-weight:900;color:var(--color-text);margin-bottom:1rem;line-height:1.1}.nf-sub{font-size:var(--text-md);color:var(--color-text-secondary);line-height:1.6;max-width:380px;margin-bottom:2.5rem}.nf-actions{display:flex;gap:1rem;flex-wrap:wrap;justify-content:center;width:100%}.nf-btn{display:inline-flex;align-items:center;gap:.6rem;padding:.875rem 1.75rem;border-radius:var(--radius-md);font-family:var(--font-body);font-size:.9rem;font-weight:700;cursor:pointer;border:none;transition:all var(--transition-base)}.nf-btn--primary{background:var(--color-primary);color:#fff;box-shadow:var(--shadow-md)}.nf-btn--primary:hover{background:var(--color-primary-light);transform:translateY(-2px);box-shadow:var(--shadow-lg)}.nf-btn--ghost{background:transparent;color:var(--color-text);border:1.5px solid var(--color-border)}.nf-btn--ghost:hover{background:#451d5c0a;border-color:var(--color-primary-lighter);color:var(--color-primary)}@media(max-width:480px){.nf-content{padding:3rem 1.5rem;margin:1rem}.nf-actions{flex-direction:column}.nf-btn{justify-content:center;width:100%}}.uc{position:relative;min-height:100vh;display:flex;align-items:center;justify-content:center;text-align:center;padding:var(--spacing-xl) var(--spacing-lg);overflow:hidden;background-color:var(--color-background)}.uc:before,.uc:after{content:"";position:absolute;width:40vw;height:40vw;border-radius:50%;z-index:0;filter:blur(80px);opacity:.15}.uc:before{top:-10%;left:-10%;background:var(--color-primary)}.uc:after{bottom:-10%;right:-10%;background:var(--color-accent)}.uc-content{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;background:#fff9;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.8);box-shadow:var(--shadow-xl);padding:3.5rem 2.5rem;border-radius:var(--radius-xl);max-width:500px;width:100%;animation:fadeIn .6s ease-out}.uc-icon{width:76px;height:76px;border-radius:var(--radius-lg);background:#ffb8001f;border:1px solid rgba(255,184,0,.25);display:flex;align-items:center;justify-content:center;color:var(--color-warning);margin-bottom:1.5rem}.uc-eyebrow{font-size:.75rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:var(--color-warning);margin-bottom:1rem}.uc-title{font-family:var(--font-display);font-size:clamp(2rem,5vw,2.75rem);font-weight:900;color:var(--color-text);margin-bottom:1rem;line-height:1.2}.uc-sub{font-size:var(--text-md);color:var(--color-text-secondary);line-height:1.6;margin-bottom:2.5rem}.uc-btn--primary{background:var(--color-primary);color:#fff;padding:.875rem 2rem;border-radius:var(--radius-md);font-weight:700;display:flex;align-items:center;gap:.6rem;box-shadow:var(--shadow-md);transition:all var(--transition-base)}.uc-btn--primary:hover{background:var(--color-primary-light);transform:translateY(-2px);box-shadow:var(--shadow-lg)}@media(max-width:480px){.uc-content{padding:2.5rem 1.5rem;margin:1rem}.uc-btn--primary{width:100%;justify-content:center}}.dl-page{display:flex;min-height:100vh;background:var(--color-background)}.dl-main{flex:1;margin-left:var(--sidebar-width);display:flex;flex-direction:column;min-height:100vh}.dl-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.5rem 1.875rem 1.25rem;background:var(--color-surface);border-bottom:1px solid var(--color-border);position:sticky;top:0;z-index:100;backdrop-filter:blur(14px)}.dl-header__left{display:flex;align-items:center;gap:.875rem}.dl-header__icon{width:42px;height:42px;border-radius:var(--radius-md);background:#451d5c1a;color:var(--color-primary);display:flex;align-items:center;justify-content:center;flex-shrink:0}.dl-header__title{font-family:var(--font-display);font-size:1.4rem;font-weight:700;color:var(--color-text);margin:0}.dl-header__sub{font-size:.8rem;color:var(--color-text-muted);margin:.1rem 0 0}.dl-header__right{display:flex;align-items:center;gap:.75rem;flex-shrink:0}.dl-net{display:inline-flex;align-items:center;gap:.35rem;padding:.25rem .7rem;border-radius:var(--radius-full);font-size:.7rem;font-weight:700}.dl-net--on{background:#2dd8811a;color:#1a9c5b;border:1px solid rgba(45,216,129,.25)}.dl-net--off{background:#ff47571a;color:var(--color-error);border:1px solid rgba(255,71,87,.2)}.dl-btn-danger{display:flex;align-items:center;gap:.4rem;padding:.45rem .875rem;background:none;border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-secondary);font-size:.8rem;font-weight:600;cursor:pointer;transition:all var(--transition-base)}.dl-btn-danger:hover{background:#ff475714;border-color:var(--color-error);color:var(--color-error)}.dl-stats{display:flex;align-items:center;gap:1.5rem;padding:.75rem 1.875rem;background:var(--color-surface);border-bottom:1px solid var(--color-border);font-size:.78rem}.dl-stat{display:flex;align-items:center;gap:.4rem;color:var(--color-text-secondary)}.dl-stat--warn{color:#7a5500}.dl-stat__muted{color:var(--color-text-muted)}.dl-body{flex:1;padding:1.875rem}.dl-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;min-height:50vh;text-align:center}.dl-empty__icon{width:72px;height:72px;border-radius:var(--radius-lg);background:#451d5c14;color:var(--color-primary);display:flex;align-items:center;justify-content:center}.dl-empty h2{font-family:var(--font-display);font-size:1.3rem;font-weight:700;color:var(--color-text);margin:0}.dl-empty p{font-size:.875rem;color:var(--color-text-muted);max-width:360px;line-height:1.6;margin:0}.dl-btn-primary{display:flex;align-items:center;gap:.5rem;padding:.65rem 1.25rem;background:var(--color-primary);color:#fff;border:none;border-radius:var(--radius-md);font-size:.875rem;font-weight:600;cursor:pointer;transition:all var(--transition-base)}.dl-btn-primary:hover{background:var(--color-primary-light);transform:translateY(-1px)}.dl-groups{display:flex;flex-direction:column;gap:1.5rem}.dl-group{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden}.dl-group__head{display:flex;align-items:center;gap:.6rem;padding:.875rem 1.125rem;border-bottom:1px solid var(--color-border);background:var(--color-surface-alt);color:var(--color-text-secondary);font-size:.8rem}.dl-group__title{font-weight:700;color:var(--color-text);flex:1;font-size:.875rem}.dl-group__count{color:var(--color-text-muted);font-size:.75rem}.dl-lessons{display:flex;flex-direction:column}.dl-lesson{display:flex;align-items:center;gap:.875rem;padding:.875rem 1.125rem;border-bottom:1px solid var(--color-border);transition:background var(--transition-base)}.dl-lesson:last-child{border-bottom:none}.dl-lesson:hover{background:var(--color-surface-alt)}.dl-lesson--expired{opacity:.55}.dl-lesson__icon{width:34px;height:34px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;flex-shrink:0;color:#fff}.dl-lesson__icon--video{background:#451d5c1f;color:var(--color-primary)}.dl-lesson__icon--audio{background:#1a9c5b}.dl-lesson__icon--pdf{background:#ffb8001a;color:#b37f00}.dl-lesson__icon--quiz{background:#e945601a;color:var(--color-accent)}.dl-lesson__info{flex:1;min-width:0}.dl-lesson__title{font-size:.875rem;font-weight:600;color:var(--color-text);display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:.2rem}.dl-lesson__meta{display:flex;align-items:center;gap:.75rem;font-size:.72rem;color:var(--color-text-muted)}.dl-lesson__expiry{display:flex;align-items:center;gap:.25rem}.dl-lesson__expiry--warn{color:#7a5500;font-weight:600}.dl-lesson__expiry--expired{color:var(--color-error);font-weight:600}.dl-lesson__progress{height:3px;background:var(--color-surface-alt);border-radius:var(--radius-full);margin-top:.4rem;overflow:hidden}.dl-lesson__progress-fill{height:100%;background:var(--color-primary);border-radius:var(--radius-full);transition:width .3s ease}.dl-lesson__actions{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.dl-lesson__play{display:flex;align-items:center;gap:.3rem;padding:.4rem .75rem;background:var(--color-primary);color:#fff;border:none;border-radius:var(--radius-md);font-size:.78rem;font-weight:600;cursor:pointer;transition:all var(--transition-base)}.dl-lesson__play:hover{background:var(--color-primary-light)}.dl-lesson__delete{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:none;border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-muted);cursor:pointer;transition:all var(--transition-base)}.dl-lesson__delete:hover{background:#ff475714;border-color:var(--color-error);color:var(--color-error)}.dl-lesson__delete:disabled{opacity:.4;cursor:not-allowed}.dl-spinner{animation:spin 1s linear infinite;color:var(--color-primary)}.dl-header__ham{display:none;align-items:center;justify-content:center;width:38px;height:38px;border:none;background:none;border-radius:var(--radius-md);color:var(--color-text);cursor:pointer;flex-shrink:0}.dl-header__ham:hover{background:var(--color-surface-alt)}.dl-lesson__status{padding:2px 8px;border-radius:999px;font-size:11px;font-weight:700;text-transform:capitalize}.dl-lesson__status--downloading{background:#451d5c1f;color:var(--color-primary)}.dl-lesson__status--paused{background:#ffc10726;color:#b8860b}.dl-lesson__status--complete{background:#2dd8811f;color:#1a9c5b}.dl-lesson__status--error{background:#ff47571f;color:var(--color-error)}.dl-lesson__progress-text{margin-top:4px;font-size:12px;color:var(--color-text-muted)}.dl-lesson__progress-fill--paused{background:#f59e0b}@media(max-width:1024px){.dl-main{margin-left:0}.dl-body{padding:1.25rem}.dl-header{padding:1rem 1.25rem}.dl-header__ham{display:flex}}@media(max-width:768px){.dl-header{flex-direction:column;align-items:flex-start;gap:.75rem}.dl-header__right{width:100%;justify-content:flex-end}.dl-stats{padding:.75rem 1.25rem;flex-wrap:wrap;gap:.75rem}}@media(max-width:1024px){.dl-main{margin-left:0;min-width:0}.dl-body{padding:1.25rem}.dl-header{padding:1rem 1.25rem}.dl-header__ham{display:flex}.dl-header__right{flex-wrap:wrap;justify-content:flex-end}.dl-stats{flex-wrap:wrap;gap:.75rem;padding:.875rem 1.25rem}.dl-group__head{flex-wrap:wrap}.dl-lesson,.dl-lesson__info{min-width:0}.dl-lesson__title{max-width:100%}}@media(max-width:768px){.dl-header{flex-direction:column;align-items:stretch;gap:1rem;padding:1rem}.dl-header__left{width:100%;min-width:0}.dl-header__right{width:100%;justify-content:flex-start;flex-wrap:wrap;gap:.6rem}.dl-btn-danger{justify-content:center}.dl-stats{padding:.75rem 1rem;gap:.65rem}.dl-stat{flex-wrap:wrap}.dl-body{padding:1rem}.dl-groups{gap:1rem}.dl-group__head{padding:.85rem 1rem}.dl-group__title{width:100%}.dl-group__count{margin-left:auto}.dl-lesson{align-items:flex-start;padding:1rem;gap:.75rem}.dl-lesson__meta{flex-wrap:wrap;gap:.45rem}.dl-net{max-width:100%;overflow:hidden;text-overflow:ellipsis}}@media(max-width:480px){.dl-header{padding:.875rem}.dl-header__icon{width:38px;height:38px}.dl-header__title{font-size:1.15rem}.dl-header__sub{font-size:.72rem}.dl-header__right{flex-direction:column;align-items:stretch}.dl-net,.dl-btn-danger{width:100%;justify-content:center}.dl-stats{padding:.75rem .875rem;flex-direction:column;align-items:flex-start}.dl-stat{width:100%}.dl-body{padding:.875rem}.dl-group{border-radius:var(--radius-md)}.dl-group__head{padding:.75rem .875rem}.dl-lesson{flex-direction:column;align-items:stretch;padding:.875rem}.dl-lesson__icon{width:36px;height:36px}.dl-lesson__title{white-space:normal;line-height:1.4}.dl-lesson__meta{font-size:.68rem}.dl-lesson__actions{flex-direction:column;align-items:stretch;width:100%;margin-top:.5rem}.dl-lesson__play{justify-content:center;width:100%;min-height:38px}.dl-lesson__delete{width:100%;height:38px}.dl-empty{min-height:60vh;padding:1rem}.dl-empty__icon{width:64px;height:64px}.dl-empty h2{font-size:1.15rem}.dl-empty p{font-size:.8rem}.dl-btn-primary{width:100%;justify-content:center}}.cdlg-overlay{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);background:#fafafa8c}.cdlg-card{width:min(420px,calc(100vw - 2rem));background:var(--color-surface);border:1px solid rgba(69,29,92,.12);border-radius:var(--radius-xl);padding:1.5rem;box-shadow:var(--shadow-lg);animation:cdlg-pop .2s ease}.cdlg-icon{width:52px;height:52px;border-radius:50%;background:#ff47571f;color:var(--color-error);display:flex;align-items:center;justify-content:center;margin-bottom:1rem}.cdlg-title{margin:0;font-size:1rem;font-weight:700;color:var(--color-text)}.cdlg-message{margin:.75rem 0 0;font-size:.875rem;line-height:1.6;color:var(--color-text-muted)}.cdlg-actions{display:flex;justify-content:flex-end;gap:.75rem;margin-top:1.5rem}.cdlg-btn{padding:.65rem 1rem;border-radius:var(--radius-md);font-size:.875rem;font-weight:600;cursor:pointer;transition:all var(--transition-base)}.cdlg-btn--secondary{background:transparent;border:1px solid var(--color-border);color:var(--color-text-secondary)}.cdlg-btn--secondary:hover{background:var(--color-surface-alt)}.cdlg-btn--danger{border:none;background:var(--color-error);color:#fff}.cdlg-btn--danger:hover{opacity:.92}@keyframes cdlg-pop{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}.op{display:flex;flex-direction:column;height:100vh;background:#0a0612;overflow:hidden}.op-header{display:flex;align-items:center;gap:.875rem;padding:.75rem 1.25rem;background:#451d5cf2;backdrop-filter:blur(12px);border-bottom:1px solid rgba(255,255,255,.08);position:sticky;top:0;z-index:10;flex-shrink:0}.op-back{display:inline-flex;align-items:center;gap:.35rem;padding:.45rem .85rem .45rem .55rem;background:#ffffff1a;border:1px solid rgba(255,255,255,.15);border-radius:9999px;color:#ffffffe6;font-size:.82rem;font-weight:500;cursor:pointer;flex-shrink:0;transition:all .2s ease}.op-back:hover{background:#ffffff2e}.op-header__info{flex:1;min-width:0;display:flex;flex-direction:column;gap:.1rem}.op-header__title{font-size:.9rem;font-weight:700;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.op-header__course{font-size:.72rem;color:#ffffff8c;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.op-header__right{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.op-offline-pill{display:inline-flex;align-items:center;justify-content:center;gap:.3rem;padding:.2rem .6rem;background:#ff475726;border:1px solid rgba(255,71,87,.25);border-radius:9999px;font-size:.68rem;font-weight:700;color:#ff8a95;white-space:nowrap}.op-expiry-warn{display:inline-flex;align-items:center;gap:.3rem;padding:.2rem .6rem;background:#ffb80026;border:1px solid rgba(255,184,0,.25);border-radius:9999px;font-size:.68rem;font-weight:700;color:#ffd166;white-space:nowrap}.op-stage{flex:1;min-height:0;width:100%;display:flex;align-items:center;justify-content:center;background:#000;overflow:hidden}.op-stage>*,.op-stage video,.op-stage audio,.op-stage iframe{width:100%;height:100%;max-width:100%;max-height:100%}.op-pdf{width:100%;height:100%}.op-pdf iframe{border:none}.op-footer{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.75rem 1.25rem;background:#ffffff05;border-top:1px solid rgba(255,255,255,.05);font-size:.75rem;color:#fff6;flex-shrink:0}.op-footer__left,.op-footer__right{display:flex;align-items:center;gap:.35rem;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.op-error{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;gap:1.25rem;text-align:center;padding:2rem;background:#0a0612;color:#ffffffb3}.op-error h2{font-size:1.35rem;color:#fff;margin:0;font-weight:700}.op-error p{font-size:.875rem;max-width:340px;line-height:1.55;margin:0;color:#ffffff80}.op-error button{padding:.65rem 1.5rem;background:#451d5c;background:var(--color-primary, #451d5c);color:#fff;border:none;border-radius:8px;font-size:.875rem;font-weight:600;cursor:pointer;transition:background .2s ease}.op-error button:hover{background:var(--color-primary-light, #5c287a)}@media(max-width:1024px){.op-footer{padding:.65rem 1rem}}@media(max-width:768px){.op-back{padding:.35rem .65rem .35rem .45rem;font-size:.75rem}.op-header__title{font-size:.82rem}.op-expiry-warn{font-size:0;padding:.35rem;border-radius:50%}.op-expiry-warn svg{margin:0;width:.9rem;height:.9rem}.op-offline-pill{font-size:0;padding:.35rem;border-radius:50%;width:2rem;height:2rem}.op-offline-pill svg{margin:0;width:.9rem;height:.9rem}.op-footer{font-size:.7rem;padding:.5rem 1rem}}@media(max-width:480px){.op-back{font-size:0;padding:0rem;margin:0;border-radius:50%;width:2.5rem;height:2.5rem}.op-back svg{width:2rem;height:1.3rem;margin-left:.1rem}.op-header__title{font-size:.8rem}.op-footer__right{display:none}.op-footer{justify-content:center;padding:.5rem .75rem}.op-error h2{font-size:1.15rem}.op-error p{font-size:.8rem}}.ach-page{display:flex;min-height:100vh;background:var(--color-background)}.ach-main{flex:1;margin-left:var(--sidebar-width);display:flex;flex-direction:column;min-height:100vh}.ach-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.5rem 1.875rem 1.25rem;background:var(--color-surface);border-bottom:1px solid var(--color-border);position:sticky;top:0;z-index:100;backdrop-filter:blur(14px)}.ach-header__left{display:flex;align-items:center;gap:.875rem}.ach-header__ham{display:none;align-items:center;justify-content:center;width:38px;height:38px;border:none;background:none;border-radius:var(--radius-md);color:var(--color-text);cursor:pointer;flex-shrink:0}.ach-header__ham:hover{background:var(--color-surface-alt)}.ach-header__icon{width:42px;height:42px;border-radius:var(--radius-md);background:#451d5c1a;color:var(--color-primary);display:flex;align-items:center;justify-content:center;flex-shrink:0}.ach-header__title{font-family:var(--font-display);font-size:1.4rem;font-weight:700;color:var(--color-text);margin:0}.ach-header__sub{font-size:.8rem;color:var(--color-text-muted);margin:.1rem 0 0}.ach-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.875rem;padding:1.125rem 1.875rem;background:var(--color-surface);border-bottom:1px solid var(--color-border)}.ach-stat{display:flex;align-items:center;gap:.7rem;min-width:0;padding:.875rem 1.125rem;background:var(--color-background);border:1px solid var(--color-border);border-radius:var(--radius-lg);transition:all var(--transition-base)}.ach-stat:hover{border-color:var(--color-primary);transform:translateY(-2px);box-shadow:var(--shadow-sm)}.ach-stat__icon{width:38px;height:38px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;flex-shrink:0}.ach-stat__icon--primary{background:#451d5c1a;color:var(--color-primary)}.ach-stat__icon--success{background:#2dd8811a;color:#1a9c5b}.ach-stat__icon--accent{background:#e945601a;color:var(--color-accent)}.ach-stat__icon--warning{background:#ffb8001a;color:#b37f00}.ach-stat__val{font-family:var(--font-display);font-size:1.45rem;font-weight:700;color:var(--color-text);line-height:1;margin-bottom:.1rem}.ach-stat__label{font-size:.72rem;color:var(--color-text-muted);font-weight:500}.ach-body{flex:1;padding:1.875rem}.ach-section{margin-bottom:2rem}.ach-section:last-child{margin-bottom:0}.ach-section__title{font-family:var(--font-display);font-size:1.1rem;font-weight:700;color:var(--color-text);margin-bottom:1rem}.ach-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1.125rem}.ach-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;min-height:50vh;text-align:center}.ach-empty__icon{width:72px;height:72px;border-radius:var(--radius-lg);background:#451d5c14;color:var(--color-primary);display:flex;align-items:center;justify-content:center}.ach-empty h2{font-family:var(--font-display);font-size:1.3rem;font-weight:700;color:var(--color-text);margin:0}.ach-empty p{font-size:.875rem;color:var(--color-text-muted);max-width:360px;line-height:1.6;margin:0}.ach-btn{display:flex;align-items:center;justify-content:center;gap:.4rem;border-radius:var(--radius-md);font-size:.8rem;font-weight:600;cursor:pointer;padding:.55rem .9rem;border:1px solid var(--color-border);background:none;color:var(--color-text-secondary);transition:all var(--transition-base)}.ach-btn:disabled{opacity:.6;cursor:not-allowed}.ach-btn--ghost:hover:not(:disabled){border-color:var(--color-primary);color:var(--color-primary);background:#451d5c0a}.ach-btn--primary{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.ach-btn--primary:hover:not(:disabled){background:var(--color-primary-light);transform:translateY(-1px)}.ach-card{display:flex;flex-direction:column;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden;transition:all var(--transition-base)}.ach-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.ach-card--locked{opacity:.85}.ach-card__thumb{position:relative;width:100%;padding-top:56%;background:var(--color-primary-dark)}.ach-card__thumb img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.ach-seal{position:absolute;bottom:-14px;right:14px;width:34px;height:34px;border-radius:50%;background:var(--color-warning);color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 10px #ffb80066;border:2px solid var(--color-surface)}.ach-seal--pending{background:var(--color-text-muted);box-shadow:none}.ach-card__body{padding:1.125rem 1.125rem .5rem;flex:1}.ach-card__cat{font-size:.68rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--color-primary)}.ach-card__title{font-family:var(--font-display);font-size:1rem;font-weight:700;color:var(--color-text);margin:.35rem 0 .6rem;line-height:1.3}.ach-card__meta{display:flex;align-items:center;gap:.5rem;font-size:.75rem;color:var(--color-text-muted)}.ach-card__meta span{display:flex;align-items:center;gap:.25rem}.ach-dot{width:3px;height:3px;border-radius:50%;background:var(--color-text-muted);opacity:.5}.ach-card__track{height:6px;background:var(--color-surface-alt);border-radius:var(--radius-full);overflow:hidden;margin-bottom:.5rem}.ach-card__fill{height:100%;background:linear-gradient(90deg,var(--color-primary),var(--color-accent));border-radius:var(--radius-full)}.ach-card__hint{font-size:.75rem;color:var(--color-text-muted);line-height:1.5;margin-bottom:.75rem}.ach-card__actions{display:flex;gap:.5rem;padding:.875rem 1.125rem;border-top:1px solid var(--color-border)}.ach-card__actions .ach-btn{flex:1}.ach-modal-backdrop{position:fixed;inset:0;background:#1c07258c;backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;z-index:400;padding:1.5rem}.ach-modal{position:relative;width:100%;max-width:560px;background:var(--color-surface);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);padding:1.75rem;display:flex;flex-direction:column;gap:1.25rem}.ach-modal__close{position:absolute;top:1rem;right:1rem;width:32px;height:32px;border-radius:50%;border:none;background:var(--color-surface-alt);color:var(--color-text-secondary);display:flex;align-items:center;justify-content:center;cursor:pointer}.ach-modal__close:hover{background:var(--color-border)}.ach-modal__dl{align-self:center;padding:.75rem 1.75rem}.ach-cert__border{position:relative;border:2px solid var(--color-primary);border-radius:var(--radius-lg);padding:2.25rem 1.75rem 1.5rem;text-align:center;background:linear-gradient(180deg,rgba(69,29,92,.03),transparent 60%)}.ach-cert__border:before{content:"";position:absolute;inset:8px;border:1px solid var(--color-border);border-radius:calc(var(--radius-lg) - 4px);pointer-events:none}.ach-cert__seal{width:46px;height:46px;border-radius:50%;background:var(--color-warning);color:#fff;display:flex;align-items:center;justify-content:center;margin:0 auto .875rem;box-shadow:0 4px 12px #ffb80066}.ach-cert__eyebrow{display:block;font-size:.7rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-muted);margin-bottom:.75rem}.ach-cert__name{font-family:var(--font-display);font-size:1.6rem;font-weight:900;color:var(--color-primary);margin-bottom:.35rem}.ach-cert__line{font-size:.85rem;color:var(--color-text-secondary);margin-bottom:.35rem}.ach-cert__course{font-family:var(--font-display);font-size:1.15rem;font-weight:700;color:var(--color-text);margin:.25rem 0 .5rem}.ach-cert__footer{display:flex;justify-content:space-between;align-items:flex-end;margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--color-border)}.ach-cert__footer-col{display:flex;flex-direction:column;gap:.15rem}.ach-cert__footer-col--right{align-items:flex-end}.ach-cert__footer-label{font-size:.65rem;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted)}.ach-cert__footer-val{font-size:.8rem;font-weight:600;color:var(--color-text)}.ach-cert__footer-val--mono{font-family:monospace;letter-spacing:.03em}@media(max-width:1024px){.ach-main{margin-left:0}.ach-body{padding:1.25rem}.ach-header{padding:1rem 1.25rem}.ach-header__ham{display:flex}}@media(max-width:768px){.ach-stats{padding:.875rem 1.25rem}.ach-grid{grid-template-columns:1fr}.ach-cert__name{font-size:1.3rem}}@media(max-width:480px){.ach-body{padding:.875rem}.ach-modal{padding:1.25rem}.ach-cert__border{padding:1.75rem 1.125rem 1.25rem}.ach-cert__footer{flex-direction:column;align-items:flex-start;gap:.5rem}.ach-cert__footer-col--right{align-items:flex-start}}.an-page{display:flex;min-height:100vh;background:var(--color-background)}.an-main{flex:1;margin-left:var(--sidebar-width);display:flex;flex-direction:column;min-height:100vh}.an-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.5rem 1.875rem 1.25rem;background:var(--color-surface);border-bottom:1px solid var(--color-border);position:sticky;top:0;z-index:100;backdrop-filter:blur(14px)}.an-header__left{display:flex;align-items:center;gap:.875rem}.an-header__ham{display:none;align-items:center;justify-content:center;width:38px;height:38px;border:none;background:none;border-radius:var(--radius-md);color:var(--color-text);cursor:pointer}.an-header__ham:hover{background:var(--color-surface-alt)}.an-header__icon{width:42px;height:42px;border-radius:var(--radius-md);background:#451d5c1a;color:var(--color-primary);display:flex;align-items:center;justify-content:center}.an-header__title{font-family:var(--font-display);font-size:1.4rem;font-weight:700;color:var(--color-text);margin:0}.an-header__sub{font-size:.8rem;color:var(--color-text-muted);margin:.1rem 0 0}.an-body{flex:1;padding:1.875rem}.an-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;min-height:50vh;text-align:center}.an-btn{padding:.55rem 1rem;background:var(--color-primary);color:#fff;border:none;border-radius:var(--radius-md);font-size:.85rem;font-weight:600;cursor:pointer}.an-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.875rem;margin-bottom:1.25rem}.an-stat{display:flex;align-items:center;gap:.7rem;padding:.875rem 1.125rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg)}.an-stat__icon{width:38px;height:38px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;flex-shrink:0}.an-stat__icon--primary{background:#451d5c1a;color:var(--color-primary)}.an-stat__icon--success{background:#2dd8811a;color:#1a9c5b}.an-stat__icon--accent{background:#e945601a;color:var(--color-accent)}.an-stat__icon--warning{background:#ffb8001a;color:#b37f00}.an-stat__val{font-family:var(--font-display);font-size:1.4rem;font-weight:700;color:var(--color-text);line-height:1}.an-stat__label{font-size:.72rem;color:var(--color-text-muted);font-weight:500}.an-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.125rem}.an-panel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:1.125rem}.an-panel--wide{grid-column:1 / -1}.an-panel__title{font-family:var(--font-display);font-size:1rem;font-weight:700;color:var(--color-text);margin-bottom:.875rem}.an-panel__empty{font-size:.82rem;color:var(--color-text-muted)}.an-panel__foot{font-size:.72rem;color:var(--color-text-muted);margin-top:.75rem}.an-tooltip{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:.5rem .75rem;box-shadow:var(--shadow-md);display:flex;flex-direction:column;gap:.1rem}.an-tooltip__val{font-size:.85rem;font-weight:700;color:var(--color-text)}.an-tooltip__date{font-size:.7rem;color:var(--color-text-muted)}.an-chart-wrap{margin:-8px -4px -4px}.an-quiz{display:flex;gap:1.5rem;margin-bottom:.75rem}.an-quiz__stat{display:flex;align-items:center;gap:.7rem}.an-donut{position:relative;display:flex;align-items:center;justify-content:center;width:64px;height:64px;flex-shrink:0}.an-donut__val{position:absolute;font-size:.78rem;font-weight:700;color:var(--color-text)}.an-quiz__label{display:flex;align-items:center;gap:.3rem;font-size:.72rem;color:var(--color-text-muted);font-weight:600}@media(max-width:1024px){.an-main{margin-left:0}.an-body{padding:1.25rem}.an-header{padding:1rem 1.25rem}.an-header__ham{display:flex}}@media(max-width:768px){.an-grid{grid-template-columns:1fr}}.fp-back{display:flex;align-items:center;gap:.4rem;background:none;border:none;color:var(--color-text-secondary);font-size:.85rem;font-weight:500;cursor:pointer;margin-bottom:1.5rem;padding:0}.fp-back:hover{color:var(--color-primary)}.fp-otp-boxes{display:flex;gap:.5rem;justify-content:center;margin-bottom:.5rem;width:100%}.fp-otp-box{width:46px;height:54px;max-width:100%;text-align:center;font-size:1.25rem;font-weight:700;border:2px solid var(--color-border);border-radius:var(--radius-md);background:#fff;transition:all var(--transition-base)}.fp-otp-box:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px #451d5c1a;outline:none}.fp-otp-box--filled{border-color:var(--color-primary-light)}.fp-resend{background:none;border:none;color:var(--color-primary);font-size:.85rem;font-weight:600;cursor:pointer;align-self:center;padding:.25rem}.fp-resend:hover:not(:disabled){text-decoration:underline}.fp-resend:disabled{opacity:.5;cursor:not-allowed}.fp-success{display:flex;flex-direction:column;align-items:center;text-align:center;gap:.25rem}.fp-success__icon{width:68px;height:68px;border-radius:50%;background:#2dd8811f;color:#1a9c5b;display:flex;align-items:center;justify-content:center;margin-bottom:1rem}.fp-success .btn-primary{margin-top:1.5rem}@media(max-width:480px){.fp-otp-boxes{gap:.35rem}.fp-otp-box{width:38px;height:48px;font-size:1.1rem;border-width:1.5px}}@media(max-width:360px){.fp-otp-boxes{gap:.25rem}.fp-otp-box{width:34px;height:44px;font-size:1rem}}:root{--color-primary: #451D5C;--color-primary-light: #5D2879;--color-primary-lighter: #7A3D98;--color-primary-dark: #2E0F3D;--color-primary-darker: #1C0725;--color-accent: #E94560;--color-accent-light: #FF6B83;--color-success: #2DD881;--color-warning: #FFB800;--color-error: #FF4757;--color-background: #FAFAFA;--color-surface: #FFFFFF;--color-surface-alt: #F5F5F5;--color-border: #E5E5E5;--color-text: #1A1A1A;--color-text-secondary: #666666;--color-text-muted: #999999;--shadow-sm: 0 1px 3px rgba(69, 29, 92, .08);--shadow-md: 0 4px 12px rgba(69, 29, 92, .12);--shadow-lg: 0 12px 32px rgba(69, 29, 92, .16);--shadow-xl: 0 24px 64px rgba(69, 29, 92, .2);--font-display: "Playfair Display", serif;--font-body: "DM Sans", sans-serif;--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--spacing-2xl: 3rem;--spacing-3xl: 4rem;--radius-sm: .25rem;--radius-md: .5rem;--radius-lg: 1rem;--radius-xl: 1.5rem;--radius-full: 9999px;--transition-fast: .15s ease;--transition-base: .25s ease;--transition-slow: .35s ease;--text-xs: clamp(.7rem, .9vw, .8rem);--text-sm: clamp(.8rem, 1vw, .9rem);--text-md: clamp(.9rem, 1.1vw, 1rem);--text-lg: clamp(1rem, 1.2vw, 1.1rem);--sidebar-width: 258px;--bp-lg: 1280px;--bp-md: 1024px;--bp-sm: 768px;--bp-xs: 480px}*{margin:0;padding:0;box-sizing:border-box}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;scroll-behavior:smooth}body{font-family:var(--font-body);font-size:var(--text-md);color:var(--color-text);background-color:var(--color-background);line-height:1.6}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);font-weight:700;line-height:1.2;color:var(--color-text)}span{line-height:normal}h1{font-size:clamp(2rem,4vw,3rem);font-weight:900;letter-spacing:-.02em}h2{font-size:clamp(1.6rem,3vw,2.25rem);letter-spacing:-.01em}h3{font-size:clamp(1.3rem,2.5vw,1.75rem)}h4{font-size:clamp(1.1rem,2vw,1.5rem)}h5{font-size:clamp(1rem,1.5vw,1.25rem)}h6{font-size:clamp(.9rem,1.2vw,1rem)}p{margin-bottom:var(--spacing-md)}a{color:var(--color-primary);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--color-primary-light)}button{font-family:var(--font-body);cursor:pointer;border:none;outline:none;transition:all var(--transition-base)}button:disabled{opacity:.6;cursor:not-allowed}input,textarea,select{font-family:var(--font-body);font-size:1rem;outline:none;transition:all var(--transition-base)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--color-surface-alt)}::-webkit-scrollbar-thumb{background:var(--color-primary);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--color-primary-light)}::selection{background:var(--color-primary-light);color:#fff}.container{width:100%;max-width:1280px;margin-inline:auto;padding-inline:var(--spacing-lg)}.text-center{text-align:center}.text-gradient{background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-accent) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:translate(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.animate-fadeIn{animation:fadeIn .6s ease-out}.animate-slideInRight{animation:slideInRight .6s ease-out}.spinner{width:24px;height:24px;border:3px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;animation:spin .8s linear infinite}img{max-width:100%;height:auto}.app-layout-wrapper{display:flex;flex-direction:column;height:100vh;width:100vw;overflow:hidden}.app-main-content{flex:1;min-height:0;width:100%;overflow-y:auto}.recharts-wrapper:focus,.recharts-surface:focus,.recharts-wrapper *:focus,.recharts-surface *:focus{outline:none!important}:root{--toastify-color-light: #fff;--toastify-color-dark: #121212;--toastify-color-info: #3498db;--toastify-color-success: #07bc0c;--toastify-color-warning: #f1c40f;--toastify-color-error: hsl(6, 78%, 57%);--toastify-color-transparent: rgba(255, 255, 255, .7);--toastify-icon-color-info: var(--toastify-color-info);--toastify-icon-color-success: var(--toastify-color-success);--toastify-icon-color-warning: var(--toastify-color-warning);--toastify-icon-color-error: var(--toastify-color-error);--toastify-container-width: fit-content;--toastify-toast-width: 320px;--toastify-toast-offset: 16px;--toastify-toast-top: max(var(--toastify-toast-offset), env(safe-area-inset-top));--toastify-toast-right: max(var(--toastify-toast-offset), env(safe-area-inset-right));--toastify-toast-left: max(var(--toastify-toast-offset), env(safe-area-inset-left));--toastify-toast-bottom: max(var(--toastify-toast-offset), env(safe-area-inset-bottom));--toastify-toast-background: #fff;--toastify-toast-padding: 14px;--toastify-toast-min-height: 64px;--toastify-toast-max-height: 800px;--toastify-toast-bd-radius: 6px;--toastify-toast-shadow: 0px 4px 12px rgba(0, 0, 0, .1);--toastify-font-family: sans-serif;--toastify-z-index: 9999;--toastify-text-color-light: #757575;--toastify-text-color-dark: #fff;--toastify-text-color-info: #fff;--toastify-text-color-success: #fff;--toastify-text-color-warning: #fff;--toastify-text-color-error: #fff;--toastify-spinner-color: #616161;--toastify-spinner-color-empty-area: #e0e0e0;--toastify-color-progress-light: linear-gradient(to right, #4cd964, #5ac8fa, #007aff, #34aadc, #5856d6, #ff2d55);--toastify-color-progress-dark: #bb86fc;--toastify-color-progress-info: var(--toastify-color-info);--toastify-color-progress-success: var(--toastify-color-success);--toastify-color-progress-warning: var(--toastify-color-warning);--toastify-color-progress-error: var(--toastify-color-error);--toastify-color-progress-bgo: .2}.Toastify__toast-container{z-index:var(--toastify-z-index);-webkit-transform:translate3d(0,0,var(--toastify-z-index));position:fixed;width:var(--toastify-container-width);box-sizing:border-box;color:#fff;display:flex;flex-direction:column}.Toastify__toast-container--top-left{top:var(--toastify-toast-top);left:var(--toastify-toast-left)}.Toastify__toast-container--top-center{top:var(--toastify-toast-top);left:50%;transform:translate(-50%);align-items:center}.Toastify__toast-container--top-right{top:var(--toastify-toast-top);right:var(--toastify-toast-right);align-items:end}.Toastify__toast-container--bottom-left{bottom:var(--toastify-toast-bottom);left:var(--toastify-toast-left)}.Toastify__toast-container--bottom-center{bottom:var(--toastify-toast-bottom);left:50%;transform:translate(-50%);align-items:center}.Toastify__toast-container--bottom-right{bottom:var(--toastify-toast-bottom);right:var(--toastify-toast-right);align-items:end}.Toastify__toast{--y: 0;position:relative;touch-action:none;width:var(--toastify-toast-width);min-height:var(--toastify-toast-min-height);box-sizing:border-box;margin-bottom:1rem;padding:var(--toastify-toast-padding);border-radius:var(--toastify-toast-bd-radius);box-shadow:var(--toastify-toast-shadow);max-height:var(--toastify-toast-max-height);font-family:var(--toastify-font-family);z-index:0;display:flex;flex:1 auto;align-items:center;word-break:break-word}@media only screen and (max-width:480px){.Toastify__toast-container{width:100vw;left:env(safe-area-inset-left);margin:0}.Toastify__toast-container--top-left,.Toastify__toast-container--top-center,.Toastify__toast-container--top-right{top:env(safe-area-inset-top);transform:translate(0)}.Toastify__toast-container--bottom-left,.Toastify__toast-container--bottom-center,.Toastify__toast-container--bottom-right{bottom:env(safe-area-inset-bottom);transform:translate(0)}.Toastify__toast-container--rtl{right:env(safe-area-inset-right);left:initial}.Toastify__toast{--toastify-toast-width: 100%;margin-bottom:0;border-radius:0}}.Toastify__toast-container[data-stacked=true]{width:var(--toastify-toast-width)}.Toastify__toast--stacked{position:absolute;width:100%;transform:translate3d(0,var(--y),0) scale(var(--s));transition:transform .3s}.Toastify__toast--stacked[data-collapsed] .Toastify__toast-body,.Toastify__toast--stacked[data-collapsed] .Toastify__close-button{transition:opacity .1s}.Toastify__toast--stacked[data-collapsed=false]{overflow:visible}.Toastify__toast--stacked[data-collapsed=true]:not(:last-child)>*{opacity:0}.Toastify__toast--stacked:after{content:"";position:absolute;left:0;right:0;height:calc(var(--g) * 1px);bottom:100%}.Toastify__toast--stacked[data-pos=top]{top:0}.Toastify__toast--stacked[data-pos=bot]{bottom:0}.Toastify__toast--stacked[data-pos=bot].Toastify__toast--stacked:before{transform-origin:top}.Toastify__toast--stacked[data-pos=top].Toastify__toast--stacked:before{transform-origin:bottom}.Toastify__toast--stacked:before{content:"";position:absolute;left:0;right:0;bottom:0;height:100%;transform:scaleY(3);z-index:-1}.Toastify__toast--rtl{direction:rtl}.Toastify__toast--close-on-click{cursor:pointer}.Toastify__toast-icon{margin-inline-end:10px;width:22px;flex-shrink:0;display:flex}.Toastify--animate{animation-fill-mode:both;animation-duration:.5s}.Toastify--animate-icon{animation-fill-mode:both;animation-duration:.3s}.Toastify__toast-theme--dark{background:var(--toastify-color-dark);color:var(--toastify-text-color-dark)}.Toastify__toast-theme--light,.Toastify__toast-theme--colored.Toastify__toast--default{background:var(--toastify-color-light);color:var(--toastify-text-color-light)}.Toastify__toast-theme--colored.Toastify__toast--info{color:var(--toastify-text-color-info);background:var(--toastify-color-info)}.Toastify__toast-theme--colored.Toastify__toast--success{color:var(--toastify-text-color-success);background:var(--toastify-color-success)}.Toastify__toast-theme--colored.Toastify__toast--warning{color:var(--toastify-text-color-warning);background:var(--toastify-color-warning)}.Toastify__toast-theme--colored.Toastify__toast--error{color:var(--toastify-text-color-error);background:var(--toastify-color-error)}.Toastify__progress-bar-theme--light{background:var(--toastify-color-progress-light)}.Toastify__progress-bar-theme--dark{background:var(--toastify-color-progress-dark)}.Toastify__progress-bar--info{background:var(--toastify-color-progress-info)}.Toastify__progress-bar--success{background:var(--toastify-color-progress-success)}.Toastify__progress-bar--warning{background:var(--toastify-color-progress-warning)}.Toastify__progress-bar--error{background:var(--toastify-color-progress-error)}.Toastify__progress-bar-theme--colored.Toastify__progress-bar--info,.Toastify__progress-bar-theme--colored.Toastify__progress-bar--success,.Toastify__progress-bar-theme--colored.Toastify__progress-bar--warning,.Toastify__progress-bar-theme--colored.Toastify__progress-bar--error{background:var(--toastify-color-transparent)}.Toastify__close-button{color:#fff;position:absolute;top:6px;right:6px;background:transparent;outline:none;border:none;padding:0;cursor:pointer;opacity:.7;transition:.3s ease;z-index:1}.Toastify__toast--rtl .Toastify__close-button{left:6px;right:unset}.Toastify__close-button--light{color:#000;opacity:.3}.Toastify__close-button>svg{fill:currentColor;height:16px;width:14px}.Toastify__close-button:hover,.Toastify__close-button:focus{opacity:1}@keyframes Toastify__trackProgress{0%{transform:scaleX(1)}to{transform:scaleX(0)}}.Toastify__progress-bar{position:absolute;bottom:0;left:0;width:100%;height:100%;z-index:1;opacity:.7;transform-origin:left}.Toastify__progress-bar--animated{animation:Toastify__trackProgress linear 1 forwards}.Toastify__progress-bar--controlled{transition:transform .2s}.Toastify__progress-bar--rtl{right:0;left:initial;transform-origin:right;border-bottom-left-radius:initial}.Toastify__progress-bar--wrp{position:absolute;overflow:hidden;bottom:0;left:0;width:100%;height:5px;border-bottom-left-radius:var(--toastify-toast-bd-radius);border-bottom-right-radius:var(--toastify-toast-bd-radius)}.Toastify__progress-bar--wrp[data-hidden=true]{opacity:0}.Toastify__progress-bar--bg{opacity:var(--toastify-color-progress-bgo);width:100%;height:100%}.Toastify__spinner{width:20px;height:20px;box-sizing:border-box;border:2px solid;border-radius:100%;border-color:var(--toastify-spinner-color-empty-area);border-right-color:var(--toastify-spinner-color);animation:Toastify__spin .65s linear infinite}@keyframes Toastify__bounceInRight{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(3000px,0,0)}60%{opacity:1;transform:translate3d(-25px,0,0)}75%{transform:translate3d(10px,0,0)}90%{transform:translate3d(-5px,0,0)}to{transform:none}}@keyframes Toastify__bounceOutRight{20%{opacity:1;transform:translate3d(-20px,var(--y),0)}to{opacity:0;transform:translate3d(2000px,var(--y),0)}}@keyframes Toastify__bounceInLeft{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(-3000px,0,0)}60%{opacity:1;transform:translate3d(25px,0,0)}75%{transform:translate3d(-10px,0,0)}90%{transform:translate3d(5px,0,0)}to{transform:none}}@keyframes Toastify__bounceOutLeft{20%{opacity:1;transform:translate3d(20px,var(--y),0)}to{opacity:0;transform:translate3d(-2000px,var(--y),0)}}@keyframes Toastify__bounceInUp{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(0,3000px,0)}60%{opacity:1;transform:translate3d(0,-20px,0)}75%{transform:translate3d(0,10px,0)}90%{transform:translate3d(0,-5px,0)}to{transform:translateZ(0)}}@keyframes Toastify__bounceOutUp{20%{transform:translate3d(0,calc(var(--y) - 10px),0)}40%,45%{opacity:1;transform:translate3d(0,calc(var(--y) + 20px),0)}to{opacity:0;transform:translate3d(0,-2000px,0)}}@keyframes Toastify__bounceInDown{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(0,-3000px,0)}60%{opacity:1;transform:translate3d(0,25px,0)}75%{transform:translate3d(0,-10px,0)}90%{transform:translate3d(0,5px,0)}to{transform:none}}@keyframes Toastify__bounceOutDown{20%{transform:translate3d(0,calc(var(--y) - 10px),0)}40%,45%{opacity:1;transform:translate3d(0,calc(var(--y) + 20px),0)}to{opacity:0;transform:translate3d(0,2000px,0)}}.Toastify__bounce-enter--top-left,.Toastify__bounce-enter--bottom-left{animation-name:Toastify__bounceInLeft}.Toastify__bounce-enter--top-right,.Toastify__bounce-enter--bottom-right{animation-name:Toastify__bounceInRight}.Toastify__bounce-enter--top-center{animation-name:Toastify__bounceInDown}.Toastify__bounce-enter--bottom-center{animation-name:Toastify__bounceInUp}.Toastify__bounce-exit--top-left,.Toastify__bounce-exit--bottom-left{animation-name:Toastify__bounceOutLeft}.Toastify__bounce-exit--top-right,.Toastify__bounce-exit--bottom-right{animation-name:Toastify__bounceOutRight}.Toastify__bounce-exit--top-center{animation-name:Toastify__bounceOutUp}.Toastify__bounce-exit--bottom-center{animation-name:Toastify__bounceOutDown}@keyframes Toastify__zoomIn{0%{opacity:0;transform:scale3d(.3,.3,.3)}50%{opacity:1}}@keyframes Toastify__zoomOut{0%{opacity:1}50%{opacity:0;transform:translate3d(0,var(--y),0) scale3d(.3,.3,.3)}to{opacity:0}}.Toastify__zoom-enter{animation-name:Toastify__zoomIn}.Toastify__zoom-exit{animation-name:Toastify__zoomOut}@keyframes Toastify__flipIn{0%{transform:perspective(400px) rotateX(90deg);animation-timing-function:ease-in;opacity:0}40%{transform:perspective(400px) rotateX(-20deg);animation-timing-function:ease-in}60%{transform:perspective(400px) rotateX(10deg);opacity:1}80%{transform:perspective(400px) rotateX(-5deg)}to{transform:perspective(400px)}}@keyframes Toastify__flipOut{0%{transform:translate3d(0,var(--y),0) perspective(400px)}30%{transform:translate3d(0,var(--y),0) perspective(400px) rotateX(-20deg);opacity:1}to{transform:translate3d(0,var(--y),0) perspective(400px) rotateX(90deg);opacity:0}}.Toastify__flip-enter{animation-name:Toastify__flipIn}.Toastify__flip-exit{animation-name:Toastify__flipOut}@keyframes Toastify__slideInRight{0%{transform:translate3d(110%,0,0);visibility:visible}to{transform:translate3d(0,var(--y),0)}}@keyframes Toastify__slideInLeft{0%{transform:translate3d(-110%,0,0);visibility:visible}to{transform:translate3d(0,var(--y),0)}}@keyframes Toastify__slideInUp{0%{transform:translate3d(0,110%,0);visibility:visible}to{transform:translate3d(0,var(--y),0)}}@keyframes Toastify__slideInDown{0%{transform:translate3d(0,-110%,0);visibility:visible}to{transform:translate3d(0,var(--y),0)}}@keyframes Toastify__slideOutRight{0%{transform:translate3d(0,var(--y),0)}to{visibility:hidden;transform:translate3d(110%,var(--y),0)}}@keyframes Toastify__slideOutLeft{0%{transform:translate3d(0,var(--y),0)}to{visibility:hidden;transform:translate3d(-110%,var(--y),0)}}@keyframes Toastify__slideOutDown{0%{transform:translate3d(0,var(--y),0)}to{visibility:hidden;transform:translate3d(0,500px,0)}}@keyframes Toastify__slideOutUp{0%{transform:translate3d(0,var(--y),0)}to{visibility:hidden;transform:translate3d(0,-500px,0)}}.Toastify__slide-enter--top-left,.Toastify__slide-enter--bottom-left{animation-name:Toastify__slideInLeft}.Toastify__slide-enter--top-right,.Toastify__slide-enter--bottom-right{animation-name:Toastify__slideInRight}.Toastify__slide-enter--top-center{animation-name:Toastify__slideInDown}.Toastify__slide-enter--bottom-center{animation-name:Toastify__slideInUp}.Toastify__slide-exit--top-left,.Toastify__slide-exit--bottom-left{animation-name:Toastify__slideOutLeft;animation-timing-function:ease-in;animation-duration:.3s}.Toastify__slide-exit--top-right,.Toastify__slide-exit--bottom-right{animation-name:Toastify__slideOutRight;animation-timing-function:ease-in;animation-duration:.3s}.Toastify__slide-exit--top-center{animation-name:Toastify__slideOutUp;animation-timing-function:ease-in;animation-duration:.3s}.Toastify__slide-exit--bottom-center{animation-name:Toastify__slideOutDown;animation-timing-function:ease-in;animation-duration:.3s}@keyframes Toastify__spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.ls-backdrop{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:var(--spacing-lg);background:linear-gradient(145deg,var(--color-primary-darker) 0%,var(--color-primary-dark) 50%,#0f0820 100%)}.ls-backdrop{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;padding:var(--spacing-lg);background:#ffffffd9;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);z-index:9999}.ls-card{background:var(--color-surface);border-radius:var(--radius-xl);width:100%;max-width:460px;overflow:hidden;box-shadow:var(--shadow-xl);animation:ls-scaleIn .85s ease}@keyframes ls-scaleIn{0%{transform:scale(.96);opacity:0}to{transform:scale(1);opacity:1}}.ls-head{padding:2rem 2rem 1.5rem;border-bottom:1px solid var(--color-border)}.ls-head__icon{width:46px;height:46px;border-radius:var(--radius-md);background:linear-gradient(135deg,var(--color-primary),var(--color-primary-lighter));display:flex;align-items:center;justify-content:center;color:#fff;margin-bottom:1rem}.ls-head__title{font-family:var(--font-display);font-size:1.375rem;font-weight:700;color:var(--color-text);margin-bottom:.35rem}.ls-head__sub{font-size:.875rem;color:var(--color-text-secondary);line-height:1.55;margin:0}.ls-body{padding:1.75rem 2rem 2rem;display:flex;flex-direction:column;gap:1.25rem}.ls-field{display:flex;flex-direction:column;gap:.45rem}.ls-label-row{display:flex;align-items:center;justify-content:space-between}.ls-label{font-size:.7rem;font-weight:700;color:var(--color-primary);text-transform:uppercase;letter-spacing:.06em}.ls-badge{display:inline-flex;align-items:center;gap:4px;font-size:.65rem;font-weight:700;padding:.18rem .55rem;border-radius:var(--radius-full)}.ls-badge--ok{background:#2dd8811a;color:#1a9c5b;border:1px solid rgba(45,216,129,.25)}.ls-badge--err{background:#e945601a;color:var(--color-accent);border:1px solid rgba(233,69,96,.25)}.ls-pin-boxes{display:flex;gap:.5rem}.ls-pin-box{width:100%;max-width:56px;height:56px;border:2px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-alt);font-size:1.375rem;font-weight:700;text-align:center;color:var(--color-text);outline:none;transition:border-color var(--transition-fast),background var(--transition-fast),box-shadow var(--transition-fast);caret-color:var(--color-primary)}.ls-pin-box:focus{border-color:var(--color-primary);background:var(--color-surface);box-shadow:0 0 0 3px #451d5c1f}.ls-pin-box--filled{border-color:var(--color-primary-lighter);background:#7a3d980f;color:var(--color-primary-dark)}.ls-pin-box--error{border-color:var(--color-accent);background:#e945600d;animation:ls-shake .3s ease}@keyframes ls-shake{0%,to{transform:translate(0)}25%{transform:translate(-4px)}75%{transform:translate(4px)}}.ls-fetching{display:flex;align-items:center;gap:.5rem;font-size:.8rem;font-weight:600;color:var(--color-primary-lighter)}.ls-error-msg{display:flex;align-items:center;gap:.4rem;font-size:.8rem;font-weight:500;color:var(--color-accent)}.ls-spinner{animation:spin .75s linear infinite;flex-shrink:0}@keyframes spin{to{transform:rotate(360deg)}}.ls-grid2{display:grid;grid-template-columns:1fr 1fr;gap:.875rem}.ls-input-wrap{position:relative}.ls-input{width:100%;height:46px;border:1.5px solid var(--color-border);border-radius:var(--radius-md);padding:0 .875rem;font-family:var(--font-body);font-size:.9rem;font-weight:500;color:var(--color-text);background:var(--color-surface-alt);outline:none;transition:border-color var(--transition-fast),background var(--transition-fast),box-shadow var(--transition-fast)}.ls-input:focus{border-color:var(--color-primary);background:var(--color-surface);box-shadow:0 0 0 3px #451d5c1a}.ls-input--autofilled{border-color:var(--color-primary-lighter);background:#7a3d980f;color:var(--color-primary-dark);font-weight:600;cursor:default;padding-right:2.25rem}.ls-input-check{position:absolute;right:.75rem;top:50%;transform:translateY(-50%);color:#1a9c5b;pointer-events:none;flex-shrink:0}.ls-select{appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23451D5C' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .875rem center;padding-right:2.25rem}.ls-select:focus{border-color:var(--color-primary);background-color:var(--color-surface);box-shadow:0 0 0 3px #451d5c1a}.ls-submit{width:100%;height:50px;border:none;border-radius:var(--radius-md);background:linear-gradient(135deg,var(--color-primary),var(--color-primary-lighter));color:#fff;font-family:var(--font-body);font-size:.9375rem;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:.5rem;transition:all var(--transition-base);box-shadow:0 4px 16px #451d5c4d;letter-spacing:.01em;margin-top:.25rem}.ls-submit:hover:not(:disabled){background:linear-gradient(135deg,var(--color-primary-light),var(--color-primary-lighter));transform:translateY(-2px);box-shadow:0 8px 24px #451d5c66}.ls-submit:active:not(:disabled){transform:translateY(0);box-shadow:0 4px 12px #451d5c40}.ls-submit:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}@media(max-width:1024px){.ls-card{max-width:420px}}@media(max-width:768px){.ls-backdrop{padding:var(--spacing-md);align-items:flex-end}.ls-card{max-width:100%;border-radius:var(--radius-xl) var(--radius-xl) 0 0;animation:ls-slideUp .35s cubic-bezier(.34,1.2,.64,1)}@keyframes ls-slideUp{0%{transform:translateY(60px);opacity:0}to{transform:translateY(0);opacity:1}}.ls-head{padding:1.5rem 1.25rem 1.125rem}.ls-body{padding:1.25rem 1.25rem 1.75rem;gap:1rem}.ls-pin-box{height:50px;font-size:1.25rem}}@media(max-width:480px){.ls-backdrop{padding:0}.ls-card{border-radius:var(--radius-xl) var(--radius-xl) 0 0}.ls-pin-boxes{gap:.35rem}.ls-pin-box{height:46px;font-size:1.125rem;border-radius:var(--radius-sm)}.ls-grid2{grid-template-columns:1fr;gap:.75rem}.ls-head__title{font-size:1.125rem}.ls-submit{height:46px;font-size:.875rem}}
